New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 7235 for branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_meshmask.f90 – NEMO

Ignore:
Timestamp:
2016-11-16T11:40:55+01:00 (7 years ago)
Author:
jpaul
Message:

see ticket #1781

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_meshmask.f90

    r7233 r7235  
    4646!>       - partial step namelist (namzps) 
    4747!>       - sigma or hybrid namelist (namsco) 
    48 !       - cross land advection namelist (namcla) 
    4948!>       - lateral boundary condition namelist (namlbc) 
    5049!>       - wetting and dryong namelist (namwd) 
    5150!>       - grid namelist (namgrd) 
    52 !       - zoom namelist (namzoom) 
    5351!>       - output namelist (namout) 
    5452!> 
     
    6159!>    * _config namelist (namcfg)_:<br/> 
    6260!>       - cn_varcfg : variable configuration file 
    63 !> (see ./SIREN/cfg/variable.cfg) 
     61!> (see ./SIREN/cfg/variable.cfg). 
     62!>       - cn_dimcfg : dimension configuration file. define dimensions allowed 
     63!> (see ./SIREN/cfg/dimension.cfg). 
    6464!>       - cn_dumcfg : useless (dummy) configuration file, for useless  
    6565!> dimension or variable (see ./SIREN/cfg/dummy.cfg). 
     
    142142!>          - dn_zb_b      : Offset for Zb 
    143143!> 
    144 !    * _cross land advection namelist (namcla)_:<br/> 
    145 !       - in_cla : =1 cross land advection for exchanges through some straits (only for ORCA2) 
    146 ! 
    147144!>    * _lateral boundary condition namelist (namlbc)_:<br/> 
    148145!>       - rn_shlat : lateral boundary conditions at the coast (modify fmask) 
     
    160157!>     
    161158!>    * _grid namelist (namgrd)_:<br/> 
    162 !       - cn_cfg    : name of the configuration 
    163159!>       - in_cfg    : inverse resolution of the configuration (1/4° => 4) 
    164160!>       - ln_bench  : GYRE (in_mshhgr = 5 ) used as Benchmark.<br/> 
    165161!>                     => forced the resolution to be about 100 km 
    166 !       - ln_zoom   : use zoom (namzoom) 
    167162!>       - ln_c1d    : use configuration 1D 
    168163!>       - ln_e3_dep : vertical scale factors =T: e3.=dk[depth] =F: old definition 
    169 ! 
    170 !    * _zoom namelist (namzoom)_:<br/> 
    171 !       - cn_cfz       : name of the zoom of configuration 
    172 !       - in_izoom     : left bottom i-indices of the zoom in data domain indices 
    173 !       - in_jzoom     : left bottom j-indices of the zoom in data domain indices 
    174 !       - ln_zoom_s    : South zoom type flag 
    175 !       - ln_zoom_e    : East  zoom type flag 
    176 !       - ln_zoom_w    : West  zoom type flag 
    177 !       - ln_zoom_n    : North zoom type flag 
    178 ! 
    179164!>    * _output namelist (namout)_:<br/> 
    180165!>       - cn_domcfg    : output file name 
     
    185170!> 
    186171!>    @note 
    187 !>        if     in_msh == 0  : write '<b>domain_cfg.nc</b>' file 
    188 !>        MOD(in_msh, 3) = 1  :       '<b>mesh_mask.nc</b>' file 
    189 !>                       = 2  :       '<b>mesh.nc</b>' and '<b>mask.nc</b>' files 
    190 !>                       = 0  :       '<b>mesh_hgr.nc</b>', '<b>mesh_zgr.nc</b>' and '<b>mask.nc</b>' files 
    191 !> 
     172!>        - if         in_msh = 0  : write '**domain_cfg.nc**' file. 
     173!>        - if MOD(in_msh, 3) = 1  : write '<b>mesh_mask.nc</b>' file. 
     174!>        - if MOD(in_msh, 3) = 2  : write '<b>mesh.nc</b>' and '<b>mask.nc</b>' files. 
     175!>        - if MOD(in_msh, 3) = 0  : write '<b>mesh_hgr.nc</b>', '<b>mesh_zgr.nc</b>' and '<b>mask.nc</b>' files.<br/> 
    192176!>        For huge size domain, use option 2 or 3 depending on your vertical coordinate. 
    193 !> 
    194 !>        if     in_msh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 
    195 !>        if 3 < in_msh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays  
     177!>        - if     in_msh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 
     178!>        - if 3 < in_msh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays  
    196179!>                            corresponding to the depth of the bottom t- and w-points 
    197 !>        if 6 < in_msh <= 9: write 2D arrays corresponding to the depth and the 
     180!>        - if 6 < in_msh <= 9: write 2D arrays corresponding to the depth and the 
    198181!>                            thickness (e3[tw]_ps) of the bottom points 
    199182!> 
     
    321304 
    322305   ! namlbc 
    323    REAL(sp)          :: rn_shlat    = -100. !2. 
     306   REAL(sp)          :: rn_shlat    = 2. 
    324307 
    325308   ! namout 
     
    12771260CONTAINS 
    12781261   !------------------------------------------------------------------- 
    1279    !> @brief This subroutine compute land/ocean mask arrays at tracer points, hori- 
    1280    !>      zontal velocity points (u & v), vorticity points (f) and baro- 
    1281    !>      tropic stream function  points (b).  
     1262   !> @brief This subroutine compute land/ocean mask arrays at tracer points,  
     1263   !>      horizontal velocity points (u & v), vorticity points (f) and  
     1264   !>      barotropic stream function  points (b).  
    12821265   !> 
    12831266   !> @details 
    12841267   !> 
    1285    !> ** Method  :   The ocean/land mask is computed from the basin bathy- 
    1286    !>      metry in level (mbathy) which is defined or read in dommba. 
    1287    !>      mbathy equals 0 over continental T-point  
    1288    !>      and the number of ocean level over the ocean. 
     1268   !> ** Method  :   The ocean/land mask is computed from the basin bathymetry in level (mbathy) which is defined or read in dommba. 
     1269   !>      mbathy equals 0 over continental T-point and the number of ocean level over the ocean. 
    12891270   !> 
    12901271   !>      At a given position (ji,jj,jk) the ocean/land mask is given by: 
    1291    !>      t-point : 0. IF mbathy( ji ,jj) =< 0 
    1292    !>                1. IF mbathy( ji ,jj) >= jk 
    1293    !>      u-point : 0. IF mbathy( ji ,jj)  or mbathy(ji+1, jj ) =< 0 
    1294    !>                1. IF mbathy( ji ,jj) and mbathy(ji+1, jj ) >= jk. 
    1295    !>      v-point : 0. IF mbathy( ji ,jj)  or mbathy( ji ,jj+1) =< 0 
    1296    !>                1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) >= jk. 
    1297    !>      f-point : 0. IF mbathy( ji ,jj)  or mbathy( ji ,jj+1) 
    1298    !>                   or mbathy(ji+1,jj)  or mbathy(ji+1,jj+1) =< 0 
    1299    !>                1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) 
    1300    !>                  and mbathy(ji+1,jj) and mbathy(ji+1,jj+1) >= jk. 
    1301    !>      b-point : the same definition as for f-point of the first ocean 
     1272   !>      - t-point :  
     1273   !>             - 0. IF mbathy( ji ,jj) =< 0 
     1274   !>             - 1. IF mbathy( ji ,jj) >= jk 
     1275   !>      - u-point :  
     1276   !>             - 0. IF mbathy( ji ,jj)  or mbathy(ji+1, jj ) =< 0 
     1277   !>             - 1. IF mbathy( ji ,jj) and mbathy(ji+1, jj ) >= jk. 
     1278   !>      - v-point :  
     1279   !>             - 0. IF mbathy( ji ,jj)  or mbathy( ji ,jj+1) =< 0 
     1280   !>             - 1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) >= jk. 
     1281   !>      - f-point :  
     1282   !>             - 0. IF mbathy( ji ,jj)  or mbathy( ji ,jj+1) or mbathy(ji+1,jj)  or mbathy(ji+1,jj+1) =< 0 
     1283   !>             - 1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) and mbathy(ji+1,jj) and mbathy(ji+1,jj+1) >= jk. 
     1284   !>      - b-point : the same definition as for f-point of the first ocean 
    13021285   !>                level (surface level) but with 0 along coastlines. 
    1303    !>      tmask_i : interior ocean mask at t-point, i.e. excluding duplicated 
     1286   !>      - tmask_i : interior ocean mask at t-point, i.e. excluding duplicated 
    13041287   !>                rows/lines due to cyclic or North Fold boundaries as well 
    13051288   !>                as MPP halos. 
    13061289   !> 
    1307    !>   @WARNING do not set the lateral friction through the value of fmask along 
     1290   !> @warning do not set the lateral friction through the value of fmask along 
    13081291   !>      the coast and topography.  
    13091292   !> 
    1310    !>      N.B. If nperio not equal to 0, the land/ocean mask arrays 
     1293   !> @note If nperio not equal to 0, the land/ocean mask arrays 
    13111294   !>      are defined with the proper value at lateral domain boundaries, 
    13121295   !>      but bmask. indeed, bmask defined the domain over which the 
     
    13221305   !>        - bmask is  set to 0 on the open boundaries. 
    13231306   !> 
    1324    !> ** Action :   tmask    : land/ocean mask at t-point (=0. or 1.) 
    1325    !>               umask    : land/ocean mask at u-point (=0. or 1.) 
    1326    !>               vmask    : land/ocean mask at v-point (=0. or 1.) 
    1327    !>               fmask    : land/ocean mask at f-point (=0. or 1.) 
    1328    !>               bmask    : land/ocean mask at barotropic stream 
    1329    !>                          function point (=0. or 1.) and set to 0 along lateral boundaries 
    1330    !>               tmask_i  : interior ocean mask 
     1307   !> ** Action :    
     1308   !>       - tmask    : land/ocean mask at t-point (=0. or 1.) 
     1309   !>       - umask    : land/ocean mask at u-point (=0. or 1.) 
     1310   !>       - vmask    : land/ocean mask at v-point (=0. or 1.) 
     1311   !>       - fmask    : land/ocean mask at f-point (=0. or 1.) 
     1312   !>       - bmask    : land/ocean mask at barotropic stream 
     1313   !>                  function point (=0. or 1.) and set to 0 along lateral boundaries 
     1314   !>       - tmask_i  : interior ocean mask 
    13311315   !> 
    13321316   !> @author J.Paul 
Note: See TracChangeset for help on using the changeset viewer.