= Install the modelling framework (NEMO and XIOS) == 1. Extract the NEMO code Using your `my_login` /pw registered on this web site: {{{#!sh svn --username "mylogin" co http://forge.ipsl.jussieu.fr/nemo/svn/branches/2015/nemo_v3_6_STABLE/NEMOGCM }}} == 2. Extract and install XIOS [http://www.nemo-ocean.eu/Using-NEMO/User-Guides/Basics/XIOS-IO-server-installation-and-use Document here] (and come back to this page afterwards to create NEMO executable!) == 3. Compile and create NEMO executable The main script to compile and create executable is called `makenemo` and located in the `CONFIG` directory. To identify the source code you need, to build the makefile and run it.[[BR]] As an example, compile `GYRE`, with ifort on linux to create a `MY_GYRE` configuration: {{{#!sh cd NEMOGCM/CONFIG; ./makenemo –m ifort_linux –r GYRE -n MY_GYRE }}} === More options * `–n` CONFIG : for configuration name, existant or new config to install * `–m` COMPILER : compiler choice (use files names in `NEMOGCM/ARCH`, see examples below) * `–h`: help * `–r` REFCONFIG : reference configuration as first guess when installing a new one * `–j`: number of processes to compile (`-j 0`:no compilation) * `–d`: NEMO subdirectory (not needed) * `–t` DIR : temporary directory to store libraries * `-clean` [CONFIG_NAME] : remove the Makefile and all the files created afterwards At the first use, you need the `-m` option to specify compiler, its options and libraries, then for next compilation, it is assumed you will be using the same compiler.[[BR]] If `–n` option is not specified, `ORCA2_LIM` is the default configuration used. `-d` option has been implemented for use in non-interactive shell. The `WORK` directory is created under each configuration directory. === Tools used during the process * `functions.sh` : bash functions used by `makenemo`, for instance to create the `WORK` directory * `cfg.txt` : text list of configurations and source directories[[BR]] * `bld.cfg` : FCM rules to compile === Description of directories * `ARCH` : compilation option files, with format `arch_compiler.fcm`, the compiler name has to be provided with `–m` option * `GYRE`, `ORCA2_LIM` or others : there is now a `cpp.fcm` file containing the list of cpp key, the `WORK` is specific to each configuration == Examples Compiling GYRE, with ifort on linux to create a MY_GYRE configuration[[BR]] {{{#!sh makenemo –m ifort_linux –r GYRE -n MY_GYRE }}} Recompile it[[BR]] {{{#!sh makenemo }}} Now, create and compile ORCA_LIM3[[BR]] {{{#!sh makenemo –n ORCA_LIM3 (and answer) }}} Now ORCA_LIM3_v2 based on the previous one[[BR]] {{{#!sh makenemo –n ORCA_LIM3_v2 -r ORCA_LIM3 }}} Now, create and compile ORCA2_LIM_2_2, add ('''add_key''') and delete ('''del_key''') keys, based on ORCA2_LIM (just un example) {{{#!sh makenemo –n ORCA2_LIM_2_2 -r ORCA2_LIM del_key "key_iomput" (and answer) }}} To remove a bad configuration {{{#!sh makenemo –n ORCA2_LIM_2_2 clean_config (and answer) }}}