Ignore:
Timestamp:
2014-12-22T12:56:38+01:00 (6 years ago)
Author:
cetlod
Message:

trunk : New diagnostics in PISCES model, see ticket #1424

Location:
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90

    r4990 r4996  
    110110      IF( nn_timing == 1 )  CALL timing_start('p2z_bio') 
    111111      ! 
    112       IF( ln_diatrc ) THEN 
     112      IF( ln_diatrc .OR. lk_iomput ) THEN 
    113113         CALL wrk_alloc( jpi, jpj,     17, zw2d ) 
    114114         CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) 
     
    122122 
    123123      xksi(:,:) = 0.e0        ! zooplakton closure ( fbod) 
    124       IF( ln_diatrc ) THEN 
     124      IF( ln_diatrc .OR. lk_iomput ) THEN 
    125125         zw2d  (:,:,:) = 0.e0 
    126126         zw3d(:,:,:,:) = 0.e0 
     
    239239                  !  trend number 17 in p2zexp 
    240240                ENDIF 
    241                 IF( ln_diatrc ) THEN 
     241                IF( ln_diatrc .OR. lk_iomput ) THEN 
    242242                  ! convert fluxes in per day 
    243243                  ze3t = fse3t(ji,jj,jk) * 86400. 
     
    360360                  !  trend number 17 in p2zexp  
    361361                ENDIF 
    362                 IF( ln_diatrc ) THEN 
     362                IF( ln_diatrc .OR. lk_iomput ) THEN 
    363363                  ! convert fluxes in per day 
    364364                  ze3t = fse3t(ji,jj,jk) * 86400. 
     
    390390      END DO 
    391391 
    392       IF( ln_diatrc ) THEN 
    393          ! 
     392      IF( ln_diatrc .OR. lk_iomput ) THEN 
    394393         DO jl = 1, 17  
    395394            CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) 
     
    398397            CALL lbc_lnk( zw3d(:,:,:,jl),'T', 1. ) 
    399398         END DO 
    400          IF( lk_iomput ) THEN 
     399      ENDIF 
     400      IF( lk_iomput ) THEN 
    401401            ! Save diagnostics 
    402             CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 
    403             CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 
    404             CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 
    405             CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 
    406             CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 
    407             CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 
    408             CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 
    409             CALL iom_put( "TZOODET", zw2d(:,:,8) ) 
    410             CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 
    411             CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 
    412             CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 
    413             CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 
    414             CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 
    415             CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 
    416             CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 
    417             CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 
    418             !  
    419             CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 
    420             CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 
    421             CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 
    422             ! 
    423          ELSE 
     402        CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 
     403        CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 
     404        CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 
     405        CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 
     406        CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 
     407        CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 
     408        CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 
     409        CALL iom_put( "TZOODET", zw2d(:,:,8) ) 
     410        CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 
     411        CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 
     412        CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 
     413        CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 
     414        CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 
     415        CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 
     416        CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 
     417        CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 
     418         !  
     419        CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 
     420        CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 
     421        CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 
     422         ! 
     423       ELSE 
     424          IF( ln_diatrc ) THEN 
    424425            ! 
    425426            trc2d(:,:,jp_pcs0_2d    ) = zw2d(:,:,1)  
     
    467468      ENDIF 
    468469      ! 
    469       IF( ln_diatrc ) THEN 
     470      IF( ln_diatrc .OR. lk_iomput ) THEN 
    470471         CALL wrk_dealloc( jpi, jpj,     17, zw2d ) 
    471472         CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) 
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zexp.F90

    r4990 r4996  
    127127  
    128128      ! Oa & Ek: diagnostics depending on jpdia2d !          left as example 
    129       IF( ln_diatrc ) THEN 
    130          IF( lk_iomput ) THEN   ;   CALL iom_put( "SEDPOC" , sedpocn ) 
    131          ELSE                   ;   trc2d(:,:,jp_pcs0_2d + 18) = sedpocn(:,:) 
    132          ENDIF 
     129      IF( lk_iomput ) THEN   
     130         CALL iom_put( "SEDPOC" , sedpocn ) 
     131      ELSE 
     132         IF( ln_diatrc )           trc2d(:,:,jp_pcs0_2d + 18) = sedpocn(:,:) 
    133133      ENDIF 
    134134 
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90

    r4990 r4996  
    108108      END DO 
    109109 
    110       IF( ln_diatrc ) THEN  
    111          CALL wrk_alloc( jpi, jpj, zw2d ) 
    112          zw2d(:,:) =  ztra(:,:,1) * fse3t(:,:,1) * 86400. 
    113          DO jk = 2, jpkm1 
    114             zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * fse3t(:,:,jk) * 86400. 
    115          END DO 
    116          IF( lk_iomput )  THEN 
    117            CALL iom_put( "TDETSED", zw2d ) 
    118          ELSE 
    119            trc2d(:,:,jp_pcs0_2d + 7) = zw2d(:,:) 
     110      IF( lk_iomput )  THEN 
     111         IF( iom_use( "TDETSED" ) ) THEN 
     112            CALL wrk_alloc( jpi, jpj, zw2d ) 
     113            zw2d(:,:) =  ztra(:,:,1) * fse3t(:,:,1) * 86400. 
     114            DO jk = 2, jpkm1 
     115               zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * fse3t(:,:,jk) * 86400. 
     116            END DO 
     117            CALL iom_put( "TDETSED", zw2d ) 
     118            CALL wrk_dealloc( jpi, jpj, zw2d ) 
    120119         ENDIF 
    121          CALL wrk_dealloc( jpi, jpj, zw2d ) 
     120      ELSE 
     121         IF( ln_diatrc ) THEN  
     122            CALL wrk_alloc( jpi, jpj, zw2d ) 
     123            zw2d(:,:) =  ztra(:,:,1) * fse3t(:,:,1) * 86400. 
     124            DO jk = 2, jpkm1 
     125               zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * fse3t(:,:,jk) * 86400. 
     126            END DO 
     127            trc2d(:,:,jp_pcs0_2d + 7) = zw2d(:,:) 
     128            CALL wrk_dealloc( jpi, jpj, zw2d ) 
     129         ENDIF 
    122130      ENDIF 
    123131      ! 
Note: See TracChangeset for help on using the changeset viewer.