- Timestamp:
- 2013-11-04T13:54:28+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r3751 r4148 69 69 REAL(wp) :: zwflux, zfminus, zfplus 70 70 REAL(wp) :: zlim, zfact, zfactcal 71 REAL(wp) :: zo2, zno3, zflx, zpdenit, z1pdenit 71 REAL(wp) :: zo2, zno3, zflx, zpdenit, z1pdenit, zdenitt, zolimit 72 72 REAL(wp) :: zsiloss, zcaloss, zwsbio3, zwsbio4, zwscal, zdep, zwstpoc 73 73 REAL(wp) :: ztrfer, ztrpo4, zwdust … … 105 105 DO ji = 1, jpi 106 106 zdep = rfact2 / fse3t(ji,jj,1) 107 ! zwflux = ( emps(ji,jj) - emp(ji,jj) ) & 108 ! & * tsn(ji,jj,1,jp_sal) / ( tsn(ji,jj,1,jp_sal) - 6.0 ) / 1000. 109 zwflux = 0. 110 zfminus = MIN( 0., -zwflux ) * trn(ji,jj,1,jpfer) * zdep 111 zfplus = MAX( 0., -zwflux ) * 10E-9 * zdep 107 zwflux = fmmflx(ji,jj) / 1000._wp 108 zfminus = MIN( 0._wp, -zwflux ) * trn(ji,jj,1,jpfer) * zdep 109 zfplus = MAX( 0._wp, -zwflux ) * icefeinput * zdep 112 110 zironice(ji,jj) = zfplus + zfminus 113 111 END DO … … 135 133 ENDIF 136 134 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * rfact2 / fse3t(:,:,1) / ( 28.1 * rmtss ) 137 zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * rfact2 / fse3t(:,:,1) / ( 31. * rmtss ) 135 zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * rfact2 / fse3t(:,:,1) / ( 31. * rmtss ) / po4r 138 136 ! ! Iron solubilization of particles in the water column 139 137 zwdust = 0.005 / ( wdust * 55.85 * 30.42 ) / ( 45. * rday ) … … 246 244 #endif 247 245 248 ! THEN this loss is scaled at each bottom grid cell for 249 ! equilibrating the total budget of silica in the ocean. 250 ! Thus, the amount of silica lost in the sediments equal 251 ! the supply at the surface (dust+rivers) 246 ! This loss is scaled at each bottom grid cell for equilibrating the total budget of silica in the ocean. 247 ! Thus, the amount of silica lost in the sediments equal the supply at the surface (dust+rivers) 252 248 ! ------------------------------------------------------ 253 249 #if ! defined key_sed … … 302 298 303 299 #if ! defined key_sed 304 zpdenit = MIN( ( trn(ji,jj,ikt,jpno3) - rtrn ) / rdenit, zdenit2d(ji,jj) * zwstpoc * zrivno3 ) 300 ! The 0.5 factor in zpdenit and zdenitt is to avoid negative NO3 concentration after both denitrification 301 ! in the sediments and just above the sediments. Not very clever, but simpliest option. 302 zpdenit = MIN( 0.5 * ( trn(ji,jj,ikt,jpno3) - rtrn ) / rdenit, zdenit2d(ji,jj) * zwstpoc * zrivno3 ) 305 303 z1pdenit = zwstpoc * zrivno3 - zpdenit 306 trn(ji,jj,ikt,jpdoc) = trn(ji,jj,ikt,jpdoc) + z1pdenit 307 trn(ji,jj,ikt,jppo4) = trn(ji,jj,ikt,jppo4) + zpdenit 308 trn(ji,jj,ikt,jpnh4) = trn(ji,jj,ikt,jpnh4) + zpdenit 309 trn(ji,jj,ikt,jpno3) = trn(ji,jj,ikt,jpno3) - rdenit * zpdenit 310 trn(ji,jj,ikt,jptal) = trn(ji,jj,ikt,jptal) + rno3 * ( 1. + rdenit ) * zpdenit 311 trn(ji,jj,ikt,jpdic) = trn(ji,jj,ikt,jpdic) + zpdenit 304 zolimit = MIN( ( trn(ji,jj,ikt,jpoxy) - rtrn ) / o2ut, z1pdenit * ( 1.- nitrfac(ji,jj,ikt) ) ) 305 zdenitt = MIN( 0.5 * ( trn(ji,jj,ikt,jpno3) - rtrn ) / rdenit, z1pdenit * nitrfac(ji,jj,ikt) ) 306 trn(ji,jj,ikt,jpdoc) = trn(ji,jj,ikt,jpdoc) + z1pdenit - zolimit - zdenitt 307 trn(ji,jj,ikt,jppo4) = trn(ji,jj,ikt,jppo4) + zpdenit + zolimit + zdenitt 308 trn(ji,jj,ikt,jpnh4) = trn(ji,jj,ikt,jpnh4) + zpdenit + zolimit + zdenitt 309 trn(ji,jj,ikt,jpno3) = trn(ji,jj,ikt,jpno3) - rdenit * (zpdenit + zdenitt) 310 trn(ji,jj,ikt,jpoxy) = trn(ji,jj,ikt,jpoxy) - zolimit * o2ut 311 trn(ji,jj,ikt,jptal) = trn(ji,jj,ikt,jptal) + rno3 * (zolimit + (1.+rdenit) * (zpdenit + zdenitt) ) 312 trn(ji,jj,ikt,jpdic) = trn(ji,jj,ikt,jpdic) + zpdenit + zolimit + zdenitt 312 313 zwork4(ji,jj) = rdenit * zpdenit * fse3t(ji,jj,ikt) 313 314 #endif
Note: See TracChangeset
for help on using the changeset viewer.