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 | | |
| 201 | The 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 | |
| 206 | For 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 | |
| 208 | Before the compilation, the script will modify the environment by loading modules list in `ARCH` directory |
| 209 | {{{ |
| 210 | ls IPSLCM6.2 |
| 211 | >>> AA_make AA_make.ldef ARCH/ compile_ipslcm6.sh* EXPERIMENTS/ GENERAL/ README SOURCES/ |
| 212 | ls IPSLCM6.2/ARCH/ |
| 213 | >>> arch-X64_IRENE.env |
| 214 | }}} |
| 215 | The 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 |
| 218 | EnvFile=${SUBMIT_DIR}/../ARCH/arch.env |
| 219 | }}} |
| 220 | |
| 221 | |
| 222 | At 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. |