HPSCTerrSys / TSMP

Terrestrial Systems Modelling Platform (TSMP or TerrSysMP)
https://www.terrsysmp.org/
Other
23 stars 15 forks source link

Cleanup of standard TSMP test cases #167

Closed DCaviedesV closed 1 year ago

DCaviedesV commented 1 year ago

In the spirit of cleaning up and simplifying the TSMP setup workflow, it is necessary to verify which of the supported setups (standard test cases) are incomplete, need updating, or need to be deprecated. This is related to an old issue #52, which is now closed.

chartick commented 1 year ago

All folders in /bldsva/setups/

Nrw, ideal-cases and cordex are working. The ICON-setups could potentially be fixed. All the other stuff is not useful anymore in my opinion.

DCaviedesV commented 1 year ago

Great summary. The conclusion seems reasonable to me. I would guess @s-poll may have some opinions on idealLES, nrw-icon and germany.

I also wonder what multi-scale is. @s-poll maybe you know?

Before fully deprecating any of these cases due to missing static files, I'd ask @spoll @niklaswr @kgoergen @skollet for hope on finding these static files. I would also ask: is it of interest to maintain these as supported cases? What I mean is that these supported cases are meant to be examples which can be easily simulated, but this is not the place to maintain setups of interest for production.

@chartick, if I understood correctly the content in common is some collection of functions for setup_tsmp.ksh. Could we not simply move these functions into setup_tsmp.ksh?

chartick commented 1 year ago

The ICON-setups are germany, icon-ccs and nrw-icon.

multi-scale seems to be a scaling study with CLM-ParFlow.

Yes, with the clean-up of the setup, we should be able to move it.

kgoergen commented 1 year ago

We have now a split between building the model system and providing experiments which consist of setups and configurations, based on a common workflow engine (aka "templates", etc.). In the future it is intended to also make these experiments (e.g., EURO-CORDEX CMIP6 downscaling with TSMP) available via GitHub. The configuration maintenance and experiment handling will be documented in the new TSMP documentation on GitHub. With the aforementioned concept, also the static fields and forcing data are not an issue any more and can be maintained even better. Hence I am challenging the concept of the predefined setups in a first place, that are shipping with the TSMP interface. The new eTSMP / TSMP2 does not include this anymore either. Perhaps sunset those that do not work at this point in time. Maintain those, which still work (should be the ones from the HPSC TerrSys Fall School). Get rid of the built in setups in the mid term. Provide standard experiments for testing, development, familiarisation, Fall School, through their setups and configs and workflows separately.

DCaviedesV commented 1 year ago

@kgoergen, we are clearly aligned. These supported setups shipping with TSMP should be a minimal set of well-known tests. I propose these should reduce to:

any other suggestions (to all in this conversation)? @jjokella also a case or two supporting PDAF, right? Moreover, for those these set of supported cases, we should have a reference solution, as discussed in #168.

niklaswr commented 1 year ago

I totally agree in reducing the test cases to what they are: tests to check that the installation went well. So fine with removing deprecated setups.

Further, I would suggest reducing the the proposed lists of test-cases even more, and use ideal test-cases only. Reasons are:

i) As @chartick mentioned in #168, the 'real' test-cases does have the problem of being outdated, once the static files does see any update. Even if the static files does (should) not change much, they will most likely change from time to time. And then you have to update the test-cases, which means more maintenance, which may be forgotten, or there simply is no time. With ideal test-cases you don't have this problem.

ii) Using 'real' test-cases could lead to some confusion. Test-cases should be test cases, an not the starting point for developing new experiments or as source for the static files. We have seen in the past, that people use a test-case as the basis for their experiments. I think it might help if we provide only ideal test-cases, and make it clear that these are just tests.

I totally agree in reducing the test cases to what they are: tests to check if installation went fine. So fine with removing deprecated setups.

kgoergen commented 1 year ago

So for the moment the system as is (including some test experiment setups+configurations as part of the TSMP interface) will remain for for some time, albeit with reduced number of experiments. I see the argument for mainly going to ideal cases. But I am in favour to also provide a test experiment setup/configuration for real data cases, such as a short EUR-11 CORDEX test case. TSMP is and will be used very much also for climate mode continental scale simulations; to get external users started, who most likely do not have access to the experiment management system with current setups and configurations, it is nice to have a starting point. On the mid-term when these experiments are also on github, then we may get rid of these built-in examples. On the long-run, the built-in experiments will vanish anyway. To reduce the maintenance and make the system slimmer and more consistent at this point in time, I would opt that some of the built-in setups/configurations remain, but they not necessarily have to be maintained and be fully up to date with the current reference implementations. Also, we may not need to provide the reference results (i.e., result of running a "test experiment" in debug mode), further reducing necessary maintenance efforts.

DCaviedesV commented 1 year ago

I too see the idealised test cases as the really relevant ones to ship with TSMP, but having at least one (or a couple) of real test cases is important for someone who might want to go into the adventure of setting up a new case. I like the idea of progressively phasing these out, once the maintained setups are publicly available. We can progressively do this. I think at this time we do a first clean-up of really deprecated stuff, and put some clear order in these things.

I do think it is relevant to have the realistic cases that ship with TSMP rather up-to-date with the maintained (production) steups, at least the static fields, to avoid confusion for people who may start using the included test case (e.g. EUR 11) but then change to production setups.

In terms of the reference results, I would argue it is in fact key to have them, so that we can, eventually deploy automatic benchmarking upon, for example, reviewing a pull request.

s-poll commented 1 year ago

I agree that the number of test cases can/should be reduced. I would also keep one / a few real test cases, as some features are not covered by the existing ideal test cases (e.g. multiple PFTs usage, tile approach) and would not pop up in automatic benchmarking.

Re cases:

chartick commented 1 year ago

Thanks for the clarification. I think both icon-ccs and nrw-icon do not work with Intel because you cannot load nco and cdo with it. I did not try it with GNU. Probably it would be best just to supply the remap files.

jjokella commented 1 year ago

? @jjokella also a case or two supporting PDAF, right?

In the current status of test cases, the FallSchoolCase should be the standard case using TSMP-PDAF. It does not use however the environment of the blsdsva/setups/ directory, therefore I would leave it for now as a separate HowTo.

Discussion points for future TSMP-PDAF setups:

DCaviedesV commented 1 year ago

@jjokella can we open an issue for the TSMP PDAF cases that might be convenient to ship with TSMP? I think otherwise this issue can be closed. Right @chartick ?

chartick commented 1 year ago

Yes, I think so.

jjokella commented 1 year ago

@jjokella can we open an issue for the TSMP PDAF cases that might be convenient to ship with TSMP? I think otherwise this issue can be closed. Right @chartick ?

I opened #177