Table of Contents

    NEMO v3.6 TOP BDY Patch

    Last edition: 07/22/19 12:25:44 by lovato

    BEFORE USE : this patch is meant to provide only the core functionality for TOP BDY under NEMO v3.6 (N36_TOP_BDY_patch.tar).

    Official support of System Team for tracers BDY will be given only for NEMO v4.0+ versions.

    Description

    This patch enables the core support of BDY for TOP passive tracers with NEMO v3.6 (tested with r10254). Note that in this patch, routines that provide to initialization/reading of all Boundary conditions (trcbc.f90) were also updated.

    BDY schemes included in this version are the following (see trcbdy.F90):

    • frs : Flow Relaxation Scheme
    • specified : Specified value
    • neumann : Duplicate the value for tracers (as in NEMO v4.0)
    • orlanski : Orlanski radiation
    • orlanski_npo : Orlanski radiation with adaptive nudging

    Refer to the BDY description of NEMO manual for further details on the different schemes.

    In namelist_top_ref the following changes are necessary (see the patched version contained in the code provided):

     !-----------------------------------------------------------------------
     &namtrc_bc
     !
       cn_dir_sbc        =  './'      !  root directory for the location of SURFACE data files
       cn_dir_cbc        =  './'      !  root directory for the location of COASTAL data files
       cn_dir_obc        =  './'      !  root directory for the location of OPEN data files
    /
    
    !----------------------------------------------------------------------
    !namtrc_bdy       !   Setup of tracer boundary conditions
    !-----------------------------------------------------------------------
    $namtrc_bdy
       cn_trc_dflt     =  'neumann'    !  OBC applied by default to all tracers
       cn_trc          =  'none'       !  Boundary conditions applied to the passive tracers (selected in namtrc)
    
       nn_trcdmp_bdy   = 0     !  Use damping timescales defined in nambdy of namelist
                               !  = 0 NO damping of tracers at open boudaries
                               !  = 1 Only for tracers forced with external data
                               !  = 2 Damping applied to all tracers
     /
    

    Details on the usage of these namelists and the setup of a one tracer case are given below.

    Usage walktrough

    Code is contained in the attached tarball (N36_TOP_BDY_patch.tar) and it consists of modified files wrapped in the classic "MY_SRC" folder to be added in NEMO configuration. These files have to be unpacked in the MY_SRC folder of your configuration in order to be used.

    REMINDER: MY_SRC contains user modified versions of NEMO routines or new pieces of code that are used at compilation time to supersede at original ones.

    In the following example the user defined tracer module MY_TRC is used to setup a simple one passive tracer case (need to add key_my_trc in the configuration cpp file) and specific modified files are also available in the tarball.

    Note that namelist_top_ref has to be modified by the user in <NEMODIR>/NEMOGCM/CONFIG/SHARED according to the description above (or the sample file provided in the tarball).

    All boundary conditions are controlled within the namelist namtrc in namelist_top_(cfg/ref). A modified fortran data structure of namtrc was here developed to set the different boundary conditions of passive tracers, as in the following example of namelist_top_cfg for one tracer :

    !-----------------------------------------------------------------------
    &namtrc     !   tracers definition
    !-----------------------------------------------------------------------
    !                !    name   !           title of the field              ! initial data ! initial data !   sbc   !   cbc   !   obc   ! save   !
    !                !           !                                           !  units       ! from file    !         !         !         ! or not !
    !                !           !                                           !              ! or not       !         !         !         !        !
       sn_tracer(1)   = 'TRACER1  ' , 'Tracer1 for key_my_trc               ',  'unitless'  ,   .true.     , .false. , .true.  , .true.  ,  .true.
    
    ...
    /
    

    where the new options relates to the provision of SURFACE (sbc), COASTAL (cbc), or OPEN lateral Boundaries (obc) data for sn_tracer(1) named TRACER1.

    In namtrc_bc are provided the different boundary conditions for passive tracers, see the example below of namelist_top_cfg:

    !----------------------------------------------------------------------
    &namtrc_bc        !   data for boundary conditions
    !-----------------------------------------------------------------------
    !                !  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_trcsbc(1)  = 'TRACER_SBC'        ,        -12        ,  'TRACER_SUR'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , ''
       rn_trsfac(1)  = 1.0
       sn_trccbc(1)  = 'TRACER_CBC'        ,        -12        ,  'TRACER_RIV'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , ''
       rn_trcfac(1)  = 1.0
       sn_trcobc(1)  = 'TRACER_BDY'        ,        -12        ,  'TRACER_BDY'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , ''
       rn_trofac(1)  = 1.0
       !
       cn_dir_sbc        =  './'      !  root directory for the location of SURFACE data files
       cn_dir_cbc        =  './'      !  root directory for the location of COASTAL data files
       cn_dir_obc        =  './'      !  root directory for the location of OPEN data files
    /
    

    Input files are provided using the standard NEMO fldread structure and it follows the convention sn_trcsbc = surface, sn_trccbc = coastal, sn_trcobc = open lateral, with the corresponding scaling factors rn_trsfac = surface, rn_trcfac = coastal, rn_trofac = open lateral.

    BDY schemes are setup in the namelist namtrc_bdy. In the following example for 1 tracer, we set the use of orlanski_npo scheme and no tracer damping:

    !----------------------------------------------------------------------
    !namtrc_bdy       !   Setup of tracer boundary conditions
    !-----------------------------------------------------------------------
    $namtrc_bdy
       cn_trc_dflt     =  'neumann'    !  OBC applied by default to all tracers
       cn_trc          =  'orlanski_npo'       !  Boundary conditions applied to the passive tracers (selected in namtrc)
    
       nn_trcdmp_bdy   = 0     !  Use damping timescales defined in nambdy of namelist
     /
    

    Here below a summary of available options

    cn_trc_dflt Default BDY scheme for all passive tracers
    cn_trc Specific BDY scheme to be applied for tracers that are forced with external data files, setup via namtrc
    nn_trcdmp_bdy tracer damping, with timescales defined in nambdy of namelist_(ref/cfg)
    0 : NO damping of tracers at open boundaries
    1 : Only for tracers forced with external data
    2 : Damping applied to all tracers
    Last modified 13 months ago Last modified on 2019-07-22T12:25:44+02:00

    Attachments (1)

    Download all attachments as: .zip