- Timestamp:
- 2020-01-27T15:31:53+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED/sedchem.F90
r10356 r12340 23 23 REAL(wp), PARAMETER :: pp_rdel_ah_target = 1.E-4_wp 24 24 25 !! * Substitutions 26 # include "do_loop_substitute.h90" 25 27 !! * Module variables 26 28 REAL(wp) :: & … … 136 138 CALL sed_chem_cst 137 139 ELSE 138 DO jj = 1,jpj 139 DO ji = 1, jpi 140 ikt = mbkt(ji,jj) 141 IF ( tmask(ji,jj,ikt) == 1 ) THEN 142 zchem_data(ji,jj,1) = ak13 (ji,jj,ikt) 143 zchem_data(ji,jj,2) = ak23 (ji,jj,ikt) 144 zchem_data(ji,jj,3) = akb3 (ji,jj,ikt) 145 zchem_data(ji,jj,4) = akw3 (ji,jj,ikt) 146 zchem_data(ji,jj,5) = aksp (ji,jj,ikt) 147 zchem_data(ji,jj,6) = borat (ji,jj,ikt) 148 zchem_data(ji,jj,7) = ak1p3 (ji,jj,ikt) 149 zchem_data(ji,jj,8) = ak2p3 (ji,jj,ikt) 150 zchem_data(ji,jj,9) = ak3p3 (ji,jj,ikt) 151 zchem_data(ji,jj,10)= aksi3 (ji,jj,ikt) 152 zchem_data(ji,jj,11)= sio3eq(ji,jj,ikt) 153 zchem_data(ji,jj,12)= aks3 (ji,jj,ikt) 154 zchem_data(ji,jj,13)= akf3 (ji,jj,ikt) 155 zchem_data(ji,jj,14)= sulfat(ji,jj,ikt) 156 zchem_data(ji,jj,15)= fluorid(ji,jj,ikt) 157 ENDIF 158 ENDDO 159 ENDDO 140 DO_2D_11_11 141 ikt = mbkt(ji,jj) 142 IF ( tmask(ji,jj,ikt) == 1 ) THEN 143 zchem_data(ji,jj,1) = ak13 (ji,jj,ikt) 144 zchem_data(ji,jj,2) = ak23 (ji,jj,ikt) 145 zchem_data(ji,jj,3) = akb3 (ji,jj,ikt) 146 zchem_data(ji,jj,4) = akw3 (ji,jj,ikt) 147 zchem_data(ji,jj,5) = aksp (ji,jj,ikt) 148 zchem_data(ji,jj,6) = borat (ji,jj,ikt) 149 zchem_data(ji,jj,7) = ak1p3 (ji,jj,ikt) 150 zchem_data(ji,jj,8) = ak2p3 (ji,jj,ikt) 151 zchem_data(ji,jj,9) = ak3p3 (ji,jj,ikt) 152 zchem_data(ji,jj,10)= aksi3 (ji,jj,ikt) 153 zchem_data(ji,jj,11)= sio3eq(ji,jj,ikt) 154 zchem_data(ji,jj,12)= aks3 (ji,jj,ikt) 155 zchem_data(ji,jj,13)= akf3 (ji,jj,ikt) 156 zchem_data(ji,jj,14)= sulfat(ji,jj,ikt) 157 zchem_data(ji,jj,15)= fluorid(ji,jj,ikt) 158 ENDIF 159 END_2D 160 160 161 161 CALL pack_arr ( jpoce, ak1s (1:jpoce), zchem_data(1:jpi,1:jpj,1) , iarroce(1:jpoce) ) -
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED/seddta.F90
r11949 r12340 22 22 REAL(wp) :: conv2 ! [kg/m2/month]-->[g/cm2/s] ( 1 month has 30 days ) 23 23 24 !! * Substitutions 25 # include "do_loop_substitute.h90" 24 26 !! $Id$ 25 27 CONTAINS … … 93 95 ! ----------------------------------------------------------- 94 96 IF (ln_sediment_offline) THEN 95 DO jj = 1, jpj 96 DO ji = 1, jpi 97 ikt = mbkt(ji,jj) 98 zwsbio4(ji,jj) = wsbio2 / rday 99 zwsbio3(ji,jj) = wsbio / rday 100 END DO 101 END DO 97 DO_2D_11_11 98 ikt = mbkt(ji,jj) 99 zwsbio4(ji,jj) = wsbio2 / rday 100 zwsbio3(ji,jj) = wsbio / rday 101 END_2D 102 102 ELSE 103 DO jj = 1, jpj 104 DO ji = 1, jpi 105 ikt = mbkt(ji,jj) 106 zdep = e3t(ji,jj,ikt,Kmm) / r2dttrc 107 zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) / rday ) 108 zwsbio3(ji,jj) = MIN( 0.99 * zdep, wsbio3(ji,jj,ikt) / rday ) 109 END DO 110 END DO 103 DO_2D_11_11 104 ikt = mbkt(ji,jj) 105 zdep = e3t(ji,jj,ikt,Kmm) / r2dttrc 106 zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) / rday ) 107 zwsbio3(ji,jj) = MIN( 0.99 * zdep, wsbio3(ji,jj,ikt) / rday ) 108 END_2D 111 109 ENDIF 112 110 113 111 trc_data(:,:,:) = 0. 114 DO jj = 1,jpj 115 DO ji = 1, jpi 116 ikt = mbkt(ji,jj) 117 IF ( tmask(ji,jj,ikt) == 1 ) THEN 118 trc_data(ji,jj,1) = tr(ji,jj,ikt,jpsil,Kbb) 119 trc_data(ji,jj,2) = tr(ji,jj,ikt,jpoxy,Kbb) 120 trc_data(ji,jj,3) = tr(ji,jj,ikt,jpdic,Kbb) 121 trc_data(ji,jj,4) = tr(ji,jj,ikt,jpno3,Kbb) / 7.625 122 trc_data(ji,jj,5) = tr(ji,jj,ikt,jppo4,Kbb) / 122. 123 trc_data(ji,jj,6) = tr(ji,jj,ikt,jptal,Kbb) 124 trc_data(ji,jj,7) = tr(ji,jj,ikt,jpnh4,Kbb) / 7.625 125 trc_data(ji,jj,8) = 0.0 126 trc_data(ji,jj,9) = 28.0E-3 127 trc_data(ji,jj,10) = tr(ji,jj,ikt,jpfer,Kbb) 128 trc_data(ji,jj,11 ) = MIN(tr(ji,jj,ikt,jpgsi,Kbb), 1E-4) * zwsbio4(ji,jj) * 1E3 129 trc_data(ji,jj,12 ) = MIN(tr(ji,jj,ikt,jppoc,Kbb), 1E-4) * zwsbio3(ji,jj) * 1E3 130 trc_data(ji,jj,13 ) = MIN(tr(ji,jj,ikt,jpgoc,Kbb), 1E-4) * zwsbio4(ji,jj) * 1E3 131 trc_data(ji,jj,14) = MIN(tr(ji,jj,ikt,jpcal,Kbb), 1E-4) * zwsbio4(ji,jj) * 1E3 132 trc_data(ji,jj,15) = ts(ji,jj,ikt,jp_tem,Kmm) 133 trc_data(ji,jj,16) = ts(ji,jj,ikt,jp_sal,Kmm) 134 trc_data(ji,jj,17 ) = ( tr(ji,jj,ikt,jpsfe,Kbb) * zwsbio3(ji,jj) + tr(ji,jj,ikt,jpbfe,Kbb) & 135 & * zwsbio4(ji,jj) ) * 1E3 / ( trc_data(ji,jj,12 ) + trc_data(ji,jj,13 ) + rtrn ) 136 trc_data(ji,jj,17 ) = MIN(1E-3, trc_data(ji,jj,17 ) ) 137 ENDIF 138 ENDDO 139 ENDDO 112 DO_2D_11_11 113 ikt = mbkt(ji,jj) 114 IF ( tmask(ji,jj,ikt) == 1 ) THEN 115 trc_data(ji,jj,1) = tr(ji,jj,ikt,jpsil,Kbb) 116 trc_data(ji,jj,2) = tr(ji,jj,ikt,jpoxy,Kbb) 117 trc_data(ji,jj,3) = tr(ji,jj,ikt,jpdic,Kbb) 118 trc_data(ji,jj,4) = tr(ji,jj,ikt,jpno3,Kbb) / 7.625 119 trc_data(ji,jj,5) = tr(ji,jj,ikt,jppo4,Kbb) / 122. 120 trc_data(ji,jj,6) = tr(ji,jj,ikt,jptal,Kbb) 121 trc_data(ji,jj,7) = tr(ji,jj,ikt,jpnh4,Kbb) / 7.625 122 trc_data(ji,jj,8) = 0.0 123 trc_data(ji,jj,9) = 28.0E-3 124 trc_data(ji,jj,10) = tr(ji,jj,ikt,jpfer,Kbb) 125 trc_data(ji,jj,11 ) = MIN(tr(ji,jj,ikt,jpgsi,Kbb), 1E-4) * zwsbio4(ji,jj) * 1E3 126 trc_data(ji,jj,12 ) = MIN(tr(ji,jj,ikt,jppoc,Kbb), 1E-4) * zwsbio3(ji,jj) * 1E3 127 trc_data(ji,jj,13 ) = MIN(tr(ji,jj,ikt,jpgoc,Kbb), 1E-4) * zwsbio4(ji,jj) * 1E3 128 trc_data(ji,jj,14) = MIN(tr(ji,jj,ikt,jpcal,Kbb), 1E-4) * zwsbio4(ji,jj) * 1E3 129 trc_data(ji,jj,15) = ts(ji,jj,ikt,jp_tem,Kmm) 130 trc_data(ji,jj,16) = ts(ji,jj,ikt,jp_sal,Kmm) 131 trc_data(ji,jj,17 ) = ( tr(ji,jj,ikt,jpsfe,Kbb) * zwsbio3(ji,jj) + tr(ji,jj,ikt,jpbfe,Kbb) & 132 & * zwsbio4(ji,jj) ) * 1E3 / ( trc_data(ji,jj,12 ) + trc_data(ji,jj,13 ) + rtrn ) 133 trc_data(ji,jj,17 ) = MIN(1E-3, trc_data(ji,jj,17 ) ) 134 ENDIF 135 END_2D 140 136 141 137 ! Pore water initial concentration [mol/l] in k=1 -
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED/sedini.F90
r11960 r12340 22 22 PRIVATE 23 23 24 !! * Substitutions 25 # include "do_loop_substitute.h90" 24 26 !! Module variables 25 27 REAL(wp) :: & … … 133 135 ! Determination of sediments number of points and allocate global variables 134 136 epkbot(:,:) = 0. 135 DO jj = 1, jpj 136 DO ji = 1, jpi 137 ikt = mbkt(ji,jj) 138 IF( tmask(ji,jj,ikt) == 1 ) epkbot(ji,jj) = e3t_1d(ikt) 139 gdepbot(ji,jj) = gdepw_0(ji,jj,ikt) 140 ENDDO 141 ENDDO 137 DO_2D_11_11 138 ikt = mbkt(ji,jj) 139 IF( tmask(ji,jj,ikt) == 1 ) epkbot(ji,jj) = e3t_1d(ikt) 140 gdepbot(ji,jj) = gdepw_0(ji,jj,ikt) 141 END_2D 142 142 143 143 ! computation of total number of ocean points … … 247 247 ! Computation of 1D array of sediments points 248 248 indoce = 0 249 DO jj = 1, jpj 250 DO ji = 1, jpi 251 IF ( epkbot(ji,jj) > 0. ) THEN 252 indoce = indoce + 1 253 iarroce(indoce) = (jj - 1) * jpi + ji 254 ENDIF 255 END DO 256 END DO 249 DO_2D_11_11 250 IF ( epkbot(ji,jj) > 0. ) THEN 251 indoce = indoce + 1 252 iarroce(indoce) = (jj - 1) * jpi + ji 253 ENDIF 254 END_2D 257 255 258 256 IF ( indoce .EQ. 0 ) THEN -
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED/sedsfc.F90
r11949 r12340 11 11 PUBLIC sed_sfc 12 12 13 !! * Substitutions 14 # include "do_loop_substitute.h90" 13 15 !! $Id$ 14 16 CONTAINS … … 46 48 47 49 48 DO jj = 1,jpj 49 DO ji = 1, jpi 50 ikt = mbkt(ji,jj) 51 IF ( tmask(ji,jj,ikt) == 1 ) THEN 52 tr(ji,jj,ikt,jptal,Kbb) = trc_data(ji,jj,1) 53 tr(ji,jj,ikt,jpdic,Kbb) = trc_data(ji,jj,2) 54 tr(ji,jj,ikt,jpno3,Kbb) = trc_data(ji,jj,3) * 7.625 55 tr(ji,jj,ikt,jppo4,Kbb) = trc_data(ji,jj,4) * 122. 56 tr(ji,jj,ikt,jpoxy,Kbb) = trc_data(ji,jj,5) 57 tr(ji,jj,ikt,jpsil,Kbb) = trc_data(ji,jj,6) 58 tr(ji,jj,ikt,jpnh4,Kbb) = trc_data(ji,jj,7) * 7.625 59 tr(ji,jj,ikt,jpfer,Kbb) = trc_data(ji,jj,8) 60 ENDIF 61 ENDDO 62 ENDDO 50 DO_2D_11_11 51 ikt = mbkt(ji,jj) 52 IF ( tmask(ji,jj,ikt) == 1 ) THEN 53 tr(ji,jj,ikt,jptal,Kbb) = trc_data(ji,jj,1) 54 tr(ji,jj,ikt,jpdic,Kbb) = trc_data(ji,jj,2) 55 tr(ji,jj,ikt,jpno3,Kbb) = trc_data(ji,jj,3) * 7.625 56 tr(ji,jj,ikt,jppo4,Kbb) = trc_data(ji,jj,4) * 122. 57 tr(ji,jj,ikt,jpoxy,Kbb) = trc_data(ji,jj,5) 58 tr(ji,jj,ikt,jpsil,Kbb) = trc_data(ji,jj,6) 59 tr(ji,jj,ikt,jpnh4,Kbb) = trc_data(ji,jj,7) * 7.625 60 tr(ji,jj,ikt,jpfer,Kbb) = trc_data(ji,jj,8) 61 ENDIF 62 END_2D 63 63 64 64 IF( ln_timing ) CALL timing_stop('sed_sfc') -
NEMO/branches/2019/dev_r11943_MERGE_2019/src/TOP/PISCES/SED/trcdmp_sed.F90
r12236 r12340 36 36 !! * Substitutions 37 37 # include "vectopt_loop_substitute.h90" 38 # include "do_loop_substitute.h90" 38 39 !!---------------------------------------------------------------------- 39 40 !! NEMO/TOP 3.3 , NEMO Consortium (2010) … … 93 94 CALL trc_dta( kt, Kmm, sf_trcdta(jl), rf_trfac(jl), ztrcdta ) ! read tracer data at nit000 94 95 ! 95 DO jj = 1, jpj 96 DO ji = 1, jpi ! vector opt. 97 ikt = mbkt(ji,jj) 98 tr(ji,jj,ikt,jn,Kbb) = ztrcdta(ji,jj,ikt) + ( tr(ji,jj,ikt,jn,Kbb) - ztrcdta(ji,jj,ikt) ) & 99 & * exp( -restosed(ji,jj,ikt) * dtsed ) 100 END DO 101 END DO 96 DO_2D_11_11 97 ikt = mbkt(ji,jj) 98 tr(ji,jj,ikt,jn,Kbb) = ztrcdta(ji,jj,ikt) + ( tr(ji,jj,ikt,jn,Kbb) - ztrcdta(ji,jj,ikt) ) & 99 & * exp( -restosed(ji,jj,ikt) * dtsed ) 100 END_2D 102 101 ! 103 102 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.