Changeset 8074 for branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90
- Timestamp:
- 2017-05-25T18:43:39+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90
r7894 r8074 90 90 !! add this trend now to the general trend of tracer (ta,sa,tra): 91 91 !! tra = tra + dz(trn wn) 92 !! 93 !! IF 'key_trc_diabio' is defined, the now vertical advection 94 !! trend of passive tracers is saved for futher diagnostics. 92 95 !!--------------------------------------------------------------------- 93 96 INTEGER, INTENT( in ) :: kt ! ocean time-step index … … 137 140 ! for detrital nitrogen sedimentation only - jpdet 138 141 zwork(:,:,1 ) = 0.e0 ! surface value set to zero 142 !! DO ji = 1, jpi 143 !! zirondep(ji,jj,1) = (dustsolub * dust(ji,jj) / (55.85 * rmtss) + 3.e-10 / ryyss) & 144 !! & * rfact2 / fse3t(ji,jj,1) 145 !! zsidep (ji,jj) = 8.8 * 0.075 * dust(ji,jj) * rfact2 / & 146 !! & (fse3t(ji,jj,1) * 28.1 * rmtss) 147 !! END DO 148 !! END DO 149 150 ! sedimentation of detrital nitrogen : upstream scheme 151 ! ---------------------------------------------------- 152 ! 153 zwork(:,:,:) = 0.e0 ! initialisation of sinking variable 154 ! for detrital nitrogen sedimentation only - jpdet 155 zwork(:,:,1 ) = 0.e0 ! surface value set to zero 139 156 zwork(:,:,jpk) = 0.e0 ! bottom value set to zero 140 157 ! … … 144 161 ! zwork(:,:,jk) = -vsed * max(trn(:,:,jk-1,jpdet),0.d0) * tmask(:,:,jk-1) 145 162 zwork(:,:,jk) = -vsed * max(trn(:,:,jk-1,jpdet),0.) * tmask(:,:,jk-1) 163 ! 164 ! AXY (16/01/14): stop sinking in upper 10m to reduce model instability 165 ! in shallower grid cells 166 ! if ( jk .lt. 9 ) zwork(:,:,jk) = 0.e0 146 167 END DO 147 168 ! … … 152 173 ztra = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 153 174 tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + ztra 175 # if defined key_trc_diabio 176 trbio(ji,jj,jk,8) = ztra 177 # endif 154 178 IF (lk_iomput .AND. .NOT. ln_diatrc) THEN 155 179 IF( med_diag%DSED%dgsave ) THEN 156 180 zw2d(ji,jj) = zw2d(ji,jj) + ztra * fse3t(ji,jj,jk) * 86400. 157 181 ENDIF 182 ELSE IF( ln_diatrc ) THEN 183 trc2d(ji,jj,8) = trc2d(ji,jj,8) + ztra * fse3t(ji,jj,jk) * 86400. 158 184 ENDIF 159 185 … … 162 188 END DO 163 189 ! 190 # if defined key_trc_diabio 191 CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. ) ! Lateral boundary conditions on trcbio 192 # endif 193 IF( ln_diatrc ) CALL lbc_lnk( trc2d(:,:,8), 'T', 1. ) ! Lateral boundary conditions on trc2d 194 !! 164 195 IF (lk_iomput .AND. .NOT. ln_diatrc) THEN 165 196 IF( med_diag%DSED%dgsave ) THEN … … 167 198 CALL wrk_dealloc( jpi, jpj, zw2d ) 168 199 ENDIF 200 ELSE IF (lk_iomput .AND. ln_diatrc) THEN 201 CALL iom_put( "DSED",trc2d(:,:,8) ) 169 202 ENDIF 170 203 !! … … 184 217 ! zwork(:,:,jk) = -vsed * max(trn(:,:,jk-1,jpdtc),0.d0) * tmask(:,:,jk-1) 185 218 zwork(:,:,jk) = -vsed * max(trn(:,:,jk-1,jpdtc),0.) * tmask(:,:,jk-1) 219 ! 220 ! AXY (16/01/14): stop sinking in upper 10m to reduce model instability 221 ! in shallower grid cells 222 ! if ( jk .lt. 9 ) zwork(:,:,jk) = 0.e0 186 223 END DO 187 224 ! … … 192 229 ztra = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 193 230 tra(ji,jj,jk,jpdtc) = tra(ji,jj,jk,jpdtc) + ztra 231 !! # if defined key_trc_diabio 232 !! trbio(ji,jj,jk,8) = ztra 233 !! # endif 234 !! IF( ln_diatrc ) & 235 !! & trc2d(ji,jj,8) = trc2d(ji,jj,8) + ztra * fse3t(ji,jj,jk) * 86400. 194 236 END DO 195 237 END DO 196 238 END DO 197 239 ! 240 !! # if defined key_trc_diabio 241 !! CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. ) ! Lateral boundary conditions on trcbio 242 !! # endif 243 !! IF( ln_diatrc ) CALL lbc_lnk( trc2d(:,:,8), 'T', 1. ) ! Lateral boundary conditions on trc2d 244 !! # if defined key_iomput 245 !! CALL iom_put( "DSED",trc2d(:,:,8) ) 246 !! # endif 247 198 248 # endif 199 249 … … 331 381 ENDIF 332 382 383 !! AXY (04/11/13): replace this with a call in trc_ini_medusa 384 !! AXY (25/02/10) 385 !! call routine for populating CCD array if this is the first time-step 386 !! IF( kt == nittrc000 ) CALL medusa_ccd( kt ) 387 388 !! AXY (04/11/13): replace this with a call in trc_ini_medusa 389 !! AXY (26/01/12) 390 !! call routine for populating river arrays if this is the first time-step 391 !! IF( kt == nittrc000 ) CALL medusa_river( kt ) 392 393 !! AXY (10/02/09) 394 !! IF( (jnt == 1) .and. (bdustfer) ) CALL trc_sed_medusa_sbc( kt ) 395 396 !! JPALM -- 31-03-2016 -- rewrite trc_sed_medusa_sbc. 397 !! IF (kt == nittrc000 ) CALL trc_sed_medusa_sbc 398 399 !! JPALM -- 20-07-2016 -- adapt dust forcing fields reading and conversion 400 !! To read dust dep in kg-dust/m2/s instead of g-Fe/m2/month 401 !! So all forcings and coupling dust dep are in the same SI units 402 !! and then convert in mmol-Fe/m2/day 403 333 404 IF( bdustfer ) THEN 334 405 CALL fld_read( kt, 1, sf_dust ) … … 343 414 zirondep(:,:) = dust(:,:) * Fe_dust_mratio / xfe_mass * 1.e6 * 86400. !! mmol-Fe/m2/d 344 415 416 !! JPALM -- 20-07-2016 -- Zirondep and zsidep are not used. 417 !! So comment out the following lines. but keep them 418 !! as we may want to used them later on 419 !!================================================ 420 !! 421 !! zirondep(:,:,:) = 0.e0 !! Initialisation of deposition variables 422 !! zsidep (:,:) = 0.e0 423 !! 424 !! Iron and Si deposition at the surface 425 !! ------------------------------------- 426 !! 427 !! DO jj = 1, jpj 428 !! DO ji = 1, jpi 429 !! zirondep(ji,jj,1) = (dustsolub * dust(ji,jj) / (55.85 * rmtss) + 3.e-10 / ryyss) & 430 !! & * rfact2 / fse3t(ji,jj,1) 431 !! zsidep (ji,jj) = 8.8 * 0.075 * dust(ji,jj) * rfact2 / & 432 !! & (fse3t(ji,jj,1) * 28.1 * rmtss) 433 !! END DO 434 !! END DO 435 345 436 END SUBROUTINE trc_sed_medusa_dust 346 437
Note: See TracChangeset
for help on using the changeset viewer.