Changes between Version 29 and Version 30 of Doc/Compile


Ignore:
Timestamp:
10/14/19 15:47:09 (5 years ago)
Author:
acosce
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Doc/Compile

    v29 v30  
    199199# Compilation for configurations _v6.2 and newer configurations # 
    200200 
    201  * The compilation slightly differs from what has been done so far. Now we use a script  '''compile_ipslcm6.sh''' with several options ( resolution, level of optimisation, full or partial recompilation ) to compile the model. 
    202  * It is necessary to set a link to '''arch.env''' if '''arch-${fcm_arch}.env''' file exist for current fcm_arch. The link '''arch.env''' is also set in config.card and will be used by libIGCM to ensure the same running environnement. 
    203  
    204 {{{ 
    205 ######################################################################## 
    206 # Usage of the script compile_ipslcm6.sh 
    207 # 
    208 ######################################################################## 
    209  
    210 ./compile_ipslcm6.sh [Options]  
    211  
    212  
    213 Options: [LR / VLR / MR1 / MR025] Model resolution, choose only one. Default: LR. 
    214          [ESMCO2] Compile IPSLCM6 for CO2 interactif ocean/atmosphere. 
    215          [ESMAER] Compile IPSLCM6 for AER interactif on atmosphere 
    216          [-full] Full recompilation of all components. This option can be added to all other options. 
    217          [-cleannemo] Full recompilation of NEMO component  only. 
    218          [-debug / -dev / -prod] Level of optimization. One of these can be added to all other compile options. Default: -prod. 
    219  
    220  
    221 Example 1: Default compilation of IPSLCM6 for resoltion LR  
    222           (Resolution atmos: 144x142x79, ocean: ORCA1) 
    223 ./compile_ipslcm6.sh 
    224  
    225 Example 2: Compilation of IPSLCM6 for resolution MR025 
    226            (atmos: 256x256x79, ocean: ORCA025, NOPISCES) 
    227 ./compile_ipslcm6.sh MR025 
    228  
    229 Example 3: Compilation of IPSLCM6 for ESM CO2 
    230 ./compile_ipslcm6.sh ESMCO2 -cleannemo 
    231  
    232 Example 4: Default resoltuion (LR) compiled in debug mode 
    233 ./compile_ipslcm6.sh -debug 
    234  
    235 Example 5: Default compilation with full recompilation of all components. No clean is needed. 
    236 ./compile_ipslcm6.sh -full 
    237  
    238 Example 6: Full recompilation of resolution MR05 in debug mode 
    239 ./compile_ipslcm6.sh MR025 -debug -full 
    240  
    241 }}} 
    242  
     201The compilation slightly differs from what has been done so far. Now we use a script  '''compile_ConfigName.sh''' with several options ( resolution, level of optimisation, full or partial recompilation ) to compile the model. 
     202  * IPSLCM6.2 : '''compile_ipslcm6.sh''' 
     203  * LMDZOR_v6.2 : '''compile_lmdzor.sh''' 
     204  * LMDZORINCA_v6.2 : '''compile_lmdzorinca.sh''' 
     205 
     206For each script you can use the option "-h" to know the usage of the script. You can find a description of each script on its configuration page (for example [wiki:Doc/Config/IPSLCM6.2 IPSLCM6.2]) 
     207 
     208Before the compilation, the script will modify the environment by loading modules list in `ARCH` directory  
     209{{{ 
     210ls IPSLCM6.2 
     211  >>> AA_make  AA_make.ldef  ARCH/  compile_ipslcm6.sh*  EXPERIMENTS/  GENERAL/  README  SOURCES/ 
     212ls IPSLCM6.2/ARCH/ 
     213  >>> arch-X64_IRENE.env 
     214}}} 
     215The script set a link to '''arch.env''' if '''arch-${fcm_arch}.env''' file exist for current fcm_arch. This link '''arch.env''' is also set in config.card and will be used by libIGCM to ensure the same running environnement. 
     216{{{ 
     217#-- Source following file with module settings, only if it exists 
     218EnvFile=${SUBMIT_DIR}/../ARCH/arch.env 
     219}}} 
     220 
     221 
     222At the end of the compilation the binary will be store with a specific name : binary_${resol_atm}_${optmode}, where `resol_atm` is the resolution of LMDZ model, and `optmode` the level of optimization (prod, debug, dev) use during the compilation.  
    243223[[NoteBox(warn, if you compile in debug or in dev mode you need to modify the parameter !OptMode in config.card. If you change the resolution at the compilation you need to modify the parameter !ResolAtm in config.card, 600px)]] 
    244224 
     225