This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
how_to_perturb_ocean_restarts [2017/01/31 15:03] vsicardi |
how_to_perturb_ocean_restarts [2017/07/19 11:00] vsicardi |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | **How to perturbate | + | **How to perturb |
When a problem of numerical instability occurs causing a crash of the model perturbation of the restarts can be useful. Here are presented the steps to follow to perturb ocean restarts. | When a problem of numerical instability occurs causing a crash of the model perturbation of the restarts can be useful. Here are presented the steps to follow to perturb ocean restarts. | ||
The script generates an arbitrary number of NEMO oceanic restarts that are copies of a reference, plus a perturbation. | The script generates an arbitrary number of NEMO oceanic restarts that are copies of a reference, plus a perturbation. | ||
+ | How to perturb ocean restart: | ||
+ | This script has been tested on MN3 Nord3 and Ecmwf | ||
+ | |||
+ | 1- In order to perturb the restarts you need the script: | ||
+ | **gener_pertubation.bash**, | ||
+ | |||
+ | 2-As practical example: consider that your chunk n3 failed for an instability problem, you have to perturb the restarts of the chunk n2. You can decide how many restarts you want to perturb, just one, of all of them. Normally you have many restarts as the number of processors you are using in NEMO. | ||
+ | |||
+ | So, go to the your run directory, make a backup of the restarts folder you want to perturb, just in case (with EC-Earth 3.2.2 the path is something like EXP_ID_/ | ||
+ | For example: | ||
+ | |||
+ | < | ||
+ | |||
+ | It will automatically generate 3 perturbed restarts. Change the names of these new restarts to the original names and run your experiment from the last chuck that failed. | ||
+ | |||
+ | |||
+ | You may want to perturb all the restarts you have, you would like to do loop over all the restarts, perturb then and even change the names to the original ones. | ||
+ | |||
+ | In case you want to perturb all the restarts, here there is simple example of loop script that does the job: | ||
+ | |||
+ | |||
+ | < | ||
+ | # Loop on all the nemo ocean restart files | ||
+ | nfiles=960 | ||
+ | for num in `seq 0 $(( $nfiles -1 ))` ; do | ||
+ | num3=$(printf " | ||
+ | file=a0bb_00078912_restart_oce_0${num3}.nc | ||
+ | echo $file | ||
+ | . gener_perturbation.bash $file 1 | ||
+ | mv a0bb_00078912_restart_oce_0${num3}_fc0.nc $file | ||
+ | done </ | ||
+ | |||
+ | |||
+ | === Possible numerical instability errors === | ||
+ | |||
+ | In this session are collecting the error messages that can be found when a numerical instability is present. When these errors are present the perturbation of the restarts can solve the problem. | ||
+ | |||
+ | For further information | ||
+ |