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 454 for trunk/NEMO/OPA_SRC/DOM/dom_oce.F90 – NEMO

Ignore:
Timestamp:
2006-05-10T18:47:31+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_047:RB: re-organization of coordinate definition, scale factors are now 3d by default, include file for partial steps has been removed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/dom_oce.F90

    r392 r454  
    55   !! ** Purpose :   Define in memory all the ocean space domain variables 
    66   !!---------------------------------------------------------------------- 
    7    !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     7   !! History : 
     8   !!   9.0  !  05-10  (A. Beckmann, G. Madec)  reactivate s-coordinate  
     9   !!---------------------------------------------------------------------- 
     10   !!  OPA 9.0 , LOCEAN-IPSL (2006)  
    811   !! $Header$  
    912   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     
    5154      nbne, nbnw,      &  !: logical of north east & north west processor 
    5255      nbse, nbsw,      &  !: logical of south east & south west processor 
    53       nidom 
     56      nidom               !: ??? 
    5457 
    5558   INTEGER, PUBLIC, DIMENSION(jpi) ::   &   !: 
     
    6770      nimppt, njmppt,  &  !: i-, j-indexes for each processor 
    6871      ibonit, ibonjt,  &  !: i-, j- processor neighbour existence 
    69       nlcit, nlcjt,    &  !: dimensions of every subdomain 
    70       nldit, nldjt,    &  !: first, last indoor index for each i-domain 
    71       nleit, nlejt        !: first, last indoor index for each j-domain 
     72      nlcit , nlcjt,   &  !: dimensions of every subdomain 
     73      nldit , nldjt,   &  !: first, last indoor index for each i-domain 
     74      nleit , nlejt       !: first, last indoor index for each j-domain 
    7275 
    7376   !!---------------------------------------------------------------------- 
     
    9093   !! -------------------------------------- 
    9194 
    92    REAL(wp), PUBLIC ::   & !!: * namelist namdom * 
    93       e3zps_min = 5.0,   &  !: miminum thickness for partial steps (meters) 
    94       e3zps_rat = 0.1       !: minimum thickness ration for partial steps 
    95  
    96    !! z-coordinate (default option) (also used in the other cases 
    97    !! -----------------------------  as reference z-coordinate) 
     95   LOGICAL, PUBLIC ::           & !!: namzgr : vertical coordinate 
     96      ln_zco     =  .TRUE.  ,   &  !: z-coordinate - full step 
     97      ln_zps     =  .FALSE. ,   &  !: z-coordinate - partial step 
     98      ln_sco     =  .FALSE.        !: s-coordinate or hybrid z-s coordinate 
     99 
     100#if defined key_zco 
     101   LOGICAL, PUBLIC, PARAMETER ::   lk_zco = .TRUE.    !: z-coordinate flag (1D arrays) 
     102#else 
     103   LOGICAL, PUBLIC, PARAMETER ::   lk_zco = .FALSE.   !: z-coordinate flag (3D arrays) 
     104 
     105   !! All coordinates 
     106   !! --------------- 
     107   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   &  !: 
     108      gdep3w        ,    &  !: depth of T-points (sum of e3w) (m) 
     109      gdept , gdepw ,    &  !: analytical depth at T-W  points (m) 
     110      e3v   , e3f   ,    &  !: analytical vertical scale factors at  V--F 
     111      e3t   , e3u   ,    &  !:                                       T--U  points (m) 
     112      e3vw          ,    &  !: analytical vertical scale factors at  VW-- 
     113      e3w   , e3uw          !:                                        W--UW  points (m) 
     114#endif 
     115   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &   !: 
     116      hur, hvr,          &  !: inverse of u and v-points ocean depth (1/m) 
     117      hu , hv               !: depth at u- and v-points (meters) 
     118 
     119   !! z-coordinate with full steps (also used in the other cases as reference z-coordinate) 
     120   !! =-----------------====------ 
    98121   REAL(wp), PUBLIC, DIMENSION(jpk) ::   &  !: 
    99       gdept, gdepw,    &  !: reference depth of t- and w-points (m) 
    100       e3t, e3w            !: reference vertical scale factors at T- and W-pts (m) 
    101  
    102 #if defined key_partial_steps 
    103    !! Partial steps ('key_partial_steps') 
    104    !! ----------------------------------- 
    105    LOGICAL, PUBLIC, PARAMETER ::   lk_zps = .TRUE.   !: partial steps flag 
    106    LOGICAL, PUBLIC, PARAMETER ::   lk_sco = .FALSE.  !: s-coordinate flag 
    107    LOGICAL, PUBLIC, PARAMETER ::   lk_zco = .FALSE.  !: z-coordinate flag 
    108    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   &  !: 
    109       gdep3w,                 &  !: ??? 
    110       gdept_ps, gdepw_ps,     &  !: depth of t- and w-points (m) 
    111       e3t_ps, e3u_ps, e3v_ps, &  !: vertical scale factors at t-, u-, w-, 
    112       e3w_ps, e3f_ps,         &  !: w- and f- points (m) 
    113       e3uw_ps, e3vw_ps           !: uw- and vw- points (m) 
     122      gdept_0, gdepw_0,       &  !: reference depth of t- and w-points (m) 
     123      e3t_0  , e3w_0             !: reference vertical scale factors at T- and W-pts (m) 
     124 
     125   !! z-coordinate with partial steps 
     126   !! =-----------------=======------ 
     127   REAL(wp), PUBLIC ::      & !!: * namelist namdom * 
     128      e3zps_min = 5.0_wp,   &  !: miminum thickness for partial steps (meters) 
     129      e3zps_rat = 0.1_wp       !: minimum thickness ration for partial steps 
    114130 
    115131   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !: 
    116132      hdept, hdepw, e3tp, e3wp   !: ??? 
    117133 
    118 #elif defined key_s_coord 
    119    !! s-coordinate ('key_s_coord') 
    120    !! ---------------------------- 
    121    LOGICAL, PUBLIC, PARAMETER ::   lk_zps = .FALSE.   !: partial steps flag 
    122    LOGICAL, PUBLIC, PARAMETER ::   lk_sco = .TRUE.    !: s-coordinate flag 
    123    LOGICAL, PUBLIC, PARAMETER ::   lk_zco = .FALSE.   !: z-coordinate flag 
     134   !! s-coordinate and hybrid z-s-coordinate 
     135   !! =----------------======--------------- 
     136   REAL(wp), PUBLIC, DIMENSION(jpk) ::   &   !: 
     137      gsigt, gsigw ,   &  !: model level depth coefficient at t-, w-levels (analytic) 
     138      gsi3w        ,   &  !: model level depth coefficient at w-level (sum of gsigw) 
     139      esigt, esigw        !: vertical scale factor coef. at t-, w-levels 
     140 
    124141   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &   !: 
    125       hbatt, hbatu,    &  !: ocean depth at the vertical of  t-, u-, v- 
    126       hbatv, hbatf        !: and f-point (m) 
    127  
    128    REAL(wp), PUBLIC, DIMENSION(jpk) ::   &   !: 
    129       gsigt, gsigw ,   &  !: model level depth coefficient at t-, w-levels 
    130       gsi3w,           &  !: model level depth coefficient at w-level 
    131                           !  defined as the sum of e3w scale factors 
    132       esigt, esigw        !: vertical scale factor coef. at t-, w-levels 
    133  
    134 #else 
    135    !! z-coordinate (Default option) 
    136    !! ----------------------------- 
    137    LOGICAL, PUBLIC, PARAMETER ::   lk_zps = .FALSE.   !: partial steps flag 
    138    LOGICAL, PUBLIC, PARAMETER ::   lk_sco = .FALSE.   !: s-coordinate flag 
    139    LOGICAL, PUBLIC, PARAMETER ::   lk_zco = .TRUE.    !: s-coordinate flag 
    140 #endif 
     142      hbatv , hbatf ,   &  !: ocean depth at the vertical of  V--F 
     143      hbatt , hbatu ,   &  !:                                 T--U  points (m) 
     144      scosrf, scobot,   &  !:  ocean surface and bottom topographies (if deviating from coordinate surfaces in HYBRID) 
     145      hifv  , hiff  ,   &  !: interface depth between stretching    at  V--F 
     146      hift  , hifu         !: and quasi-uniform spacing                 T--U  points (m) 
     147 
    141148   !!---------------------------------------------------------------------- 
    142149   !! masks, bathymetry 
     
    148155   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &   !: 
    149156      bathy  ,         &  !: ocean depth (meters) 
    150       tmask_i             !: interior domain T-point mask 
     157      tmask_i,         &  !: interior domain T-point mask 
     158      bmask               !: land/ocean mask of barotropic stream function 
    151159 
    152160   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   &   !: 
    153161      tmask, umask,    &  !: land/ocean mask at T-, U-, V- and F-points 
    154162      vmask, fmask        !: 
    155  
    156    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &   !: 
    157       bmask               !: land/ocean mask of barotropic stream function 
    158163 
    159164   REAL(wp), PUBLIC, DIMENSION(jpiglo) ::   &   !: 
     
    166171      nicoa,           &  !: ??? 
    167172      njcoa               !: ??? 
    168  
    169173#endif 
    170174 
     
    201205   !! agrif sponge layer 
    202206   !!---------------------------------------------------------------------- 
    203       LOGICAL :: spongedoneT = .FALSE. 
    204       REAL(wp), DIMENSION(jpi,jpj) :: zspe1ur, zspe2vr ,zspbtr2 
     207   LOGICAL, PUBLIC :: spongedoneT = .FALSE.  !: ??? 
     208   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   & 
     209      zspe1ur, zspe2vr ,zspbtr2    !: ??? 
    205210   !!---------------------------------------------------------------------- 
    206211#endif 
Note: See TracChangeset for help on using the changeset viewer.