Difference between revisions of "Box model"

From UKCA
Line 40: Line 40:
 
* [https://github.com/metomi/metomi-vms GitHub pages]
 
* [https://github.com/metomi/metomi-vms GitHub pages]
 
* [[Met_Office_Virtual_Machine#Set-up_VirtualBox_and_Vagrant_to_use_.2Fscratch|Met Office Virtual Machine tips and tricks]]
 
* [[Met_Office_Virtual_Machine#Set-up_VirtualBox_and_Vagrant_to_use_.2Fscratch|Met Office Virtual Machine tips and tricks]]
  +
   
 
Once the virtual machine is set up, it should be possible to run the box model. First, make a copy of the suite '''u-cn637''' ('''https://code.metoffice.gov.uk/trac/roses-u/browser/c/n/6/3/7'''):
 
Once the virtual machine is set up, it should be possible to run the box model. First, make a copy of the suite '''u-cn637''' ('''https://code.metoffice.gov.uk/trac/roses-u/browser/c/n/6/3/7'''):

Revision as of 10:03, 18 May 2022

UKCA Box Model - Version 1

The UKCA Box Model is a set of wrapper code which allow the running of the UKCA code base, taken directly from the repository trunk, independently of the UM as if running the chemistry and aerosol code over a single grid cell. The box model is designed to be used primarily for development and testing purposes - due to it's simple design it can quickly compiled and run on a single core in minutes, making debugging of changes to the core chemistry routines substantially faster than on the 3D model. The model has been tested to run in three broad modes, currently it only works with chemical mechanisms which utilise the ASAD framework:

  • Chemistry only, using StratTrop or CRI-Strat chemical mechanisms
  • GLOMAP Aerosol with offline oxidents
  • Coupled online chemistry-aerosol, using GLOMAP-MODE aerosol and StratTrop or CRI-Strat chemical mechanisms.

As well as use for development and testing, the box model is an integral part of the broader UKCA development strategy, as part of the ExCALIBUR ['LINK'] project, to enable the wholesale movement of the UKCA code base out of the UM into a seperpate repository. This transfer is occurring as part of the changes being made for UM vn13.0, Ticket #6717.


Overview

The source code for the box model can be found as a branch of the UKCA repository - in time these will merged into a single trunk which contains the UKCA source code and code to run the box model. The latest (10 May 2022) working branch can be found at:

https://code.metoffice.gov.uk/trac/ukca/browser/main/branches/dev/scottarchernicholls/r1_ukcabox_move_UKCA_br_G

This branch is designed to run with the first iteration of the UKCA repository, which can be found:

https://code.metoffice.gov.uk/trac/um/browser/main/branches/dev/lukeabraham/vn12.2_move_ukca#src/io_services/common

The build options are defined in the file fcm_make/inc/ukca-box-common.cfg; UKCA files/directories used for the build are defined under extract.path-incl[ukca] =

Files defined in the directory src/control/box_control are the box model code wrapping the core UKCA code. The UKCA code based is those under the sections src/control/core and src/science. Currently, the box model still has dependencies on the full UM code base (defined by extract.path-incl[um]). These will be removed and replaced with appropriate replications of functionalism not currently called.



Compiling and Running

Virtual Machine

The UKCA box model was developed to run on the Virtual Machine framework:

Instruction on how to set up the Virtual Machine to run UKCA can be found here:


Once the virtual machine is set up, it should be possible to run the box model. First, make a copy of the suite u-cn637 (https://code.metoffice.gov.uk/trac/roses-u/browser/c/n/6/3/7):

 rosie copy u-cn637

This suite is designed to run using the branch r1_ukcabox_move_UKCA_br_G. We would recommend making a local copy of this branch in the directory UKCA-Box. This is required because, at the moment, the metadata required to run the box model is not committed, therefore there needs to be a local copy of r1_ukcabox_move_UKCA_br_G containing the relevant metadata. The suite expects this to be in $HOME/UKCA-Box, so it is simplest to download the branch to that directory:

cd ~/
mkdir UKCA-Box
cd UKCA-Box
fcm checkout fcm:ukca.x_br/dev/scottarchernicholls/r1_ukcabox_move_UKCA_br_G

The new suite (initially a copy of u-cn637) can then be opened, edited and run using the rose gui:

cd ~/roses/u-<suite_id>
rose edit -M ~/UKCA-Box/r1_ukcabox_move_UKCA_br_G/rose-meta/ &

Alternatively, the suite options can be edited by modifying the suite.rc and app/ukca/rose-app.conf then running the suite using:

rose suite-run

Met Office computer

(Pedro?)



Inputs

The box model,

In addition to the above namelist options, the following input files are required (with default name provided):

  • chem_tracer_pars: Initial values of chemical (and/or aerosol) tracers required to fill the tracer array when running UKCA

All gas-phase chemical species should be provided as mass mixing ratios (kg/kg). Not all values need to be provided - any not initialised are set to a default initial value of 1e-15 (*n.b. should make this a namelist option*)


  • chem_ntp_pars: Initial mass mixing ratios of non-transported prognostics required to fill the ntp_data array

Example input files can be found in the directory:

~/roses/<suite_id>/app/ukca/file

This directory should contain the following files:


Output

Values for he chemical (and aerosol) tracers at each timestep are outputed (by default) to:

~/cylc_run/u-<suite_id>/work/1/ukca/tracer_out.csv

This is a simple text file of comma separated variables of each of the tracer values in mass mixing ratio units (kg/kg). The top line is a commented out legend, naming each of the columns. The first column is timestep (by default, one timestep = one hour), each of the following columns are the tracers in the tracer array in the order they appear in the UKCA code.

A simple way to plot these is using gnuplot. This can be installed on the Virtual Machine using the command:

sudo apt-get install gnuplot

As an example, ozone (the 2nd species in the tracer array, therefore the third column after timestep and O(3P)) can be plotted as follows:

gnuplot
set datafile separator ","
plot "tracer_out.csv" using 1:3 with linespoints

      • Add example plot of ozone, using default setup ***



  • Scraps*

Usage:

A. Met Office desktop:
/home/h02/hadzm/eval_v2/camb_chem/eval_tropchem_spice.py -i <ppfiles> [-s STASHlist] [-m trmap]

Options
-h, --help show this help message and exit
-i Required: ppfiles (12) from the year to analyse -full path-