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 2072 for branches/devmercator2010/NEMO/TOP_SRC/PISCES/p4zsink.F90 – NEMO

Ignore:
Timestamp:
2010-09-08T16:29:38+02:00 (14 years ago)
Author:
cbricaud
Message:

add change from DEV_r1784_3DF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/devmercator2010/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r1836 r2072  
    6969 
    7070   !!* Substitution 
    71 #  include "top_substitute.h90" 
     71#  include "domzgr_substitute.h90" 
    7272   !!---------------------------------------------------------------------- 
    7373   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)  
     
    9999#if defined key_trc_diaadd 
    100100      REAL(wp) :: zrfact2 
    101       INTEGER  :: ik1 
     101      INTEGER  :: iksed1 
     102#if defined key_iomput 
     103      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     104#endif 
    102105#endif 
    103106      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   znum3d 
     
    283286#if defined key_trc_diaadd 
    284287      zrfact2 = 1.e3 * rfact2r 
    285       ik1 = iksed + 1 
     288      iksed1 = iksed + 1 
    286289#  if ! defined key_iomput 
    287       trc2d(:,:  ,jp_pcs0_2d + 4)  = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    288       trc2d(:,:  ,jp_pcs0_2d + 5)  = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 
    289       trc2d(:,:  ,jp_pcs0_2d + 6)  = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    290       trc2d(:,:  ,jp_pcs0_2d + 7)  = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    291       trc2d(:,:  ,jp_pcs0_2d + 8)  = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     290      trc2d(:,:  ,jp_pcs0_2d + 4)  = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     291      trc2d(:,:  ,jp_pcs0_2d + 5)  = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     292      trc2d(:,:  ,jp_pcs0_2d + 6)  = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     293      trc2d(:,:  ,jp_pcs0_2d + 7)  = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     294      trc2d(:,:  ,jp_pcs0_2d + 8)  = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    292295      trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:)      * zrfact2 * tmask(:,:,:) 
    293296      trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:)      * zrfact2 * tmask(:,:,:) 
     
    298301      trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4  (:,:,:)                * tmask(:,:,:) 
    299302#else 
    300       IF( jnt == nrdttrc ) then 
    301         CALL iom_put( "POCFlx"  , sinking (:,:,:)      * zrfact2 * tmask(:,:,:) )  ! POC export 
    302         CALL iom_put( "NumFlx"  , sinking2 (:,:,:)     * zrfact2 * tmask(:,:,:) )  ! Num export 
    303         CALL iom_put( "SiFlx"   , sinksil (:,:,:)      * zrfact2 * tmask(:,:,:) )  ! Silica export 
    304         CALL iom_put( "CaCO3Flx", sinkcal (:,:,:)      * zrfact2 * tmask(:,:,:) )  ! Calcite export 
    305         CALL iom_put( "xnum"    , znum3d  (:,:,:)                * tmask(:,:,:) )  ! Number of particles in aggregats 
    306         CALL iom_put( "W1"      , wsbio3  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of POC 
    307         CALL iom_put( "W2"      , wsbio4  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of aggregats 
    308         CALL iom_put( "PMO"     , sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! POC export at 100m 
    309         CALL iom_put( "PMO2"    , sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! Num export at 100m 
    310         CALL iom_put( "ExpFe1"  , sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! Export of iron at 100m 
    311         CALL iom_put( "ExpSi"   , sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! export of silica at 100m 
    312         CALL iom_put( "ExpCaCO3", sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! export of calcite at 100m 
    313      ENDIF 
     303      zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
     304      IF( jnt == nrdttrc ) CALL iom_put( "PMO" , zw3d ) 
     305      zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
     306      IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw3d ) 
     307      zw3d(:,:,:)  = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 
     308      IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 
     309      zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
     310      IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 
     311      zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
     312      IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw3d ) 
     313      zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
     314      IF( jnt == nrdttrc ) CALL iom_put( "POCFlx", zw3d ) 
     315      zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
     316      IF( jnt == nrdttrc ) CALL iom_put( "GOCFlx", zw3d ) 
     317      zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
     318      IF( jnt == nrdttrc ) CALL iom_put( "SiFlx", zw3d ) 
     319      zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
     320      IF( jnt == nrdttrc ) CALL iom_put( "CaCO3Flx", zw3d ) 
     321      zw3d(:,:,:)  = znum3d  (:,:,:)           * tmask(:,:,:) 
     322      IF( jnt == nrdttrc ) CALL iom_put( "xnum", zw3d ) 
     323      zw3d(:,:,:)  = wsbio3  (:,:,:)           * tmask(:,:,:) 
     324      IF( jnt == nrdttrc ) CALL iom_put( "W1", zw3d ) 
     325      zw3d(:,:,:)  = wsbio4  (:,:,:)           * tmask(:,:,:) 
     326      IF( jnt == nrdttrc ) CALL iom_put( "W2", zw3d ) 
    314327#  endif 
    315328 
     
    476489#if defined key_trc_dia3d 
    477490      REAL(wp) ::   zrfact2 
    478       INTEGER  ::   ik1 
     491      INTEGER  ::   iksed1 
     492#endif 
     493#if defined key_iomput 
     494      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    479495#endif 
    480496      CHARACTER (len=25) :: charout 
     
    597613#if defined key_trc_diaadd 
    598614      zrfact2 = 1.e3 * rfact2r 
    599       ik1 = iksed + 1 
     615      iksed1 = iksed + 1 
    600616#  if ! defined key_iomput 
    601       trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    602       trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 
    603       trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    604       trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik1) * zrfact2 * tmask(:,:,1) 
    605       trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    606       trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     617      trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     618      trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     619      trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     620      trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     621      trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     622      trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    607623#  else 
    608       IF( jnt == nrdttrc )  then 
    609          CALL iom_put( "EPC100"  , ( sinking(:,:,ik1) + sinking2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of carbon at 100m 
    610          CALL iom_put( "EPFE100" , ( sinkfer(:,:,ik1) + sinkfer2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of iron at 100m 
    611          CALL iom_put( "EPCAL100",   sinkcal(:,:,ik1)                       * zrfact2 * tmask(:,:,1) ) ! Export of calcite  at 100m 
    612          CALL iom_put( "EPSI100" ,   sinksil(:,:,ik1)                       * zrfact2 * tmask(:,:,1) ) ! Export of biogenic silica at 100m 
    613       ENDIF 
    614 #endif 
     624      zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
     625      IF( jnt == nrdttrc ) CALL iom_put( "ExpPOC" , zw3d ) 
     626      zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
     627      IF( jnt == nrdttrc ) CALL iom_put( "ExpGOC", zw3d ) 
     628      zw3d(:,:,:)  = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 
     629      IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 
     630      zw3d(:,:,:)  = sinkfer2(:,:,:) * zrfact2 * tmask(:,:,:) 
     631      IF( jnt == nrdttrc ) CALL iom_put( "ExpFe2", zw3d ) 
     632      zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
     633      IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 
     634      zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
     635      IF( jnt == nrdttrc ) CALL iom_put( "Expcal", zw3d ) 
     636#  endif 
    615637#endif 
    616638      ! 
Note: See TracChangeset for help on using the changeset viewer.