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.
WorkingGroups/TAM/CompilationFCM – NEMO
wiki:WorkingGroups/TAM/CompilationFCM

Version 12 (modified by nicolasmartin, 6 years ago) (diff)

--

Compilation of NEMO and NEMOVAR using FCM

Last edited Timestamp?


The recommended way of compiling the NEMO/NEMOVAR version is to use FCM. FCM stands for "Flexible Configuration Management" more information can be found here http://metomi.github.io/fcm/doc/user_guide/

1) FCM configuration settings

FCM configuration settings are placed into the folder ~/fcmconfig/ with the following details:

    ~/fcmconfig/bld/machines/nemo.cfg                                   : user specific machine configuration 
    ~/fcmconfig/nemo/machines/cppkeys.CONFIG.cfg           : default ccp keys set for CONFIG
    ~/fcmconfig/src/machines/nemo.cfg                                   : code source paths  

Usually, the user only needs to add (if not there already) his machines configuration:

    - create a 'user_machine' folder into ~/fcmconfig/bld/
    - copy paste a nemo.cfg file into his folder (for instance   ~/fcmconfig/bld/linux/nemo.cfg
    - modify nemo.cfg according to user configuration 

2) Building NEMO

In ~/nemo/build/:

      ./fcmnmake.ksh -t path/to/build -c user_machine

FCM will create a folder 'nemofcm_build' in path/to/build. The user can also specify other compilation arguments (GRID, NPX and NPY for instance). The GRID default configuration is ORCA2 and NPX=NPY=1. The executable files opa.exe is placed in ~/path/to/build/nemofcm_build/build/bin/

3) Building NEMOVAR

In ~/nemovar/build/:

      ./fcmvmake.ksh -t path/to/build -c user_machine

FCM will create a folder 'nemofcm_build' in path/to/build. The user can also specify other compilation arguments (GRID, NPX and NPY for instance). The GRID default configuration is ORCA2 and NPX=NPY=1. The executable files opa.exe and nemovar.exe are placed in ~/path/to/build/nemofcm_build/build/bin/

4) Running NEMO

In ~/nemo/script/ :

      ./runnemo.ksh -t path/to/build -K user_machine -F

The "fcmnmake.ksh" script has similar arguments as the old nemomake.ksh script. The "-F" argument for "runnemo.ksh" is needed to use the FCM generated executable.

5) Running NEMOVAR

In ~/nemovar/script/ :

      ./runnemovar.ksh -t path/to/build -K user_machine -F

The "fcmnmake.ksh" script has similar arguments as the old nemomake.ksh script. The "-F" argument for "runnemovar.ksh" is needed to use the FCM generated excutable. As default, the will use the setup file: setup_testcase_3dvar_orca (see attached file). The namelist 'namtst' is set to run all adjoint routine tests.

6) Results

With the default configuration, the run results are in ~/nemovar_inner_!${grid}_!${date}_!${compile}_!${npx}x!${npy}/.

      - the run log is in nemovar.output
      - the adjoint test results are saved in adjoint_test.output_01_0000 (see exemple in attached file)

Remark: to run, nemovar code needs the direct trajectory data. Once launched, the runnemovar.ksh script is building links with 'assim_trj_*.nc' data from ~./nemo_outer_!${grid}_!${date}_!${compile}_!${npx}x!${npy}/ !

Attachments (2)

Download all attachments as: .zip