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/p4zfechem.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/p4zfechem.F90

    r7753 r9450  
    7373      REAL(wp) :: zaggliga, zaggligb 
    7474      REAL(wp) :: dissol, zligco 
     75      REAL(wp) :: zrfact2 
    7576      CHARACTER (len=25) :: charout 
    7677      REAL(wp), POINTER, DIMENSION(:,:,:) :: zTL1, zFe3, ztotlig, precip 
    7778      REAL(wp), POINTER, DIMENSION(:,:,:) :: zFeL1, zFeL2, zTL2, zFe2, zFeP 
     79      REAL(wp), POINTER, DIMENSION(:,:,:) :: zcoll3d, zscav3d, zlcoll3d 
    7880      REAL(wp), POINTER, DIMENSION(:,:  ) :: zstrn, zstrn2 
    7981      !!--------------------------------------------------------------------- 
     
    8385      ! Allocate temporary workspace 
    8486      CALL wrk_alloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig, precip ) 
     87      CALL wrk_alloc( jpi, jpj, jpk, zcoll3d, zscav3d ) 
     88      IF( ln_ligand ) THEN 
     89         CALL wrk_alloc( jpi, jpj, jpk, zlcoll3d ) 
     90      ENDIF 
    8591      zFe3 (:,:,:) = 0. 
    8692      zFeL1(:,:,:) = 0. 
     
    301307               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zscave * zdenom1 + zaggdfea 
    302308               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zscave * zdenom2 + zaggdfeb 
     309               zscav3d(ji,jj,jk)   = zscave 
     310               zcoll3d(ji,jj,jk)   = zaggdfea + zaggdfeb 
    303311               ! 
    304312            END DO 
     
    321329                  ! 
    322330                  zlam1b   = 3.53E3 *   trb(ji,jj,jk,jpgoc) * xdiss(ji,jj,jk) 
    323                   zligco   = MAX( ( 0.1 * trb(ji,jj,jk,jplgw) ), ( trb(ji,jj,jk,jplgw) - fe3sol ) ) 
     331                  IF ( ln_fecolloid) THEN 
     332                     zligco   = MAX( ( 0.1 * trb(ji,jj,jk,jplgw) ), ( trb(ji,jj,jk,jplgw) - fe3sol ) ) 
     333                  ELSE 
     334                     zligco  = 0.5 * trn(ji,jj,jk,jplgw) 
     335                  ENDIF 
    324336                  zaggliga = zlam1a * xstep * zligco 
    325337                  zaggligb = zlam1b * xstep * zligco 
    326338                  tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) + precip(ji,jj,jk) 
    327339                  tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) - zaggliga - zaggligb 
     340                  zlcoll3d(ji,jj,jk)  = zaggliga + zaggligb 
    328341               END DO 
    329342            END DO 
     
    340353      IF( lk_iomput ) THEN 
    341354         IF( knt == nrdttrc ) THEN 
     355         zrfact2 = 1.e3 * rfact2r  ! conversion from mol/L/timestep into mol/m3/s 
    342356         IF( iom_use("Fe3")    )  CALL iom_put("Fe3"    , zFe3   (:,:,:)       * tmask(:,:,:) )   ! Fe3+ 
    343357         IF( iom_use("FeL1")   )  CALL iom_put("FeL1"   , zFeL1  (:,:,:)       * tmask(:,:,:) )   ! FeL1 
     
    345359         IF( iom_use("Totlig") )  CALL iom_put("Totlig" , ztotlig(:,:,:)       * tmask(:,:,:) )   ! TL 
    346360         IF( iom_use("Biron")  )  CALL iom_put("Biron"  , biron  (:,:,:) * 1e9 * tmask(:,:,:) )   ! biron 
     361         IF( iom_use("FESCAV") )  CALL iom_put("FESCAV" , zscav3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     362         IF( iom_use("FECOLL") )  CALL iom_put("FECOLL" , zcoll3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     363         IF( iom_use("LGWCOLL"))  CALL iom_put("LGWCOLL", zlcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 
    347364         IF( ln_fechem ) THEN 
    348365            IF( iom_use("Fe2")  ) CALL iom_put("Fe2"    , zFe2   (:,:,:)       * tmask(:,:,:) )   ! Fe2+ 
     
    361378      ! 
    362379      CALL wrk_dealloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig, precip ) 
     380      CALL wrk_dealloc( jpi, jpj, jpk, zscav3d, zcoll3d ) 
    363381      IF( ln_fechem )  THEN 
    364382         CALL wrk_dealloc( jpi, jpj,      zstrn, zstrn2 ) 
    365383         CALL wrk_dealloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 
     384      ENDIF 
     385      IF ( ln_ligand ) THEN 
     386         CALL wrk_dealloc( jpi, jpj, jpk, zlcoll3d ) 
    366387      ENDIF 
    367388      ! 
Note: See TracChangeset for help on using the changeset viewer.