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 7617 for branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90 – NEMO

Ignore:
Timestamp:
2017-01-27T18:17:01+01:00 (7 years ago)
Author:
aumont
Message:

update diagnostics + changes in quota code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r7180 r7617  
    6969      INTEGER  ::   ji, jj, jk, jic, jn 
    7070      REAL(wp) ::   zdep, zlam1a, zlam1b, zlamfac 
    71       REAL(wp) ::   zkeq, zfeequi, zfesatur, zfecoll, fe3sol, fe3sol1 
     71      REAL(wp) ::   zkeq, zfeequi, zfesatur, zfecoll, zfecollc, fe3sol, fe3sol1 
    7272      REAL(wp) ::   zdenom1, zscave, zaggdfea, zaggdfeb, zcoag 
    7373      REAL(wp) ::   ztrc, zdust 
     
    7878      REAL(wp), POINTER, DIMENSION(:,:,:) :: zFeL1, zFeL2, zTL2, zFe2, zFeP 
    7979      REAL(wp), POINTER, DIMENSION(:,:  ) :: zstrn, zstrn2 
     80      REAL(wp), POINTER, DIMENSION(:,:,:) :: zcoll3d, zscav3d 
    8081      REAL(wp) ::   zzFeL1, zzFeL2, zzFe2, zzFeP, zzFe3, zzstrn2 
    8182      REAL(wp) ::   zrum, zcodel, zargu, zlight 
     
    8485      REAL(wp) :: zxs, zfunc, zp, zq, zd, zr, zphi, zfff, zp3, zq2 
    8586      REAL(wp) :: ztfe, zoxy, zhplus 
    86       REAL(wp) :: zstep 
     87      REAL(wp) :: zstep, zrfact2 
    8788#if defined key_ligand 
    8889      REAL(wp) :: zaggliga, zaggligb 
    8990      REAL(wp) :: dissol, zligco 
     91      REAL(wp), POINTER, DIMENSION(:,:,:) :: zlcoll3d 
    9092#endif 
    9193      CHARACTER (len=25) :: charout 
     
    9698      ! Allocate temporary workspace 
    9799      CALL wrk_alloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig, precip ) 
     100      CALL wrk_alloc( jpi, jpj, jpk, zcoll3d, zscav3d ) 
     101#if defined key_ligand 
     102      CALL wrk_alloc( jpi, jpj, jpk, zlcoll3d ) 
     103#endif 
    98104      zFe3 (:,:,:) = 0. 
    99105      zFeL1(:,:,:) = 0. 
     
    327333               !  It requires certainly some more work as it is very poorly constrained. 
    328334               !  ---------------------------------------------------------------- 
     335               zfecollc = trb(ji,jj,jk,jpdoc) / ( 40.E-6 + trb(ji,jj,jk,jpdoc) ) * zfecoll 
    329336               zlam1a  = ( 0.369  * 0.3 * trb(ji,jj,jk,jpdoc) + 102.4  * trb(ji,jj,jk,jppoc) ) * xdiss(ji,jj,jk)    & 
    330337                   &   + ( 114.   * 0.3 * trb(ji,jj,jk,jpdoc) ) 
    331                zaggdfea = zlam1a * zstep * zfecoll 
     338               zaggdfea = zlam1a * zstep * zfecollc 
    332339               ! 
    333340#if defined key_kriest 
     
    335342#else 
    336343               zlam1b = 3.53E3 *   trb(ji,jj,jk,jpgoc) * xdiss(ji,jj,jk) 
    337                zaggdfeb = zlam1b * zstep * zfecoll 
     344               zaggdfeb = zlam1b * zstep * zfecollc 
    338345#endif 
    339346               ! precipitation of Fe3+, creation of nanoparticles 
     
    346353               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zscave * zdenom2 + zaggdfeb 
    347354#endif 
     355               zscav3d(ji,jj,jk)  = zscave 
     356               zcoll3d(ji,jj,jk)  = zaggdfea + zaggdfeb 
    348357#if defined key_ligand 
    349358               zaggliga = zlam1a * zstep * zligco 
     
    355364               tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) + precip(ji,jj,jk) 
    356365               tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) - zaggliga - zaggligb 
     366               zlcoll3d(ji,jj,jk) = zaggliga + zaggligb 
    357367#endif 
    358368            END DO 
     
    379389      IF( ln_diatrc .AND. lk_iomput ) THEN 
    380390         IF( jnt == nrdttrc ) THEN 
     391            zrfact2 = 1.e3 * rfact2r  ! conversion from mol/L/timestep into mol/m3/s 
    381392            CALL iom_put("Fe3"    , zFe3   (:,:,:)       * tmask(:,:,:) )   ! Fe3+ 
    382393            CALL iom_put("FeL1"   , zFeL1  (:,:,:)       * tmask(:,:,:) )   ! FeL1 
    383394            CALL iom_put("TL1"    , zTL1   (:,:,:)       * tmask(:,:,:) )   ! TL1 
    384395            CALL iom_put("Totlig" , ztotlig(:,:,:)       * tmask(:,:,:) )   ! TL 
    385             CALL iom_put("Biron"  , biron  (:,:,:) * 1e9 * tmask(:,:,:) )   ! biron 
     396            CALL iom_put("Biron"  , biron  (:,:,:)  * 1e9 * tmask(:,:,:) )   ! biron 
     397            CALL iom_put("FESCAV" , zscav3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     398            CALL iom_put("FECOLL" , zcoll3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     399#if defined key_ligand 
     400            CALL iom_put("LGWCOLL", zlcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 
     401#endif 
    386402            IF( ln_fechem ) THEN 
    387403               CALL iom_put("Fe2" , zFe2   (:,:,:)       * tmask(:,:,:) )   ! Fe2+ 
     
    400416      ! 
    401417      CALL wrk_dealloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig, precip ) 
     418      CALL wrk_dealloc( jpi, jpj, jpk, zscav3d, zcoll3d ) 
     419#if defined key_ligand 
     420      CALL wrk_dealloc( jpi, jpj, jpk, zlcoll3d ) 
     421#endif 
     422 
    402423      IF( ln_fechem )  THEN 
    403424         CALL wrk_dealloc( jpi, jpj,      zstrn, zstrn2 ) 
Note: See TracChangeset for help on using the changeset viewer.