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 9450 for branches/CNRS/dev_r8832_PISCO/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90 – NEMO

Ignore:
Timestamp:
2018-03-30T18:08:29+02:00 (6 years ago)
Author:
aumont
Message:

debug PISCES code

File:
1 edited

Legend:

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

    r8533 r9450  
    1616   USE sms_pisces      !  PISCES Source Minus Sink variables 
    1717   USE p4zche          !  chemical model 
    18    USE p4zprod         !  Growth rate of the 2 phyto groups 
    1918   USE p4zlim 
    2019   USE prtctl_trc      !  print control for debugging 
     
    7069      REAL(wp), POINTER, DIMENSION(:,:  ) :: ztempbac 
    7170      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zdepprod, zfacsi, zw3d, zfacsib 
     71      REAL(wp), POINTER, DIMENSION(:,:,:) :: zfebact, zdepeff 
    7272      !!--------------------------------------------------------------------- 
    7373      ! 
     
    7676      ! Allocate temporary workspace 
    7777      CALL wrk_alloc( jpi, jpj,      ztempbac                  ) 
    78       CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 
     78      CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib, zfebact, zdepeff ) 
    7979 
    8080      ! Initialisation of temprary arrys 
    8181      zdepprod(:,:,:) = 1._wp 
     82      zdepeff (:,:,:) = 0.3_wp 
    8283      ztempbac(:,:)   = 0._wp 
     84      zfebact (:,:,:) = 0._wp 
    8385      zfacsib(:,:,:)  = xsilab / ( 1.0 - xsilab ) 
    8486      zfacsi(:,:,:)   = xsilab 
     
    100102                  zdepbac (ji,jj,jk) = zdepmin**0.683 * ztempbac(ji,jj) 
    101103                  zdepprod(ji,jj,jk) = zdepmin**0.273 
     104                  zdepeff (ji,jj,jk) = 0.3 * zdepmin**0.3 
    102105               ENDIF 
    103106            END DO 
     
    220223               zbactfer = feratb *  rfact2 * prmax(ji,jj,jk) * xlimbacl(ji,jj,jk)             & 
    221224                  &              * trb(ji,jj,jk,jpfer) / ( xkferb + trb(ji,jj,jk,jpfer) )    & 
    222                   &              * zdepprod(ji,jj,jk) * zdepbac(ji,jj,jk) 
    223                tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.16 
    224                tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.12 
    225                tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zbactfer*0.04 
     225                  &              * zdepprod(ji,jj,jk) * zdepeff(ji,jj,jk) * zdepbac(ji,jj,jk) 
     226               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.33 
     227               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.25 
     228               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zbactfer*0.08 
     229               zfebact(ji,jj,jk)   = zbactfer * 0.33 
    226230            END DO 
    227231         END DO 
     
    283287          ENDIF 
    284288          ! 
     289          IF( iom_use( "BACT" ) )  THEN 
     290               zw3d(:,:,:) = zdepbac(:,:,:) * 1.E6 * tmask(:,:,:)  ! Bacterial biomass 
     291               CALL iom_put( "BACT", zw3d ) 
     292          ENDIF 
     293          IF( iom_use( "FEBACT" ) )  THEN 
     294               zw3d(:,:,:) = zfebact(:,:,:) * 1E9 * tmask(:,:,:) * zrfact2   ! Bacterial iron consumption 
     295               CALL iom_put( "FEBACT" , zw3d )   
     296          ENDIF 
    285297          CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    286298       ENDIF 
    287299      ! 
    288300      CALL wrk_dealloc( jpi, jpj,      ztempbac                  ) 
    289       CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 
     301      CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib, zfebact, zdepeff ) 
    290302      ! 
    291303      IF( nn_timing == 1 )  CALL timing_stop('p4z_rem') 
Note: See TracChangeset for help on using the changeset viewer.