Changeset 14416
- Timestamp:
- 2021-02-07T16:08:48+01:00 (4 years ago)
- 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 11 11 <file_definition type="one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1mo" min_digits="4"> 12 12 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 --> 14 14 15 15 <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 110 110 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 111 111 ! ! ! (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 , 'ndep 2' , .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' , '' , '' , '' 116 116 rn_trsfac(5) = 8.264e-02 ! ( 0.021 / 31. * 122 ) 117 117 rn_trsfac(7) = 3.313e-01 ! ( 8.8 / 28.1 ) … … 120 120 rn_sbc_time = 1. ! Time scaling factor for SBC and CBC data (seconds in a day) 121 121 ! 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' , '' , '' , '' 129 129 rn_trcfac(1) = 8.333e+01 ! ( data in Mg/m2/yr : 1e3/12/ryyss) 130 130 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 17 17 <file_group id="6h" output_freq="6h" output_level="10" enabled=".TRUE."/> <!-- 6h files --> 18 18 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 --> 20 20 <file id="file1" name_suffix="_bioscalar" description="pisces sms variables" > 21 21 <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 23 23 nn_it000 = 1 ! first time step 24 24 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) 26 26 nn_stock = 1460 ! frequency of creation of a restart file (modulo referenced to 1) 27 27 ln_mskland = .true. ! mask land points in NetCDF outputs (costly: + ~15%) … … 440 440 &namctl ! Control prints (default: OFF) 441 441 !----------------------------------------------------------------------- 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 442 461 / 443 462 !----------------------------------------------------------------------- -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_top_cfg
r14032 r14416 110 110 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 111 111 ! ! ! (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 , 'ndep 2' , .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' , '' , '' , '' 116 116 rn_trsfac(5) = 8.264e-02 ! ( 0.021 / 31. * 122 ) 117 117 rn_trsfac(7) = 3.313e-01 ! ( 8.8 / 28.1 ) … … 120 120 rn_sbc_time = 1. ! Time scaling factor for SBC and CBC data (seconds in a day) 121 121 ! 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' , '' , '' , '' 129 129 rn_trcfac(1) = 8.333e+01 ! ( data in Mg/m2/yr : 1e3/12/ryyss) 130 130 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 250 250 <field id="BACT" long_name="Bacterial Biomass" unit="mmol/m3" grid_ref="grid_T_3D" /> 251 251 <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" /> 252 253 <field id="LPRODR" long_name="OM remineralisation ligand production rate" unit="nmol-L/m3/s" grid_ref="grid_T_3D" /> 253 254 <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 14 14 !----------------------------------------------------------------------- 15 15 ln_p2z = .false. ! LOBSTER model used 16 ln_p4z = . false. ! PISCES model used17 ln_p5z = . true. ! PISCES QUOTA model used16 ln_p4z = .true. ! PISCES model used 17 ln_p5z = .false. ! PISCES QUOTA model used 18 18 ln_ligand = .false. ! Enable organic ligands 19 19 ln_sediment = .false. ! Enable sediment module … … 381 381 rlgs = 1. ! Lifetime (years) of strong ligands 382 382 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 383 390 / 384 391 !----------------------------------------------------------------------- -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/cfgs/SHARED/namelist_ref
r14255 r14416 77 77 ln_crs = .false. ! Logical switch for coarsening module (T => fill namcrs) 78 78 ! 79 ln_meshmask = . true. ! =T create a mesh file79 ln_meshmask = .false. ! =T create a mesh file 80 80 / 81 81 !----------------------------------------------------------------------- -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zbc.F90
r14385 r14416 282 282 ! 283 283 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' ) 287 287 ALLOCATE( sf_dust(1)%fnow(jpi,jpj,1) ) 288 288 IF( sn_dust%ln_tint ) ALLOCATE( sf_dust(1)%fdta(jpi,jpj,1,2) ) … … 350 350 ! 351 351 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' ) 355 355 ALLOCATE( sf_hydrofe(1)%fnow(jpi,jpj,jpk) ) 356 356 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 59 59 REAL(wp) :: zscave, zaggdfea, zaggdfeb, ztrc, zdust, zklight 60 60 REAL(wp) :: ztfe, zhplus, zxlam, zaggliga, zaggligb 61 REAL(wp) :: zprecip, zprecipno3, zvar 61 62 REAL(wp) :: zrfact2 62 63 CHARACTER (len=25) :: charout 63 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zTL1, zFe3, ztotlig, precip, precipno3, zFeL164 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcoll3d, zscav3d, zlcoll3d , zprecip3d64 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zTL1, zFe3, ztotlig, zfeprecip, zFeL1 65 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcoll3d, zscav3d, zlcoll3d 65 66 !!--------------------------------------------------------------------- 66 67 ! 67 68 IF( ln_timing ) CALL timing_start('p4z_fechem') 68 69 ! 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. 72 77 73 78 ! Total ligand concentration : Ligands can be chosen to be constant or variable … … 75 80 ! ------------------------------------------------- 76 81 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 78 85 ztotlig(:,:,:) = MIN( ztotlig(:,:,:), 10. ) 79 86 ELSE … … 95 102 ztfe = (1.0 + zklight) * tr(ji,jj,jk,jpfer,Kbb) 96 103 ! 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 ) 100 106 zFeL1(ji,jj,jk) = MAX( 0., tr(ji,jj,jk,jpfer,Kbb) - zFe3(ji,jj,jk) ) 101 107 END_3D … … 116 122 zfecoll = 0.5 * zFeL1(ji,jj,jk) * 1E-9 117 123 ! 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) ) 119 125 ! Precipitation of Fe2+ due to oxidation by NO3 (Croot et al., 2019) 120 126 ! 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 122 130 ! 123 131 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 … … 142 150 ! 143 151 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) 145 153 146 154 tr(ji,jj,jk,jpsfe,Krhs) = tr(ji,jj,jk,jpsfe,Krhs) + zscave * scaveff * tr(ji,jj,jk,jppoc,Kbb) / ztrc … … 163 171 zscav3d(ji,jj,jk) = zscave 164 172 zcoll3d(ji,jj,jk) = zaggdfea + zaggdfeb 165 zprecip3d(ji,jj,jk) = precip(ji,jj,jk) + precipno3(ji,jj,jk)166 173 ! 167 174 END_3D … … 205 212 IF( iom_use("FESCAV") ) CALL iom_put("FESCAV" , zscav3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 206 213 IF( iom_use("FECOLL") ) CALL iom_put("FECOLL" , zcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 207 IF( iom_use("FEPREC") ) CALL iom_put("FEPREC" , z precip3d(:,:,:) * 1e9 * tmask(:,:,:) *zrfact2 )214 IF( iom_use("FEPREC") ) CALL iom_put("FEPREC" , zfeprecip(:,:,:) *1e9*tmask(:,:,:)*zrfact2 ) 208 215 IF( iom_use("LGWCOLL")) CALL iom_put("LGWCOLL", zlcoll3d(:,:,:) * 1e9 * tmask(:,:,:) * zrfact2 ) 209 216 ENDIF -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zint.F90
r14385 r14416 37 37 INTEGER, INTENT( in ) :: Kbb, Kmm ! time level indices 38 38 ! 39 INTEGER :: ji, jj 39 INTEGER :: ji, jj, jk ! dummy loop indices 40 40 REAL(wp) :: zrum, zcodel, zargu, zvar 41 41 !!--------------------------------------------------------------------- … … 75 75 ! day length in hours 76 76 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 84 98 ! 85 99 IF( ln_timing ) CALL timing_stop('p4z_int') -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zlim.F90
r14385 r14416 40 40 REAL(wp), PUBLIC :: xkdoc !: 2nd half-sat. of DOC remineralization 41 41 REAL(wp), PUBLIC :: concbfe !: Fe half saturation for bacteria 42 REAL(wp), PUBLIC :: oxymin !: half saturation constant for anoxia43 42 REAL(wp), PUBLIC :: qnfelim !: optimal Fe quota for nanophyto 44 43 REAL(wp), PUBLIC :: qdfelim !: optimal Fe quota for diatoms 45 REAL(wp), PUBLIC :: caco3r !: mean rainratio46 44 47 45 !!* Phytoplankton limitation terms … … 250 248 xfracal(ji,jj,jk) = MIN( 0.8 , xfracal(ji,jj,jk) ) 251 249 xfracal(ji,jj,jk) = MAX( 0.02, xfracal(ji,jj,jk) ) 252 END_3D253 !254 DO_3D( 1, 1, 1, 1, 1, jpkm1 )255 ! denitrification factor computed from O2 levels256 ! This factor diagnoses below which level of O2 denitrification257 ! is active258 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 levels263 ! This factor diagnoses below which level of NO3 additional redox264 ! 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) )268 250 END_3D 269 251 ! -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zopt.F90
r14385 r14416 67 67 REAL(wp), DIMENSION(jpi,jpj ) :: zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 68 68 REAL(wp), DIMENSION(jpi,jpj ) :: zqsr100, zqsr_corr 69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpar, ze0, ze1, ze2, ze3 , zchl3d69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpar, ze0, ze1, ze2, ze3 70 70 !!--------------------------------------------------------------------- 71 71 ! … … 79 79 ze2(:,:,:) = 0._wp 80 80 ze3(:,:,:) = 0._wp 81 81 82 ! 82 83 ! Attenuation coef. function of Chlorophyll and wavelength (Red-Green-Blue) … … 85 86 ! in Lengaigne et al. (2007). 86 87 ! -------------------------------------------------------- 87 zchl3d(:,:,:) = tr(:,:,:,jpnch,Kbb) + tr(:,:,:,jpdch,Kbb)88 IF( ln_p5z ) zchl3d(:,:,:) = zchl3d(:,:,:) + tr(:,:,:,jppch,Kbb)89 88 ! 90 89 ! Computation of the light attenuation parameters based on a 91 90 ! look-up table 92 91 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 94 94 zchl = MIN( 10. , MAX( 0.05, zchl ) ) 95 95 irgb = NINT( 41 + 20.* LOG10( zchl ) + rtrn ) … … 99 99 ekr(ji,jj,jk) = rkrgb(3,irgb) * e3t(ji,jj,jk,Kmm) 100 100 END_3D 101 101 102 102 103 ! Photosynthetically Available Radiation (PAR) … … 329 330 pe3(:,:,1) = zqsr(:,:) 330 331 ! 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 343 338 ! 344 339 ELSE ! T- level -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zprod.F90
r14385 r14416 81 81 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpislopeadn, zpislopeadd, zysopt 82 82 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zprdia, zprbio, zprchld, zprchln 83 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zprdch, zprnch84 83 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zprorcan, zprorcad, zprofed, zprofen 85 84 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zpronewn, zpronewd … … 95 94 zprofen (:,:,:) = 0._wp ; zysopt (:,:,:) = 0._wp 96 95 zpronewn(:,:,:) = 0._wp ; zpronewd(:,:,:) = 0._wp ; zprdia(:,:,:) = 0._wp 97 zprbio (:,:,:) = 0._wp ; zpr dch (:,:,:) = 0._wp ; zprnch(:,:,:) = 0._wp96 zprbio (:,:,:) = 0._wp ; zprchld (:,:,:) = 0._wp ; zprchln(:,:,:) = 0._wp 98 97 zmxl_fac(:,:,:) = 0._wp ; zmxl_chl(:,:,:) = 0._wp 99 consfe3 (:,:,:) = 0._wp100 98 101 99 ! Computation of the maximimum production. Based on a Q10 description … … 111 109 ! absolute light level definition of the euphotic zone 112 110 ! ------------------------------------------------------------------------- 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 127 121 128 122 zprbio(:,:,:) = zprmaxn(:,:,:) * zmxl_fac(:,:,:) … … 174 168 zpislopen = zpislopeadn(ji,jj,jk) / ( zprmaxn(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 175 169 zpisloped = zpislopeadd(ji,jj,jk) / ( zprmaxd(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 176 zpr nch(ji,jj,jk) = zprmaxn(ji,jj,jk) * ( 1.- EXP( -zpislopen * enanom(ji,jj,jk) ) )177 zpr dch(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) ) ) 178 172 ENDIF 179 173 END_3D … … 300 294 ! production terms for nanophyto. ( chlorophyll ) 301 295 znanotot = enanom(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 302 zprod = rday * zprorcan(ji,jj,jk) * zpr nch(ji,jj,jk) * xlimphy(ji,jj,jk)296 zprod = rday * zprorcan(ji,jj,jk) * zprchln(ji,jj,jk) * xlimphy(ji,jj,jk) 303 297 zprochln = chlcmin * 12. * zprorcan (ji,jj,jk) 304 298 zprochln = zprochln + (chlcnm - chlcmin) * 12. * zprod / & … … 307 301 ! production terms for diatoms ( chlorophyll ) 308 302 zdiattot = ediatm(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 309 zprod = rday * zprorcad(ji,jj,jk) * zpr dch(ji,jj,jk) * xlimdia(ji,jj,jk)303 zprod = rday * zprorcad(ji,jj,jk) * zprchld(ji,jj,jk) * xlimdia(ji,jj,jk) 310 304 zprochld = chlcmin * 12. * zprorcad(ji,jj,jk) 311 305 zprochld = zprochld + (chlcdm - chlcmin) * 12. * zprod / & -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p5zlim.F90
r14385 r14416 54 54 REAL(wp), PUBLIC :: qfpmax !: maximum Fe quota for picophyto 55 55 REAL(wp), PUBLIC :: qfdmax !: maximum Fe quota for diatoms 56 REAL(wp), PUBLIC :: zpsinh4 !: respiration cost of NH4 assimilation57 REAL(wp), PUBLIC :: zpsino3 !: respiration cost of NO3 assimilation58 REAL(wp), PUBLIC :: zpsiuptk !: Mean respiration cost56 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 59 59 60 60 !!* Allometric variations of the quotas … … 128 128 REAL(wp) :: zlim1, zlim2, zlim3, zlim4, zno3, zferlim 129 129 REAL(wp) :: z1_trndia, z1_trnpic, z1_trnphy, ztem1, ztem2, zetot1 130 REAL(wp) :: zratio, zration, zratiof, znutlim, zfalim, z zpsiuptk130 REAL(wp) :: zratio, zration, zratiof, znutlim, zfalim, zxpsiuptk 131 131 REAL(wp) :: zconc1d, zconc1dnh4, zconc0n, zconc0nnh4, zconc0npo4, zconc0dpo4 132 132 REAL(wp) :: zconc0p, zconc0pnh4, zconc0ppo4, zconcpfe, zconcnfe, zconcdfe … … 280 280 zration = tr(ji,jj,jk,jpnph,Kbb) * z1_trnphy 281 281 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) & 283 283 & * MAX(0., (1. - zratchl * znanochl / 12. ) ) 284 284 ! … … 330 330 zration = tr(ji,jj,jk,jpnpi,Kbb) * z1_trnpic 331 331 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) & 333 333 & * MAX(0., (1. - zratchl * zpicochl / 12. ) ) 334 334 ! … … 383 383 zration = tr(ji,jj,jk,jpndi,Kbb) * z1_trndia 384 384 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) & 386 386 & * MAX(0., (1. - zratchl * zdiatchl / 12. ) ) 387 387 ! … … 484 484 & * zetot1 * MIN( 1., 50. / ( hmld(ji,jj) + rtrn ) ) 485 485 xfracal(ji,jj,jk) = MAX( 0.02, MIN( 0.8 , xfracal(ji,jj,jk) ) ) 486 END_3D487 !488 DO_3D( 1, 1, 1, 1, 1, jpkm1 )489 ! denitrification factor computed from O2 levels490 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 levels495 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) )498 486 END_3D 499 487 ! … … 615 603 ! 616 604 ! Metabolic cost of nitrate and ammonium utilisation 617 zpsino3 = 2.3 * rno3618 zpsinh4 = 1.8 * rno3619 zpsiuptk = 1.0 / 6.625605 xpsino3 = 2.3 * rno3 606 xpsinh4 = 1.8 * rno3 607 xpsiuptk = 1.0 / 6.625 620 608 ! 621 609 nitrfac(:,:,jpk) = 0._wp -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p5zprod.F90
r14385 r14416 115 115 zrespn (:,:,:) = 0._wp ; zrespp (:,:,:) = 0._wp ; zrespd (:,:,:) = 0._wp 116 116 zmxl_fac(:,:,:) = 0._wp ; zmxl_chl(:,:,:) = 0._wp 117 consfe3 (:,:,:) = 0._wp118 117 119 118 ! Computation of the optimal production rates and nutrient uptake 120 119 ! rates. Based on a Q10 description of the thermal dependency. 121 120 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(:,:,:) 125 124 126 125 ! Impact of the day duration and light intermittency on phytoplankton growth … … 442 441 tr(ji,jj,jk,jpphy,Krhs) = tr(ji,jj,jk,jpphy,Krhs) & 443 442 & + 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) & 446 445 & - zrespn(ji,jj,jk) 447 446 … … 453 452 tr(ji,jj,jk,jppic,Krhs) = tr(ji,jj,jk,jppic,Krhs) & 454 453 & + 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) & 457 456 & - zrespp(ji,jj,jk) 458 457 … … 464 463 tr(ji,jj,jk,jpdia,Krhs) = tr(ji,jj,jk,jpdia,Krhs) & 465 464 & + 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) & 468 467 & - zrespd(ji,jj,jk) 469 468 … … 487 486 488 487 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) 492 491 493 492 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 50 50 REAL(wp) :: no3rat3 !: C/N ratio of zooplankton 51 51 REAL(wp) :: po4rat3 !: C/P ratio of zooplankton 52 REAL(wp) :: oxymin !: half saturation constant for anoxia 53 REAL(wp) :: caco3r !: mean rainratio 52 54 53 55 !!* diagnostic parameters -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/trcini_pisces.F90
r14385 r14416 247 247 ! initialize the half saturation constant for silicate 248 248 ! ---------------------------------------------------- 249 xksi(:,:) = 2.e-6250 xksimax(:,:) = xksi(:,:)251 IF( ln_p5z ) THEN252 sized(:,:,:) = 1.0253 sizen(:,:,:) = 1.0254 sized(:,:,:) = 1.0255 ENDIF249 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 256 256 END IF 257 257 -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/trcbc.F90
r14215 r14416 439 439 IF( l_offline ) rn_rfact = 1._wp 440 440 jl = n_trc_indcbc(jn) 441 sf_trccbc(jl)%fnow(:,:,1) = MAX( rtrn, sf_trccbc(jl)%fnow(:,:,1) ) ! avoid nedgative value due to interpolation 441 442 DO_2D( 0, 0, 0, 1 ) 442 443 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 ) 444 445 ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + rf_trcfac(jl) * sf_trccbc(jl)%fnow(ji,jj,1) * zfact 445 446 END DO
Note: See TracChangeset
for help on using the changeset viewer.