Changeset 10323 for NEMO/branches/UKMO/dev_r9950_GO6_mixing/INSTALL.rst
- Timestamp:
- 2018-11-16T16:13:30+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/dev_r9950_GO6_mixing/INSTALL.rst
r9596 r10323 1 Install the modelling framework (NEMO and XIOS) 1 ********************* 2 Install the framework 3 ********************* 2 4 3 Last edition: 2018-02-14 21:32 CET by nicolasmartin 5 .. contents:: 6 :local: 7 8 Dependencies 9 ============ 4 10 5 Extract the NEMO code 6 Description of NEMOGCM directory tree 7 Extract and install XIOS 8 Setup your architecture configuration file 9 Compile and create NEMO executable 10 More options 11 Default behaviour 12 Tools used during the process 13 Examples 14 Running the model 15 Viewing and changing list of active CPP keys 11 | The NEMO source code is written in Fortran 95 and part of its dependencies are already included (``./ext``): 12 AGRIF preprocessing program "conv", FCM build system and IOIPSL library for outputs. 13 | And some Perl 5, Fortran compiler (ifort, gfortran, pgfortran, ...), MPI library (Open MPI or MPICH) 16 14 17 Extract the NEMO code 15 But The following dependencies should be from the official repositories of your Linux distribution but 16 you will probably have to compile them from source for enabling parallel I/O support. 18 17 19 Using your account registered here ('my_login' with password) 18 - `HDF5`_ (C library) 19 - `NetCDF`_ (C and Fortran libraries) 20 21 Extract the source code 22 ======================= 23 24 Download the source code 25 ------------------------ 20 26 21 27 .. code:: console 22 svn --username 'mylogin' co http://forge.ipsl.jussieu.fr/nemo/svn/branches/2015/nemo_v3_6_STABLE/NEMOGCM23 28 24 Description of NEMOGCM directory tree 29 $ svn co http://forge.ipsl.jussieu.fr/nemo/svn/NEMO/releases/release-4.0 25 30 26 The image below shows the directory tree: 31 Description of directory tree 32 ----------------------------- 27 33 28 simple table: 29 ARCH Compilation option files, with format arch_compiler.fcm, the compiler name has to be provided with –m option 30 CONFIG All configurations and a cpp.fcm file containing the list of CPP keys to each configuration 31 EXTERNAL Package to implement an embedded model (AGRIF) 32 NEMO FORTRAN source codes in several sub-directories 33 SETTE Package to make tests to ensure the reproducibility and restartability of the code after changes 34 TOOLS Useful softwares to different utilities 34 +-----------+------------------------------------------------------------+ 35 | Folder | Purpose | 36 +===========+============================================================+ 37 | ``arch`` | Settings (per architecture-compiler pair) | 38 +-----------+------------------------------------------------------------+ 39 | ``cfgs`` | :doc:`Reference configurations <configurations>` | 40 +-----------+------------------------------------------------------------+ 41 | ``doc`` | - ``latex``: reference manuals for |OPA|, |SI3| & |TOP| | 42 | | - ``namelists``: k start guide | 43 | | - ``rst``: quick start guide | 44 +-----------+------------------------------------------------------------+ 45 | ``ext`` | Dependencies included (AGRIF, FCM & IOIPSL) | 46 +-----------+------------------------------------------------------------+ 47 | ``mk`` | Building routines | 48 +-----------+------------------------------------------------------------+ 49 | ``src`` | Modelling routines | 50 | | | 51 | | - ``ICE``: |SI3| for sea ice | 52 | | - ``NST``: AGRIF for embedded zooms | 53 | | - ``OCE``: |OPA| for ocean dynamics | 54 | | - ``MBG``: |TOP| for tracers | 55 +-----------+------------------------------------------------------------+ 56 | ``tests`` | :doc:`Test cases <test_cases>` (unsupported) | 57 +-----------+------------------------------------------------------------+ 58 | ``tools`` | :doc:`Utilities <tools>` to [pre|post]process data | 59 +-----------+------------------------------------------------------------+ 35 60 36 61 Extract and install XIOS 62 ======================== 37 63 38 64 Diagnostic outputs from NEMO are handled by the third party XIOS library. … … 42 68 43 69 When you compile NEMO you will need to specify the following CPP keys: 44 70 45 71 key_iomput 46 72 key_mpp_mpi (if you want to run with multiple processes and/or use "detached mode" for the IOs system XIOS) … … 48 74 49 75 Setup your architecture configuration file 76 ========================================== 50 77 51 78 All compiler options in NEMO are controlled using files in NEMOGCM/ARCH/arch-'my_arch'.fcm where 'my_arch' is the name of the computing architecture. … … 58 85 59 86 Compile and create NEMO executable 87 ================================== 60 88 61 89 The main script to compile and create executable is called makenemo and located in the CONFIG directory, it is used to identify the routines you need from the source code, to build the makefile and run it. 62 90 As an example, compile GYRE with 'my_arch' to create a 'MY_GYRE' configuration: 63 91 64 cd NEMOGCM/CONFIG; ./makenemo –m 'my_arch' –r GYRE -n 'MY_GYRE' 92 .. code-block:: sh 93 94 ./makenemo –m 'my_arch' –r GYRE -n 'MY_GYRE' 65 95 66 96 The image below shows the structure and some content of "MY_CONFIG" directory from the launching of the configuration creation (directories and fundamental files created by makenemo). 67 97 68 98 +------------+----------------------------------------------------+ 99 | Folder | Purpose | 100 +============+====================================================+ 101 | ``BLD`` | | 102 +------------+----------------------------------------------------+ 103 | ``EXP00`` | | 104 +------------+----------------------------------------------------+ 105 | ``EXPREF`` | | 106 +------------+----------------------------------------------------+ 107 | ``MY_SRC`` | | 108 +------------+----------------------------------------------------+ 109 | ``WORK`` | | 110 +------------+----------------------------------------------------+ 69 111 70 WORK 71 72 73 74 Folder with the symbolic links to all unpreprocessed routines considered in the configuration 75 76 BLD 77 78 79 80 Compilation folder (executables, headers files, libraries, preprocessed routines, flags, …) 81 82 EXP00 83 84 85 86 Computation folder for running the model (namelists, xml, executables and inputs-outputs) 87 88 MY_SRC 89 90 91 92 Folder intended to contain your customized routines (modified from initial ones or new entire routines) 112 Folder with the symbolic links to all unpreprocessed routines considered in the configuration 113 Compilation folder (executables, headers files, libraries, preprocessed routines, flags, …) 114 Computation folder for running the model (namelists, xml, executables and inputs-outputs) 115 Folder intended to contain your customised routines (modified from initial ones or new entire routines) 93 116 94 117 After successful execution of makenemo command, the executable called opa is created in the EXP00 directory (in the example above, the executable is created in CONFIG/MY_GYRE/EXP00). 95 118 More options 96 119 97 echo "Usage : "${b_n} \ 98 " [-h] [-n name] [-m arch] [-d "dir1 dir2"] [-r conf] [-u conf] [-s Path] [-e Path] [-j No] [-v No] [-k 0/1]"; 99 echo " -h : help"; 100 echo " -h institute : specific help for consortium members"; 101 echo " -n name : config name, [-n help] to list existing configurations"; 102 echo " -m arch : choose compiler, [-m help] to list existing compilers"; 103 echo " -d dir : choose NEMO sub-directories"; 104 echo " -r conf : choose reference configuration"; 105 echo " -u conf : choose an unsupported (external) configuration"; 106 echo " -s Path : choose alternative location for NEMO main directory"; 107 echo " -e Path : choose alternative location for MY_SRC directory"; 108 echo " -j No : number of processes used to compile (0=nocompilation)"; 109 echo " -v No : set verbosity level for compilation [0-3]"; 110 echo " -k 0/1 : used cpp keys check (default = 1 -> check activated)"; 111 echo " -t dir : temporary directory for compilation" 112 echo ""; 120 .. 121 .. literalinclude:: 113 122 114 123 Default behaviour 124 ----------------- 115 125 116 126 At the first use, you need the -m option to specify the architecture configuration file (compiler and its options, routines and libraries to include), then for next compilation, it is assumed you will be using the same compiler. … … 118 128 119 129 Tools used during the process 130 ----------------------------- 120 131 121 132 functions.sh : bash functions used by makenemo, for instance to create the WORK directory … … 124 135 125 136 Examples 137 -------- 126 138 127 139 echo "Example to install a new configuration MY_CONFIG"; … … 149 161 150 162 Running the model 163 ================= 151 164 152 Once makenemo has run successfully, the opa executable is available in CONFIG/"MY_CONFIG"/EXP00153 For the reference configurations, the EXP00 folder also contains the initial input files (namelists, *xml files for the IOs…). If the configuration also needs NetCDF input files, this should be downloaded here from the corresponding tar file, see Users/Reference Configurations165 Once makenemo has run successfully, the opa executable is available in ``CONFIG/MY_CONFIG/EXP00`` 166 For the reference configurations, the EXP00 folder also contains the initial input files (namelists, \*xml files for the IOs…). If the configuration also needs NetCDF input files, this should be downloaded here from the corresponding tar file, see Users/Reference Configurations 154 167 155 168 cd 'MY_CONFIG'/EXP00 … … 157 170 158 171 Viewing and changing list of active CPP keys 172 ============================================ 159 173 160 For a given configuration (here called MY_CONFIG), the list of active CPP keys can be found in 174 For a given configuration (here called MY_CONFIG), the list of active CPP keys can be found in:: 161 175 162 176 NEMOGCM/CONFIG/'MYCONFIG'/cpp_'MY_CONFIG'.fcm 163 177 164 178 This text file can be edited to change the list of active CPP keys. Once changed, one needs to recompile opa executable using makenemo command in order for this change to be taken in account. 179 180 .. _HDF5: http://www.hdfgroup.org/downloads/hdf5 181 .. _NetCDF: http://www.unidata.ucar.edu/downloads/netcdf
Note: See TracChangeset
for help on using the changeset viewer.