1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- MODULE trcini_age
- !!======================================================================
- !! *** MODULE trcini_age ***
- !! TOP : initialisation of the AGE tracer
- !!======================================================================
- !! History : 2.0 ! 2007-12 (G. Nurser, G. Madec, C. Ethe ) Original code
- !!----------------------------------------------------------------------
- #if defined key_age
- !!----------------------------------------------------------------------
- !! 'key_age' AGE tracer
- !!----------------------------------------------------------------------
- !! trc_ini_age : MY_TRC model initialisation
- !!----------------------------------------------------------------------
- USE oce_trc
- USE trc
- USE trcsms_age
- IMPLICIT NONE
- PRIVATE
- PUBLIC trc_ini_age ! called by trcini.F90 module
- !!----------------------------------------------------------------------
- !! NEMO/TOP 3.3 , NEMO Consortium (2010)
- !! $Id: trcini_age.F90 3829 2017-01-13 07:27:36Z ufla $
- !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
- !!----------------------------------------------------------------------
- CONTAINS
- SUBROUTINE trc_ini_age
- !!----------------------------------------------------------------------
- !! *** trc_ini_age ***
- !!
- !! ** Purpose : initialization for AGE model
- !!
- !!----------------------------------------------------------------------
- IF(lwp) WRITE(numout,*)
- IF(lwp) WRITE(numout,*) ' trc_ini_age: passive tracer age'
- IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
- rryear = 1._wp / ( nyear_len(1) * rday ) ! recip number of seconds in one year
- !! BUG in s-coordinate this does not work!
- nlb_age = MINLOC( gdepw_1d, mask = gdepw_1d > rn_age_depth, dim = 1 ) ! shallowest W level Below age_depth
- ! = shallowest T level wholly below age_depth
- nl_age = nlb_age - 1 ! deepest W level Above age_depth
- ! = T level surrounding age_depth
- nla_age = nl_age - 1 ! deepest T level wholly above age_depth
- frac_kill_age = ( rn_age_depth - gdepw_1d(nl_age) ) / e3t_1d(nl_age) ! fraction of level nl_age above age_depth
- frac_add_age = 1._wp - frac_kill_age ! fraction of level nl_age below age_depth
-
- IF( .NOT. ln_rsttr ) trn(:,:,:,jp_age0:jp_age1) = 0.
- !
- END SUBROUTINE trc_ini_age
- #else
- !!----------------------------------------------------------------------
- !! Dummy module No AGE model
- !!----------------------------------------------------------------------
- CONTAINS
- SUBROUTINE trc_ini_age ! Empty routine
- END SUBROUTINE trc_ini_age
- #endif
- !!======================================================================
- END MODULE trcini_age
|