Changeset 11949 for NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/C14
- Timestamp:
- 2019-11-22T15:29:17+01:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Property svn:mergeinfo deleted
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/C14/trcini_c14.F90
r10069 r11949 31 31 CONTAINS 32 32 33 SUBROUTINE trc_ini_c14 33 SUBROUTINE trc_ini_c14( Kmm ) 34 34 !!---------------------------------------------------------------------- 35 35 !! *** trc_ini_c14 *** … … 40 40 !!---------------------------------------------------------------------- 41 41 ! 42 INTEGER, INTENT(in) :: Kmm ! time level indices 42 43 REAL(wp) :: ztrai 43 44 INTEGER :: jn … … 57 58 IF(lwp) WRITE(numout,*) ' ==> Ocean C14/C :', rc14init 58 59 ! 59 tr n(:,:,:,jp_c14) = rc14init * tmask(:,:,:)60 tr(:,:,:,jp_c14,Kmm) = rc14init * tmask(:,:,:) 60 61 ! 61 62 qtr_c14(:,:) = 0._wp ! Init of air-sea BC -
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/C14/trcsms_c14.F90
r10069 r11949 33 33 CONTAINS 34 34 35 SUBROUTINE trc_sms_c14( kt )35 SUBROUTINE trc_sms_c14( kt, Kbb, Kmm, Krhs ) 36 36 !!---------------------------------------------------------------------- 37 37 !! *** ROUTINE trc_sms_c14 *** … … 46 46 ! freshwater fluxes which should not impact the C14/C ratio 47 47 ! 48 ! => Delta-C14= ( tr n(...jp_c14) -1)*1000.48 ! => Delta-C14= ( tr(...jp_c14,Kmm) -1)*1000. 49 49 !! 50 50 !!---------------------------------------------------------------------- 51 51 ! 52 INTEGER, INTENT(in) :: kt ! ocean time-step index 52 INTEGER, INTENT(in) :: kt ! ocean time-step index 53 INTEGER, INTENT(in) :: Kbb, Kmm, Krhs ! ocean time level 53 54 ! 54 INTEGER :: ji, jj, jk 55 INTEGER :: ji, jj, jk ! dummy loop indices 55 56 REAL(wp) :: zt, ztp, zsk ! dummy variables 56 57 REAL(wp) :: zsol ! solubility … … 81 82 IF( tmask(ji,jj,1) > 0. ) THEN 82 83 ! 83 zt = MIN( 40. , ts n(ji,jj,1,jp_tem) )84 zt = MIN( 40. , ts(ji,jj,1,jp_tem,Kmm) ) 84 85 ! 85 86 ! Computation of solubility zsol in [mol/(L * atm)] … … 87 88 ztp = ( zt + 273.16 ) * 0.01 88 89 zsk = 0.027766 + ztp * ( -0.025888 + 0.0050578 * ztp ) ! [mol/(L * atm)] 89 zsol = EXP( -58.0931 + 90.5069 / ztp + 22.2940 * LOG( ztp ) + zsk * ts n(ji,jj,1,jp_sal) )90 zsol = EXP( -58.0931 + 90.5069 / ztp + 22.2940 * LOG( ztp ) + zsk * ts(ji,jj,1,jp_sal,Kmm) ) 90 91 ! convert solubilities [mol/(L * atm)] -> [mol/(m^3 * ppm)] 91 92 zsol = zsol * 1.e-03 … … 120 121 ! Flux of C-14 from air-to-sea; units: (C14/C ratio) x m/s 121 122 ! already masked 122 qtr_c14(:,:) = exch_c14(:,:) * ( c14sbc(:,:) - tr b(:,:,1,jp_c14) )123 qtr_c14(:,:) = exch_c14(:,:) * ( c14sbc(:,:) - tr(:,:,1,jp_c14,Kbb) ) 123 124 124 125 ! cumulation of air-to-sea flux at each time step … … 128 129 DO jj = 1, jpj 129 130 DO ji = 1, jpi 130 tr a(ji,jj,1,jp_c14) = tra(ji,jj,1,jp_c14) + qtr_c14(ji,jj) / e3t_n(ji,jj,1)131 tr(ji,jj,1,jp_c14,Krhs) = tr(ji,jj,1,jp_c14,Krhs) + qtr_c14(ji,jj) / e3t(ji,jj,1,Kmm) 131 132 END DO 132 133 END DO … … 137 138 DO ji = 1, jpi 138 139 ! 139 tr a(ji,jj,jk,jp_c14) = tra(ji,jj,jk,jp_c14) - rlam14 * trb(ji,jj,jk,jp_c14) * tmask(ji,jj,jk)140 tr(ji,jj,jk,jp_c14,Krhs) = tr(ji,jj,jk,jp_c14,Krhs) - rlam14 * tr(ji,jj,jk,jp_c14,Kbb) * tmask(ji,jj,jk) 140 141 ! 141 142 END DO … … 157 158 ENDIF 158 159 159 IF( l_trdtrc ) CALL trd_trc( tr a(:,:,:,jp_c14), 1, jptra_sms, kt) ! save trends160 IF( l_trdtrc ) CALL trd_trc( tr(:,:,:,jp_c14,Krhs), 1, jptra_sms, kt, Kmm ) ! save trends 160 161 ! 161 162 IF( ln_timing ) CALL timing_stop('trc_sms_c14') -
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/C14/trcwri_c14.F90
r10425 r11949 27 27 CONTAINS 28 28 29 SUBROUTINE trc_wri_c14 29 SUBROUTINE trc_wri_c14( Kmm ) 30 30 !!--------------------------------------------------------------------- 31 31 !! *** ROUTINE trc_wri_c14 *** … … 33 33 !! ** Purpose : output additional C14 tracers fields 34 34 !!--------------------------------------------------------------------- 35 INTEGER, INTENT(in) :: Kmm ! time level indices 35 36 CHARACTER (len=20) :: cltra ! short title for tracer 36 37 INTEGER :: ji,jj,jk,jn ! dummy loop indexes … … 43 44 ! --------------------------------------- 44 45 cltra = TRIM( ctrcnm(jp_c14) ) ! short title for tracer 45 CALL iom_put( cltra, tr n(:,:,:,jp_c14) )46 CALL iom_put( cltra, tr(:,:,:,jp_c14,Kmm) ) 46 47 47 48 ! compute and write the tracer diagnostic in the file … … 61 62 DO ji = 1, jpi 62 63 IF( tmask(ji,jj,jk) > 0._wp) THEN 63 z3d (ji,jj,jk) = tr n(ji,jj,jk,jp_c14)64 z3d (ji,jj,jk) = tr(ji,jj,jk,jp_c14,Kmm) 64 65 zz3d(ji,jj,jk) = LOG( z3d(ji,jj,jk) ) 65 66 ENDIF … … 113 114 ENDIF 114 115 IF( iom_use("C14Inv") ) THEN 115 ztemp = glob_sum( 'trcwri_c14', tr n(:,:,:,jp_c14) * cvol(:,:,:) )116 ztemp = glob_sum( 'trcwri_c14', tr(:,:,:,jp_c14,Kmm) * cvol(:,:,:) ) 116 117 ztemp = atomc14 * xdicsur * ztemp 117 118 CALL iom_put( "C14Inv", ztemp ) ! Radiocarbon ocean inventory [10^26 atoms]
Note: See TracChangeset
for help on using the changeset viewer.