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 12232 – NEMO

Changeset 12232


Ignore:
Timestamp:
2019-12-13T09:25:14+01:00 (4 years ago)
Author:
cetlod
Message:

trunk : bugfixes on grazing diagnostics, see ticket #2260

Location:
NEMO/trunk/src/TOP/PISCES/P4Z
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zmeso.F90

    r11536 r12232  
    7171      REAL(wp) :: zgrazn, zgrazpoc, zgraznf, zgrazf 
    7272      REAL(wp) :: zgrazfffp, zgrazfffg, zgrazffep, zgrazffeg 
     73      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing2, zfezoo2, zz2ligprod 
    7374      CHARACTER (len=25) :: charout 
    74       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo2 
    75       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zw3d, zz2ligprod 
    7675      !!--------------------------------------------------------------------- 
    7776      ! 
    7877      IF( ln_timing )   CALL timing_start('p4z_meso') 
    79       ! 
    80       zgrazing(:,:,:) = 0._wp 
    81       zfezoo2 (:,:,:) = 0._wp 
    82       ! 
    83       IF (ln_ligand) THEN 
    84          ALLOCATE( zz2ligprod(jpi,jpj,jpk) ) 
    85          zz2ligprod(:,:,:) = 0._wp 
    86       ENDIF 
    8778      ! 
    8879      DO jk = 1, jpkm1 
     
    162153 
    163154               ! Total grazing ( grazing by microzoo is already computed in p4zmicro ) 
    164                zgrazing(ji,jj,jk) = zgraztotc 
     155               zgrazing2(ji,jj,jk) = zgraztotc 
    165156 
    166157               !    Mesozooplankton efficiency 
     
    233224      ! 
    234225      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    235          ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    236          IF( iom_use( "GRAZ2" ) ) THEN 
    237             zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !   Total grazing of phyto by zooplankton 
    238             CALL iom_put( "GRAZ2", zw3d ) 
     226         zgrazing2(:,:,jpk) = 0._wp 
     227         zfezoo2 (:,:,jpk) = 0._wp 
     228         CALL iom_put( "GRAZ2" , zgrazing2(:,:,:) * 1.e+3       * rfact2r * tmask(:,:,:) )  !   Total grazing of phyto by zooplankton 
     229         CALL iom_put( "PCAL"  , prodcal  (:,:,:) * 1.e+3       * rfact2r * tmask(:,:,:) )  !  Calcite production  
     230         CALL iom_put( "FEZOO2", zfezoo2  (:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     231         IF( ln_ligand )  THEN 
     232            zz2ligprod(:,:,jpk) = 0._wp 
     233            CALL iom_put( "LPRODZ2", zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)  ) 
    239234         ENDIF 
    240          IF( iom_use( "PCAL" ) ) THEN 
    241             zw3d(:,:,:) = prodcal(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)   !  Calcite production 
    242             CALL iom_put( "PCAL", zw3d )   
    243          ENDIF 
    244          IF( iom_use( "FEZOO2" ) ) THEN 
    245             zw3d(:,:,:) = zfezoo2(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
    246             CALL iom_put( "FEZOO2", zw3d ) 
    247          ENDIF 
    248          IF( iom_use( "LPRODZ2" ) .AND. ln_ligand )  THEN 
    249             zw3d(:,:,:) = zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    250             CALL iom_put( "LPRODZ2"  , zw3d ) 
    251          ENDIF 
    252          DEALLOCATE( zw3d ) 
    253235      ENDIF 
    254       ! 
    255       IF (ln_ligand)  DEALLOCATE( zz2ligprod ) 
    256236      ! 
    257237      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zmicro.F90

    r11536 r12232  
    6969      REAL(wp) :: zgrazp, zgrazm, zgrazsd 
    7070      REAL(wp) :: zgrazmf, zgrazsf, zgrazpf 
    71       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo 
    72       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zw3d, zzligprod 
     71      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo, zzligprod 
    7372      CHARACTER (len=25) :: charout 
    7473      !!--------------------------------------------------------------------- 
    7574      ! 
    7675      IF( ln_timing )   CALL timing_start('p4z_micro') 
    77       ! 
    78       IF (ln_ligand) THEN 
    79          ALLOCATE( zzligprod(jpi,jpj,jpk) ) 
    80          zzligprod(:,:,:) = 0._wp 
    81       ENDIF 
    8276      ! 
    8377      DO jk = 1, jpkm1 
     
    186180      END DO 
    187181      ! 
    188       IF( lk_iomput ) THEN 
    189          IF( knt == nrdttrc ) THEN 
    190            ALLOCATE( zw3d(jpi,jpj,jpk) ) 
    191            IF( iom_use( "GRAZ1" ) ) THEN 
    192               zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !  Total grazing of phyto by zooplankton 
    193               CALL iom_put( "GRAZ1", zw3d ) 
    194            ENDIF 
    195            IF( iom_use( "FEZOO" ) ) THEN 
    196               zw3d(:,:,:) = zfezoo(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
    197               CALL iom_put( "FEZOO", zw3d ) 
    198            ENDIF 
    199            IF( iom_use( "LPRODZ" ) .AND. ln_ligand )  THEN 
    200               zw3d(:,:,:) = zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
    201               CALL iom_put( "LPRODZ"  , zw3d ) 
    202            ENDIF 
    203            DEALLOCATE( zw3d ) 
     182      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
     183         zgrazing(:,:,jpk) = 0._wp 
     184         zfezoo  (:,:,jpk) = 0._wp 
     185         CALL iom_put( "GRAZ1", zgrazing(:,:,:) * 1.e+3       * rfact2r * tmask(:,:,:) )  !   Total grazing of phyto by zooplankton 
     186         CALL iom_put( "FEZOO", zfezoo  (:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     187         IF( ln_ligand )  THEN 
     188            zzligprod(:,:,jpk) = 0._wp 
     189            CALL iom_put( "LPRODZ", zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)  ) 
    204190         ENDIF 
    205191      ENDIF 
    206       ! 
    207       IF (ln_ligand)  DEALLOCATE( zzligprod ) 
    208192      ! 
    209193      IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
Note: See TracChangeset for help on using the changeset viewer.