Many of the enviornment variables, such as OZONE and SOILTYPE, used to locate the ancillary files are specified in ANCILfiles_A, which can be found in /projects/um1/vn<version>/ctldata/ANCILmaster. However, for the junior UM we want the variables OZONE2, SOILTYPE2 etc to be read instead, and so we require a different ANCILfiles_A file. It's basically the same as the version in /projects/um1 but the number of characters for the `Env Vr' column has been increased from 8 to 10 characters and a `2' or `_2' has been added to the end of the original environment variables.
My version of ANCILfiles_A can be found in /home/cr/ukesm/mstringe/bin/vn<version>/ctldata/ANCILmaster along with an exact copy of ANCILfields_A. It's the branch vn8.6_take_version2, which instructs the junior UM to read the *2 variables, rather than the original variables.
The environment variables set from ANCILfiles_A use further environment variables to explicitly define the ancillary files which are used, e.g. OZONE might be set by
export OZONE=$UM_ANCIL_OZONE_DIR/$UM_ANCIL_OZONE_FILE
in INITFILEENV, where $UM_ANCIL_OZONE_DIR and $UM_ANCIL_OZONE_FILE are set by files below /projects/um1/ancil/data/ancil_versions. Variables such as $UM_ANCIL_OZONE_DIR and $UM_ANCIL_OZONE_FILE are set using code in SCRIPT which looks something like
if test -f /projects/um1/ancil/data/ancil_versions/filenames/v6/ancils then export UM_ANCIL_FILENAMES=/projects/um1/ancil/data/ancil_versions/filenames/v6/ancils else echo "ERROR: the Ancil filenames version /projects/um1/ancil/data/ancil_versions/filenames/v6/ancils not found" exit 1 fi if test -f /projects/um1/ancil/data/ancil_versions/n96e_orca025/GA6.0_AMIP/v5/ancils then . /projects/um1/ancil/data/ancil_versions/n96e_orca025/GA6.0_AMIP/v5/ancils else echo "ERROR: the Ancil versions file /projects/um1/ancil/data/ancil_versions/n96e_orca025/GA6.0_AMIP/v5/ancils not found" exit 1 fi
there are many different versions of these files but basically
I believe that the filenames are all fairly standard, so I think it's OK to use the same filename environment variables for both the senior and junior run. However, the directories are generally specific to the resolution used, e.g. in /projects/um1/ancil/data/ancil_versions/n96e_orca025/GA6.0_AMIP/v5/ancils
export UM_ANCIL_OZONE_DIR=$UM_ANCIL_N96EDIR/ozone/sparc/1994-2005/v2
where here $UM_ANCIL_N96EDIR points to a directory containing N96 files (not much use if you're running N216). Hence we want
Point 1. can be acheived by editing INITFILENV2.
Point 2. requires code similar to the ancillary script code
above being taking from SCRIPT in the junior run directory and
added into our new SCRIPT. However, the second version of the
variables need to be set, e.g.g we want to set $UM_ANCIL_OZONE_DIR2
rather than $UM_ANCIL_OZONE_DIR, so I've created my own version
of the files in
/projects/um1/ancil/data/ancil_versions/*/*/*, in
/home/cr/ukesm/mstringe/ancil/data/ancil_versions/*/*/*.
(This has been done with the script
/home/cr/ukesm/mstringe/bin/ancil/createAncilFiles.scr.)