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 763 for branches/dev_001_GM/NEMO/TOP_SRC/oce_trc.F90 – NEMO

Ignore:
Timestamp:
2007-12-13T14:52:50+01:00 (16 years ago)
Author:
gm
Message:

dev_001_GM - Style only addition in TOP F90 h90 routines

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_GM/NEMO/TOP_SRC/oce_trc.F90

    r719 r763  
    22   !!====================================================================== 
    33   !!                      ***  MODULE  oce_trc  *** 
    4    !! Ocean passive tracer  :  share ocean-passive tracers variables 
     4   !! TOP :   variables shared between ocean and passive tracers 
    55   !!====================================================================== 
    6    !! History : 
    7    !!   9.0  !  04-03  (C. Ethe)  F90: Free form and module 
    8    !!---------------------------------------------------------------------- 
    9    !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    10    !! $Header: /home/opalod/NEMOCVSROOT/NEMO/TOP_SRC/oce_trc.F90,v 1.17 2007/05/28 02:55:05 opalod Exp $ 
    11    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    12    !!---------------------------------------------------------------------- 
    13    !! * Modules used 
    14    !! Domain characteristics 
    15    USE par_oce , ONLY :       & 
    16       cp_cfg   =>   cp_cfg,  & !: name of the configuration 
    17       jp_cfg   =>   jp_cfg,  & !: resolution of the configuration 
    18       jpiglo   =>   jpiglo,  & !: first  dimension of global domain --> i 
    19       jpjglo   =>   jpjglo,  & !: second dimension of global domain --> j 
    20       jpi      =>   jpi   ,  & !: first  dimension of grid --> i  
    21       jpj      =>   jpj   ,  & !: second dimension of grid --> j   
    22       jpk      =>   jpk   ,  & !: number of levels   
    23       jpim1    =>   jpim1 ,  & !: jpi - 1 
    24       jpjm1    =>   jpjm1 ,  & !: jpj - 1  
    25       jpkm1    =>   jpkm1 ,  & !: jpk - 1   
    26       jpij     =>   jpij  ,  & !: jpi x jpj 
    27       jpidta   =>   jpidta,  & !: first horizontal dimension  > or = jpi 
    28       jpjdta   =>   jpjdta,  & !: second horizontal dimension > or = jpj 
    29       jpkdta   =>   jpkdta,  & !: number of levels            > or = jpk 
    30       lk_esopa =>   lk_esopa   !: flag to activate the all option 
    31  
    32  
    33    !! run controm    
    34  
    35    USE in_out_manager 
    36        
    37    USE dom_oce , ONLY :           &             
    38       lzoom      => lzoom     ,  & !: zoom flag 
    39       lzoom_e    => lzoom_e   ,  & !: East  zoom type flag 
    40       lzoom_w    => lzoom_w   ,  & !: West  zoom type flag 
    41       lzoom_s    => lzoom_s   ,  & !: South zoom type flag 
    42       lzoom_n    => lzoom_n   ,  & !: North zoom type flag 
    43       lzoom_arct => lzoom_arct,  & !: ORCA    arctic zoom flag 
    44       lzoom_anta => lzoom_anta     !: ORCA antarctic zoom flag 
    45  
    46  
    47  
    48    USE dom_oce , ONLY :       &  
    49       nperio   =>   nperio,  & !: type of lateral boundary condition        
    50       nimpp    =>   nimpp ,  & !: i index for mpp-subdomain left bottom 
    51       njmpp    =>   njmpp ,  & !: j index for mpp-subdomain left bottom 
    52       nproc    =>   nproc ,  & !: number for local processor 
    53       narea    =>   narea ,  & !: number for local area 
    54       mig      =>   mig   ,  & !: local  ==> global  domain i-indice 
    55       mjg      =>   mjg   ,  & !: local  ==> global  domain i-indice 
    56       mi0      =>   mi0   ,  & !: global ==> local domain i-indice  
    57       mi1      =>   mi1   ,  & !: (mi0=1 and mi1=0 if the global indice is not in the local domain) 
    58       mj0      =>   mj0   ,  & !: global ==> local domain j-indice  
    59       mj1      =>   mj1   ,  & !: (mj0=1 and mj1=0 if the global indice is not in the local domain) 
    60       nidom    =>   nidom 
     6   !! History :   1.0  !  2004-03  (C. Ethe)  original code 
     7   !!             2.0  !  2007-12 (C. Ethe, G. Madec)  rewritting 
     8   !!---------------------------------------------------------------------- 
     9   !! NEMO/TOP 2.0,  LOCEAN-IPSL (2007) 
     10   !! $Header: $ 
     11   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     12   !!---------------------------------------------------------------------- 
     13#if defined key_passivetrc 
     14   !!---------------------------------------------------------------------- 
     15   !!   'key_passivetrc'                                    Passive tracers 
     16   !!---------------------------------------------------------------------- 
     17 
     18   !* Domain size * 
     19   USE par_oce , ONLY :   cp_cfg   =>   cp_cfg     !: name of the configuration 
     20   USE par_oce , ONLY :   jp_cfg   =>   jp_cfg     !: resolution of the configuration 
     21   USE par_oce , ONLY :   jpiglo   =>   jpiglo     !: first  dimension of global domain --> i 
     22   USE par_oce , ONLY :   jpjglo   =>   jpjglo     !: second dimension of global domain --> j 
     23   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i  
     24   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j   
     25   USE par_oce , ONLY :   jpk      =>   jpk        !: number of levels   
     26   USE par_oce , ONLY :   jpim1    =>   jpim1      !: jpi - 1 
     27   USE par_oce , ONLY :   jpjm1    =>   jpjm1      !: jpj - 1  
     28   USE par_oce , ONLY :   jpkm1    =>   jpkm1      !: jpk - 1   
     29   USE par_oce , ONLY :   jpij     =>   jpij       !: jpi x jpj 
     30   USE par_oce , ONLY :   jpidta   =>   jpidta     !: first horizontal dimension  > or = jpi 
     31   USE par_oce , ONLY :   jpjdta   =>   jpjdta     !: second horizontal dimension > or = jpj 
     32   USE par_oce , ONLY :   jpkdta   =>   jpkdta     !: number of levels            > or = jpk 
     33   USE par_oce , ONLY :   lk_esopa =>   lk_esopa   !: flag to activate the all option 
     34 
     35   !* IO manager * 
     36   USE in_out_manager      ! use all the variables 
     37   !* physical constants * 
     38   USE phycst              ! use all the variables 
     39 
     40   !* model domain * 
     41   USE dom_oce , ONLY :   lzoom      => lzoom        !: zoom flag 
     42   USE dom_oce , ONLY :   lzoom_e    => lzoom_e      !: East  zoom type flag 
     43   USE dom_oce , ONLY :   lzoom_w    => lzoom_w      !: West  zoom type flag 
     44   USE dom_oce , ONLY :   lzoom_s    => lzoom_s      !: South zoom type flag 
     45   USE dom_oce , ONLY :   lzoom_n    => lzoom_n      !: North zoom type flag 
     46   USE dom_oce , ONLY :   lzoom_arct => lzoom_arct   !: ORCA    arctic zoom flag 
     47   USE dom_oce , ONLY :   lzoom_anta => lzoom_anta   !: ORCA antarctic zoom flag 
     48   USE dom_oce , ONLY :   nperio     =>   nperio     !: type of lateral boundary condition        
     49   USE dom_oce , ONLY :   nimpp      =>   nimpp      !: i index for mpp-subdomain left bottom 
     50   USE dom_oce , ONLY :   njmpp      =>   njmpp      !: j index for mpp-subdomain left bottom 
     51   USE dom_oce , ONLY :   nproc      =>   nproc      !: number for local processor 
     52   USE dom_oce , ONLY :   narea      =>   narea      !: number for local area 
     53   USE dom_oce , ONLY :   mig        =>   mig        !: local  ==> global  domain i-indice 
     54   USE dom_oce , ONLY :   mjg        =>   mjg        !: local  ==> global  domain i-indice 
     55   USE dom_oce , ONLY :   mi0        =>   mi0        !: global ==> local domain i-indice  
     56   USE dom_oce , ONLY :   mi1        =>   mi1        !: (mi0=1 and mi1=0 if the global indice is not in the local one) 
     57   USE dom_oce , ONLY :   mj0        =>   mj0        !: global ==> local domain j-indice  
     58   USE dom_oce , ONLY :   mj1        =>   mj1        !: (mj0=1 and mj1=0 if the global indice is not in the local one) 
     59   USE dom_oce , ONLY :   nidom      =>   nidom 
     60   USE dom_oce , ONLY :   nimppt     => nimppt     !:i-indexes for each processor 
     61   USE dom_oce , ONLY :   njmppt     => njmppt       !:j-indexes for each processor 
     62   USE dom_oce , ONLY :   ibonit     => ibonit       !:i-processor neighbour existence 
     63   USE dom_oce , ONLY :   ibonjt     => ibonjt       !:j- processor neighbour existence  
     64   USE dom_oce , ONLY :   nlci       => nlci         !:i- & j-dimensions of the local subdomain 
     65   USE dom_oce , ONLY :   nlcj       => nlcj         !: 
     66   USE dom_oce , ONLY :   nldi       => nldi         !:first and last indoor i- and j-indexes 
     67   USE dom_oce , ONLY :   nlei       => nlei         !: 
     68   USE dom_oce , ONLY :   nldj       => nldj         !: 
     69   USE dom_oce , ONLY :   nlej       => nlej         !: 
     70   USE dom_oce , ONLY :   nlcit      => nlcit        !:dimensions of every i-subdomain 
     71   USE dom_oce , ONLY :   nlcjt      => nlcjt        !:dimensions of every j-subdomain 
     72   USE dom_oce , ONLY :   nldit      => nldit        !:first indoor index for each i-domain  
     73   USE dom_oce , ONLY :   nleit      => nleit        !:last indoor index for each i-domain  
     74   USE dom_oce , ONLY :   nldjt      => nldjt        !:first indoor index for each j-domain  
     75   USE dom_oce , ONLY :   nlejt      => nlejt        !:last indoor index for each j-domain  
    6176  
    62    USE dom_oce , ONLY :       &  
    63       nimppt   => nimppt  ,  & !:i-indexes for each processor 
    64       njmppt   => njmppt  ,  & !:j-indexes for each processor 
    65       ibonit   => ibonit  ,  & !:i-processor neighbour existence 
    66       ibonjt   => ibonjt  ,  & !:j- processor neighbour existence  
    67       nlci     => nlci    ,  & !:i- & j-dimensions of the local subdomain 
    68       nlcj     => nlcj    ,  & !: 
    69       nldi     => nldi    ,  & !:first and last indoor i- and j-indexes 
    70       nlei     => nlei    ,  & !: 
    71       nldj     => nldj    ,  & !: 
    72       nlej     => nlej    ,  & !: 
    73       nlcit    => nlcit   ,  & !:dimensions of every i-subdomain 
    74       nlcjt    => nlcjt   ,  & !:dimensions of every j-subdomain 
    75       nldit    => nldit   ,  & !:first indoor index for each i-domain  
    76       nleit    => nleit   ,  & !:last indoor index for each i-domain  
    77       nldjt    => nldjt   ,  & !:first indoor index for each j-domain  
    78       nlejt    => nlejt        !:last indoor index for each j-domain  
    79  
    80      
    81       !! horizontal curvilinear coordinate and scale factors 
    82    USE dom_oce , ONLY :            &     
    83       glamt    =>   glamt ,  & !: longitude of t-point (degre)   
    84       glamu    =>   glamu ,  & !: longitude of t-point (degre)   
    85       glamv    =>   glamv ,  & !: longitude of t-point (degre)   
    86       glamf    =>   glamf ,  & !: longitude of t-point (degre)   
    87       gphit    =>   gphit ,  & !: latitude  of t-point (degre)    
    88       gphiu    =>   gphiu ,  & !: latitude  of t-point (degre)    
    89       gphiv    =>   gphiv ,  & !: latitude  of t-point (degre)    
    90       gphif    =>   gphif ,  & !: latitude  of t-point (degre)    
    91       e1t      =>   e1t   ,  & !: horizontal scale factors at t-point (m)   
    92       e2t      =>   e2t   ,  & !: horizontal scale factors at t-point (m)    
    93       e1u      =>   e1u   ,  & !: horizontal scale factors at u-point (m) 
    94       e2u      =>   e2u   ,  & !: horizontal scale factors at u-point (m) 
    95       e1v      =>   e1v   ,  & !: horizontal scale factors at v-point (m) 
    96       e2v      =>   e2v        !: horizontal scale factors at v-point (m)   
    97  
    98    !! vertical coordinate and scale factors 
    99    USE dom_oce , ONLY :              &    
    100       gdept_0    =>   gdept_0 ,  & !: reference depth of t-points (m) 
    101       e3t_0      =>   e3t_0   ,  & !: reference depth of t-points (m)   
    102       e3w_0      =>   e3w_0   ,  & !: reference depth of w-points (m) 
    103       gdepw_0    =>   gdepw_0      !: reference depth of w-points (m) 
    104  
    105 #if ! defined key_zco 
    106    USE dom_oce , ONLY :                & 
    107       gdep3w   =>  gdep3w  ,  & !: ??? 
    108       gdept =>  gdept,  & !: depth of t-points (m) 
    109       gdepw =>  gdepw,  & !: depth of t-points (m) 
    110       e3t   =>  e3t  ,  & !: vertical scale factors at t- 
    111       e3u   =>  e3u  ,  & !: vertical scale factors at u- 
    112       e3v   =>  e3v  ,  & !: vertical scale factors v- 
    113       e3w   =>  e3w  ,  & !: w-points (m) 
    114       e3f   =>  e3f  ,  & !: f-points (m) 
    115       e3uw  =>  e3uw ,  & !: uw-points (m) 
    116       e3vw  =>  e3vw      !: vw-points (m) 
     77   !* horizontal mesh * 
     78   USE dom_oce , ONLY :   glamt      =>   glamt      !: longitude of t-point (degre)   
     79   USE dom_oce , ONLY :   glamu      =>   glamu      !: longitude of t-point (degre)   
     80   USE dom_oce , ONLY :   glamv      =>   glamv      !: longitude of t-point (degre)   
     81   USE dom_oce , ONLY :   glamf      =>   glamf      !: longitude of t-point (degre)   
     82   USE dom_oce , ONLY :   gphit      =>   gphit      !: latitude  of t-point (degre)    
     83   USE dom_oce , ONLY :   gphiu      =>   gphiu      !: latitude  of t-point (degre)    
     84   USE dom_oce , ONLY :   gphiv      =>   gphiv      !: latitude  of t-point (degre)    
     85   USE dom_oce , ONLY :   gphif      =>   gphif      !: latitude  of t-point (degre)    
     86   USE dom_oce , ONLY :   e1t        =>   e1t        !: horizontal scale factors at t-point (m)   
     87   USE dom_oce , ONLY :   e2t        =>   e2t        !: horizontal scale factors at t-point (m)    
     88   USE dom_oce , ONLY :   e1u        =>   e1u        !: horizontal scale factors at u-point (m) 
     89   USE dom_oce , ONLY :   e2u        =>   e2u        !: horizontal scale factors at u-point (m) 
     90   USE dom_oce , ONLY :   e1v        =>   e1v        !: horizontal scale factors at v-point (m) 
     91   USE dom_oce , ONLY :   e2v        =>   e2v        !: horizontal scale factors at v-point (m)   
     92 
     93   !* vertical mesh * 
     94   USE dom_oce , ONLY :   gdept_0    =>   gdept_0    !: reference depth of t-points (m) 
     95   USE dom_oce , ONLY :   e3t_0      =>   e3t_0      !: reference depth of t-points (m)   
     96   USE dom_oce , ONLY :   e3w_0      =>   e3w_0      !: reference depth of w-points (m) 
     97   USE dom_oce , ONLY :   gdepw_0    =>   gdepw_0    !: reference depth of w-points (m) 
     98# if ! defined key_zco 
     99   USE dom_oce , ONLY :   gdep3w     =>  gdep3w      !: ??? 
     100   USE dom_oce , ONLY :   gdept      =>  gdept       !: depth of t-points (m) 
     101   USE dom_oce , ONLY :   gdepw      =>  gdepw       !: depth of t-points (m) 
     102   USE dom_oce , ONLY :   e3t        =>  e3t         !: vertical scale factors at t- 
     103   USE dom_oce , ONLY :   e3u        =>  e3u         !: vertical scale factors at u- 
     104   USE dom_oce , ONLY :   e3v        =>  e3v         !: vertical scale factors v- 
     105   USE dom_oce , ONLY :   e3w        =>  e3w         !: w-points (m) 
     106   USE dom_oce , ONLY :   e3f        =>  e3f         !: f-points (m) 
     107   USE dom_oce , ONLY :   e3uw       =>  e3uw        !: uw-points (m) 
     108   USE dom_oce , ONLY :   e3vw       =>  e3vw        !: vw-points (m) 
     109# endif 
     110   USE dom_oce , ONLY :   ln_zps     =>  ln_zps      !: partial steps flag 
     111   USE dom_oce , ONLY :   ln_sco     =>  ln_sco      !: s-coordinate flag 
     112   USE dom_oce , ONLY :   ln_zco     =>  ln_zco      !: z-coordinate flag 
     113   USE dom_oce , ONLY :   lk_zco     =>  lk_zco      !: z-coordinate flag (1D or 3D arrays) 
     114   USE dom_oce , ONLY :   hbatt     =>   hbatt       !: ocean depth at the vertical of  t-point (m) 
     115   USE dom_oce , ONLY :   hbatu     =>   hbatu       !: ocean depth at the vertical of  u-point (m) 
     116   USE dom_oce , ONLY :   hbatv     =>   hbatv       !: ocean depth at the vertical of w-point (m) 
     117   USE dom_oce , ONLY :   gsigt     =>   gsigt       !: model level depth coefficient at T-levels 
     118   USE dom_oce , ONLY :   gsigw     =>   gsigw       !: model level depth coefficient at W-levels 
     119   USE dom_oce , ONLY :   gsi3w     =>   gsi3w       !: model level depth coef at w-levels (defined as the sum of e3w) 
     120   USE dom_oce , ONLY :   esigt     =>   esigt       !: vertical scale factor coef. at t-levels 
     121   USE dom_oce , ONLY :   esigw     =>   esigw       !: vertical scale factor coef. at w-levels 
     122 
     123   !* masks, bathymetry * 
     124   USE dom_oce , ONLY :   mbathy    =>   mbathy      !: number of ocean level (=0,  & 1, ... , jpk-1)  
     125   USE dom_oce , ONLY :   tmask_i   =>   tmask_i     !: Interior mask at t-points 
     126   USE dom_oce , ONLY :   tmask     =>   tmask       !: land/ocean mask at t-points 
     127   USE dom_oce , ONLY :   umask     =>   umask       !: land/ocean mask at u-points    
     128   USE dom_oce , ONLY :   vmask     =>   vmask       !: land/ocean mask at v-points  
     129   USE dom_oce , ONLY :   fmask     =>   fmask       !: land/ocean mask at f-points  
     130# if defined key_off_degrad 
     131   USE dom_oce , ONLY :   facvol    =>   facvol      !: volume factor for degradation 
     132# endif 
     133 
     134   !* time domain * 
     135   USE dom_oce , ONLY :   neuler    =>   neuler      !: restart euler forward option (0=Euler) 
     136   USE dom_oce , ONLY :   rdt       =>   rdt         !: time step for the dynamics  
     137   USE dom_oce , ONLY :   atfp      =>   atfp        !: asselin time filter parameter 
     138   USE dom_oce , ONLY :   atfp1     =>   atfp1       !: asselin time filter coeff. (atfp1= 1-2*atfp) 
     139   USE dom_oce , ONLY :   rdttra    =>   rdttra      !: vertical profile of tracer time step 
     140   USE daymod  , ONLY :   ndastp    =>   ndastp      !: time step date in year/month/day aammjj 
     141   USE daymod  , ONLY :   nday_year =>   nday_year   !: curent day counted from jan 1st of the current year 
     142   USE daymod  , ONLY :   nyear     =>   nyear       !: Current year 
     143   USE daymod  , ONLY :   nmonth    =>   nmonth      !: Current month 
     144   USE daymod  , ONLY :   nday      =>   nday        !: Current day 
     145 
     146   !* ocean fields: here now and after fields * 
     147   USE oce , ONLY :   ua      =>    ua      !: i-horizontal velocity (m s-1)  
     148   USE oce , ONLY :   va      =>    va      !: j-horizontal velocity (m s-1) 
     149   USE oce , ONLY :   un      =>    un      !: i-horizontal velocity (m s-1)  
     150   USE oce , ONLY :   vn      =>    vn      !: j-horizontal velocity (m s-1) 
     151   USE oce , ONLY :   wn      =>    wn      !: vertical velocity (m s-1)   
     152   USE oce , ONLY :   tn      =>    tn      !: pot. temperature (celsius) 
     153   USE oce , ONLY :   sn      =>    sn      !: salinity (psu) 
     154   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)  
     155   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     156# if defined key_trc_diatrd 
     157   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s) 
     158# endif 
     159 
     160 
     161   USE lib_mpp , ONLY :   lk_mpp    =>  lk_mpp       !: Mpp flag 
     162 
     163   USE dynspg_oce , ONLY :   lk_dynspg_rl   =>  lk_dynspg_rl      !: rigid lid flag 
     164 
     165   USE dom_oce , ONLY :   n_cla     =>   n_cla         !: flag (0/1) for cross land advection  
     166 
     167 
     168 
     169   !* surface fluxes * 
     170# if defined key_flx_bulk_monthly || defined key_flx_bulk_daily || defined key_flx_core 
     171   USE blk_oce, ONLY :   vatm       =>    vatm       !: wind speed at sea surface (m s-1) 
     172# endif 
     173   USE taumod , ONLY :   taux       =>    taux       !: i-surface stress component 
     174   USE taumod , ONLY :   tauy       =>    tauy       !: j-surface stress component 
     175   USE ocesbc , ONLY :   qt         =>    qt         !: total surface heat flux (w m-2)    
     176   USE ocesbc , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)   
     177   USE ocesbc , ONLY :   emp        =>    emp        !: evaporation minus precipitation (kg m-2 s-2)  
     178   USE ocesbc , ONLY :   emps       =>    emps       !: evaporation minus precipitation (kg m-2 s-2) 
     179   USE traqsr , ONLY :   xsi1       =>   xsi1        !: first depth of extinction 
     180   USE traqsr , ONLY :   ln_qsr_sms =>  ln_qsr_sms   !: flag to use or not the biological fluxes for light 
     181   USE flxrnf , ONLY :   upsrnfh    =>   upsrnfh     !: mixed adv scheme in runoffs vicinity (hori.)  
     182   USE flxrnf , ONLY :   upsrnfz    =>   upsrnfz     !: mixed adv scheme in runoffs vicinity (vert.) 
     183   USE flxrnf , ONLY :   upsadv     =>   upsadv      !: mixed adv scheme in straits vicinity (hori.) 
     184 
     185   !* freezing area * 
     186   USE ocfzpt , ONLY :   freeze      =>    freeze     !: ice mask (0 or 1)   
     187   USE ocfzpt , ONLY :   fzptn       =>    fzptn      !: now freezing temperature at ocean surface   
     188 
     189   !* bottom boundary layer * 
     190# if   defined key_trabbl_dif   ||   defined key_trabbl_adv 
     191   USE trabbl , ONLY :   atrbbl   =>   atrbbl     !: lateral coeff. for bottom boundary layer scheme (m2/s) 
     192#  if defined key_off_tra 
     193   USE trabbl, ONLY :   bblx   => bblx         !: ??? 
     194   USE trabbl, ONLY :   bbly   => bbly         !: ??? 
     195#  endif 
     196# endif 
     197 
     198   !* lateral diffusivity (tracers) * 
     199   USE ldftra_oce , ONLY :   aht0    =>   aht0     !: horizontal eddy diffusivity for tracers (m2/s) 
     200   USE ldftra_oce , ONLY :   ahtb0   =>   ahtb0    !: background eddy diffusivity for isopycnal diff. (m2/s) 
     201   USE ldftra_oce , ONLY :   ahtu    =>   ahtu     !: lateral diffusivity coef. at u-points  
     202   USE ldftra_oce , ONLY :   ahtv    =>   ahtv     !: lateral diffusivity coef. at v-points  
     203   USE ldftra_oce , ONLY :   ahtw    =>   ahtw     !: lateral diffusivity coef. at w-points  
     204   USE ldftra_oce , ONLY :   ahtt    =>   ahtt     !: lateral diffusivity coef. at t-points 
     205   USE ldftra_oce , ONLY :   aeiv0   =>   aeiv0    !: eddy induced velocity coefficient (m2/s)  
     206   USE ldftra_oce , ONLY :   aeiu    =>   aeiu     !: eddy induced velocity coef. at u-points (m2/s)    
     207   USE ldftra_oce , ONLY :   aeiv    =>   aeiv     !: eddy induced velocity coef. at v-points (m2/s)  
     208   USE ldftra_oce , ONLY :   aeiw    =>   aeiw     !: eddy induced velocity coef. at w-points (m2/s)  
     209 
     210   !* vertical diffusion * 
     211   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp   
     212   USE zdf_oce , ONLY :   avt0       =>   avt0        !: vertical eddy diffusivity for tracers (m2/s) 
     213   USE zdf_oce , ONLY :   ln_zdfnpc  =>   ln_zdfnpc   !: convection: non-penetrative convection flag 
     214# if defined key_zdfddm 
     215   USE zdfddm  , ONLY :   avs        =>    avs        !: salinity vertical diffusivity coeff. at w-point 
     216# endif 
     217 
     218   !* mixing & mixed layer depth * 
     219   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline) 
     220   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m) 
     221   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m) 
     222 
     223   !* direction of lateral diffusion * 
     224   USE ldfslp , ONLY :   lk_ldfslp  =>  lk_ldfslp     !: slopes flag 
     225# if   defined key_ldfslp 
     226   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-direction slope at u-, w-points 
     227   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-direction slope at v-, w-points 
     228   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-direction slope at u-, w-points 
     229   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-direction slope at v-, w-points 
     230# endif 
     231 
     232#else 
     233   !!---------------------------------------------------------------------- 
     234   !!  Empty module :                                     No passive tracer 
     235   !!---------------------------------------------------------------------- 
    117236#endif 
    118237 
    119    USE dom_oce ,   ONLY :            &       
    120       ln_zps   =>  ln_zps ,  & !: partial steps flag 
    121       ln_sco   =>  ln_sco ,  & !: s-coordinate flag 
    122       ln_zco   =>  ln_zco ,  & !: z-coordinate flag 
    123       lk_zco   =>  lk_zco      !: z-coordinate flag (1D or 3D arrays) 
    124  
    125    USE lib_mpp ,   ONLY :            &      
    126       lk_mpp   =>  lk_mpp      !: Mpp flag 
    127  
    128    USE dynspg_oce ,   ONLY :            &      
    129       lk_dynspg_rl   =>  lk_dynspg_rl      !: rigid lid flag 
    130  
    131  
    132    USE dom_oce , ONLY :              &    
    133       hbatt   =>   hbatt  ,  & !: ocean depth at the vertical of  t-point (m) 
    134       hbatu   =>   hbatu  ,  & !: ocean depth at the vertical of  u-point (m) 
    135       hbatv   =>   hbatv  ,  & !: ocean depth at the vertical of w-point (m) 
    136       gsigt   =>   gsigt  ,  & !: model level depth coefficient at t-,  & w-levelsvertical scale factors at u- 
    137       gsigw   =>   gsigw  ,  & !: model level depth coefficient at t-,  & w-levelsvertical scale factors v- 
    138       gsi3w   =>   gsi3w  ,  & !: model level depth coef at w-levels (defined as the sum of e3w) 
    139       esigt   =>   esigt  ,  & !: vertical scale factor coef. at t-levels 
    140       esigw   =>   esigw       !: vertical scale factor coef. at w-levels 
    141  
    142    !! masks, bathymetry 
    143    USE dom_oce , ONLY :             &     
    144       mbathy   =>   mbathy,  & !: number of ocean level (=0,  & 1, ... , jpk-1)  
    145       tmask_i  =>   tmask_i, & !: Interior mask at t-points 
    146       tmask    =>   tmask ,  & !: land/ocean mask at t-points 
    147       umask    =>   umask ,  & !: land/ocean mask at u-points    
    148       vmask    =>   vmask ,  & !: land/ocean mask at v-points  
    149       fmask    =>   fmask      !: land/ocean mask at f-points  
    150  
    151 #if defined key_off_degrad 
    152    USE dom_oce , ONLY :                 & 
    153       facvol   =>   facvol     !: volume factor for degradation 
    154 #endif 
    155  
    156    USE dom_oce , ONLY :         & 
    157       n_cla   =>   n_cla       !: flag (0/1) for cross land advection  
    158  
    159    !! time domain 
    160    USE dom_oce , ONLY :                 & 
    161       neuler   =>   neuler,  & !: restart euler forward option (0=Euler) 
    162       rdt      =>   rdt   ,  & !: time step for the dynamics  
    163       atfp     =>   atfp  ,  & !: asselin time filter parameter 
    164       atfp1    =>   atfp1 ,  & !: asselin time filter coeff. (atfp1= 1-2*atfp) 
    165       rdttra   =>   rdttra     !: vertical profile of tracer time step 
    166  
    167    USE daymod , ONLY :                 & 
    168       ndastp    =>   ndastp,  &    !: time step date in year/month/day aammjj 
    169       nday_year =>   nday_year, &  !: curent day counted from jan 1st of the current year 
    170       nyear     =>   nyear,   &  !: Current year 
    171       nmonth    =>   nmonth,  &  !: Current month 
    172       nday      =>   nday        !: Current day 
    173  
    174    !! physical constants 
    175    USE phycst ,   ONLY :                &   
    176       ra       =>   ra    ,  & !: earth radius 
    177       rpi      =>   rpi   ,  & !: pi 
    178       rday     =>   rday  ,  & !: day 
    179       rauw     =>   rauw  ,  & !: density of pure water kg/m3 
    180       ro0cpr   =>   ro0cpr,  & !: = 1. / ( rau0 * rcp ) 
    181       rad      =>   rad   ,  & !: conversion coeff. from degre into radian 
    182       raass    =>   raass ,  & !: number of seconds in one year 
    183       rmoss    =>   rmoss ,  & !: number of seconds in one month 
    184       rjjss    =>   rjjss      !: number of seconds in one day 
    185  
    186    !! present fields (now) 
    187    USE oce , ONLY :            &      
    188       ua      =>    ua    ,  & !: i-horizontal velocity (m s-1)  
    189       va      =>    va    ,  & !: j-horizontal velocity (m s-1) 
    190       un      =>    un    ,  & !: i-horizontal velocity (m s-1)  
    191       vn      =>    vn    ,  & !: j-horizontal velocity (m s-1) 
    192       wn      =>    wn    ,  & !: vertical velocity (m s-1)   
    193       tn      =>    tn    ,  & !: pot. temperature (celsius) 
    194       sn      =>    sn    ,  & !: salinity (psu) 
    195       rhop    =>    rhop  ,  & !: potential volumic mass (kg m-3)  
    196       rhd     =>    rhd        !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
    197  
    198 #if defined key_trc_diatrd 
    199    USE oce , ONLY :          & 
    200       hdivn   =>    hdivn      !: horizontal divergence (1/s) 
    201 #endif 
    202  
    203 #if defined key_flx_bulk_monthly || defined key_flx_bulk_daily || defined key_flx_core 
    204    !! wind speed 
    205    USE blk_oce , ONLY :        &      
    206       vatm    =>    vatm       !: wind speed at sea surface (m s-1) 
    207 #endif 
    208  
    209    !! wind speed 
    210    USE taumod , ONLY :        &      
    211       taux    =>    taux ,  &  !: i-surface stress component 
    212       tauy    =>    tauy       !: j-surface stress component 
    213  
    214 #if   defined key_trabbl_dif   ||   defined key_trabbl_adv 
    215    USE trabbl , ONLY :           &       
    216       atrbbl   =>   atrbbl     !: lateral coeff. for bottom boundary layer scheme (m2/s) 
    217 #  if defined key_off_tra 
    218    USE trabbl, ONLY :            & 
    219       bblx   => bblx,       & 
    220       bbly   => bbly 
    221 #  endif 
    222 #endif 
    223  
    224    !! lateral diffusivity (tracers) 
    225    USE ldftra_oce ,   ONLY :             &     
    226       aht0    =>   aht0  ,  &  !: horizontal eddy diffusivity for tracers (m2/s) 
    227       ahtb0   =>   ahtb0 ,  &  !: background eddy diffusivity for isopycnal diff. (m2/s) 
    228       ahtu    =>   ahtu  ,  &  !: lateral diffusivity coef. at u-points  
    229       ahtv    =>   ahtv  ,  &  !: lateral diffusivity coef. at v-points  
    230       ahtw    =>   ahtw  ,  &  !: lateral diffusivity coef. at w-points  
    231       ahtt    =>   ahtt  ,  &  !: lateral diffusivity coef. at t-points 
    232       aeiv0   =>   aeiv0 ,  &  !: eddy induced velocity coefficient (m2/s)  
    233       aeiu    =>   aeiu  ,  &  !: eddy induced velocity coef. at u-points (m2/s)    
    234       aeiv    =>   aeiv  ,  &  !: eddy induced velocity coef. at v-points (m2/s)  
    235       aeiw    =>   aeiw        !: eddy induced velocity coef. at w-points (m2/s)  
    236  
    237    !! vertical diffusion 
    238    USE zdf_oce , ONLY :      &     
    239       avt            =>   avt          ,  & !: vert. diffusivity coef. at w-point for temp   
    240       avt0           =>   avt0         ,  & !: vertical eddy diffusivity for tracers (m2/s) 
    241       ln_zdfnpc      =>   ln_zdfnpc         !: convection: non-penetrative convection flag 
    242  
    243  
    244 #if defined key_zdfddm 
    245    USE zdfddm , ONLY :             &      
    246       avs     =>    avs        !: salinity vertical diffusivity coeff. at w-point 
    247 #endif 
    248  
    249    !! penetrative solar radiation 
    250    USE traqsr , ONLY :            & 
    251       xsi1        =>   xsi1    ,  & !: first depth of extinction 
    252       ln_qsr_sms  =>  ln_qsr_sms    !: flag to use or not the biological fluxes for light 
    253  
    254    !! surface fluxes 
    255    USE ocesbc , ONLY :             &    
    256       qt      =>    qt    ,  & !: total surface heat flux (w m-2)    
    257       qsr     =>    qsr   ,  & !: penetrative solar radiation (w m-2)   
    258       emp     =>    emp   ,  & !: evaporation minus precipitation (kg m-2 s-2)  
    259       emps    =>    emps       !: evaporation minus precipitation (kg m-2 s-2) 
    260  
    261    !! freezing area 
    262    USE ocfzpt , ONLY :            &       
    263       freeze  =>    freeze,  & !: ice mask (0 or 1)   
    264       fzptn   =>    fzptn      !: now freezing temperature at ocean surface   
    265  
    266  
    267    !! mixing layer depth (turbocline) 
    268    USE zdfmxl , ONLY :             &     
    269       hmld    =>   hmld   ,  & !: mixing layer depth (turbocline) 
    270       hmlp    =>   hmlp   ,  & !: mixed layer depth  (rho=rho0+zdcrit) (m) 
    271       hmlpt   =>   hmlpt       !: mixed layer depth at t-points (m) 
    272  
    273    USE ldfslp , ONLY :              &  
    274       lk_ldfslp  =>  lk_ldfslp     !: slopes flag 
    275 #if   defined key_ldfslp 
    276    !! direction of lateral diffusion (momentum  tracers)  
    277    USE ldfslp , ONLY :              &  
    278       uslp       =>   uslp    ,  & !: i-direction slope at u-, w-points 
    279       vslp       =>   vslp    ,  & !: j-direction slope at v-, w-points 
    280       wslpi      =>   wslpi   ,  & !: i-direction slope at u-, w-points 
    281       wslpj      =>   wslpj        !: j-direction slope at v-, w-points 
    282 #endif 
    283  
    284    !! ocean forcings runoff 
    285    USE flxrnf , ONLY :              &    
    286       upsrnfh =>   upsrnfh ,  & !: mixed adv scheme in runoffs vicinity (hori.)  
    287       upsrnfz =>   upsrnfz ,  & !: mixed adv scheme in runoffs vicinity (vert.) 
    288       upsadv  =>   upsadv       !: mixed adv scheme in straits vicinity (hori.) 
    289  
     238   !!====================================================================== 
    290239END MODULE oce_trc 
Note: See TracChangeset for help on using the changeset viewer.