Choice of CPP keys before compilation

  • In Makefile.caparmor : add CPP_keys in CPPFLAGS =

  • select variables namelists their corresponding

  • List of CPP keys

    GRID
    -Dkey_bathy_final
    -Dkey_out_grid_smallsize
    -Dkey_grid_curv


    to read definite bathymetry in netCDF format file (no more changes)
    dont save in output the full set of variables for the grid
    Use to deal with orthogonal curvilinear grids (read 2D angle & dx,dy in the bathy_file)
    custom the missing value of the grid in parameters.F90 (valmanq_curv)
    to use with -Dkey_sflx_interp_scrip
    ROTATED GRID
    -Dkey_grid_rotated
    -Dkey_tide_saverotatedobc
    to use a rotated grid
    to save 2D obc for a rotated child rank
    TIDE
    choice of harmonic components






    -Dkey_tide_schwid
    -Dkey_tide_fes2004
    -Dkey_tide_fes2012
    -Dkey_tide_shom
    -Dkey_tide_shom_bilinear
    -Dkey_tide_lagoon
    -Dkey_tide_lagoon_banyuls
    -Dkey_tide_lagoon_marseille
    schwiderski model (1980), modele de pg Islande-Portugal (5 km) l_tide_harmcompo=true
    FES 2004 (MOGD) l_tide_harmcompo=true
    FES 2012 (MOGD) l_tide_harmcompo=true
    CST - File Shom - Channel Atlantic Fr l_tide_harmcompo=true
    Bilinear interpolation for harmonic components on the model grid
    lagoons of Banuyls and Marseilles
    tide for Banyuls
    tide for Marseilles
    UNLINEAR TERMS
    default
    -Dkey_dyn_adv_quick
    -Dkey_dyn_adv_quickest
    -Dkey_dyn_adv_linear
    centered
    QUICK
    QUICKEST
    no nonlinear terms
    INTERNAL PRESSURE GRADIENT
    default
    -Dkey_dyn_pg_djcs
    -Dkey_dyn_pg_pint
    -Dkey_dyn_pg_dj
    Density jacobian
    Density jacobien + cubic spline approx (Shchepetkin et al. 2004)
    Marsaleix et al;2009 (integrated pressure before horizontal gradient)
    Shchepetkin et Mc Williams, 2003 (density jacobian)
    WET DRYING
    -Dkey_dyn_wetdry_fct

    -Dkey_phicondrycell
    use of Flux Corrected Transport to correct ssh and velocity estimates
    + and keep positive water depths in wet-drying area
    with key_substance if outflow into a dry cell during ebb tide
    OPEN BOUNDARY CONDITIONS
    default
    -Dkey_grid_rotated

    -Dkey_tide_saveobcrotated










    reading and saving for straight open boundary
    reading with the use of a rotated child grid -
    + Longitude and latitude read from the bathy file
    saving for straight open boundary but using a rotated child grid
    + Define imin_child… variables in parameter.F90 and file_bathy_child=‘file.nc’
    Direct offline coupling : Use extract tool to prepare your obc fields
    + l_obc_ogcm : nesting with an ogcm
    + l_obc_tide : Nesting with a previous rank or from harmonics
    + l_obc_north.... & file_obc_ogcm_n... : Where are the open boundaries & Which obc file
    + l_obc_mars : MARS standard Sea surface height is prescribed & Gradient nul for velocity
    + l_obc_cycl : CYCLIC zonaly or meridionaly
    + l_obc_char : Caracteristics method (2D part only)
    + l_obc_diri : DIRICHLET :
    SSH prescribed (strong condition) & Velocities prescribed (weak condition)

    OPEN BOUNDARY CONDITIONS FOR SUBSTANCES

    Boundaries conditions

    default


    -Dkey_zerograd



    constant value or reading value in an OBC file
    depending on l_obc_ogcm_rc (in parasubs.txt)

    using zero gradient condition
    for some variables with “zerograd” instead of “none” or “name of variable obc
    in variable.dat
    choose l_obc_coefrel for relaxation time
    VERTICAL VELOCITY
    (wz_phys)
    -Dkey_diag_physwz

    Estimate and save physical vertical velocity

    VERTICAL DIFFUSION
    (nz, kz)
    no CPP key

    Choice of modele with namelist variables : turb_nbeq, turb_0eq_option or turb_2eq_option
    VISCOSITY
    VERTICAL VISCOSITY
    no CPP key

    -Dkey_les

    Choice with namelist variables : l_smagor (viscosity constant or Smagorinsky, 1963)
    Sponge layer at each open boundary
    Compute viscosity from both horizontal and vertical shear
    in case of SMAGORINSKY (l_smagor=.true.)
    STATE EQUATION
    no CPP key
    -Dkey_potential_N2
    Choice of modele with namelist variables : l_stateeq_lin (linear model or not)
    estimate the potential brunt-vaisala frequency (used in turbulence formulation)
    VERTICAL DISCRETIZATION
    (xy direction)
    default
    -Dkey_siggen


    sigma : l_equisig=.true. Or .false. so specify sig for each level
    generalized sigma : l_equisig=.true. (do not change)
    choice hc, teta_sig, b_sig. example : hc = 5.0 ; theta_sig=0.000001 ; b_sig=1
    let theta_sig go to zero to get pure sigma coordinates
    TRACER ADVECTION (multidimensional 3D including cross term)
    -Dkey_tssub_macho3d


    Macho scheme


    TRACER ADVECTION
    (xy direction)

    DISSOLVED

    PARTICULATE

    default
    -Dkey_tssub_adv_ultimatequickest
    -Dkey_tssub_adv_ultimatequickestmacho
    -Dkey_tssub_adv_fourthorder
    -Dkey_parsub_adv_ultimatequickest
    -Dkey_parsub_adv_ultimatequickestmacho
    -Dkey_parsub_adv_fourthorder
    Quick / Euler-Upwind scheme
    quickest scheme (xy direction) + ultimate limiter
    quickest scheme+ultimate limiter + multidimensional extension macho
    fourth order centred scheme (xy direction)
    quickest scheme (xy direction) + ultimate limiter
    quickest scheme+ultimate limiter + multidimensional extension macho
    fourth order centred scheme (xy direction)
    TRACER ADVECTION
    (along z)
    default
    -Dkey_tssub_wquickupwind
    -Dkey_tssub_wcompact
    -Dkey_parsub_wquickupwind
    -Dkey_parsub_wcompact
    centered scheme
    QUICK scheme along the vertical (dissolved tracer advection)
    Upwind Compact and Conservative scheme along the vertical (dissolved variables)
    QUICK scheme along the vertical (particulate tracer advection)
    Upwind Compact and Conservative scheme along the vertical (particulate variables)
    VERTICAL ADVECTION
    -Dkey_adapt_imp_vert_adv


    Adaptive Courant-number-dependent implicit scheme for vertical advection
    (for Tracers and moment)

    TRACER DIFFUSION
    default
    -Dkey_ts_diffh_geo
    -Dkey_ts_diffh_rho
    along sigma
    along geopotential
    along isopycnes
    SURFACE FLUX
    -Dkey_sflx_interp_scrip
    Use SCRIP bicubic interpolation for atmospherical inputs
    EXTINCTION COEFFICIENT
    default
    -Dkey_daily_climato_kpar
    -Dkey_kpar_constant
    extinction formulated with 2 wave length and coeff adapted for clear water (5<Turb<30)
    read 2D extinction coefficient from daily climatological file
    constant extinction coefficient (=coext read in paraspec.txt)
    HEAT FLUX Solar fluxes
    -Dkey_sflx_solar_luyten
    -Dkey_sflx_solar_gill

    Bulk MAST 3 (Luyten et al, 1992)
    Bulk NOMADS2 (Gill, 1982)
    read (l_sflx_rsolar=.true.)
    HEAT FLUX Thermal fluxes
    -Dkey_sflx_ir_swimbank
    -Dkey_sflx_ir_luyten
    -Dkey_sflx_ir_berliand

    Swimbank (Agoumi thesis)
    Luyten and De Mulder (1992)
    Berliand and Berliand (1952)
    read (l_sflx_rir=.true.)
    TURBULENT FLUXES (latent and sensible flux and wind stresses)
    -Dkey_sflx_turb_fairall
    -Dkey_sflx_turb_ayina
    -Dkey_sflx_turb_large
    -Dkey_sflx_turb_luyten
    -Dkey_sflx_turb_default
    Fairall et al.,2003 (imeteo_exchtype =1 in paraspec.txt)
    Ayina et Bentamy, 2007 (imeteo_exchtype =1 in paraspec.txt)
    Large and Yeager, 2004 (imeteo_exchtype =1 in paraspec.txt)
    Luyten et De Mulder, 1992 (imeteo_exchtype =1 in paraspec.txt)
    Clark et al (1995), Elliot and Clark (1990)
    SUBSTANCES
    -Dkey_substance
    -Dkey_subs_part_eqsubdt

    to save time for substance with settling velocity (group variables)
    SEDIMENTOLOGY
    -Dkey_substance -Dkey_sedim
    with -Dkey_sedim_mudsand
    with -Dkey_sedim_mixsed
    + -Dkey_sand2D
    + -Dkey_flocmod
    associated cpp keys + one of the following :
    to use mud/sand sediment module
    to use mixed sediment module (advised choice now)
    to treat sand as 2D variable (integrated on depth and set in bottom layer k=1)
    to add module floculation
    BIOGEOCHEMISTRY AND CONTAMINANTS
    -Dkey_substance -Dkey_contaminant
    + -Dkey_sedim -Dkey_sedim_mudsand
    associated cpp keys
    add these keys if some contaminant are particulate
    BIOLOGY (Usage des clés CPP pour utiliser ECOMARS)
    -Dkey_substance -Dkey_biolo
    -Dkey_biolo_opt2
    -Dkey_messat
    -Dkey_physadaptation
    associated cpp keys (VERSION DE BASE - Option 1)
    add this key if option 2 used (VERSION DE BASE - option 2)
    add this key to read sea surface temperature mesurement
    add this key if default option (1) and adaptation (Usage des clés CPP pour utiliser ECOMARS)
    MPI
    -Dkey_MPI_2D

    Several output files if l_out_nc4par= .false.
    One single output file if l_out_nc4par= .true
    MPI + OMP
    -Dkey_MPI_2D -Dkey_MPIOMP

    AGRIF package
    -Dkey_agrif -Dkey_agrif_use
    with -DAGRIF_MPI -Dkey_MPI
    Sequential - Compile with -r8
    add these keys for MPI
    TRAJECTORIES
    -Dkey_trajec3d
    trajectories for 3D simulations (called alone without -Dkey_ibm)
    Individual Based Model
    -Dkey_ibm

    Biological processes for individual particules
    + (called alone without -Dkey_trajec3d)
    TEST CASES
    -Dkey_tssub_casadvsmolartime
    test tracers schemes for Smolarkievicz configuration
    OFFLINE (no dynamics, tracers advection only)
    -Dkey_offline_outuvflux
    -Dkey_offline
    save time averaged 3d velocities and sea level
    ead time averaged dynamics variables and run the code without the dynamics part
    OUPUT
    -Dkey_xios
    Use XIOS library for Output : dont forget to activate it in makefile (XIOS=”USE”)
    OASIS COUPLING
    -Dkey_oasis
    -Dkey_oasis_mars_ww3
    Activate the use of OASIS library
    Coupling Mars with WW3 model to exchange variables at each time step