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.
trdmod_oce.F90 in branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/TRD – NEMO

source: branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/TRD/trdmod_oce.F90 @ 2026

Last change on this file since 2026 was 2026, checked in by cetlod, 14 years ago

Encapsulate active and passive trends in one module, see ticket:694

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.0 KB
Line 
1MODULE trdmod_oce
2   !!======================================================================
3   !!                   ***  MODULE trdmod_oce  ***
4   !! Ocean trends :   set tracer and momentum trend variables
5   !!======================================================================
6   !! History :  9.0  !  04-08  (C. Talandier) Original code
7   !!----------------------------------------------------------------------
8   USE trdicp_oce              ! ocean momentum/tracers bassin properties trends variables
9   USE trdmld_oce              ! ocean active mixed layer tracers trends variables
10   USE trdvor_oce              ! ocean vorticity trends variables
11
12   IMPLICIT NONE
13   PUBLIC
14
15   !                                                     !!* Namelist namtrd:  diagnostics on dynamics/tracer trends *
16   INTEGER , PUBLIC  ::   nn_trd  = 10                    !: time step frequency dynamics and tracers trends
17   INTEGER , PUBLIC  ::   nn_ctls =  0                    !: control surface type for trends vertical integration
18   REAL(wp), PUBLIC  ::   rn_ucf   = 1.                   !: unit conversion factor (for netCDF trends outputs)
19                                                          !: =1. (=86400.) for degC/s (degC/day) and psu/s (psu/day)
20   CHARACTER(len=32) ::   cn_trdrst_in  = "restart_mld"   !: suffix of ocean restart name (input)
21   CHARACTER(len=32) ::   cn_trdrst_out = "restart_mld"   !: suffix of ocean restart name (output)
22   LOGICAL , PUBLIC  ::   ln_trdmld_instant = .FALSE.     !: flag to diagnose inst./mean ML T/S trends
23   LOGICAL , PUBLIC  ::   ln_trdmld_restart = .FALSE.     !: flag to restart mixed-layer diagnostics
24
25# if defined key_trdtra   ||   defined key_trdmld
26   LOGICAL , PUBLIC ::   l_trdtra = .TRUE.                !: tracers  trend flag
27# else
28   LOGICAL , PUBLIC ::   l_trdtra = .FALSE.               !: tracers  trend flag
29# endif
30# if defined key_trddyn   ||   defined key_trdvor
31   LOGICAL , PUBLIC ::   l_trddyn = .TRUE.                !: momentum trend flag
32# else
33   LOGICAL , PUBLIC ::   l_trddyn = .FALSE.               !: momentum trend flag
34# endif
35# if ( defined key_trdtrc && defined key_iomput )  ||  defined key_trdmld_trc
36   LOGICAL , PUBLIC ::   l_trdtrc = .TRUE.                !: tracers  trend flag
37# else
38   LOGICAL , PUBLIC ::   l_trdtrc = .FALSE.               !: tracers  trend flag
39# endif
40   !                                                   !!! Active tracers trends indexes
41   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_xad =  1   !: x- horizontal advection
42   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_yad =  2   !: y- horizontal advection
43   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_zad =  3   !: z- vertical   advection
44   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_ldf =  4   !: lateral       diffusion
45   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_zdf =  5   !: vertical diffusion (Kz)
46   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_bbc =  6   !: Bottom Boundary Condition (geoth. flux)
47   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_bbl =  7   !: Bottom Boundary Layer (diffusive/convective)
48   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_npc =  8   !: static instability mixing
49   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_dmp =  9   !: damping
50   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_qsr = 10   !: penetrative solar radiation
51   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_nsr = 11   !: non solar radiation
52   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_atf = 12   !: Asselin correction
53#if defined key_top
54   !!* Passive tracers trends indexes
55   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_sms  = 13   !: sources m. sinks
56   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_radn = 14   !: corr. trn<0 in trcrad
57   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_radb = 15   !: corr. trb<0 in trcrad (like atf)
58#endif
59   
60   !                                                   !!! Momentum trends indexes
61   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_hpg =  1   !: hydrostatic pressure gradient
62   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_keg =  2   !: kinetic energy gradient
63   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_rvo =  3   !: relative vorticity
64   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_pvo =  4   !: planetary vorticity
65   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_ldf =  5   !: lateral diffusion
66   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_had =  6   !: horizontal advection
67   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_zad =  7   !: vertical advection
68   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_zdf =  8   !: vertical diffusion
69   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_spg =  9   !: surface pressure gradient
70   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_dat = 10   !: damping term
71   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_swf = 11   !: surface wind forcing
72   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_bfr = 12   !: bottom friction
73
74   !!----------------------------------------------------------------------
75   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)
76   !! $Id$
77   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
78   !!======================================================================
79END MODULE trdmod_oce
Note: See TracBrowser for help on using the repository browser.