in the OpenEntrance package models come with version numbers.
In software development semantic versioning is widely used, but are there any standards for models?
I mean what is a Major, a Minor and Patch version?
In relation to this, if we release a new Major or Minor version one needs to update the mapping correct @huppmann ?
But if we only release a patch version we only to update the model name in the mapping correct?
Thank you @HaukeHenke for raising this thorny question…
Let me explain how we are suggesting to deal with model versions and regions in the context of the IIASA scenario-services infrastructure. Note that we are establishing these as “conventions” or “guidelines” - the entire scientific software and open-source packages is completely agnostic.
In a central database comprising results from several models (and different versions of the same model), you need to distinguish between “common regions” (i.e., regions that have a consistent definition for all models) and “native regions” (i.e., regions that have specific definitions for a particular model, usually the “native” spatial resolution).
Approach adopted at IIASA
For projects hosted on the IIASA infrastructure, we adopt the naming convention “
<model> <version>|<native-name>” for native regions.
To avoid having too many regions, we suggest that native-regions are only defined at the “minor”-level, so we define
OSeMBE v1.0|AUT instead of
OSeMBE v1.0.1|AUT. All “patch”-model-versions are mapped to the minor-level regions.
This implies that changing the region-definition requires (at least) a bump of the minor version.
See this example for a complete mapping.