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

Ignore:
Timestamp:
2015-09-24T08:31:40+02:00 (9 years ago)
Author:
gm
Message:

#1593: LDF-ADV, step II.1: phasing the improvements/simplifications of diffusive trend (see wiki)

File:
1 edited

Legend:

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

    r5385 r5758  
    1111   !!   'key_top'                                                TOP models 
    1212   !!---------------------------------------------------------------------- 
    13  
    14    !* Domain size * 
     13   ! 
     14   !                                            !* Domain size * 
    1515   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i  
    1616   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j   
     
    2424   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity 
    2525 
    26    !* IO manager * 
    27    USE in_out_manager     
    28   
    29    !* Memory Allocation * 
    30    USE wrk_nemo       
    31   
    32    !* Timing * 
    33    USE timing     
    34   
    35    !* MPP library                          
    36    USE lib_mpp  
    37  
    38    !* Fortran utilities                          
    39    USE lib_fortran 
    40  
    41    !* Lateral boundary conditions                          
    42    USE lbclnk 
    43  
    44    !* physical constants * 
    45    USE phycst             
    46  
    47    !* 1D configuration 
    48    USE c1d                                          
    49  
    50    !* model domain * 
    51    USE dom_oce  
     26   USE in_out_manager                           !* IO manager * 
     27   USE wrk_nemo                                 !* Memory Allocation * 
     28   USE timing                                   !* Timing *  
     29   USE lib_mpp                                  !* MPP library                          
     30   USE lib_fortran                              !* Fortran utilities                          
     31   USE lbclnk                                   !* Lateral boundary conditions                          
     32   USE phycst                                   !* physical constants * 
     33   USE c1d                                      !* 1D configuration 
     34   USE dom_oce                                  !* model domain * 
    5235 
    5336   USE domvvl, ONLY : un_td, vn_td          !: thickness diffusion transport 
     
    6649   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)  
    6750   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 
    7151   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s) 
    7252   USE oce , ONLY :   rotn    =>    rotn    !: relative vorticity    [s-1] 
     
    7656   USE oce , ONLY :   sshb    =>    sshb    !: sea surface height at t-point [m]    
    7757   USE oce , ONLY :   ssha    =>    ssha    !: sea surface height at t-point [m]    
    78    USE oce , ONLY :   l_traldf_rot => l_traldf_rot  !: rotated laplacian operator for lateral diffusion 
     58#if defined key_offline 
     59   USE oce , ONLY :   rab_n   =>    rab_n   !: local thermal/haline expension ratio at T-points 
     60#endif 
    7961 
    8062   !* surface fluxes * 
     
    10284   USE trc_oce 
    10385 
     86!!gm : I don't understand this as ldftra (where everything is defined) is used by TRC in all cases (ON/OFF-line) 
     87!!gm   so the following lines should be removed....   logical should be the one of TRC namelist 
     88!!gm   In case off coarsening....  the ( ahtu, ahtv, aeiu, aeiv) arrays are needed that's all. 
    10489   !* lateral diffusivity (tracers) * 
    105    USE ldftra_oce , ONLY :  rldf     =>   rldf        !: multiplicative coef. for lateral diffusivity 
    106    USE ldftra_oce , ONLY :  rn_aht_0 =>   rn_aht_0    !: horizontal eddy diffusivity for tracers (m2/s) 
    107    USE ldftra_oce , ONLY :  aht0     =>   aht0        !: horizontal eddy diffusivity for tracers (m2/s) 
    108    USE ldftra_oce , ONLY :  ahtb0    =>   ahtb0       !: background eddy diffusivity for isopycnal diff. (m2/s) 
    109    USE ldftra_oce , ONLY :  ahtu     =>   ahtu        !: lateral diffusivity coef. at u-points  
    110    USE ldftra_oce , ONLY :  ahtv     =>   ahtv        !: lateral diffusivity coef. at v-points  
    111    USE ldftra_oce , ONLY :  ahtw     =>   ahtw        !: lateral diffusivity coef. at w-points  
    112    USE ldftra_oce , ONLY :  ahtt     =>   ahtt        !: lateral diffusivity coef. at t-points 
    113    USE ldftra_oce , ONLY :  aeiv0    =>   aeiv0       !: eddy induced velocity coefficient (m2/s)  
    114    USE ldftra_oce , ONLY :  aeiu     =>   aeiu        !: eddy induced velocity coef. at u-points (m2/s)    
    115    USE ldftra_oce , ONLY :  aeiv     =>   aeiv        !: eddy induced velocity coef. at v-points (m2/s)  
    116    USE ldftra_oce , ONLY :  aeiw     =>   aeiw        !: eddy induced velocity coef. at w-points (m2/s)  
    117    USE ldftra_oce , ONLY :  lk_traldf_eiv  =>  lk_traldf_eiv     !: eddy induced velocity flag 
     90   USE ldftra , ONLY :  rn_aht_0     =>   rn_aht_0     !:   laplacian lateral eddy diffusivity [m2/s] 
     91   USE ldftra , ONLY :  rn_bht_0     =>   rn_bht_0     !: bilaplacian lateral eddy diffusivity [m4/s] 
     92   USE ldftra , ONLY :  ahtu         =>   ahtu         !: lateral diffusivity coef. at u-points  
     93   USE ldftra , ONLY :  ahtv         =>   ahtv         !: lateral diffusivity coef. at v-points  
     94   USE ldftra , ONLY :  rn_aeiv_0    =>   rn_aeiv_0    !: eddy induced velocity coefficient (m2/s)  
     95   USE ldftra , ONLY :  aeiu         =>   aeiu         !: eddy induced velocity coef. at u-points (m2/s)    
     96   USE ldftra , ONLY :  aeiv         =>   aeiv         !: eddy induced velocity coef. at v-points (m2/s)  
     97   USE ldftra , ONLY :  ln_ldfeiv    =>   ln_ldfeiv    !: eddy induced velocity flag 
     98      
     99!!gm this should be : ln_trcldf_triad (TRC namelist) 
     100   USE ldfslp , ONLY :  ln_traldf_triad => ln_traldf_triad   !: triad scheme (Griffies et al.) 
     101 
     102   !* direction of lateral diffusion * 
     103   USE ldfslp , ONLY :   l_ldfslp  =>  l_ldfslp       !: slopes flag 
     104   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-slope at u-point 
     105   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-slope at v-point 
     106   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-slope at w-point 
     107   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-slope at w-point 
     108!!gm end  
    118109 
    119110   !* vertical diffusion * 
     
    128119   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m) 
    129120   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m) 
    130  
    131    !* direction of lateral diffusion * 
    132    USE ldfslp , ONLY :   lk_ldfslp  =>  lk_ldfslp     !: slopes flag 
    133 # if   defined key_ldfslp 
    134    USE ldfslp , ONLY :   uslp       =>   uslp         !: i-direction slope at u-, w-points 
    135    USE ldfslp , ONLY :   vslp       =>   vslp         !: j-direction slope at v-, w-points 
    136    USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-direction slope at u-, w-points 
    137    USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-direction slope at v-, w-points 
    138 # endif 
    139121 
    140122   USE diaar5 , ONLY :   lk_diaar5  =>   lk_diaar5 
Note: See TracChangeset for help on using the changeset viewer.