= Install the modelling framework (NEMO and XIOS) '''1-1 Extract the NEMO code'''[[BR]] Using your "my_login" /pw registered on this web site:[[BR]][[BR]] {{{ svn --username "mylogin" co http://forge.ipsl.jussieu.fr/nemo/svn/branches/2015/nemo_v3_6_STABLE/NEMOGCM }}} [[BR]][[BR]] '''1-2 Extract and install XIOS'''[[BR]][[BR]] [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!)[[BR]][[BR]] '''1-3 Compile and create NEMO executable'''[[BR]][[BR]][[BR]] 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]][[BR]] As an example, compile GYRE, with ifort on linux to create a MY_GYRE configuration:[[BR]][[BR]] {{{ cd NEMOGCM/CONFIG; ./makenemo –m ifort_linux –r GYRE -n MY_GYRE }}} [[BR]] [[BR]] '''More options:'''[[BR]][[BR]] * –n CONFIG : for configuration name, existant or new config to install[[BR]] * –m COMPILER : compiler choice (use files names in NEMOGCM/ARCH, see examples below)[[BR]] * –h help[[BR]] * –r REFCONFIG : reference configuration as first guess when installing a new one[[BR]] * –j 4 : number of processes to compile (j=0 :no compilation)[[BR]] * –d “ “ : NEMO subdirectory (not needed)[[BR]] * –t DIR : temporary directory to store libraries[[BR]] * -clean [CONFIG_NAME] : remove the Makefile and all the files created afterwards[[BR]] [[BR]] 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. 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.[[BR]][[BR]] '''Tools used during the process:'''[[BR]][[BR]] * functions.sh : bash functions used by makenemo, for instance to create the WORK directory[[BR]] * cfg.txt : text list of configurations and source directories[[BR]] * bld.cfg : FCM rules to compile[[BR]] '''Description of directories :'''[[BR]][[BR]] * ARCH : compilation option files, with format arch_compiler.fcm, the compiler name has to be provided with –m option[[BR]] * 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[[BR]][[BR]] [[BR]] = Examples:[[BR]][[BR]] Compiling GYRE, with ifort on linux to create a MY_GYRE configuration[[BR]] [[BR]] {{{ makenemo –m ifort_linux –r GYRE -n MY_GYRE }}} [[BR]] Recompile it[[BR]] [[BR]] {{{ makenemo }}} [[BR]] Now, create and compile ORCA_LIM3[[BR]] [[BR]] {{{ makenemo –n ORCA_LIM3 (and answer) }}} [[BR]] Now ORCA_LIM3_v2 based on the previous one[[BR]] [[BR]] {{{ makenemo –n ORCA_LIM3_v2 -r ORCA_LIM3 }}} [[BR]] Now, create and compile ORCA2_LIM_2_2, add ('''add_key''') and delete ('''del_key''') keys, based on ORCA2_LIM (just un example)[[BR]] [[BR]] {{{ makenemo –n ORCA2_LIM_2_2 -r ORCA2_LIM del_key "key_iomput" (and answer) }}} [[BR]] To remove a bad configuration[[BR]][[BR]] {{{ makenemo –n ORCA2_LIM_2_2 clean_config (and answer) }}}