source: NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/oce_trc.F90 @ 12760

Last change on this file since 12760 was 12760, checked in by smasson, 7 months ago

Extra_Halo: update do_loop_substitute for nn_hls=2, see #2366

  • Property svn:keywords set to Id
File size: 7.3 KB
Line 
1MODULE oce_trc
2   !!======================================================================
3   !!                      ***  MODULE  oce_trc  ***
4   !! TOP :   variables shared between ocean and passive tracers
5   !!======================================================================
6   !! History :   1.0  !  2004-03  (C. Ethe)  original code
7   !!             2.0  !  2007-12 (C. Ethe, G. Madec)  rewritting
8   !!----------------------------------------------------------------------
9   !                                            !* Domain size *
10   USE par_oce , ONLY :   jpt      =>   jpt        !: time dimension
11   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i
12   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j 
13   USE par_oce , ONLY :   jpk      =>   jpk        !: number of levels 
14   USE par_oce , ONLY :   jpim1    =>   jpim1      !: jpi - 1
15   USE par_oce , ONLY :   jpjm1    =>   jpjm1      !: jpj - 1
16   USE par_oce , ONLY :   jpkm1    =>   jpkm1      !: jpk - 1 
17   USE par_oce , ONLY :   jpij     =>   jpij       !: jpi x jpj
18   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature
19   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity
20   USE par_oce , ONLY :   nn_hls   =>   nn_hls     !:
21   USE par_oce , ONLY :   nIs_0    =>   nIs_0      !:
22   USE par_oce , ONLY :   nJs_0    =>   nJs_0      !:
23   USE par_oce , ONLY :   nIe_0    =>   nIe_0      !:
24   USE par_oce , ONLY :   nJe_0    =>   nJe_0      !:
25   USE par_oce , ONLY :   nIs_1    =>   nIs_1      !:
26   USE par_oce , ONLY :   nJs_1    =>   nJs_1      !:
27   USE par_oce , ONLY :   nIe_1    =>   nIe_1      !:
28   USE par_oce , ONLY :   nJe_1    =>   nJe_1      !:
29   USE par_oce , ONLY :   nIs_1nxt2    =>   nIs_1nxt2      !:
30   USE par_oce , ONLY :   nJs_1nxt2    =>   nJs_1nxt2      !:
31   USE par_oce , ONLY :   nIe_1nxt2    =>   nIe_1nxt2      !:
32   USE par_oce , ONLY :   nJe_1nxt2    =>   nJe_1nxt2      !:
33   USE par_oce , ONLY :   nIs_2    =>   nIs_2      !:
34   USE par_oce , ONLY :   nJs_2    =>   nJs_2      !:
35   USE par_oce , ONLY :   nIe_2    =>   nIe_2      !:
36   USE par_oce , ONLY :   nJe_2    =>   nJe_2      !:
37
38   USE in_out_manager                           !* IO manager *
39   USE timing                                   !* Timing *
40   USE lib_mpp                                  !* MPP library                         
41   USE lib_fortran                              !* Fortran utilities                         
42   USE lbclnk                                   !* Lateral boundary conditions                         
43   USE phycst                                   !* physical constants *
44   USE c1d                                      !* 1D configuration
45
46   USE dom_oce                                  !* model domain *
47
48   USE domvvl, ONLY : un_td, vn_td          !: thickness diffusion transport
49   USE domvvl, ONLY : ln_vvl_ztilde         !: ztilde vertical coordinate
50   USE domvvl, ONLY : ln_vvl_layer          !: level  vertical coordinate
51
52   !* ocean fields: here now and after fields *
53   USE oce , ONLY :   uu     =>    uu     !: i-horizontal velocity (m s-1)
54   USE oce , ONLY :   vv     =>    vv     !: j-horizontal velocity (m s-1)
55   USE oce , ONLY :   ww     =>    ww     !: vertical velocity (m s-1) 
56   USE oce , ONLY :   ts     =>    ts     !: 4D array contaning ( tn, sn )
57   USE oce , ONLY :   rhop   =>    rhop   !: potential volumic mass (kg m-3)
58   USE oce , ONLY :   rhd    =>    rhd    !: in situ density anomalie rhd=(rho-rho0)/rho0 (no units)
59   USE oce , ONLY :   hdiv   =>    hdiv   !: horizontal divergence (1/s)
60   USE oce , ONLY :   ssh    =>    ssh    !: sea surface height at t-point [m]   
61   USE oce , ONLY :   rab_n  =>    rab_n  !: local thermal/haline expension ratio at T-points
62
63   !* surface fluxes *
64   USE sbc_oce , ONLY :   utau       =>    utau       !: i-surface stress component
65   USE sbc_oce , ONLY :   vtau       =>    vtau       !: j-surface stress component
66   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
67   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)
68   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
69   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
70   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
71   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
72   USE sbc_oce , ONLY :   rnf_b      =>    rnf_b      !: river runoff at previus step   [Kg/m2/s]
73   USE sbc_oce , ONLY :   ln_dm2dc   =>    ln_dm2dc   !: Diurnal Cycle
74   USE sbc_oce , ONLY :   ln_cpl     =>    ln_cpl     !: ocean-atmosphere coupled formulation
75   USE sbc_oce , ONLY :   ncpl_qsr_freq   =>   ncpl_qsr_freq   !: qsr coupling frequency per days from atmospher
76   USE sbc_oce , ONLY :   ln_rnf     =>    ln_rnf     !: runoffs / runoff mouths
77   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
78   USE sbc_oce , ONLY :   atm_co2    =>    atm_co2    !  atmospheric pCO2
79   USE traqsr  , ONLY :   rn_abs     =>    rn_abs     !: fraction absorbed in the very near surface
80   USE traqsr  , ONLY :   rn_si0     =>    rn_si0     !: very near surface depth of extinction
81   USE traqsr  , ONLY :   ln_qsr_bio =>    ln_qsr_bio !: flag to use or not the biological fluxes for light
82   USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.)
83   USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.)
84   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
85   USE sbcrnf  , ONLY :   nk_rnf     =>    nk_rnf     !: depth of runoff in model level
86   USE sbcrnf  , ONLY :   rn_rfact   =>    rn_rfact   !: multiplicative factor for runoff
87
88   USE trc_oce
89     
90!!gm  this can be removed if :
91!!gm    in trcadv.F90 and trcsub.F90  we add a USE ldfslp
92   !* direction of lateral diffusion *
93   USE ldfslp , ONLY :   l_ldfslp  =>  l_ldfslp       !: slopes flag
94   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-slope at u-point
95   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-slope at v-point
96   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-slope at w-point
97   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-slope at w-point
98   USE ldfslp , ONLY :   ln_traldf_triad => ln_traldf_triad   !: use of triad scheme
99   USE ldfslp , ONLY :   ln_traldf_iso => ln_traldf_iso   !: use of isopycnal scheme
100!!gm end
101
102   !* vertical diffusion *
103   USE zdf_oce , ONLY :   avs        =>   avs         !: vert. diffusivity coef. for salinity    (w-point)
104   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. for temperature (w-point)
105
106   !* mixing & mixed layer depth *
107   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
108   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline)
109   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m)
110   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m)
111   USE zdfmxl , ONLY :   avt_c       =>   avt_c       !: Kz criterion for the turbocline depth
112
113END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.