Version 29 (modified by cthomas, 4 years ago) (diff) |
---|
Notes on NEMOVAR
Contents
Introduction
Operation of the NEMOVAR program is controlled by the Rose suite labelled puma-aa164, which is a copy of puma-aa145.
Suite structure
The structure of the suite is the standard one:
- suite.rc: suite structure and operation
- rose-suite.info: basic suite info
- rose-suite.conf: configuration of variables used in the suite (including paths)
- meta/rose-meta.conf: information about the variables defined in rose-suite.conf
Variables
These are the variables that are defined in rose-suite.conf and used in suite.rc.
- START_POINT: Start point of run
- RUN_LENGTH: Length of run
- CYCLE_LENGTH: Length of cycle
- WALL_CLOCK_LIMIT: Wall clock limit
- CALENDAR: Calendar used (default '365day')
- CICE_COL: Number of CICE columns
- CICE_MAXBK: Maximum number of blocks per processor for CICE
- CICE_ROW: Number of CICE rows
- COMPUTE_HOST: Host to use for compilation and/or model run
- EXTRACT_HOST: Host to use for code extraction
- NEMO_IPROC: Number of NEMO processes E-W
- NEMO_JPROC: Number of NEMO processes N-S
- RUNID: Prefix run ID for output files
- BUILD: Build model? (Y/N)
- RUN: Run model? (Y/N)
- GROUP: User group
Directories included
The following directories are included in rose-suite.conf:
- file:app/daily_fluxes
- file:app/daily_observations
- file:app/fixed_ancillary
- file:app/fixed_restarts
- file:app/nemovar
- file:app/nemo_cice
- file:app/fcm_make_nemo
By default each directory points towards a location on SVN. The locations are all subdirectories of the following directory:
svn://puma.nerc.ac.uk/NEMOCICE_svn/UKMO/branches/dev/annette/r5062_standalone_apps_MONSooN/config/Rose/apps/
Each directory can be checked out locally and modified, in which case the path specified in rose-suite.conf must be changed to point to the local version.
The directories all contain a rose-app.conf file along with other files/subdirectories. Each directory is discussed in more detail below.
daily_fluxes
This corresponds to the subdirectory operational_atmospheric_forcing. This app copies the daily flux files.
- app-interface.conf: defines IN_ADDITIONAL_DAYS and OUTDIR_FLUXES
- rose-app.conf: sets the default command to prepare_fluxes, defines INPUT_DIR
- bin/prepare_fluxes: Script to copy flux files from INPUT_DIR to OUTDIR_FLUXES and unzip them
- opt/rose-app-FOAM_v13.conf: defines INPUT_DIR (this is overridden by rose-app.conf)
daily_observations
This corresponds to the subdirectory hindcast_observations. This app copies the daily observation files. Everything in the opt directory controls a different set of observations.
- app-interface.conf: defines OUTDIR_OBSERVATIONS
- rose-app.conf: defines INBASEDIR, OUTDIR and EXEC_DIR and sets a large number of namelist parameters
- bin/NemoQcProg_ExtractAndProcess: Script to copy observation files in place and run the NEMO QC to file convert to 'feedback' format
- bin/NemoScr_ObsPreProc: Script to run the NEMOQC code on operational observations
- opt/rose-app-altimeter.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
- opt/rose-app-ghrsst_avhrr.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
- opt/rose-app-ghrsst_metop.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
- opt/rose-app-profile.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
- opt/rose-app-seaice1.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
- opt/rose-app-seaice2.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
- opt/rose-app-surface.conf: (re)defines INSUBDIR, INOBSFILE and OUTOBSFILE and sets a namelist parameter
fixed_ancillary
This corresponds to the subdirectory GO5_orca025_ancillary. This app copies ancillary files into the output directory.
- rose-app.conf: defines a variety of environment variables (pointing to NEMO data directories) and creates softlinks The environment variables are: NEMO_ANCIL, NEMO_FORCE, NEMO_GRIDS, NEMO_INPUTS, NEMO_EXECS and NEMO_IODEF
- bin/copy_ancilliary: empty
- bin/operational_ancilliary: creates a large number of softlinks
fixed_restarts
This corresponds to the subdirectory initial_restarts. This app copies the initial restarts.
- rose-app.conf: defines RESTART_DIR
- bin/copy_restarts: creates a link from RESTART_DIR to OUTDIR_RESTARTS
nemovar
This corresponds to the subdirectory nemovar. This app configures NEMOVAR.
- rose-app.conf: defines a large number of namelist parameters
- app-interface.conf: defines INDIR_ANCILLARY, INDIR_ALTBIAS, INDIR_INNOVATIONS, OUTDIR_ALTBIAS and OUTDIR_INCREMENTS
- bin/helper_functions.sh:
- bin/init_nemovar.sh:
- bin/run_nemovar.sh:
- bin/run_sstbias.sh:
- file/iodef.xml:
- file/xmlio_server.def:
- opt/rose-app-orca025.conf:
- opt/rose-app-sstbias-orca025.conf:
nemo_cice
This corresponds to the subdirectory GO5_nemo_GSI6_cice. This app configures NEMO-CICE.
- rose-app.conf: defines a large number of namelist parameters
- app-interface.conf: defines INDIR_EXEC, INDIR_ANCILLARY, INDIR_FLUXES, INDIR_BACKGROUND_RESTARTS, obsoper variables (INDIR_OBSERVATIONS, INDIR_ALTBIAS, OUTDIR_INNOVATIONS, OUTDIR_ASSIM_BACKGROUND), iau varibales (INDIR_INCREMENTS, OUTDIR_ANALYSIS_RESTARTS)
- bin/helper_functions.sh
- bin/run_nemo_cice: patched version removes handle_observations and processing profb
- bin/update_nemo_nl
- meta/rose-meta.conf
- opt/rose-app-iau.conf
- opt/rose-app-obsoper.conf
fcm_make_nemo
This corresponds to the subdirectory fcm_make_puma_GO5_nemo_GSI6_cice. This app builds NEMO and related programs.
- rose-app.conf: empty
- file/fcm-make.cfg: links to other .cfg files
- file/fcm-make-GO5.cfg: for compiling NEMO
- file/fcm-make-GSI5.cfg: for compiling CICE
- file/pwr6-xlf-opt.cfg: similar to a Makefile
NEMO-CICE
namelist
Suite operation
This is a rough description of what happens when the suite runs. An example cylc dependency tree can be seen on this page. The suite operates in two stages: the first stage involves compilation and setup and the second stage is where the cycling occurs.
First stage:
- build nemo
- run fixed_ancillary (pulls in ancillary information)
- run fixed_restarts (the background)
- if all successful, run nemo_cice_obsoper (the observation operator step)
Remaining stages:
- run daily_fluxes
- run DAILY_OBSERVATIONS
- if all successful, run nemo_cice_obsoper (produces innovations & forecast background)
- DAILY_OBSERVATIONS 'suicides' if nemo_cice_obsoper succeeds
- if nemo_cice_obsoper succeeds, run nemovar (produces increments)
- if nemovar succeeds, run nemo_cice_iau at a restart 'P1D' (incremental analysis update - produces analysis restarts)
- if nemo_cice_iau succeeds, run nemo_cice_obsoper again
Runtime
When rose suite-run is executed a cylc task is started. This populates the $HOME/cylc-run/puma-aa164 directory
Output
Random questions
- Where is OUTDIR_RESTARTS set?