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

Changeset 14416


Ignore:
Timestamp:
2021-02-07T16:08:48+01:00 (3 years ago)
Author:
cetlod
Message:

dev_r14383_PISCES_NEWDEV_PISCO : minor improvments

Location:
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-pisces.xml

    r14309 r14416  
    1111    <file_definition type="one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1mo" min_digits="4"> 
    1212     
    13       <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE.">  <!-- 5d files -->    
     13      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".FALSE.">  <!-- 5d files -->    
    1414 
    1515        <file id="file31" name_suffix="_bioscalar" description="pisces sms variables" > 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_top_cfg

    r14032 r14416  
    110110!                !  file name        ! frequency (hours) ! variable      ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
    111111!                !                   !  (if <0  months)  !   name        !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      ! 
    112    sn_trcsbc(5)  = 'dust.orca.new'   ,       -1          , 'dustpo4'     ,  .true.      , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
    113    sn_trcsbc(7)  = 'dust.orca.new'   ,       -1          , 'dustsi'      ,  .true.      , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
    114    sn_trcsbc(14) = 'dust.orca.new'   ,       -1          , 'dustfer'     ,  .true.      , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
    115    sn_trcsbc(23) = 'ndeposition.orca',      -12          , 'ndep2'       ,  .false.     , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
     112   sn_trcsbc(5)  = 'dust.orca.new'   ,       -1          , 'dustpo4'     ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     113   sn_trcsbc(7)  = 'dust.orca.new'   ,       -1          , 'dustsi'      ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     114   sn_trcsbc(14) = 'dust.orca.new'   ,       -1          , 'dustfer'     ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     115   sn_trcsbc(23) = 'ndeposition.orca',      -12          , 'ndep'        ,  .false.     , .true. , 'yearly'  , ''       , ''    , '' 
    116116   rn_trsfac(5)  = 8.264e-02   !  (  0.021 / 31. * 122 ) 
    117117   rn_trsfac(7)  = 3.313e-01     !  ( 8.8   / 28.1 ) 
     
    120120   rn_sbc_time   =  1.          !  Time scaling factor for SBC and CBC data (seconds in a day) 
    121121   ! 
    122    sn_trccbc(1)  = 'river.orca'      ,    -12            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    123    sn_trccbc(2)  = 'river.orca'      ,    -12            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    124    sn_trccbc(5)  = 'river.orca'      ,    -12            , 'riverdip'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    125    sn_trccbc(7)  = 'river.orca'      ,    -12            , 'riverdsi'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    126    sn_trccbc(10) = 'river.orca'      ,    -12            , 'riverdoc'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    127    sn_trccbc(14) = 'river.orca'      ,    -12            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    128    sn_trccbc(23) = 'river.orca'      ,    -12            , 'riverdin'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     122   sn_trccbc(1)  = 'river.orca'      ,    120            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     123   sn_trccbc(2)  = 'river.orca'      ,    120            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     124   sn_trccbc(5)  = 'river.orca'      ,    120            , 'riverdip'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     125   sn_trccbc(7)  = 'river.orca'      ,    120            , 'riverdsi'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     126   sn_trccbc(10) = 'river.orca'      ,    120            , 'riverdoc'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     127   sn_trccbc(14) = 'river.orca'      ,    120            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     128   sn_trccbc(23) = 'river.orca'      ,    120            , 'riverdin'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    129129   rn_trcfac(1)  = 8.333e+01   !  ( data in Mg/m2/yr : 1e3/12/ryyss) 
    130130   rn_trcfac(2)  = 8.333e+01   !  ( 1e3 /12 ) 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/ORCA2_OFF_PISCES/EXPREF/file_def_nemo-pisces.xml

    r12276 r14416  
    1717      <file_group id="6h" output_freq="6h"  output_level="10" enabled=".TRUE."/> <!-- 6h files --> 
    1818      
    19       <file_group id="1d" output_freq="1d"  output_level="10" enabled=".TRUE."> <!-- 1d files --> 
     19      <file_group id="1d" output_freq="1d"  output_level="10" enabled=".FALSE."> <!-- 1d files --> 
    2020        <file id="file1" name_suffix="_bioscalar" description="pisces sms variables" > 
    2121           <field field_ref="tdenit"   name="tdenit"    unit="TgN/yr" operation="instant" > tdenit * 14. * 86400. * 365. / 1e12 </field> 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg

    r14255 r14416  
    2323   nn_it000    =       1     !  first time step 
    2424   nn_itend    =    1460     !  last  time step (std 5475) 
    25    nn_date0    =  19600101   !  date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 
     25   nn_date0    =  01010101   !  date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 
    2626   nn_stock    =    1460     !  frequency of creation of a restart file (modulo referenced to 1) 
    2727   ln_mskland  = .true.      !  mask land points in NetCDF outputs (costly: + ~15%) 
     
    440440&namctl        !   Control prints                                       (default: OFF) 
    441441!----------------------------------------------------------------------- 
     442   sn_cfctl%l_runstat = .TRUE.    ! switches and which areas produce reports with the proc integer settings. 
     443   sn_cfctl%l_trcstat = .TRUE.   ! The default settings for the proc integers should ensure 
     444   sn_cfctl%l_oceout  = .FALSE.   ! that  all areas report. 
     445   sn_cfctl%l_layout  = .FALSE.   ! 
     446   sn_cfctl%l_prtctl  = .FALSE.   ! 
     447   sn_cfctl%l_prttrc  = .FALSE.   ! 
     448   sn_cfctl%l_oasout  = .FALSE.   ! 
     449   sn_cfctl%procmin   = 0         ! Minimum area number for reporting [default:0] 
     450   sn_cfctl%procmax   = 1000000   ! Maximum area number for reporting [default:1000000] 
     451   sn_cfctl%procincr  = 1         ! Increment for optional subsetting of areas [default:1] 
     452   sn_cfctl%ptimincr  = 1         ! Timestep increment for writing time step progress info 
     453   nn_ictls    =    0             !  start i indice of control sum (use to compare mono versus 
     454   nn_ictle    =    0             !  end   i indice of control sum        multi processor runs 
     455   nn_jctls    =    0             !  start j indice of control               over a subdomain) 
     456   nn_jctle    =    0             !  end   j indice of control 
     457   nn_isplt    =    1             !  number of processors in i-direction 
     458   nn_jsplt    =    1             !  number of processors in j-direction 
     459   ln_timing   = .false.          !  timing by routine write out in timing.output file 
     460   ln_diacfl   = .false.          !  CFL diagnostics write out in cfl_diagnostics.ascii 
    442461/ 
    443462!----------------------------------------------------------------------- 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_top_cfg

    r14032 r14416  
    110110!                !  file name        ! frequency (hours) ! variable      ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
    111111!                !                   !  (if <0  months)  !   name        !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      ! 
    112    sn_trcsbc(5)  = 'dust.orca.new'   ,       -1          , 'dustpo4'     ,  .true.      , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
    113    sn_trcsbc(7)  = 'dust.orca.new'   ,       -1          , 'dustsi'      ,  .true.      , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
    114    sn_trcsbc(14) = 'dust.orca.new'   ,       -1          , 'dustfer'     ,  .true.      , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
    115    sn_trcsbc(23) = 'ndeposition.orca',      -12          , 'ndep2'       ,  .false.     , .true. , 'yearly'  , 'weights_2D_r360x180_bilin.nc'       , ''    , '' 
     112   sn_trcsbc(5)  = 'dust.orca.new'   ,       -1          , 'dustpo4'     ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     113   sn_trcsbc(7)  = 'dust.orca.new'   ,       -1          , 'dustsi'      ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     114   sn_trcsbc(14) = 'dust.orca.new'   ,       -1          , 'dustfer'     ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     115   sn_trcsbc(23) = 'ndeposition.orca',      -12          , 'ndep'        ,  .false.     , .true. , 'yearly'  , ''       , ''    , '' 
    116116   rn_trsfac(5)  = 8.264e-02   !  (  0.021 / 31. * 122 ) 
    117117   rn_trsfac(7)  = 3.313e-01     !  ( 8.8   / 28.1 ) 
     
    120120   rn_sbc_time   =  1.          !  Time scaling factor for SBC and CBC data (seconds in a day) 
    121121   ! 
    122    sn_trccbc(1)  = 'river.orca'      ,    -12            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    123    sn_trccbc(2)  = 'river.orca'      ,    -12            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    124    sn_trccbc(5)  = 'river.orca'      ,    -12            , 'riverdip'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    125    sn_trccbc(7)  = 'river.orca'      ,    -12            , 'riverdsi'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    126    sn_trccbc(10) = 'river.orca'      ,    -12            , 'riverdoc'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    127    sn_trccbc(14) = 'river.orca'      ,    -12            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    128    sn_trccbc(23) = 'river.orca'      ,    -12            , 'riverdin'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     122   sn_trccbc(1)  = 'river.orca'      ,    120            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     123   sn_trccbc(2)  = 'river.orca'      ,    120            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     124   sn_trccbc(5)  = 'river.orca'      ,    120            , 'riverdip'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     125   sn_trccbc(7)  = 'river.orca'      ,    120            , 'riverdsi'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     126   sn_trccbc(10) = 'river.orca'      ,    120            , 'riverdoc'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     127   sn_trccbc(14) = 'river.orca'      ,    120            , 'riverdic'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
     128   sn_trccbc(23) = 'river.orca'      ,    120            , 'riverdin'    ,  .true.      , .true. , 'yearly'  , ''       , ''    , '' 
    129129   rn_trcfac(1)  = 8.333e+01   !  ( data in Mg/m2/yr : 1e3/12/ryyss) 
    130130   rn_trcfac(2)  = 8.333e+01   !  ( 1e3 /12 ) 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/SHARED/field_def_nemo-pisces.xml

    r14385 r14416  
    250250    <field id="BACT"        long_name="Bacterial Biomass"                       unit="mmol/m3"  grid_ref="grid_T_3D" /> 
    251251    <field id="FEBACT"      long_name="Bacterial uptake of Fe"                  unit="molFe/m3/s"  grid_ref="grid_T_3D" /> 
     252    <field id="FEPREC"      long_name="Precipitation of Fe"                     unit="molFe/m3/s"  grid_ref="grid_T_3D" /> 
    252253    <field id="LPRODR"      long_name="OM remineralisation ligand production rate" unit="nmol-L/m3/s"  grid_ref="grid_T_3D" /> 
    253254    <field id="LPRODP"      long_name="phytoplankton ligand production rate"    unit="nmol-L/m3/s"  grid_ref="grid_T_3D" /> 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/SHARED/namelist_pisces_ref

    r14385 r14416  
    1414!----------------------------------------------------------------------- 
    1515  ln_p2z    = .false.        !  LOBSTER model used 
    16   ln_p4z    = .false.        !  PISCES model used 
    17   ln_p5z    = .true.         !  PISCES QUOTA model used 
     16  ln_p4z    = .true.        !  PISCES model used 
     17  ln_p5z    = .false.         !  PISCES QUOTA model used 
    1818  ln_ligand = .false.        !  Enable  organic ligands 
    1919  ln_sediment = .false.      !  Enable sediment module 
     
    381381   rlgs        =  1.       ! Lifetime (years) of strong ligands 
    382382   xklig       =  1.E-9    ! 1/2 saturation constant of photolysis 
     383/ 
     384!----------------------------------------------------------------------- 
     385&nampissed     !   Namelist parameters for sediment mobilisation 
     386!----------------------------------------------------------------------- 
     387   nitrfix     =  1.e-7    ! Nitrogen fixation rate 
     388   diazolight  =  30.      ! Diazotrophs sensitivity to light (W/m2) 
     389   concfediaz  =  1.e-10   ! Diazotrophs half-saturation Cste for Iron 
    383390/ 
    384391!----------------------------------------------------------------------- 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/SHARED/namelist_ref

    r14255 r14416  
    7777   ln_crs      = .false.   !  Logical switch for coarsening module      (T => fill namcrs) 
    7878   ! 
    79    ln_meshmask = .true.   !  =T create a mesh file 
     79   ln_meshmask = .false.   !  =T create a mesh file 
    8080/ 
    8181!----------------------------------------------------------------------- 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zbc.F90

    r14385 r14416  
    282282         ! 
    283283         ALLOCATE( sf_dust(1), STAT=ierr )           !* allocate and fill sf_sst (forcing structure) with sn_sst 
    284          IF( ierr > 0 )   CALL ctl_stop( 'STOP', 'p4z_sed_init: unable to allocate sf_dust structure' ) 
    285          ! 
    286          CALL fld_fill( sf_dust, (/ sn_dust /), cn_dir, 'p4z_sed_init', 'Atmospheric dust deposition', 'nampissed' ) 
     284         IF( ierr > 0 )   CALL ctl_stop( 'STOP', 'p4z_bc_init: unable to allocate sf_dust structure' ) 
     285         ! 
     286         CALL fld_fill( sf_dust, (/ sn_dust /), cn_dir, 'p4z_bc_init', 'Atmospheric dust deposition', 'nampisbc' ) 
    287287                                   ALLOCATE( sf_dust(1)%fnow(jpi,jpj,1)   ) 
    288288         IF( sn_dust%ln_tint )     ALLOCATE( sf_dust(1)%fdta(jpi,jpj,1,2) ) 
     
    350350         ! 
    351351         ALLOCATE( sf_hydrofe(1), STAT=ierr )           !* allocate and fill sf_sst (forcing structure) with sn_sst 
    352          IF( ierr > 0 )   CALL ctl_stop( 'STOP', 'p4z_sed_init: unable to allocate sf_hydro structure' ) 
    353          ! 
    354          CALL fld_fill( sf_hydrofe, (/ sn_hydrofe /), cn_dir, 'p4z_sed_init', 'Input of iron from hydrothermal vents', 'nampisbc' ) 
     352         IF( ierr > 0 )   CALL ctl_stop( 'STOP', 'p4z_bc_init: unable to allocate sf_hydro structure' ) 
     353         ! 
     354         CALL fld_fill( sf_hydrofe, (/ sn_hydrofe /), cn_dir, 'p4z_bc_init', 'Input of iron from hydrothermal vents', 'nampisbc' ) 
    355355                                   ALLOCATE( sf_hydrofe(1)%fnow(jpi,jpj,jpk)   ) 
    356356         IF( sn_hydrofe%ln_tint )    ALLOCATE( sf_hydrofe(1)%fdta(jpi,jpj,jpk,2) ) 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zfechem.F90

    r14385 r14416  
    5959      REAL(wp) ::   zscave, zaggdfea, zaggdfeb, ztrc, zdust, zklight 
    6060      REAL(wp) ::   ztfe, zhplus, zxlam, zaggliga, zaggligb 
     61      REAL(wp) ::   zprecip, zprecipno3, zvar 
    6162      REAL(wp) ::   zrfact2 
    6263      CHARACTER (len=25) :: charout 
    63       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zTL1, zFe3, ztotlig, precip, precipno3, zFeL1 
    64       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zcoll3d, zscav3d, zlcoll3d, zprecip3d 
     64      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zTL1, zFe3, ztotlig, zfeprecip, zFeL1 
     65      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zcoll3d, zscav3d, zlcoll3d 
    6566      !!--------------------------------------------------------------------- 
    6667      ! 
    6768      IF( ln_timing )   CALL timing_start('p4z_fechem') 
    6869      ! 
    69       zFe3 (:,:,:) = 0. 
    70       zFeL1(:,:,:) = 0. 
    71       zTL1 (:,:,:) = 0. 
     70      zFe3     (:,:,jpk) = 0. 
     71      zFeL1    (:,:,jpk) = 0. 
     72      zTL1     (:,:,jpk) = 0. 
     73      zfeprecip(:,:,jpk) = 0. 
     74      zcoll3d  (:,:,jpk) = 0. 
     75      zscav3d  (:,:,jpk) = 0. 
     76      zlcoll3d (:,:,jpk) = 0. 
    7277 
    7378      ! Total ligand concentration : Ligands can be chosen to be constant or variable 
     
    7580      ! ------------------------------------------------- 
    7681      IF( ln_ligvar ) THEN 
    77          ztotlig(:,:,:) =  0.09 * 0.667 * tr(:,:,:,jpdoc,Kbb) * 1E6 + ligand * 1E9 + MAX(0., chemo2(:,:,:) - tr(:,:,:,jpoxy,Kbb) ) / 400.E-6 
     82         ztotlig(:,:,:) =  0.09 * 0.667 * tr(:,:,:,jpdoc,Kbb) * 1E6 & 
     83           &             + ligand * 1E9 & 
     84           &             + MAX(0., chemo2(:,:,:) - tr(:,:,:,jpoxy,Kbb) ) / 400.E-6 
    7885         ztotlig(:,:,:) =  MIN( ztotlig(:,:,:), 10. ) 
    7986      ELSE 
     
    95102          ztfe            = (1.0 + zklight) * tr(ji,jj,jk,jpfer,Kbb)  
    96103          ! Fe' is the root of a 2nd order polynom 
    97           zFe3 (ji,jj,jk) = ( -( 1. + zfesatur * zkeq + zklight + consfe3(ji,jj,jk)/10**-6.3 - zkeq * tr(ji,jj,jk,jpfer,Kbb) )               & 
    98              &              + SQRT( ( 1. + zfesatur * zkeq + zklight + consfe3(ji,jj,jk)/10**-6.3 - zkeq * tr(ji,jj,jk,jpfer,Kbb) )**2       & 
    99              &              + 4. * ztfe * zkeq) ) / ( 2. * zkeq ) 
     104          zvar =  1. + zfesatur * zkeq + zklight + consfe3(ji,jj,jk)/10**-6.3 - zkeq * tr(ji,jj,jk,jpfer,Kbb) 
     105          zFe3 (ji,jj,jk) = ( -1 * zvar + SQRT( zvar**2 + 4. * ztfe * zkeq) ) / ( 2. * zkeq + rtrn ) 
    100106          zFeL1(ji,jj,jk) = MAX( 0., tr(ji,jj,jk,jpfer,Kbb) - zFe3(ji,jj,jk) ) 
    101107      END_3D 
     
    116122         zfecoll = 0.5 * zFeL1(ji,jj,jk) * 1E-9 
    117123         ! precipitation of Fe3+, creation of nanoparticles 
    118          precip(ji,jj,jk) = MAX( 0., ( zFe3(ji,jj,jk) - fe3sol ) ) * kfep * xstep * ( 1.0 - nitrfac(ji,jj,jk) )  
     124         zprecip = MAX( 0., ( zFe3(ji,jj,jk) - fe3sol ) ) * kfep * xstep * ( 1.0 - nitrfac(ji,jj,jk) )  
    119125         ! Precipitation of Fe2+ due to oxidation by NO3 (Croot et al., 2019) 
    120126         ! This occurs in anoxic waters only 
    121          precipno3(ji,jj,jk) = 2.0 * 130.0 * tr(ji,jj,jk,jpno3,Kbb) * nitrfac(ji,jj,jk) * xstep * zFe3(ji,jj,jk) 
     127         zprecipno3 = 2.0 * 130.0 * tr(ji,jj,jk,jpno3,Kbb) * nitrfac(ji,jj,jk) * xstep * zFe3(ji,jj,jk) 
     128         ! 
     129         zfeprecip(ji,jj,jk) = zprecip + zprecipno3 
    122130         ! 
    123131         ztrc   = ( tr(ji,jj,jk,jppoc,Kbb) + tr(ji,jj,jk,jpgoc,Kbb) + tr(ji,jj,jk,jpcal,Kbb) + tr(ji,jj,jk,jpgsi,Kbb) ) * 1.e6  
     
    142150         ! 
    143151         tr(ji,jj,jk,jpfer,Krhs) = tr(ji,jj,jk,jpfer,Krhs) - zscave - zaggdfea - zaggdfeb & 
    144          &                       - precip(ji,jj,jk) - precipno3(ji,jj,jk) 
     152         &                       - zfeprecip(ji,jj,jk) 
    145153 
    146154         tr(ji,jj,jk,jpsfe,Krhs) = tr(ji,jj,jk,jpsfe,Krhs) + zscave * scaveff * tr(ji,jj,jk,jppoc,Kbb) / ztrc 
     
    163171          zscav3d(ji,jj,jk)   = zscave  
    164172          zcoll3d(ji,jj,jk)   = zaggdfea + zaggdfeb 
    165           zprecip3d(ji,jj,jk) = precip(ji,jj,jk) + precipno3(ji,jj,jk) 
    166173         ! 
    167174      END_3D 
     
    205212         IF( iom_use("FESCAV") )  CALL iom_put("FESCAV" , zscav3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
    206213         IF( iom_use("FECOLL") )  CALL iom_put("FECOLL" , zcoll3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
    207          IF( iom_use("FEPREC") )  CALL iom_put("FEPREC" , zprecip3d(:,:,:)  * 1e9 * tmask(:,:,:) * zrfact2 ) 
     214         IF( iom_use("FEPREC") )  CALL iom_put("FEPREC" , zfeprecip(:,:,:) *1e9*tmask(:,:,:)*zrfact2 ) 
    208215         IF( iom_use("LGWCOLL"))  CALL iom_put("LGWCOLL", zlcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 
    209216      ENDIF 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zint.F90

    r14385 r14416  
    3737      INTEGER, INTENT( in ) ::   Kbb, Kmm ! time level indices 
    3838      ! 
    39       INTEGER  :: ji, jj                 ! dummy loop indices 
     39      INTEGER  :: ji, jj, jk              ! dummy loop indices 
    4040      REAL(wp) :: zrum, zcodel, zargu, zvar 
    4141      !!--------------------------------------------------------------------- 
     
    7575      ! day length in hours 
    7676      strn(:,:) = 0. 
    77       DO jj = 1, jpj 
    78          DO ji = 1, jpi 
    79             zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    80             zargu = MAX( -1., MIN(  1., zargu ) ) 
    81             strn(ji,jj) = MAX( 0.0, 24. - 2. * ACOS( zargu ) / rad / 15. ) 
    82          END DO 
    83       END DO 
     77      DO_2D( 1, 1, 1, 1 ) 
     78         zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
     79         zargu = MAX( -1., MIN(  1., zargu ) ) 
     80         strn(ji,jj) = MAX( 0.0, 24. - 2. * ACOS( zargu ) / rad / 15. ) 
     81      END_2D 
     82      ! 
     83      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     84        ! denitrification factor computed from O2 levels 
     85         ! This factor diagnoses below which level of O2 denitrification 
     86         ! is active 
     87         nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - tr(ji,jj,jk,jpoxy,Kbb) )    & 
     88            &                                / ( oxymin + tr(ji,jj,jk,jpoxy,Kbb) )  ) 
     89         nitrfac(ji,jj,jk) = MIN( 1., nitrfac(ji,jj,jk) ) 
     90         ! 
     91         ! redox factor computed from NO3 levels 
     92         ! This factor diagnoses below which level of NO3 additional redox 
     93         ! reactions are taking place. 
     94         nitrfac2(ji,jj,jk) = MAX( 0.e0,       ( 1.E-6 - tr(ji,jj,jk,jpno3,Kbb) )  & 
     95            &                                / ( 1.E-6 + tr(ji,jj,jk,jpno3,Kbb) ) ) 
     96         nitrfac2(ji,jj,jk) = MIN( 1., nitrfac2(ji,jj,jk) ) 
     97      END_3D 
    8498      ! 
    8599      IF( ln_timing )   CALL timing_stop('p4z_int') 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zlim.F90

    r14385 r14416  
    4040   REAL(wp), PUBLIC ::  xkdoc       !:  2nd half-sat. of DOC remineralization   
    4141   REAL(wp), PUBLIC ::  concbfe     !:  Fe half saturation for bacteria  
    42    REAL(wp), PUBLIC ::  oxymin      !:  half saturation constant for anoxia 
    4342   REAL(wp), PUBLIC ::  qnfelim     !:  optimal Fe quota for nanophyto 
    4443   REAL(wp), PUBLIC ::  qdfelim     !:  optimal Fe quota for diatoms 
    45    REAL(wp), PUBLIC ::  caco3r      !:  mean rainratio  
    4644 
    4745   !!* Phytoplankton limitation terms 
     
    250248         xfracal(ji,jj,jk) = MIN( 0.8 , xfracal(ji,jj,jk) ) 
    251249         xfracal(ji,jj,jk) = MAX( 0.02, xfracal(ji,jj,jk) ) 
    252       END_3D 
    253       ! 
    254       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    255         ! denitrification factor computed from O2 levels 
    256          ! This factor diagnoses below which level of O2 denitrification 
    257          ! is active 
    258          nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - tr(ji,jj,jk,jpoxy,Kbb) )    & 
    259             &                                / ( oxymin + tr(ji,jj,jk,jpoxy,Kbb) )  ) 
    260          nitrfac(ji,jj,jk) = MIN( 1., nitrfac(ji,jj,jk) ) 
    261          ! 
    262          ! redox factor computed from NO3 levels 
    263          ! This factor diagnoses below which level of NO3 additional redox 
    264          ! reactions are taking place. 
    265          nitrfac2(ji,jj,jk) = MAX( 0.e0,       ( 1.E-6 - tr(ji,jj,jk,jpno3,Kbb) )  & 
    266             &                                / ( 1.E-6 + tr(ji,jj,jk,jpno3,Kbb) ) ) 
    267          nitrfac2(ji,jj,jk) = MIN( 1., nitrfac2(ji,jj,jk) ) 
    268250      END_3D 
    269251      ! 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zopt.F90

    r14385 r14416  
    6767      REAL(wp), DIMENSION(jpi,jpj    ) :: zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 
    6868      REAL(wp), DIMENSION(jpi,jpj    ) :: zqsr100, zqsr_corr 
    69       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpar, ze0, ze1, ze2, ze3, zchl3d 
     69      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpar, ze0, ze1, ze2, ze3 
    7070      !!--------------------------------------------------------------------- 
    7171      ! 
     
    7979      ze2(:,:,:) = 0._wp 
    8080      ze3(:,:,:) = 0._wp 
     81 
    8182      ! 
    8283      ! Attenuation coef. function of Chlorophyll and wavelength (Red-Green-Blue) 
     
    8586      ! in Lengaigne et al. (2007). 
    8687      ! -------------------------------------------------------- 
    87                      zchl3d(:,:,:) = tr(:,:,:,jpnch,Kbb) + tr(:,:,:,jpdch,Kbb) 
    88       IF( ln_p5z )   zchl3d(:,:,:) = zchl3d(:,:,:)       + tr(:,:,:,jppch,Kbb) 
    8988      ! 
    9089      ! Computation of the light attenuation parameters based on a  
    9190      ! look-up table 
    9291      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    93          zchl = ( zchl3d(ji,jj,jk) + rtrn ) * 1.e6 
     92         zchl =  ( tr(ji,jj,jk,jpnch,Kbb) + tr(ji,jj,jk,jpdch,Kbb) + rtrn ) * 1.e6 
     93         IF( ln_p5z )   zchl = zchl + tr(ji,jj,jk,jppch,Kbb) * 1.e6 
    9494         zchl = MIN(  10. , MAX( 0.05, zchl )  ) 
    9595         irgb = NINT( 41 + 20.* LOG10( zchl ) + rtrn ) 
     
    9999         ekr(ji,jj,jk) = rkrgb(3,irgb) * e3t(ji,jj,jk,Kmm) 
    100100      END_3D 
     101 
    101102 
    102103      ! Photosynthetically Available Radiation (PAR) 
     
    329330         pe3(:,:,1) = zqsr(:,:) 
    330331         ! 
    331          DO jk = 2, nksr + 1 
    332             DO jj = 1, jpj 
    333                DO ji = 1, jpi 
    334                   pe0(ji,jj,jk) = pe0(ji,jj,jk-1) * EXP( -e3t(ji,jj,jk-1,Kmm) * xsi0r ) 
    335                   pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -ekb  (ji,jj,jk-1 )        ) 
    336                   pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -ekg  (ji,jj,jk-1 )        ) 
    337                   pe3(ji,jj,jk) = pe3(ji,jj,jk-1) * EXP( -ekr  (ji,jj,jk-1 )        ) 
    338                END DO 
    339               ! 
    340             END DO 
    341             ! 
    342          END DO 
     332         DO_3D( 1, 1, 1, 1, 2, nksr + 1 ) 
     333            pe0(ji,jj,jk) = pe0(ji,jj,jk-1) * EXP( -e3t(ji,jj,jk-1,Kmm) * xsi0r ) 
     334            pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -ekb  (ji,jj,jk-1 )        ) 
     335            pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -ekg  (ji,jj,jk-1 )        ) 
     336            pe3(ji,jj,jk) = pe3(ji,jj,jk-1) * EXP( -ekr  (ji,jj,jk-1 )        ) 
     337        END_3D 
    343338        ! 
    344339      ELSE   ! T- level 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zprod.F90

    r14385 r14416  
    8181      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpislopeadn, zpislopeadd, zysopt   
    8282      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zprdia, zprbio, zprchld, zprchln    
    83       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zprdch, zprnch 
    8483      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zprorcan, zprorcad, zprofed, zprofen 
    8584      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpronewn, zpronewd 
     
    9594      zprofen (:,:,:) = 0._wp ; zysopt  (:,:,:) = 0._wp 
    9695      zpronewn(:,:,:) = 0._wp ; zpronewd(:,:,:) = 0._wp ; zprdia(:,:,:) = 0._wp 
    97       zprbio  (:,:,:) = 0._wp ; zprdch  (:,:,:) = 0._wp ; zprnch(:,:,:) = 0._wp  
     96      zprbio  (:,:,:) = 0._wp ; zprchld (:,:,:) = 0._wp ; zprchln(:,:,:) = 0._wp  
    9897      zmxl_fac(:,:,:) = 0._wp ; zmxl_chl(:,:,:) = 0._wp  
    99       consfe3 (:,:,:) = 0._wp 
    10098 
    10199      ! Computation of the maximimum production. Based on a Q10 description 
     
    111109      ! absolute light level definition of the euphotic zone 
    112110      ! -------------------------------------------------------------------------  
    113       DO jk = 1, jpkm1 
    114          DO jj = 1 ,jpj 
    115             DO ji = 1, jpi 
    116                IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    117                   zval = MAX( 1., strn(ji,jj) ) 
    118                   IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    119                      zval = zval * MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
    120                   ENDIF 
    121                   zmxl_chl(ji,jj,jk) = zval / 24. 
    122                   zmxl_fac(ji,jj,jk) = 1.0 - exp( -0.26 * zval ) 
    123                ENDIF 
    124             END DO 
    125          END DO 
    126       END DO 
     111      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     112         IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     113            zval = MAX( 1., strn(ji,jj) ) 
     114            IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
     115               zval = zval * MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
     116            ENDIF 
     117            zmxl_chl(ji,jj,jk) = zval / 24. 
     118            zmxl_fac(ji,jj,jk) = 1.0 - exp( -0.26 * zval ) 
     119         ENDIF 
     120      END_3D 
    127121 
    128122      zprbio(:,:,:) = zprmaxn(:,:,:) * zmxl_fac(:,:,:) 
     
    174168             zpislopen = zpislopeadn(ji,jj,jk) / ( zprmaxn(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 
    175169             zpisloped = zpislopeadd(ji,jj,jk) / ( zprmaxd(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 
    176              zprnch(ji,jj,jk) = zprmaxn(ji,jj,jk) * ( 1.- EXP( -zpislopen * enanom(ji,jj,jk) ) ) 
    177              zprdch(ji,jj,jk) = zprmaxd(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediatm(ji,jj,jk) ) ) 
     170             zprchln(ji,jj,jk) = zprmaxn(ji,jj,jk) * ( 1.- EXP( -zpislopen * enanom(ji,jj,jk) ) ) 
     171             zprchld(ji,jj,jk) = zprmaxd(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediatm(ji,jj,jk) ) ) 
    178172         ENDIF 
    179173      END_3D 
     
    300294            !  production terms for nanophyto. ( chlorophyll ) 
    301295            znanotot = enanom(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 
    302             zprod    = rday * zprorcan(ji,jj,jk) * zprnch(ji,jj,jk) * xlimphy(ji,jj,jk) 
     296            zprod    = rday * zprorcan(ji,jj,jk) * zprchln(ji,jj,jk) * xlimphy(ji,jj,jk) 
    303297            zprochln = chlcmin * 12. * zprorcan (ji,jj,jk) 
    304298            zprochln = zprochln + (chlcnm - chlcmin) * 12. * zprod / & 
     
    307301            !  production terms for diatoms ( chlorophyll ) 
    308302            zdiattot = ediatm(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 
    309             zprod    = rday * zprorcad(ji,jj,jk) * zprdch(ji,jj,jk) * xlimdia(ji,jj,jk) 
     303            zprod    = rday * zprorcad(ji,jj,jk) * zprchld(ji,jj,jk) * xlimdia(ji,jj,jk) 
    310304            zprochld = chlcmin * 12. * zprorcad(ji,jj,jk) 
    311305            zprochld = zprochld + (chlcdm - chlcmin) * 12. * zprod / & 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p5zlim.F90

    r14385 r14416  
    5454   REAL(wp), PUBLIC ::  qfpmax      !:  maximum Fe quota for picophyto 
    5555   REAL(wp), PUBLIC ::  qfdmax      !:  maximum Fe quota for diatoms 
    56    REAL(wp), PUBLIC ::  zpsinh4     !:  respiration cost of NH4 assimilation 
    57    REAL(wp), PUBLIC ::  zpsino3     !:  respiration cost of NO3 assimilation 
    58    REAL(wp), PUBLIC ::  zpsiuptk    !:  Mean respiration cost 
     56   REAL(wp), PUBLIC ::  xpsinh4     !:  respiration cost of NH4 assimilation 
     57   REAL(wp), PUBLIC ::  xpsino3     !:  respiration cost of NO3 assimilation 
     58   REAL(wp), PUBLIC ::  xpsiuptk    !:  Mean respiration cost 
    5959 
    6060   !!*  Allometric variations of the quotas 
     
    128128      REAL(wp) ::   zlim1, zlim2, zlim3, zlim4, zno3, zferlim 
    129129      REAL(wp) ::   z1_trndia, z1_trnpic, z1_trnphy, ztem1, ztem2, zetot1 
    130       REAL(wp) ::   zratio, zration, zratiof, znutlim, zfalim, zzpsiuptk 
     130      REAL(wp) ::   zratio, zration, zratiof, znutlim, zfalim, zxpsiuptk 
    131131      REAL(wp) ::   zconc1d, zconc1dnh4, zconc0n, zconc0nnh4, zconc0npo4, zconc0dpo4 
    132132      REAL(wp) ::   zconc0p, zconc0pnh4, zconc0ppo4, zconcpfe, zconcnfe, zconcdfe 
     
    280280         zration = tr(ji,jj,jk,jpnph,Kbb) * z1_trnphy 
    281281         zration = MIN(xqnnmax(ji,jj,jk), MAX( xqnnmin(ji,jj,jk), zration )) 
    282          fvnuptk(ji,jj,jk) = 2.5 * zpsiuptk * xqnnmin(ji,jj,jk) / (zration + rtrn)  & 
     282         fvnuptk(ji,jj,jk) = 2.5 * xpsiuptk * xqnnmin(ji,jj,jk) / (zration + rtrn)  & 
    283283         &                   * MAX(0., (1. - zratchl * znanochl / 12. ) ) 
    284284         ! 
     
    330330         zration   = tr(ji,jj,jk,jpnpi,Kbb) * z1_trnpic 
    331331         zration = MIN(xqnpmax(ji,jj,jk), MAX( xqnpmin(ji,jj,jk), zration )) 
    332          fvpuptk(ji,jj,jk) = 2.5 * zpsiuptk * xqnpmin(ji,jj,jk) / (zration + rtrn)  & 
     332         fvpuptk(ji,jj,jk) = 2.5 * xpsiuptk * xqnpmin(ji,jj,jk) / (zration + rtrn)  & 
    333333         &                   * MAX(0., (1. - zratchl * zpicochl / 12. ) )  
    334334         ! 
     
    383383         zration   = tr(ji,jj,jk,jpndi,Kbb) * z1_trndia 
    384384         zration   = MIN(xqndmax(ji,jj,jk), MAX( xqndmin(ji,jj,jk), zration )) 
    385          fvduptk(ji,jj,jk) = 2.5 * zpsiuptk * xqndmin(ji,jj,jk) / (zration + rtrn)   & 
     385         fvduptk(ji,jj,jk) = 2.5 * xpsiuptk * xqndmin(ji,jj,jk) / (zration + rtrn)   & 
    386386         &                   * MAX(0., (1. - zratchl * zdiatchl / 12. ) )  
    387387         ! 
     
    484484            &                * zetot1 * MIN( 1., 50. / ( hmld(ji,jj) + rtrn ) ) 
    485485         xfracal(ji,jj,jk) = MAX( 0.02, MIN( 0.8 , xfracal(ji,jj,jk) ) ) 
    486       END_3D 
    487       ! 
    488       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    489          ! denitrification factor computed from O2 levels 
    490          nitrfac(ji,jj,jk) = MAX(  0.e0, 0.4 * ( 6.e-6  - tr(ji,jj,jk,jpoxy,Kbb) )    & 
    491             &                                / ( oxymin + tr(ji,jj,jk,jpoxy,Kbb) )  ) 
    492          nitrfac(ji,jj,jk) = MIN( 1., nitrfac(ji,jj,jk) ) 
    493          ! 
    494          ! redox factor computed from NO3 levels 
    495          nitrfac2(ji,jj,jk) = MAX( 0.e0,       ( 1.E-6 - tr(ji,jj,jk,jpno3,Kbb) )  & 
    496             &                                / ( 1.E-6 + tr(ji,jj,jk,jpno3,Kbb) ) ) 
    497          nitrfac2(ji,jj,jk) = MIN( 1., nitrfac2(ji,jj,jk) ) 
    498486      END_3D 
    499487      ! 
     
    615603      ! 
    616604      ! Metabolic cost of nitrate and ammonium utilisation 
    617       zpsino3  = 2.3 * rno3 
    618       zpsinh4  = 1.8 * rno3 
    619       zpsiuptk = 1.0 / 6.625 
     605      xpsino3  = 2.3 * rno3 
     606      xpsinh4  = 1.8 * rno3 
     607      xpsiuptk = 1.0 / 6.625 
    620608      ! 
    621609      nitrfac(:,:,jpk) = 0._wp 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p5zprod.F90

    r14385 r14416  
    115115      zrespn  (:,:,:) = 0._wp ; zrespp  (:,:,:) = 0._wp ; zrespd  (:,:,:) = 0._wp  
    116116      zmxl_fac(:,:,:) = 0._wp ; zmxl_chl(:,:,:) = 0._wp 
    117       consfe3 (:,:,:) = 0._wp 
    118117 
    119118      ! Computation of the optimal production rates and nutrient uptake 
    120119      ! rates. Based on a Q10 description of the thermal dependency. 
    121120      zprnut (:,:,:) =  0.8_wp * r1_rday * tgfunc(:,:,:) 
    122       zprmaxn(:,:,:) =  0.8_wp * (1. + zpsino3 * qnnmax ) * r1_rday * tgfunc(:,:,:) 
    123       zprmaxd(:,:,:) =  0.8_wp * (1. + zpsino3 * qndmax ) * r1_rday * tgfunc(:,:,:) 
    124       zprmaxp(:,:,:) =  0.6_wp * (1. + zpsino3 * qnpmax ) * r1_rday * tgfunc(:,:,:) 
     121      zprmaxn(:,:,:) =  0.8_wp * (1. + xpsino3 * qnnmax ) * r1_rday * tgfunc(:,:,:) 
     122      zprmaxd(:,:,:) =  0.8_wp * (1. + xpsino3 * qndmax ) * r1_rday * tgfunc(:,:,:) 
     123      zprmaxp(:,:,:) =  0.6_wp * (1. + xpsino3 * qnpmax ) * r1_rday * tgfunc(:,:,:) 
    125124 
    126125      ! Impact of the day duration and light intermittency on phytoplankton growth 
     
    442441        tr(ji,jj,jk,jpphy,Krhs) = tr(ji,jj,jk,jpphy,Krhs)         & 
    443442           &                     + zprorcan(ji,jj,jk) * texcretn  & 
    444            &                     - zpsino3 * zpronewn(ji,jj,jk)   & 
    445            &                     - zpsinh4 * zproregn(ji,jj,jk)   & 
     443           &                     - xpsino3 * zpronewn(ji,jj,jk)   & 
     444           &                     - xpsinh4 * zproregn(ji,jj,jk)   & 
    446445           &                     - zrespn(ji,jj,jk)  
    447446 
     
    453452        tr(ji,jj,jk,jppic,Krhs) = tr(ji,jj,jk,jppic,Krhs)         & 
    454453           &                     + zprorcap(ji,jj,jk) * texcretp  & 
    455            &                     - zpsino3 * zpronewp(ji,jj,jk)   & 
    456            &                     - zpsinh4 * zproregp(ji,jj,jk)   & 
     454           &                     - xpsino3 * zpronewp(ji,jj,jk)   & 
     455           &                     - xpsinh4 * zproregp(ji,jj,jk)   & 
    457456           &                     - zrespp(ji,jj,jk)  
    458457 
     
    464463        tr(ji,jj,jk,jpdia,Krhs) = tr(ji,jj,jk,jpdia,Krhs)         & 
    465464           &                    + zprorcad(ji,jj,jk) * texcretd   & 
    466            &                    - zpsino3 * zpronewd(ji,jj,jk)    & 
    467            &                    - zpsinh4 * zproregd(ji,jj,jk)    & 
     465           &                    - xpsino3 * zpronewd(ji,jj,jk)    & 
     466           &                    - xpsinh4 * zproregd(ji,jj,jk)    & 
    468467           &                    - zrespd(ji,jj,jk)  
    469468 
     
    487486 
    488487        tr(ji,jj,jk,jpdic,Krhs) = tr(ji,jj,jk,jpdic,Krhs) - zpptot  & 
    489            &                     + zpsino3 * zpronewn(ji,jj,jk) + zpsinh4 * zproregn(ji,jj,jk)   & 
    490            &                     + zpsino3 * zpronewp(ji,jj,jk) + zpsinh4 * zproregp(ji,jj,jk)   & 
    491            &                     + zpsino3 * zpronewd(ji,jj,jk) + zpsinh4 * zproregd(ji,jj,jk)   
     488           &                     + xpsino3 * zpronewn(ji,jj,jk) + xpsinh4 * zproregn(ji,jj,jk)   & 
     489           &                     + xpsino3 * zpronewp(ji,jj,jk) + xpsinh4 * zproregp(ji,jj,jk)   & 
     490           &                     + xpsino3 * zpronewd(ji,jj,jk) + xpsinh4 * zproregd(ji,jj,jk)   
    492491 
    493492        tr(ji,jj,jk,jptal,Krhs) = tr(ji,jj,jk,jptal,Krhs) + rno3 * ( zpnewtot - zpregtot ) 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/sms_pisces.F90

    r14385 r14416  
    5050   REAL(wp) ::   no3rat3          !: C/N ratio of zooplankton 
    5151   REAL(wp) ::   po4rat3          !: C/P ratio of zooplankton 
     52   REAL(wp) ::  oxymin            !:  half saturation constant for anoxia 
     53   REAL(wp) ::  caco3r            !:  mean rainratio 
    5254 
    5355   !!*  diagnostic parameters  
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/trcini_pisces.F90

    r14385 r14416  
    247247         ! initialize the half saturation constant for silicate 
    248248         ! ---------------------------------------------------- 
    249          xksi(:,:)    = 2.e-6 
    250          xksimax(:,:) = xksi(:,:) 
    251          IF( ln_p5z ) THEN 
    252             sized(:,:,:) = 1.0 
    253             sizen(:,:,:) = 1.0 
    254             sized(:,:,:) = 1.0 
    255          ENDIF 
     249         xksi(:,:)      = 2.e-6 
     250         xksimax(:,:)   = xksi(:,:) 
     251         consfe3(:,:,:) = 0._wp 
     252         ! 
     253         sized(:,:,:) = 1.0 
     254         sizen(:,:,:) = 1.0 
     255         IF( ln_p5z )  sizep(:,:,:) = 1.0 
    256256      END IF 
    257257 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/trcbc.F90

    r14215 r14416  
    439439            IF( l_offline )   rn_rfact = 1._wp 
    440440            jl = n_trc_indcbc(jn) 
     441            sf_trccbc(jl)%fnow(:,:,1) = MAX( rtrn, sf_trccbc(jl)%fnow(:,:,1) ) ! avoid nedgative value due to interpolation 
    441442            DO_2D( 0, 0, 0, 1 ) 
    442443               DO jk = 1, nk_rnf(ji,jj) 
    443                   zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) 
     444                  zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time )  
    444445                  ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + rf_trcfac(jl) * sf_trccbc(jl)%fnow(ji,jj,1) * zfact 
    445446               END DO 
Note: See TracChangeset for help on using the changeset viewer.