Changeset 770


Ignore:
Timestamp:
2007-12-16T18:17:36+01:00 (13 years ago)
Author:
gm
Message:

dev_001_GM - some small things

Location:
branches/dev_001_GM/NEMO/TOP_SRC
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_GM/NEMO/TOP_SRC/TRP/trctrp_lec.F90

    r719 r770  
    44   !! Ocean passive tracers:  namelist read options for transport 
    55   !!============================================================================== 
     6   !! History :   1.0  !  2004-03  (C. Ethe)  Original code 
     7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture 
     8   !!---------------------------------------------------------------------- 
    69#if defined key_passivetrc 
    710   !!---------------------------------------------------------------------- 
     11   !!   'key_passivetrc'                                          TOP model 
     12   !!---------------------------------------------------------------------- 
    813   !!   trc_trp_lec  : read the passive tracer namelist for transport 
    914   !!---------------------------------------------------------------------- 
    10    !! * Modules used 
    1115   USE oce_trc             ! ocean dynamics and active tracers variables 
    1216   USE trc                 ! ocean passive tracers variables 
     
    1519   PRIVATE 
    1620 
    17    !! * Accessibility 
    18    PUBLIC trc_trp_lec     ! routine called by step module 
     21   PUBLIC   trc_trp_lec    ! routine called by step module 
    1922  
    20    !! * Share module variables 
    21  
    22    !! Advection 
    23    LOGICAL, PUBLIC ::   & 
    24       ln_trcadv_cen2   = .FALSE. ,  & !!: 2nd order centered scheme flag 
    25       ln_trcadv_tvd    = .FALSE. ,  &  !: TVD scheme flag 
    26       ln_trcadv_muscl  = .FALSE. ,  &  !: MUSCL scheme flag 
    27       ln_trcadv_muscl2 = .FALSE. ,  &  !: MUSCL2 scheme flag 
    28       ln_trcadv_smolar = .TRUE.        !: Smolarkiewicz scheme flag 
    29  
    30    !! Bottom boundary layer 
    31    REAL(wp), PUBLIC ::        &   
    32       atrcbbl = 1.e+3      ! lateral coeff. for bottom boundary layer scheme (m2/s) 
    33  
    34    !! Lateral diffusion 
    35    LOGICAL , PUBLIC ::              & !!: ** lateral mixing namelist (nam_trcldf) ** 
    36       ln_trcldf_diff  = .FALSE. ,   &  !: flag of perform or not the lateral diff. 
    37       ln_trcldf_lap   = .TRUE.  ,   &  !: laplacian operator 
    38       ln_trcldf_bilap = .FALSE. ,   &  !: bilaplacian operator 
    39       ln_trcldf_level = .FALSE. ,   &  !: iso-level direction 
    40       ln_trcldf_hor   = .FALSE. ,   &  !: horizontal (geopotential) direction 
    41       ln_trcldf_iso   = .TRUE.         !: iso-neutral direction 
    42  
    43    LOGICAL , PUBLIC ::              & !!: flag of the lateral diff. scheme used 
    44       l_trcldf_lap         ,        &  !: iso-level laplacian operator 
    45       l_trcldf_bilap       ,        &  !: iso-level bilaplacian operator 
    46       l_trcldf_bilapg      ,        &  !: geopotential bilap. (s-coord) 
    47       l_trcldf_iso         ,        &  !: iso-neutral laplacian or horizontal lapacian (s-coord) 
    48       l_trczdf_iso         ,        &  !: idem for the vertical component 
    49       l_trczdf_iso_vo      ,        &  !: idem with vectopt_memory 
    50       l_trcldf_iso_zps                 !: iso-neutral laplacian (partial steps) 
    51  
    52    !! Vertical diffusion 
    53    LOGICAL , PUBLIC ::              & !!: nam_trczdf: vertical diffusion 
    54       ln_trczdf_exp = .FALSE.          !: explicit vertical diffusion scheme flag 
    55  
    56    INTEGER, PUBLIC ::               & !!: namzdf:  vertical diffusion 
    57       n_trczdf_exp = 3                 !: number of sub-time step (explicit time stepping) 
    58  
    59    LOGICAL, PUBLIC ::               &  !: 
    60       l_trczdf_exp     = .FALSE. ,  &  !: explicit vertical diffusion 
    61       l_trczdf_imp     = .FALSE.       !: implicit vertical diffusion 
     23   !                                                  !!: ** Advection (nam_traadv) ** 
     24   LOGICAL , PUBLIC ::   ln_trcadv_cen2   = .FALSE.   !: 2nd order centered scheme flag 
     25   LOGICAL , PUBLIC ::   ln_trcadv_tvd    = .FALSE.   !: TVD scheme flag 
     26   LOGICAL , PUBLIC ::   ln_trcadv_muscl  = .FALSE.   !: MUSCL scheme flag 
     27   LOGICAL , PUBLIC ::   ln_trcadv_muscl2 = .FALSE.   !: MUSCL2 scheme flag 
     28   LOGICAL , PUBLIC ::   ln_trcadv_smolar = .TRUE.    !: Smolarkiewicz scheme flag 
     29 
     30   !                                                 !!: **  bottom boundary layer (nambbl) ** 
     31   REAL(wp), PUBLIC ::   atrcbbl = 1.e+3              ! lateral coeff. for bottom boundary layer scheme (m2/s) 
     32 
     33   !                                                 !!: ** lateral mixing namelist (nam_trcldf) ** 
     34   LOGICAL , PUBLIC ::   ln_trcldf_diff  = .FALSE.    !: flag of perform or not the lateral diff. 
     35   LOGICAL , PUBLIC ::   ln_trcldf_lap   = .TRUE.     !: laplacian operator 
     36   LOGICAL , PUBLIC ::   ln_trcldf_bilap = .FALSE.    !: bilaplacian operator 
     37   LOGICAL , PUBLIC ::   ln_trcldf_level = .FALSE.    !: iso-level direction 
     38   LOGICAL , PUBLIC ::   ln_trcldf_hor   = .FALSE.    !: horizontal (geopotential) direction 
     39   LOGICAL , PUBLIC ::   ln_trcldf_iso   = .TRUE.     !: iso-neutral direction 
     40 
     41   !                                                 !!: flag of the lateral diff. scheme used 
     42   LOGICAL , PUBLIC ::   l_trcldf_lap                 !: iso-level laplacian operator 
     43   LOGICAL , PUBLIC ::   l_trcldf_bilap               !: iso-level bilaplacian operator 
     44   LOGICAL , PUBLIC ::   l_trcldf_bilapg              !: geopotential bilap. (s-coord) 
     45   LOGICAL , PUBLIC ::   l_trcldf_iso                 !: iso-neutral laplacian or horizontal lapacian (s-coord) 
     46   LOGICAL , PUBLIC ::   l_trczdf_iso                 !: idem for the vertical component 
     47   LOGICAL , PUBLIC ::   l_trczdf_iso_vo              !: idem with vectopt_memory 
     48   LOGICAL , PUBLIC ::   l_trcldf_iso_zps             !: iso-neutral laplacian (partial steps) 
     49 
     50   !                                                 !!: ** Vertical diffusion (nam_trczdf) ** 
     51   LOGICAL , PUBLIC ::   ln_trczdf_exp = .FALSE.      !: explicit vertical diffusion scheme flag 
     52 
     53   !                                                 !!: ** vertical diffusion (namzdf) ** 
     54   INTEGER , PUBLIC ::   n_trczdf_exp = 3             !: number of sub-time step (explicit time stepping) 
     55 
     56   LOGICAL , PUBLIC ::   l_trczdf_exp     = .FALSE.   !: explicit vertical diffusion 
     57   LOGICAL , PUBLIC ::   l_trczdf_imp     = .FALSE.   !: implicit vertical diffusion 
    6258 
    6359#if defined key_trcdmp 
    64    !! Newtonian damping 
    65    INTEGER  , PUBLIC ::             & !!: * newtonian damping namelist (nam_trcdmp) * 
    66       ndmptr   =   -1 ,             &  !: = 0/-1/'latitude' for damping over tracers 
    67       ndmpftr  =    2 ,             &  !: = 1 create a damping.coeff NetCDF file  
    68       nmldmptr =    0                  !: = 0/1/2 flag for damping in the mixed layer 
    69  
    70    REAL(wp) , PUBLIC ::             & !!:  * newtonian damping namelist * 
    71       sdmptr   =   50.,             &  !: surface time scale for internal damping (days) 
    72       bdmptr   =  360.,             &  !: bottom time scale for internal damping (days) 
    73       hdmptr   =  800.                 !: depth of transition between sdmp and bdmp (meters) 
    74 #endif 
    75    !!---------------------------------------------------------------------- 
    76    !!   TOP 1.0 , LOCEAN-IPSL (2005)  
    77    !! $Header$  
    78    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     60   !                                                 !!: ** newtonian damping namelist (nam_trcdmp) ** 
     61   INTEGER  , PUBLIC ::   ndmptr   =   -1             !: = 0/-1/'latitude' for damping over tracers 
     62   INTEGER  , PUBLIC ::   ndmpftr  =    2             !: = 1 create a damping.coeff NetCDF file  
     63   INTEGER  , PUBLIC ::   nmldmptr =    0             !: = 0/1/2 flag for damping in the mixed layer 
     64 
     65   !                                                 !!: ** newtonian damping (namdmp) ** 
     66   REAL(wp) , PUBLIC ::   sdmptr   =   50.            !: surface time scale for internal damping (days) 
     67   REAL(wp) , PUBLIC ::   bdmptr   =  360.            !: bottom time scale for internal damping (days) 
     68   REAL(wp) , PUBLIC ::   hdmptr   =  800.            !: depth of transition between sdmp and bdmp (meters) 
     69#endif 
     70   !!---------------------------------------------------------------------- 
     71   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     72   !! $Id$  
     73   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    7974   !!---------------------------------------------------------------------- 
    8075 
     
    8277 
    8378   SUBROUTINE trc_trp_lec 
    84       !!--------------------------------------------------------------------- 
     79      !!---------------------------------------------------------------------- 
    8580      !!                  ***  ROUTINE trc_trp_lec  *** 
    8681      !!                 
    8782      !! ** Purpose :   Read Namelist for tracer transport option 
    88       !! 
    89       !! History : 
    90       !!   9.0  !  04-03  (C. Ethe)  
    9183      !!---------------------------------------------------------------------- 
    92       !! * Local declarations 
    93  
    9484      NAMELIST/namtrcadv/ ln_trcadv_cen2 , ln_trcadv_tvd,   & 
    9585         &                 ln_trcadv_muscl, ln_trcadv_muscl2, ln_trcadv_smolar 
    96  
    9786#if  defined key_trcbbl_dif   ||   defined key_trcbbl_adv  
    9887      NAMELIST/namtrcbbl/ atrcbbl 
    9988#endif 
    100  
    10189      NAMELIST/namtrcldf/  ln_trcldf_diff  , ln_trcldf_lap  , ln_trcldf_bilap, & 
    10290         &                 ln_trcldf_level, ln_trcldf_hor, ln_trcldf_iso,   & 
    10391         &                 ahtrc0, ahtrb0, aeivtr0, trcrat 
    104  
    10592      NAMELIST/namtrczdf/ ln_trczdf_exp, n_trczdf_exp 
    106  
    10793#if defined key_trcdmp 
    10894      NAMELIST/namtrcdmp/ ndmptr, ndmpftr, nmldmptr, sdmptr, bdmptr, hdmptr 
     
    11298      ! Read Namelist namtrcadv : tracer advection scheme 
    11399      ! ------------------------- 
    114       REWIND ( numnat ) 
    115       READ   ( numnat, namtrcadv ) 
     100      REWIND( numnat ) 
     101      READ  ( numnat, namtrcadv ) 
    116102 
    117103      ! Parameter control and print 
     
    134120      ! Read Namelist namtrcbbl : Bottom boundary layer coef 
    135121      ! -------------------------------------------------- 
    136       REWIND ( numnat ) 
    137       READ   ( numnat, namtrcbbl ) 
     122      REWIND( numnat ) 
     123      READ  ( numnat, namtrcbbl ) 
    138124 
    139125      ! Parameter control and print 
     
    144130         WRITE(numout,*) ' bottom boundary layer coef.    atrcbbl = ', atrcbbl 
    145131# if defined key_trcbbl_adv 
    146             WRITE(numout,*) ' * Advective Bottom Boundary Layer' 
     132         WRITE(numout,*) ' * Advective Bottom Boundary Layer' 
    147133# endif 
    148134         WRITE(numout,*) 
     
    193179      ! Read Namelist namtdp : passive tracres damping term 
    194180      ! -------------------- 
    195       REWIND ( numnat ) 
    196       READ   ( numnat, namtrcdmp ) 
    197       IF( lzoom ) THEN 
    198          nmldmptr = 0           ! restoring to climatology at closed north or south boundaries 
    199       ENDIF 
     181      REWIND( numnat ) 
     182      READ  ( numnat, namtrcdmp ) 
     183      IF( lzoom )   nmldmptr = 0      ! restoring to climatology at closed north or south boundaries 
    200184 
    201185      ! Parameter control and print 
     
    206190         WRITE(numout,*) '~~~~~~~' 
    207191         WRITE(numout,*) '          Namelist namtrcdmp : set damping parameter' 
    208          WRITE(numout,*) 
    209192         WRITE(numout,*) '             tracers damping option         ndmptr   = ', ndmptr 
    210193         WRITE(numout,*) '             create a damping.coeff file    ndmpftr  = ', ndmpftr 
     
    215198         WRITE(numout,*) 
    216199      ENDIF 
    217  
    218 #endif 
    219  
     200#endif 
     201      ! 
    220202   END SUBROUTINE trc_trp_lec 
     203    
    221204#else 
    222205   !!---------------------------------------------------------------------- 
    223    !!   Dummy module :                      NO passive tracer 
     206   !!   Dummy module :                                         No TOP model 
    224207   !!---------------------------------------------------------------------- 
    225208CONTAINS 
     
    227210   END SUBROUTINE trc_trp_lec 
    228211#endif 
     212 
    229213  !!====================================================================== 
    230214END MODULE trctrp_lec 
  • branches/dev_001_GM/NEMO/TOP_SRC/oce_trc.F90

    r763 r770  
    1313#if defined key_passivetrc 
    1414   !!---------------------------------------------------------------------- 
    15    !!   'key_passivetrc'                                    Passive tracers 
     15   !!   'key_passivetrc'                                          TOP model 
    1616   !!---------------------------------------------------------------------- 
    1717 
Note: See TracChangeset for help on using the changeset viewer.