Changeset 10416
- Timestamp:
- 2018-12-19T12:45:43+01:00 (4 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/cfgs/SHARED/field_def_nemo-pisces.xml
r10401 r10416 105 105 <field id="LGW" long_name="Weak ligands concentration" unit="mmol/m3" /> 106 106 <field id="LGW_e3t" long_name="LGW * e3t" unit="mmol/m2" > LGW * e3t </field > 107 <field id="LFe" long_name="Lithogenic iron concentration" unit="mmol/m3" />108 <field id="LFe_e3t" long_name="LFe * e3t" unit="mmol/m2" > LFe * e3t </field >109 107 110 108 <!-- PISCES light : variables available with ln_p2z --> -
NEMO/trunk/cfgs/SHARED/namelist_pisces_ref
r10401 r10416 52 52 wsbio2scale = 5000. ! Big particles length scale of sinking 53 53 ! ! ln_ligand enabled 54 wfep = 0.2 ! FeP sinking speed55 54 ldocp = 1.E-4 ! Phyto ligand production per unit doc 56 55 ldocz = 1.E-4 ! Zoo ligand production per unit doc … … 221 220 sigma2 = 0.6 ! Fraction of mesozoo excretion as DOM 222 221 unass2 = 0.3 ! non assimilated fraction of P by mesozoo 223 grazflux = 2.e3 ! flux-feeding rate222 grazflux = 3.e3 ! flux-feeding rate 224 223 / 225 224 !----------------------------------------------------------------------- … … 380 379 hratio = 1.e+7 ! Fe to 3He ratio assumed for vent iron supply 381 380 ! ! ln_ligand 382 fep_rats = 1. ! Fep/Fer ratio from sed sources383 fep_rath = 1. ! Fep/Fer ratio from sed hydro sources384 rdustfep = 0.0 ! Fraction of dust that is FeP385 381 lgw_rath = 0.5 ! Weak ligand ratio from sed hydro sources 386 382 / … … 388 384 &nampislig ! Namelist parameters for ligands, nampislig 389 385 !----------------------------------------------------------------------- 390 rfep = 0.001 ! Dissolution rate of FeP391 386 rlgw = 100. ! Lifetime (years) of weak ligands 392 387 rlig = 1.E-4 ! Remin ligand production per unit C -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zfechem.F90
r10401 r10416 195 195 zaggliga = zlam1a * xstep * zligco 196 196 zaggligb = zlam1b * xstep * zligco 197 tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) + precip(ji,jj,jk)198 197 tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) - zaggliga - zaggligb 199 198 zlcoll3d(ji,jj,jk) = zaggliga + zaggligb -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zligand.F90
r10362 r10416 25 25 REAL(wp), PUBLIC :: rlig !: Remin ligand production 26 26 REAL(wp), PUBLIC :: prlgw !: Photochemical of weak ligand 27 REAL(wp), PUBLIC :: rfep !: Dissolution rate of FeP28 27 29 28 !!---------------------------------------------------------------------- … … 43 42 ! 44 43 INTEGER :: ji, jj, jk 45 REAL(wp) :: zlgwp, zlgwpr, zlgwr, zlablgw , zrfepa, zfepr44 REAL(wp) :: zlgwp, zlgwpr, zlgwr, zlablgw 46 45 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zligrem, zligpr, zrligprod 47 46 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d … … 71 70 zligpr(ji,jj,jk) = zlgwpr 72 71 zrligprod(ji,jj,jk) = zlgwp 73 !74 ! ----------------------------------------------------------75 ! Dissolution of nanoparticle Fe76 ! ----------------------------------------------------------77 ! dissolution rate is maximal in the presence of light and78 ! lower in the aphotici zone79 ! ! 25 Wm-2 constant80 zrfepa = rfep * ( 1. - EXP( -1. * etot(ji,jj,jk) / 25. ) ) * (1.- fr_i(ji,jj))81 zrfepa = MAX( (zrfepa / 10.0), zrfepa ) ! min of 10 days lifetime82 zfepr = rfep * xstep * trb(ji,jj,jk,jpfep)83 tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) - zfepr84 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zfepr85 72 ! 86 73 END DO … … 130 117 INTEGER :: ios ! Local integer 131 118 ! 132 NAMELIST/nampislig/ rlgw, prlgw, rlgs, r fep, rlig119 NAMELIST/nampislig/ rlgw, prlgw, rlgs, rlig 133 120 !!---------------------------------------------------------------------- 134 121 ! … … 148 135 IF(lwp) THEN ! control print 149 136 WRITE(numout,*) ' Namelist : nampislig' 150 WRITE(numout,*) ' Dissolution rate of FeP rfep =', rfep151 137 WRITE(numout,*) ' Lifetime (years) of weak ligands rlgw =', rlgw 152 138 WRITE(numout,*) ' Remin ligand production per unit C rlig =', rlig -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsbc.F90
r10362 r10416 31 31 REAL(wp), PUBLIC :: dustsolub !: Solubility of the dust 32 32 REAL(wp), PUBLIC :: mfrac !: Mineral Content of the dust 33 REAL(wp), PUBLIC :: rdustfep !: Fraction of dust that is dissolvable34 33 REAL(wp), PUBLIC :: icefeinput !: Iron concentration in sea ice 35 34 REAL(wp), PUBLIC :: wdust !: Sinking speed of the dust … … 39 38 REAL(wp) :: hratio !: Fe:3He ratio assumed for vent iron supply 40 39 REAL(wp) :: distcoast !: Distance off the coast for Iron from sediments 41 REAL(wp), PUBLIC :: fep_rats !: Fep/Fer ratio from sed sources42 REAL(wp), PUBLIC :: fep_rath !: Fep/Fer ratio from hydro sources43 40 REAL(wp), PUBLIC :: lgw_rath !: Weak ligand ratio from hydro sources 44 41 … … 228 225 & ln_dust, ln_solub, ln_river, ln_ndepo, ln_ironsed, ln_ironice, ln_hydrofe, & 229 226 & sedfeinput, distcoast, dustsolub, icefeinput, wdust, mfrac, nitrfix, diazolight, concfediaz, & 230 & hratio, fep_rats, fep_rath, rdustfep,lgw_rath227 & hratio, lgw_rath 231 228 !!---------------------------------------------------------------------- 232 229 ! … … 265 262 WRITE(numout,*) ' Fe to 3He ratio assumed for vent iron supply hratio = ', hratio 266 263 IF( ln_ligand ) THEN 267 WRITE(numout,*) ' Fep/Fer ratio from sed sources fep_rats = ', fep_rats268 WRITE(numout,*) ' Fep/Fer ratio from sed hydro sources fep_rath = ', fep_rath269 WRITE(numout,*) ' Fraction of dust that is dissolvable rdustfep = ', rdustfep270 264 WRITE(numout,*) ' Weak ligand ratio from sed hydro sources lgw_rath = ', lgw_rath 271 265 ENDIF -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsed.F90
r10362 r10416 60 60 REAL(wp) :: ztrfer, ztrpo4s, ztrdp, zwdust, zmudia, ztemp 61 61 REAL(wp) :: xdiano3, xdianh4 62 REAL(wp) :: zwssfep63 62 ! 64 63 CHARACTER (len=25) :: charout … … 68 67 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zsoufer, zlight 69 68 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrpo4, ztrdop, zirondep, zpdep 70 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zsidep, z wsfep, zironice69 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zsidep, zironice 71 70 !!--------------------------------------------------------------------- 72 71 ! … … 87 86 ALLOCATE( ztrpo4(jpi,jpj,jpk) ) 88 87 IF( ln_p5z ) ALLOCATE( ztrdop(jpi,jpj,jpk) ) 89 IF( ln_ligand ) ALLOCATE( zwsfep(jpi,jpj) )90 88 91 89 zdenit2d(:,:) = 0.e0 … … 131 129 ELSE 132 130 zirondep(:,:,1) = dustsolub * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 55.85 + 3.e-10 * r1_ryyss 133 ENDIF134 IF ( ln_ligand ) THEN135 IF( ln_solub ) THEN136 tra(:,:,1,jpfep) = tra(:,:,1,jpfep) + rdustfep * (1.0 - solub(:,:)) * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 55.85137 ELSE138 tra(:,:,1,jpfep) = tra(:,:,1,jpfep) + rdustfep * (1.0 - dustsolub) * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 55.85139 ENDIF140 131 ENDIF 141 132 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / e3t_n(:,:,1) / 28.1 … … 216 207 tra(:,:,:,jpfer) = tra(:,:,:,jpfer) + hydrofe(:,:,:) * rfact2 217 208 IF( ln_ligand ) THEN 218 tra(:,:,:,jpfep) = tra(:,:,:,jpfep) + ( hydrofe(:,:,:) * fep_rath ) * rfact2219 209 tra(:,:,:,jplgw) = tra(:,:,:,jplgw) + ( hydrofe(:,:,:) * lgw_rath ) * rfact2 220 210 ENDIF … … 235 225 END DO 236 226 ! 237 IF( ln_ligand ) THEN238 DO jj = 1, jpj239 DO ji = 1, jpi240 ikt = mbkt(ji,jj)241 zdep = e3t_n(ji,jj,ikt) / xstep242 zwsfep(ji,jj) = MIN( 0.99 * zdep, wsfep(ji,jj,ikt) )243 END DO244 ENDDO245 ENDIF246 247 227 IF( .NOT.lk_sed ) THEN 248 228 ! … … 251 231 IF( ln_ironsed ) THEN 252 232 tra(:,:,:,jpfer) = tra(:,:,:,jpfer) + ironsed(:,:,:) * rfact2 253 IF( ln_ligand ) tra(:,:,:,jpfep) = tra(:,:,:,jpfep) + ( ironsed(:,:,:) * fep_rats ) * rfact2254 233 ! 255 234 IF( lk_iomput .AND. knt == nrdttrc .AND. iom_use( "Ironsed" ) ) & … … 334 313 END DO 335 314 END DO 336 !337 IF( ln_ligand ) THEN338 DO jj = 1, jpj339 DO ji = 1, jpi340 ikt = mbkt(ji,jj)341 zdep = xstep / e3t_n(ji,jj,ikt)342 zwssfep = zwsfep(ji,jj) * zdep343 tra(ji,jj,ikt,jpfep) = tra(ji,jj,ikt,jpfep) - trb(ji,jj,ikt,jpfep) * zwssfep344 END DO345 END DO346 ENDIF347 315 ! 348 316 IF( ln_p5z ) THEN … … 524 492 ! 525 493 IF( ln_p5z ) DEALLOCATE( ztrpo4, ztrdop ) 526 IF( ln_ligand ) DEALLOCATE( zwsfep )527 494 ! 528 495 IF( ln_timing ) CALL timing_stop('p4z_sed') -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsink.F90
r10375 r10416 35 35 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sinkfer !: Small BFe sinking fluxes 36 36 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sinkfer2 !: Big iron sinking fluxes 37 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sinkfep !: Fep sinking fluxes38 37 39 38 INTEGER :: ik100 … … 126 125 ENDIF 127 126 128 IF( ln_ligand ) THEN129 wsfep (:,:,:) = wfep130 !131 sinkfep(:,:,:) = 0.e0132 CALL trc_sink( kt, wsfep, sinkfep , jpfep, rfact2 )133 ENDIF134 135 127 ! Total carbon export per year 136 128 IF( iom_use( "tcexp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc ) ) & … … 214 206 !! *** ROUTINE p4z_sink_alloc *** 215 207 !!---------------------------------------------------------------------- 216 INTEGER :: ierr( 3)208 INTEGER :: ierr(2) 217 209 !!---------------------------------------------------------------------- 218 210 ! … … 224 216 & sinkfer(jpi,jpj,jpk) , STAT=ierr(1) ) 225 217 ! 226 IF( ln_ligand ) ALLOCATE( sinkfep(jpi,jpj,jpk) , STAT=ierr(2) )227 228 218 IF( ln_p5z ) ALLOCATE( sinkingn(jpi,jpj,jpk), sinking2n(jpi,jpj,jpk) , & 229 & sinkingp(jpi,jpj,jpk), sinking2p(jpi,jpj,jpk) , STAT=ierr( 3) )219 & sinkingp(jpi,jpj,jpk), sinking2p(jpi,jpj,jpk) , STAT=ierr(2) ) 230 220 ! 231 221 p4z_sink_alloc = MAXVAL( ierr ) -
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsms.F90
r10382 r10416 189 189 !! 190 190 NAMELIST/nampisbio/ nrdttrc, wsbio, xkmort, ferat3, wsbio2, wsbio2max, wsbio2scale, & 191 & wfep, ldocp, ldocz, lthet, & 192 & no3rat3, po4rat3 191 & ldocp, ldocz, lthet, no3rat3, po4rat3 193 192 ! 194 193 NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp … … 224 223 WRITE(numout,*) ' Big particles sinking speed length scale wsbio2scale =', wsbio2scale 225 224 IF( ln_ligand ) THEN 226 WRITE(numout,*) ' FeP sinking speed wfep =', wfep227 225 IF( ln_p4z ) THEN 228 226 WRITE(numout,*) ' Phyto ligand production per unit doc ldocp =', ldocp … … 494 492 & + trn(:,:,:,jpbfe) + trn(:,:,:,jpsfe) & 495 493 & + ( trn(:,:,:,jpzoo) + trn(:,:,:,jpmes) ) * ferat3 496 IF( ln_ligand) zwork(:,:,:) = zwork(:,:,:) + trn(:,:,:,jpfep)497 494 ! 498 495 ferbudget = glob_sum( zwork(:,:,:) * cvol(:,:,:) ) -
NEMO/trunk/src/TOP/PISCES/par_pisces.F90
r10068 r10416 56 56 INTEGER, PUBLIC :: jpgop !: Big phosphorus particles Concentration 57 57 INTEGER, PUBLIC :: jplgw !: Weak Ligands 58 INTEGER, PUBLIC :: jpfep !: Fe nanoparticle59 58 60 59 !!--------------------------------------------------------------------- -
NEMO/trunk/src/TOP/PISCES/sms_pisces.F90
r10375 r10416 47 47 REAL(wp) :: xkmort !: ??? 48 48 REAL(wp) :: ferat3 !: ??? 49 REAL(wp) :: wfep !: ???50 49 REAL(wp) :: ldocp !: ??? 51 50 REAL(wp) :: ldocz !: ??? … … 90 89 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wsbio3 !: POC sinking speed 91 90 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wsbio4 !: GOC sinking speed 92 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wsfep93 94 95 91 96 92 !!* SMS for the organic matter … … 175 171 ! 176 172 IF( ln_ligand ) THEN 177 ALLOCATE( plig(jpi,jpj,jpk) , wsfep(jpi,jpj,jpk) ,STAT=ierr(8) )173 ALLOCATE( plig(jpi,jpj,jpk) , STAT=ierr(8) ) 178 174 ENDIF 179 !180 175 ENDIF 181 176 ! -
NEMO/trunk/src/TOP/PISCES/trcini_pisces.F90
r10362 r10416 168 168 IF( cltra == 'PFe' ) jppfe = jn !: Picophytoplankton Fe biomass 169 169 IF( cltra == 'LGW' ) jplgw = jn !: Weak ligands 170 IF( cltra == 'LFe' ) jpfep = jn !: Fe nanoparticle171 170 END DO 172 171 … … 216 215 IF( ln_ligand) THEN 217 216 trn(:,:,:,jplgw) = 0.6E-9 218 trn(:,:,:,jpfep) = 0. * 5.e-6219 217 ENDIF 220 218 IF( ln_p5z ) THEN
Note: See TracChangeset
for help on using the changeset viewer.