Skip to content
Snippets Groups Projects
Commit 17d19147 authored by Guillaume Samson's avatar Guillaume Samson :snowman2:
Browse files

Merge branch 'update_gyre_bfm_configuration' into 'branch_4.2'

parent fca170ae
No related branches found
No related tags found
No related merge requests found
......@@ -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"/>
......
......@@ -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)
......
......@@ -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
......
#! /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
-----------------------------------------------------------------------
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.
# 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`
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment