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 13662 for NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/TOP/PISCES/P4Z/p4zprod.F90 – NEMO

Ignore:
Timestamp:
2020-10-22T20:49:56+02:00 (4 years ago)
Author:
clem
Message:

update to almost r4.0.4

Location:
NEMO/branches/2019/dev_r11842_SI3-10_EAP
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP

    • Property svn:externals
      •  

        old new  
        1 ^/utils/build/arch@HEAD       arch 
        2 ^/utils/build/makenemo@HEAD   makenemo 
        3 ^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
        6 ^/vendors/FCM@HEAD            ext/FCM 
        7 ^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         1^/utils/build/arch@12130      arch 
         2^/utils/build/makenemo@12191  makenemo 
         3^/utils/build/mk@11662        mk 
         4^/utils/tools_r4.0-HEAD@12672 tools 
         5^/vendors/AGRIF/dev@10586     ext/AGRIF 
         6^/vendors/FCM@10134           ext/FCM 
         7^/vendors/IOIPSL@9655         ext/IOIPSL 
         8 
         9# SETTE mapping (inactive) 
         10#^/utils/CI/sette@12135        sette 
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/TOP/PISCES/P4Z/p4zprod.F90

    r11536 r13662  
    341341         & tpp = glob_sum( 'p4zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * cvol(:,:,:) ) 
    342342 
    343     IF( lk_iomput ) THEN 
    344        IF( knt == nrdttrc ) THEN 
    345           ALLOCATE( zw2d(jpi,jpj), zw3d(jpi,jpj,jpk) ) 
    346           zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
    347           ! 
    348           IF( iom_use( "PPPHYN" ) .OR. iom_use( "PPPHYD" ) )  THEN 
    349               zw3d(:,:,:) = zprorcan(:,:,:) * zfact * tmask(:,:,:)  ! primary production by nanophyto 
    350               CALL iom_put( "PPPHYN"  , zw3d ) 
    351               ! 
    352               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:)  ! primary production by diatomes 
    353               CALL iom_put( "PPPHYD"  , zw3d ) 
    354           ENDIF 
    355           IF( iom_use( "PPNEWN" ) .OR. iom_use( "PPNEWD" ) )  THEN 
    356               zw3d(:,:,:) = zpronewn(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by nanophyto 
    357               CALL iom_put( "PPNEWN"  , zw3d ) 
    358               ! 
    359               zw3d(:,:,:) = zpronewd(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by diatomes 
    360               CALL iom_put( "PPNEWD"  , zw3d ) 
    361           ENDIF 
    362           IF( iom_use( "PBSi" ) )  THEN 
    363               zw3d(:,:,:) = zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:) ! biogenic silica production 
    364               CALL iom_put( "PBSi"  , zw3d ) 
    365           ENDIF 
    366           IF( iom_use( "PFeN" ) .OR. iom_use( "PFeD" ) )  THEN 
    367               zw3d(:,:,:) = zprofen(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by nanophyto 
    368               CALL iom_put( "PFeN"  , zw3d ) 
    369               ! 
    370               zw3d(:,:,:) = zprofed(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by  diatomes 
    371               CALL iom_put( "PFeD"  , zw3d ) 
    372           ENDIF 
    373           IF( iom_use( "LPRODP" ) )  THEN 
    374               zw3d(:,:,:) = zpligprod1(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
    375               CALL iom_put( "LPRODP"  , zw3d ) 
    376           ENDIF 
    377           IF( iom_use( "LDETP" ) )  THEN 
    378               zw3d(:,:,:) = zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
    379               CALL iom_put( "LDETP"  , zw3d ) 
    380           ENDIF 
    381           IF( iom_use( "Mumax" ) )  THEN 
    382               zw3d(:,:,:) = zprmaxn(:,:,:) * tmask(:,:,:)   ! Maximum growth rate 
    383               CALL iom_put( "Mumax"  , zw3d ) 
    384           ENDIF 
    385           IF( iom_use( "MuN" ) .OR. iom_use( "MuD" ) )  THEN 
    386               zw3d(:,:,:) = zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:)  ! Realized growth rate for nanophyto 
    387               CALL iom_put( "MuN"  , zw3d ) 
    388               ! 
    389               zw3d(:,:,:) =  zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:)  ! Realized growth rate for diatoms 
    390               CALL iom_put( "MuD"  , zw3d ) 
    391           ENDIF 
    392           IF( iom_use( "LNlight" ) .OR. iom_use( "LDlight" ) )  THEN 
    393               zw3d(:,:,:) = zprbio (:,:,:) / (zprmaxn(:,:,:) + rtrn) * tmask(:,:,:) ! light limitation term 
    394               CALL iom_put( "LNlight"  , zw3d ) 
    395               ! 
    396               zw3d(:,:,:) = zprdia (:,:,:) / (zprmaxd(:,:,:) + rtrn) * tmask(:,:,:)  ! light limitation term 
    397               CALL iom_put( "LDlight"  , zw3d ) 
    398           ENDIF 
    399           IF( iom_use( "TPP" ) )  THEN 
    400               zw3d(:,:,:) = ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * zfact * tmask(:,:,:)  ! total primary production 
    401               CALL iom_put( "TPP"  , zw3d ) 
    402           ENDIF 
    403           IF( iom_use( "TPNEW" ) )  THEN 
    404               zw3d(:,:,:) = ( zpronewn(:,:,:) + zpronewd(:,:,:) ) * zfact * tmask(:,:,:)  ! total new production 
    405               CALL iom_put( "TPNEW"  , zw3d ) 
    406           ENDIF 
    407           IF( iom_use( "TPBFE" ) )  THEN 
    408               zw3d(:,:,:) = ( zprofen(:,:,:) + zprofed(:,:,:) ) * zfact * tmask(:,:,:)  ! total biogenic iron production 
    409               CALL iom_put( "TPBFE"  , zw3d ) 
    410           ENDIF 
    411           IF( iom_use( "INTPPPHYN" ) .OR. iom_use( "INTPPPHYD" ) ) THEN   
    412              zw2d(:,:) = 0. 
    413              DO jk = 1, jpkm1 
    414                zw2d(:,:) = zw2d(:,:) + zprorcan(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert. integrated  primary produc. by nano 
    415              ENDDO 
    416              CALL iom_put( "INTPPPHYN" , zw2d ) 
    417              ! 
    418              zw2d(:,:) = 0. 
    419              DO jk = 1, jpkm1 
    420                 zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert. integrated  primary produc. by diatom 
    421              ENDDO 
    422              CALL iom_put( "INTPPPHYD" , zw2d ) 
    423           ENDIF 
    424           IF( iom_use( "INTPP" ) ) THEN    
    425              zw2d(:,:) = 0. 
    426              DO jk = 1, jpkm1 
    427                 zw2d(:,:) = zw2d(:,:) + ( zprorcan(:,:,jk) + zprorcad(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert. integrated pp 
    428              ENDDO 
    429              CALL iom_put( "INTPP" , zw2d ) 
    430           ENDIF 
    431           IF( iom_use( "INTPNEW" ) ) THEN     
    432              zw2d(:,:) = 0. 
    433              DO jk = 1, jpkm1 
    434                 zw2d(:,:) = zw2d(:,:) + ( zpronewn(:,:,jk) + zpronewd(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert. integrated new prod 
    435              ENDDO 
    436              CALL iom_put( "INTPNEW" , zw2d ) 
    437           ENDIF 
    438           IF( iom_use( "INTPBFE" ) ) THEN           !   total biogenic iron production  ( vertically integrated ) 
    439              zw2d(:,:) = 0. 
    440              DO jk = 1, jpkm1 
    441                 zw2d(:,:) = zw2d(:,:) + ( zprofen(:,:,jk) + zprofed(:,:,jk) ) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk) ! vert integr. bfe prod 
    442              ENDDO 
    443             CALL iom_put( "INTPBFE" , zw2d ) 
    444           ENDIF 
    445           IF( iom_use( "INTPBSI" ) ) THEN           !   total biogenic silica production  ( vertically integrated ) 
    446              zw2d(:,:) = 0. 
    447              DO jk = 1, jpkm1 
    448                 zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * zysopt(:,:,jk) * e3t_n(:,:,jk) * zfact * tmask(:,:,jk)  ! vert integr. bsi prod 
    449              ENDDO 
    450              CALL iom_put( "INTPBSI" , zw2d ) 
    451           ENDIF 
    452           IF( iom_use( "tintpp" ) )  CALL iom_put( "tintpp" , tpp * zfact )  !  global total integrated primary production molC/s 
    453           ! 
    454           DEALLOCATE( zw2d, zw3d ) 
     343    IF( lk_iomput .AND.  knt == nrdttrc ) THEN 
     344       zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s 
     345       ! 
     346       CALL iom_put( "PPPHYN"  , zprorcan(:,:,:) * zfact * tmask(:,:,:) )  ! primary production by nanophyto 
     347       CALL iom_put( "PPPHYD"  , zprorcad(:,:,:) * zfact * tmask(:,:,:)   ) ! primary production by diatomes 
     348       CALL iom_put( "PPNEWN"  , zpronewn(:,:,:) * zfact * tmask(:,:,:)    ) ! new primary production by nanophyto 
     349       CALL iom_put( "PPNEWD"  , zpronewd(:,:,:) * zfact * tmask(:,:,:)   ) ! new primary production by diatomes 
     350       CALL iom_put( "PBSi"    , zprorcad(:,:,:) * zfact * tmask(:,:,:) * zysopt(:,:,:)  ) ! biogenic silica production 
     351       CALL iom_put( "PFeN"    , zprofen(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by nanophyto 
     352       CALL iom_put( "PFeD"    , zprofed(:,:,:) * zfact * tmask(:,:,:)  ) ! biogenic iron production by  diatomes 
     353       IF( ln_ligand ) THEN 
     354         CALL iom_put( "LPRODP"  , zpligprod1(:,:,:) * 1e9 * zfact * tmask(:,:,:) ) 
     355         CALL iom_put( "LDETP"   , zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) ) 
    455356       ENDIF 
     357       CALL iom_put( "Mumax"   , zprmaxn(:,:,:) * tmask(:,:,:)  ) ! Maximum growth rate 
     358       CALL iom_put( "MuN"     , zprbio(:,:,:) * xlimphy(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for nanophyto 
     359       CALL iom_put( "MuD"     , zprdia(:,:,:) * xlimdia(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for diatoms 
     360       CALL iom_put( "LNlight" , zprbio (:,:,:) / (zprmaxn(:,:,:) + rtrn) * tmask(:,:,:)  )  ! light limitation term 
     361       CALL iom_put( "LDlight" , zprdia (:,:,:) / (zprmaxd(:,:,:) + rtrn) * tmask(:,:,:)   ) 
     362       CALL iom_put( "TPP"     , ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * zfact * tmask(:,:,:)  )  ! total primary production 
     363       CALL iom_put( "TPNEW"   , ( zpronewn(:,:,:) + zpronewd(:,:,:) ) * zfact * tmask(:,:,:)  ) ! total new production 
     364       CALL iom_put( "TPBFE"   , ( zprofen(:,:,:) + zprofed(:,:,:) ) * zfact * tmask(:,:,:)  )  ! total biogenic iron production 
     365       CALL iom_put( "tintpp"  , tpp * zfact )  !  global total integrated primary production molC/s 
    456366     ENDIF 
    457367 
     
    490400      ENDIF 
    491401      ! 
    492       REWIND( numnatp_ref )              ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 
     402      REWIND( numnatp_ref ) 
    493403      READ  ( numnatp_ref, namp4zprod, IOSTAT = ios, ERR = 901) 
    494404901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namp4zprod in reference namelist' ) 
    495       REWIND( numnatp_cfg )              ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 
     405 
     406      REWIND( numnatp_cfg ) 
    496407      READ  ( numnatp_cfg, namp4zprod, IOSTAT = ios, ERR = 902 ) 
    497408902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namp4zprod in configuration namelist' ) 
Note: See TracChangeset for help on using the changeset viewer.