Difference between revisions of "Using the UM10.6 test suite"
From UKCA
Line 1: | Line 1: | ||
==== Using the UM10.6 Suite ==== |
==== Using the UM10.6 Suite ==== |
||
− | '''MONSooN: [https://puma.nerc.ac.uk/trac/roses_puma/browser/a/a/ |
+ | '''MONSooN: [https://puma.nerc.ac.uk/trac/roses_puma/browser/a/a/4/0/5/trunk puma-aa405], MetO: [http://fcm1/projects/roses_mi/intertrac/source:/a/p/2/4/0/trunk mi-ap240]'''<br/> |
All Rose suites on MONsooN need to be executed from the special Rose server as described in the [http://collab.metoffice.gov.uk/twiki/bin/view/Support/MONSooNRose instructions] and '''not on the puma''' system.<br/> |
All Rose suites on MONsooN need to be executed from the special Rose server as described in the [http://collab.metoffice.gov.uk/twiki/bin/view/Support/MONSooNRose instructions] and '''not on the puma''' system.<br/> |
Latest revision as of 14:37, 9 November 2016
Using the UM10.6 Suite
MONSooN: puma-aa405, MetO: mi-ap240
All Rose suites on MONsooN need to be executed from the special Rose server as described in the instructions and not on the puma system.
- Create a suitable folder for the suite. (default name ~/roses)
- cd to the folder and create a copy of the Suite
- ~/roses $ rosie copy puma-aa405 (MetO: rosie copy mi-ap240)
- This will create a copy of the suite as puma-aaNNN and check it out to the ~/roses folder.
- To ensure that the base settings work for you:
- $ cd ~/roses/puma-aaNNN
- puma-aaNNN $ rose suite-run
- This will preprocess the configuration and launch the tasks in the background along with opening the gcylc window that displays the status of each task.
- Once all the tasks complete (Status = stopped with 'succeeded' or check output in Rose-bush), the Suite can now be modified to test your changes.
- Execution options
- The suite can be executed as a combination of the following configurations, by setting values of the related variables in puma-aaNNN/rose-suite.conf:
- Compilation (Build) On/Off: BUILD=true/false
- Prebuilds for Compilation (Currently not available for MONSooN): USE_PREBUILD=true/false
- Compiler optimisation level: OPTIMISATION=safe,high,debug,rigorous
- StratTrop Chemistry scheme: STRATTROP=true/false
- Offline Oxidants Chemistry scheme: OFFLINE=true/false
- PE Test for the Offline scheme: TEST_PE=true/false
- NRUN-CRUN Test for the Strat+trop scheme: TEST_CRUN=true/false
- Setting both Offline & StratTrop options to false will convert the suite to a compile-only job.
-
- Additional Options:
-
- Change the length of the run(s): modify TASKEND='0,Months,Days,Hours,Minutes,0' (Note: Meaning is Off, so the apps can be run only upto one month)
- Change the frequency of restart dumps: set DUMPFREQ=number-of-days
- The suite can be executed as a combination of the following configurations, by setting values of the related variables in puma-aaNNN/rose-suite.conf:
- Testing an UM10.6 branch
- If you are only making changes to the code and not modifying any namelists, the suite only needs to be pointed to the new branch:
- puma-aaNNN $ Edit app/fcm_make/rose-app.conf and add your branch at the line
- um_sources=branches/your-branch or um_sources=working-copy (full path)
- puma-aaNNN $ Edit app/fcm_make/rose-app.conf and add your branch at the line
- Note that since suites use the mirror of the Ex-UM respository, it takes 5-10 minutes for any recently committed changes to be available to the suite.
- Now rerun the suite:
- puma-aaNNN $ rose suite-run --new
- The --new option forces the removal (and fresh creation) of the extracted source, build and working folders thus ensuring that all modifications to the source code made in your branch are included.
- If the code changes are expected to change results for this configuration, failure of the comparison (rose ana) tasks can be ignored. However, if no change is expected yet the comparison fails, this indicates a bug somewhere in the implementation which needs to be traced, corrected and re-tested.
- If you are only making changes to the code and not modifying any namelists, the suite only needs to be pointed to the new branch:
- Namelist changes
- If there are any modifications to the namelists e.g. addition or deletion of items, moving items between namelists, these need to be applied in puma-aaNNN/app/um/rose-app.conf
- Note: Since the base app/um/rose-app.conf needs to work for both UKCA configurations, any new settings that are specific to a configuration need to be made in the optional configurations viz app/um/rose-app.offline.conf and app/um/rose-app-stratdiags.conf.
- For adding the accompanying metadata changes:
-
- Checkout your branch to an universal location i.e. $HOME or $DATADIR.
- Modify the meta-data file : your-working-copy/rose-meta/um-atmos/HEAD/rose-meta.conf to reflect the namelist changes.
- Edit the puma-aaNNN/app/um/rose-app.conf and replace the line:
- meta=um-atmos/vn10.6 with meta=your working copy/rose-meta/um-atmos/HEAD
- Open the apps with rose edit to ensure that the namelist changes are consistent with the metadata.
- Now rerun the suite to make sure the Rose namelist changes are consistent with the Fortran namelist changes.
- If there are any modifications to the namelists e.g. addition or deletion of items, moving items between namelists, these need to be applied in puma-aaNNN/app/um/rose-app.conf
- Making and Testing changes to STASHmaster
- This is a bit more complicated as the changes required for Rose (i.e. GUI) to see the new STASHmaster are different to those required so that the 'run' or executable sees this.
- Changes for Rose/GUI to see the new STASHmaster = the same as other metadata changes
- Edit the puma-aaNNN/app/um/rose-app.conf and replace the line:
- meta=um-atmos/vn10.6 with meta=your working copy/rose-meta/um-atmos/HEAD
- Changes for the model/run to see the new STASHmaster
- Make sure to commit your STASHmaster_A changes to the branch
- In the app/um/rose-app.conf, add the following changes:
- Under the [env] block add:
- STASHMSTR=STASHmaster (Note specific spelling and upper/lower casing of the words)
- After the [file:xxx] lines, add two lines:
- [file:STASHmaster]
source=fcm:um.xm_br/dev/user-id/your-branch-name/rose-meta/um-atmos/HEAD/etc/stash/STASHmaster@your-revision
- Commit the suite-changes and re-run as normal
Warning: If any of the tasks in the workflow fails, the corresponding housekeeping task will not be carried out and all the data generated will remain in $DATADIR/cylc-run/puma-aaNNN on the HPC. This may have to be cleaned manually after testing through the command:
- puma-aaNNN $ rose suite-clean