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

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

update diagnostics + changes in quota code

Location:
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z
Files:
10 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 ) 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zligand.F90

    r7180 r7617  
    5959      REAL(wp) ::   zlgwp, zlgwpr, zlgwr, zlablgw, zrfepa, zfepr 
    6060      REAL(wp) ::   zstep, zstep2, zrfact2 
     61      REAL(wp), POINTER, DIMENSION(:,:,:) :: zligrem, zligpr, zrligprod 
    6162      CHARACTER (len=25) :: charout 
    6263      !!--------------------------------------------------------------------- 
     
    8990               zlgwpr = prlgw * zstep * etot(ji,jj,jk) * trn(ji,jj,jk,jplgw) * (1. - fr_i(ji,jj)) 
    9091               tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + zlgwp - zlgwr - zlgwpr 
     92               zligrem(ji,jj,jk)   = zlgwr 
     93               zligpr(ji,jj,jk)    = zlgwpr 
     94               zrligprod(ji,jj,jk) = zlgwp 
    9195            END DO 
    9296         END DO 
     
    111115         END DO 
    112116      END DO 
     117 
     118      !  Output of some diagnostics variables 
     119      !     --------------------------------- 
     120      IF( ln_diatrc .AND. lk_iomput ) THEN 
     121         IF( jnt == nrdttrc ) THEN 
     122            CALL iom_put("LIGREM"   , zligrem(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     123            CALL iom_put("LIGPR"    , zligpr(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     124            CALL iom_put("LPRODR"   , zrligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     125         ENDIF 
     126      ENDIF 
     127 
     128      CALL wrk_dealloc( jpi, jpj, jpk, zligrem, zligpr, zrligprod ) 
    113129 
    114130      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90

    r6966 r7617  
    6767      CHARACTER (len=25) :: charout 
    6868      REAL(wp), POINTER, DIMENSION(:,:,:) :: zco3, zcaldiss, zhinit, zhi, zco3sat 
     69      REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork 
    6970      !!--------------------------------------------------------------------- 
    7071      ! 
     
    7273      ! 
    7374      CALL wrk_alloc( jpi, jpj, jpk, zco3, zcaldiss, zhinit, zhi, zco3sat ) 
     75      CALL wrk_alloc( jpi, jpj, jpk, zwork ) 
    7476      ! 
    7577      zco3    (:,:,:) = 0. 
    7678      zcaldiss(:,:,:) = 0. 
     79      zwork   (:,:,:) = 0. 
    7780      zhinit(:,:,:)   = hi(:,:,:) * 1000. / ( rhop(:,:,:) + rtrn ) 
    7881      !     ------------------------------------------- 
     
    133136         ! 
    134137      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    135          IF( iom_use( "PH"     ) ) CALL iom_put( "PH"    , -1. * LOG10( hi(:,:,:) )          * tmask(:,:,:) ) 
     138         IF( iom_use( "PH"     ) ) CALL iom_put( "PH"    , -1. * LOG10( hi(:,:,:) + rtrn )          * tmask(:,:,:) ) 
    136139         IF( iom_use( "CO3"    ) ) CALL iom_put( "CO3"   , zco3(:,:,:) * 1.e+3               * tmask(:,:,:) ) 
    137140         IF( iom_use( "CO3sat" ) ) CALL iom_put( "CO3sat", zco3sat(:,:,:) * 1.e+3            * tmask(:,:,:) ) 
    138141         IF( iom_use( "DCAL"   ) ) CALL iom_put( "DCAL"  , zcaldiss(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:) ) 
    139  
     142         IF( iom_use( "AOU"    ) ) THEN  
     143             zwork(:,:,:) = MAX(0., (chemo2(:,:,:) - trn(:,:,:,jpoxy) ) ) * 1.E6 * tmask(:,:,:) 
     144             CALL iom_put( "AOU"   , MAX(0., zwork(:,:,:) ) ) 
     145         ENDIF 
    140146      ELSE 
    141147         IF( ln_diatrc ) THEN 
     
    154160      ! 
    155161      CALL wrk_dealloc( jpi, jpj, jpk, zco3, zcaldiss, zhinit, zhi, zco3sat ) 
     162      CALL wrk_dealloc( jpi, jpj, jpk, zwork ) 
    156163      ! 
    157164      IF( nn_timing == 1 )  CALL timing_stop('p4z_lys') 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90

    r6841 r7617  
    8383      REAL(wp) :: zgrazfffp, zgrazfffg, zgrazffep, zgrazffeg 
    8484      CHARACTER (len=25) :: charout 
    85       REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d 
     85      REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d, zfezoo2 
     86#if defined key_ligand 
     87      REAL(wp), POINTER, DIMENSION(:,:,:) :: zz2ligprod 
     88#endif 
    8689 
    8790      !!--------------------------------------------------------------------- 
     
    8992      IF( nn_timing == 1 )  CALL timing_start('p4z_meso') 
    9093      ! 
    91       IF( lk_iomput ) THEN 
    92          CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 
    93          zgrazing(:,:,:) = 0._wp 
    94       ENDIF 
     94      CALL wrk_alloc( jpi, jpj, jpk, zgrazing, zfezoo2 ) 
     95#if defined key_ligand 
     96      CALL wrk_alloc( jpi, jpj, jpk, zz2ligprod ) 
     97      zz2ligprod(:,:,:) = 0._wp 
     98#endif 
     99      zgrazing(:,:,:) = 0._wp 
     100      zfezoo2(:,:,:) = 0._wp 
    95101 
    96102      DO jk = 1, jpkm1 
     
    206212#if defined key_ligand 
    207213               tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + (zgrarem2 - zgrarsig) * ldocz 
     214               zz2ligprod(ji,jj,jk) = (zgrarem2 - zgrarsig) * ldocz 
    208215#endif 
    209216               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * zgrarsig 
    210217               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer2 
     218               zfezoo2(ji,jj,jk) = zgrafer2 
    211219               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zgrarsig 
    212220               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * zgrarsig               
     
    243251              tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + ferat3 * zmortzgoc - zgrazfffg     & 
    244252                 &                + zgraztotf * unass2 - zfracfe 
    245               zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jppoc) + trb(ji,jj,jk,jpgoc) + rtrn ) 
    246               zgrazcal = (zgrazffeg + zgrazpoc) * (1. - part2) * zfracal 
     253              zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jpgoc) + rtrn ) 
     254              zgrazcal = zgrazffeg * (1. - part2) * zfracal 
    247255#endif 
    248256 
     
    253261               zprcaca = part2 * zprcaca 
    254262               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zgrazcal - zprcaca 
    255                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * ( zgrazcal + zprcaca ) 
     263               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * ( zgrazcal - zprcaca ) 
    256264               tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) - zgrazcal + zprcaca 
    257265 
     
    270278            CALL iom_put( "PCAL", zw3d )   
    271279         ENDIF 
     280         IF( iom_use( "FEZOO2" ) ) THEN 
     281            zw3d(:,:,:) = zfezoo2(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
     282            CALL iom_put( "FEZOO2", zw3d ) 
     283         ENDIF 
     284#if defined key_ligand 
     285         IF( iom_use( "LPRODZ2" ) )  THEN 
     286            zw3d(:,:,:) = zz2ligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
     287            CALL iom_put( "LPRODZ2"  , zw3d ) 
     288         ENDIF 
     289#endif 
    272290         CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    273291      ENDIF 
     
    279297      ENDIF 
    280298      ! 
    281       IF( lk_iomput )  CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 
     299#if defined key_ligand 
     300      CALL wrk_dealloc( jpi, jpj, jpk, zgrazing, zfezoo2, zz2ligprod ) 
     301#else 
     302      CALL wrk_dealloc( jpi, jpj, jpk, zgrazing, zfezoo2 ) 
     303#endif 
    282304      ! 
    283305      IF( nn_timing == 1 )  CALL timing_stop('p4z_meso') 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r6453 r7617  
    7878      REAL(wp) :: zgrazp, zgrazm, zgrazsd 
    7979      REAL(wp) :: zgrazmf, zgrazsf, zgrazpf 
    80       REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d 
     80      REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d, zfezoo 
     81#if defined key_ligand 
     82      REAL(wp), POINTER, DIMENSION(:,:,:) :: zzligprod 
     83#endif 
    8184      CHARACTER (len=25) :: charout 
    8285      !!--------------------------------------------------------------------- 
     
    8487      IF( nn_timing == 1 )  CALL timing_start('p4z_micro') 
    8588      ! 
    86       IF( lk_iomput )  CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 
     89      CALL wrk_alloc( jpi, jpj, jpk, zgrazing, zfezoo ) 
     90      zfezoo(:,:,:) = 0._wp 
     91#if defined key_ligand 
     92      CALL wrk_alloc( jpi, jpj, jpk, zzligprod ) 
     93      zzligprod(:,:,:) = 0._wp 
     94#endif 
    8795      ! 
    8896      DO jk = 1, jpkm1 
     
    151159#if defined key_ligand 
    152160               tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + (zgrarem - zgrarsig) * ldocz 
     161               zzligprod(ji,jj,jk) = (zgrarem - zgrarsig) * ldocz 
    153162#endif 
    154163               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * zgrarsig 
    155164               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer 
     165               zfezoo(ji,jj,jk) = zgrafer 
    156166               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zgrapoc 
    157167               prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zgrapoc 
     
    201211            CALL iom_put( "GRAZ1", zw3d ) 
    202212         ENDIF 
     213         IF( iom_use( "FEZOO" ) ) THEN 
     214            zw3d(:,:,:) = zfezoo(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:)   ! 
     215            CALL iom_put( "FEZOO", zw3d ) 
     216         ENDIF 
     217#if defined key_ligand 
     218         IF( iom_use( "LPRODZ" ) )  THEN 
     219            zw3d(:,:,:) = zzligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 
     220            CALL iom_put( "LPRODZ"  , zw3d ) 
     221         ENDIF 
     222#endif 
    203223         CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    204224      ENDIF 
     
    210230      ENDIF 
    211231      ! 
    212       IF( lk_iomput )  CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 
     232      CALL wrk_dealloc( jpi, jpj, jpk, zgrazing, zfezoo ) 
     233#if defined key_ligand 
     234      CALL wrk_dealloc( jpi, jpj, jpk, zzligprod ) 
     235#endif 
    213236      ! 
    214237      IF( nn_timing == 1 )  CALL timing_stop('p4z_micro') 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zpoc.F90

    r7180 r7617  
    7373      REAL(wp), POINTER, DIMENSION(:,:,:)   :: zremipoc, zremigoc, zorem3 
    7474      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: alphag 
     75      REAL(wp), POINTER, DIMENSION(:,:,:)   :: zfolimi 
     76 
    7577      !!--------------------------------------------------------------------- 
    7678      ! 
     
    8082      CALL wrk_alloc( jpi, jpj,      totprod,  totthick, totcons ) 
    8183      CALL wrk_alloc( jpi, jpj, jpk, zremipoc, zremigoc, zorem3 ) 
     84      CALL wrk_alloc( jpi, jpj, jpk, zfolimi ) 
    8285      ALLOCATE( alphag(jpi,jpj,jpk,jcpoc) ) 
    8386 
     
    98101      zorem3(:,:,:)   = 0. 
    99102      orem  (:,:,:)   = 0. 
     103      zfolimi(:,:,:)  = 0. 
    100104 
    101105      DO jn = 1, jcpoc 
     
    217221               tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + zorem2 
    218222               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zofer2 
     223               zfolimi(ji,jj,jk) = zofer2 
    219224            END DO 
    220225         END DO 
     
    392397                 orem(ji,jj,jk)      = orem(ji,jj,jk) + zorem 
    393398                 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zofer 
     399                 zfolimi(ji,jj,jk)   = zfolimi(ji,jj,jk) + zofer 
    394400                 tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zorem 
    395401#if defined key_kriest 
     
    407413          CALL iom_put( "REMINP" , zremipoc(:,:,:) * tmask(:,:,:) )  ! Remineralisation rate 
    408414          CALL iom_put( "REMING" , zremigoc(:,:,:) * tmask(:,:,:) )  ! Remineralisation rate 
     415          CALL iom_put( "REMINF" , zfolimi(:,:,:) * tmask(:,:,:)  * 1.e+3 * rfact2r )  ! Remineralisation rate 
    409416      ENDIF 
    410417 
     
    416423      ! 
    417424      CALL wrk_dealloc( jpi, jpj,      totprod, totthick, totcons ) 
    418       CALL wrk_dealloc( jpi, jpj, jpk, zremipoc, zremigoc, zorem3 ) 
     425      CALL wrk_dealloc( jpi, jpj, jpk, zremipoc, zremigoc, zorem3, zfolimi ) 
    419426      DEALLOCATE( alphag ) 
    420427      ! 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90

    r7180 r7617  
    8989      REAL(wp), POINTER, DIMENSION(:,:,:) :: zprorcan, zprorcad, zprofed, zprofen, zpronewn, zpronewd 
    9090      REAL(wp), POINTER, DIMENSION(:,:,:) :: zmxl_fac, zmxl_chl 
     91#if defined key_ligand 
     92      REAL(wp), POINTER, DIMENSION(:,:,:) :: zpligprod, zpligprod2 
     93#endif 
    9194      !!--------------------------------------------------------------------- 
    9295      ! 
     
    98101      CALL wrk_alloc( jpi, jpj, jpk, zmxl_fac, zmxl_chl ) 
    99102      CALL wrk_alloc( jpi, jpj, jpk, zprorcan, zprorcad, zprofed, zprofen, zpronewn, zpronewd ) 
     103#if defined key_ligand 
     104      CALL wrk_alloc( jpi, jpj, jpk, zpligprod, zpligprod2 ) 
     105#endif 
    100106      ! 
    101107      zprorcan(:,:,:) = 0._wp ; zprorcad(:,:,:) = 0._wp ; zprofed (:,:,:) = 0._wp 
     
    345351#if defined key_ligand 
    346352                 tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + zdocprod * ldocp  - zfeup * plig(ji,jj,jk) * lthet 
     353                 zpligprod(ji,jj,jk) = zdocprod * ldocp 
     354                 zpligprod2(ji,jj,jk) = zfeup * plig(ji,jj,jk) * lthet 
    347355#endif 
    348356                 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) + o2ut * ( zproreg + zproreg2) & 
     
    424432              CALL iom_put( "TPBFE"  , zw3d ) 
    425433          ENDIF 
     434#if defined key_ligand 
     435          IF( iom_use( "LPRODP" ) )  THEN 
     436              zw3d(:,:,:) = zpligprod(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
     437              CALL iom_put( "LPRODP"  , zw3d ) 
     438          ENDIF 
     439          IF( iom_use( "LDETP" ) )  THEN 
     440              zw3d(:,:,:) = zpligprod2(:,:,:) * 1e9 * zfact * tmask(:,:,:) 
     441              CALL iom_put( "LDETP"  , zw3d ) 
     442          ENDIF 
     443#endif 
    426444          IF( iom_use( "INTPPPHY" ) .OR. iom_use( "INTPPPHY2" ) ) THEN   
    427445             zw2d(:,:) = 0. 
     
    495513     CALL wrk_dealloc( jpi, jpj, jpk, zmxl_fac, zmxl_chl ) 
    496514     CALL wrk_dealloc( jpi, jpj, jpk, zprorcan, zprorcad, zprofed, zprofen, zpronewn, zpronewd ) 
     515#if defined key_ligand 
     516     CALL wrk_dealloc( jpi, jpj, jpk, zpligprod, zpligprod2 ) 
     517#endif 
    497518     ! 
    498519     IF( nn_timing == 1 )  CALL timing_stop('p4z_prod') 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90

    r7180 r7617  
    7979      CHARACTER (len=25) :: charout 
    8080      REAL(wp), POINTER, DIMENSION(:,:  ) :: ztempbac 
    81       REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zdepprod, zfacsi, zfacsib 
     81      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zdepprod, zfacsi, zfacsib, znitr 
    8282      !!--------------------------------------------------------------------- 
    8383      ! 
     
    8686      ! Allocate temporary workspace 
    8787      CALL wrk_alloc( jpi, jpj,      ztempbac ) 
    88       CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 
     88      CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, znitr, zfacsi, zfacsib ) 
    8989 
    9090      ! Initialization of local variables 
     
    187187               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2nit * zonitr 
    188188               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2 * rno3 * zonitr + rno3 * ( rdenita - 1. ) * zdenitnh4 
     189               znitr(ji,jj,jk) = zonitr 
    189190            END DO 
    190191         END DO 
     
    271272          CALL iom_put( "REMIN" , zolimi(:,:,:) * tmask(:,:,:) * zrfact2 )  ! Remineralisation rate 
    272273          CALL iom_put( "DENIT" , denitr(:,:,:) * rdenit * rno3 * tmask(:,:,:) * zrfact2  )  ! Denitrification 
     274          CALL iom_put( "NIT"   , znitr(:,:,:) * rno3 * tmask(:,:,:) * zrfact2 )  ! 
     275          CALL iom_put( "BACT", zdepbac(:,:,:) * 1.E6 * tmask(:,:,:) )  ! Bacterial biomass 
     276 
    273277      ENDIF 
    274278      ! 
    275279      CALL wrk_dealloc( jpi, jpj,      ztempbac ) 
    276       CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 
     280      CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib, znitr ) 
    277281      ! 
    278282      IF( nn_timing == 1 )  CALL timing_stop('p4z_rem') 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90

    r6453 r7617  
    4545   REAL(wp), PUBLIC  :: fep_rats    !: Fep/Fer ratio from sed  sources 
    4646   REAL(wp), PUBLIC  :: fep_rath    !: Fep/Fer ratio from hydro sources 
     47   REAL(wp), PUBLIC  :: hydrolig    !: Lgw/Fer ratio from hydro sources 
    4748#endif 
    4849 
     
    231232        &                sedfeinput, dustsolub, icefeinput, wdust, mfrac, nitrfix, diazolight, concfediaz,   & 
    232233#if defined key_ligand 
    233         &                fep_rats, fep_rath,                     & 
     234        &                fep_rats, fep_rath,   hydrolig,                  & 
    234235#endif 
    235236        &                hratio 
     
    271272         WRITE(numout,*) '    Fep/Fer ratio from sed sources                       = ', fep_rats 
    272273         WRITE(numout,*) '    Fep/Fer ratio from sed hydro sources                 = ', fep_rath 
     274         WRITE(numout,*) '    Lgw/Fer ratio from sed sources                       = ', hydrolig 
    273275#endif 
    274276      END IF 
     
    286288      IF( lk_offline ) THEN 
    287289        nk_rnf(:,:) = 1 
    288         h_rnf (:,:) = fsdept(:,:,1) 
     290        h_rnf (:,:) = fse3t(:,:,1) 
    289291      ENDIF 
    290292 
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90

    r7180 r7617  
    212212#if defined key_ligand 
    213213         tra(:,:,:,jpfep) = tra(:,:,:,jpfep) + ( hydrofe(:,:,:) * fep_rath ) * rfact2 
    214          tra(:,:,:,jplgw) = tra(:,:,:,jplgw) + ( hydrofe(:,:,:) * 0.5 ) * rfact2 
     214         tra(:,:,:,jplgw) = tra(:,:,:,jplgw) + ( hydrofe(:,:,:) * hydrolig ) * rfact2 
    215215#endif 
    216216         ! 
Note: See TracChangeset for help on using the changeset viewer.