Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Login to ECMWF Cray

Each participant will have a training user account on the ECMWF Cray system. This is different from the user account on the classroom computers.

...

Code Block
languagebash
ssh trcrayXX@ccbtroifsXX@ccb                        <<< use your Cray user id
Password: xxxxxxxx

trcray@ccbtroifs@ccb-login2:~> 

The contents of the account should look like:

Code Block
languagebash
trcray1@ccbtroifs1@ccb-login2:~> ls
bin  oifs38r1  scratch

If any are missing please let us know.

Directory: oifs38r1

This directory contains the OpenIFS source code and OpenIFS executable.

...

Info
titleExercise

Examine the files in the oifs38r1 directory if you are unfamiliar with the OpenIFS model.

Directory: scratch

This is the directory in which we will run OpenIFS.

Creating the OpenIFS ensemble experiment

An ensemble experiment consists of a 'control' and multiple 'perturbed' forecasts, or 'ensemble members'. For the operational ECMWF ensemble forecast, 50 members are used.

...

The exercises show how to create the experiment directories, prepare the jobs and submit them to the ECMWF Cray.

createENS command

Use the command createENS to create the ensemble experiment:

...

Info
titleExercise

Please only use the 2013102400 start date to ensure we can create the full ensemble from everyone's runs.

Use the createENS command to create an ensemble with just a single member (use the option -m 1)

Info
title

Exercise

Change to the experiment directory labelled by the date chosen:

Code Block
languagebash
titlee.g.
cd scratch/ENFO/2013102400/

There are two experiment directories: cf000 and pf001. cf000 is for the control forecast which is not used here. pf001 is the single perturbation forecast.

Code Block
languagebash
titleexamine files in the experiment directory
cd pf001
ls

Understand what the different files in the experiment directory are for.

Initial files

ICM* : these are the initial starting files. ICMGG* are the initial gridpoint files, ICMSH* are the initial spectral fields.

Note that part of the file name is 'oifs'. This is known as the 'experiment id' (exptid). It is also encoded into the Grib file itself.

Use the 'grib_ls' command to examine the initial files:

Code Block
grib_ls ICMGGoifsINIT
grib_ls ICMSHoifsINIT

Fortran namelist

The file: namelistfc is the model 'NAMELIST'. It contains a list of variable settings or 'switches' that control what the model does. These variables are grouped into separate fortran namelists.

The model will read this file when it starts up. There are many options to control the model. For more information, it is best and recommended to check the comments in the code. Please ask if you are interested.

Creating the OpenIFS namelist

Set the ensemble member

In IFS, each ensemble member uses the stochastic physics schemes to generate uncertainty. A random number 'seed' is used by the stochastic scheme to generate a different forecast. This random number seed is changed by altering the ensemble member value in the model's namelist. Each ensemble member must have a unique number and therefore random number seed, in order to produce a different forecast.

Exercise

Info

Make sure you are in the 'pf001' directory.

Make a copy of the namelist file and edit it to set the ensemble member value to the one you are given.Make sure you are in the 'pf001' directory.

Code Block
cp namelistfc mynamelist

vi mynamelist        # or use your favourite text editor; emacs etc.

and make the following changes to the namelist variables:

Panel
bgColorwhite
titleBGColorwhite
titleSet these namelist variables:
CTYPE="pf",   ! change the type of forecast to 'perturbed' from 'control'

NENSFNB=2,    ! change the ensemble member number to your assigned value. 
LSTOPH_SPBS=true, ! this enables the stochastic backscatter scheme in the model dynamics LSPSDT=true, ! this enables the stochastic scheme for the physics tendencies

The variable NENSFNB is important as this determines the random number seed used by the stochastic schemes, by altering the ensemble member value.

 

Code Block
languagebash
titleUse the 'diff' command to check your changes
diff mynamelist namelistfc
Note

This is different from how the ensemble would be run in practice. Ensemble member '2' would be run in directory pf002, member number '3' in pf003 and so on. But to keep this exercise simple, everyone will use the same experiment directory name but with a different ensemble member number.

 

Create and submit Cray batch job

The next steps are to create and submit a batch job to run on the ECMWF Cray XC30 system.

...

title
Panel
borderColorgrey
bgColorwhite
titleBGColorwhite
borderWidth1
titleoifs_run command
borderStyledotted

oifs_run -e exptid  [-l namelist] [-f fcast len]

For this exercise the only arguments to use are: -e, -l, -f. Other options are available which can be left to their default values.

Note!  the -f argument, the length of the forecast, is specified as: dNN, for example d10 means '10 days'.

Info

Exercise

...

Use the oifs_run command to create the job.

The exptid to use with the '-e' options passed to oifs_run must be "oifs". It is part of the filename of the initial files for the model (the files starting with "ICM").

The '-l' option is the name of the fortran namelist file you edited above.

 

Code Block
languagebash
titleCommand
oifs_run -e oifs -l mynamelist
 

This will create a file 'job1'.

Submit this job:

Code Block
qsub job1

Check the job status:

Code Block
qstatu

These forecasts complete in about 15mins.

 

During the course of the model run, files with names like ICMGGoifs+00000, ICMGGoifs+00012 etc will appear in the experiment directory.

These are the model output files. There is 1 per output interval. In these experiments the output interval is every 3 hours.

Checking the model output

After the qstatu command shows that the job has completed, there will be a 'batch log file' in the pf001 directory:

...