source: NEMO/trunk/src/TOP/oce_trc.F90

Last change on this file was 13333, checked in by cetlod, 4 months ago

trunk : bugfix in the heat content trend when activating bio-model light penetration, see ticket #2499

  • Property svn:keywords set to Id
File size: 7.8 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 :   Nis0    =>   Nis0      !:
22   USE par_oce , ONLY :   Njs0    =>   Njs0      !:
23   USE par_oce , ONLY :   Nie0    =>   Nie0      !:
24   USE par_oce , ONLY :   Nje0    =>   Nje0      !:
25   USE par_oce , ONLY :   Nis1    =>   Nis1      !:
26   USE par_oce , ONLY :   Njs1    =>   Njs1      !:
27   USE par_oce , ONLY :   Nie1    =>   Nie1      !:
28   USE par_oce , ONLY :   Nje1    =>   Nje1      !:
29   USE par_oce , ONLY :   Nis1nxt2    =>   Nis1nxt2      !:
30   USE par_oce , ONLY :   Njs1nxt2    =>   Njs1nxt2      !:
31   USE par_oce , ONLY :   Nie1nxt2    =>   Nie1nxt2      !:
32   USE par_oce , ONLY :   Nje1nxt2    =>   Nje1nxt2      !:
33   USE par_oce , ONLY :   Nis2    =>   Nis2      !:
34   USE par_oce , ONLY :   Njs2    =>   Njs2      !:
35   USE par_oce , ONLY :   Nie2    =>   Nie2      !:
36   USE par_oce , ONLY :   Nje2    =>   Nje2      !:
37   USE par_oce , ONLY :   Ni_0    =>   Ni_0      !:
38   USE par_oce , ONLY :   Nj_0    =>   Nj_0      !:
39   USE par_oce , ONLY :   Ni_1    =>   Ni_1      !:
40   USE par_oce , ONLY :   Nj_1    =>   Nj_1      !:
41   USE par_oce , ONLY :   Ni_2    =>   Ni_2      !:
42   USE par_oce , ONLY :   Nj_2    =>   Nj_2      !:
43
44   USE in_out_manager                           !* IO manager *
45   USE timing                                   !* Timing *
46   USE lib_mpp                                  !* MPP library                         
47   USE lib_fortran                              !* Fortran utilities                         
48   USE lbclnk                                   !* Lateral boundary conditions                         
49   USE phycst                                   !* physical constants *
50   USE c1d                                      !* 1D configuration
51
52   USE dom_oce                                  !* model domain *
53
54   USE domvvl, ONLY : un_td, vn_td          !: thickness diffusion transport
55   USE domvvl, ONLY : ln_vvl_ztilde         !: ztilde vertical coordinate
56   USE domvvl, ONLY : ln_vvl_layer          !: level  vertical coordinate
57
58   !* ocean fields: here now and after fields *
59   USE oce , ONLY :   uu     =>    uu     !: i-horizontal velocity (m s-1)
60   USE oce , ONLY :   vv     =>    vv     !: j-horizontal velocity (m s-1)
61   USE oce , ONLY :   ww     =>    ww     !: vertical velocity (m s-1) 
62   USE oce , ONLY :   ts     =>    ts     !: 4D array contaning ( tn, sn )
63   USE oce , ONLY :   rhop   =>    rhop   !: potential volumic mass (kg m-3)
64   USE oce , ONLY :   rhd    =>    rhd    !: in situ density anomalie rhd=(rho-rho0)/rho0 (no units)
65   USE oce , ONLY :   hdiv   =>    hdiv   !: horizontal divergence (1/s)
66   USE oce , ONLY :   ssh    =>    ssh    !: sea surface height at t-point [m]   
67   USE oce , ONLY :   rab_n  =>    rab_n  !: local thermal/haline expension ratio at T-points
68
69   !* surface fluxes *
70   USE sbc_oce , ONLY :   utau       =>    utau       !: i-surface stress component
71   USE sbc_oce , ONLY :   vtau       =>    vtau       !: j-surface stress component
72   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
73   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)
74   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
75   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
76   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
77   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
78   USE sbc_oce , ONLY :   rnf_b      =>    rnf_b      !: river runoff at previus step   [Kg/m2/s]
79   USE sbc_oce , ONLY :   ln_dm2dc   =>    ln_dm2dc   !: Diurnal Cycle
80   USE sbc_oce , ONLY :   ln_cpl     =>    ln_cpl     !: ocean-atmosphere coupled formulation
81   USE sbc_oce , ONLY :   ncpl_qsr_freq   =>   ncpl_qsr_freq   !: qsr coupling frequency per days from atmospher
82   USE sbc_oce , ONLY :   ln_rnf     =>    ln_rnf     !: runoffs / runoff mouths
83   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
84   USE sbc_oce , ONLY :   atm_co2    =>    atm_co2    !  atmospheric pCO2
85   USE traqsr  , ONLY :   rn_abs     =>    rn_abs     !: fraction absorbed in the very near surface
86   USE traqsr  , ONLY :   rn_si0     =>    rn_si0     !: very near surface depth of extinction
87   USE traqsr  , ONLY :   nksr       =>    nksr       !: levels below which the light cannot penetrate (depth larger than 391 m)
88   USE traqsr  , ONLY :   rkrgb      =>    rkrgb      !: tabulated attenuation coefficients for RGB absorption
89   USE traqsr  , ONLY :   ln_qsr_bio =>    ln_qsr_bio !: flag to use or not the biological fluxes for light
90   USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.)
91   USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.)
92   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
93   USE sbcrnf  , ONLY :   nk_rnf     =>    nk_rnf     !: depth of runoff in model level
94   USE sbcrnf  , ONLY :   rn_rfact   =>    rn_rfact   !: multiplicative factor for runoff
95
96   USE trc_oce
97     
98!!gm  this can be removed if :
99!!gm    in trcadv.F90 and trcsub.F90  we add a USE ldfslp
100   !* direction of lateral diffusion *
101   USE ldfslp , ONLY :   l_ldfslp  =>  l_ldfslp       !: slopes flag
102   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-slope at u-point
103   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-slope at v-point
104   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-slope at w-point
105   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-slope at w-point
106   USE ldfslp , ONLY :   ln_traldf_triad => ln_traldf_triad   !: use of triad scheme
107   USE ldfslp , ONLY :   ln_traldf_iso => ln_traldf_iso   !: use of isopycnal scheme
108!!gm end
109
110   !* vertical diffusion *
111   USE zdf_oce , ONLY :   avs        =>   avs         !: vert. diffusivity coef. for salinity    (w-point)
112   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. for temperature (w-point)
113
114   !* mixing & mixed layer depth *
115   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
116   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline)
117   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m)
118   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m)
119   USE zdfmxl , ONLY :   avt_c       =>   avt_c       !: Kz criterion for the turbocline depth
120
121END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.