Changeset 6140 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
- Timestamp:
- 2015-12-21T12:35:23+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r5836 r6140 32 32 PUBLIC p4z_sed_alloc 33 33 34 35 !! * Module variables36 34 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrpot !: Nitrogen fixation 37 35 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,: ) :: sdenit !: Nitrate reduction in the sediments 38 36 REAL(wp) :: r1_rday !: inverse of rday 39 37 40 !! * Substitutions41 # include "domzgr_substitute.h90"42 38 !!---------------------------------------------------------------------- 43 39 !! NEMO/TOP 3.3 , NEMO Consortium (2010) … … 100 96 DO jj = 1, jpj 101 97 DO ji = 1, jpi 102 zdep = rfact2 / fse3t(ji,jj,1)98 zdep = rfact2 / e3t_n(ji,jj,1) 103 99 zwflux = fmmflx(ji,jj) / 1000._wp 104 100 zfminus = MIN( 0._wp, -zwflux ) * trb(ji,jj,1,jpfer) * zdep … … 111 107 ! 112 108 IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "Ironice" ) ) & 113 & CALL iom_put( "Ironice", zironice(:,:) * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1) ) ! iron flux from ice109 & CALL iom_put( "Ironice", zironice(:,:) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) ) ! iron flux from ice 114 110 ! 115 111 CALL wrk_dealloc( jpi, jpj, zironice ) … … 125 121 ! ! Iron and Si deposition at the surface 126 122 IF( ln_solub ) THEN 127 zirondep(:,:,1) = solub(:,:) * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 55.85 + 3.e-10 * r1_ryyss123 zirondep(:,:,1) = solub(:,:) * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 55.85 + 3.e-10 * r1_ryyss 128 124 ELSE 129 zirondep(:,:,1) = dustsolub * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 55.85 + 3.e-10 * r1_ryyss125 zirondep(:,:,1) = dustsolub * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 55.85 + 3.e-10 * r1_ryyss 130 126 ENDIF 131 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 28.1132 zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 31. / po4r127 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 28.1 128 zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 31. / po4r 133 129 ! ! Iron solubilization of particles in the water column 134 130 ! ! dust in kg/m2/s ---> 1/55.85 to put in mol/Fe ; wdust in m/j 135 131 zwdust = 0.03 * rday / ( wdust * 55.85 ) / ( 270. * rday ) 136 132 DO jk = 2, jpkm1 137 zirondep(:,:,jk) = dust(:,:) * mfrac * zwdust * rfact2 * EXP( - fsdept(:,:,jk) / 540. )133 zirondep(:,:,jk) = dust(:,:) * mfrac * zwdust * rfact2 * EXP( -gdept_n(:,:,jk) / 540. ) 138 134 END DO 139 135 ! ! Iron solubilization of particles in the water column … … 145 141 IF( knt == nrdttrc ) THEN 146 142 IF( iom_use( "Irondep" ) ) & 147 & CALL iom_put( "Irondep", zirondep(:,:,1) * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1) ) ! surface downward dust depo of iron143 & CALL iom_put( "Irondep", zirondep(:,:,1) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) ) ! surface downward dust depo of iron 148 144 IF( iom_use( "pdust" ) ) & 149 145 & CALL iom_put( "pdust" , dust(:,:) / ( wdust * rday ) * tmask(:,:,1) ) ! dust concentration at surface … … 151 147 ELSE 152 148 IF( ln_diatrc ) & 153 & trc2d(:,:,jp_pcs0_2d + 11) = zirondep(:,:,1) * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1)149 & trc2d(:,:,jp_pcs0_2d + 11) = zirondep(:,:,1) * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) 154 150 ENDIF 155 151 CALL wrk_dealloc( jpi, jpj, zpdep, zsidep ) … … 206 202 DO ji = 1, jpi 207 203 ikt = mbkt(ji,jj) 208 zdep = fse3t(ji,jj,ikt) / xstep204 zdep = e3t_n(ji,jj,ikt) / xstep 209 205 zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) ) 210 206 zwscal (ji,jj) = MIN( 0.99 * zdep, wscal (ji,jj,ikt) ) … … 230 226 zo2 = LOG10( MAX( 10. , trb(ji,jj,ikt,jpoxy) * 1E6 ) ) 231 227 zno3 = LOG10( MAX( 1. , trb(ji,jj,ikt,jpno3) * 1E6 * rno3 ) ) 232 zdep = LOG10( fsdepw(ji,jj,ikt+1) )228 zdep = LOG10( gdepw_n(ji,jj,ikt+1) ) 233 229 zdenit2d(ji,jj) = -2.2567 - 1.185 * zflx - 0.221 * zflx**2 - 0.3995 * zno3 * zo2 + 1.25 * zno3 & 234 230 & + 0.4721 * zo2 - 0.0996 * zdep + 0.4256 * zflx * zo2 … … 279 275 DO ji = 1, jpi 280 276 ikt = mbkt(ji,jj) 281 zdep = xstep / fse3t(ji,jj,ikt)277 zdep = xstep / e3t_n(ji,jj,ikt) 282 278 zws4 = zwsbio4(ji,jj) * zdep 283 279 zwsc = zwscal (ji,jj) * zdep … … 305 301 DO ji = 1, jpi 306 302 ikt = mbkt(ji,jj) 307 zdep = xstep / fse3t(ji,jj,ikt)303 zdep = xstep / e3t_n(ji,jj,ikt) 308 304 zws4 = zwsbio4(ji,jj) * zdep 309 305 zws3 = zwsbio3(ji,jj) * zdep … … 336 332 tra(ji,jj,ikt,jptal) = tra(ji,jj,ikt,jptal) + rno3 * (zolimit + (1.+rdenit) * (zpdenit + zdenitt) ) 337 333 tra(ji,jj,ikt,jpdic) = tra(ji,jj,ikt,jpdic) + zpdenit + zolimit + zdenitt 338 sdenit(ji,jj) = rdenit * zpdenit * fse3t(ji,jj,ikt)334 sdenit(ji,jj) = rdenit * zpdenit * e3t_n(ji,jj,ikt) 339 335 #endif 340 336 END DO … … 388 384 zwork1(:,:) = 0. 389 385 DO jk = 1, jpkm1 390 zwork1(:,:) = zwork1(:,:) + nitrpot(:,:,jk) * nitrfix * zfact * fse3t(:,:,jk) * tmask(:,:,jk)386 zwork1(:,:) = zwork1(:,:) + nitrpot(:,:,jk) * nitrfix * zfact * e3t_n(:,:,jk) * tmask(:,:,jk) 391 387 ENDDO 392 388 CALL iom_put( "INTNFIX" , zwork1 ) … … 395 391 ELSE 396 392 IF( ln_diatrc ) & 397 & trc2d(:,:,jp_pcs0_2d + 12) = nitrpot(:,:,1) * nitrfix * rno3 * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1)393 & trc2d(:,:,jp_pcs0_2d + 12) = nitrpot(:,:,1) * nitrfix * rno3 * 1.e+3 * rfact2r * e3t_n(:,:,1) * tmask(:,:,1) 398 394 ENDIF 399 395 !
Note: See TracChangeset
for help on using the changeset viewer.