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.
trabbc_tam.F90 in branches/2012/dev_r3604_LEGI8_TAM/NEMOGCM/NEMO/OPATAM_SRC/TRA – NEMO

source: branches/2012/dev_r3604_LEGI8_TAM/NEMOGCM/NEMO/OPATAM_SRC/TRA/trabbc_tam.F90 @ 3611

Last change on this file since 3611 was 3611, checked in by pabouttier, 11 years ago

Add TAM code and ORCA2_TAM configuration - see Ticket #1007

  • Property svn:executable set to *
File size: 5.5 KB
Line 
1MODULE trabbc_tam
2#if defined key_tam
3   !!==============================================================================
4   !!                       ***  MODULE  trabbc  ***
5   !! Ocean active tracers:  bottom boundary condition (geothermal heat flux)
6   !!==============================================================================
7   !! History :  OPA  ! 1999-10 (G. Madec)  original code
8   !!   NEMO     1.0  ! 2002-08 (G. Madec)  free form + modules
9   !!             -   ! 2002-11 (A. Bozec)  tra_bbc_init: original code
10   !!            3.3  ! 2010-10 (G. Madec)  dynamical allocation + suppression of key_trabbc
11   !!             -   ! 2010-11 (G. Madec)  use mbkt array (deepest ocean t-level)
12   !!----------------------------------------------------------------------
13
14   !!----------------------------------------------------------------------
15   !!   tra_bbc      : update the tracer trend at ocean bottom
16   !!   tra_bbc_init : initialization of geothermal heat flux trend
17   !!----------------------------------------------------------------------
18   USE oce             ! ocean variables
19   USE oce_tam
20   USE dom_oce         ! domain: ocean
21   USE phycst          ! physical constants
22   USE in_out_manager  ! I/O manager
23   USE prtctl          ! Print control
24   USE wrk_nemo        ! Memory Allocation
25   USE timing          ! Timing
26   USE trabbc
27
28   IMPLICIT NONE
29   PRIVATE
30
31   PUBLIC tra_bbc_tan          ! routine called by step.F90
32   PUBLIC tra_bbc_adj          ! routine called by step.F90
33
34   !                                                !!* Namelist nambbc: bottom boundary condition *
35   INTEGER         ::   nn_geoflx     = 1            !  Geothermal flux (=1:constant flux, =2:read in file )
36   REAL(wp)        ::   rn_geoflx_cst = 86.4e-3_wp   !  Constant value of geothermal heat flux
37
38   !! * Substitutions
39#  include "domzgr_substitute.h90"
40   !!----------------------------------------------------------------------
41   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
42   !! $Id $
43   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
44   !!----------------------------------------------------------------------
45CONTAINS
46
47   SUBROUTINE tra_bbc_tan( kt )
48      !!----------------------------------------------------------------------
49      !!                  ***  ROUTINE tra_bbc_tan  ***
50      !!
51      !! ** Purpose :   Compute the bottom boundary contition on temperature
52      !!              associated with geothermal heating and add it to the
53      !!              general trend of temperature equations.
54      !!
55      !! ** Method  :   The geothermal heat flux set to its constant value of
56      !!              86.4 mW/m2 (Stein and Stein 1992, Huang 1999).
57      !!       The temperature trend associated to this heat flux through the
58      !!       ocean bottom can be computed once and is added to the temperature
59      !!       trend juste above the bottom at each time step:
60      !!            ta = ta + Qsf / (rau0 rcp e3T) for k= mbkt
61      !!       Where Qsf is the geothermal heat flux.
62      !!
63      !! ** Action  : - update the temperature trends (ta) with the trend of
64      !!                the ocean bottom boundary condition
65      !!
66      !! References : Stein, C. A., and S. Stein, 1992, Nature, 359, 123-129.
67      !!              Emile-Geay and Madec, 2009, Ocean Science.
68      !!----------------------------------------------------------------------
69      INTEGER, INTENT(in) ::   kt   ! ocean time-step index
70      !!
71      INTEGER  ::   ji, jj, ik    ! dummy loop indices
72      REAL(wp) ::   zqgh_trdtl      ! geothermal heat flux trend
73      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrdt
74      !!----------------------------------------------------------------------
75      !
76      !...Nothing to do...
77      !
78   END SUBROUTINE tra_bbc_tan
79
80
81   SUBROUTINE tra_bbc_adj( kt )
82      !!----------------------------------------------------------------------
83      !!                  ***  ROUTINE tra_bbc_adj  ***
84      !!
85      !! ** Purpose :   Compute the bottom boundary contition on temperature
86      !!              associated with geothermal heating and add it to the
87      !!              general trend of temperature equations.
88      !!
89      !! ** Method  :   The geothermal heat flux set to its constant value of
90      !!              86.4 mW/m2 (Stein and Stein 1992, Huang 1999).
91      !!       The temperature trend associated to this heat flux through the
92      !!       ocean bottom can be computed once and is added to the temperature
93      !!       trend juste above the bottom at each time step:
94      !!            ta = ta + Qsf / (rau0 rcp e3T) for k= mbkt
95      !!       Where Qsf is the geothermal heat flux.
96      !!
97      !! ** Action  : - update the temperature trends (ta) with the trend of
98      !!                the ocean bottom boundary condition
99      !!
100      !! References : Stein, C. A., and S. Stein, 1992, Nature, 359, 123-129.
101      !!              Emile-Geay and Madec, 2009, Ocean Science.
102      !!----------------------------------------------------------------------
103      INTEGER, INTENT(in) ::   kt   ! ocean time-step index
104      !!
105      INTEGER  ::   ji, jj, ik    ! dummy loop indices
106      REAL(wp) ::   zqgh_trdtl      ! geothermal heat flux trend
107      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrdt
108      !!----------------------------------------------------------------------
109      !
110      !...Nothing to do...
111      !
112   END SUBROUTINE tra_bbc_adj
113   !!======================================================================
114#endif
115END MODULE trabbc_tam
Note: See TracBrowser for help on using the repository browser.