New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Users/ModelInstall (diff) – NEMO

Changes between Version 44 and Version 45 of Users/ModelInstall


Ignore:
Timestamp:
2017-05-17T15:56:48+02:00 (7 years ago)
Author:
nicolasmartin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Users/ModelInstall

    v44 v45  
    1717== 1. Extract the NEMO code 
    1818 
    19 Using your [[span(my_login, style=color: #BB4444 )]] /pw registered here: 
     19Using your account registered here ([[span('my_login', style=color: #BB4444 )]] with password) 
    2020{{{#!sh 
    2121svn --username 'mylogin' co http://forge.ipsl.jussieu.fr/nemo/svn/branches/2015/nemo_v3_6_STABLE/NEMOGCM 
    2222}}} 
    2323 
    24 === Description of directory tree 
     24=== Description of `NEMOGCM` directory tree 
    2525 
    2626The image below shows the directory tree: 
     
    7676  }}} 
    7777}}} 
     78 
    7879== 2. Extract and install XIOS 
    7980 
     
    8687   * key_iomput 
    8788   * key_mpp_mpi (if you want to use "detached mode") 
    88    * key_xios2 if you wish to use XIOS2 in nemo_v3_6_STABLE. XIOS2 is the only version available in the trunk. 
     89   * key_xios2 if you wish to use XIOS2 in nemo_v3_6_STABLE, it is the only version available in the trunk. 
    8990 
    90 == 3. Setup your ARCH file 
     91== 3. Setup your architecture configuration file 
    9192 
    92 All compiler options in NEMO are controlled using files in NEMOGCM/ARCH/arch-[[span(my_arch, style=color: #BB4444 )]].fcm where [[span(my_arch, style=color: #BB4444 )]] is the name of your architecture FCM file.\\ 
    93 It is recommended to copy and rename an ARCH file from an architecture similar to your own architecture. You will need to set appropriate values for all of the variables in the file. The FCM variables `%NCDF_HOME`, `%HDF5_HOME` and `%XIOS_HOME` should be set to the installation directories used above. 
    94 [[IncludeSource(/branches/2015/nemo_v3_6_STABLE/NEMOGCM/ARCH/arch-macport_osx.fcm, start=42, end=45, mimetype=application/x-shellscript, line_numbers=0)]]  
     93All compiler options in NEMO are controlled using files in `NEMOGCM/ARCH/arch-`[[span('my_arch', style=color: #BB4444 )]]`.fcm` where [[span('my_arch', style=color: #BB4444 )]] is the name of the computing architecture.\\ 
     94It is recommended to copy and rename an configuration file from an architecture similar to your owns. You will need to set appropriate values for all of the variables in the file. In particular the FCM variables `%NCDF_HOME`, `%HDF5_HOME` and `%XIOS_HOME` should be set to the installation directories used for XIOS installation. 
     95 
     96[[IncludeSource(/branches/2015/nemo_v3_6_STABLE/NEMOGCM/ARCH/arch-macport_osx.fcm, start=42, end=45, mimetype=application/x-shellscript, line_numbers=0)]] 
     97 
    9598== 4. Compile and create NEMO executable 
    9699 
    97 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]] 
    98 As an example, compile GYRE with [[span(my_arch, style=color: #BB4444 )]] to create a [[span(MY_GYRE, style=color: #BB4444 )]] configuration: 
     100The 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.[[BR]] 
     101As an example, compile GYRE with [[span('my_arch', style=color: #BB4444 )]] to create a [[span('MY_GYRE', style=color: #BB4444 )]] configuration: 
     102 
    99103{{{#!sh 
    100 cd NEMOGCM/CONFIG; ./makenemo –m 'my_arch' –r GYRE -n 'MY_GYRE' 
     104   cd NEMOGCM/CONFIG; ./makenemo –m 'my_arch' –r GYRE -n 'MY_GYRE' 
    101105}}} 
    102106 
    103 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`) 
    104  
    105  
    106 The image below shows the directory tree characterized by [[span("MY_CONFIG", style=color: #BB4444 )]] new 'branch'. All directories and fundamental files created by makenemo are highlighted in green.  
    107 In particular, even if not shown in the figure, `WORK` folder contains links to the compiled routines. 
     107The image below shows the structure and some content of [[span("MY_CONFIG", style=color: #BB4444 )]] directory from the  launching of the configuration creation ([[span(directories and fundamental files created by makenemo, style=color:green)]]). 
    108108 
    109109{{{#!table style="border: none; margin: auto;" 
     
    117117      }}} 
    118118      {{{#!td 
    119          Symbolic links to all unpreprocessed routines considered in the configuration 
     119         Folder with the symbolic links to all unpreprocessed routines considered in the configuration 
    120120      }}} 
    121121      |- 
     
    144144}}} 
    145145 
     146After 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`). 
     147 
    146148=== More options 
    147149 
     
    150152=== Default behaviour 
    151153 
    152 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]] 
    153 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. 
     154* 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.[[BR]] 
     155* If `–n` option is not specified, `ORCA2_LIM` is the default configuration used. 
    154156 
    155157=== Tools used during the process 
     
    162164 
    163165[[IncludeSource(/branches/2015/nemo_v3_6_STABLE/NEMOGCM/CONFIG/makenemo, start=145, end=166, mimetype=application/x-shellscript, line_numbers=0)]] 
     166 
    164167== 5. Running the model 
    165168 
    166169Once `makenemo` has run successfully, the `opa` executable is available in `CONFIG/"MY_CONFIG"/EXP00`[[BR]] 
    167 For the reference configurations, the `EXP00`directory also contains the small ASCII input file (namelists, *xml files for the IOs...). If the configuration also needs NetCDF input files, this should be downloaded into the `EXP00` directory from the corresponding tarfile, see [wiki:Users/ReferenceConfigurations] 
     170For 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 [wiki:Users/ReferenceConfigurations] 
    168171 
    169172{{{#!sh 
    170 cd CONFIG/'MY_CONFIG'/EXP00 
    171 mpirun -n $NPROCS ./opa    # $NPROCS is the number of processes ; mpirun is your MPI wrapper 
     173   cd 'MY_CONFIG'/EXP00 
     174   mpirun -n $NPROCS ./opa    # $NPROCS is the number of processes ; mpirun is your MPI wrapper 
    172175}}} 
    173176 
     
    175178 
    176179For a given configuration (here called [[span(MY_CONFIG, style=color: #BB4444 )]]), the list of active CPP keys can be found in  
     180 
    177181{{{#!sh 
    178 NEMOGCM/CONFIG/'MYCONFIG'/cpp_'MY_CONFIG'.fcm 
     182   NEMOGCM/CONFIG/'MYCONFIG'/cpp_'MY_CONFIG'.fcm 
    179183}}} 
    180184 
    181 This text file can be edited to change the list of active CPP keys. Once changed, one needs to recompile NEMO using `makenemo` command in order for this change to be taken in account. 
     185This 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.