[7041] | 1 | MODULE 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 | !! trc_ini_age : MY_TRC model initialisation |
---|
| 9 | !!---------------------------------------------------------------------- |
---|
| 10 | USE oce_trc |
---|
| 11 | USE trc |
---|
[7124] | 12 | USE trcnam_age |
---|
[7041] | 13 | USE trcsms_age |
---|
| 14 | |
---|
| 15 | IMPLICIT NONE |
---|
| 16 | PRIVATE |
---|
| 17 | |
---|
| 18 | PUBLIC trc_ini_age ! called by trcini.F90 module |
---|
| 19 | |
---|
| 20 | !!---------------------------------------------------------------------- |
---|
| 21 | !! NEMO/TOP 3.3 , NEMO Consortium (2010) |
---|
| 22 | !! $Id$ |
---|
| 23 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
| 24 | !!---------------------------------------------------------------------- |
---|
| 25 | CONTAINS |
---|
| 26 | |
---|
| 27 | SUBROUTINE trc_ini_age |
---|
| 28 | !!---------------------------------------------------------------------- |
---|
| 29 | !! *** trc_ini_age *** |
---|
| 30 | !! |
---|
| 31 | !! ** Purpose : initialization for AGE model |
---|
| 32 | !! |
---|
| 33 | !!---------------------------------------------------------------------- |
---|
| 34 | INTEGER :: jn |
---|
| 35 | CHARACTER(len = 20) :: cltra |
---|
[7124] | 36 | !!---------------------------------------------------------------------- |
---|
| 37 | ! |
---|
| 38 | CALL trc_nam_age |
---|
| 39 | ! |
---|
[7041] | 40 | IF(lwp) WRITE(numout,*) |
---|
| 41 | IF(lwp) WRITE(numout,*) ' trc_ini_age: passive tracer age' |
---|
| 42 | IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' |
---|
[7103] | 43 | IF(lwp) WRITE(numout,*) |
---|
[7041] | 44 | |
---|
| 45 | rryear = 1._wp / ( nyear_len(1) * rday ) ! recip number of seconds in one year |
---|
| 46 | |
---|
| 47 | !! BUG in s-coordinate this does not work! |
---|
| 48 | nlb_age = MINLOC( gdepw_1d, mask = gdepw_1d > rn_age_depth, dim = 1 ) ! shallowest W level Below age_depth |
---|
| 49 | ! = shallowest T level wholly below age_depth |
---|
| 50 | nl_age = nlb_age - 1 ! deepest W level Above age_depth |
---|
| 51 | ! = T level surrounding age_depth |
---|
| 52 | |
---|
| 53 | nla_age = nl_age - 1 ! deepest T level wholly above age_depth |
---|
| 54 | |
---|
| 55 | frac_kill_age = ( rn_age_depth - gdepw_1d(nl_age) ) / e3t_1d(nl_age) ! fraction of level nl_age above age_depth |
---|
| 56 | frac_add_age = 1._wp - frac_kill_age ! fraction of level nl_age below age_depth |
---|
| 57 | |
---|
| 58 | |
---|
[7068] | 59 | IF( .NOT. ln_rsttr ) trn(:,:,:,jp_age) = 0. |
---|
[7041] | 60 | ! |
---|
| 61 | END SUBROUTINE trc_ini_age |
---|
| 62 | |
---|
| 63 | !!====================================================================== |
---|
| 64 | END MODULE trcini_age |
---|