Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
M MEDUSA_4.2.x
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Commits
Collapse sidebar
  • acc
  • MEDUSA_4.2.x
  • Wiki
  • How to SETTE test MEDUSA.

Last edited by julpal Oct 06, 2023
Page history

How to SETTE test MEDUSA.

  • SETTE tests
  • MEDUSA on SETTE
  • How to Run the tests.
  • Check the results

SETTE tests

The SETTE tests are a group of validation tests made on a regular basis onto NEMO to make sure that a bug-fix or development branch won't break the model. It enables to test that different configuration of the code will compile, run, are restartable and reproducible. It also enable to compare the code performances to a previously-tested-reference version of the code.

NEMO now uses SETTE on a regular basis using the git "continuous-integration".

We will continue to do it by hand with MEDUSA, at least for now, but of course, we want to benefit from all these tests to check MEDUSA the same way!

MEDUSA on SETTE

when adding MEDUSA to nemo using add_msa_to_nemo, all necessary MEDUSA files and bit of scripts are automatically added in the nemo/sette directory. it enables to test different MEDUSA and non-MEDUSA configurations :

  • ORCA2_MEDUSA : Normal MEDUSA- online.
  • ORCA2_OFF_MEDUSA : MEDUSA Offline (the ocean circulation is read - not calculated).
  • ORCA2_MED_OFF_TRC : CFCs and C14 Offline (No-MEDUSA) - make sure NEMO and other passive tracers still run without MEDUSA -- nothing has been broken by the new dev outside of MEDUSA.
  • ORCA2_MED_NO_TOP : NEMO-ice without passive tracers - make sure NEMO runs
  • C1D_MED_PAPA : NEMO-MEDUSA 1D - make sure the 1D version runs (can be very useful for new developments)
  • ORCA2_PAC_MED : MEDUSA-PAC online - PAC stands for Particle-Associated Copepods - a modified version of MEDUSA with additional copepods impacting the sinking particles scheme.

when available we'll add a river-nutrients config to be tested.

How to Run the tests.

Running the tests requires very little work.

A detailed How-to page explaining SETTE tests has already been written, but to be short :

  1. Set your local environment.
    • Make sure you've module loaded all needed modules to compile NEMO (see the relevant how-to page : how-to run on ANEMONE or on Archer2).
    • In the nemo/sette/ directory add a local_settings.sh files that should look like the following :
      #!/bin/bash
      export SETTE_COMPILER=X86_ARCHER2-Gnu_4.2
      export SETTE_BATCH_CMD=sbatch
      export SETTE_BATCH_STAT=squeue
      export SETTE_FORCING_DIR=/work/n01/shared/nemo/FORCING/SETTE_inputs/r4.2.0
      export SETTE_NEMO_VALIDATION_DIR=/work/n01/n01/julpal/NEMO/MEDUSA_dev/nemo/sette
      This is an example file for Archer2. make sure to adapt to your environment, and make sure you have the apropriate compiler in nemo/arch/.
      Then run it :
    . ./local_settings.sh
  2. A little tweak That should not remain for long, but in nemo/sette/BATCH_TEMPLATE/, the SETTE scripts looks for a batch-mpmd-${your-compiler-name} file. it's not really used as, as you can see, the files are only comments. just copy a similar file with the right name. that does the trick.

Once these steps are done, you're ready to run your test!
3. Running : In nemo/sette/, run :

./sette.sh

it will test all the configs listed above. If you wish to only test one config, run instead

./sette.sh -n ${your_config_name}

Check the results

what it does, in case it does not work and you need to check and debug :
SETTE will create a new config in nemo/cfgs named ${your_config}_ST \

  • there, your config is compiled and the different runs are done.
    there are a LONG and a SHORT run; the SHORT run starting from a middle restar of the LONG one.
    If both ended identically, the restartability test succeeds
  • Then there are also a REPRO4_8 and a REPRO8_4 runto test the different decomposition of the grid soes not change the results. if both ends identically, the reproducibility test succeeds. All runs are normal runs, with their usual ocean.output,... files to check how they are doing.

To see if your tests succeed, in nemo/sette/, run :

./sette_rpt.sh

and if it succeeds, you should see something similar appearing : \
image

Here, all tests were successful. That's what you are looking for. (it shows the 1D reproducibility test being incomplete, but that's because it's 1D, we can't run a reproducibility test 1D.)

Clone repository
  • Compile MEDUSA from scratch
  • Developing on MEDUSA git Best practice
  • How to SETTE test MEDUSA.
  • How to run MEDUSA 1D on ARCHER2 and ANEMONE
  • How to run on ANEMONE
  • How to run on ARCHER2
  • MEDUSA DOCU : Chl light
  • MEDUSA DOCU : Rivers
  • MEDUSA Guide some useful explanations
  • MEDUSA NEMO4.2
  • MEDUSA Training How to run MEDUSA 1D ( on NOC linux system)
  • Home
  • todo_list