Module errors when running an old JULES suite (u-bq898)

Hi CMS team,

I am planning to replicate a JULES simulation from 2022 (u-dq898) (vn5.6). I am new to the JASMIN and cylc user interface.

I have made necessary changes to the paths of output files. I have commented a few modules which were throwing errors (e.g. module load intel/19.0.0; module load eb/OpenMPI/intel/3.1.1). Now with these changes I am getting an error as shown in the fig below.

Help me in fixing this issue and simulate the JULES suite u-dq898.

NOTE: I have gone through the tutorial of FLUXNET sites, that is running successfully.

Thank you.

Kind regards
Naren

Please allow us read permissions on your home space.

Updated the permissions. Please check.

You’re trying to run an old suite, and JASMIN has changed since then. You can’t comment out things like the compiler and MPI library as you need these things.
You will also need to give a platform, although it should still be the same name as before.

I sent a long email to people which may have been before your joined the jules users list - I’ve attached it to this, so hopefully it helps you port a suite to the upgraded JASMIN system:

Jules Users,

This email is only of concern to people who use JASMIN to run JULES.

There are a lot of changes that are currently being made to JASMIN, and JULES will need to adapt. These come at a time when Cylc is also being updated, and you will need to use Cylc 8 on the new JASMIN system. This email lets people know what is being done, and where we are, with the transition.

The downside of change is that people will need to upgrade their suites, but the positive is that this isn’t too hard and I’m including plenty of information in this email. The real benefit to all of this is that you should have better performance in the end, on a newer more homogeneous system.

Things to know:

Cylc 8 – this is required to stay within supported python versions, as well as other things. There is a TUI and a GUI. Please check out the documentation:

Hardware:

JASMIN has new AMD compute nodes, which can be accessed from new servers (cylc2, and you can also launch from a new sci node such as sci-ph-02); you can run your suites here. And check the JASMIN docs:

Also read JASMIN emails to keep up to date with old systems being retired

JASMIN docs are continuously being updated by their team

Libraries:

There are new libraries for the new OS and hardware. Most are available in a prescript when running a cylc suite. Some need to be linked to in config files. There are notes below.

Code:

There is a ticket detailing the changes to the configs, and to rose stem (https://code.metoffice.gov.uk/trac/jules/ticket/1586). The branch in this ticket (https://code.metoffice.gov.uk/trac/jules/browser/main/branches/dev/davidcase/vn7.7_intel_rocky9_central) runs rose stem (testing suite), although the KGO will be out of date. In future KGO will be for the new system only.

Please look at the differences in the code branch that were required for the ticket:

  • look at the revision logs to see them: https://code.metoffice.gov.uk/trac/jules/log/main/branches/dev/davidcase/vn7.7_intel_rocky9_central

  • config files – for eg I have installed a new curl locally and removed a flag (which may not be essential). NB- config files are in code branches, so you will need your branch of code to include this change

  • prescript – load new modules – NB – you can put this in your suite

  • new Slurm commands for the new scheduler – NB you can also put this in a suite

The changes to this branch are likely to be appropriate for your work too – so you can copy them into your suites as appropriate

Please note – I am trying to get the code changes into the trunk. But for now you will need a branch of the code which has the config files changed (ie the new curl).

Please pay attention to the difference between a branch of JULES code (configs and source), and a suite (such as a regular suite or rose stem) – it’s a bit fiddly but your colleagues will certainly know if you are stuck

Cylc 8 commands for rose stem, should you wish to run it:

rose stem --group=all

cylc play [run name]

cylc tui [run name]

If you don’t give a run name to rose stem it will be the directory name

Suites:

If you make the same changes that were made to the rose stem suite (by following the branch in the rose stem ticket above) you should be able to port your suites, making a branch of code when you need to update configs. A user has done this, and an example is below.

Example suite: u-dm272

Cylc 8 commands to run it:

cylc install

cylc play

cylc gui (or tui)

Please note that things are a work in progress. If you’re keen to get going with the new system then follow the above, but be aware that the code changes aren’t on trunk yet and JASMIN are still making changes.

All the best,

Dave Case (NCAS-CMS)

I’ll just add that since sending that email, the changes are now in the trunk.
You can see module loads here for example:
https://code.metoffice.gov.uk/trac/jules/browser/main/trunk/rose-stem/include/jasmin/runtime.rc

Although if your suite is using old versions of JULES then these haven’t been tested with the new compiler. The advice above should cover most things though