m2lines/CAM-ML

Improve reproducibility/reusability

Closed this issue · 1 comments

I am gathering here a couple of problems I had when trying to run the code from the information provided in the README. They should be turned into issues and addressed to improve reusability of the code:

  • The README starts by talking about this repository, but then going on the clone the original CESM repository. It is then not clear in which repository clone the subsequent steps should be performed.
  • Following from that, I ran into an error message saying that Externals_CAM.cfg does not exist I found out that, if you had the wrong settings in the externals file and then correct it, you need to delete the components folder before you rerun the checkout_externals step. This should be documented in the README.
  • Following that, running ./create_newcase, I got a no module named imp error.
    • Requirements should be defined in an appropriate way and listed in the README.
    • According to the Python documentation, the imp package is deprecated since version 3.4, and importlib should be used instead.
    • Creating a venv with Python 3.10 (instead of my system's 3.12.3) resolved the issue
  • The next errors from the some command is xmllint not found, could not validate file [...] and Could not find machine match [...]
    • It seems that there is a lot of stuff that is expected to be set up in advance, which should be documented (or the README should point to where these things are documented, either way, the information should all be in the same place).

To be continued...

Redoing the steps from above on Derecho, and coming up to the case.build step, where I am getting

err=CAM build-namelist - ERROR: Invalid namelist variable in '-infile' /glade/u/home/username/cesm/cime/scripts/gateIII/> Buildconf/camconf/namelist.
ERROR: in _validate_pair (package Build::NamelistDefinition): Variable name nn_weights not found in /glade/u/home/
username/cesm/components/cam/bld/namelist_files/namelist_definition.xml