Changeset 3897
- Timestamp:
- 2013-05-02T16:29:49+02:00 (11 years ago)
- Location:
- branches/2013/dev_r3411_CNRS4_IOCRS/NEMOGCM
- Files:
-
- 35 added
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3411_CNRS4_IOCRS/NEMOGCM/CONFIG/cfg.txt
r3622 r3897 8 8 ORCA2_OFF_PISCES OPA_SRC OFF_SRC TOP_SRC 9 9 ORCA2_LIM_CRS OPA_SRC LIM_SRC_2 NST_SRC 10 ORCA2_LIM_CRS_AGE OPA_SRC LIM_SRC_2 NST_SRC TOP_SRC -
branches/2013/dev_r3411_CNRS4_IOCRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90
r2528 r3897 42 42 !!--------------------------------------------------------------------- 43 43 LOGICAL, PUBLIC, PARAMETER :: lk_my_trc = .TRUE. !: PTS flag 44 INTEGER, PUBLIC, PARAMETER :: jp_my_trc = 2!: number of PTS tracers44 INTEGER, PUBLIC, PARAMETER :: jp_my_trc = 1 !: number of PTS tracers 45 45 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_2d = 0 !: additional 2d output arrays ('key_trc_diaadd') 46 46 INTEGER, PUBLIC, PARAMETER :: jp_my_trc_3d = 0 !: additional 3d output arrays ('key_trc_diaadd') … … 49 49 ! assign an index in trc arrays for each PTS prognostic variables 50 50 INTEGER, PUBLIC, PARAMETER :: jpmyt1 = jp_lm + 1 !: 1st MY_TRC tracer 51 INTEGER, PUBLIC, PARAMETER :: jpmyt2 = jp_lm + 2 !: 2nd MY_TRC tracer52 53 51 #else 54 52 !!--------------------------------------------------------------------- -
branches/2013/dev_r3411_CNRS4_IOCRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90
r2787 r3897 44 44 IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: initialisation of MY_TRC model' 45 45 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 46 47 !! BUG in s-coordinate this does not work! 48 ! deepest/shallowest W level Above/Below age_depth 49 nlb_age = MINLOC( gdepw_0, mask = gdepw_0 > age_depth, dim = 1 ) ! shallowest W level Below age_depth 50 ! = shallowest T level wholly below age_depth 51 nl_age = nlb_age - 1 ! deepest W level Above age_depth 52 ! = T level surrounding age_depth 53 nla_age = nl_age - 1 ! deepest T level wholly above age_depth 54 frac_kill_age = (age_depth - gdepw_0(nl_age))/e3t_0(nl_age) ! fraction of level nl_age above age_depth 55 frac_add_age = 1._wp - frac_kill_age ! fraction of level nl_age below age_depth 56 !! end bug 57 58 rryear = 1._wp / ( nyear_len(1) * rday ) 46 59 47 60 IF( .NOT. ln_rsttr ) trn(:,:,:,jp_myt0:jp_myt1) = 0. -
branches/2013/dev_r3411_CNRS4_IOCRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcnam_my_trc.F90
r2528 r3897 12 12 !! trc_nam_my_trc : MY_TRC model initialisation 13 13 !!---------------------------------------------------------------------- 14 USE par_trc ! TOP parameters 14 15 USE oce_trc ! Ocean variables 15 USE par_trc ! TOP parameters16 16 USE trc ! TOP variables 17 17 -
branches/2013/dev_r3411_CNRS4_IOCRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90
r3294 r3897 20 20 21 21 IMPLICIT NONE 22 PRIVATE 22 23 INTEGER :: nl_age ! T level surrounding age_depth 24 INTEGER :: nla_age ! T level wholly above age_depth 25 INTEGER :: nlb_age ! T level wholly below age_depth 26 27 28 REAL(wp) :: rryear !: recip number of seconds in one year 29 REAL(wp) :: age_depth = 10. !: depth over which age tracer reset to zero 30 REAL(wp) :: age_kill_rate = -1./7200. !: recip of relaxation timescale (s) for age tracer shallower than age_depth 31 REAL(wp) :: frac_kill_age !: fraction of level nl_age above age_depth where it is relaxed towards zero 32 REAL(wp) :: frac_add_age !: fraction of level nl_age below age_depth where it is incremented 23 33 24 34 PUBLIC trc_sms_my_trc ! called by trcsms.F90 module … … 44 54 ! 45 55 INTEGER, INTENT(in) :: kt ! ocean time-step index 46 INTEGER :: 56 INTEGER :: jk, jn ! dummy loop index 47 57 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrmyt 48 !!----------------------------------------------------------------------58 !!---------------------------------------------------------------------- 49 59 ! 50 60 IF( nn_timing == 1 ) CALL timing_start('trc_sms_my_trc') … … 56 66 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk, ztrmyt ) 57 67 58 WHERE( (glamt <= 170) .AND. (glamt >= 160) .AND. (gphit <= -74) .AND. (gphit >=-75.6) ) 59 trn(:,:,1,jpmyt1) = 1._wp 60 trb(:,:,1,jpmyt1) = 1._wp 61 tra(:,:,1,jpmyt1) = 0._wp 62 END WHERE 63 64 WHERE( ((glamt <= -165) .OR. (glamt >= 160)) .AND. (gphit <= -76) .AND. (gphit >=-80)) 65 trn(:,:,1,jpmyt2) = 1._wp 66 trb(:,:,1,jpmyt2) = 1._wp 67 tra(:,:,1,jpmyt2) = 0._wp 68 END WHERE 68 DO jk = 1, nla_age 69 tra(:,:,jk,jpmyt1) = age_kill_rate * trb(:,:,jk,jpmyt1) 70 ENDDO 71 ! 72 tra(:,:,nl_age,jpmyt1) = frac_kill_age * age_kill_rate * trb(:,:,nl_age,jpmyt1) & 73 & + frac_add_age * rryear * tmask(:,:,nl_age) 74 ! 75 DO jk = nlb_age, jpk 76 tra(:,:,jk,jpmyt1) = tmask(:,:,jk) * rryear 77 ENDDO 69 78 70 79 IF( l_trdtrc ) THEN ! Save the trends in the ixed layer
Note: See TracChangeset
for help on using the changeset viewer.