- Timestamp:
- 2021-01-07T23:09:56+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p4zsed.F90
r13233 r14276 66 66 REAL(wp) :: zsiloss, zcaloss, zws3, zws4, zwsc, zdep 67 67 REAL(wp) :: zwstpoc, zwstpon, zwstpop 68 REAL(wp) :: ztr fer, ztrpo4s, ztrdp, zwdust, zmudia, ztemp68 REAL(wp) :: ztrpo4s, ztrdp, zwdust, zmudia, ztemp 69 69 REAL(wp) :: xdiano3, xdianh4 70 70 ! … … 73 73 REAL(wp), DIMENSION(jpi,jpj ) :: zwsbio3, zwsbio4 74 74 REAL(wp), DIMENSION(jpi,jpj ) :: zsedcal, zsedsi, zsedc 75 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zsoufer, zlight 76 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrpo4, ztrdop, zirondep, zpdep 77 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: z sidep, zironice75 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zsoufer, zlight, ztrfer 76 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrpo4, ztrdop, zirondep, zpdep, zsidep 77 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zironice 78 78 !!--------------------------------------------------------------------- 79 79 ! … … 137 137 IF( ln_dust ) THEN 138 138 ! 139 ALLOCATE( zsidep(jpi,jpj ), zpdep(jpi,jpj,jpk), zirondep(jpi,jpj,jpk) )139 ALLOCATE( zsidep(jpi,jpj,jpk), zpdep(jpi,jpj,jpk), zirondep(jpi,jpj,jpk) ) 140 140 141 141 ! Iron, P and Si deposition at the surface … … 154 154 ! and the solubility are hard coded 155 155 ! ---------------------------------------------------------------- 156 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 28.1 157 zpdep (:,:,1) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 31. / po4r 156 ! Si crustal abundance is about 26.9% by mass and 7.5% is soluble 157 ! (see for instance, Tegen and Kohfeld, 2006). 158 zsidep(:,:,1) = 0.269 * 0.075 * dust(:,:) * rfact2 / e3t_n(:,:,1) / 28.1 159 ! P Crustal abundance is about 0.1% by mass and about 10% of it soluble 160 ! (Paytan and McLaughlin, 2007). 161 zpdep (:,:,1) = 0.1 * 1.e-3 * dust(:,:) * rfact2 / e3t_n(:,:,1) / 31. / po4r 158 162 159 163 ! Iron solubilization of particles in the water column … … 168 172 DO jk = 2, jpkm1 169 173 zirondep(:,:,jk) = dust(:,:) * mfrac * zwdust * rfact2 * EXP( -gdept_n(:,:,jk) / (250. * wdust) ) 170 zpdep (:,:,jk) = zirondep(:,:,jk) * 0.38 / po4r 174 zpdep (:,:,jk) = zirondep(:,:,jk) * 1.e-3 / mfrac * 55.85 / 31. 175 zsidep (:,:,jk) = zirondep(:,:,jk) * 0.269 / mfrac * 55.85 / 28.1 171 176 END DO 172 177 173 178 ! Solubilization of particles in the water column (Si, P, Fe) 174 tra(:,:,1,jpsil) = tra(:,:,1,jpsil) + zsidep (:,:)175 179 DO jk = 1, jpkm1 176 180 tra(:,:,jk,jppo4) = tra(:,:,jk,jppo4) + zpdep (:,:,jk) 177 181 tra(:,:,jk,jpfer) = tra(:,:,jk,jpfer) + zirondep(:,:,jk) 182 tra(:,:,jk,jpsil) = tra(:,:,jk,jpsil) + zsidep (:,:,jk) 178 183 ENDDO 179 184 ! … … 299 304 zflx = ( trb(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj) & 300 305 & + trb(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) ) * 1E6 301 zbureff(ji,jj) = 0.013 + 0. 53 * zflx**2 / ( 7.0 + zflx )**2306 zbureff(ji,jj) = 0.013 + 0.13 * zflx**2 / ( 7.0 + zflx )**2 302 307 ENDIF 303 308 END DO … … 306 311 ENDIF 307 312 308 ! Fraction of dSi that is remineralized in the sediments. This is 309 ! set so that the burial in sediments equals the total input of Si 310 ! by rivers and dust (sedsilfrac) 311 ! ---------------------------------------------------------------- 313 ! Fraction of dSi that is dissolved in the sediments. This fraction is 314 ! set to a constant value in p4zsbc 315 ! -------------------------------------------------------------------- 312 316 IF( .NOT.lk_sed ) zrivsil = 1._wp - sedsilfrac 313 317 … … 331 335 ! modeled. The amount of CaCO3 that dissolves in the sediments 332 336 ! is computed using a metamodel constructed from Archer (1996) 333 ! ------------------------------------------------------------ 337 ! A minimum set to sedcalfrac is preserved. This value is defined 338 ! in p4zsbc 339 ! --------------------------------------------------------------- 334 340 DO jj = 1, jpj 335 341 DO ji = 1, jpi … … 341 347 tra(ji,jj,ikt,jpsil) = tra(ji,jj,ikt,jpsil) + zsiloss * zrivsil 342 348 ! 343 zfactcal = M IN( excess(ji,jj,ikt), 0.2)344 zfactcal = MIN( 1., 1.3 * ( 0.2 - zfactcal ) / ( 0.4- zfactcal ) )349 zfactcal = MAX(-0.1, MIN( excess(ji,jj,ikt), 0.2 ) ) 350 zfactcal = 0.3 + 0.7 * MIN( 1., (0.1 + zfactcal) / ( 0.5 - zfactcal ) ) 345 351 zrivalk = sedcalfrac * zfactcal 346 352 tra(ji,jj,ikt,jptal) = tra(ji,jj,ikt,jptal) + zcaloss * zrivalk * 2.0 … … 394 400 zws4 = zwsbio4(ji,jj) * zdep 395 401 zws3 = zwsbio3(ji,jj) * zdep 402 ! Fraction that is permanently buried in the sediments 396 403 zrivno3 = 1. - zbureff(ji,jj) 397 404 zwstpoc = trb(ji,jj,ikt,jpgoc) * zws4 + trb(ji,jj,ikt,jppoc) * zws3 405 ! Denitrification in the sediments 398 406 zpdenit = MIN( 0.5 * ( trb(ji,jj,ikt,jpno3) - rtrn ) / rdenit, zdenit2d(ji,jj) * zwstpoc * zrivno3 ) 407 ! Fraction that is not denitrified 399 408 z1pdenit = zwstpoc * zrivno3 - zpdenit 409 ! Oxic remineralization of organic matter in the sediments 400 410 zolimit = MIN( ( trb(ji,jj,ikt,jpoxy) - rtrn ) / o2ut, z1pdenit * ( 1.- nitrfac(ji,jj,ikt) ) ) 411 ! The fraction that cannot be denitrified nor oxidized by O2 412 ! is released back to the water column as DOC 401 413 tra(ji,jj,ikt,jpdoc) = tra(ji,jj,ikt,jpdoc) + z1pdenit - zolimit 414 ! Update of the tracers concentrations 402 415 tra(ji,jj,ikt,jppo4) = tra(ji,jj,ikt,jppo4) + zpdenit + zolimit 403 416 tra(ji,jj,ikt,jpnh4) = tra(ji,jj,ikt,jpnh4) + zpdenit + zolimit … … 408 421 sdenit(ji,jj) = rdenit * zpdenit * e3t_n(ji,jj,ikt) 409 422 zsedc(ji,jj) = (1. - zrivno3) * zwstpoc * e3t_n(ji,jj,ikt) 423 ! PISCES-QUOTA (p5z) 410 424 IF( ln_p5z ) THEN 411 425 zwstpop = trb(ji,jj,ikt,jpgop) * zws4 + trb(ji,jj,ikt,jppop) * zws3 … … 421 435 ! Nitrogen fixation process : light limitation of diazotrophy 422 436 ! Small source of iron from particulate inorganic iron (photochemistry) 437 ! This is a purely adhoc param. 423 438 !---------------------------------------------------------------------- 424 439 DO jk = 1, jpkm1 425 440 zlight (:,:,jk) = ( 1.- EXP( -etot_ndcy(:,:,jk) / diazolight ) ) * ( 1. - fr_i(:,:) ) 426 zsoufer(:,:,jk) = zlight(:,:,jk) * 2E-11 / ( 2E-11+ biron(:,:,jk) )441 zsoufer(:,:,jk) = zlight(:,:,jk) * 1E-10 / ( 1E-10 + biron(:,:,jk) ) 427 442 ENDDO 428 443 … … 438 453 DO jj = 1, jpj 439 454 DO ji = 1, jpi 440 ! Potential nitrogen fixation dependant on temperature and iron455 ! Potential nitrogen fixation dependant on temperature 441 456 ztemp = tsn(ji,jj,jk,jp_tem) 442 zmudia = MAX( 0.,-0.001096*ztemp**2 + 0.057*ztemp -0.637 ) * 7.625 443 xdianh4 = trb(ji,jj,jk,jpnh4) / ( concnnh4 + trb(ji,jj,jk,jpnh4) ) 444 xdiano3 = trb(ji,jj,jk,jpno3) / ( concnno3 + trb(ji,jj,jk,jpno3) ) * (1. - xdianh4) 445 zlim = ( 1.- xdiano3 - xdianh4 ) 446 ! Nitrogen fixation is almost fully halted when the N 447 ! limitation term (xdiano3+xdianh4) is > 0.9 448 IF( zlim <= 0.1 ) zlim = 0.01 457 zmudia = MAX( 0.,-0.001096*ztemp**2 + 0.057*ztemp -0.637 ) / rno3 458 ! Nitrogen fixation is inhibited when enough NO3 and/or NH4 459 zlim = ( 1.- xnanonh4(ji,jj,jk) - xnanono3(ji,jj,jk) ) 449 460 zfact = zlim * rfact2 450 ztrfer = biron(ji,jj,jk) / ( concfediaz + biron(ji,jj,jk) ) 451 ztrpo4(ji,jj,jk) = trb(ji,jj,jk,jppo4) / ( 1E-6 + trb(ji,jj,jk,jppo4) ) 461 ! Nitrogen fixation limitation by PO4 and Fe 462 ztrfer(ji,jj,jk) = biron(ji,jj,jk) / ( concfediaz + biron(ji,jj,jk) ) 463 ztrpo4(ji,jj,jk) = trb(ji,jj,jk,jppo4) / ( concnnh4 + trb(ji,jj,jk,jppo4) ) 452 464 ztrdp = ztrpo4(ji,jj,jk) 453 nitrpot(ji,jj,jk) = zmudia * r1_rday * zfact * MIN( ztrfer , ztrdp ) * zlight(ji,jj,jk)465 nitrpot(ji,jj,jk) = zmudia * r1_rday * zfact * MIN( ztrfer(ji,jj,jk), ztrdp ) * zlight(ji,jj,jk) 454 466 END DO 455 467 END DO … … 460 472 DO jj = 1, jpj 461 473 DO ji = 1, jpi 462 ! Potential nitrogen fixation dependant on temperature and iron474 ! Potential nitrogen fixation dependant on temperature 463 475 ztemp = tsn(ji,jj,jk,jp_tem) 464 476 zmudia = MAX( 0.,-0.001096*ztemp**2 + 0.057*ztemp -0.637 ) * 7.625 477 ! Nitrogen fixation is inhibited when enough NO3 and/or NH4 465 478 xdianh4 = trb(ji,jj,jk,jpnh4) / ( concnnh4 + trb(ji,jj,jk,jpnh4) ) 466 479 xdiano3 = trb(ji,jj,jk,jpno3) / ( concnno3 + trb(ji,jj,jk,jpno3) ) * (1. - xdianh4) 467 480 zlim = ( 1.- xdiano3 - xdianh4 ) 468 469 ! Nitrogen fixation is almost fully halted when the N470 ! limitation term (xdiano3+xdianh4) is > 0.9471 IF( zlim <= 0.1 ) zlim = 0.01472 481 zfact = zlim * rfact2 473 ztrfer = biron(ji,jj,jk) / ( concfediaz + biron(ji,jj,jk) ) 482 ! Nitrogen fixation limitation by PO4/DOP and Fe 483 ztrfer(ji,jj,jk) = biron(ji,jj,jk) / ( concfediaz + biron(ji,jj,jk) ) 474 484 ztrpo4(ji,jj,jk) = trb(ji,jj,jk,jppo4) / ( 1E-6 + trb(ji,jj,jk,jppo4) ) 475 485 ztrdop(ji,jj,jk) = trb(ji,jj,jk,jpdop) / ( 1E-6 + trb(ji,jj,jk,jpdop) ) * (1. - ztrpo4(ji,jj,jk)) 476 486 ztrdp = ztrpo4(ji,jj,jk) + ztrdop(ji,jj,jk) 477 nitrpot(ji,jj,jk) = zmudia * r1_rday * zfact * MIN( ztrfer , ztrdp ) * zlight(ji,jj,jk)487 nitrpot(ji,jj,jk) = zmudia * r1_rday * zfact * MIN( ztrfer(ji,jj,jk), ztrdp ) * zlight(ji,jj,jk) 478 488 END DO 479 489 END DO … … 490 500 zfact = nitrpot(ji,jj,jk) * nitrfix 491 501 ! 1/3 of the diazotrophs growth is supposed to be excreted 492 ! as NH4. 1/3 as DOC and the rest is routed POC andGOC as502 ! as NH4. 1/3 as DOC and the rest is routed to POC/GOC as 493 503 ! a result of mortality by predation. Completely adhoc param 494 504 tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zfact / 3.0 … … 499 509 tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zfact * 1.0 / 3.0 * 1.0 / 3.0 500 510 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) + ( o2ut + o2nit ) * zfact * 2.0 / 3.0 + o2nit * zfact / 3.0 501 ! Fe/c of diazotrophs is assumed to be 30umol Fe/mol C 502 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - 30E-6 * zfact * 1.0 / 3.0 503 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + 30E-6 * zfact * 1.0 / 3.0 * 2.0 / 3.0 504 tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + 30E-6 * zfact * 1.0 / 3.0 * 1.0 / 3.0 505 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + 0.002 * 4E-10 * zsoufer(ji,jj,jk) * rfact2 / rday 511 ! Fe/c of diazotrophs is assumed to be 30umol Fe/mol C at max 512 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - 30E-6 * ztrfer(ji,jj,jk) * zfact * 1.0 / 3.0 513 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + 30E-6 * ztrfer(ji,jj,jk) * zfact * 1.0 / 3.0 * 2.0 / 3.0 514 tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + 30E-6 * ztrfer(ji,jj,jk) * zfact * 1.0 / 3.0 * 1.0 / 3.0 515 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + 0.005 * 4E-10 * zsoufer(ji,jj,jk) * rfact2 / rday 516 tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + concdnh4 / ( concdnh4 + trb(ji,jj,jk,jppo4) ) & 517 & * 0.001 * trb(ji,jj,jk,jpdoc) * xstep 506 518 END DO 507 519 END DO … … 533 545 tra(ji,jj,jk,jpgop) = tra(ji,jj,jk,jpgop) + 16.0 / 46.0 * zfact * 1.0 / 3.0 * 1.0 /3.0 534 546 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) + ( o2ut + o2nit ) * zfact * 2.0 / 3.0 + o2nit * zfact / 3.0 535 ! Fe/c of diazotrophs is assumed to be 30umol Fe/mol C 536 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - 30E-6 * z fact * 1.0 / 3.0537 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + 30E-6 * z fact * 1.0 / 3.0 * 2.0 / 3.0538 tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + 30E-6 * z fact * 1.0 / 3.0 * 1.0 / 3.0547 ! Fe/c of diazotrophs is assumed to be 30umol Fe/mol C at max 548 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - 30E-6 * ztrfer(ji,jj,jk) * zfact * 1.0 / 3.0 549 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + 30E-6 * ztrfer(ji,jj,jk) * zfact * 1.0 / 3.0 * 2.0 / 3.0 550 tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + 30E-6 * ztrfer(ji,jj,jk) * zfact * 1.0 / 3.0 * 1.0 / 3.0 539 551 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + 0.002 * 4E-10 * zsoufer(ji,jj,jk) * rfact2 / rday 540 552 END DO … … 558 570 IF( iom_use("SedSi" ) ) CALL iom_put( "SedSi", zsedsi (:,:) * zfact ) ! Permanent burial of bSi in sediments 559 571 IF( iom_use("SedC" ) ) CALL iom_put( "SedC", zsedc (:,:) * zfact ) ! Permanent burial of OC in sediments 560 IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", sdenit (:,:) * zfact * rno3 ) ! Denitrification in the sediments 572 ! IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", sdenit (:,:) * zfact * rno3 ) ! Denitrification in the sediments 573 IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", zdenit2d(:,:) ) ! Denitrification in the sediments 561 574 ENDIF 562 575 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.