This is a short tutorial to obtain interpolated ECMWF re-analysis to different model configurations of IFS using FULLPOS and the ECMWF workflow scheme (prepIFS)
1) Get as a first step the nomachine NX Client working on the desktop following the tutorial described in Remote desktop connection to ECMWF using NoMachine and connect to ECMWF ec-gate. Once you are connected to ecgate you should see the following graphical interface with an open terminal.
2) “Right-click” will allow you to execute some build in functions like opening an additional terminal: local xterm. Start by openening a new terminal and change the shell prompt to
bash - ECMWF uses a very strange shell only the elders of ECMWF master. If you connect the first time with your user you will have to adapt your
.user_profile by uncommenting the line 13 it. After editing your profile you can launch
prepIFS, this is the experiment configuration suite required to generate new initial conditions.
From ECMWF support email sent on 02/06/2019 Just a reminder that prepIFS now will not work unless you have explictly loaded the module first:
module load prepifs
Incase of problems the old version can still be run using prepIFS.old.
3) By double-clicking on the “human symbol” next to your user name you unfold the experiments that you have created in the past. If this is the first time you create an experiment with this user you will have to copy an experiment from the master of initial conditions
c3o. This user can be added by going to “File > Add user” and then typing
4) If you copy an experiment for the first time you have to add a new cycle by right-clicking on your user and select “Create new cycle” and add the 40r1. Unfold the experiments of c3o and go to the IFS cycle 40r1 and copy the experiment b0q0 by right-clicking on the experiment and choosing the option of “Copy experiment > Whole experiment”. This will open a new pop-window where you can select where to copy the experiment. Copy it into your cycle 40r1. You will get a new experiment id. Unfold it and double click on the “fc” folder which will reveal you the available configuration files as shown in the figure below.
5) Start by configuring the experiment according your needs. The dates of the initial conditions can be modified in the configuration “Initial data …”. Use the list of initial dates INITIME to specify the dates , the alternative INIBEGINDATE / INIENDDATE are not handy here because the step between the dates can not be specfied in months and only in hours (so.. no doesn't work). In the same configuration sheet you can also change the re-analysis which you would like to interpolate INICLASS is set to interim. If you change the re-analysis also mind ot adapt the resolution of it in INILEVELS and INIRESOL. Make sure that the option USE_DATES_LIST is on. If you need dates that are prior 1979 you can copy the experiment b0qc which has those defined from 1900 onwards for the ERA-20C re-analysis.
6) In the initial data you can also choose to use an ERA-Land analysis to replace the standard re-analysis surface fields. More towards the bottom of the configuraiton file you will find the options USE_NEW_INILAND as shown in the figure below. Set this variable to “On” if you want to use a analysis field from ERA-Land. However, you need to know the name of this experiment and whether it is available for the date and resolution which you want to generate. To get this info contact: email@example.com - updated on 2019/02/15 - his email is firstname.lastname@example.org , but he wull most probably not be preparing the ERA-Land for us from 2019 onwards, but Etienne Tourigny at BSC will
7) Changing the resolution can be done by “right-clicking” on the fc folder which unfolds a menu that allows you to change the horizontal resolution as shown in the figure below. This will simultaneously change several options required for a different resolution. The vertical resolution has to be put by hand in the option LEVELS in the tab “Resolution, general experiment setup..” There are many more options but generally you should not require to change more than the dates, re-analysis and the resolution.
8) If you have done all the desired changes save the experiment by right-clicking on the experiment and select “Save experiment > Whole experiment” Continue by launching your experiment by “right-clicking” on the experiment id and select “Submit experiment > Whole experiment”. A new window will open showing the log of tests which control the experiment definition. Click on “Continue with submit” to proceed with the submission.
9) Your experiment is now in the queue and can be supervised by the software “XCDP”. Open XCDP by “right-clicking” on the Desktop and launch XCDP from the menu. A window as shown below should appear (different in this case because of already running experiments). Unfold your user name and experiment by “middle-clicking” using the mouse wheel (the “middle-click” also folds again the scripts). The color scheme of the jobs is identical with autosubmit (green running, yellow completed, orange suspended, red failed, turquoise queueing, blue waiting). XCdp does further allow you to change the status of the jobs by right-clicking on them (e.g. suspend job, resubmit etc.). However, this suite of b0q0 should run smoothly as Swiss butter. If the experiment should fail nonetheless you have to execute the job
wipedpb (right-click on the job) wich will then execute the job
cancel that is going to remove the experiment and you can relaunch it then afterwards.
10) After the completeness of the experiment the initial conditions you have generated will be available at the ECMWF tape drive. You can see the files by enterin in a shell
els ec:/xes/public/b0q0. Files with the name
ece3_init_1979010100.tar should appear in your experiment folder which will contain the interpolated initial conditions.
11) Next you need to retrieve the files to BSC, change the files to our conventions and perturb the fields to obtain multiple members. A git repository contains the required scripts to fetch the data, perturb initial conditions and change the format. Clone the following repository
If you are outside BSC use this
and if you are in BSC
In the repository you will find a file called prepare_ifs_ic.sh. Open the file and adapt the parameters that match your request: - Change experiment id, change resolution, number of members, dates of the initial conditions. The script will create a new folder where the initial conditions are stored in /esarchive in the format required for auto-ecearth3. Don't forget to upload the new initial conditions to the HPC machine afterwards as well. This scripts will eventually move to CPGTools one the re-oganization started.
12) You are done! Not so hard after all, but probably you have encountered some problems. Don't hesitate the contact me in this case: email@example.com
13*) Bonus level: Obviously there are many more features that can be adapted. If you browse through the configuration of the experiment suite you might find more options that are relevant to your application. If you are interested in changing the experiment suite you have to create your own branch. For this the version control system perforce is required.
In order to only have a look at the scripts load branch that you would like to look it.
q2 select_client -u c3o
Slect the branch I'm currently using c3o_CY40R1_scripts_for_ic. Here you will be able to browse through all scripts that are being required.
If you want to edit these best create your own branch.
q2 create_brach -b branch_name -r C40r1 -p scripts
Then merge the branch that is currently used into your onw branch
q2 merge_branch -r -b c3o_CY40R1_scripts_for_ic
You should now have your own branch where you can change things. In order to edit the scripts you will need to checkout each file prior editing these. For this you have to load the graphical interface of perforce by typing the following in the shell where you have loaded the repository
The interface as shown in the figure below will appear. Select the file you want to edit and click on the checkout button. After editing the file using an editor in the shell cklick on the submit button and your changes will be pushed. If you want to use your new branch in an experiment don't forget to change in the variable SCRTIPTS_BRANCH of the Initial data configuraiton sheet.