Coupling script
Introduction
We'd like to couple two UMs together, primarily
because the chemistry in the UM is vastly expensive and we don't
think we'll be able to run it at the full N216 resolution - at least
for most of our CMIP runs (see Two
UM model). The UMUI doesn't have the facility
to run two UMs, but can what it creates be tweaked to produce
scripts that can? Hopefully these pages show that this can be done.
The UMUI creates both the input files and all the scripts required
to create and run one UM in one run directory. Having done this it
simply submits MAIN_SCR
which starts the process of creating and running the code. If we have
two runs that we'd like to couple, we already have most of the
input data and scripting required to create a coupled two UM run.
The job of the coupling script is to
- Create a new run directory
- Copy all the input files for both runs into new run directory
and ensure that there's a version for both UM runs
- In the build process, add UMRECON2 and UMATMOS2 to our
build loops
- Add any OASIS arguments that are needed in the build process
- Add any extra branches which are
needed to couple the two UMs
- Create two atmosphere and two reconfiguration executables
- Ensure that the 2nd UM uses separate
environment variables
where necessary to the 1st UM.
- Add an extra reconfiguration stage for the 2nd UM
Running coupling script
Let <senior_rundir> and <junior_rundir> be
existing run directories (or just run IDs, if they can be
found in ~/umui_jobs), then the coupling script in
~mstringe/ukca/bin can be run with the command
coupleJobs.scr <senior_rundir> <junior_rundir> <couple description>
where <couple description> specifes the type of coupling and
can be
- one: just runs the senior job (so not a coupled job, but will
still run both configurations)
- two: just runs the junior job (again, not a coupled job and will
still run both configurations)
- compare: the code is coupled but the passed fields are
only used to compare the differences between the two
UMs - determining how much the two UMs have diverged
from one another
- nudge:
- overwrite:
- ukca: Richard has said he may use this script to couple
the UKCA code to the UM. Here the coupling is at the interface
between the UKCA and the UM. The coupling used in the optins above
is much deeper
into the code and involves the core measurements, like velocity
and temperature.
This option determines which extra branches go into the build, and
in the case of `ukca' it also changes the namcouple directories
used.
In addition to the coupling script, extra submission scripts
(the ones generally found in /projects/um1/vn8.6/ibm/scripts)
are required to
- use the 2nd set of environment variables for 2nd UM, and
- allows two UM executable to be run at once