access_ACCESS_LAM_prototype - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

ACCESS Limited Area Climate Model Prototype

Overview

This document describes a prototype limited area model (LAM) for UM v8.2 on raijin.nci.org.au via umuix on accesscollab.nci.org.au. The instructions should be sufficient to get your own job up and running, but if you need assistance or want to take things further, please email [email protected] for technical support. If you want to use this model for scientific research, we recommend that you email [email protected] for information about scientific issues arising from modelling of this type and from this prototype in particular.

This document assumes you already know how to use umuix to compile and run an ACCESS UM v8.2 global job on accesscollab/raijin.

LAM simulations consist of several steps: running the host model, generating lateral boundary condition (LBC) files from the host, and running the LAM.

Running the host model

A sample global run job that produces the .ph files needed to create LBCs is on accesscollab | user pbd562 | uamkb. The compile job is uamka, and in the current configuration symbolic links to the executables are created in the uamkb output directory.

Generating LBC files

Sample code to generate LBCs from the host .ph files is on access-svn. To obtain access to the code, please email [email protected].

Note that a useful LBC file needs to have the last timestep from the previous month inserted as its first timestep at t = 00:00. For this reason, the first LBC file produced is not useful for a LAM run, but it is needed to generate the second month's LBC file (which will become the first month of the LAM run).

Checkout the sample scripts from the SVN repository:

svn checkout https://access-svn.nci.org.au/svn/rcm/LAM_GA4/trunk/scripts
cd scripts/lbc

and open proc_lbc.sh in a text editor. Near the top of the file is a user edit section with several fields:

* `hostid`: the job id of the host
* `y0, m0`: the year and month of the first LBC to build with this run of the script
* `num_months`: the number of LBCs to build
* `restart`: set to 0 if you are beginning from the first month, set to 1 if you have already built at least one LBC and are now continuing to build additional LBCs
* `mdss_idir`: the location of the input .ph host model files on the MDSS
* `mdss_odir`: the location of the output LBC files that will be moved to the MDSS.

To start generating LBCs:

1. Edit the user edit fields in proc_lbc.sh and set your project code in the line #PBS -P [project_code]
2. Submit the script to the copy queue: 

`qsub proc_lbc.sh`

Running the LAM

A sample LAM job that uses the LBCs created above is on accesscollab | user pbd562 | uamkc. The start and end scripts are in scripts/lam where you checked out your code. Edit your job to point to start.sh and end.sh. The scripts copy the LBC files from the MDSS to your working directory as required during your run and delete them when they are no longer needed. They also archive your output to the MDSS at ACCESSDIR_output/[your_user_id]/[your_job_id]. Logs from these scripts are written to a log/ directory created in your output directory.

The sample job domain includes Australia and surrounds. The corresponding ancillary files are located at raijin:/short/p66/pbd562/ancil/rcm/aus_prototype and this directory is specified in the sample job by the RCM_ANCIL environment variable. For help creating ancillaries for your own domain, please email [email protected].

Your job also needs to know where on the MDSS your LBCs are stored. This is specified in the MDSS_LBC_FILES environment variable, which has the format /[host_id]/[domain_id]. In the prototype, this is /uamkb/aus_L85 and the corresponding directory on the MDSS would be ACCESSDIR_output/[your_user_id]/uamkb/aus_L85.

The first time you submit your LAM job from the umuix, the first month's LBC will not exist in your output directory, nor can the job get it from the MDSS since only interactive and copy queue jobs have MDSS access, so this LBC will need to be retrieved before you submit your job. An initialisation script has been created to do this.

Create your output directory:

mkdir /short/[your_user_id]/[your_job_id]

and create symbolic links to the executables produced by the compile job if required.

Copy the initialisation script to your output directory:

cp scripts/lam/init.sh /short/[your_user_id]/[your_job_id]

Edit the fields in the user edit section and check that dataw (the output directory for your job) and mdss_dir (the location of your LBC files on the MDSS) are correct.

Run the script:

./init.sh

When the script completes, the first month's LBC file should be in your output directory and you can submit your LAM job from the umuix.