diff --git a/cfgs/GYRE_BFM/EXPREF/context_nemo.xml b/cfgs/GYRE_BFM/EXPREF/context_nemo.xml index 94a97ae8e4c03e6f649e533afde7ad03c0af668b..688a028965782564b21da193de7c639523eb353c 100644 --- a/cfgs/GYRE_BFM/EXPREF/context_nemo.xml +++ b/cfgs/GYRE_BFM/EXPREF/context_nemo.xml @@ -19,12 +19,13 @@ </variable_definition> <!-- Fields definition --> - <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> - <field_definition src="./field_def_nemo-pisces.xml"/> <!-- NEMO ocean dynamics --> + <field_definition src="./field_def_nemo-oce.xml"/> <!-- NEMO ocean dynamics --> + <field_definition src="./field_def_bfm.xml"/> <!-- BFM BGC dynamics --> <!-- Files definition --> - <file_definition src="./file_def_nemo.xml"/> <!-- NEMO ocean dynamics --> + <file_definition src="./file_def_nemo.xml"/> <!-- NEMO ocean dynamics --> + <file_definition src="./file_def_bfm.xml"/> <!-- BFM BGC dynamics --> <!-- Axis definition --> <axis_definition src="./axis_def_nemo.xml"/> diff --git a/cfgs/GYRE_BFM/EXPREF/namelist_cfg b/cfgs/GYRE_BFM/EXPREF/namelist_cfg index 260a4ce81935d97562d61d46cd5677881a381cf4..da910d7f937bbcbf239d7dc454bd9ea14ff460aa 100644 --- a/cfgs/GYRE_BFM/EXPREF/namelist_cfg +++ b/cfgs/GYRE_BFM/EXPREF/namelist_cfg @@ -19,13 +19,14 @@ !----------------------------------------------------------------------- &namrun ! parameters of the run !----------------------------------------------------------------------- - cn_exp = "GYRE" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 4320 ! last time step - nn_leapy = 30 ! Leap year calendar (1) or not (0) - nn_stock = 4320 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = 60 ! frequency of write in the output file (modulo referenced to nn_it000) - nn_istate = 0 ! output the initial state (1) or not (0) + cn_exp = "GYRE_BFM" ! experience name + nn_date0 = 20000101 ! date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) + nn_it000 = 1 ! first time step + nn_itend = 4320 ! last time step + nn_leapy = 30 ! Leap year calendar (1) or not (0) + nn_stock = 4320 ! frequency of creation of a restart file (modulo referenced to 1) + nn_write = 60 ! frequency of write in the output file (modulo referenced to nn_it000) + nn_istate = 0 ! output the initial state (1) or not (0) / !----------------------------------------------------------------------- &namcfg ! parameters of the configuration (default: user defined GYRE) @@ -49,6 +50,8 @@ ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time ! rn_Dt = 7200. ! time step for the dynamics + ! + ln_meshmask = .false. ! =T create a mesh file / !!====================================================================== @@ -245,10 +248,14 @@ !----------------------------------------------------------------------- &nammpp ! Massively Parallel Processing !----------------------------------------------------------------------- + nn_hls = 1 ! halo width (applies to both rows and columns) + nn_comm = 1 ! comm choice / !----------------------------------------------------------------------- &namctl ! Control prints (default: OFF) !----------------------------------------------------------------------- + sn_cfctl%l_runstat = .FALSE. ! switches and which areas produce reports with the proc integer settings. + ln_timing = .false. ! timing by routine write out in timing.output file / !----------------------------------------------------------------------- &namsto ! Stochastic parametrization of EOS (default: OFF) diff --git a/cfgs/GYRE_BFM/EXPREF/namelist_top_cfg b/cfgs/GYRE_BFM/EXPREF/namelist_top_cfg index 642d75718a63ec07089c39e47b95c5a42b9941b6..bb8afe8d5be4b507816177eb563e78edbdc1a6de 100644 --- a/cfgs/GYRE_BFM/EXPREF/namelist_top_cfg +++ b/cfgs/GYRE_BFM/EXPREF/namelist_top_cfg @@ -4,11 +4,14 @@ &namtrc_run ! run information !----------------------------------------------------------------------- ln_top_euler = .true. ! use Euler time-stepping for TOP + ln_rsttr = .false. / !----------------------------------------------------------------------- &namtrc ! tracers definition !----------------------------------------------------------------------- - ln_trcdta = .false. ! Initialisation from data input file (T) or not (F) + jp_bgc = 1 ! Modified runtime by BFM interface + ln_my_trc = .true. + ln_trcdta = .false. ! Initialisation from data input file (T) or not (F) ! ! ! name ! title of the field ! units ! initial data from file or not ! sn_tracer(1) = 'DUMMY ' , 'Dummy tracer ' , 'dummy-units' , .false. @@ -23,9 +26,8 @@ / !----------------------------------------------------------------------- &namtrc_adv ! advection scheme for passive tracer (default: NO selection) - ln_trcadv_fct = .true. ! FCT scheme - nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order - nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order + ln_trcadv_fct = .false. + ln_trcadv_mus = .true. !----------------------------------------------------------------------- / !----------------------------------------------------------------------- @@ -36,6 +38,7 @@ !----------------------------------------------------------------------- &namtrc_rad ! treatment of negative concentrations !----------------------------------------------------------------------- + ln_trcrad = .true. / !----------------------------------------------------------------------- &namtrc_dmp ! passive tracer newtonian damping @@ -44,6 +47,7 @@ !----------------------------------------------------------------------- &namtrc_ice ! Representation of sea ice growth & melt effects !----------------------------------------------------------------------- + nn_ice_tr = -1 / !----------------------------------------------------------------------- &namtrc_trd ! diagnostics on tracer trends ('key_trdtrc') @@ -52,6 +56,12 @@ !---------------------------------------------------------------------- &namtrc_bc ! data for boundary conditions !----------------------------------------------------------------------- + cn_dir_sbc = './' + cn_dir_cbc = './' + cn_dir_obc = './' + ln_rnf_ctl = .false. + rn_sbc_time = 86400. + rn_cbc_time = 86400. / !---------------------------------------------------------------------- &namtrc_bdy ! Setup of tracer boundary conditions diff --git a/cfgs/GYRE_BFM/EXPREF/runscript b/cfgs/GYRE_BFM/EXPREF/runscript deleted file mode 100755 index 76a8a540cc798f65da9417dce7be0bfe2d26bd82..0000000000000000000000000000000000000000 --- a/cfgs/GYRE_BFM/EXPREF/runscript +++ /dev/null @@ -1,40 +0,0 @@ -#! /bin/sh -### This is an example of a runscript for the LSF queueing system -#BSUB -a poe -#BSUB -J GYRE_BFM # Name of the job. -#BSUB -o GYRE_BFM_%J.out # Appends std output to file %J.out. -#BSUB -e GYRE_BFM_%J.err # Appends std error to file %J.out. -#BSUB -P nemo -#BSUB -q poe_short # queue -#BSUB -n 4 # Number of CPUs - -set -evx - -export MP_WAIT_MODE=poll -export MP_POLLING_INTERVAL=30000000 -export MP_SHARED_MEMORY=yes -export MP_EUILIB=us -export MP_EUIDEVICE=sn_all -export LDR_CNTRL=TEXTPSIZE=64K@STACKPSIZE=64K@DATAPSIZE=64K -export MP_TASK_AFFINITY=core - -EXP="EXP00" - -workdir="TO_BE_SET_BY_USER" -execdir=`pwd` - -if [ ! -d ${workdir} ] ; then - mkdir -p ${workdir} -fi - -cd ${workdir} -rm -rf * -# Copy files to exp folder -cp ${execdir}/opa ./opa.x -cp ${execdir}/* ./ - -# Launch the model - -mpirun.lsf opa.x - - diff --git a/cfgs/GYRE_BFM/README b/cfgs/GYRE_BFM/README deleted file mode 100644 index 72c5dd297dda415a8102dc8f66dd7a02623964ed..0000000000000000000000000000000000000000 --- a/cfgs/GYRE_BFM/README +++ /dev/null @@ -1,90 +0,0 @@ ------------------------------------------------------------------------ -Coupling with the Biogeochemical Flux Model (BFM) ------------------------------------------------------------------------ -Author: M. Vichi, BFM system team and NEMO system team -INFO HELPDESK: info@bfm-community.eu -WEB SITE: www.bfm-community.eu -REVISION DATE: October 2013 - -Please address any technical query to the BFM System Team -bfm_st@lists.cmcc.it ------------------------------------------------------------------------ - ------------------------------------------------------------------------ -What is the BFM? ------------------------------------------------------------------------ -The Biogeochemical Flux Model (BFM) is a numerical model for the -simulation of the dynamics of major biogeochemical properties -in marine ecosystems. The BFM is open source software freely available -under the GNU Public License. The model can be used in standalone mode -to simulate a 0-D system or coupled with other OGCM. -The coupling with NEMO is maintained by CMCC as part of the -NEMO system team activity - ------------------------------------------------------------------------ -How to get the BFM code ------------------------------------------------------------------------ -The code can be downloaded from http://www.bfm-community.eu after -the registration of a new user. Follow the instructions on how to -install the code. It is recommended to run the STANDALONE test cases -before using the NEMO-BFM coupled system. - ------------------------------------------------------------------------ -Compile NEMO with the BFM ------------------------------------------------------------------------ -NEMO-BFM is compiled from the BFM configuration script relying on the -NEMO FCM compilation environment. This is done to allow BFM users to -use new configurations in NEMO that are not part of the NEMO -standard distribution code. -The BFM configuration shipped with NEMO is GYRE_BFM (see next section) - -Make sure that the BFMDIR variable is defined in your environment -and define the variable NEMODIR pointing to the root of NEMO source code -It is assumed here that you have expanded the bfm in /home/user/bfm -and the root of this NEMO directory in /home/user/nemo then -and that you have already adjusted the appropriate ARCHFILE that -is used for the NEMO compilation with makenemo in ../../ARCH - -Execute the following commands: ->> export BFMDIR=/home/user/bfm ->> export NEMODIR=/home/user/nemo ->> cd $BFMDIR/build ->> ./bfm_config.sh -gcd -p GYRE_BFM - -The script will generate (-g) the BFM code, then launch -makenemo for compilation (-c) and create the run directory -(-d) in $BFMDIR/run. - -to get information on how to use the BFM configuration script run ->> ./bfm_config.sh -h - ------------------------------------------------------------------------ -Standard test case ------------------------------------------------------------------------ -The distributed standard test case is GYRE_BFM, a version of GYRE -with a full-blown BFM. It is a demnstration simulation and it is not -meant to produce any published result. -GYRE_BFM runs with analytical input data only. -The namelists for the BFM are not distributed with NEMO but are -generated directly by the BFM, in directory $BFMDIR/run/gyre_bfm. -The generation of the BFM namelist also copy the required NEMO -namelist and namelist_top files to this directory. -This is why there are no namelist files found in the standard -run directory $NEMODIR/NEMOGCM/CONFIG/GYRE_BFM/EXP00 - -Note for expert users: -If a user prefers to work in the NEMO directory than she has to -copy the generated namelists there ->> cp $BFMDIR/run/gyre_bfm/* $NEMODIR/NEMOGCM/CONFIG/GYRE_BFM/EXP00 -Once the BFM code has been generated the first time, the code can be -also rebuilt with the standard NEMO command: ->> ./makenemo -n GYRE_BFM -m ARCHFILE -e $BFMDIR/src/nemo - ------------------------------------------------------------------------ -Other examples ------------------------------------------------------------------------ -Other couplings with NEMO are available in $BFMDIR/build/configurations. -Run the command ->> ./bfm_config.sh -P -to get a list of available presets -Please refer to the README file in each directory for more information. diff --git a/cfgs/GYRE_BFM/README.md b/cfgs/GYRE_BFM/README.md new file mode 100644 index 0000000000000000000000000000000000000000..298e6134e41bca3478a64984c2ef661edcc6d747 --- /dev/null +++ b/cfgs/GYRE_BFM/README.md @@ -0,0 +1,50 @@ +# NEMO coupling with the Biogeochemical Flux Model (BFM) + +## What is the BFM? + +The Biogeochemical Flux Model (BFM) is a numerical model for the simulation of the dynamics of major biogeochemical properties in marine ecosystems (see www.bfm-community.eu). BFM is open source software freely available under the GNU Public License. +The model can be used in standalone mode to simulate a 0-D system or coupled with other OGCM. +The coupling with NEMO is maintained by CMCC as part of the NEMO System Team activity. + +## How to get the BFM code + +Access to the code is provided trough the BFM website http://www.bfm-community.eu along with instructions on how to install and use it within the Documentation `Quick Guide`. +It is recommended to run the STANDALONE test cases before using the NEMO-BFM coupled system. + +## Compile NEMO with BFM + +NEMO-BFM is compiled from the BFM configuration script exploiting the NEMO FCM compilation environment. This is done to allow BFM users to create new configurations in NEMO that are not part of the NEMO standard distribution code. +The BFM configuration shipped with NEMO is `GYRE_BFM` (described in next section). + +Make sure to define in your shell enviroment the following variables with code root path: +- `BFMDIR`, pointing to the root of BFM source code +- `NEMODIR`, pointing to the root of BFM source code + +Check that the appropriate ARCHFILE used for the NEMO compilation with makenemo is associated to the ARCH field within the configuration file of the selected BFM preset, e.g. `$BFMDIR/build/configurations/GYRE_BFM/configuration` + +Here below an example of the commands sequence for `GYRE_BFM` preset (-p): +``` +$> export BFMDIR=/home/user/bfm +$> export NEMODIR=/home/user/nemo +$> cd $BFMDIR/build +$> ./bfm_configure.sh -gcd -p GYRE_BFM +``` + +The script will generate (-g) the BFM code, then launch makenemo for compilation (-c) and create the run directory (-d) in $BFMDIR/run. + +To get information on how to use the BFM configuration script execute the following: +```$> ./bfm_configure.sh -h``` + +## GYRE_BFM standard configuration + +The distributed standard test case is GYRE_BFM, a version of GYRE with a full-blown BFM. +It is a demonstration simulation and it is not meant to produce any published result. GYRE_BFM runs with analytical input data only. +The namelists for the BFM are not distributed with NEMO but are generated directly by the BFM, in directory `$BFMDIR/run/gyre_bfm`. +The generation of the BFM namelist also copy the required NEMO namelist and namelist_top files to this directory. +This is why there are no namelist files found in the standard run directory `$NEMODIR/cfgs/GYRE_BFM/EXPREF` + +Please refer to the README file in the preset directory for more information. + +## Contacts + +Please visit www.bfm-community.eu for further informations and address any technical query to the BFM System Team `bfm_st@lists.cmcc.it` diff --git a/cfgs/GYRE_BFM/cpp_GYRE_BFM.fcm b/cfgs/GYRE_BFM/cpp_GYRE_BFM.fcm index 9c93fc8fa4b467e84e0543ffe6d4dc633f54bcf2..188b7d7a06ff0a05eb659e9162e7baa0b72b75e1 100644 --- a/cfgs/GYRE_BFM/cpp_GYRE_BFM.fcm +++ b/cfgs/GYRE_BFM/cpp_GYRE_BFM.fcm @@ -1,2 +1,2 @@ -bld::tool::fppkeys key_top key_my_trc key_xios key_linssh +bld::tool::fppkeys key_top key_xios key_linssh inc $BFMDIR/src/nemo/bfm.fcm