New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9461 for branches/CNRS/dev_r8832_PISCO/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zprod.F90 – NEMO

Ignore:
Timestamp:
2018-04-06T16:14:34+02:00 (6 years ago)
Author:
aumont
Message:

bug fixes in iron cycle

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r8832_PISCO/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zprod.F90

    r9450 r9461  
    8787      REAL(wp), POINTER, DIMENSION(:,:,:) :: zprchln, zprchlp, zprchld 
    8888      REAL(wp), POINTER, DIMENSION(:,:,:) :: zprorcan, zprorcap, zprorcad  
    89       REAL(wp), POINTER, DIMENSION(:,:,:) :: zprofed, zprofep, zprofen 
     89      REAL(wp), POINTER, DIMENSION(:,:,:) :: zprofed, zprofep, zprofen, zprosid 
    9090      REAL(wp), POINTER, DIMENSION(:,:,:) :: zpronewn, zpronewp, zpronewd 
    9191      REAL(wp), POINTER, DIMENSION(:,:,:) :: zproregn, zproregp, zproregd 
     
    107107      CALL wrk_alloc( jpi, jpj, jpk, zpislopeadn, zpislopeadp, zpislopeadd, zysopt )  
    108108      CALL wrk_alloc( jpi, jpj, jpk, zprdia, zprpic, zprbio, zprorcan, zprorcap, zprorcad ) 
    109       CALL wrk_alloc( jpi, jpj, jpk, zprofed, zprofep, zprofen ) 
     109      CALL wrk_alloc( jpi, jpj, jpk, zprofed, zprofep, zprofen, zprosid ) 
    110110      CALL wrk_alloc( jpi, jpj, jpk, zpronewn, zpronewp, zpronewd, zproregn, zproregp, zproregd ) 
    111111      CALL wrk_alloc( jpi, jpj, jpk, zpropo4n, zpropo4p, zpropo4d, zrespn, zrespp, zrespd, zprnut ) 
     
    122122      zpropo4n(:,:,:) = 0._wp ; zpropo4p(:,:,:) = 0._wp ; zpropo4d(:,:,:) = 0._wp 
    123123      zprdia  (:,:,:) = 0._wp ; zprpic  (:,:,:) = 0._wp ; zprbio  (:,:,:) = 0._wp 
    124       zysopt  (:,:,:) = 0._wp 
     124      zysopt  (:,:,:) = 0._wp ; zprosid (:,:,:) = 0._wp 
    125125      zrespn  (:,:,:) = 0._wp ; zrespp  (:,:,:) = 0._wp ; zrespd  (:,:,:) = 0._wp  
    126126 
     
    227227                  ENDIF 
    228228                  zsilim = MIN( zprdia(ji,jj,jk) / ( prmaxd(ji,jj,jk) + rtrn ), xlimsi2(ji,jj,jk) ) 
    229                   zysopt(ji,jj,jk) = grosip * zlim * zsilfac * zsilfac2 
    230229                  zlim  = trb(ji,jj,jk,jpsil) / ( trb(ji,jj,jk,jpsil) + xksi1 ) 
    231230                  zratiosi = trb(ji,jj,jk,jpndi) 
     
    352351                  zpropo4d(ji,jj,jk) = zpropmax * xdiatpo4(ji,jj,jk) 
    353352                  zprodopd(ji,jj,jk) = zpropmax * xdiatdop(ji,jj,jk) 
     353                  ! Uptake of Si 
     354                  zprosid(ji,jj,jk)  = zprnut(ji,jj,jk) * fvduptk(ji,jj,jk) / rno3 * rfact2 * zysopt(ji,jj,jk) 
    354355                  ! Uptake of iron 
    355356                  zrat = MIN( 1., zratiof / qfdmax ) 
     
    440441              &                     + zprodopd(ji,jj,jk) * texcretd 
    441442              tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) + zprofed(ji,jj,jk) * texcretd 
    442               tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) + zprorcad(ji,jj,jk) * zysopt(ji,jj,jk) * texcretd 
     443              tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) + zprosid(ji,jj,jk) 
    443444              tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + excretd * zprorcad(ji,jj,jk) + excretn * zprorcan(ji,jj,jk)  & 
    444445              &                     + excretp * zprorcap(ji,jj,jk) 
     
    454455              zfeup = texcretn * zprofen(ji,jj,jk) + texcretd * zprofed(ji,jj,jk) + texcretp * zprofep(ji,jj,jk) 
    455456              tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zfeup 
    456               tra(ji,jj,jk,jpsil) = tra(ji,jj,jk,jpsil) - texcretd * zprorcad(ji,jj,jk) * zysopt(ji,jj,jk) 
     457              tra(ji,jj,jk,jpsil) = tra(ji,jj,jk,jpsil) - zprosid(ji,jj,jk) 
    457458              tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) - zprorcan(ji,jj,jk) - zprorcad(ji,jj,jk) - zprorcap(ji,jj,jk)  & 
    458459              &                     + zpsino3 * zpronewn(ji,jj,jk) + zpsinh4 * zproregn(ji,jj,jk)   & 
     
    515516          ENDIF 
    516517          IF( iom_use( "PBSi" ) )  THEN 
    517               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:) ! biogenic silica production 
     518              zw3d(:,:,:) = zprosid(:,:,:) * zfact * tmask(:,:,:)  ! biogenic silica production 
    518519              CALL iom_put( "PBSi"  , zw3d ) 
    519520          ENDIF 
     
    589590      CALL wrk_dealloc( jpi, jpj, jpk, zpislopeadn, zpislopeadp, zpislopeadd, zysopt )                            
    590591      CALL wrk_dealloc( jpi, jpj, jpk, zprdia, zprpic, zprbio, zprorcan, zprorcap, zprorcad ) 
    591       CALL wrk_dealloc( jpi, jpj, jpk, zprofed, zprofep, zprofen )  
     592      CALL wrk_dealloc( jpi, jpj, jpk, zprofed, zprofep, zprofen, zprosid )  
    592593      CALL wrk_dealloc( jpi, jpj, jpk, zpronewn, zpronewp, zpronewd, zproregn, zproregp, zproregd ) 
    593594      CALL wrk_dealloc( jpi, jpj, jpk, zpropo4n, zpropo4p, zpropo4d, zrespn, zrespp, zrespd, zprnut ) 
Note: See TracChangeset for help on using the changeset viewer.