[215] | 1 | MODULE trdicp_oce |
---|
| 2 | !!====================================================================== |
---|
| 3 | !! *** MODULE trdicp_oce *** |
---|
| 4 | !! Ocean trends : set tracer and momentum trend variables |
---|
| 5 | !!====================================================================== |
---|
| 6 | |
---|
| 7 | !!---------------------------------------------------------------------- |
---|
| 8 | !! 'key_trdtra' or tracer trends diagnostics |
---|
| 9 | !! 'key_trddyn' momentum trends diagnostics |
---|
| 10 | !!---------------------------------------------------------------------- |
---|
| 11 | USE par_oce ! ocean parameters |
---|
| 12 | |
---|
| 13 | IMPLICIT NONE |
---|
| 14 | PUBLIC |
---|
| 15 | |
---|
[503] | 16 | #if defined key_trdtra && defined key_trddyn || defined key_esopa |
---|
| 17 | LOGICAL, PARAMETER :: lk_trdtra = .TRUE. !: tracers trend flag |
---|
| 18 | LOGICAL, PARAMETER :: lk_trddyn = .TRUE. !: momentum trend flag |
---|
| 19 | #elif defined key_trdtra |
---|
| 20 | LOGICAL, PARAMETER :: lk_trdtra = .TRUE. !: tracers trend flag |
---|
| 21 | LOGICAL, PARAMETER :: lk_trddyn = .FALSE. !: momentum trend flag |
---|
| 22 | #elif defined key_trddyn |
---|
| 23 | LOGICAL, PARAMETER :: lk_trdtra = .FALSE. !: tracers trend flag |
---|
| 24 | LOGICAL, PARAMETER :: lk_trddyn = .TRUE. !: momentum trend flag |
---|
| 25 | #else |
---|
| 26 | LOGICAL, PARAMETER :: lk_trdtra = .FALSE. !: tracers trend flag |
---|
| 27 | LOGICAL, PARAMETER :: lk_trddyn = .FALSE. !: momentum trend flag |
---|
| 28 | #endif |
---|
[215] | 29 | |
---|
[1601] | 30 | ! !!! => tracer trends indexes <= |
---|
| 31 | INTEGER, PARAMETER :: jpicpt_xad = 1 !: x- horizontal advection |
---|
| 32 | INTEGER, PARAMETER :: jpicpt_yad = 2 !: y- horizontal advection |
---|
| 33 | INTEGER, PARAMETER :: jpicpt_zad = 3 !: z- vertical advection |
---|
| 34 | INTEGER, PARAMETER :: jpicpt_ldf = 4 !: lateral diffusion |
---|
| 35 | INTEGER, PARAMETER :: jpicpt_zdf = 5 !: vertical diffusion (Kz) |
---|
| 36 | INTEGER, PARAMETER :: jpicpt_bbc = 6 !: Bottom Boundary Condition (geoth. flux) |
---|
| 37 | INTEGER, PARAMETER :: jpicpt_bbl = 7 !: Bottom Boundary Layer (diffusive/convective) |
---|
| 38 | INTEGER, PARAMETER :: jpicpt_npc = 8 !: static instability mixing |
---|
| 39 | INTEGER, PARAMETER :: jpicpt_dmp = 9 !: damping |
---|
| 40 | INTEGER, PARAMETER :: jpicpt_qsr = 10 !: penetrative solar radiation |
---|
| 41 | INTEGER, PARAMETER :: jpicpt_nsr = 11 !: non solar radiation |
---|
| 42 | INTEGER, PARAMETER :: jpicpt_zl1 = 12 !: first level vertical flux |
---|
[215] | 43 | |
---|
[1601] | 44 | ! !!! => Total tracer trends indexes <= |
---|
| 45 | INTEGER, PARAMETER :: jptot_tra = 12 !: change it when adding/removing one indice above |
---|
[503] | 46 | |
---|
[1601] | 47 | ! !!! => dynamic trends indexes <= |
---|
| 48 | INTEGER, PARAMETER :: jpicpd_hpg = 1 !: hydrostatic pressure gradient |
---|
| 49 | INTEGER, PARAMETER :: jpicpd_keg = 2 !: kinetic energy gradient |
---|
| 50 | INTEGER, PARAMETER :: jpicpd_rvo = 3 !: relative vorticity |
---|
| 51 | INTEGER, PARAMETER :: jpicpd_pvo = 4 !: planetary vorticity |
---|
| 52 | INTEGER, PARAMETER :: jpicpd_ldf = 5 !: lateral diffusion |
---|
| 53 | INTEGER, PARAMETER :: jpicpd_had = 6 !: horizontal advection |
---|
| 54 | INTEGER, PARAMETER :: jpicpd_zad = 7 !: vertical advection |
---|
| 55 | INTEGER, PARAMETER :: jpicpd_zdf = 8 !: vertical diffusion |
---|
| 56 | INTEGER, PARAMETER :: jpicpd_spg = 9 !: surface pressure gradient |
---|
| 57 | INTEGER, PARAMETER :: jpicpd_dat = 10 !: damping term |
---|
| 58 | INTEGER, PARAMETER :: jpicpd_swf = 11 !: surface wind forcing |
---|
| 59 | INTEGER, PARAMETER :: jpicpd_bfr = 12 !: bottom friction |
---|
[215] | 60 | |
---|
[1601] | 61 | ! !!! => Total dynamic trends indexes <= |
---|
| 62 | INTEGER, PARAMETER :: jptot_dyn = 12 !: change it when adding/removing one indice above |
---|
[503] | 63 | |
---|
[215] | 64 | #if defined key_trdtra || defined key_trddyn || defined key_esopa |
---|
| 65 | |
---|
| 66 | !! Variables used for diagnostics |
---|
| 67 | !!--------------------------------------------------------------------- |
---|
[503] | 68 | REAL(wp) :: tvolt !: volume of the whole ocean computed at t-points |
---|
| 69 | REAL(wp) :: tvolu !: volume of the whole ocean computed at u-points |
---|
| 70 | REAL(wp) :: tvolv !: volume of the whole ocean computed at v-points |
---|
[215] | 71 | |
---|
| 72 | !! Tracers trends diagnostics variables |
---|
| 73 | !!--------------------------------------------------------------------- |
---|
[503] | 74 | REAL(wp), DIMENSION(jptot_tra) :: tmo, smo !: tracers trends average |
---|
| 75 | REAL(wp), DIMENSION(jptot_tra) :: t2, s2 !: tracers square trends average |
---|
[215] | 76 | |
---|
| 77 | !! Momentum trends diagnostics variables |
---|
| 78 | !!--------------------------------------------------------------------- |
---|
[503] | 79 | REAL(wp), DIMENSION(jptot_dyn) :: umo, vmo !: momentum trends average |
---|
| 80 | REAL(wp), DIMENSION(jptot_dyn) :: hke !: momentum square trends average |
---|
| 81 | REAL(wp) :: rpktrd !: potential to kinetic energy conversion |
---|
| 82 | REAL(wp) :: peke !: conversion potential energy - kinetic energy trend |
---|
[215] | 83 | |
---|
| 84 | #endif |
---|
[503] | 85 | !!---------------------------------------------------------------------- |
---|
[1601] | 86 | !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) |
---|
[1152] | 87 | !! $Id$ |
---|
[2236] | 88 | !! Software governed by the CeCILL licence (NEMOGCM/License_CeCILL.txt) |
---|
[503] | 89 | !!====================================================================== |
---|
[215] | 90 | END MODULE trdicp_oce |
---|