Changes between Initial Version and Version 1 of Doc/Models/LMDZ


Ignore:
Timestamp:
03/24/14 16:18:48 (10 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Doc/Models/LMDZ

    v1 v1  
     1{{{ 
     2#!html 
     3<h1>The LMDZ model</h1> 
     4}}} 
     5---- 
     6[[TOC(heading=Table of contents,depth=1,inline)]] 
     7[[PageOutline(1,Table of contents,pullout)]] 
     8 
     9---- 
     10 
     11 
     12 
     13# LMDZ documentation # 
     14 
     15Information about the LMDZ model can be found on the website [http://lmdz.lmd.jussieu.fr lmdz.lmd.jussieu.fr] 
     16 
     17# Resolutions # 
     18The following resolutions are available: 56x55x19, 96x71x19, 96x95x19, 96x95x39, 144x142x19, 144x142x39. However only the resolutions 96x95x39(also called LR : low resolution) and 144x142x39(MR : mid resolution) are equilibrated in coupled simulations and fully tested. If you want to add a new resolution you must create the GENERAL/PARAM/gcm.def_resol file. If the vertical resolution changes you must also add the corresponding physiq.def_ file.  
     19 
     20If you use LMDZ in forced mode with or without ORCHIDEE, you must once create boundary condition files for the chosen resolution, [wiki:DocImodelBlmdz#Creatinginitialstatesandinterpolatingboundaryconditions see below]. 
     21 
     22# Restart files and boundary conditions # 
     23 
     24The LMDZ model uses two restart files, one for the ''dynamical'' part of the model (start.nc) and one for the ''physical'' part of the model (startphy.nc). Those two files describe the atmospheric state at a given time. If the LMDZ model is ran in forced mode, a file containing the boundary conditions is also used (limit.nc which contains the surface temperature SST, the ice cover and the roughness).  
     25 
     26[[NoteBox(warn, The resolution of the variables in those files must be the same as the resolution of the chosen configuration.,600px)]] 
     27 
     28A second boundary condition file might be needed depending on the 
     29options for the ozone field (climoz_LMDZ.nc). This file only depends on 
     30the latitude grid of LMDZ. It does not depend on the longitude or 
     31vertical grids of LMDZ. 
     32 
     33You can find a documentation on climoz file use for IPCC [wiki:InfosOzone here] 
     34 
     35 
     36The restart files can be: 
     37 * obtained from a previous simulation (with the proper resolution) 
     38 * obtained from the ce0l executable with a CREATE_''xxx'' job, see below 
     39## Creating initial states and interpolating boundary conditions ##  
     40 
     41Once you chose and installed your configuration, you will find the config.card and lmdz.card files in the modipsl/config/.../EXPERIMENTS/LMDZ/CREATE_''xxx'' directories. These files allow you to prepare jobs that create restarts and boundary conditions from initial files located on shared accounts. The jobs follow the classical procedure explained [wiki:/DocEsetup here]. The files found in the directories are: 
     42 
     43 CREATE_clim:: 
     44    allow to create boundary conditions with climatological SSTs 
     45 CREATE_amip:: 
     46    allow to create interannual AMIP boundary conditions 
     47 
     48[[NoteBox(warn, You must properly define the same calender ''leap/noleap/360d'' in config.card of the job that creates initial states and in config.card of the job that starts your experiment.,600px)]] 
     49 
     50 
     51__Note :__ If you want to use datasets other than AMIP you must change the `lmdz.card` file in the experiment CREATE_xxxx choisi and maybe also in the LMDZ model. 
     52 
     53 
     54 
     55## Using the coupled IPSL model outputs ## 
     56Follow the steps below to create the limit.nc files of a previous LMDZ simulation (coupled or forced). [[BR]] 
     57 
     58Note: ce0l of LMDZ4_AR5 can not be used. Use instead LMDZ5/trunk revision 1508 or a later revision. Once the limit.nc files created, LMDZ4_AR5 or LMDZ5 can be used.  
     59 
     60'''Step 1''' [[BR]] 
     61Identify the time series for the simulation you want to use. Use the tsol_oce variables for the surface temperature (SST) and pourc_sic for the sea ice concentration (SIC). The variables must be monthly outputs of LMDZ. Cut the time series into annual files. For example, the files for the IPSLCM5A rcp4.5 simulation are located at CCRT : 
     62{{{ 
     63/dmnfs/cont003/p86denv/IGCM_OUT/IPSLCM5A/PROD/rcp45/v3.rcp45.1/ATM/Analyse/TS_MO/v3.rcp45.1_20060101_21251231_1M_tsol_oce.nc 
     64/dmnfs/cont003/p86denv/IGCM_OUT/IPSLCM5A/PROD/rcp45/v3.rcp45.1/ATM/Analyse/TS_MO/v3.rcp45.1_20060101_21251231_1M_pourc_sic.nc 
     65}}} 
     66 
     67Use cdo to cut them into annual files with 12 timesteps in each file: 
     68{{{ 
     69cdo splityear all_path_to_file_TS_MO_tsol_oce.nc  $WORKDIR/my_new_dir/v3.rcp45.1_tsol_oce_ 
     70cdo splityear all_path_to_file_TS_MO_pourc_sic.nc $WORKDIR/my_new_dir/v3.rcp45.1_pourc_sic_ 
     71}}} 
     72 
     73'''Step 2'''[[BR]] 
     74The annual files can now be used directly with the ce0l script (revision 1508) LMDZ5/trunk or more recent. The files must be renamed histmth_sst.nc and histmth_sic.nc in the execution directory. The AMIP files must not be in the execution directory because they will be used first.  
     75 
     76Use EXPERIMENT/LMDZ/CREATE_amip. Change it to use those new files instead of the AMIP files:  
     77{{{ 
     78cd modipsl/config/XXXX_v5     # XXXX_v5 maybe all config _v5 containing LMDZ 
     79cp EXPERIMENT/LMDZ/CREATE_amip/config.card . 
     80vi config.card                # Modify JobName, simulation period 
     81../../util/ins_job 
     82cd MyJobName 
     83 
     84vi COMP/lmdz.card     
     85# Modify 
     86[BoundaryFiles] 
     87List=   (${R_INIT}/ATM/${config_UserChoices_TagName}/AMIP/amipbc_sst_360x180_${year}.nc, amipbc_sst_1x1.nc), \ 
     88        (${R_INIT}/ATM/${config_UserChoices_TagName}/AMIP/amipbc_sic_360x180_${year}.nc, amipbc_sic_1x1.nc), \ 
     89# into 
     90[BoundaryFiles] 
     91List=   (/the/whole/path/to/the/yearly/files_tosl_oce_${year}.nc,  histmth_sst.nc), \ 
     92        (/the/whole/path/to/the/yearly/files_pourc_sic_${year}.nc, histmth_sic.nc), \ 
     93}}} 
     94 
     95 
     96## Creating limit.nc with the coupled IPSL model outputs anomalies ## 
     97The SST of a coupled simulation can be used as described above or it can be corrected with the difference between an AMIP reference SST and a reference SST from a coupled simulation. These two references must be on a same period. [[BR]] 
     98 
     99For example, you can use the SST from a historical simulation and the AMIP SST for the period 1979-2005. You can compute the difference and apply it to any period of the future RCP 4.5 simulation. [[BR]] 
     100 
     101In order to do so, you can use the create_sst_anomly.ksh script (or use it as an example) instead of the Step 1 above. Afterwards continue with Step 2 above.  
     102 
     103The script is here: [[BR]] 
     104[http://forge.ipsl.jussieu.fr/igcmg/browser/TOOLS/INTERP_NUDGE/create_sst_anomaly.ksh].  
     105 
     106## Files already created with the IPSL coupled model outputs ## 
     107[wiki:BoundaryFiles] 
     108 
     109 
     110## Using restart files of a IPSLCM5 coupled simulation to start a forced simulation ## 
     111 
     112You can use restart files from a IPSLCM5 coupled simulation to start a simulation with the forced LMDZ model. The land-sea mask must be identical in the limit.nc and in the restart files. The land-sea mask of the coupled model is stored in the o2a.nc file.This file must exist when the limit.nc files are created in order to use the restarts of a coupled simulation. To this end, the complete path for the o2a.nc file with the proper resolution must be provided in CREATE_xxx/COMP/lmdz.card (in the list "!ListNonDel" and in the section  
     113"[!BoundaryFiles]"). For example ${R_INIT}/ATM/IPSLCM5/ORCA2xLMD9695/o2a.nc  
     114 
     115 
     116 
     117---- 
     118# Parallelism and the ''Bands'' file # 
     119The parallel LMDZ model with the MPI library. You will find more information on the parallelism [http://lmdz.lmd.jussieu.fr/developpeurs/notes-techniques/ressources/parallelisme-LMDZ.pdf here]. 
     120 
     121## Maximum number of processes ## 
     122The maximum number of processes you can use in MPI mode depends on the model resolution. The maximum number of processes is the number of latitudes divided by 3. [[BR]] 
     123 
     124If the amount of processes you chose is too large, your simulation will stop with the following message: 
     125 
     126{{{ 
     127Arrêt : le nombre de bande de latitude par process est trop faible (<2). 
     128  ---> diminuez le nombre de CPU ou augmentez la taille en latitude 
     129 
     130(Stop : the number of latitude bands per process is too low (<2). 
     131 ---> decrease the CPU number or increase the latitude size) 
     132}}} 
     133The number of processes for the job is set in the beginning of the main job. 
     134 
     135## Adjustment ## 
     136If the number of points per MPI job is uniformly distributed in LMDZ, the load equilibrium is not optimum. The '''adjust''' option in LMDZ allows you to ask the model to "adjust" its points distribution. To this end, you must compute the time spent in each part of the model and define the optimum distribution during the run. This new distribution is stored in the `Bands_resol_nbProc.dat` file (it depends on the configuration, on the machine, on the resolution and on the proc number). [[BR]] 
     137 
     138 
     139You must perform a pre-simulation in order to create this file (~ 3-month simulation) with the configuration that will be used later. Then you must use this file for the "main" simulation. The file will be stored in the PARAM directory, in the submission directory located on the computing machine. 
     140 
     141'''For all previous configurations''' : the Bands file is stored in the  ${R_OUT}/nom_config/ATM/Debug/ directory on the storage server. 
     142 
     143By default, the simulation adjusts the `Bands` file during the 3 first months of the simulation and then uses the one of the last month. If you use the `Bands` file of another simulation you must specify `adjust=0` in lmdz.card and use the variable `LMDZ_Bands_file_name` to specify the path of the chosen file.  
     144 
     145 
     146[[NoteBox(warn,To make sure to obtain the same results between two simulations\, you must cancel the adjustment and the creation of Bands files. For the two simulations you must use the '''same''' `Bands` file., 600px)]] 
     147 
     148[[NoteBox(warn,With INCA you can't run with adjust=y (the simulation will be wrong) so you need to make a pre-run to create the Bands file and then run your simulation by linking this file, 600px)]] 
     149 
     150---- 
     151# lmdz.card # 
     152 
     153The different parameters you can change in the section [!UserChoices] of the lmdz.card file are described below. The examples used here are taken from the version of this file located in the [http://forge.ipsl.jussieu.fr/igcmg/svn/CONFIG/UNIFORM/v5/LMDZOR_v5/EXPERIMENTS/LMDZOR/clim/COMP/lmdz.card LMDZOR_v5 clim] configuration: 
     154 
     155{{{ 
     156Section [UserChoices] 
     157}}} 
     158 
     159 * '''__LMDZ_Physics__''' 
     160{{{ 
     161LMDZ_Physics= 
     162}}} 
     163This parameter allows you to choose the version of the physics (old or new) used by LMDZ. The available values are: 
     164 * AP, old physics 
     165 * NPv3.1, "new" physics, version v3.1 (available for the model versions on the development branch starting from the version 1554 or on the testing branches and LMDZ5_AR5) 
     166 
     167[[NoteBox(warn,New physics doesn't work with start.nc and startphy.nc from create_etat0_limit -- you need to take them from another simulation with new or old physics,600px)]] 
     168 
     169The model will use the parameters included in the PARAM/physiq.def_$LMDZ_Physics file when running. 
     170 
     171 * '''__CREATE__''' 
     172{{{ 
     173CREATE= 
     174}}} 
     175This parameter defines the name and therefore the location of the simulation that has created the initial states and the boundary conditions. 
     176 
     177 
     178 * '''__!ByPass_hgardfou__''' 
     179{{{ 
     180ByPass_hgardfou_teta=(y/n) 
     181}}} 
     182This parameter allows you to divide by two dissipation times used by LMDZ on the next simulation period (1 month in general) in order to try to overcome a bug.  
     183[[BR]] 
     184 
     185{{{ 
     186ByPass_hgardfou_mats=(y/n) 
     187}}} 
     188This parameter allows you to choose the matsuno temporal scheme (rather than leapfrog) on the next simulation period in order to try to overcome an LMDZ bug.  
     189 
     190 
     191 * '''__Adjust__''' 
     192{{{ 
     193LMDZ_NbPeriod_adjust=0/1/.../3 
     194LMDZ_Bands_file_name= 
     195}}} 
     196LMDZ_NbPeriod_adjust determines the number of simulation periods (3 in general) during which LMDZ allocates as best as possible the parallel domains on the number of chosen processors in order to have a proper load equilibrium. During those periods adjust=y will be stored in run.def and later it will be adjust=n. [[BR]] 
     197 
     198The LMDZ_Bands_file_name parameter is optional. It can indicate an equilibrium file (''bands'' file) already created with its entire path on the storage server. For this option to be taken into account you must also specify LMDZ_NbPeriod_adjust=0.[[BR]] 
     199 
     200To start without an equilibrium file and with adjust=n, you can set LMDZ_NbPeriod_adjust=0 without specifying LMDZ_Bands_file_name. 
     201 
     202 
     203 * '''__!ConfType__''' 
     204{{{ 
     205ConfType=(preind/actuel/annuel) 
     206}}} 
     207This parameter allows you to choose the configuration to use for the aerosols, the solar constant, and the greenhouse gases. The file PARAM/config.def_$!ConfType will be used when running.[[BR]] 
     208 
     209Set !ConfType=preind for constant preindustrial values or !ConfType=actuel for constant present-day values choose. [[BR]] 
     210 
     211For annual values choose !ConfType=annuel and add the following input text files containing the yearly values : SOLARANDVOLCANOES.txt, CO2.txt, CH4.txt, N2O.txt, CFC11.txt, CFC12.txt. The file config.def_annual contains only the key word AUTO for the solar constant and the greenhouse gases. lmdz.driver will substitute AUTO with the values from the files. The syntax of these files are always the same. See here an example  : 
     212{{{ 
     213> cat CO2_1765_2005.txt 
     214Annee_1765=0.27805158E+03 
     215Annee_1766=0.27810615E+03 
     216Annee_1767=0.27822039E+03 
     217Annee_1768=0.27834305E+03 
     218... 
     219}}} 
     220 
     221The values might change due to the simulation protocol. Stored at the IPSL shared repository are files corresponding to the CMIP5 protocol. Find them here :  
     222 
     223{{{ 
     224IGCM_directory/BC/ATM/LMDZ/IPCC_AR5 
     225}}} 
     226 
     227 
     228where IGCM_directory can be found here [wiki:DocBenvEcommonfiles#Repositoryforsharedfiles]. 
     229 
     230For a set-up example see  
     231[https://forge.ipsl.jussieu.fr/igcmg/browser/CONFIG/UNIFORM/v5/LMDZOR_v5/EXPERIMENTS/LMDZOR/amip/COMP/lmdz.card lmdz.card in experiment LMDZOR/amip]. 
     232  
     233 * '''__Aerosols and ozone options__''' 
     234{{{ 
     235ok_ade=(y/n) 
     236ok_aie=(y/n) 
     237ok_cdnc=(y/n)  
     238flag_aerosol=([0-6]) 
     239aerosol_couple=(y/n) 
     240}}} 
     241These flags are described in the [wiki:DocImodelBlmdz#Informationabouttheaerosolradiativeforcing following] section. 
     242 
     243 * '''__!OutLevel__''' 
     244{{{ 
     245OutLevel=(low/medium/high) 
     246}}} 
     247This parameter allows you to choose the output volume to be created. The file PARAM/output.def_$!OutLevel will be used when running.  
     248 
     249 * '''__COSP options__''' 
     250{{{ 
     251LMDZ_COSP_OK=(y/n) 
     252LMDZ_COSP_monthly=(y/n) 
     253LMDZ_COSP_daily=(y/n) 
     254LMDZ_COSP_hf=(y/n) 
     255}}} 
     256Parameters activating the COSP simulator outputs for monthly, daily and/or high frequencies. 
     257 
     258 * '''__NMC options__''' 
     259{{{ 
     260LMDZ_NMC_monthly=(y/n) 
     261LMDZ_NMC_daily=(y/n) 
     262LMDZ_NMC_hf=(y/n) 
     263}}} 
     264Parameters activating the NMC monthly, daily and/or high frequency outputs (outputs on standard pressure levels). 
     265 
     266 * '''__ok_guide__''' 
     267{{{ 
     268ok_guide=(y/n) 
     269}}} 
     270allows you to activate the LMDZ nudging(fr guidage) by wind, temperature and humidity fields. 
     271'''Be careful''' the fields used for nudging must be specified in the section !BoundaryFiles. The nudging files must be at the same horizontal grid as the model. Use the variables year and month for coping these files. The parameter file PARAM/guide.def will be used and you can adapt it as you need. [[BR]][[BR]] 
     272 
     273For example, set in lmdz.card : 
     274{{{ 
     275ok_guide=y 
     276[BoundaryFiles] 
     277List=(/thepathtoyournudgingfile_u${year}-${month}.nc, u.nc),\ 
     278     (/thepathtoyournudgingfile_v${year}-${month}.nc, v.nc) 
     279}}} 
     280 
     281[[BR]][[BR]] 
     282 
     283# Information about the aerosol radiative forcing # 
     284 
     285The management of the aerosol effects relies on the '''aerosol_couple''', '''flag_aerosol''', '''aer_type''', '''ok_cdnc''', '''ok_ade''' and '''ok_aie''' flags.  
     286[[BR]] 
     287When LMDz runs without the INCA module, the `aerosol_couple` flag must be set to .false. The flag `flag_aerosol` then controls the way aerosols are taken into account based on monthly climatologies. You will find more information about the climatologies used for AR5 [http://forge.ipsl.jussieu.fr/igcmg/wiki/InfosAerosol here] 
     288[[BR]] 
     289flag_aerosol can be set to the following values:  
     290 * 0    no aerosols  
     291 * 1    sulphate only 
     292 * 2    black carbon only (BC) 
     293 * 3    organic matter only (POM) 
     294 * 4    marine salt only 
     295 * 5    dust only 
     296 * 6    all aerosols 
     297 
     298When flag_aerosol > 0 you must provide aerosol files to the model. In any case, the file '''aerosols.nat.nc''' is needed. Another flag '''aer_type''' determines which aerosols are taken into account. If `aer_type` is set to  "preind" preindustrial aerosols are used and only the file aerosols.nat.nc must be provided to the model. If the flag is set to  "actuel" present-day aerosols are used with the aerosols1980.nc file. If the flag is set to  "scenario" the aerosols follow a scenario with files such as aerosolsXXXX.nc with a 10-year resolution. Finally, if the flag is set to "annuel" the aerosols are taken for a specific year and the input file is aerosolsXXXX.nc where XXX is the year in the run.  
     299[[BR]] 
     300In case flag_aerosol > 0 both flags '''ok_ade''' and '''ok_aie''' (set to y or n) control the activation of direct and indirect (respectively) aerosol effects. In case an effect is deactivated natural aerosols are used for this effect. The flags ok_ade and ok_aie are independant from each other. However flag_aerosol must be > 0 as soon as one of the two flags ok_ade and ok_aie is activated. This also activates the radiative forcing diagnostics (topswad and topswai variables). In case ok_aie is activated you must choose the explicit computation of the cloud droplet number concentration (CDNC) with the flag '''ok_cdnc=y'''. In the opposite case you can choose ok_cdnc=y (CDNC is computed explicitly from an empirical relationship which depends on aerosols) or ok_cdnc=n (an effective radius is then directly prescribed). 
     301[[BR]] 
     302bl95_b0=1.7 and bl95_b1=0.2 are the parameters of the relationship between aerosol mass and CDNC according to the Boucher and Lohmann (1995) parametrization.  
     303 
     304[[BR]] 
     305These flags are defined in lmdz.card :  
     306 * ok_ade 
     307 * ok_aie 
     308 * ok_cdnc 
     309 * aerosol_couple 
     310 * flag_aerosol 
     311[[BR]] 
     312 
     313The aerosol_couple flag must be set to "y" to take into account the interactive aerosols of the INCA model. In this case [wiki:DocHconfigClmdzorinca#TheaerosolcouplingandtheradiativeeffectinLMDZORINCA the radiation interface] is different.  
     314 
     315## Which aerosols are used? ## 
     316You must distinguish between   
     317 * 9 aerosol families:  
     318{{{ 
     319ZERO; AER total; NAT; BC; SO4; POM; DUST; SS; NO3 
     320}}} 
     321Note : the NO3 is not yet taken into account in the model 
     322 
     323 * 8 species in each family :  
     324{{{ 
     325ASBCM, ASPOMM, SO4, CSSO4M, SSSSM, CSSSM, ASSSM, CIDUSTM, AIBCM, AIPOMM 
     326}}} 
     327 
     328(see the aero_mod.F90 module in LMDZ/libf/phylmd)  
     329 
     330# Information about the ozone field for the radiative transfer # 
     331The ozone field is driven by the read_climoz parameter in lmdz.card. You will find all the information [http://lmdz.lmd.jussieu.fr/utilisateurs/guides/lmdz-pas-a-pas/utilisation-comme-boite-noire/le-champ-dozone here] 
     332 
     333 
     334# Simulation with nudging : section under edition (J. Ghattas) # 
     335For details about nudging options and implementation in LMDZ, see a description in french at the [http://lmdz.lmd.jussieu.fr/documentation/notes-techniques LMDZ web-site], choose the second joint file called "Guidage de LMDZ". 
     336 
     337## Interpolation of nudge files ## 
     338The files that will be used for the nudging (''fr'' guidage) must be interpolated to the model grid before running the gcm. Scripts to do this are stored in directory [http://forge.ipsl.jussieu.fr/igcmg/browser/TOOLS/INTERP_NUDGE]. To interpolate ERA-Interim use the script [http://forge.ipsl.jussieu.fr/igcmg/browser/TOOLS/INTERP_NUDGE/interp_from_era.ksh interp_from_era.ksh]. You must first modify the beginning of this script. To interpolate LMDZ model output files use the script [http://forge.ipsl.jussieu.fr/igcmg/browser/TOOLS/INTERP_NUDGE/interp_from_TS.ksh interp_from_TS.ksh]. Both scripts depend on the script [http://forge.ipsl.jussieu.fr/igcmg/browser/TOOLS/INTERP_NUDGE/era2gcm.ksh era2gcm.ksh]. These script access the archive directory with a use in ferret. These scripts are tested at curie. Follow step 1 to 3 :  
     339 
     3401) Create file grilles_gcm.nc[[BR]] 
     341The file grilles_gcm.nc is created by default during the CREATE experience '''if''' you use revision 1508 of LMDZ5/trunk or later and revision 1333 or later of the configuration LMDZOR_v4.  
     342The file grilles_gcm.nc contains the different grids used as target for the interpolation. The file is created with ce0l if the parameter grille_gcm_netcdf=T(default in CREATE). After a normal CREATE experience the file can be found in the archive directory IGCM_OUT/LMDZOR/ELXXXX/ATM/Output/Boundary/. If the grid contains a zoom it is important that the file grilles_gcm.nc is created at the same time as the other boundary conditions and initial state files, using the same .def parameter files describing the grid. 
     343 
     3442) Extract the INTERP_NUDGE directory from svn repository: 
     345 
     346{{{ 
     347svn co http://forge.ipsl.jussieu.fr/igcmg/svn/TOOLS/INTERP_NUDGE INTERP_NUDGE 
     348}}} 
     349 
     350Modify and run the script interp_from_era.ksh from a machine that access the ERA files by use in ferret. Script tested at curie. [[BR]] 
     351 
     3523) Move interpolated files to archive directory.[[BR]] 
     353 
     354## For running ## 
     355Follow 3 steps to activate nudging in LMDZ : [[BR]] 
     356 
     3571) Set parameter ok_guide=y in lmdz.card. The lmdz.driver will then put ok_guide=y in the guide.def file.[[BR]] 
     358 
     3592) Add files containing the nudging variables in lmdz.card (''_Climat'' or ''_AMIP'') in section !BoundaryFiles. These files have to be interpolated previously to the model horizontal grid.  
     360 
     3613) Most probably you have to modify parameter file guide.def containing specifications for the nudging according to your experience.[[BR]] 
     362