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.
trdmld_oce.F90 in trunk/NEMO/OPA_SRC/TRD – NEMO

source: trunk/NEMO/OPA_SRC/TRD/trdmld_oce.F90 @ 521

Last change on this file since 521 was 503, checked in by opalod, 18 years ago

nemo_v1_update_064 : CT : general trends update including the addition of mean windows analysis possibility in the mixed layer

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.0 KB
Line 
1MODULE trdmld_oce
2   !!======================================================================
3   !!                   ***  MODULE trdmld_oce  ***
4   !! Ocean trends :   set tracer and momentum trend variables
5   !!======================================================================
6   !! History :  9.0  !  04-08  (C. Talandier)  New trends organization
7   !!----------------------------------------------------------------------
8   USE par_oce         ! ocean parameters
9
10   IMPLICIT NONE
11   PRIVATE
12
13#if defined key_trdmld
14   LOGICAL, PUBLIC, PARAMETER ::   lk_trdmld = .TRUE.    !: ML trend flag
15#else
16   LOGICAL, PUBLIC, PARAMETER ::   lk_trdmld = .FALSE.   !: ML trend flag
17#endif
18   !!* mixed layer trends indices
19   INTEGER, PARAMETER, PUBLIC ::   jpltrd = 11    !: number of mixed-layer trends arrays
20   INTEGER, PARAMETER, PUBLIC ::   jpktrd = jpk   !: max level for mixed-layer trends diag.
21   !
22   INTEGER, PUBLIC, PARAMETER ::   jpmld_xad =  1   !:  zonal      \
23   INTEGER, PUBLIC, PARAMETER ::   jpmld_yad =  2   !:  meridonal   > advection
24   INTEGER, PUBLIC, PARAMETER ::   jpmld_zad =  3   !:  vertical   /
25   INTEGER, PUBLIC, PARAMETER ::   jpmld_ldf =  4   !:  lateral diffusion (geopot. or iso-neutral)
26   INTEGER, PUBLIC, PARAMETER ::   jpmld_for =  5   !:  forcing
27   INTEGER, PUBLIC, PARAMETER ::   jpmld_zdf =  6   !:  vertical diffusion (TKE)
28   INTEGER, PUBLIC, PARAMETER ::   jpmld_bbc =  7   !:  geothermal flux
29   INTEGER, PUBLIC, PARAMETER ::   jpmld_bbl =  8   !:  bottom boundary layer (advective/diffusive)
30   INTEGER, PUBLIC, PARAMETER ::   jpmld_dmp =  9   !:  internal restoring trend
31   INTEGER, PUBLIC, PARAMETER ::   jpmld_npc = 10   !:  non penetrative convective adjustment
32   INTEGER, PUBLIC, PARAMETER ::   jpmld_atf = 11   !:  asselin trend
33!! INTEGER, PUBLIC, PARAMETER ::   jpmld_xxx = xx   !:  add here any additional trend (add change jpltrd)
34
35#if   defined  key_trdmld   ||   defined key_esopa
36   !!----------------------------------------------------------------------
37   !!   'key_trdmld'                         mixed layer trends diagnostics
38   !!----------------------------------------------------------------------
39
40   !! Arrays used for diagnosing mixed-layer trends
41   !!---------------------------------------------------------------------
42   CHARACTER(LEN=80) , PUBLIC :: clname, ctrd(jpltrd+1,2)
43
44   INTEGER , PUBLIC, DIMENSION(jpi,jpj)     ::   nmld   !: mixed layer depth indexes
45   INTEGER , PUBLIC, DIMENSION(jpi,jpj)     ::   nbol   !: mixed-layer depth indexes when read from file
46
47   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   wkx    !:
48
49   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::  &
50      rmld   ,                      & !: mld depth (m) corresponding to nmld
51      tml    , sml  ,               & !: \ "now" mixed layer temperature/salinity
52      tmlb   , smlb ,               & !: /  and associated "before" fields
53      tmlbb  , smlbb,               & !: \  idem, but valid at the 1rst time step of the
54      tmlbn  , smlbn,               & !: /  current analysis window
55      tmltrdm, smltrdm,             & !: total cumulative trends over the analysis window
56      tml_sum,                      & !: mixed layer T, summed over the current analysis period
57      tml_sumb,                     & !: idem, but from the previous analysis period
58      tmltrd_atf_sumb,              & !: Asselin trends, summed over the previous analysis period
59      sml_sum,                      & !:
60      sml_sumb,                     & !:    ( idem for salinity )
61      smltrd_atf_sumb,              & !:
62      rmld_sum, rmldbn                !: needed to compute the leap-frog time mean of the ML depth
63
64   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::  &
65      tmlatfb, tmlatfn ,            & !: "before" Asselin contribution at begining of the averaging
66      smlatfb, smlatfn,             & !: period (i.e. last contrib. from previous such period) and
67                                      !: "now" Asselin contribution to the ML temp. & salinity trends
68      tmlatfm, smlatfm                !: accumulator for Asselin trends (needed for storage only)
69
70   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpltrd) ::  &
71      tmltrd,                       & !: \ physical contributions to the total trend (for T/S),
72      smltrd,                       & !: / cumulated over the current analysis window
73      tmltrd_sum,                   & !: sum of these trends over the analysis period
74      tmltrd_csum_ln,               & !: now cumulated sum of the trends over the "lower triangle"
75      tmltrd_csum_ub,               & !: before (prev. analysis period) cumulated sum over the upper triangle
76      smltrd_sum,                   & !:
77      smltrd_csum_ln,               & !:    ( idem for salinity )
78      smltrd_csum_ub                  !:
79#endif
80   !!----------------------------------------------------------------------
81   !!  OPA 9.0 , LOCEAN-IPSL (2005)
82   !! $Header$
83   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
84   !!======================================================================
85END MODULE trdmld_oce
Note: See TracBrowser for help on using the repository browser.