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.
trcini_age.F90 in branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/AGE – NEMO

source: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/AGE/trcini_age.F90 @ 10149

Last change on this file since 10149 was 7703, checked in by marc, 7 years ago

Marc 20/2/17. Fix two bugs.

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1MODULE trcini_age
2   !!======================================================================
3   !!                         ***  MODULE trcini_age  ***
4   !! TOP :   initialisation of the AGE tracer
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (G. Nurser, G. Madec, C. Ethe ) Original code
7   !!----------------------------------------------------------------------
8#if defined key_age
9   !!----------------------------------------------------------------------
10   !!   'key_age'                                               AGE tracer
11   !!----------------------------------------------------------------------
12   !! trc_ini_age   : MY_TRC model initialisation
13   !!----------------------------------------------------------------------
14   USE oce_trc
15   USE trc
16   USE trcsms_age
17
18   IMPLICIT NONE
19   PRIVATE
20
21   PUBLIC   trc_ini_age   ! called by trcini.F90 module
22
23   !!----------------------------------------------------------------------
24   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
25   !! $Id$
26   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
27   !!----------------------------------------------------------------------
28CONTAINS
29
30   SUBROUTINE trc_ini_age
31      !!----------------------------------------------------------------------
32      !!                     ***  trc_ini_age  *** 
33      !!
34      !! ** Purpose :   initialization for AGE model
35      !!
36      !!----------------------------------------------------------------------
37
38      IF(lwp) WRITE(numout,*)
39      IF(lwp) WRITE(numout,*) ' trc_ini_age: passive tracer age'
40      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
41
42      rryear  = 1._wp / ( nyear_len(1) * rday )    ! recip number of seconds in one year
43
44      !! BUG in s-coordinate this does not work!
45      nlb_age = MINLOC( gdepw_1d, mask = gdepw_1d > rn_age_depth, dim = 1 ) ! shallowest W level Below age_depth
46                                                                            !  = shallowest T level wholly below age_depth
47
48      nl_age  = nlb_age - 1                                                 ! deepest    W level Above age_depth
49                                                                            !  = T level surrounding age_depth
50
51      nla_age = nl_age - 1                                                   ! deepest    T level wholly above age_depth
52
53      frac_kill_age = ( rn_age_depth - gdepw_1d(nl_age) ) / e3t_1d(nl_age)      ! fraction of level nl_age above age_depth
54      frac_add_age  = 1._wp -  frac_kill_age                                    ! fraction of level nl_age below age_depth
55
56     
57      IF( .NOT. ln_rsttr ) trn(:,:,:,jp_age0:jp_age1) = 0.
58      !
59   END SUBROUTINE trc_ini_age
60
61#else
62   !!----------------------------------------------------------------------
63   !!   Dummy module                                        No AGE model
64   !!----------------------------------------------------------------------
65CONTAINS
66   SUBROUTINE trc_ini_age             ! Empty routine
67   END SUBROUTINE trc_ini_age
68#endif
69
70   !!======================================================================
71END MODULE trcini_age
Note: See TracBrowser for help on using the repository browser.