Changeset 10975 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/C14/trcsms_c14.F90
- Timestamp:
- 2019-05-13T18:34:33+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/C14/trcsms_c14.F90
r10966 r10975 33 33 CONTAINS 34 34 35 SUBROUTINE trc_sms_c14( kt, K mm)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 index53 INTEGER, INTENT(in) :: K mm! ocean time level52 INTEGER, INTENT(in) :: kt ! ocean time-step index 53 INTEGER, INTENT(in) :: Kbb, Kmm, Krhs ! ocean time level 54 54 ! 55 INTEGER :: ji, jj, jk 55 INTEGER :: ji, jj, jk ! dummy loop indices 56 56 REAL(wp) :: zt, ztp, zsk ! dummy variables 57 57 REAL(wp) :: zsol ! solubility … … 82 82 IF( tmask(ji,jj,1) > 0. ) THEN 83 83 ! 84 zt = MIN( 40. , ts n(ji,jj,1,jp_tem) )84 zt = MIN( 40. , ts(ji,jj,1,jp_tem,Kmm) ) 85 85 ! 86 86 ! Computation of solubility zsol in [mol/(L * atm)] … … 88 88 ztp = ( zt + 273.16 ) * 0.01 89 89 zsk = 0.027766 + ztp * ( -0.025888 + 0.0050578 * ztp ) ! [mol/(L * atm)] 90 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) ) 91 91 ! convert solubilities [mol/(L * atm)] -> [mol/(m^3 * ppm)] 92 92 zsol = zsol * 1.e-03 … … 121 121 ! Flux of C-14 from air-to-sea; units: (C14/C ratio) x m/s 122 122 ! already masked 123 qtr_c14(:,:) = exch_c14(:,:) * ( c14sbc(:,:) - tr b(:,:,1,jp_c14) )123 qtr_c14(:,:) = exch_c14(:,:) * ( c14sbc(:,:) - tr(:,:,1,jp_c14,Kbb) ) 124 124 125 125 ! cumulation of air-to-sea flux at each time step … … 129 129 DO jj = 1, jpj 130 130 DO ji = 1, jpi 131 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) 132 132 END DO 133 133 END DO … … 138 138 DO ji = 1, jpi 139 139 ! 140 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) 141 141 ! 142 142 END DO … … 158 158 ENDIF 159 159 160 IF( l_trdtrc ) CALL trd_trc( tr a(:,:,:,jp_c14), 1, jptra_sms, kt, Kmm ) ! save trends160 IF( l_trdtrc ) CALL trd_trc( tr(:,:,:,jp_c14,Krhs), 1, jptra_sms, kt, Kmm ) ! save trends 161 161 ! 162 162 IF( ln_timing ) CALL timing_stop('trc_sms_c14')
Note: See TracChangeset
for help on using the changeset viewer.