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/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD – NEMO

source: branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD/trdmod_oce.F90 @ 3316

Last change on this file since 3316 was 3316, checked in by gm, 12 years ago

Ediag branche: #927 add 3D output for dyn & tracer trends

  • Property svn:keywords set to Id
File size: 5.9 KB
Line 
1MODULE trdmod_oce
2   !!======================================================================
3   !!                   ***  MODULE trdmod_oce  ***
4   !! Ocean trends :   set tracer and momentum trend variables
5   !!======================================================================
6   !! History :  1.0  !  2004-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   LOGICAL , PUBLIC  ::   ln_3D_trd_d   = .FALSE.         !: (T) 3D momentum              trends or (F) not
17   LOGICAL , PUBLIC  ::   ln_3D_trd_t   = .FALSE.         !: (T) 3D tracer               trends or (F) not
18   LOGICAL , PUBLIC  ::   ln_PE_trd     = .FALSE.         !: (T) 3D Potential Energy     trends or (F) not
19   LOGICAL , PUBLIC  ::   ln_KE_trd     = .FALSE.         !: (T) 3D Kinetic   Energy     trends or (F) not
20   LOGICAL , PUBLIC  ::   ln_vor_trd    = .FALSE.         !: (T) 3D barotropic vorticity trends or (F) not
21   LOGICAL , PUBLIC  ::   ln_glo_trd    = .FALSE.         !: (T) global domain averaged diag for T, T^2, KE, and PE
22   LOGICAL , PUBLIC  ::   ln_ML_trd_t   = .FALSE.         !: (T) 2D tracer   trends averaged over the mixed layer
23   LOGICAL , PUBLIC  ::   ln_ML_trd_d   = .FALSE.         !: (T) 2D momentum trends averaged over the mixed layer
24   INTEGER , PUBLIC  ::   nn_trd  = 10                    !: time step frequency for ln_glo_trd
25   INTEGER , PUBLIC  ::   nn_ctls =  0                    !: control surface type for trends vertical integration
26   REAL(wp), PUBLIC  ::   rn_ucf   = 1.                   !: unit conversion factor (for netCDF trends outputs)
27                                                          !: =1. (=86400.) for degC/s (degC/day) and psu/s (psu/day)
28   CHARACTER(len=32) ::   cn_trdrst_in  = "restart_mld"   !: suffix of ocean restart name (input)
29   CHARACTER(len=32) ::   cn_trdrst_out = "restart_mld"   !: suffix of ocean restart name (output)
30   LOGICAL , PUBLIC  ::   ln_trdmld_instant = .FALSE.     !: flag to diagnose inst./mean ML T/S trends
31   LOGICAL , PUBLIC  ::   ln_trdmld_restart = .FALSE.     !: flag to restart mixed-layer diagnostics
32
33# if defined key_trdtra   ||   defined key_trdmld
34   LOGICAL , PUBLIC ::   l_trdtra = .TRUE.                !: tracers  trend flag
35# else
36   LOGICAL , PUBLIC ::   l_trdtra = .FALSE.               !: tracers  trend flag
37# endif
38# if defined key_trddyn   ||   defined key_trdvor
39   LOGICAL , PUBLIC ::   l_trddyn = .TRUE.                !: momentum trend flag
40# else
41   LOGICAL , PUBLIC ::   l_trddyn = .FALSE.               !: momentum trend flag
42# endif
43# if ( defined key_trdtrc && defined key_iomput )  ||  defined key_trdmld_trc
44   LOGICAL , PUBLIC ::   l_trdtrc = .TRUE.                !: tracers  trend flag
45# else
46   LOGICAL , PUBLIC ::   l_trdtrc = .FALSE.               !: tracers  trend flag
47# endif
48   !                                                     !!!* Active tracers trends indexes
49   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_xad =  1     !: x- horizontal advection
50   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_yad =  2     !: y- horizontal advection
51   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_zad =  3     !: z- vertical   advection
52   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_ldf =  4     !: lateral       diffusion
53   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_zdf =  5     !: vertical      diffusion
54   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_bbc =  6     !: Bottom Boundary Condition (geoth. heating)
55   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_bbl =  7     !: Bottom Boundary Layer (diffusive and/or advective)
56   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_npc =  8     !: non-penetrative convection treatment
57   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_dmp =  9     !: internal restoring (damping)
58   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_qsr = 10     !: penetrative solar radiation
59   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_nsr = 11     !: non         solar radiation
60   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_atf = 12     !: Asselin time filter
61   !
62   !                                                     !!!* Passive tracers trends indexes (use if "key_top" defined)
63   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_sms  = 13    !: sources m. sinks
64   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_radn = 14    !: corr. trn<0 in trcrad
65   INTEGER, PUBLIC, PARAMETER ::   jptra_trd_radb = 15    !: corr. trb<0 in trcrad (like atf)
66   !
67   !                                                     !!!* Momentum trends indexes
68   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_hpg =  1     !: hydrostatic pressure gradient
69   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_spg =  2     !: surface     pressure gradient
70   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_keg =  3     !: kinetic energy gradient  or horizontal advection
71   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_rvo =  4     !: relative  vorticity      or metric term
72   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_pvo =  5     !: planetary vorticity
73   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_zad =  6     !: vertical advection
74   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_ldf =  7     !: horizontal diffusion   
75   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_zdf =  8     !: vertical   diffusion
76   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_swf =  9     !: surface stress
77   INTEGER, PUBLIC, PARAMETER ::   jpdyn_trd_bfr = 10     !: bottom  stress
78
79   !!----------------------------------------------------------------------
80   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
81   !! $Id$
82   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
83   !!======================================================================
84END MODULE trdmod_oce
Note: See TracBrowser for help on using the repository browser.