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

Merge branch '41-cpl_oasis-testcase-outdated' into 'branch_4.2'

parent e3e3786b
No related branches found
No related tags found
No related merge requests found
......@@ -15,7 +15,7 @@ function ncmdn { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.s
## Variables which may need to be adapted to your experiment:
##
# RUNDIR = directory where the test case is executed: contains all outputs
RUNDIR=/gpfswork/rech/omr/romr001/OUT/CPLTESTCASE/2020-03-31120816
RUNDIR=`pwd`
# NB_NEMO_IT = expected total number of NEMO iterations
NB_NEMO_IT=160
# NB_OASIS_OUTFILES = number of debug.root.0* OASIS output files
......
......@@ -10,9 +10,10 @@
<variable_definition>
<variable id="info_level" type="int">10</variable>
<variable id="using_server" type="bool">false</variable>
<variable id="using_server" type="bool">true</variable>
<variable id="using_oasis" type="bool">true</variable>
<variable id="oasis_codes_id" type="string" >oceanx</variable>
<variable id="call_oasis_enddef" type="bool">false</variable>
</variable_definition>
</context>
......
#!/bin/bash
#!/usr/bin/env bash
###################################
## Definitions for batch system
#SBATCH -A omr@cpu # Accounting information
......@@ -11,10 +12,12 @@
#SBATCH --output=cpltestcase_%j # Name of output listing file
#SBATCH --error=cpltestcase_%j # Name of error listing file (the same)
###################################
set -x
ulimit -s unlimited
##
## CONFIG_DIR is submission directory
##
CONFIG_DIR=${SLURM_SUBMIT_DIR}
CONFIG_DIR=${SLURM_SUBMIT_DIR:-$(pwd)}
#
cd ${CONFIG_DIR}
pwd
......@@ -52,6 +55,7 @@ done
##
cp $CONFIG_DIR/nemo nemo.exe || exit 5
cp $TOYATM_DIR/toyatm.exe . || exit 5
cp $XIOS_DIR/bin/xios_server.exe . || exit 5
##
## Get script generating summary report
cp $CONFIG_DIR/gen_report.sh .
......@@ -62,12 +66,13 @@ echo '(3) Prepare launch of the run'
echo '----------------'
export MPIRUN="srun --mpi=pmi2 --cpu-bind=cores -K1"
NB_PROCS_NEMO=28
NB_PROCS_OASIS=1
NB_PROCS_TOYATM=1
NB_PROCS_XIOS=1
date
touch ./run_file
echo 0-27 ./nemo.exe >>./run_file
echo 28 ./toyatm.exe >>./run_file
echo 29 ./xios_server.exe >>./run_file
echo run_file
cat ./run_file
##
......
......@@ -83,8 +83,9 @@
! Type of air-sea fluxes
ln_cpl = .true. ! atmosphere coupled formulation ( requires key_oasis3 )
! Sea-ice :
nn_ice = 2 ! =2 or 3 automatically for SI3 or CICE ("key_si3" or "key_cice")
! except in AGRIF zoom where it has to be specified
nn_ice = 2 ! =0 no ice boundary condition
! ! =1 use observed ice-cover ( => fill namsbc_iif )
! ! =2 or 3 for SI3 and CICE, respectively
! Misc. options of sbc :
ln_traqsr = .true. ! Light penetration in the ocean (T => fill namtra_qsr)
ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr)
......@@ -92,15 +93,6 @@
nn_fwb = 2 ! FreshWater Budget:
! ! =2 annual global mean of e-p-r set to zero
ln_wave = .false. ! Activate coupling with wave (T => fill namsbc_wave)
ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => ln_wave=.true. & fill namsbc_wave)
ln_sdw = .false. ! Read 2D Surf Stokes Drift & Computation of 3D stokes drift (T => ln_wave=.true. & fill namsbc_wave)
nn_sdrift = 0 ! Parameterization for the calculation of 3D-Stokes drift from the surface Stokes drift
! ! = 0 Breivik 2015 parameterization: v_z=v_0*[exp(2*k*z)/(1-8*k*z)]
! ! = 1 Phillips: v_z=v_o*[exp(2*k*z)-beta*sqrt(-2*k*pi*z)*erfc(sqrt(-2*k*z))]
! ! = 2 Phillips as (1) but using the wave frequency from a wave model
ln_tauwoc = .false. ! Activate ocean stress modified by external wave induced stress (T => ln_wave=.true. & fill namsbc_wave)
ln_tauw = .false. ! Activate ocean stress components from wave model
ln_stcor = .false. ! Activate Stokes Coriolis term (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave)
/
!-----------------------------------------------------------------------
&namsbc_blk ! namsbc_blk generic Bulk formula (ln_blk =T)
......@@ -112,41 +104,41 @@
!___________!_________________________!___________________!___________!_____________!________!___________!______________________________________!__________!_______________!
! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights filename ! rotation ! land/sea mask !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename !
sn_wndi = 'u_10.15JUNE2009_fill' , 6. , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bicubic_noc.nc' , 'Uwnd' , ''
sn_wndj = 'v_10.15JUNE2009_fill' , 6. , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bicubic_noc.nc' , 'Vwnd' , ''
sn_qsr = 'ncar_rad.15JUNE2009_fill' , 24. , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_qlw = 'ncar_rad.15JUNE2009_fill' , 24. , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_tair = 't_10.15JUNE2009_fill' , 6. , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_humi = 'q_10.15JUNE2009_fill' , 6. , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_prec = 'ncar_precip.15JUNE2009_fill', -1. , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_snow = 'ncar_precip.15JUNE2009_fill', -1. , 'SNOW' , .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_slp = 'slp.15JUNE2009_fill' , 6. , 'SLP' , .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , ''
sn_wndi = 'u_10.15JUNE2009_fill' , 6. , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_orca2_bicub' , 'Uwnd' , ''
sn_wndj = 'v_10.15JUNE2009_fill' , 6. , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_orca2_bicub' , 'Vwnd' , ''
sn_qsr = 'ncar_rad.15JUNE2009_fill' , 24. , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
sn_qlw = 'ncar_rad.15JUNE2009_fill' , 24. , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
sn_tair = 't_10.15JUNE2009_fill' , 6. , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
sn_humi = 'q_10.15JUNE2009_fill' , 6. , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
sn_prec = 'ncar_precip.15JUNE2009_fill', -1. , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
sn_snow = 'ncar_precip.15JUNE2009_fill', -1. , 'SNOW' , .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
sn_slp = 'slp.15JUNE2009_fill' , 6. , 'SLP' , .false. , .true. , 'yearly' , 'weights_core2_orca2_bilin' , '' , ''
/
!-----------------------------------------------------------------------
&namsbc_cpl ! coupled ocean/atmosphere model ("key_oasis3")
!-----------------------------------------------------------------------
nn_cplmodel = 1 ! Maximum number of models to/from which NEMO is potentially sending/receiving data
ln_usecplmask = .false. ! use a coupling mask file to merge data received from several models
! ! -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel)
nn_cats_cpl = 5 ! Number of sea ice categories over which coupling is to be carried out (if not 1)
nn_cplmodel = 1 ! Maximum number of models to/from which NEMO is potentially sending/receiving data
ln_usecplmask = .false. ! use a coupling mask file to merge data received from several models
! ! -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel)
ln_scale_ice_flux = .false. ! use ice fluxes that are already "ice weighted" ( i.e. multiplied ice concentration)
nn_cats_cpl = 5 ! Number of sea ice categories over which coupling is to be carried out (if not 1)
!_____________!__________________________!____________!_____________!______________________!________!
! ! description ! multiple ! vector ! vector ! vector !
! ! ! categories ! reference ! orientation ! grids !
!*** send ***
!! sn_snd_temp = 'weighted oce and ice' , 'no' , '' , '' , ''
sn_snd_temp = 'mixed oce-ice' , 'no' , '' , '' , ''
sn_snd_ttilyr = 'none' , 'no' , '' , '' , ''
sn_snd_alb = 'none' , 'no' , '' , '' , ''
sn_snd_thick = 'none' , 'no' , '' , '' , ''
sn_snd_ifrac = 'none' , 'no' , '' , '' , ''
sn_snd_crt = 'none' , 'no' , 'spherical' , 'eastward-northward' , 'T'
sn_snd_co2 = 'none' , 'no' , '' , '' , ''
sn_snd_cond = 'none' , 'no' , '' , '' , ''
sn_snd_mpnd = 'none' , 'no' , '' , '' , ''
sn_snd_sstfrz = 'none' , 'no' , '' , '' , ''
sn_snd_crtw = 'none' , 'no' , '' , '' , 'U,V'
sn_snd_ifrac = 'none' , 'no' , '' , '' , ''
sn_snd_wlev = 'none' , 'no' , '' , '' , ''
sn_snd_cond = 'none' , 'no' , '' , '' , ''
sn_snd_thick1 = 'none' , 'no' , '' , '' , ''
sn_snd_mpnd = 'none' , 'no' , '' , '' , ''
sn_snd_sstfrz = 'none' , 'no' , '' , '' , ''
sn_snd_ttilyr = 'none' , 'no' , '' , '' , ''
!*** receive ***
sn_rcv_w10m = 'none' , 'no' , '' , '' , ''
sn_rcv_taumod = 'none' , 'no' , '' , '' , ''
......@@ -157,22 +149,25 @@
sn_rcv_emp = 'conservative' , 'no' , '' , '' , ''
sn_rcv_rnf = 'none' , 'no' , '' , '' , ''
sn_rcv_cal = 'none' , 'no' , '' , '' , ''
sn_rcv_icb = 'none' , 'no' , '' , '' , ''
sn_rcv_isf = 'none' , 'no' , '' , '' , ''
sn_rcv_iceflx = 'none' , 'no' , '' , '' , ''
sn_rcv_co2 = 'none' , 'no' , '' , '' , ''
sn_rcv_hsig = 'none' , 'no' , '' , '' , ''
sn_rcv_phioc = 'none' , 'no' , '' , '' , ''
sn_rcv_sdrfx = 'none' , 'no' , '' , '' , ''
sn_rcv_sdrfy = 'none' , 'no' , '' , '' , ''
sn_rcv_wper = 'none' , 'no' , '' , '' , ''
sn_rcv_wnum = 'none' , 'no' , '' , '' , ''
sn_rcv_wfreq = 'none' , 'no' , '' , '' , ''
sn_rcv_tauwoc = 'none' , 'no' , '' , '' , ''
sn_rcv_tauw = 'none' , 'no' , '' , '' , ''
sn_rcv_wdrag = 'none' , 'no' , '' , '' , ''
sn_rcv_ts_ice = 'none' , 'no' , '' , '' , ''
sn_rcv_iceflx = 'none' , 'no' , '' , '' , ''
sn_rcv_mslp = 'none' , 'no' , '' , '' , ''
sn_rcv_ts_ice = 'none' , 'no' , '' , '' , ''
sn_rcv_isf = 'none' , 'no' , '' , '' , ''
sn_rcv_icb = 'none' , 'no' , '' , '' , ''
sn_rcv_hsig = 'none' , 'no' , '' , '' , 'T'
sn_rcv_phioc = 'none' , 'no' , '' , '' , 'T'
sn_rcv_sdrfx = 'none' , 'no' , '' , '' , 'T'
sn_rcv_sdrfy = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wper = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wnum = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wstrf = 'none' , 'no' , '' , '' , 'T'
sn_rcv_wdrag = 'none' , 'no' , '' , '' , 'T'
sn_rcv_charn = 'none' , 'no' , '' , '' , 'T'
sn_rcv_taw = 'none' , 'no' , '' , '' , 'U,V'
sn_rcv_bhd = 'none' , 'no' , '' , '' , 'T'
sn_rcv_tusd = 'none' , 'no' , '' , '' , 'T'
sn_rcv_tvsd = 'none' , 'no' , '' , '' , 'T'
/
!-----------------------------------------------------------------------
&namtra_qsr ! penetrative solar radiation (ln_traqsr =T)
......@@ -365,6 +360,7 @@
!-----------------------------------------------------------------------
ln_dynadv_vec = .true. ! vector form - 2nd centered scheme
nn_dynkeg = 0 ! grad(KE) scheme: =0 C2 ; =1 Hollingsworth correction
ln_dynadv_cen2 = .false. ! flux form - 2nd order centered scheme
/
!-----------------------------------------------------------------------
&namdyn_vor ! Vorticity / Coriolis scheme (default: NO selection)
......@@ -424,27 +420,27 @@
! ! = 2 first vertical derivative of mixing length bounded by 1
! ! = 3 as =2 with distinct dissipative an mixing length scale
nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to NIWs
! = 0 none ; = 1 add a tke source below the ML
! = 2 add a tke source just at the base of the ML
! = 3 as = 1 applied on HF part of the stress (ln_cpl=T)
rn_eice = 0 ! below sea ice: =0 ON ; =4 OFF when ice fraction > 1/4
! ! = 0 none ; = 1 add a tke source below the ML
! ! = 2 add a tke source just at the base of the ML
! ! = 3 as = 1 applied on HF part of the stress (ln_cpl=T)
ln_mxhsw = .false. ! surface mixing length scale = F(wave height)
/
!-----------------------------------------------------------------------
&namzdf_iwm ! internal wave-driven mixing parameterization (ln_zdfiwm =T)
!-----------------------------------------------------------------------
nn_zpyc = 2 ! pycnocline-intensified dissipation scales as N (=1) or N^2 (=2)
ln_mevar = .true. ! variable (T) or constant (F) mixing efficiency
ln_tsdiff = .true. ! account for differential T/S mixing (T) or not (F)
cn_dir = './' ! root directory for the iwm data location
!___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________!
! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights filename ! rotation ! land/sea mask !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename !
sn_mpb = 'mixing_power_bot' , -12 , 'field' , .false. , .true. , 'yearly' , '' , '' , ''
sn_mpp = 'mixing_power_pyc' , -12 , 'field' , .false. , .true. , 'yearly' , '' , '' , ''
sn_mpc = 'mixing_power_cri' , -12 , 'field' , .false. , .true. , 'yearly' , '' , '' , ''
sn_dsb = 'decay_scale_bot' , -12 , 'field' , .false. , .true. , 'yearly' , '' , '' , ''
sn_dsc = 'decay_scale_cri' , -12 , 'field' , .false. , .true. , 'yearly' , '' , '' , ''
cn_dir = './' ! root directory for the iwm data location
!___________!_________________________!___________________!_____________!_____________!________!___________!__________________!__________!_______________!
! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights filename ! rotation ! land/sea mask !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename !
sn_mpb = 'zdfiwm_forcing_orca2' , -12. , 'power_bot' , .false. , .true. , 'yearly' , '' , '' , ''
sn_mpc = 'zdfiwm_forcing_orca2' , -12. , 'power_cri' , .false. , .true. , 'yearly' , '' , '' , ''
sn_mpn = 'zdfiwm_forcing_orca2' , -12. , 'power_nsq' , .false. , .true. , 'yearly' , '' , '' , ''
sn_mps = 'zdfiwm_forcing_orca2' , -12. , 'power_sho' , .false. , .true. , 'yearly' , '' , '' , ''
sn_dsb = 'zdfiwm_forcing_orca2' , -12. , 'scale_bot' , .false. , .true. , 'yearly' , '' , '' , ''
sn_dsc = 'zdfiwm_forcing_orca2' , -12. , 'scale_cri' , .false. , .true. , 'yearly' , '' , '' , ''
/
!!======================================================================
!! *** Diagnostics namelists *** !!
......
......@@ -21,31 +21,31 @@
ln_trcdta = .true. ! Initialisation from data input file (T) or not (F)
ln_trcbc = .false. ! Enables Boundary conditions
! ! ! ! ! !
! ! name ! title of the field ! units ! init ! sbc ! cbc ! obc !
sn_tracer(1) = 'DIC ' , 'Dissolved inorganic Concentration ', 'mol-C/L' , .true. , .false., .true. , .false.
sn_tracer(2) = 'Alkalini' , 'Total Alkalinity Concentration ', 'eq/L ' , .true. , .false., .true. , .false.
sn_tracer(3) = 'O2 ' , 'Dissolved Oxygen Concentration ', 'mol-C/L' , .true. , .false., .false., .false.
sn_tracer(4) = 'CaCO3 ' , 'Calcite Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(5) = 'PO4 ' , 'Phosphate Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false.
sn_tracer(6) = 'POC ' , 'Small organic carbon Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(7) = 'Si ' , 'Silicate Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false.
sn_tracer(8) = 'PHY ' , 'Nanophytoplankton Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(9) = 'ZOO ' , 'Microzooplankton Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(10) = 'DOC ' , 'Dissolved organic Concentration ', 'mol-C/L' , .true. , .false., .true. , .false.
sn_tracer(11) = 'PHY2 ' , 'Diatoms Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(12) = 'ZOO2 ' , 'Mesozooplankton Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(13) = 'DSi ' , 'Diatoms Silicate Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(14) = 'Fer ' , 'Dissolved Iron Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false.
sn_tracer(15) = 'BFe ' , 'Big iron particles Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(16) = 'GOC ' , 'Big organic carbon Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(17) = 'SFe ' , 'Small iron particles Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(18) = 'DFe ' , 'Diatoms iron Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(19) = 'GSi ' , 'Sinking biogenic Silicate Concentration', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(20) = 'NFe ' , 'Nano iron Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(21) = 'NCHL ' , 'Nano chlorophyl Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(22) = 'DCHL ' , 'Diatoms chlorophyl Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
sn_tracer(23) = 'NO3 ' , 'Nitrates Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false.
sn_tracer(24) = 'NH4 ' , 'Ammonium Concentration ', 'mol-C/L' , .false. , .false., .false., .false.
! ! name ! title of the field ! units ! init ! sbc ! cbc ! obc ! ais
sn_tracer(1) = 'DIC ' , 'Dissolved inorganic Concentration ', 'mol-C/L' , .true. , .false., .true. , .false. , .false.
sn_tracer(2) = 'Alkalini' , 'Total Alkalinity Concentration ', 'eq/L ' , .true. , .false., .true. , .false. , .false.
sn_tracer(3) = 'O2 ' , 'Dissolved Oxygen Concentration ', 'mol-C/L' , .true. , .false., .false., .false. , .false.
sn_tracer(4) = 'CaCO3 ' , 'Calcite Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(5) = 'PO4 ' , 'Phosphate Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false. , .false.
sn_tracer(6) = 'POC ' , 'Small organic carbon Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(7) = 'Si ' , 'Silicate Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false. , .false.
sn_tracer(8) = 'PHY ' , 'Nanophytoplankton Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(9) = 'ZOO ' , 'Microzooplankton Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(10) = 'DOC ' , 'Dissolved organic Concentration ', 'mol-C/L' , .true. , .false., .true. , .false. , .false.
sn_tracer(11) = 'PHY2 ' , 'Diatoms Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(12) = 'ZOO2 ' , 'Mesozooplankton Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(13) = 'DSi ' , 'Diatoms Silicate Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(14) = 'Fer ' , 'Dissolved Iron Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false. , .true.
sn_tracer(15) = 'BFe ' , 'Big iron particles Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(16) = 'GOC ' , 'Big organic carbon Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(17) = 'SFe ' , 'Small iron particles Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(18) = 'DFe ' , 'Diatoms iron Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(19) = 'GSi ' , 'Sinking biogenic Silicate Concentration', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(20) = 'NFe ' , 'Nano iron Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(21) = 'NCHL ' , 'Nano chlorophyl Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(22) = 'DCHL ' , 'Diatoms chlorophyl Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
sn_tracer(23) = 'NO3 ' , 'Nitrates Concentration ', 'mol-C/L' , .true. , .true. , .true. , .false. , .false.
sn_tracer(24) = 'NH4 ' , 'Ammonium Concentration ', 'mol-C/L' , .false. , .false., .false., .false. , .false.
/
!-----------------------------------------------------------------------
&namage ! AGE
......@@ -56,22 +56,22 @@
!-----------------------------------------------------------------------
! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename !
sn_trcdta(1) = 'data_DIC_nomask' , -12. , 'DIC' , .false. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(2) = 'data_Alkalini_nomask' , -12. , 'Alkalini', .false. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(3) = 'data_O2_nomask' , -1. , 'O2' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(5) = 'data_PO4_nomask' , -1. , 'PO4' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(7) = 'data_Si_nomask' , -1. , 'Si' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(10) = 'data_DOC_nomask' , -12. , 'DOC' , .false. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(14) = 'data_Fer_nomask' , -12. , 'Fer' , .false. , .true. , 'yearly' , '' , '' , ''
sn_trcdta(23) = 'data_NO3_nomask' , -1. , 'NO3' , .true. , .true. , 'yearly' , '' , '' , ''
rn_trfac(1) = 1.0e-06 ! multiplicative factor
rn_trfac(2) = 1.0e-06 ! - - - -
rn_trfac(3) = 44.6e-06 ! - - - -
rn_trfac(5) = 122.0e-06 ! - - - -
rn_trfac(7) = 1.0e-06 ! - - - -
rn_trfac(10) = 1.0 ! - - - -
rn_trfac(14) = 1.0 ! - - - -
rn_trfac(23) = 7.6e-06 ! - - - -
sn_trcdta(1) = 'data_DIC_nomask.nc', -12 , 'PiDIC' , .false. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(2) = 'data_ALK_nomask.nc', -12 , 'TALK' , .false. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(3) = 'data_OXY_nomask.nc', -1 , 'O2' , .true. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(5) = 'data_PO4_nomask.nc', -1 , 'PO4' , .true. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(7) = 'data_SIL_nomask.nc', -1 , 'Si' , .true. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(10) = 'data_DOC_nomask.nc', -1 , 'DOC' , .true. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(14) = 'data_FER_nomask.nc', -1 , 'Fer' , .true. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
sn_trcdta(23) = 'data_NO3_nomask.nc', -1 , 'NO3' , .true. , .true. , 'yearly' , 'weights_3D_r360x180_bilin.nc' , '' , ''
rn_trfac(1) = 1.028e-06 ! multiplicative factor
rn_trfac(2) = 1.028e-06 ! - - - -
rn_trfac(3) = 44.6e-06 ! - - - -
rn_trfac(5) = 117.0e-06 ! - - - -
rn_trfac(7) = 1.0e-06 ! - - - -
rn_trfac(10) = 1.0e-06 ! - - - -
rn_trfac(14) = 1.0e-06 ! - - - -
rn_trfac(23) = 7.3125e-06 ! - - - -
/
!-----------------------------------------------------------------------
&namtrc_adv ! advection scheme for passive tracer (default: NO selection)
......@@ -113,11 +113,11 @@
sn_trcsbc(7) = 'dust.orca.new' , -1 , 'dustsi' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trcsbc(14) = 'dust.orca.new' , -1 , 'dustfer' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trcsbc(23) = 'ndeposition.orca', -12 , 'ndep' , .false. , .true. , 'yearly' , '' , '' , ''
rn_trsfac(5) = 8.264e-02 ! ( 0.021 / 31. * 122 )
rn_trsfac(7) = 3.313e-01 ! ( 8.8 / 28.1 )
rn_trsfac(14) = 6.266e-04 ! ( 0.035 / 55.85 )
rn_trsfac(23) = 5.4464e-01 ! ( From kgN m-2 s-1 to molC l-1 ====> zfact = 7.625/14 )
rn_sbc_time = 1. ! Time scaling factor for SBC and CBC data (seconds in a day)
rn_trsfac(5) = 7.9258065e-02 ! ( 0.021 / 31. * 117 )
rn_trsfac(7) = 3.1316726e-01 ! ( 8.8 / 28.1 )
rn_trsfac(14) = 6.2667860e-04 ! ( 0.035 / 55.85 )
rn_trsfac(23) = 5.2232143e-01 ! ( From kgN m-2 s-1 to molC l-1 ====> zfact = 7.3125/14 )
rn_sbc_time = 1. ! Time scaling factor for SBC and CBC data (seconds in a day)
!
sn_trccbc(1) = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trccbc(2) = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' , ''
......@@ -126,16 +126,20 @@
sn_trccbc(10) = 'river.orca' , 120 , 'riverdoc' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trccbc(14) = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' , ''
sn_trccbc(23) = 'river.orca' , 120 , 'riverdin' , .true. , .true. , 'yearly' , '' , '' , ''
rn_trcfac(1) = 8.333e+01 ! ( data in Mg/m2/yr : 1e3/12/ryyss)
rn_trcfac(2) = 8.333e+01 ! ( 1e3 /12 )
rn_trcfac(5) = 3.935e+04 ! ( 1e3 / 31. * 122 )
rn_trcfac(7) = 3.588e+01 ! ( 1e3 / 28.1 )
rn_trcfac(10) = 8.333e+01 ! ( 1e3 / 12
rn_trcfac(14) = 4.166e-03 ! ( 1e3 / 12 * 5e-5 )
rn_trcfac(23) = 5.446e+02 ! ( 1e3 / 14 * 7.625 )
rn_cbc_time = 3.1536e+7 ! Time scaling factor for CBC data (seconds in a year)
rn_trcfac(1) = 8.333333e+01 ! ( data in Mg/m2/yr : 1e3/12/ryyss)
rn_trcfac(2) = 8.333333e+01 ! ( 1e3 /12 )
rn_trcfac(5) = 3.774193e+03 ! ( 1e3 / 31. * 117 )
rn_trcfac(7) = 3.558719e+01 ! ( 1e3 / 28.1 )
rn_trcfac(10) = 8.333333e+01 ! ( 1e3 / 12
rn_trcfac(14) = 4.166667e-03 ! ( 1e3 / 12 * 5e-5 )
rn_trcfac(23) = 5.223214e+02 ! ( 1e3 / 14 * 7.3125 )
rn_cbc_time = 3.1536e+7 ! Time scaling factor for CBC data (seconds in a year)
/
!----------------------------------------------------------------------
&namtrc_bdy ! Setup of tracer boundary conditions
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namtrc_ais ! Representation of Antarctic Ice Sheet tracers supply
!-----------------------------------------------------------------------
/
#!/bin/bash
#set -vx
# ncmax $var_nm $fl_nm : What is maximum of variable?
function ncmax { ncap2 -O -C -v -s "foo=${1}.max();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
# ncmin $var_nm $fl_nm : What is minimum of variable?
function ncmin { ncap2 -O -C -v -s "foo=${1}.min();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
# ncmdn $var_nm $fl_nm : What is median of variable?
function ncmdn { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
##
## simple report generator for the test case
##
##
## Variables which may need to be adapted to your experiment:
##
# RUNDIR = directory where the test case is executed: contains all outputs
RUNDIR=`pwd`
# NB_NEMO_IT = expected total number of NEMO iterations
NB_NEMO_IT=160
# NB_OASIS_OUTFILES = number of debug.root.0* OASIS output files
NB_OASIS_OUTFILES=2
##
## END of variables to be checked - Nothing need to be changed below
##
# check if directory is here
if [ ! -d $RUNDIR ]; then
printf "%-27s %s %s\n" $RUNDIR "directory does not exist. Check RUNDIR variable in script. Stop"
return
fi
cd $RUNDIR
echo " "
echo "Check results of test case in directory: " `pwd`
echo " "
##
## Check if OASIS execution has been successful
##
echo " OASIS successful (true if OASIS outputs in debug.root.0? includes SUCCESSFUL RUN) : "
count=0
for file in debug.root.0*
do
echo $file ; grep "SUCCESSFUL RUN" $file
count=`expr $count + 1`
done
echo "OASIS success checked on $count files"
[ $count = $NB_OASIS_OUTFILES ] && echo true || echo false
##
## Check if NEMO execution has been sucessful
##
echo " "
echo " NEMO execution is successful if the run.stat file contains one line for each of NB_NEMO_IT iterations, indicating they have indeed been computed"
if [ ! -f ./run.stat ]; then
echo " the run.stat file does not exist: NEMO did not end its first time step"
echo " NEMO UNSUCESSFUL. Stop"
return
fi
echo "From run.stat NEMO output file, NEMO has executed the 160 time steps:"
nemo_iterations=`wc -l ./run.stat | awk {'print $1'} `; [ $nemo_iterations = $NB_NEMO_IT ] && echo true || echo false
##
## Check mean value of sst field seen by toyatm
##
if [ ! -f ./ATSSTSST_toyatm_01.nc ]; then
echo " the ATSSTSST_toyatm_01.nc file does not exist: the test is not successful"
echo " Test case UNSUCESSFUL. Stop"
return
fi
echo " "
echo "Examining ATSSTSST variable sea surface temperature as seen by toyatm, unit is degree Kelvin (min. should be around 271., max. around 302., median around 280.)"
ASSTmin=`ncmin ATSSTSST ATSSTSST_toyatm_01.nc`
ASSTmax=`ncmax ATSSTSST ATSSTSST_toyatm_01.nc`
ASSTmed=`ncmdn ATSSTSST ATSSTSST_toyatm_01.nc`
echo "Minimum value of ATSSTSST variable in ATSSTSST_toyatm_01.nc file = " $ASSTmin
echo "Maximum value of ATSSTSST variable in ATSSTSST_toyatm_01.nc file = " $ASSTmax
echo "Median value of ATSSTSST variable in ATSSTSST_toyatm_01.nc file = " $ASSTmed
MINMAX=0
if [ ${ASSTmin%%.*} -lt 270 -o ${ASSTmax%%.*} -gt 310 ]; then
echo " Min. or max. values of ATSSTSST do not look reasonable. Check the test again "
MINMAX=1
fi
##
## Summary
##
echo " "
if [ $count = $NB_OASIS_OUTFILES ] && [ $nemo_iterations = $NB_NEMO_IT ] && [ $MINMAX = 0 ]
then
echo " The run looks very succesful!"
echo " Have a look to the ASTSSTSST.nc file (using ncview for example): sea surface temperatures as seen by the toyatm and compare it to the reference file (CPL/ref_ATSSTSST_last_time_step.jpg) "
echo " Units are in degrees Kelvin and it will confirm the test is successful"
echo " "
else
echo "The test case is unsuccessful. Check all inputs and outputs"
fi
No preview for this file type
No preview for this file type
......@@ -19,7 +19,7 @@
############################################
$STRINGS
O_TepMix ATSSTSST 1 5400 3 rst.nc EXPOUT
182 149 180 90 torc lmdz
180 148 180 90 torc lmdz
P 2 P 0
CHECKIN SCRIPR CHECKOUT
INT=1
......@@ -27,7 +27,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_QnsMix 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -36,7 +36,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_QnsIce 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -45,7 +45,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_QsrIce 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -54,7 +54,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_QsrMix 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -63,7 +63,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_dQnsdT 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -72,7 +72,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_OTaux1 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -81,7 +81,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATSOLFLX O_OTauy1 1 5400 4 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN BLASOLD SCRIPR CHECKOUT
INT=1
......@@ -90,7 +90,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATFLXEMP OTotRain 1 5400 3 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN SCRIPR CHECKOUT
INT=1
......@@ -98,7 +98,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATFLXEMP OTotSnow 1 5400 3 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN SCRIPR CHECKOUT
INT=1
......@@ -106,7 +106,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATFLXEMP OTotEvap 1 5400 3 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN SCRIPR CHECKOUT
INT=1
......@@ -114,7 +114,7 @@ BILINEAR LR SCALAR LATLON 1
INT=1
#
ATFLXEMP OIceEvap 1 5400 3 rst.nc EXPOUT
180 90 182 149 lmdz torc
180 90 180 148 lmdz torc
P 0 P 2
CHECKIN SCRIPR CHECKOUT
INT=1
......
bld::tool::fppkeys key_oasis3
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