Ancillary setup files

ctldata/ANCILmaster/ANCILfiles_A

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.

Ancillary files set in SCRIPT

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

  • filenames, like $UM_ANCIL_SEAICE_FILE, are often set by the /projects/um1/ancil/data/ancil_versions/filenames/*/ancils files, and
  • directories, like $UM_ANCIL_OZONE_DIR, and some filenames (like $UM_ANCIL_OZONE_FILE) are set by the /projects/um1/ancil/data/ancil_versions/*/*/*/ancils files.

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

  1. OZONE2 to point to something like $UM_ANCIL_OZONE_DIR2 and not $UM_ANCIL_OZONE_DIR, and
  2. $UM_ANCIL_OZONE_DIR2 to be set to the same directory used for junior UM when it was being run on its own.

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.)