[6715] | 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 | #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) |
---|
[7703] | 25 | !! $Id$ |
---|
[6715] | 26 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
| 27 | !!---------------------------------------------------------------------- |
---|
| 28 | CONTAINS |
---|
| 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 | !!---------------------------------------------------------------------- |
---|
| 65 | CONTAINS |
---|
| 66 | SUBROUTINE trc_ini_age ! Empty routine |
---|
| 67 | END SUBROUTINE trc_ini_age |
---|
| 68 | #endif |
---|
| 69 | |
---|
| 70 | !!====================================================================== |
---|
| 71 | END MODULE trcini_age |
---|