esm-tools / esm_tools

Simple Infrastructure for Earth System Simulations
https://esm-tools.github.io/
GNU General Public License v2.0
25 stars 12 forks source link

Fix/paleo echam #1161

Open ackerlar opened 2 months ago

ackerlar commented 2 months ago

Changed back the ECHAM version from "6.3.05p2-awiesm-2.1-paleodyn-2.5" to "6.3.05p2-awiesm-2.1" for paleo setup after everything has been merged on the ECHAM side

pgierz commented 2 months ago

@mandresm: any reason to wait on this one?

I just did a test compilation, and everything seems to be working. We can wait until a mini PI run goes through as well, but if that works, I would vote to put this into release.

Info for @christian-stepanek. These are the versions installed by esm_master install-awiesm-2.1-paleodyn-2.5:

git clone -b 2.8mct-awiesm-2.1 https://gitlab.awi.de/paleodyn/Models/oasis3-mct.git oasis
git clone -b 6.3.05p2-awiesm-2.1 https://gitlab.awi.de/paleodyn/Models/echam6.git echam-6.3.05p2
git clone -b 2.5.1_paleo https://github.com/FESOM/fesom2.git fesom-2.5
pgierz commented 2 months ago

After some additional fiddling, I have an almost working run, except for the location of a suitable core2 mesh. I have been "out of the game" for long enough with active modelling to find one on the fly, but everything else loads correctly. See the latest commit for small changes to the configuration files.

I'd like to also take this opportunity to do some "cleaning" about the mentality surrounding version numbers, as this seems to be a topic that was for the awiesm-2.x world severely misimplemented. First some theory:

How version numbers should be defined:

Software normally follows one of two schemes for how to write down version. The simple form is based on some kind of calendar, which is how it is done e.g. in the ubuntu world. For esm-tools, we chose instead a major.minor.fix scheme. Major versions are updated when you introduce "breaking changes", such that using an old copy of your program with the newest version will not work. Minor versions are typically for new features, and fix numbers are for bug fixes.

AWI-ESM version numbers (in theory):

This is also what I had in mind originally for versioning awiesm, and I will for simplicity leave out fix numbers here. It breaks down as follows:

awiesm-2.x. First off, the major = 2 signifies that the model is composed of software based on top of echam-6.XXX and fesom-2.XXX. Then, the minor versions:

... and so on and so forth. However, the PI choices made to switch FESOM version somehow "on the fly" and then re-port features into this newer version made it all version confusing. Note that I have not touched anything about parameter settings in the describing the version numbers. In my opinion, which parameter settings you use for, e.g. mixing, is controlled via the namelist, so strictly speaking, the source code itself remains the same. Attaching a version number to a parameter setting would in my view be bad practice.

To make it worse, we started to add the FESOM version number as part of the version numbers, so we had:

AWI-ESM version numbers (in practice):

Needless to say, it's a mess.

@christian-stepanek, could you maybe briefly give me an idea where and in which group it would be best to discuss this? I know @JanStreffing is doing excellent work for the AWICM-3 world, and I really don't want to end up in this mess another time.

ackerlar commented 2 months ago

Thanks @pgierz to bring this up! I think part of the problem is (or was) that there has been no linear development but rather parallel use of different "awiesm-2.1" versions (with wiso, iceberg, pism coupling) that were derived from one common version and never really merged back. I think, now we have really one main branch that everybody can use. Maybe we can just call it awiesm-2.6 (or whatever) and start versioning from now on. On the other hand, I don't think there will be much development going on with this version int he future anyway.

christian-stepanek commented 1 month ago

I know @JanStreffing is doing excellent work for the AWICM-3 world, and I really don't want to end up in this mess another time.

You already gave the reason why you will not end up in this mess another time.

Indeed, the AWI-ESM2 development has been done in various parallel strains, lots of people working on their own business. At one point the need arose to put individual work back into one single model. This has been done in several steps that do not necessarily follow a logical order.

I think one of the problems has also been that there has not been a clear translation of the traditional version numbers into the AWI-ESM2 model realm. The decision was made that awi-esm2.1 means it does not do any interactive ice, while awi-esm2.2 means it does do the ice simulation. Implicitly this idea included the statement that everyone just adds to these two model versions whatever component floats their boat.

While AWI-ESM2 development is not yet at the end (Pengyang's cavities, flexible meshes, etc.), I agree with Lars that the major model development has likely ended. Most people will put their efforts into AWI-ESM3, where Jan keeps an eye on tidiness. We can, of course, define a new version number for the current "final" model as it is, incrementing the number later on for major additions when they happen. Yet, I do not know how we erase the impression from people's minds that there is more than 2.1 and 2.2, and that also other versions than 2.2 may simulate ice sheets.

mandresm commented 1 month ago

@mandresm: any reason to wait on this one?

Yes, the tests in levante > awicm-recom-historical.

We need @chrisdane opinion on that. The question is already on another PR

mandresm commented 1 month ago

Info for @christian-stepanek. These are the versions installed by esm_master install-awiesm-2.1-paleodyn-2.5:

I think is instaled by esm_master install-awiesm-2.1 instead.

@christian-stepanek has a really good point: if there is little development more to be expected from awiesm-2 maybe is better to don't clean up too much, because it would be a waste of time

chrisdane commented 1 month ago

@mandresm: any reason to wait on this one?

Yes, the tests in levante > awicm-recom-historical.

We need @chrisdane opinion on that. The question is already on another PR

I am fine with this PR except the one comment above.

Regarding the versioning I'm fine with Pauls theory suggestion but I'm afraid in the end reality pushes us to choose the practice path :D

pgierz commented 1 month ago

if there is little development more to be expected from awiesm-2 maybe is better to don't clean up too much, because it would be a waste of time

I wasn't suggesting we clean it up; just a little nudge to everyone (actually, people involved in this thread know all of this already) of how it should have been done ;-)

ackerlar commented 1 month ago

Info for @christian-stepanek. These are the versions installed by esm_master install-awiesm-2.1-paleodyn-2.5:

I think is instaled by esm_master install-awiesm-2.1 instead.

The FESOM versions differ between 'awiesm-2.1' and 'awiesm-2.1-paleodyn-2.5'