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 5105 for branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90 – NEMO

Ignore:
Timestamp:
2015-02-24T15:46:25+01:00 (9 years ago)
Author:
cbricaud
Message:

bug correction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90

    r4990 r5105  
    88   !!---------------------------------------------------------------------- 
    99#if defined key_top 
     10 
     11#if defined key_crs 
     12 
     13  !* Domain size * 
     14   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i  
     15   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j   
     16   USE par_oce , ONLY :   jpk      =>   jpk        !: number of levels   
     17   USE par_oce , ONLY :   jpim1    =>   jpim1      !: jpi - 1 
     18   USE par_oce , ONLY :   jpjm1    =>   jpjm1      !: jpj - 1  
     19   USE par_oce , ONLY :   jpkm1    =>   jpkm1      !: jpk - 1   
     20   USE par_oce , ONLY :   jpij     =>   jpij       !: jpi x jpj 
     21   USE par_oce , ONLY :   lk_esopa =>   lk_esopa   !: flag to activate the all option 
     22   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature 
     23   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity 
     24 
     25   !* IO manager * 
     26   USE in_out_manager 
     27 
     28   !* Memory Allocation * 
     29   USE wrk_nemo 
     30 
     31   !* Timing * 
     32   USE timing, ONLY : timing_start , timing_stop 
     33 
     34   !* MPP library                          
     35   USE lib_mpp 
     36 
     37   !* Fortran utilities                          
     38   USE lib_fortran 
     39 
     40   !* Lateral boundary conditions                          
     41   USE lbclnk 
     42 
     43   !* physical constants * 
     44   USE phycst 
     45 
     46   !* 1D configuration 
     47   USE c1d 
     48 
     49   !* model domain * 
     50   USE dom_oce , ONLY : narea => narea 
     51   USE dom_oce , ONLY : nproc => nproc 
     52   USE dom_oce , ONLY : nimpp => nimpp 
     53   USE dom_oce , ONLY : njmpp => njmpp 
     54   USE dom_oce , ONLY : nreci => nreci 
     55   USE dom_oce , ONLY : nrecj => nrecj 
     56   USE dom_oce , ONLY : nlci  => nlci 
     57   USE dom_oce , ONLY : nldi  => nldi 
     58   USE dom_oce , ONLY : nlei  => nlei 
     59   USE dom_oce , ONLY : nlcj  => nlcj 
     60   USE dom_oce , ONLY : nldj  => nldj 
     61   USE dom_oce , ONLY : nlej  => nlej 
     62   USE dom_oce , ONLY : nlcit  => nlcit 
     63   USE dom_oce , ONLY : nldit  => nldit 
     64   USE dom_oce , ONLY : nleit  => nleit 
     65   USE dom_oce , ONLY : nlcjt  => nlcjt 
     66   USE dom_oce , ONLY : nldjt  => nldjt 
     67   USE dom_oce , ONLY : nlejt  => nlejt 
     68   USE dom_oce , ONLY : nimppt => nimppt 
     69   USE dom_oce , ONLY : njmppt => njmppt 
     70   USE dom_oce , ONLY : ibonit => ibonit 
     71   USE dom_oce , ONLY : ibonjt => ibonjt 
     72   USE dom_oce , ONLY : lk_vvl => lk_vvl 
     73   USE dom_oce , ONLY : rdt => rdt 
     74   USE dom_oce , ONLY : ln_zco => ln_zco 
     75   USE dom_oce , ONLY : ln_zps => ln_zps 
     76   USE dom_oce , ONLY : ln_sco => ln_sco 
     77   USE dom_oce , ONLY : neuler => neuler 
     78 
     79   USE crs,  ONLY : mi0 => mi0  
     80   USE crs,  ONLY : mi1 => mi1  
     81   USE crs,  ONLY : mj0 => mj0  
     82   USE crs,  ONLY : mj1 => mj1  
     83 
     84   USE dom_oce , ONLY :  lzoom => lzoom  
     85   !USE dom_oce , ONLY :  =>  
     86 
     87   !* horizontal mesh * 
     88   USE crs , ONLY :   glamt      =>   glamt_crs      !: longitude of t-point (degre)   
     89   USE crs , ONLY :   glamu      =>   glamu_crs      !: longitude of t-point (degre)   
     90   USE crs , ONLY :   glamv      =>   glamv_crs      !: longitude of t-point (degre)   
     91   USE crs , ONLY :   glamf      =>   glamf_crs      !: longitude of t-point (degre)   
     92   USE crs , ONLY :   gphit      =>   gphit_crs      !: latitude  of t-point (degre)    
     93   USE crs , ONLY :   gphiu      =>   gphiu_crs      !: latitude  of t-point (degre)    
     94   USE crs , ONLY :   gphiv      =>   gphiv_crs      !: latitude  of t-point (degre)    
     95   USE crs , ONLY :   gphif      =>   gphif_crs      !: latitude  of t-point (degre)    
     96   USE crs , ONLY :   e1t        =>   e1t_crs        !: horizontal scale factors at t-point (m)   
     97   USE crs , ONLY :   e2t        =>   e2t_crs        !: horizontal scale factors at t-point (m)    
     98   USE crs , ONLY :   e1e2t      =>   e1e2t_crs      !: cell surface at t-point (m2) 
     99   USE crs , ONLY :   e1u        =>   e1u_crs        !: horizontal scale factors at u-point (m) 
     100   USE crs , ONLY :   e2u        =>   e2u_crs        !: horizontal scale factors at u-point (m) 
     101   USE crs , ONLY :   e1v        =>   e1v_crs        !: horizontal scale factors at v-point (m) 
     102   USE crs , ONLY :   e2v        =>   e2v_crs        !: horizontal scale factors at v-point (m)   
     103   USE crs , ONLY :   e3t        =>  e3t_crs         !: vertical scale factors at t- 
     104   USE crs , ONLY :   e3t_0      =>  e3t_crs         !: vertical scale factors at t- 
     105   USE crs , ONLY :   fse3t      =>  e3t_crs 
     106   USE crs , ONLY :   fse3t_b      =>  e3t_crs 
     107   USE crs , ONLY :   fse3t_a      =>  e3t_crs 
     108   USE crs , ONLY :   fse3w      =>  e3w_crs 
     109   USE crs , ONLY :   e3u        =>  e3u_crs         !: vertical scale factors at u- 
     110   USE crs , ONLY :   e3u_0      =>  e3u_crs         !: vertical scale factors at u- 
     111   USE crs , ONLY :   e3v        =>  e3v_crs         !: vertical scale factors v- 
     112   USE crs , ONLY :   e3v_0      =>  e3v_crs         !: vertical scale factors v- 
     113   USE crs , ONLY :   e3w        =>  e3w_crs         !: w-points (m) 
     114   USE crs , ONLY :   e3w_0      =>  e3w_crs         !: w-points (m) 
     115   USE crs , ONLY :   e3f        =>  e3f_crs         !: f-points (m) 
     116   USE crs , ONLY :   ff         =>  ff_crs         !: f-points (m) 
     117 
     118   USE crs , ONLY :   gdept_0    =>  gdept_crs       !: depth of t-points (m) 
     119   USE dom_oce , ONLY :   gdept_1d   =>  gdept_1d      !: depth of t-points (m) 
     120#if defined key_zco 
     121   USE crs , ONLY :   gdept      =>  gdept_crs       !: depth of t-points (m) 
     122   USE crs , ONLY :   gdepw      =>  gdepw_crs       !: depth of t-points (m) 
     123#endif 
     124  !* masks, bathymetry * 
     125   USE crs , ONLY :   mbkt       =>   mbkt_crs       !: vertical index of the bottom last T- ocean level 
     126   USE crs , ONLY :   mbku       =>   mbku_crs       !: vertical index of the bottom last U- ocean level 
     127   USE crs , ONLY :   mbkv       =>   mbkv_crs       !: vertical index of the bottom last V- ocean level 
     128   USE crs , ONLY :   tmask_i    =>   tmask_i_crs    !: Interior mask at t-points 
     129   USE crs , ONLY :   tmask      =>   tmask_crs      !: land/ocean mask at t-points 
     130   USE crs , ONLY :   umask      =>   umask_crs      !: land/ocean mask at u-points    
     131   USE crs , ONLY :   vmask      =>   vmask_crs      !: land/ocean mask at v-points  
     132   USE crs , ONLY :   fmask      =>   fmask_crs      !: land/ocean mask at f-points  
     133 
     134 !* ocean fields: here now and after fields * 
     135!cbr?   USE crs , ONLY :   ua      =>    ua_crs      !: i-horizontal velocity (m s-1)  
     136!cbr?   USE crs , ONLY :   va      =>    va_crs      !: j-horizontal velocity (m s-1) 
     137   USE crs , ONLY :   un      =>    un_crs      !: i-horizontal velocity (m s-1)  
     138   USE crs , ONLY :   vn      =>    vn_crs      !: j-horizontal velocity (m s-1) 
     139   USE crs , ONLY :   wn      =>    wn_crs      !: vertical velocity (m s-1)   
     140   USE crs , ONLY :   tsn     =>    tsn_crs     !: 4D array contaning ( tn, sn ) 
     141   USE oce , ONLY :   tsb     =>    tsb     !: 4D array contaning ( tb, sb ) 
     142   USE oce , ONLY :   tsa     =>    tsa     !: 4D array contaning ( ta, sa ) 
     143   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)  
     144   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     145   USE crs , ONLY :   hdivn   =>    hdivn_crs   !: horizontal divergence (1/s) 
     146   USE crs , ONLY :   hdivb   =>    hdivb_crs   !: horizontal divergence (1/s) 
     147   USE crs , ONLY :   sshb    =>    sshb_crs    !: sea surface height at t-point [m]    
     148   USE crs , ONLY :   sshn    =>    sshn_crs    !: sea surface height at t-point [m]    
     149   USE crs , ONLY :   ssha    =>    ssha_crs    !: sea surface height at t-point [m]    
     150 
     151   !* surface fluxes * 
     152   USE crs , ONLY :   utau       =>    utau_crs       !: i-surface stress component 
     153   USE crs , ONLY :   vtau       =>    vtau_crs       !: j-surface stress component 
     154   USE crs , ONLY :   wndm       =>    wndm_crs       !: 10m wind speed  
     155   USE crs , ONLY :   qsr        =>    qsr_crs        !: penetrative solar radiation (w m-2)   
     156   USE crs , ONLY :   emp        =>    emp_crs        !: freshwater budget: volume flux               [Kg/m2/s] 
     157   USE crs , ONLY :   emp_b      =>    emp_b_crs      !: freshwater budget: volume flux               [Kg/m2/s] 
     158   USE crs , ONLY :   sfx        =>    sfx_crs        !: freshwater budget: concentration/dillution   [Kg/m2/s] 
     159   USE crs , ONLY :   fmmflx     =>    fmmflx_crs     !: freshwater budget: volume flux               [Kg/m2/s] 
     160   USE crs , ONLY :   rnf        =>    rnf_crs        !: river runoff   [Kg/m2/s] 
     161   USE crs , ONLY :   fr_i       =>    fr_i_crs       !: ice fraction (between 0 to 1) 
     162 
     163   USE crs , ONLY :   avt        =>   avt_crs         !: vert. diffusivity coef. at w-point for temp   
     164#if defined key_zdfddm 
     165   USE crs , ONLY :   avs        =>   avs_crs         !: salinity vertical diffusivity coeff. at w-point 
     166#endif 
     167 
     168!cbr   USE trc_oce 
     169   USE trc_oce, ONLY : lk_offline 
     170   USE trc_oce, ONLY : nn_dttrc 
     171 
     172   USE crs , ONLY :   nmln        =>   nmln_crs        !: number of level in the mixed layer 
     173   USE crs , ONLY :   hmld        =>   hmld_crs        !: mixing layer depth (turbocline) 
     174   USE crs , ONLY :   hmlp        =>   hmlp_crs        !: mixed layer depth  (rho=rho0+zdcrit) (m) 
     175   USE crs , ONLY :   hmlpt       =>   hmlpt_crs       !: mixed layer depth at t-points (m) 
     176 
     177  !* direction of lateral diffusion * 
     178#if   defined key_ldfslp 
     179   USE ldfslp_crs , ONLY :   uslp       =>   uslp_crs         !: i-direction slope at u-, w-points 
     180   USE ldfslp_crs , ONLY :   vslp       =>   vslp_crs         !: j-direction slope at v-, w-points 
     181   USE ldfslp_crs , ONLY :   wslpi      =>   wslpi_crs        !: i-direction slope at u-, w-points 
     182   USE ldfslp_crs , ONLY :   wslpj      =>   wslpj_crs        !: j-direction slope at v-, w-points 
     183#endif 
     184 
     185#else 
     186 
    10187   !!---------------------------------------------------------------------- 
    11188   !!   'key_top'                                                TOP models 
     
    24201   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity 
    25202 
     203  !* model domain * 
     204   USE dom_oce , ONLY : narea => narea 
     205   USE dom_oce , ONLY : nproc => nproc 
     206   USE dom_oce , ONLY : nimpp => nimpp 
     207   USE dom_oce , ONLY : njmpp => njmpp 
     208   USE dom_oce , ONLY : nreci => nreci 
     209   USE dom_oce , ONLY : nrecj => nrecj 
     210   USE dom_oce , ONLY : nlci  => nlci 
     211   USE dom_oce , ONLY : nldi  => nldi 
     212   USE dom_oce , ONLY : nlei  => nlei 
     213   USE dom_oce , ONLY : nlcj  => nlcj 
     214   USE dom_oce , ONLY : nldj  => nldj 
     215   USE dom_oce , ONLY : nlej  => nlej 
     216   USE dom_oce , ONLY : nlcit  => nlcit 
     217   USE dom_oce , ONLY : nldit  => nldit 
     218   USE dom_oce , ONLY : nleit  => nleit 
     219   USE dom_oce , ONLY : nlcjt  => nlcjt 
     220   USE dom_oce , ONLY : nldjt  => nldjt 
     221   USE dom_oce , ONLY : nlejt  => nlejt 
     222   USE dom_oce , ONLY : nimppt => nimppt 
     223   USE dom_oce , ONLY : njmppt => njmppt 
     224   USE dom_oce , ONLY : ibonit => ibonit 
     225   USE dom_oce , ONLY : ibonjt => ibonjt 
     226   USE dom_oce , ONLY : lk_vvl => lk_vvl 
     227   USE dom_oce , ONLY : rdt => rdt 
     228   USE dom_oce , ONLY : ln_zco => ln_zco 
     229   USE dom_oce , ONLY : ln_zps => ln_zps 
     230   USE dom_oce , ONLY : ln_sco => ln_sco 
     231   USE dom_oce , ONLY : neuler => neuler 
     232 
     233   USE dom_oce,  ONLY : mi0 => mi0 
     234   USE dom_oce,  ONLY : mi1 => mi1 
     235   USE dom_oce,  ONLY : mj0 => mj0 
     236   USE dom_oce,  ONLY : mj1 => mj1 
     237 
     238   USE dom_oce , ONLY :   glamt      =>   glamt      !: longitude of t-point (degre)   
     239   USE dom_oce , ONLY :   glamu      =>   glamu      !: longitude of t-point (degre)   
     240   USE dom_oce , ONLY :   glamv      =>   glamv      !: longitude of t-point (degre)   
     241   USE dom_oce , ONLY :   glamf      =>   glamf      !: longitude of t-point (degre)   
     242   USE dom_oce , ONLY :   gphit      =>   gphit      !: latitude  of t-point (degre)    
     243   USE dom_oce , ONLY :   gphiu      =>   gphiu      !: latitude  of t-point (degre)    
     244   USE dom_oce , ONLY :   gphiv      =>   gphiv      !: latitude  of t-point (degre)    
     245   USE dom_oce , ONLY :   gphif      =>   gphif     !: latitude  of t-point (degre)    
     246   USE dom_oce , ONLY :   e1t        =>   e1t        !: horizontal scale factors at t-point (m)   
     247   USE dom_oce , ONLY :   e2t        =>   e2t        !: horizontal scale factors at t-point (m)    
     248   USE dom_oce , ONLY :   e1e2t      =>   e1e2t      !: cell surface at t-point (m2) 
     249   USE dom_oce , ONLY :   e1u        =>   e1u        !: horizontal scale factors at u-point (m) 
     250   USE dom_oce , ONLY :   e2u        =>   e2u        !: horizontal scale factors at u-point (m) 
     251   USE dom_oce , ONLY :   e1v        =>   e1v        !: horizontal scale factors at v-point (m) 
     252   USE dom_oce , ONLY :   e2v        =>   e2v        !: horizontal scale factors at v-point (m)   
     253   USE dom_oce , ONLY :   e3t        =>  e3t_0         !: vertical scale factors at t- 
     254   USE dom_oce , ONLY :   e3t_0      =>  e3t_0         !: vertical scale factors at t- 
     255   USE dom_oce , ONLY :   fse3t      =>  e3t_0 
     256   USE dom_oce , ONLY :   fse3t_b      =>  e3t_0 
     257   USE dom_oce , ONLY :   fse3t_a      =>  e3t_0 
     258   USE dom_oce , ONLY :   fse3w      =>  e3w_0 
     259   USE dom_oce , ONLY :   e3u        =>  e3u_0         !: vertical scale factors at u- 
     260   USE dom_oce , ONLY :   e3u_0      =>  e3u_0         !: vertical scale factors at u- 
     261   USE dom_oce , ONLY :   e3v        =>  e3v_0         !: vertical scale factors v- 
     262   USE dom_oce , ONLY :   e3v_0      =>  e3v_0         !: vertical scale factors v- 
     263   USE dom_oce , ONLY :   e3w        =>  e3w_0         !: w-points (m) 
     264   USE dom_oce , ONLY :   e3w_0      =>  e3w_0         !: w-points (m) 
     265   USE dom_oce , ONLY :   e3f        =>  e3f_0         !: f-points (m) 
     266   USE dom_oce , ONLY :   ff         =>  ff         !: f-points (m) 
     267   USE dom_oce , ONLY :   gdept_0    =>  gdept_0         !: f-points (m) 
     268   USE dom_oce , ONLY :   gdept_1d   => gdept_1d          !: f-points (m) 
     269   USE dom_oce , ONLY :   tmask      => tmask          !: f-points (m) 
     270   USE dom_oce , ONLY :   umask      => umask          !: f-points (m) 
     271   USE dom_oce , ONLY :   vmask      => vmask          !: f-points (m) 
     272   USE dom_oce , ONLY :   tmask_i      => tmask_i          !: f-points (m) 
     273   USE dom_oce , ONLY :   mbkt      => mbkt          !: f-points (m) 
     274   USE dom_oce , ONLY :   mbku      => mbku          !: f-points (m) 
     275   USE dom_oce , ONLY :   mbkv      => mbkv          !: f-points (m) 
     276 
    26277   !* IO manager * 
    27278   USE in_out_manager     
     
    49300 
    50301   !* model domain * 
    51    USE dom_oce  
     302   !cbr USE dom_oce , ONLY : e3w_0 
     303   USE dom_oce , ONLY :  lzoom => lzoom  
    52304 
    53305   USE domvvl, ONLY : un_td, vn_td          !: thickness diffusion transport 
     
    66318   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)  
    67319   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
    68 #if defined key_offline 
    69    USE oce , ONLY :   rab_n   =>    rab_n   !: local thermal/haline expension ratio at T-points 
    70 #endif 
    71320   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s) 
    72321   USE oce , ONLY :   rotn    =>    rotn    !: relative vorticity    [s-1] 
     
    135384# endif 
    136385 
     386#endif 
    137387#else 
    138388   !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.