= Compilation of NEMO and NEMOVAR using FCM = Last edited [[Timestamp]] [[PageOutline]] ---- 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}/ !