From d26b2cde300fb132d3b396268a0e15d4b264fe82 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Wed, 21 Dec 2022 09:17:23 -0800 Subject: [PATCH 01/62] Bulk commit of changes in R and shell scripts that may be useful for ED2 simulations, but are not part of the actual code. --- ED/Template/Template/plot_eval_ed.r | 2 +- ED/Template/Template/plot_monthly.r | 440 +++- ED/Template/Template/plot_yearly.r | 67 +- ED/Template/Template/whichrun.r | 10 +- ED/Template/Template/yearly_ascii.r | 61 +- ED/Template/bring_scripts.sh | 21 +- ED/Template/compare_equilibrium.r | 12 +- ED/Template/compare_hourly.r | 76 +- ED/Template/compare_longterm.r | 110 +- ED/Template/compare_patch.r | 78 +- ED/Template/compare_profiles.r | 2 +- ED/Template/make_joborder.r | 298 +-- ED/Template/plot_vulnerable.r | 52 +- ED/Template/scripts/PBS/check_run.sh | 245 +-- ED/Template/scripts/PBS/epost.sh | 485 +++-- ED/Template/scripts/PBS/spawn_poly.sh | 672 +++--- ED/Template/scripts/SLURM/check_run.sh | 317 +-- ED/Template/scripts/SLURM/epost.sh | 1102 ++++++---- ED/Template/scripts/SLURM/run_sitter.sh | 687 ++++--- ED/Template/scripts/SLURM/spawn_poly.sh | 1513 +++++++++----- R-utils/Ft.ustar.r | 19 +- R-utils/allometry.r | 22 +- R-utils/cci.lieberman.r | 2 +- R-utils/charutils.r | 4 +- R-utils/closest.r | 4 +- R-utils/cloud.metrics.r | 10 +- R-utils/colour.utils.r | 42 + R-utils/commonest.r | 6 +- R-utils/coord.utils.r | 4 +- R-utils/curve.features.r | 111 +- R-utils/del.bad.rshort.r | 2 +- R-utils/del.outliers.r | 12 +- R-utils/demography.rates.r | 12 +- R-utils/density.safe.r | 10 +- R-utils/desc.unit.r | 17 +- R-utils/dynamics.proofer.r | 12 +- R-utils/elliptical.utils.r | 18 +- R-utils/epolygon.r | 64 +- R-utils/globdims.r | 2 +- R-utils/gridded.plot.r | 16 +- R-utils/image.map.r | 4 +- R-utils/is.peak.r | 2 +- R-utils/licorfun.r | 26 +- R-utils/load.everything.r | 31 +- R-utils/locations.r | 96 +- R-utils/lt.weibull.r | 4 +- R-utils/macarthur.horn.r | 22 +- R-utils/monthly.template.r | 602 ++++-- R-utils/nls.wgtfct.r | 10 +- R-utils/normalise.r | 2 +- R-utils/numutils.r | 169 +- R-utils/operators.r | 12 +- R-utils/optim.lsq.htscd.r | 12 +- R-utils/optim.size.pft.bio.r | 217 +- R-utils/pcomp_varlist.r | 60 +- R-utils/petutils.r | 4 +- R-utils/pft.coms.r | 83 +- R-utils/plot.rgb.r | 4 +- R-utils/plotutils.r | 10 +- R-utils/pmonthly_varlist.r | 506 +++-- R-utils/polar.periodogram.r | 78 +- R-utils/poly.clockwise.r | 4 +- R-utils/pop.interp.r | 2 +- R-utils/pop.loess.r | 2 +- R-utils/pretty.log.r | 8 +- R-utils/pretty.time.r | 8 +- R-utils/pretty.xylim.r | 2 +- R-utils/ptcloud.2.patch.r | 32 +- R-utils/radiation_profile_utils.r | 2 +- R-utils/rain.downscale.r | 16 +- R-utils/rconstants.r | 211 +- R-utils/read.q.files.r | 2514 +++++++++++++++-------- R-utils/rshort.bdown.r | 506 +++-- R-utils/sample.by.quant.r | 41 +- R-utils/showutils.r | 2 +- R-utils/soilutils.r | 437 +++- R-utils/spei.r | 2 +- R-utils/stipples.r | 2 +- R-utils/summnum.r | 12 +- R-utils/sw.test.r | 2 +- R-utils/taxonutils.r | 156 +- R-utils/taylor.plot.r | 4 +- R-utils/test.goodness.r | 4 +- R-utils/thermlib.r | 114 +- R-utils/timeutils.r | 12 +- R-utils/trait.utils.r | 2 +- R-utils/unitlist.r | 732 ++++--- R-utils/vcf.degrad.r | 14 +- R-utils/wapply.r | 2 +- R-utils/xy.density.r | 6 +- R-utils/zen.r | 126 +- 91 files changed, 9111 insertions(+), 4459 deletions(-) diff --git a/ED/Template/Template/plot_eval_ed.r b/ED/Template/Template/plot_eval_ed.r index a70cf1d6c..0ac9e88e7 100644 --- a/ED/Template/Template/plot_eval_ed.r +++ b/ED/Template/Template/plot_eval_ed.r @@ -1080,7 +1080,7 @@ for (place in myplaces){ #----- Find and plot the distribution function for this hour. -----------# sd.obser = sd(this.obser[sel],na.rm=TRUE) - if (sd.obser %>% 1.0e-6){ + if (sd.obser %gt% 1.0e-6){ #----- Find the residuals. -------------------------------------------# this.resid = this.obser - this.model comp$residuals[sel] = this.resid[sel] diff --git a/ED/Template/Template/plot_monthly.r b/ED/Template/Template/plot_monthly.r index 41127c33a..81efb3fce 100644 --- a/ED/Template/Template/plot_monthly.r +++ b/ED/Template/Template/plot_monthly.r @@ -591,21 +591,57 @@ for (place in myplaces){ #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# - # Replace the mortality and recruitment exponential rates by the "interests" rates. # + # Convert mortality and recruitment so it is scaled between 0 and 100%. # #---------------------------------------------------------------------------------------# - szpft$mort = 100. * (1.0 - exp(- szpft$mort ) ) - szpft$dimort = 100. * (1.0 - exp(- szpft$dimort ) ) - szpft$ncbmort = 100. * (1.0 - exp(- szpft$ncbmort ) ) - szpft$recrpft = 100. * ( exp( szpft$recr ) - 1.0) - szpft$agb.mort = 100. * (1.0 - exp(- szpft$agb.mort ) ) - szpft$agb.dimort = 100. * (1.0 - exp(- szpft$agb.dimort ) ) - szpft$agb.ncbmort = 100. * (1.0 - exp(- szpft$agb.ncbmort ) ) - szpft$agb.recrpft = 100. * ( exp( szpft$agb.recr ) - 1.0) - szpft$bsa.mort = 100. * (1.0 - exp(- szpft$bsa.mort ) ) - szpft$bsa.dimort = 100. * (1.0 - exp(- szpft$bsa.dimort ) ) - szpft$bsa.ncbmort = 100. * (1.0 - exp(- szpft$bsa.ncbmort ) ) - szpft$bsa.recrpft = 100. * ( exp( szpft$bsa.recr ) - 1.0) + struct = c("szpft","emean","mmean","ymean") + struct = struct[struct %in% ls()] + nstruct = length(struct) + mort.list = c( "mort", "dimort", "ncbmort", "hydmort","fire.lethal" + ,"agb.mort","agb.dimort","agb.ncbmort","agb.hydmort" + ,"bsa.mort","bsa.dimort","bsa.ncbmort","bsa.hydmort" + )#end c + recr.list = c( "recr","agb.recr","bsa.recr") + for (s in sequence(nstruct)){ + #----- Copy structure to a temporary variable. --------------------------------------# + stnow = struct[s] + xmean = get(struct[s]) + #------------------------------------------------------------------------------------# + + + #----- Select mortality and recruitment variables to update. ------------------------# + mort.check = mort.list[mort.list %in% names(xmean)] + nmort.check = length(mort.check) + recr.check = recr.list[recr.list %in% names(xmean)] + nrecr.check = length(recr.check) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through mortality variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (m in sequence(nmort.check)){ + mort.now = mort.check[m] + xmean[[mort.now]] = 100. * ( 1.0 - exp( - xmean[[mort.now]]) ) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through recruitment variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (r in sequence(nrecr.check)){ + recr.now = recr.check[r] + xmean[[recr.now]] = 100. * ( exp( + xmean[[recr.now]] ) - 1.0) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------ Update structure. -----------------------------------------------------------# + dummy = assign(x=stnow,value=xmean) + #------------------------------------------------------------------------------------# + }#end for (s in seq_along(struct)) #---------------------------------------------------------------------------------------# @@ -732,10 +768,10 @@ for (place in myplaces){ , na.rm = TRUE )#end apply distave = apply(X=lu$dist,MARGIN=c(2,3),FUN=mean) - selpftl = pftave %>% 0. - selpfts = pftave %>% 0. & (! (pft$key %in% "ALL") ) - sellu = luave %>% 0. - seldist = distave %>% 0. + selpftl = pftave %gt% 0. + selpfts = pftave %gt% 0. & (! (pft$key %in% "ALL") ) + sellu = luave %gt% 0. + seldist = distave %gt% 0. n.selpftl = sum(selpftl) n.selpfts = sum(selpfts) n.sellu = sum(sellu ) @@ -798,7 +834,7 @@ for (place in myplaces){ thisvar = szpft[[vnam]][,ndbh+1,] if (plog){ #----- Eliminate non-positive values in case it is a log plot. -------------# - badlog = (! (thisvar %>% 0) ) & (! stackit) + badlog = (! (thisvar %gt% 0) ) & (! stackit) thisvar[badlog] = NA_real_ }#end if }else{ @@ -817,6 +853,7 @@ for (place in myplaces){ bottom = rep(0.,times=ntimes) }#end if + thisvar = ifelse(test=is.finite(thisvar),yes=thisvar,no=0.) thisvar = cbind(bottom,thisvar[,sequence(npft),drop=FALSE]) thisvar = t(apply(X=thisvar,MARGIN=1,FUN=cumsum)) }#end if (stackit) @@ -992,7 +1029,7 @@ for (place in myplaces){ thisvar = szpft[[vnam]] if (plog){ xylog = "y" - badlog = ( ! (thisvar %>% 0) ) & (! stackit) + badlog = ( ! (thisvar %gt% 0) ) & (! stackit) thisvar[badlog] = NA_real_ }else{ xylog = "" @@ -1061,6 +1098,7 @@ for (place in myplaces){ bottom = rep(0.,times=ntimes) }#end if thisdbh = thisvar[,,p] + thisdbh = ifelse(test=is.finite(thisdbh),yes=thisdbh,no=0.) thisdbh = cbind(bottom,thisdbh[,sequence(ndbh),drop=FALSE]) thisdbh = t(apply(X=thisdbh,MARGIN=1,FUN=cumsum)) }else{ @@ -1912,7 +1950,7 @@ for (place in myplaces){ thisvar = lu[[vnam]] if (plog){ xylog = "y" - badlog = ! (thisvar %>% 0) + badlog = ! (thisvar %gt% 0) thisvar[badlog] = NA }else{ xylog = "" @@ -2183,7 +2221,8 @@ for (place in myplaces){ legpos = themenow$legpos plotit = themenow$emean ylimit.fix = themenow$emean.lim - + thstack = themenow$stack + if (plotit){ #---------------------------------------------------------------------------------# @@ -2191,7 +2230,9 @@ for (place in myplaces){ #---------------------------------------------------------------------------------# outdir = file.path(outpref,"theme_emean") if (! file.exists(outdir)) dir.create(outdir) - cat0(" + ",group," time series for several variables.") + cat0(" ~ ",group," time series for several variables.") + #---------------------------------------------------------------------------------# + #----- Define the number of layers. ----------------------------------------------# @@ -2199,6 +2240,43 @@ for (place in myplaces){ #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + # Create a matrix with all the layers. # + #---------------------------------------------------------------------------------# + ndat = length(emean[[vnames[1]]]) + if (thstack){ + #----- Initialise the data with all layers. -----------------------------------# + ytheme = matrix(data=0,nrow=ndat,ncol=nlayers+1) + #------------------------------------------------------------------------------# + + + #----- Add layers. ------------------------------------------------------------# + layer.loop = sequence(nlayers+1)[-1] + for (l in layer.loop){ + #----- Layers are added as a stack. ----------------------------------------# + v.vnow = vnames[l-1] + ytheme[,l] = ytheme[,l-1] + emean[[v.vnow]] + #---------------------------------------------------------------------------# + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------------# + }else{ + #----- Initialise the data with all layers. -----------------------------------# + ytheme = matrix(data=NA_real_,nrow=ndat,ncol=nlayers ) + #------------------------------------------------------------------------------# + + + #----- Add layers. ------------------------------------------------------------# + for (l in sequence(nlayers)){ + #----- Layers are added as they are in the original values. ----------------# + v.vnow = vnames[l] + ytheme[,l] = emean[[v.vnow]] + #---------------------------------------------------------------------------# + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------------# + }#end if (thstack) + #---------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------# # Find the limit, make some room for the legend, and in case the field is a # @@ -2206,9 +2284,7 @@ for (place in myplaces){ #---------------------------------------------------------------------------------# xlimit = pretty.xylim(u=as.numeric(datum$tomonth),fracexp=0.0,is.log=FALSE) if (any(! is.finite(ylimit.fix))){ - ylimit = NULL - for (l in 1:nlayers) ylimit = c(ylimit,emean[[vnames[l]]]) - ylimit = pretty.xylim(u=ylimit,fracexp=0.0,is.log=plog) + ylimit = pretty.xylim(u=c(ytheme),fracexp=0.0,is.log=plog) }else{ ylimit = ylimit.fix }#end if @@ -2264,15 +2340,33 @@ for (place in myplaces){ par(mar=c(0.1,4.6,0.1,2.1)) plot.new() plot.window(xlim=c(0,1),ylim=c(0,1)) - legend( x = "bottom" - , inset = 0.0 - , legend = description - , col = lcolours - , lwd = llwd - , ncol = min(3,pretty.box(nlayers)$ncol) - , xpd = TRUE - , bty = "n" - )#end legend + if (thstack){ + #----- Fill legend. --------------------------------------------------------# + legend( x = "bottom" + , inset = 0.0 + , legend = rev(description) + , fill = rev(lcolours ) + , border = "transparent" + , density = -1 + , xpd = TRUE + , cex = 0.75 + , bty = "n" + )#end legend + #---------------------------------------------------------------------------# + }else{ + #----- Line legend. --------------------------------------------------------# + legend( x = "bottom" + , inset = 0.0 + , legend = description + , col = lcolours + , lwd = llwd + , ncol = 1 + , xpd = TRUE + , cex = 0.75 + , bty = "n" + )#end legend + #---------------------------------------------------------------------------# + }#end if (thstack) #------------------------------------------------------------------------------# @@ -2298,12 +2392,33 @@ for (place in myplaces){ if (plotgrid){ abline(v=whenplot8$levels,h=axTicks(side=2),col=grid.colour,lty="solid") }#end if - #----- Plot lines. ------------------------------------------------------------# - for (l in sequence(nlayers)){ - thisvar = emean[[vnames[l]]] - points(x=datum$tomonth,y=thisvar,col=lcolours[l],lwd=llwd[l],type=ltype - ,pch=16,cex=0.8) - }#end for + #----- Plot data. -------------------------------------------------------------# + if (thstack){ + #----- Plot polygons. ------------------------------------------------------# + for (l in sequence(nlayers)){ + polygon( x = c(datum$tomonth,rev(datum$tomonth)) + , y = c(ytheme[,l] ,rev(ytheme [,l+1])) + , col = lcolours[l] + , border = "transparent" + , density = -1 + , lty = "solid" + )#end points + }#end for (l in sequence(nlayers)) + #---------------------------------------------------------------------------# + }else{ + #----- Plot lines. ---------------------------------------------------------# + for (l in sequence(nlayers)){ + points( x = datum$tomonth + , y = ytheme [,l] + , col = lcolours[ l] + , lwd = llwd [ l] + , type = ltype + , pch = 16 + , cex = 0.8 + )#end points + }#end for (l in sequence(nlayers)) + #---------------------------------------------------------------------------# + }#end if (thstack) #------------------------------------------------------------------------------# @@ -2340,6 +2455,7 @@ for (place in myplaces){ legpos = themenow$legpos plotit = themenow$mmean ylimit.fix = themenow$mmean.lim + thstack = themenow$stack if (plotit){ @@ -2348,7 +2464,7 @@ for (place in myplaces){ #---------------------------------------------------------------------------------# outdir = file.path(outpref,"theme_mmean") if (! file.exists(outdir)) dir.create(outdir) - cat0(" + ",group," time series for several variables.") + cat0(" ~ ",group," time series for several variables.") #----- Define the number of layers. ----------------------------------------------# @@ -2356,6 +2472,43 @@ for (place in myplaces){ #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + # Create a matrix with all the layers. # + #---------------------------------------------------------------------------------# + ndat = length(mmean[[vnames[1]]]) + if (thstack){ + #----- Initialise the data with all layers. -----------------------------------# + ytheme = matrix(data=0,nrow=ndat,ncol=nlayers+1) + #------------------------------------------------------------------------------# + + + #----- Add layers. ------------------------------------------------------------# + layer.loop = sequence(nlayers+1)[-1] + for (l in layer.loop){ + #----- Layers are added as a stack. ----------------------------------------# + v.vnow = vnames[l-1] + ytheme[,l] = ytheme[,l-1] + mmean[[v.vnow]] + #---------------------------------------------------------------------------# + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------------# + }else{ + #----- Initialise the data with all layers. -----------------------------------# + ytheme = matrix(data=NA_real_,nrow=ndat,ncol=nlayers ) + #------------------------------------------------------------------------------# + + + #----- Add layers. ------------------------------------------------------------# + for (l in sequence(nlayers)){ + #----- Layers are added as they are in the original values. ----------------# + v.vnow = vnames[l] + ytheme[,l] = mmean[[v.vnow]] + #---------------------------------------------------------------------------# + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------------# + }#end if (thstack) + #---------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------# # Find the limit, make some room for the legend, and in case the field is a # @@ -2363,9 +2516,7 @@ for (place in myplaces){ #---------------------------------------------------------------------------------# xlimit = pretty.xylim(u=montmont,fracexp=0.0,is.log=plog) if (any (! is.finite(ylimit.fix))){ - ylimit = NULL - for (l in 1:nlayers) ylimit = c(ylimit,mmean[[vnames[l]]]) - ylimit = pretty.xylim(u=ylimit,fracexp=0.0,is.log=plog) + ylimit = pretty.xylim(u=c(ytheme),fracexp=0.0,is.log=plog) }else{ ylimit = ylimit.fix }#end if @@ -2421,17 +2572,33 @@ for (place in myplaces){ par(mar=c(0.1,4.6,0.1,2.1)) plot.new() plot.window(xlim=c(0,1),ylim=c(0,1)) - legend( x = "bottom" - , inset = 0.0 - , legend = description - , col = lcolours - , lwd = llwd - , pch = 16 - , ncol = min(3,pretty.box(nlayers)$ncol) - , cex = 0.9*cex.ptsz - , xpd = TRUE - , bty = "n" - )#end legend + if (thstack){ + #----- Fill legend. --------------------------------------------------------# + legend( x = "bottom" + , inset = 0.0 + , legend = rev(description) + , fill = rev(lcolours ) + , border = "transparent" + , density = -1 + , xpd = TRUE + , cex = 0.75 + , bty = "n" + )#end legend + #---------------------------------------------------------------------------# + }else{ + #----- Line legend. --------------------------------------------------------# + legend( x = "bottom" + , inset = 0.0 + , legend = description + , col = lcolours + , lwd = llwd + , ncol = 1 + , xpd = TRUE + , cex = 0.75 + , bty = "n" + )#end legend + #---------------------------------------------------------------------------# + }#end if (thstack) #------------------------------------------------------------------------------# @@ -2457,12 +2624,33 @@ for (place in myplaces){ if (plotgrid){ abline(v=mplot$levels,h=axTicks(side=2),col=grid.colour,lty="solid") }#end if - #----- Plot lines. ------------------------------------------------------------# - for (l in sequence(nlayers)){ - thisvar = mmean[[vnames[l]]] - points(x=montmont,y=thisvar,col=lcolours[l],lwd=llwd[l],type=ltype - ,pch=16,cex=0.8) - }#end for + #----- Plot data. -------------------------------------------------------------# + if (thstack){ + #----- Plot polygons. ------------------------------------------------------# + for (l in sequence(nlayers)){ + polygon( x = c(montmont ,rev(montmont)) + , y = c(ytheme[,l],rev(ytheme [,l+1])) + , col = lcolours[l] + , border = "transparent" + , density = -1 + , lty = "solid" + )#end points + }#end for (l in sequence(nlayers)) + #---------------------------------------------------------------------------# + }else{ + #----- Plot lines. ---------------------------------------------------------# + for (l in sequence(nlayers)){ + points( x = montmont + , y = ytheme [,l] + , col = lcolours[ l] + , lwd = llwd [ l] + , type = ltype + , pch = 16 + , cex = 0.8 + )#end points + }#end for (l in sequence(nlayers)) + #---------------------------------------------------------------------------# + }#end if (thstack) #------------------------------------------------------------------------------# @@ -2498,6 +2686,7 @@ for (place in myplaces){ unit = themenow$unit legpos = themenow$legpos plotit = themenow$qmean + thstack = themenow$stack if (plog){ xylog = "y" }else{ @@ -2514,18 +2703,66 @@ for (place in myplaces){ if (! file.exists(outdir)) dir.create(outdir) outtheme = file.path(outdir,prefix) if (! file.exists(outtheme)) dir.create(outtheme) - cat0(" + ",group," diurnal cycle for several variables.") + cat0(" ~ ",group," diurnal cycle for several variables.") #----- Define the number of layers. ----------------------------------------------# nlayers = length(vnames) - xlimit = range(thisday) - ylimit = NULL - for (l in sequence(nlayers)) ylimit = c(ylimit,umean[[vnames[l]]]) - ylimit = pretty.xylim(u=ylimit,fracexp=0.0,is.log=FALSE) #---------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------# + # Create a matrix with all the layers. # + #---------------------------------------------------------------------------------# + if (thstack){ + #----- Initialise the data with all layers. -----------------------------------# + ytheme = array(data=0,dim=c(dim(umean[[vnames[1]]]),nlayers+1)) + #------------------------------------------------------------------------------# + + + #----- Add layers. ------------------------------------------------------------# + layer.loop = sequence(nlayers+1)[-1] + for (l in layer.loop){ + #----- Layers are added as a stack. ----------------------------------------# + v.vnow = vnames[l-1] + ytheme[,,l] = ytheme[,,l-1] + umean[[v.vnow]] + #---------------------------------------------------------------------------# + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------------# + }else{ + #----- Initialise the data with all layers. -----------------------------------# + ytheme = array(data=0,dim=c(dim(umean[[vnames[1]]]),nlayers)) + #------------------------------------------------------------------------------# + + + #----- Add layers. ------------------------------------------------------------# + for (l in sequence(nlayers)){ + #----- Layers are added as they are in the original values. ----------------# + v.vnow = vnames[l] + ytheme[,,l] = umean[[v.vnow]] + #---------------------------------------------------------------------------# + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------------# + }#end if (thstack) + #---------------------------------------------------------------------------------# + + + + #----- Append the first hour of the day at the end. ------------------------------# + ytheme = abind(ytheme,ytheme[,1,,drop=FALSE],along=2) + #---------------------------------------------------------------------------------# + + + + #------ Find limits. -------------------------------------------------------------# + xlimit = range(thisday) + ylimit = pretty.xylim(u=c(ytheme),fracexp=0.0,is.log=FALSE) + #---------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------# # Loop over all months. # #---------------------------------------------------------------------------------# @@ -2574,15 +2811,33 @@ for (place in myplaces){ par(mar=c(0.1,4.6,0.1,2.1)) plot.new() plot.window(xlim=c(0,1),ylim=c(0,1)) - legend( x = "bottom" - , inset = 0.0 - , legend = description - , col = lcolours - , lwd = llwd - , ncol = min(3,pretty.box(nlayers)$ncol) - , xpd = TRUE - , bty = "n" - )#end legend + if (thstack){ + #----- Fill legend. -----------------------------------------------------# + legend( x = "bottom" + , inset = 0.0 + , legend = rev(description) + , fill = rev(lcolours ) + , border = "transparent" + , density = -1 + , xpd = TRUE + , cex = 0.75 + , bty = "n" + )#end legend + #------------------------------------------------------------------------# + }else{ + #----- Line legend. -----------------------------------------------------# + legend( x = "bottom" + , inset = 0.0 + , legend = description + , col = lcolours + , lwd = llwd + , ncol = 1 + , xpd = TRUE + , cex = 0.75 + , bty = "n" + )#end legend + #------------------------------------------------------------------------# + }#end if (thstack) #---------------------------------------------------------------------------# @@ -2608,16 +2863,37 @@ for (place in myplaces){ if (plotgrid){ abline(v=uplot$levels,h=axTicks(side=2),col=grid.colour,lty="solid") }#end if - #----- Plot lines. ---------------------------------------------------------# - for (l in sequence(nlayers)){ - thisvar = umean[[vnames[l]]] - thisvar = cbind(thisvar[,ndcycle],thisvar) - points(x=thisday,y=thisvar[pmon,],col=lcolours[l] - ,lwd=llwd[l],type=ltype,pch=16) - }#end for + #----- Plot data. ----------------------------------------------------------# + if (thstack){ + #----- Plot polygons. ---------------------------------------------------# + for (l in sequence(nlayers)){ + polygon( x = c(thisday ,rev(thisday )) + , y = c(ytheme[pmon,,l],rev(ytheme[pmon,,l+1])) + , col = lcolours[l] + , border = "transparent" + , density = -1 + , lty = "solid" + )#end points + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------# + }else{ + #----- Plot lines. ------------------------------------------------------# + for (l in sequence(nlayers)){ + points( x = thisday + , y = ytheme [pmon,,l] + , col = lcolours[ l] + , lwd = llwd [ l] + , type = ltype + , pch = 16 + , cex = 0.8 + )#end points + }#end for (l in sequence(nlayers)) + #------------------------------------------------------------------------# + }#end if (thstack) #---------------------------------------------------------------------------# + #----- Close the device. ---------------------------------------------------# dummy = close.plot(outform=outform[o]) #---------------------------------------------------------------------------# diff --git a/ED/Template/Template/plot_yearly.r b/ED/Template/Template/plot_yearly.r index 5b588afe9..ae1122ee8 100644 --- a/ED/Template/Template/plot_yearly.r +++ b/ED/Template/Template/plot_yearly.r @@ -428,18 +428,53 @@ for (place in myplaces){ #---------------------------------------------------------------------------------------# # Convert mortality and recruitment so it is scaled between 0 and 100%. # #---------------------------------------------------------------------------------------# - szpft$mort = 100. * (1.0 - exp(- szpft$mort ) ) - szpft$dimort = 100. * (1.0 - exp(- szpft$dimort ) ) - szpft$ncbmort = 100. * (1.0 - exp(- szpft$ncbmort ) ) - szpft$recrpft = 100. * ( exp( szpft$recr ) - 1.0) - szpft$agb.mort = 100. * (1.0 - exp(- szpft$agb.mort ) ) - szpft$agb.dimort = 100. * (1.0 - exp(- szpft$agb.dimort ) ) - szpft$agb.ncbmort = 100. * (1.0 - exp(- szpft$agb.ncbmort ) ) - szpft$agb.recrpft = 100. * ( exp( szpft$agb.recr ) - 1.0) - szpft$bsa.mort = 100. * (1.0 - exp(- szpft$bsa.mort ) ) - szpft$bsa.dimort = 100. * (1.0 - exp(- szpft$bsa.dimort ) ) - szpft$bsa.ncbmort = 100. * (1.0 - exp(- szpft$bsa.ncbmort ) ) - szpft$bsa.recrpft = 100. * ( exp( szpft$bsa.recr ) - 1.0) + struct = c("szpft","emean","mmean","ymean") + struct = struct[struct %in% ls()] + nstruct = length(struct) + mort.list = c( "mort", "dimort", "ncbmort", "hydmort","fire.lethal" + ,"agb.mort","agb.dimort","agb.ncbmort","agb.hydmort" + ,"bsa.mort","bsa.dimort","bsa.ncbmort","bsa.hydmort" + )#end c + recr.list = c( "recr","agb.recr","bsa.recr") + for (s in sequence(nstruct)){ + #----- Copy structure to a temporary variable. --------------------------------------# + stnow = struct[s] + xmean = get(struct[s]) + #------------------------------------------------------------------------------------# + + + #----- Select mortality and recruitment variables to update. ------------------------# + mort.check = mort.list[mort.list %in% names(xmean)] + nmort.check = length(mort.check) + recr.check = recr.list[recr.list %in% names(xmean)] + nrecr.check = length(recr.check) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through mortality variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (m in sequence(nmort.check)){ + mort.now = mort.check[m] + xmean[[mort.now]] = 100. * ( 1.0 - exp( - xmean[[mort.now]]) ) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through recruitment variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (r in sequence(nrecr.check)){ + recr.now = recr.check[r] + xmean[[recr.now]] = 100. * ( exp( + xmean[[recr.now]] ) - 1.0) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------ Update structure. -----------------------------------------------------------# + dummy = assign(x=stnow,value=xmean) + #------------------------------------------------------------------------------------# + }#end for (s in seq_along(struct)) #---------------------------------------------------------------------------------------# @@ -544,7 +579,7 @@ for (place in myplaces){ thisvar = szpft[[vnam]][,ndbh+1,] if (plog){ #----- Eliminate non-positive values in case it is a log plot. -------------# - badlog = ! (thisvar %>% 0) + badlog = ! (thisvar %gt% 0) thisvar[badlog] = NA }#end if }else{ @@ -683,7 +718,7 @@ for (place in myplaces){ thisvar = szpft[[vnam]] if (plog){ xylog = "y" - badlog = thisvar %<=% 0 + badlog = thisvar %le% 0 thisvar[badlog] = NA }else{ xylog = "" @@ -1055,7 +1090,7 @@ for (place in myplaces){ thisvar = lu[[vnam]] if (plog){ xylog = "y" - badlog = ! (thisvar %>% 0) + badlog = ! (thisvar %gt% 0) thisvar[badlog] = NA }else{ xylog = "" @@ -1949,7 +1984,7 @@ for (place in myplaces){ #------------------------------------------------------------------------------# # Discard cohorts that are near-recruit size. # #------------------------------------------------------------------------------# - keepww = popww %>% 0. + keepww = popww %gt% 0. ageww = ageww[keepww] dbhww = dbhww[keepww] pftww = pftww[keepww] diff --git a/ED/Template/Template/whichrun.r b/ED/Template/Template/whichrun.r index b89fe317a..1677dc3d8 100644 --- a/ED/Template/Template/whichrun.r +++ b/ED/Template/Template/whichrun.r @@ -53,6 +53,7 @@ endrun = file.path(main,polyg,"serial_lsf.out" ) hasrun = file.path(main,polyg,"serial_out.out" ) haserr = file.path(main,polyg,"serial_out.err" ) hascrashed = file.path(main,polyg,"crashed_out.out") +hashydfail = file.path(main,polyg,"hydfail_out.out") hassigsegv = file.path(main,polyg,"sigsegv_out.out") hasbad.met = file.path(main,polyg,"bad_met_out.out") hasmetmiss = file.path(main,polyg,"metmiss_out.out") @@ -85,13 +86,15 @@ if (file.exists(hasrun) && ! sigsegv){ metmiss = ( length(grep("Cannot open met driver input file",simout)) > 0 | length(grep("Specify ED_MET_DRIVER_DB properly",simout)) > 0 ) crashed = length(grep("IFLAG1 problem." ,simout)) > 0 + hydfail = length(grep("Plant Hydrodynamics is off-track." ,simout)) > 0 bad.met = length(grep("Meteorological forcing has issues" ,simout)) > 0 stopped = length(grep("FATAL ERROR" ,simout)) > 0 finished = length(grep("ED-2\\.2 execution ends" ,simout)) > 0 - running = ! (metmiss || crashed || stopped || finished) + running = ! (metmiss || crashed || hydfail || stopped || finished) }else if (file.exists(hasrun) && sigsegv){ metmiss = FALSE crashed = FALSE + hydfail = FALSE bad.met = FALSE stopped = FALSE finished = FALSE @@ -100,6 +103,7 @@ if (file.exists(hasrun) && ! sigsegv){ metmiss = file.exists(hasmetmiss) bad.met = file.exists(hasbad.met) crashed = file.exists(hascrashed) + hydfail = file.exists(hashydfail) stopped = file.exists(hasstopped) sigsegv = file.exists(hassigsegv) finished = FALSE @@ -153,7 +157,7 @@ if (nhisto > 0){ dummy = file.remove(tryhisto) if (finished){ finished = FALSE - running = ! (metmiss || crashed || stopped || finished) + running = ! (metmiss || crashed || hydfail || stopped || finished) }#end if }else{ hasoutput = TRUE @@ -351,6 +355,8 @@ if (running && hasoutput){ status = paste(polyg,yyyy,mm,dd,hhhh,"SIGSEGV",agb,bsa,lai,scb,npa,sep=" ") }else if(crashed){ status = paste(polyg,yyyy,mm,dd,hhhh,"CRASHED",agb,bsa,lai,scb,npa,sep=" ") +}else if(hydfail){ + status = paste(polyg,yyyy,mm,dd,hhhh,"HYDFAIL",agb,bsa,lai,scb,npa,sep=" ") }else if(bad.met){ status = paste(polyg,yyyy,mm,dd,hhhh,"BAD_MET",agb,bsa,lai,scb,npa,sep=" ") }else if (metmiss){ diff --git a/ED/Template/Template/yearly_ascii.r b/ED/Template/Template/yearly_ascii.r index 63047156e..7b8df3af6 100644 --- a/ED/Template/Template/yearly_ascii.r +++ b/ED/Template/Template/yearly_ascii.r @@ -414,21 +414,58 @@ for (place in myplaces){ #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Convert mortality and recruitment so it is scaled between 0 and 100%. # #---------------------------------------------------------------------------------------# - szpft$mort = 100. * (1.0 - exp(- szpft$mort ) ) - szpft$dimort = 100. * (1.0 - exp(- szpft$dimort ) ) - szpft$ncbmort = 100. * (1.0 - exp(- szpft$ncbmort ) ) - szpft$recrpft = 100. * ( exp( szpft$recr ) - 1.0) - szpft$agb.mort = 100. * (1.0 - exp(- szpft$agb.mort ) ) - szpft$agb.dimort = 100. * (1.0 - exp(- szpft$agb.dimort ) ) - szpft$agb.ncbmort = 100. * (1.0 - exp(- szpft$agb.ncbmort ) ) - szpft$agb.recrpft = 100. * ( exp( szpft$agb.recr ) - 1.0) - szpft$bsa.mort = 100. * (1.0 - exp(- szpft$bsa.mort ) ) - szpft$bsa.dimort = 100. * (1.0 - exp(- szpft$bsa.dimort ) ) - szpft$bsa.ncbmort = 100. * (1.0 - exp(- szpft$bsa.ncbmort ) ) - szpft$bsa.recrpft = 100. * ( exp( szpft$bsa.recr ) - 1.0) + struct = c("szpft","emean","mmean","ymean") + struct = struct[struct %in% ls()] + nstruct = length(struct) + mort.list = c( "mort", "dimort", "ncbmort", "hydmort","fire.lethal" + ,"agb.mort","agb.dimort","agb.ncbmort","agb.hydmort" + ,"bsa.mort","bsa.dimort","bsa.ncbmort","bsa.hydmort" + )#end c + recr.list = c( "recr","agb.recr","bsa.recr") + for (s in sequence(nstruct)){ + #----- Copy structure to a temporary variable. --------------------------------------# + stnow = struct[s] + xmean = get(struct[s]) + #------------------------------------------------------------------------------------# + + + #----- Select mortality and recruitment variables to update. ------------------------# + mort.check = mort.list[mort.list %in% names(xmean)] + nmort.check = length(mort.check) + recr.check = recr.list[recr.list %in% names(xmean)] + nrecr.check = length(recr.check) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through mortality variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (m in sequence(nmort.check)){ + mort.now = mort.check[m] + xmean[[mort.now]] = 100. * ( 1.0 - exp( - xmean[[mort.now]]) ) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through recruitment variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (r in sequence(nrecr.check)){ + recr.now = recr.check[r] + xmean[[recr.now]] = 100. * ( exp( + xmean[[recr.now]] ) - 1.0) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------ Update structure. -----------------------------------------------------------# + dummy = assign(x=stnow,value=xmean) + #------------------------------------------------------------------------------------# + }#end for (s in seq_along(struct)) #---------------------------------------------------------------------------------------# diff --git a/ED/Template/bring_scripts.sh b/ED/Template/bring_scripts.sh index f4d20a56d..5bc552f2b 100755 --- a/ED/Template/bring_scripts.sh +++ b/ED/Template/bring_scripts.sh @@ -11,18 +11,28 @@ then #------ No platform provided. Try to guess, and if failed, then prompts the user. -----# host=$(hostname -s) case ${host} in - rclogin*|holy*|moorcroft*|rcnx*) platform="SLURM" ;; - au*|ha*) platform="PBS" ;; - sdumont*) platform="SLURM" ;; - sun-master|cmm*) platform="sun-lncc" ;; + rclogin*|holy*|moorcroft*|rcnx*|sdumont*) + #----- Use SLURM scripts. --------------------------------------------------------# + platform="SLURM" + #---------------------------------------------------------------------------------# + ;; + au*|ha*|sun-master|cmm*) + #----- Use PBS scripts. ----------------------------------------------------------# + platform="PBS" + #---------------------------------------------------------------------------------# + ;; *) + #----- Host name is not one of the known ones. -----------------------------------# echo -n "Failed guessing platform from node name. Please type the name: " read platform + #---------------------------------------------------------------------------------# ;; esac - + #---------------------------------------------------------------------------------------# else + #------ Platform is provided as argument. ----------------------------------------------# platform=${1} + #---------------------------------------------------------------------------------------# fi #------------------------------------------------------------------------------------------# @@ -62,4 +72,5 @@ fi #----- Copy all scripts from the script pool. ---------------------------------------------# /bin/cp -v ./scripts/${platform}/*.sh . +/bin/cp -v ./scripts/COMMON/*.sh . #------------------------------------------------------------------------------------------# diff --git a/ED/Template/compare_equilibrium.r b/ED/Template/compare_equilibrium.r index 23715e718..9444b608f 100644 --- a/ED/Template/compare_equilibrium.r +++ b/ED/Template/compare_equilibrium.r @@ -306,7 +306,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "agb" , desc = "Above-ground biomass" , unit = untab$kgcom2 - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "purple" , hue.high = "green" , szpftvar = TRUE @@ -320,7 +320,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "bsa" , desc = "Basal area" , unit = untab$m2om2 - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "purple" , hue.high = "green" , szpftvar = TRUE @@ -334,7 +334,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "lai" , desc = "Leaf area index" , unit = untab$m2lom2 - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "purple" , hue.high = "green" , szpftvar = TRUE @@ -348,7 +348,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "tai" , desc = "Tree area index" , unit = untab$m2lom2 - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "purple" , hue.high = "green" , szpftvar = TRUE @@ -610,8 +610,8 @@ for (p in sequence(nsites)){ #---------------------------------------------------------------------------------# # Eliminate cohorts that are too small for AGB and basal area estimates. # #---------------------------------------------------------------------------------# - agbco = ifelse(dbhco %>=% this$dbh.min, agbco, 0.) - bsaco = ifelse(dbhco %>=% this$dbh.min, bsaco, 0.) + agbco = ifelse(dbhco %ge% this$dbh.min, agbco, 0.) + bsaco = ifelse(dbhco %ge% this$dbh.min, bsaco, 0.) #---------------------------------------------------------------------------------# diff --git a/ED/Template/compare_hourly.r b/ED/Template/compare_hourly.r index 5b10b79c2..65de2af89 100644 --- a/ED/Template/compare_hourly.r +++ b/ED/Template/compare_hourly.r @@ -333,7 +333,7 @@ compvar[[ n]] = list( vnam = "ustar" , symbol = "u^symbol(\"\\052\")" , desc = "Friction velocity" , unit = untab$mos - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#3B24B3" @@ -347,7 +347,7 @@ compvar[[ n]] = list( vnam = "cflxca" , symbol = "dot(C)[a*e]" , desc = "Carbon dioxide flux" , unit = untab$umolcom2os - , cscheme.mean = "iclife" + , cscheme.mean = "iprgn" , hue.low = "green" , hue.high = "purple" , col = "#AB8C3D" @@ -361,7 +361,7 @@ compvar[[ n]] = list( vnam = "cflxst" , symbol = "dot(C)[s*t*o*r]" , desc = "Carbon dioxide storage" , unit = untab$umolcom2os - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "orangered" , hue.high = "blue" , col = "#7D6E93" @@ -375,7 +375,7 @@ compvar[[ n]] = list( vnam = "nee" , symbol = "N*E*E" , desc = "Net ecosystem exchange" , unit = untab$umolcom2os - , cscheme.mean = "iclife" + , cscheme.mean = "iprgn" , hue.low = "green" , hue.high = "purple" , col = "#A3CC52" @@ -389,7 +389,7 @@ compvar[[ n]] = list( vnam = "nep" , symbol = "N*E*P" , desc = "Net ecosystem productivity" , unit = untab$kgcom2oyr - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "purple" , hue.high = "green" , col = "#A3CC52" @@ -403,7 +403,7 @@ compvar[[ n]] = list( vnam = "reco" , symbol = "dot(R)[E*c*o]" , desc = "Ecosystem respiration" , unit = untab$kgcom2oyr - , cscheme.mean = "iclife" + , cscheme.mean = "iprgn" , hue.low = "green" , hue.high = "purple" , col = "#AB8C3D" @@ -417,7 +417,7 @@ compvar[[ n]] = list( vnam = "gpp" , symbol = "G*P*P" , desc = "Gross primary productivity" , unit = untab$kgcom2oyr - , cscheme.mean = "clife" + , cscheme.mean = "prgn" , hue.low = "purple" , hue.high = "green" , col = "#306614" @@ -431,7 +431,7 @@ compvar[[ n]] = list( vnam = "parup" , symbol = "dot(Q)[P*A*R]^symbol(\"\\335\")" , desc = "Outgoing PAR" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#143305" @@ -445,7 +445,7 @@ compvar[[ n]] = list( vnam = "rshortup" , symbol = "dot(Q)[S*W]^symbol(\"\\335\")" , desc = "Outgoing shortwave radiation" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#2996CC" @@ -459,7 +459,7 @@ compvar[[ n]] = list( vnam = "rlongup" , symbol = "dot(Q)[L*W]^symbol(\"\\335\")" , desc = "Outgoing longwave radiation" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#E65C17" @@ -473,7 +473,7 @@ compvar[[ n]] = list( vnam = "hflxca" , symbol = "dot(Q)[a*e]" , desc = "Sensible heat flux" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#990F0F" @@ -487,7 +487,7 @@ compvar[[ n]] = list( vnam = "wflxca" , symbol = "dot(W)[a*e]" , desc = "Water vapour flux" , unit = untab$kgwom2oday - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#0A4766" @@ -501,7 +501,7 @@ compvar[[ n]] = list( vnam = "can.temp" , symbol = "T[a]" , desc = "CAS Temperature" , unit = untab$degC - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#4D0404" @@ -515,7 +515,7 @@ compvar[[ n]] = list( vnam = "can.shv" , symbol = "w[a]" , desc = "CAS specific humidity" , unit = untab$gwokg - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#160959" @@ -529,7 +529,7 @@ compvar[[ n]] = list( vnam = "can.co2" , symbol = "c[a]" , desc = "CAS CO2 mix. ratio" , unit = untab$umolcomol - , cscheme.mean = "iclife" + , cscheme.mean = "iprgn" , hue.low = "green" , hue.high = "purple" , col = "#4B6614" @@ -543,7 +543,7 @@ compvar[[ n]] = list( vnam = "soil.temp" , symbol = "T[s*o*i*l]" , desc = "Soil temperature" , unit = untab$degC - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#7D6E93" @@ -557,7 +557,7 @@ compvar[[ n]] = list( vnam = "soil.water" , symbol = "vartheta[s*o*i*l]" , desc = "Soil moisture" , unit = untab$m3wom3 - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#00AAAF" @@ -571,7 +571,7 @@ compvar[[ n]] = list( vnam = "soil.wetness" , symbol = "hat(w)[s*o*i*l]" , desc = "Soil wetness" , unit = untab$pc - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#00F3FB" @@ -595,7 +595,7 @@ control[[n]] = list( vnam = "rshort" , symbol = "S*W^symbol(\"\\337\")" , desc = "Incoming shortwave radiation" , unit = untab$wom2 - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#FF5700" @@ -608,7 +608,7 @@ control[[n]] = list( vnam = "par" , symbol = "P*A*R^symbol(\"\\337\")" , desc = "Incoming PAR" , unit = untab$umolom2os - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#0742C3" @@ -621,7 +621,7 @@ control[[n]] = list( vnam = "rlong" , symbol = "L*W^symbol(\"\\337\")" , desc = "Incoming longwave radiation" , unit = untab$wom2 - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#A00014" @@ -634,7 +634,7 @@ control[[n]] = list( vnam = "atm.prss" , symbol = "p(e*f*t)" , desc = "Air pressure" , unit = untab$hpa - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#520485" @@ -647,7 +647,7 @@ control[[n]] = list( vnam = "atm.temp" , symbol = "T(e*f*t)" , desc = "Air temperature" , unit = untab$degC - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#FF5700" @@ -660,7 +660,7 @@ control[[n]] = list( vnam = "atm.shv" , symbol = "w(e*f*t)" , desc = "Air specific humidity" , unit = untab$gwokg - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#0742C3" @@ -673,7 +673,7 @@ control[[n]] = list( vnam = "atm.vels" , symbol = "u(e*f*t)" , desc = "Wind speed" , unit = untab$mos - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#520485" @@ -686,7 +686,7 @@ control[[n]] = list( vnam = "rain" , symbol = "dot(W)(e*f*t)" , desc = "Precipitation rate" , unit = untab$kgwom2oday - , cscheme.mean = "ipanoply" + , cscheme.mean = "rdbu" , hue.low = "orangered" , hue.high = "blue" , col = "#0742C3" @@ -699,7 +699,7 @@ control[[n]] = list( vnam = "atm.vpdef" , symbol = "e(e*f*t)" , desc = "Vapour pressure deficit" , unit = untab$hpa - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , col = "#FF5700" @@ -1534,7 +1534,7 @@ for (p in loop.sites){ #----- Create a quick filter for different u*. --------------------------------------# ustar.eco = ifelse(obser$measured.ustar & measured.co2,obser$ustar,NA) - ust.measured.eco = outer(ustar.eco,obser$ust.filter,FUN='%>=%') + ust.measured.eco = outer(ustar.eco,obser$ust.filter,FUN='%ge%') #------------------------------------------------------------------------------------# }#end if #---------------------------------------------------------------------------------------# @@ -8997,7 +8997,7 @@ if (plot.skill.taylor){ #------------------------------------------------------------------------------# comp = res[[iata]]$sim[[simul.key[1]]][[this.vnam]] sdev.obs.now = sqrt(comp$obs.moment[cc,d,nseason,2]) - sel = sel & sdev.obs.now %>% 0 + sel = sel & sdev.obs.now %gt% 0 n.sel = sum(sel) #------------------------------------------------------------------------------# @@ -9537,7 +9537,7 @@ if (plot.skill.taylor){ #----- Select fortnightly averages. ----------------------------------------# sel = is.finite(obs[[this.fnmean]][,cc]) sdev.obs.now = sd(obs[[this.fnmean]][sel,cc],na.rm=TRUE) - sel = sel & sdev.obs.now %>% 0. + sel = sel & sdev.obs.now %gt% 0. this.obs = obs[[this.fnmean]][sel,cc] this.mod = mod[[this.fnmean]][sel,cc] percent.skill[p,d] = sum(sel) @@ -9545,7 +9545,7 @@ if (plot.skill.taylor){ #----- Select daily averages. ----------------------------------------------# sel = is.finite(obs[[this.dmean]][,cc]) sdev.obs.now = sd(obs[[this.dmean]][sel,cc],na.rm=TRUE) - sel = sel & sdev.obs.now %>% 0. + sel = sel & sdev.obs.now %gt% 0. this.obs = obs[[this.dmean]][sel,cc] this.mod = mod[[this.dmean]][sel,cc] percent.skill[p,d] = sum(sel) @@ -9558,7 +9558,7 @@ if (plot.skill.taylor){ sel = d.sel & s.sel & o.sel sel = ifelse(is.na(sel),FALSE,sel) sdev.obs.now = sd(obs[[this.vnam]][sel,cc],na.rm=TRUE) - sel = sel & sdev.obs.now %>% 0. + sel = sel & sdev.obs.now %gt% 0. this.obs = obs[[this.vnam]][sel,cc] this.mod = mod[[this.vnam]][sel,cc] if (sum(d.sel & s.sel) > 0){ @@ -9777,7 +9777,7 @@ if (plot.skill.taylor){ for (p in sequence(nsites)){ iata = sites$iata[p] this.diel = diel.key[d] - if (percent.skill[p,d] %>% 0){ + if (percent.skill[p,d] %gt% 0){ pair.now = list.skill[[iata]][[this.diel]] }else{ pair.now = list(obs=c(NA,NA,NA),mod=c(NA,NA,NA)) @@ -10278,7 +10278,7 @@ if (plot.skill.taylor){ sel = ( is.finite(obs[[this.fnmean]][,cc]) & this.vnam %in% v.inc ) sdev.obs.now = sd(obs[[this.fnmean]][sel,cc],na.rm=TRUE) - sel = sel & sdev.obs.now %>% 0. + sel = sel & sdev.obs.now %gt% 0. this.obs = obs[[this.fnmean]][sel,cc] this.mod = mod[[this.fnmean]][sel,cc] percent.skill[v,p] = sum(sel) @@ -10287,7 +10287,7 @@ if (plot.skill.taylor){ sel = ( is.finite(obs[[this.dmean]][,cc]) & this.vnam %in% v.inc ) sdev.obs.now = sd(obs[[this.dmean]][sel,cc],na.rm=TRUE) - sel = sel & sdev.obs.now %>% 0. + sel = sel & sdev.obs.now %gt% 0. this.obs = obs[[this.dmean]][sel,cc] this.mod = mod[[this.dmean]][sel,cc] percent.skill[v,p] = sum(sel) @@ -10300,7 +10300,7 @@ if (plot.skill.taylor){ sel = d.sel & s.sel & o.sel sel = ifelse(is.na(sel),FALSE,sel) sdev.obs.now = sd(obs[[this.vnam]][sel,cc],na.rm=TRUE) - sel = sel & sdev.obs.now %>% 0. + sel = sel & sdev.obs.now %gt% 0. this.obs = obs[[this.vnam]][sel,cc] this.mod = mod[[this.vnam]][sel,cc] if (sum(d.sel & s.sel) > 0){ @@ -11048,7 +11048,7 @@ if (plot.soil.skill.taylor){ comp = res[[iata]]$sim[[simul.key[1]]][[this.vnam]] sdev.obs.now = sqrt(comp$obs.moment[cc,d,nseason,2]) sdev.mod.now = sqrt(comp$mod.moment[cc,d,nseason,2]) - sel = sel & sdev.obs.now %>% 0 + sel = sel & sdev.obs.now %gt% 0 n.sel = sum(sel) #------------------------------------------------------------------------# @@ -12117,7 +12117,7 @@ if (make.summ.table){ #------ Aggregate data to the total. ------------------------------------------# - if (df.now %>% 0 & o.sdev.now %>% 0){ + if (df.now %gt% 0 & o.sdev.now %gt% 0){ s.table$n [v] = s.table$n [v] + n.now s.table$df [v] = s.table$df [v] + df.now s.table$bias [v] = s.table$bias [v] + n.now * bias.now diff --git a/ED/Template/compare_longterm.r b/ED/Template/compare_longterm.r index ab20899ac..6f325f883 100644 --- a/ED/Template/compare_longterm.r +++ b/ED/Template/compare_longterm.r @@ -14,7 +14,7 @@ graphics.off() # Here is the user defined variable section. # #------------------------------------------------------------------------------------------# here = getwd() # Current directory -srcdir = "/n/home00/mlongo/util/Rsc" # Script directory +srcdir = "/n/home00/mlongo/Util/Rsc" # Script directory ibackground = 0 # Make figures compatible to background # 0 -- white # 1 -- black @@ -236,7 +236,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "agb" , desc = "Above-ground biomass" , unit = untab$kgcom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -249,7 +249,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "ba" , desc = "Basal area" , unit = untab$m2om2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -262,7 +262,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "lai" , desc = "Leaf area index" , unit = untab$m2lom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -275,7 +275,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "gpp" , desc = "Gross primary productivity" , unit = untab$kgcom2oyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -288,7 +288,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "npp" , desc = "Net primary productivity" , unit = untab$kgcom2oyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -301,7 +301,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "plant.resp" , desc = "Plant respiration" , unit = untab$kgcom2oyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -314,7 +314,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "cba" , desc = "Carbon balance" , unit = untab$kgcom2oyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -327,7 +327,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "reco" , desc = "Ecosystem respiration" , unit = untab$kgcom2oyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -340,7 +340,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "nep" , desc = "Net Ecosystem Productivity" , unit = untab$kgcom2oyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -353,7 +353,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "hflxca" , desc = "Sensible heat flux" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -366,7 +366,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "wflxca" , desc = "Water vapour flux" , unit = untab$kgwom2oday - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -379,7 +379,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "transp" , desc = "Transpiration" , unit = untab$kgwom2oday - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -392,7 +392,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "bowen" , desc = "Bowen ratio" , unit = untab$empty - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -405,7 +405,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "tratio" , desc = "Transpiration ratio" , unit = untab$empty - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -418,7 +418,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "ustar" , desc = "Friction velocity" , unit = untab$mos - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -431,7 +431,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "rshortup" , desc = "Upward SW radiation" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -444,7 +444,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "albedo" , desc = "Albedo" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -457,7 +457,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "rlongup" , desc = "Upward LW radiation" , unit = untab$wom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -470,7 +470,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "parup" , desc = "Upward PAR" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -483,7 +483,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.gnd" , desc = "Ground absorption - PAR" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -496,7 +496,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "rshort.gnd" , desc = "Ground absorption - SW" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -509,7 +509,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.gpp" , desc = "Leaf GPP" , unit = untab$kgcom2loyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -522,7 +522,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.gsw" , desc = "Stomatal conductance" , unit = untab$kgwom2loday - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -535,7 +535,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.temp" , desc = "Leaf temperature" , unit = untab$degC - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -548,7 +548,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.vpd" , desc = "Leaf VPD" , unit = untab$hpa - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -561,7 +561,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.leaf" , desc = "Leaf Absorption - PAR" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -574,7 +574,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.leaf.beam" , desc = "Leaf Absorption - Direct PAR" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -587,7 +587,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.leaf.diff" , desc = "Leaf Absorption - Diffuse PAR" , unit = untab$umolom2os - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -600,7 +600,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.par" , desc = "Norm. Leaf Absorption - PAR" , unit = untab$umolom2los - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -613,7 +613,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.par.beam" , desc = "Norm. Leaf Absorption - Direct PAR" , unit = untab$umolom2los - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -626,7 +626,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.par.diff" , desc = "Norm. Leaf Absorption - Diffuse PAR" , unit = untab$umolom2los - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -639,7 +639,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "assim.light" , desc = "Light-limited Assimilation" , unit = untab$umolom2los - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -652,7 +652,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "assim.rubp" , desc = "RuBP-limited Assimilation" , unit = untab$umolom2los - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -665,7 +665,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "assim.co2" , desc = "CO2-limited Assimilation" , unit = untab$umolom2los - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -678,7 +678,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "fast.soil.c" , desc = "Fast soil carbon" , unit = untab$kgcom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -691,7 +691,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "struct.soil.c" , desc = "Structural soil carbon" , unit = untab$kgcom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -704,7 +704,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "slow.soil.c" , desc = "Slow soil carbon" , unit = untab$kgcom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -717,7 +717,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "tot.soil.c" , desc = "Soil carbon" , unit = untab$kgcom2 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -730,7 +730,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "can.depth" , desc = "Mean canopy height" , unit = untab$m - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -743,7 +743,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "can.area" , desc = "Mean canopy area" , unit = untab$empty - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -756,7 +756,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "wood.dens" , desc = "Mean wood density" , unit = untab$gocm3 - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = FALSE @@ -769,7 +769,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "firemort" , desc = "Fire mortality" , unit = untab$pcpopoyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -782,7 +782,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "ncbmort" , desc = "Density-dependent mortality" , unit = untab$pcpopoyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -795,7 +795,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "dimort" , desc = "Density independent mortality" , unit = untab$pcpopoyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -808,7 +808,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "mort" , desc = "Mortality rate" , unit = untab$pcpopoyr - , cscheme.mean = "panoply" + , cscheme.mean = "irdbu" , hue.low = "blue" , hue.high = "orangered" , szpftvar = TRUE @@ -1454,12 +1454,12 @@ if (reload.range && file.exists(rdata.range)){ #------ Bowen ratio: use the patch-level variable. ----------------------# hflxca = datum$patch$hflxca [[stamp]] qwflxca = datum$patch$qwflxca[[stamp]] - vnow = ifelse(qwflxca %!=% 0, hflxca/qwflxca, NA) + vnow = ifelse(qwflxca %ne% 0, hflxca/qwflxca, NA) }else if(this.vnam %in% "tratio"){ #------ Bowen ratio: use the patch-level variable. ----------------------# transp = datum$patch$transp[[stamp]] wflxca = datum$patch$wflxca[[stamp]] - vnow = ifelse(wflxca %!=% 0, transp/wflxca, NA) + vnow = ifelse(wflxca %ne% 0, transp/wflxca, NA) }else if(this.patchvar){ #------ Use patch-level info if available... ----------------------------# vnow = datum$patch [[this.vnam]][[stamp]] @@ -1663,20 +1663,20 @@ for (p in loop.sites){ szpft = NULL patch = NULL }else if (this.vnam %in% "bowen"){ - emean = with(datum$emean,ifelse(qwflxca %!=% 0,hflxca/qwflxca,NA)) + emean = with(datum$emean,ifelse(qwflxca %ne% 0,hflxca/qwflxca,NA)) szpft = NULL patch = with( data = datum$patch - , expr = mapply( FUN = function(h,qw) ifelse(qw%!=%0,h/qw,NA) + , expr = mapply( FUN = function(h,qw) ifelse(qw%ne%0,h/qw,NA) , h = hflxca , qw = qwflxca , SIMPLIFY = FALSE )#end mapply )#end with }else if (this.vnam %in% "tratio"){ - emean = with(datum$emean,ifelse(wflxca %!=% 0,transp/wflxca,NA)) + emean = with(datum$emean,ifelse(wflxca %ne% 0,transp/wflxca,NA)) szpft = NULL patch = with( data = datum$patch - , expr = mapply( FUN = function(tp,w) ifelse(w%!=%0,tp/w,NA) + , expr = mapply( FUN = function(tp,w) ifelse(w%ne%0,tp/w,NA) , tp = transp , w = wflxca , SIMPLIFY = FALSE @@ -4115,7 +4115,7 @@ if (plot.ym.patch){ # Update range. # #---------------------------------------------------------------------------# if (zlog){ - ym.patch = ifelse(ym.patch %>% 0.0,ym.patch,NA) + ym.patch = ifelse(ym.patch %gt% 0.0,ym.patch,NA) yrange[,p,s] = range(c(yrange[,p,s],ym.patch),finite=TRUE) }else if (this.vnam %in% "bowen"){ ym.patch = pmax(bmn,pmin(bmx,ym.patch)) @@ -4560,7 +4560,7 @@ if (plot.zm.patch){ zm.patch = model[[this.vnam]]$zm.age }#end if if (zlog){ - zm.patch = ifelse(zm.patch %>% 0.0,zm.patch,NA) + zm.patch = ifelse(zm.patch %gt% 0.0,zm.patch,NA) }else if (this.vnam %in% "bowen"){ zm.patch = pmax(bmn,pmin(bmx,zm.patch)) + 0. * zm.patch }else if (this.vnam %in% "tratio"){ @@ -5056,7 +5056,7 @@ if (plot.xyz.patch){ # Update range. # #---------------------------------------------------------------------------# if (zlog){ - mm.patch = ifelse(mm.patch %>% 0.0,mm.patch,NA) + mm.patch = ifelse(mm.patch %gt% 0.0,mm.patch,NA) }else if (this.vnam %in% "bowen"){ mm.patch = pmax(bmn,pmin(bmx,mm.patch)) + 0. * mm.patch }else if (this.vnam %in% "tratio"){ diff --git a/ED/Template/compare_patch.r b/ED/Template/compare_patch.r index 9c55a3d1b..fdcf3e9b9 100644 --- a/ED/Template/compare_patch.r +++ b/ED/Template/compare_patch.r @@ -145,7 +145,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "zupr.gpp" , desc = "GPP - Upper canopy" , unit = "kgwom2oday" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -156,7 +156,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "zmid.gpp" , desc = "GPP - Mid-canopy" , unit = "kgwom2oday" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -167,7 +167,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "zlwr.gpp" , desc = "GPP - Lower canopy" , unit = "kgwom2oday" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -178,7 +178,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "gpp" , desc = "Gross primary productivity" , unit = "kgcom2oyr" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = TRUE , clprof = "gpp" , clcum = "nplant" @@ -189,7 +189,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "npp" , desc = "Net primary productivity" , unit = "kgcom2oyr" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = TRUE , clprof = "npp" , clcum = "nplant" @@ -200,7 +200,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "plant.resp" , desc = "Plant respiration" , unit = "kgcom2oyr" - , cscheme = "iatlas" + , cscheme = "ibrbg" , qmean = TRUE , clprof = "plant.resp" , clcum = "nplant" @@ -211,7 +211,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "cba" , desc = "Carbon balance" , unit = "kgcom2oyr" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = FALSE , clprof = "cba" , clcum = NA_character_ @@ -222,7 +222,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "reco" , desc = "Ecosystem respiration" , unit = "kgcom2oyr" - , cscheme = "iatlas" + , cscheme = "ibrbg" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -233,7 +233,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "nep" , desc = "Net Ecosystem Productivity" , unit = "kgcom2oyr" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -244,7 +244,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "hflxca" , desc = "Sensible heat flux" , unit = "wom2" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -255,7 +255,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "wflxca" , desc = "Water vapour flux" , unit = "kgwom2oday" - , cscheme = "ipanoply" + , cscheme = "rdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -266,7 +266,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "transp" , desc = "Transpiration" , unit = "kgwom2oday" - , cscheme = "ipanoply" + , cscheme = "rdbu" , qmean = TRUE , clprof = "transp" , clcum = "nplant" @@ -277,7 +277,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "rshortup" , desc = "Upward SW radiation" , unit = "wom2" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -288,7 +288,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "rlongup" , desc = "Upward LW radiation" , unit = "wom2" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -299,7 +299,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "parup" , desc = "Upward PAR" , unit = "umolom2os" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -310,7 +310,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.gnd" , desc = "Ground absorption - PAR" , unit = "umolom2os" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -321,7 +321,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "rshort.gnd" , desc = "Ground absorption - SW" , unit = "umolom2os" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -332,7 +332,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "sm.stress" , desc = "Soil moisture stress" , unit = "empty" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = NA_character_ , clcum = NA_character_ @@ -343,7 +343,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.gpp" , desc = "Leaf GPP" , unit = "kgcom2loyr" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = TRUE , clprof = "leaf.gpp" , clcum = NA_character_ @@ -354,7 +354,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.temp" , desc = "Mean Leaf Temperature" , unit = "degC" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.temp" , clcum = NA_character_ @@ -365,7 +365,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.vpd" , desc = "Mean Leaf VPD" , unit = "hpa" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.vpd" , clcum = NA_character_ @@ -376,7 +376,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.gsw" , desc = "Stomatal conductance" , unit = "kgwom2loday" - , cscheme = "ipanoply" + , cscheme = "rdbu" , qmean = TRUE , clprof = "leaf.gsw" , clcum = NA_character_ @@ -387,7 +387,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.leaf" , desc = "Leaf Absorption - PAR" , unit = "umolom2os" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.par" , clcum = "lai" @@ -398,7 +398,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.leaf.beam" , desc = "Leaf Absorption - Direct PAR" , unit = "umolom2os" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.par.beam" , clcum = "lai" @@ -409,7 +409,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "par.leaf.diff" , desc = "Leaf Absorption - Diffuse PAR" , unit = "umolom2os" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.par.diff" , clcum = "lai" @@ -420,7 +420,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.par" , desc = "Norm. Leaf Absorption - PAR" , unit = "umolom2los" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.par" , clcum = NA_character_ @@ -431,7 +431,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.par.beam" , desc = "Norm. Leaf Absorption - Direct PAR" , unit = "umolom2los" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.par.beam" , clcum = NA_character_ @@ -442,7 +442,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "leaf.par.diff" , desc = "Norm. Leaf Absorption - Diffuse PAR" , unit = "umolom2los" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = TRUE , clprof = "leaf.par.diff" , clcum = NA_character_ @@ -453,7 +453,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "assim.light" , desc = "Light-limited Assimilation" , unit = "umolom2los" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = TRUE , clprof = "assim.light" , clcum = NA_character_ @@ -464,7 +464,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "assim.rubp" , desc = "RuBP-limited Assimilation" , unit = "umolom2los" - , cscheme = "atlas" + , cscheme = "brbg" , qmean = TRUE , clprof = "assim.rubp" , clcum = NA_character_ @@ -475,7 +475,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "phap.lpar" , desc = "Daytime PAR absorportion by leaves" , unit = "hpa" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -486,7 +486,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "phap.lvpd" , desc = "Daytime Leaf VPD" , unit = "hpa" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -497,7 +497,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "phap.ltemp" , desc = "Daytime Leaf Temperature" , unit = "degC" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -508,7 +508,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "phap.sms" , desc = "Daytime soil moisture stress" , unit = "empty" - , cscheme = "panoply" + , cscheme = "irdbu" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -519,7 +519,7 @@ n = n + 1 compvar[[ n]] = list( vnam = "phap.lgsw" , desc = "Daytime stomatal conductance" , unit = "kgwom2loday" - , cscheme = "ipanoply" + , cscheme = "rdbu" , qmean = FALSE , clprof = NA_character_ , clcum = NA_character_ @@ -713,8 +713,8 @@ msize = plotsize(proje=FALSE,paper=mpaper,extendfc="lon",extfactor=f.ext/2) # Define some utility functions to determine derived patch variables. # #------------------------------------------------------------------------------------------# sum.soil.c.fun = function(fast,slow,struct) fast + slow + struct -bowen.fun = function(h,qw) ifelse(test = qw %!=% 0., yes = h/qw, no = NA) -tratio.fun = function(tp,w) ifelse(test = w %!=% 0., yes = tp/w, no = NA) +bowen.fun = function(h,qw) ifelse(test = qw %ne% 0., yes = h/qw, no = NA) +tratio.fun = function(tp,w) ifelse(test = w %ne% 0., yes = tp/w, no = NA) discard.fun = function(x) x * NA #------------------------------------------------------------------------------------------# @@ -741,7 +741,7 @@ layer.gpp.one.fun = function(dat,top,bot){ #------ We can't process empty data frames. --------------------------------------------# if (nrow(dat) > 0){ #----- Discard empty layers. --------------------------------------------------------# - dat = dat[dat$lai %>% 0,,drop=FALSE] + dat = dat[dat$lai %gt% 0,,drop=FALSE] #------------------------------------------------------------------------------------# }#end if (nrow(dat) > 0) #---------------------------------------------------------------------------------------# @@ -800,7 +800,7 @@ layer.gpp.one.fun = function(dat,top,bot){ #------ We can't process empty data frames. --------------------------------------------# if (nrow(dat) > 0){ #----- Discard empty layers. --------------------------------------------------------# - dat = dat[dat$lai %>% 0,,drop=FALSE] + dat = dat[dat$lai %gt% 0,,drop=FALSE] #------------------------------------------------------------------------------------# }#end if (nrow(dat) > 0) #---------------------------------------------------------------------------------------# diff --git a/ED/Template/compare_profiles.r b/ED/Template/compare_profiles.r index 79015524d..7219f4329 100644 --- a/ED/Template/compare_profiles.r +++ b/ED/Template/compare_profiles.r @@ -1810,7 +1810,7 @@ if (plot.site){ # for relative components, to avoid weird results. # #------------------------------------------------------------------------------# sel.day = tapply(X=model$diel[mn],INDEX=model$hour[mn],FUN=commonest) - sel.day = sel.day %==% 2 + sel.day = sel.day %eq% 2 #------------------------------------------------------------------------------# diff --git a/ED/Template/make_joborder.r b/ED/Template/make_joborder.r index 584a54388..3370fbbb2 100644 --- a/ED/Template/make_joborder.r +++ b/ED/Template/make_joborder.r @@ -29,6 +29,9 @@ lonlat = NULL # NULL - define runs local # (varrun/varlabel) #lonlat = file.path(here,"lonlat_input.txt") # Not NULL - read lon/lat from file, # and finish up settings below +add.coord = TRUE # Add coordinates to names +varalways = "ifire" # Variables to always appear in the + # jobname #------------------------------------------------------------------------------------------# @@ -132,128 +135,129 @@ if (! defjob && is.null(lonlat)){ #------------------------------------------------------------------------------------------# # Default properties. # #------------------------------------------------------------------------------------------# -default = list( run = "unnamed" - , iata = "xxx" - , lon = 0.00 - , lat = 0.00 - , yeara = "1967" - , montha = "01" - , daya = "01" - , timea = "0000" - , yearz = "2013" - , monthz = "01" - , dayz = "01" - , timez = "0000" - , init.mode = 6 - , iscenario = "default" - , isizepft = 0 - , iage = 30 - , imaxcohort = 50 - , isoilflg = 1 - , istext = 1 - , sand = -1.0 - , clay = -1.0 - , slsoc = 0.0266 - , slph = 4.7 - , slcec = 0.124 - , sldbd = 1192. - , depth = "F" - , isoil.hydro = 2 - , isoilbc = 1 - , sldrain = 90. - , scolour = 16 - , slzres = 0 - , queue = "linux.q" - , met.driver = "tower" - , dtlsm = 600. - , month.yrstep = 1 - , iphysiol = 3 - , vmfact.c3 = 1.00 - , vmfact.c4 = 1.00 - , mphoto.trc3 = 8.0 - , mphoto.tec3 = 7.2 - , mphoto.c4 = 4.0 - , bphoto.blc3 = 10000. - , bphoto.nlc3 = 1000. - , bphoto.c4 = 10000. - , kw.grass = 25. - , kw.tree = 20. - , gamma.c3 = 0.015 - , gamma.c4 = 0.025 - , d0.grass = 0.016 - , d0.tree = 0.016 - , alpha.c3 = 0.080 - , alpha.c4 = 0.040 - , klowco2 = round(0.7/39 * 1.e6) - , decomp.scheme = 5 - , rrffact = 1.000 - , growthresp = 0.300 - , lwidth.grass = 0.05 - , lwidth.bltree = 0.05 - , lwidth.nltree = 0.05 - , q10.c3 = 2.21 - , q10.c4 = 2.21 - , h2o.limit = 5 - , imort.scheme = 1 - , ddmort.const = 0.8 - , cbr.scheme = 0 - , isfclyrm = 4 - , icanturb = 0 - , ubmin = 1.00 - , ugbmin = 0.40 - , ustmin = 0.10 - , gamm = 13.0 - , gamh = 13.0 - , tprandtl = 1.00 - , ribmax = 0.50 - , atmco2 = 400. - , thcrit = -1.20 - , sm.fire = -1.40 - , ifire = 0 - , fire.parm = 0.5 - , ipercol = 0 - , runoff.time = 3600. - , imetrad = 5 - , ibranch = 1 - , icanrad = 2 - , ihrzrad = 0 - , crown.mod = 0 - , ltrans.vis = 0.05 - , lreflect.vis = 0.10 - , ltrans.nir = 0.200 - , lreflect.nir = 0.400 - , orient.tree = +0.100 - , orient.grass = -0.300 - , clump.tree = 0.80 - , clump.grass = 0.80 - , igoutput = 0 - , ivegtdyn = 1 - , ihydro = 0 - , istemresp = 1 - , istomata = 0 - , iplastic = 2 - , icarbonmort = 2 - , ihydromort = 0 - , igndvap = 0 - , iphen = -1 - , iallom = 3 - , ieconomics = 1 - , igrass = 1 - , ibigleaf = 0 - , integ.scheme = 1 - , nsub.euler = 50 - , irepro = 3 - , treefall = 0.0100 - , ianth.disturb = 0 - , ianth.dataset = "glu-331" - , sl.scale = 0 - , sl.yr.first = 1992 - , sl.nyrs = 50. - , biomass.harv = 0. - , skid.area = 1.0 - , skid.small = 0.60 - , skid.large = 1.00 - , felling.small = 0.35 +default = list( run = "unnamed" + , iata = "xxx" + , lon = 0.00 + , lat = 0.00 + , yeara = "1967" + , montha = "01" + , daya = "01" + , timea = "0000" + , yearz = "2013" + , monthz = "01" + , dayz = "01" + , timez = "0000" + , init.mode = 6 + , iscenario = "default" + , isizepft = 0 + , iage = 30 + , imaxcohort = 50 + , isoilflg = 1 + , istext = 1 + , sand = -1.0 + , clay = -1.0 + , slsoc = 0.0266 + , slph = 4.7 + , slcec = 0.124 + , sldbd = 1192. + , depth = "F" + , isoil.hydro = 2 + , isoilbc = 1 + , sldrain = 90. + , scolour = 16 + , slzres = 0 + , queue = "linux.q" + , met.driver = "tower" + , dtlsm = 600. + , month.yrstep = 1 + , iphysiol = 3 + , vmfact.c3 = 1.00 + , vmfact.c4 = 1.00 + , mphoto.trc3 = 8.0 + , mphoto.tec3 = 7.2 + , mphoto.c4 = 4.0 + , bphoto.blc3 = 10000. + , bphoto.nlc3 = 1000. + , bphoto.c4 = 10000. + , kw.grass = 25. + , kw.tree = 20. + , gamma.c3 = 0.015 + , gamma.c4 = 0.025 + , d0.grass = 0.016 + , d0.tree = 0.016 + , alpha.c3 = 0.080 + , alpha.c4 = 0.040 + , klowco2 = round(0.7/39 * 1.e6) + , decomp.scheme = 5 + , rrffact = 1.000 + , growthresp = 0.300 + , lwidth.grass = 0.05 + , lwidth.bltree = 0.05 + , lwidth.nltree = 0.05 + , q10.c3 = 2.21 + , q10.c4 = 2.21 + , h2o.limit = 5 + , imort.scheme = 1 + , ddmort.const = 0.8 + , cbr.scheme = 0 + , isfclyrm = 3 + , icanturb = 0 + , ubmin = 1.00 + , ugbmin = 0.40 + , ustmin = 0.10 + , gamm = 13.0 + , gamh = 13.0 + , tprandtl = 1.00 + , ribmax = 0.50 + , atmco2 = 400. + , thcrit = -1.20 + , sm.fire = -1.40 + , ifire = 0 + , fire.parm = 0.5 + , ipercol = 0 + , runoff.time = 3600. + , imetrad = 5 + , ibranch = 1 + , icanrad = 2 + , ihrzrad = 0 + , crown.mod = 0 + , ltrans.vis = 0.05 + , lreflect.vis = 0.10 + , ltrans.nir = 0.200 + , lreflect.nir = 0.400 + , orient.tree = +0.100 + , orient.grass = -0.300 + , clump.tree = 0.80 + , clump.grass = 0.80 + , igoutput = 0 + , ivegtdyn = 1 + , ihydro = 0 + , istemresp = 1 + , istomata = 0 + , iplastic = 2 + , icarbonmort = 2 + , ihydromort = 0 + , igndvap = 0 + , iphen = -1 + , iallom = 3 + , ieconomics = 1 + , igrass = 1 + , ibigleaf = 0 + , integ.scheme = 1 + , nsub.euler = 50 + , irepro = 3 + , treefall = 0.0100 + , ianth.disturb = 0 + , ianth.dataset = "glu-331" + , sl.scale = 0 + , sl.yr.first = 1992 + , sl.nyrs = 50. + , biomass.harv = 0. + , skid.area = 1.0 + , skid.dbh.thresh = 30. + , skid.small = 0.60 + , skid.large = 1.00 + , felling.small = 0.35 ) #end list #------------------------------------------------------------------------------------------# @@ -302,17 +306,17 @@ for (n in sequence(nvars)){ joborder$felling.small = sapply(myruns$sl.type,FUN=switch,ril=0.35,cvl=0.10,NA) }else if (name.now %in% "ihydrodyn"){ idx = myruns$ihydrodyn + 1 - joborder$ihydro = c(0,0,1)[idx] - joborder$istemresp = c(0,1,1)[idx] - joborder$istomata = c(0,0,1)[idx] - joborder$growthresp = c(0.30,0.45,0.45)[idx] - joborder$iphen = c(3,3,4)[idx] - joborder$iplastic = c(2,3,3)[idx] - joborder$icarbonmort = c(1,2,2)[idx] - joborder$ihydromort = c(0,0,1)[idx] - joborder$iallom = c(3,4,4)[idx] - joborder$h2o.limit = c(5,5,4)[idx] - joborder$igrass = c(1,1,0)[idx] + joborder$ihydro = c( 0, 1, 1, 1, 1, 1)[idx] + joborder$istemresp = c( 0, 0, 1, 1, 0, 0)[idx] + joborder$istomata = c( 0, 1, 1, 1, 1, 1)[idx] + joborder$growthresp = c(0.30,0.45,0.45,0.40,0.40,0.40)[idx] + joborder$iphen = c( 2, 2, 4, 4, 3, 5)[idx] + joborder$iplastic = c( 2, 2, 3, 3, 2, 2)[idx] + joborder$icarbonmort = c( 1, 1, 2, 2, 1, 1)[idx] + joborder$ihydromort = c( 0, 0, 1, 1, 0, 0)[idx] + joborder$iallom = c( 3, 3, 4, 3, 3, 5)[idx] + joborder$h2o.limit = c( 5, 3, 4, 3, 3, 3)[idx] + joborder$igrass = c( 1, 0, 0, 0, 0, 0)[idx] }else if (name.now %in% names(joborder)){ joborder[[name.now]] = myruns[[name.now]] }else{ @@ -344,6 +348,11 @@ if ( "biomass.harv" %in% names(varrun)){ )#end redundant forbidden = forbidden | redundant }#end if ("biomass.harv" %in% names(varrun)) +if ( all(c("ifire","sm.fire") %in% names(varrun))){ + smf.min = min(varrun$sm.fire) + redundant = joborder$ifire == 0 & joborder$sm.fire != smf.min + forbidden = forbidden | redundant +}#end if ( "ifire" %in% names(varrun)) joborder = joborder[! forbidden,] myruns = myruns[! forbidden,] nruns = nrow(myruns) @@ -421,6 +430,18 @@ if (is.null(lonlat)){ #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # In case coordinates are sought, add them right after iata. # + #---------------------------------------------------------------------------------------# + if (add.coord){ + idx = match(varrun$iata,poilist$iata) + lonlab = sprintf("lon%+06.2f",poilist$lon[idx]) + latlab = sprintf("lat%+06.2f",poilist$lat[idx]) + varlabel$iata = paste(varlabel$iata,lonlab,latlab,sep="_") + }#end if + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Build the name of the simulations. The polygon name always stays, even if the run # @@ -430,7 +451,7 @@ if (is.null(lonlat)){ runname = defname[! forbidden] metname = "" }else{ - stay = which(names(varlabel) %in% c("iata")) + stay = which(names(varlabel) %in% c("iata",varalways)) bye = which(sapply(X=varlabel,FUN=length) == 1) bye = bye[! bye %in% stay] if (length(bye) > 0) for (b in sort(bye,decreasing=TRUE)) varlabel[[b]] = NULL @@ -452,11 +473,10 @@ if (is.null(lonlat)){ #---------------------------------------------------------------------------------------# # Job name by appending longitude and latitude. # #---------------------------------------------------------------------------------------# - joborder$run = paste( joborder$iata - , "_lon",sprintf("%+06.2f",joborder$lon) - , "_lat",sprintf("%+06.2f",joborder$lat) - , sep = "" - )#end paste + joborder$run = paste0( joborder$iata + , "_lon",sprintf("%+06.2f",joborder$lon) + , "_lat",sprintf("%+06.2f",joborder$lat) + )#end paste0 #---------------------------------------------------------------------------------------# }#end if #------------------------------------------------------------------------------------------# diff --git a/ED/Template/plot_vulnerable.r b/ED/Template/plot_vulnerable.r index 25eb83397..b57e54ad2 100644 --- a/ED/Template/plot_vulnerable.r +++ b/ED/Template/plot_vulnerable.r @@ -101,7 +101,7 @@ ed22var[[ 1]] = list( vname = "et" , plog = FALSE , min = 600 , max = 1600 - , cscheme = "ipanoply" + , cscheme = "rdbu" )#end list ed22var[[ 2]] = list( vname = "transp" , desc = "Transpiration" @@ -109,7 +109,7 @@ ed22var[[ 2]] = list( vname = "transp" , plog = FALSE , min = 400 , max = 1000 - , cscheme = "clife" + , cscheme = "prgn" )#end list ed22var[[ 3]] = list( vname = "gpp" , desc = "Gross Primary Productivity" @@ -117,7 +117,7 @@ ed22var[[ 3]] = list( vname = "gpp" , plog = FALSE , min = 1.5 , max = 3.5 - , cscheme = "clife" + , cscheme = "prgn" )#end list ed22var[[ 4]] = list( vname = "npp" , desc = "Net Primary Productivity" @@ -125,7 +125,7 @@ ed22var[[ 4]] = list( vname = "npp" , plog = FALSE , min = 1.2 , max = 3.0 - , cscheme = "clife" + , cscheme = "prgn" )#end list ed22var[[ 5]] = list( vname = "rshort" , desc = "Incoming SW Radiation" @@ -133,7 +133,7 @@ ed22var[[ 5]] = list( vname = "rshort" , plog = FALSE , min = 170 , max = 230 - , cscheme = "icloudy" + , cscheme = "ibugy" )#end list ed22var[[ 6]] = list( vname = "atm.temp" , desc = "Air temperature" @@ -141,7 +141,7 @@ ed22var[[ 6]] = list( vname = "atm.temp" , plog = FALSE , min = 15 , max = 27 - , cscheme = "panoply" + , cscheme = "irdbu" )#end list ed22var[[ 7]] = list( vname = "atm.vpd" , desc = "Air VPD" @@ -149,7 +149,7 @@ ed22var[[ 7]] = list( vname = "atm.vpd" , plog = FALSE , min = 5 , max = 21 - , cscheme = "panoply" + , cscheme = "irdbu" )#end list ed22var[[ 8]] = list( vname = "agb" , desc = "Above-ground biomass" @@ -157,7 +157,7 @@ ed22var[[ 8]] = list( vname = "agb" , plog = FALSE , min = 0 , max = 22 - , cscheme = "clife" + , cscheme = "prgn" )#end list ed22var[[ 9]] = list( vname = "bsa" , desc = "Basal Area" @@ -165,7 +165,7 @@ ed22var[[ 9]] = list( vname = "bsa" , plog = FALSE , min = 0 , max = 32 - , cscheme = "clife" + , cscheme = "prgn" )#end list ed22var[[10]] = list( vname = "lai" , desc = "Leaf area index" @@ -173,7 +173,7 @@ ed22var[[10]] = list( vname = "lai" , plog = FALSE , min = 1.5 , max = 4.5 - , cscheme = "clife" + , cscheme = "prgn" )#end list #------------------------------------------------------------------------------------------# @@ -183,7 +183,7 @@ ed22var[[10]] = list( vname = "lai" statvar = list() statvar[[ 1]] = list( vname = "location" , desc = "Location Parameter" - , cscheme = "ipanoply" + , cscheme = "rdbu" , unit = "mmoyr" , min = 900 , max = 3500 @@ -191,7 +191,7 @@ statvar[[ 1]] = list( vname = "location" )#end list statvar[[ 2]] = list( vname = "scale" , desc = "Scale Parameter" - , cscheme = "hue.hot" + , cscheme = "magma" , unit = "mmoyr" , min = 100 , max = 1000 @@ -199,7 +199,7 @@ statvar[[ 2]] = list( vname = "scale" )#end list statvar[[ 3]] = list( vname = "shape" , desc = "Shape Parameter" - , cscheme = "ipanoply" + , cscheme = "rdbu" , unit = "empty" , min = -5 , max = +5 @@ -207,7 +207,7 @@ statvar[[ 3]] = list( vname = "shape" )#end list statvar[[ 4]] = list( vname = "dlocation.rel" , desc = "Vulnerability (Location)" - , cscheme = "hue.hot" + , cscheme = "magma" , unit = "empty" , min = -3 , max = 0 @@ -215,7 +215,7 @@ statvar[[ 4]] = list( vname = "dlocation.rel" )#end list statvar[[ 5]] = list( vname = "dscale.rel" , desc = "Vulnerability (Scale)" - , cscheme = "ihue.hot" + , cscheme = "imagma" , unit = "empty" , min = 0.0 , max = 3.0 @@ -223,7 +223,7 @@ statvar[[ 5]] = list( vname = "dscale.rel" )#end list statvar[[ 6]] = list( vname = "dshape.abs" , desc = "Vulnerability (Shape)" - , cscheme = "hue.hot" + , cscheme = "magma" , unit = "empty" , min = -3.0 , max = 0.0 @@ -231,7 +231,7 @@ statvar[[ 6]] = list( vname = "dshape.abs" )#end list statvar[[ 7]] = list( vname = "mean" , desc = "Mean" - , cscheme = "ipanoply" + , cscheme = "rdbu" , unit = "mmoyr" , min = 900 , max = 3500 @@ -239,7 +239,7 @@ statvar[[ 7]] = list( vname = "mean" )#end list statvar[[ 8]] = list( vname = "sdev" , desc = "Standard Deviation" - , cscheme = "panoply" + , cscheme = "irdbu" , unit = "mmoyr" , min = 100 , max = 800 @@ -247,7 +247,7 @@ statvar[[ 8]] = list( vname = "sdev" )#end list statvar[[ 9]] = list( vname = "skew" , desc = "Skewness" - , cscheme = "ipanoply" + , cscheme = "rdbu" , unit = "empty" , min = -1.5 , max = 1.5 @@ -255,7 +255,7 @@ statvar[[ 9]] = list( vname = "skew" )#end list statvar[[10]] = list( vname = "sn.cvar" , desc = "Coeff. of Variation (SN)" - , cscheme = "panoply" + , cscheme = "irdbu" , unit = "empty" , min = 0.1 , max = 0.3 @@ -263,7 +263,7 @@ statvar[[10]] = list( vname = "sn.cvar" )#end list statvar[[11]] = list( vname = "norm.cvar" , desc = "Coeff. of Variation" - , cscheme = "panoply" + , cscheme = "irdbu" , unit = "empty" , min = 0.10 , max = 0.25 @@ -434,9 +434,7 @@ nptref = length(ptref) #------ List of schemes to use col1. ------------------------------------------------------# -col1.schemes = c("panoply","ipanoply","muitas","imuitas","hue.purple","ihue.purple" - ,"cloudy","icloudy","hue.blue","ihue.blue","hue.green","ihue.green" - ,"clife","iclife","hue.cold","ihue.cold") +col1.schemes = c("irdbu","rdbu","bugy","ibugy","prgn","iprgn","magma","imagma") #------------------------------------------------------------------------------------------# @@ -1628,7 +1626,7 @@ for (v in sequence(nstatvar)){ cat (" + Plot the RMSE for each site and data set...","\n") #---- Select colour for sites. ---------------------------------------------------------# - if ("panoply" %in% col1.schemes){ + if ("irdbu" %in% col1.schemes){ col.key = "col1" }else{ col.key = "col2" @@ -1732,7 +1730,7 @@ cat (" + Plot the RMSE for each site and data set...","\n") , fixed.ylim = TRUE , xlim = longitude.limit , ylim = latitude.limit - , colour.palette = panoply + , colour.palette = irdbu , levels = this.levels , nlevels = this.nlevels , pch = pch.wmo @@ -2145,7 +2143,7 @@ for (v in sequence(nthree.dim)){ n.pretty.fourth = length(pretty.fourth) fourth.breaks = c(-Inf,pretty.fourth[-c(1,n.pretty.fourth)],Inf) fourth.colour = cut(ymean[[vname.fourth]],fourth.breaks) - fourth.cscheme = clife(n=length(levels(fourth.colour))-1) + fourth.cscheme = prgn(n=length(levels(fourth.colour))-1) fourth.colour = fourth.cscheme[match(fourth.colour,levels(fourth.colour))] #---------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/check_run.sh b/ED/Template/scripts/PBS/check_run.sh index 4bd3f5e8c..f2146e4ed 100755 --- a/ED/Template/scripts/PBS/check_run.sh +++ b/ED/Template/scripts/PBS/check_run.sh @@ -86,128 +86,129 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') #---------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/epost.sh b/ED/Template/scripts/PBS/epost.sh index 808fe44b4..0e87dcabf 100755 --- a/ED/Template/scripts/PBS/epost.sh +++ b/ED/Template/scripts/PBS/epost.sh @@ -62,39 +62,47 @@ global_queue="" # Queue sim_memory=0 # Memory per simulation. If zero, then it will be # automatically determined by the maximum number of tasks # per node. +skip_end=true # Skip processing in case the R script has already loaded + # all files through the end of the simulation + # (true/false). This is only used for "monthly"-based + # scripts (those marked with (*) in the table below). #------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# # Which scripts to run. # # # -# - read_monthly.r - This reads the monthly mean files (results can then be used for # -# plot_monthly.r, plot_yearly.r, and others, but it doesn't plot any- # -# thing.) # -# - yearly_ascii.r - This creates three ascii (csv) files with annual averages of # -# various variables. It doesn't have all possible variables as it is # -# intended to simplify the output for learning purposes. # -# - plot_monthly.r - This creates several plots based on the monthly mean output. # -# - plot_yearly.r - This creates plots with year time series. # -# - plot_ycomp.r - This creates yearly comparisons based on the monthly mean output. # -# - plot_povray.r - This creates yearly plots of the polygon using POV-Ray. # -# - plot_rk4.r - This creates plots from the detailed output for Runge-Kutta. # -# (patch-level only). # -# - plot_photo.r - This creates plots from the detailed output for Farquhar-Leuning. # -# - plot_rk4pc.r - This creates plots from the detailed output for Runge-Kutta. # -# (patch- and cohort-level). # -# - plot_budget.r - This creates plots from the detailed budget for Runge-Kutta. # -# (patch-level only). # -# - plot_eval_ed.r - This creates plots comparing model with eddy flux observations. # -# - plot_census.r - This creates plots comparing model with biometric data. # -# - whichrun.r - This checks the run status. # +# - read_monthly.r - (*) This reads the monthly mean files (results can then be used # +# for plot_monthly.r, plot_yearly.r, and others, but it doesn't plot # +# anything.) # +# - yearly_ascii.r - (*) This creates three ascii (csv) files with annual averages of # +# various variables. It doesn't have all possible variables as it # +# is intended to simplify the output for learning purposes. # +# - monthly_ascii.r - (*) This creates three ascii (csv) files with annual averages of # +# various variables. It doesn't have all possible variables as it # +# is intended to simplify the output for learning purposes. # +# - plot_monthly.r - (*) This creates several plots based on the monthly mean output. # +# - plot_yearly.r - (*) This creates plots with year time series. # +# - plot_ycomp.r - (*) This creates yearly comparisons based on the monthly mean # +# output. # +# - plot_povray.r - (*) This creates yearly plots of the polygon using POV-Ray. # +# - plot_rk4.r - This creates plots from the detailed output for Runge-Kutta. # +# (patch-level only). # +# - plot_photo.r - This creates plots from the detailed output for Farquhar-Leuning. # +# - plot_rk4pc.r - This creates plots from the detailed output for Runge-Kutta. # +# (patch- and cohort-level). # +# - plot_budget.r - This creates plots from the detailed budget for Runge-Kutta. # +# (patch-level only). # +# - plot_eval_ed.r - This creates plots comparing model with eddy flux observations. # +# - plot_census.r - This creates plots comparing model with biometric data. # +# - whichrun.r - This checks the run status. # # # # The following scripts should work too, but I haven't tested them. # -# - plot_daily.r - This creates plots from the daily mean output. # -# - plot_fast.r - This creates plots from the analysis files. # -# - patchprops.r - This creates simple plots showing the patch structure. # -# - reject_ed.r - This tracks the number of steps that were rejected, and what caused # -# the step to be rejected. # +# - plot_daily.r - This creates plots from the daily mean output. # +# - plot_fast.r - This creates plots from the analysis files. # +# - patchprops.r - This creates simple plots showing the patch structure. # +# - reject_ed.r - This tracks the number of steps that were rejected, and what # +# caused the step to be rejected. # #------------------------------------------------------------------------------------------# rscripts="plot_yearly.r" #rscripts="yearly_ascii.r" @@ -159,7 +167,7 @@ monthsdrought="c(12,1,2,3)" # List of months that get drought, if it starts late #------------------------------------------------------------------------------------------# # First check that the main path and e-mail have been set. If not, don't run. # #------------------------------------------------------------------------------------------# -if [ "x${here}" == "x" ] || [ "x${global_queue}" == "x" ] || [ "x${rscript}" == "x" ] +if [[ "x${here}" == "x" ]] || [[ "x${global_queue}" == "x" ]] || [[ "x${rscript}" == "x" ]] then echo " You must set some variables before running the script:" echo " Check variables \"here\", \"global_queue\" and \"rscript\"!" @@ -169,7 +177,7 @@ fi #----- Load settings. ---------------------------------------------------------------------# -if [ -s ${initrc} ] +if [[ -s ${initrc} ]] then . ${initrc} fi @@ -237,7 +245,7 @@ au*|ha*) #---------------------------------------------------------------------------------------# ;; esac -if [ ${n_cpt} -gt ${n_cpt_max} ] +if [[ ${n_cpt} -gt ${n_cpt_max} ]] then echo " Too many CPUs per task requested:" echo " Queue = ${global_queue}" @@ -276,6 +284,9 @@ read_monthly.r) yearly_ascii.r) epostkey="yasc" ;; +monthly_ascii.r) + epostkey="masc" + ;; r10_monthly.r) epostkey="rm10" ;; @@ -329,7 +340,7 @@ plot_fast.r) # If the script is here, then it could not find the script... And this should never # # happen, so interrupt the script! # #---------------------------------------------------------------------------------------# - echo " Script ${script} is not recognised by epost.sh!" + echo " Script ${rscript} is not recognised by epost.sh!" exit 1 #---------------------------------------------------------------------------------------# ;; @@ -342,18 +353,18 @@ esac #------------------------------------------------------------------------------------------# # Make sure memory does not exceed maximum amount that can be requested. # #------------------------------------------------------------------------------------------# -if [ ${sim_memory} -eq 0 ] +if [[ ${sim_memory} -eq 0 ]] then let sim_memory=${node_memory}/${n_tpn} let node_memory=${n_tpn}*${sim_memory} -elif [ ${sim_memory} -gt ${node_memory} ] +elif [[ ${sim_memory} -gt ${node_memory} ]] then echo "Simulation memory ${sim_memory} cannot exceed node memory ${node_memory}!" exit 99 else #------ Set memory and number of CPUs per task. ----------------------------------------# let n_tpn_try=${node_memory}/${sim_memory} - if [ ${n_tpn_try} -le ${n_tpn} ] + if [[ ${n_tpn_try} -le ${n_tpn} ]] then n_tpn=${n_tpn_try} let sim_memory=${node_memory}/${n_tpn} @@ -367,13 +378,13 @@ fi #----- Determine the number of polygons to run. -------------------------------------------# let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -if [ ${npolys} -lt 100 ] +if [[ ${npolys} -lt 100 ]] then ndig=2 -elif [ ${npolys} -lt 1000 ] +elif [[ ${npolys} -lt 1000 ]] then ndig=3 -elif [ ${npolys} -lt 10000 ] +elif [[ ${npolys} -lt 10000 ]] then ndig=4 else @@ -390,7 +401,7 @@ echo "Number of polygons: ${npolys}..." # Loop over all polygons. # #------------------------------------------------------------------------------------------# ff=0 -while [ ${ff} -lt ${npolys} ] +while [[ ${ff} -lt ${npolys} ]] do #---------------------------------------------------------------------------------------# @@ -410,128 +421,144 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + + #------ Last month and year for monthly-based scripts. ---------------------------------# + if [[ ${monthz} -eq 1 ]] + then + rm_monthz=12 + let rm_yearz=${yearz}-1 + else + let rm_monthz=${monthz}-1 + rm_yearz=${yearz} + fi + #------ Update the time. ---------------------------------------------------------------# + let rm_whenz=12*${rm_yearz}+${rm_monthz} #---------------------------------------------------------------------------------------# @@ -667,11 +694,11 @@ do #---- Cheat and force the met cycle to be the tower cycle. -----------------------------# - if [ ${useperiod} == "f" ] + if [[ ${useperiod} == "f" ]] then metcyca=${eftyeara} metcycz=${eftyearz} - elif [ ${useperiod} == "b" ] + elif [[ ${useperiod} == "b" ]] then metcyca=${bioyeara} metcycz=${bioyearz} @@ -683,7 +710,7 @@ do #---------------------------------------------------------------------------------------# # Switch years in case this is a specific drought run. # #---------------------------------------------------------------------------------------# - if [ ${droughtmark} == "TRUE" ] + if [[ ${droughtmark} == "TRUE" ]] then let yeara=${droughtyeara}-1 let yearz=${droughtyearz}+1 @@ -692,32 +719,21 @@ do - #----- Print a banner. -----------------------------------------------------------------# - if [ ${rscript} == "plot_census.r" ] && [ ${subcens} -eq 0 ] - then - echo "${ffout} - Skipping submission of ${rscript} for polygon: ${polyname}..." - else - echo "${ffout} - Copying script ${rscript} to polygon: ${polyname}..." - fi - #---------------------------------------------------------------------------------------# - - - #---------------------------------------------------------------------------------------# # Set up the time and output variables according to the script. # #---------------------------------------------------------------------------------------# case ${rscript} in - read_monthly.r|yearly_ascii.r|plot_monthly.r|plot_yearly.r|plot_ycomp.r|plot_census.r|plot_povray.r|r10_monthly.r) + read_monthly.r|yearly_ascii.r|monthly_ascii.r|plot_monthly.r|plot_yearly.r|plot_ycomp.r|plot_census.r|plot_povray.r|r10_monthly.r) #------------------------------------------------------------------------------------# # Scripts that are based on monthly means. The set up is the same, the only # # difference is in the output names. # #------------------------------------------------------------------------------------# #------ Check which period to use. --------------------------------------------------# - if [ ${useperiod} == "t" ] + if [[ ${useperiod} == "t" ]] then #------ One meteorological cycle. Check the type of meteorological driver. ------# case ${metdriver} in - Sheffield|WFDEI*|ERAINT*|MERRA2*|PGMF3*) + ERA5*|ERAINT*|MERRA2*|PGMF3*|Sheffield|WFDE5*|WFDEI*) thisyeara=${metcyca} thisyearz=${metcycz} ;; @@ -730,34 +746,34 @@ do thisyearz=${metcycz} for i in ${shiftiata} do - if [ "x${i}" == "x${polyiata}" ] + if [[ "x${i}" == "x${polyiata}" ]] then echo " -> Shifting met cycle" let metcycle=${metcycz}-${metcyca}+1 let deltayr=${shiftcycle}*${metcycle} let thisyeara=${metcyca}+${deltayr} let thisyearz=${metcycz}+${deltayr} - fi # end [ ${i} == ${iata} ] + fi # end [[ ${i} == ${iata} ]] done #end for i in ${shiftiata} ;; esac # ${metdriver} in #---------------------------------------------------------------------------------# - elif [ ${useperiod} == "u" ] + elif [[ ${useperiod} == "u" ]] then #----- The user said which period to use. ----------------------------------------# thisyeara=${yusera} thisyearz=${yuserz} #---------------------------------------------------------------------------------# - elif [ ${useperiod} == "f" ] + elif [[ ${useperiod} == "f" ]] then #----- The user said to use the eddy flux period. --------------------------------# thisyeara=${eftyeara} thisyearz=${eftyearz} #---------------------------------------------------------------------------------# - elif [ ${useperiod} == "b" ] + elif [[ ${useperiod} == "b" ]] then #----- The user said to use the eddy flux period. --------------------------------# thisyeara=${bioyeara} @@ -769,7 +785,7 @@ do thisyeara=${yeara} thisyearz=${yearz} #---------------------------------------------------------------------------------# - fi # end [ ${useperiod} == "t" ] + fi # end [[ ${useperiod} == "t" ]] #------------------------------------------------------------------------------------# @@ -779,6 +795,53 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Check whether or not to submit the task. -------------------------------------# + if [[ ${rscript} == "plot_census.r" ]] && [[ ${subcens} -eq 0 ]] + then + #---- No need to submit the job if plot_census.r and place doesn't have census. --# + submit_now=false + #---------------------------------------------------------------------------------# + elif ${skip_end} + then + status="${here}/${polyname}/rdata_month/status_${polyname}.txt" + if [[ -s ${status} ]] + then + #----- Retrieve current status of the post-processing. ------------------------# + st_yearz=$(cat ${status} | awk '{print $1}') + st_monthz=$(cat ${status} | awk '{print $2}') + let st_whenz=12*${st_yearz}+${st_monthz} + #------------------------------------------------------------------------------# + + #------------------------------------------------------------------------------# + # Compare the processed time with the last time needed for processing. # + #------------------------------------------------------------------------------# + if [[ ${st_whenz} -ge ${rm_whenz} ]] + then + #----- Skip submission because it has reached the end. ---------------------# + submit_now=false + #---------------------------------------------------------------------------# + else + #----- Run script as it has not reached the end yet. -----------------------# + submit_now=true + #---------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------# + + else + #----- File not find, run the script. -----------------------------------------# + submit_now=true + #------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------# + else + #----- Submit job. ---------------------------------------------------------------# + submit_now=true + #---------------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------------# ;; plot_eval_ed.r) #------------------------------------------------------------------------------------# @@ -786,7 +849,7 @@ do # Petrolina (output variables exist only for 2004, so we don't need to process # # all years). # #------------------------------------------------------------------------------------# - if [ ${metdriver} == "Petrolina" ] + if [[ ${metdriver} == "Petrolina" ]] then thismetcyca=2004 thismetcycz=2004 @@ -806,7 +869,7 @@ do thisyearz=${thismetcycz} for i in ${shiftiata} do - if [ "x${i}" == "x${polyiata}" ] + if [[ "x${i}" == "x${polyiata}" ]] then #----- Always use the true met driver to find the cycle shift. ----------------# echo " -> Shifting met cycle" @@ -815,7 +878,7 @@ do let thisyeara=${thismetcyca}+${deltayr} let thisyearz=${thismetcycz}+${deltayr} #------------------------------------------------------------------------------# - fi # end [ ${i} == ${iata} ] + fi # end [[ ${i} == ${iata} ]] done #end for i in ${shiftiata} #------------------------------------------------------------------------------------# @@ -826,6 +889,12 @@ do thismonthz=12 thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; plot_budget.r|plot_rk4.r|plot_rk4pc.r|plot_photo.r|reject_ed.r) @@ -835,7 +904,7 @@ do # at the first time step), so we normally skip the first day. # #------------------------------------------------------------------------------------# #----- Check whether to use the user choice of year or the default. -----------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -852,6 +921,12 @@ do thismonthz=${monthz} let thisdatea=${datea}+1 #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; @@ -860,7 +935,7 @@ do # Script with time-independent patch properties. No need to skip anything. # #------------------------------------------------------------------------------------# #----- Check whether to use the user choice of year or the default. -----------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -877,13 +952,19 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; plot_daily.r) #------------------------------------------------------------------------------------# # Script with daily means. No need to skip anything. # #------------------------------------------------------------------------------------# #----- Check whether to use the user choice of year or the default. -----------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -900,6 +981,12 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; plot_fast.r) @@ -907,7 +994,7 @@ do # Script with short-term averages (usually hourly). No need to skip any- # # thing. # #------------------------------------------------------------------------------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -924,6 +1011,12 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; esac #---------------------------------------------------------------------------------------# @@ -984,8 +1077,14 @@ do #----- Make sure this is not the census script for a site we don't have census. --------# - if [ ${rscript} != "plot_census.r" ] || [ ${subcens} -ne 0 ] + if ${submit_now} then + #----- Submit script. ---------------------------------------------------------------# + echo "${ffout} - Copying script ${rscript} to polygon: ${polyname}..." + #------------------------------------------------------------------------------------# + + + #----- Set script- and site-specific variables. -------------------------------------# epostjob="${epostkey}-${desc}-${polyname}" epostnow="${here}/${polyname}/${epostkey}_epost.sh" @@ -1017,7 +1116,7 @@ do case ${rscript} in plot_eval_ed.r) echo "/bin/rm -fr ${complete}" >> ${epostnow} - echo "while [ ! -s ${complete} ]" >> ${epostnow} + echo "while [[ ! -s ${complete} ]" >> ${epostnow} echo "do" >> ${epostnow} echo " sleep 3" >> ${epostnow} echo " ${epostexe}" >> ${epostnow} @@ -1065,7 +1164,7 @@ do if [[ ${nfail} -gt 0 ]] && [[ ${attempt} -eq ${nsubtry_max} ]] then echo " Failed. Giving up, check for errors in your script." - elif [ ${nfail} -eq 0 ] + elif [[ ${nfail} -eq 0 ]] then echo " Success." else @@ -1078,6 +1177,10 @@ do ;; esac #------------------------------------------------------------------------------------# + else + #----- Skip submission. -------------------------------------------------------------# + echo "${ffout} - Skipping submission of ${rscript} for polygon: ${polyname}..." + #------------------------------------------------------------------------------------# fi #---------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/spawn_poly.sh b/ED/Template/scripts/PBS/spawn_poly.sh index 45cd510bb..6747dbbc2 100755 --- a/ED/Template/scripts/PBS/spawn_poly.sh +++ b/ED/Template/scripts/PBS/spawn_poly.sh @@ -10,6 +10,8 @@ here=$(pwd) moi=$(whoami) #----- Description of this simulation, used to create unique job names. -------------------# desc=$(basename ${here}) +#----- Source path for ED code and executable. --------------------------------------------# +srcpath="${HOME}/EDBRAMS/ED" #----- Select main file system path. ------------------------------------------------------# ordinateur=$(hostname -s) case ${ordinateur} in @@ -23,11 +25,13 @@ bioinit="${fs0}/Data/ed2_data/site_bio_data" alsinit="${fs0}/Data/ed2_data/lidar_spline_bio_data" intinit="${fs0}/Data/ed2_data/lidar_intensity_bio_data" lutinit="${fs0}/Data/ed2_data/lidar_lookup_bio_data" +ebainit="${d_path}/ed2_data/lidar_eba_bio_data" biotype=0 # 0 -- "default" setting (isizepft controls default/nounder) # 1 -- isizepft controls number of PFTs, whereas iage controls patches. # 2 -- airborne lidar initialisation using return counts ("default"). # 3 -- airborne lidar initialisation using intensity counts. # 4 -- airborne lidar/inventory hybrid initialisation ("lookup table"). + # 5 -- airborne lidar (EBA Transects). # For lidar initialisation (2-4), isizepft is the disturbance history key. #----- Path and file prefix for init_mode = 5. --------------------------------------------# restart="${fs0}/Data/ed2_data/restarts_XXX" @@ -39,7 +43,7 @@ shefhead='SHEF_NCEP_DRIVER_DS314' metmaindef="${fs0}/Data/ed2_data" packdatasrc="${fs0}/Data/2scratch" #----- Path with land use scenarios. ------------------------------------------------------# -lumain="${fs0}/Data/lu_scenarios" +lumain="${fs0}/Data/ed2_data/lcluc_scenarios" #----- Path with other input data bases (soil texture, DGD, land mask, etc). --------------# inpmain="${fs0}/Data/ed2_data" #----- If submit is "n", we create paths but skip submission. -----------------------------# @@ -62,13 +66,24 @@ dateh="01" # Day timeh="0000" # Hour #----- Default tolerance. -----------------------------------------------------------------# toldef="0.01" -#----- Executable names. ------------------------------------------------------------------# -execname="ed_2.2-opt" # Normal executable, for most queues #----- Initialisation scripts. ------------------------------------------------------------# -initrc="${HOME}/.bashrc" # Initialisation script for most nodes +initrc="${HOME}/.bashrc" # Initialisation script for most nodes +#----- Executable names. ------------------------------------------------------------------# +execname="ed_2.2-opt" # Normal executable, for most queues +checkexec=true # Check executable #----- Settings for this group of polygons. -----------------------------------------------# -global_queue="verylongq" # Queue -n_cpt=8 # Number of cpus per task (it will be limited by maximum) +init_only=true # Run model initialisation only? + # This can be useful when the initialisation step + # demands much more memory than the time steps (e.g., + # when using lidar data to initialisate the model). +if ${init_only} +then + global_queue="shortq" # Queue + n_cpt=1 # Number of cpus per task (it will be limited by maximum) +else + global_queue="verylongq" # Queue + n_cpt=8 # Number of cpus per task (it will be limited by maximum) +fi #------------------------------------------------------------------------------------------# #==========================================================================================# #==========================================================================================# @@ -138,11 +153,30 @@ echo "Number of polygons: ${npolys}..." # script. # #------------------------------------------------------------------------------------------# exec_full="${here}/executable/${execname}" -if [ ! -s ${exec_full} ] +exec_src="${srcpath}/build/${execname}" +if [[ ! -s ${exec_full} ]] then echo "Executable file : ${exec_full} is not in the executable directory" echo "Copy the executable to the file before running this script!" exit 99 +elif ${checkexec} +then + #----- Check whether the executable is up to date. -------------------------------------# + idiff=$(diff ${exec_full} ${exec_src} 2> /dev/null | wc -l) + if [[ ${idiff} -gt 0 ]] + then + #----- Executable is not up to date, warn user and offer to update it. --------------# + echo "Executable ${exec_full} is not the same as the most recently compiled file." + echo "Most recent: ${exec_src}." + echo "Do you want to update the executable? [y/N]" + read update + update=$(echo ${update} | tr '[:upper:]' '[:lower:]') + case "${update}" in + y*) rsync - Putv ${exec_src} ${exec_full} ;; + esac + #------------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------------# fi #------------------------------------------------------------------------------------------# @@ -238,7 +272,6 @@ echo " Memory per cpu: ${sim_memory}" echo " CPUs per node: ${n_cpn}" echo " CPUs per task: ${n_cpt}" echo " Queue: ${global_queue}" -echo " Job Name: ${jobname}" echo " Total polygon count: ${npolys}" echo " " echo "------------------------------------------------" @@ -267,128 +300,143 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # In case this is an "init_only" run, impose final time to be the initial time. # + #---------------------------------------------------------------------------------------# + if ${init_only} + then + yearz=${yeara} + monthz=${montha} + datez=${datea} + timez=${timea} + fi #---------------------------------------------------------------------------------------# @@ -465,20 +513,20 @@ do # This step is necessary because we may have killed the run while it was # # writing, and as a result, the file may be corrupt. # #------------------------------------------------------------------------------------# - nhdf5=$(ls -1 ${here}/${polyname}/histo/* 2> /dev/null | wc -l) + nhdf5=$(ls -1 ${here}/${polyname}/histo/*.h5 2> /dev/null | wc -l) if [ ${nhdf5} -gt 0 ] then h5fine=0 while [ ${h5fine} -eq 0 ] do - lasthdf5=$(ls -1 ${here}/${polyname}/histo/* | tail -1) + lasthdf5=$(ls -1 ${here}/${polyname}/histo/*.h5 | tail -1) h5dump -H ${lasthdf5} 1> /dev/null 2> ${here}/badfile.txt if [ -s ${here}/badfile.txt ] then /bin/rm -fv ${lasthdf5} - nhdf5=$(ls -1 ${here}/${polyname}/histo/* 2> /dev/null | wc -l) + nhdf5=$(ls -1 ${here}/${polyname}/histo/*.h5 2> /dev/null | wc -l) if [ ${nhdf5} -eq 0 ] then h5fine=1 @@ -531,6 +579,35 @@ do #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # Run the small R script to generate specific observation times. # + #---------------------------------------------------------------------------------------# + /bin/rm -f ${here}/${polyname}/gen_obstimes.r + /bin/cp -f ${here}/Template/gen_obstimes.r ${here}/${polyname}/gen_obstimes.r + obstimes="${here}/${polyname}/gen_obstimes.r" + outtimes="${here}/${polyname}/out_obstimes.txt" + sed -i~ s@thispoly@${polyname}@g ${obstimes} + sed -i~ s@thisqueue@${queue}@g ${obstimes} + sed -i~ s@pathhere@${here}@g ${obstimes} + sed -i~ s@paththere@${here}@g ${obstimes} + sed -i~ s@thisyeara@${yeara}@g ${obstimes} + sed -i~ s@thismontha@${montha}@g ${obstimes} + sed -i~ s@thisdatea@${datea}@g ${obstimes} + sed -i~ s@thistimea@${timea}@g ${obstimes} + sed -i~ s@thisyearz@${yearz}@g ${obstimes} + sed -i~ s@thismonthz@${monthz}@g ${obstimes} + sed -i~ s@thisdatez@${datez}@g ${obstimes} + sed -i~ s@thistimez@${timez}@g ${obstimes} + sed -i~ s@thislon@${polylon}@g ${obstimes} + sed -i~ s@thislat@${polylat}@g ${obstimes} + R CMD BATCH --no-save --no-restore ${obstimes} ${outtimes} + while [[ ! -s ${here}/${polyname}/${polyname}_obstimes.txt ]] + do + sleep 0.2 + done + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # This should no longer occur, but it runtype is set to INITIAL, replace it with # @@ -773,6 +850,11 @@ do case ${iscenario} in default) case ${metdriver} in + ERA5_CHIRPS) + #----- ERA5 (CHIRPS precipitation, Brazilian Amazon only). -----------------------# + scentype="ERA5" + iscenario="ERA5_SOUTHAM_CHIRPS" + ;; ERAINT_CHIRPS) #----- ERA-Interim (CHIRPS precipitation). ---------------------------------------# scentype="ERA_Interim" @@ -823,6 +905,11 @@ do scentype="sheffield" iscenario="sheffield" ;; + WFDE5_CHIRPS) + #----- WFDEI (CHIRPS Precipitation). ---------------------------------------------# + scentype="WFDE5" + iscenario="WFDE5_SOUTHAM_CHIRPS" + ;; WFDEI_CHIRPS) #----- WFDEI (CHIRPS Precipitation). ---------------------------------------------# scentype="WFDEI" @@ -911,6 +998,12 @@ do metcycf=2003 imetavg=1 ;; + ERA5_CHIRPS) + metdriverdb="${fullscen}/${iscenario}_HEADER" + metcyc1=1981 + metcycf=2019 + imetavg=1 + ;; ERAINT_CHIRPS) metdriverdb="${fullscen}/${iscenario}_HEADER" metcyc1=1981 @@ -1061,6 +1154,12 @@ do metcycf=2010 imetavg=1 ;; + WFDE5_CHIRPS) + metdriverdb="${fullscen}/${iscenario}_HEADER" + metcyc1=1981 + metcycf=2018 + imetavg=2 + ;; WFDEI_CHIRPS) metdriverdb="${fullscen}/${iscenario}_HEADER" metcyc1=1981 @@ -1098,7 +1197,7 @@ do # Correct years so it is not tower-based or Sheffield. # #---------------------------------------------------------------------------------------# case ${iscenario} in - default|eft|shr|sheffield|WFDEI*|ERAINT*|MERRA2*|PGMF3*) + default|eft|shr|ERA5*|ERAINT*|MERRA2*|PGMF3*|Sheffield|WFDE5*|WFDEI*) echo "Nothing" > /dev/null ;; *) @@ -1155,6 +1254,12 @@ do ;; esac ;; + sa2-ril) + ludatabase="${lumain}/SimAmazonia2/ril/sa2_ril_" + ;; + sa2-cvl) + ludatabase="${lumain}/SimAmazonia2/cvl/sa2_cvl_" + ;; lurcp26) ludatabase="${lumain}/luh-1.1+rcp26_image/luh-1.1+rcp26_image-" ;; @@ -1274,8 +1379,8 @@ do ;; E) polynzg=16 - polyslz1="-4.500,-4.032,-3.584,-3.159,-2.757,-2.377,-2.021,-1.689,-1.382,-1.101," - polyslz2="-0.846,-0.620,-0.424,-0.260,-0.130,-0.040" + polyslz1="-5.000,-4.468,-3.963,-3.483,-3.030,-2.604,-2.205,-1.836,-1.495,-1.185," + polyslz2="-0.906,-0.660,-0.447,-0.271,-0.134,-0.040" polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," @@ -1309,6 +1414,15 @@ do polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; I) + polynzg=16 + polyslz1="-9.000,-7.934,-6.934,-5.999,-5.131,-4.329,-3.593,-2.925,-2.324,-1.790," + polyslz2="-1.325,-0.928,-0.600,-0.342,-0.155,-0.040" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; + J) polynzg=16 polyslz1="-10.50,-9.223,-8.029,-6.919,-5.891,-4.946,-4.084,-3.305,-2.609,-1.995," polyslz2="-1.464,-1.015,-0.648,-0.364,-0.161,-0.040" @@ -1317,6 +1431,15 @@ do polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; + K) + polynzg=16 + polyslz1="-12.00,-10.51,-9.118,-7.828,-6.640,-5.552,-4.563,-3.674,-2.883,-2.191" + polyslz2="-1.595,-1.096,-0.693,-0.383,-0.166,-0.040" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; P) polynzg=7 polyslz1="-0.580,-0.420,-0.300,-0.200,-0.120,-0.060,-0.020" @@ -1416,8 +1539,8 @@ do ;; E) polynzg=16 - polyslz1="-4.500,-3.967,-3.467,-3.000,-2.565,-2.164,-1.797,-1.462,-1.162,-0.895," - polyslz2="-0.662,-0.464,-0.300,-0.171,-0.077,-0.020" + polyslz1="-5.000,-4.397,-3.833,-3.307,-2.819,-2.371,-1.961,-1.590,-1.257,-0.964," + polyslz2="-0.709,-0.493,-0.316,-0.178,-0.080,-0.020" polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," @@ -1451,6 +1574,15 @@ do polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; I) + polynzg=16 + polyslz1="-9.000,-7.807,-6.706,-5.696,-4.775,-3.942,-3.195,-2.533,-1,954,-1.456," + polyslz2="-1.037,-0.694,-0.424,-0.225,-0.092,-0.020" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; + J) polynzg=16 polyslz1="-10.50,-9.076,-7.766,-6.569,-5.482,-4.504,-3.631,-2.862,-2.194,-1.622," polyslz2="-1.145,-0.759,-0.458,-0.239,-0.096,-0.020" @@ -1705,7 +1837,7 @@ do #----- Check whether to use SFILIN as restart or history. ------------------------------# - if [ ${runt} == "RESTORE" ] && [ ${forcehisto} -eq 1 ] + if [[ ${runt} == "RESTORE" ]] && [[ ${forcehisto} -eq 1 ]] then runt="HISTORY" year=${yearh} @@ -1713,125 +1845,192 @@ do date=${dateh} time=${timeh} thissfilin=${fullygrown} - elif [ ${runt} == "RESTORE" ] && [ ${initmode} -eq 5 ] + elif [[ ${runt} == "RESTORE" ]] then - if [ ! -s ${restart} ] - then - echo " Directory restart does not exist!" - echo " Change the variable restart at the beginning of the script" - exit 44 - else - runt="RESTORE" - thissfilin=${restart} - fi - elif [ ${runt} == "RESTORE" ] && [ ${initmode} -eq 6 ] - then - thissfilin=${fullygrown} - - - - #------------------------------------------------------------------------------------# - # Find the biometric files. This has been checked in spawn_poly.sh so they are # - # correct. Add a dummy name in case this is not supposed to be a biomass # - # initialisation run. # - #------------------------------------------------------------------------------------# - case ${biotype} in - 0) - #----- isizepft controls everything, and iage is ignored. ------------------------# - case ${isizepft} in - 0) - #----- Frankeinstein's under storey. ------------------------------------------# - thissfilin="${bioinit}/${polyiata}_default." - ;; - 1) - #----- No under storey. -------------------------------------------------------# - thissfilin="${bioinit}/${polyiata}_nounder." - ;; - 2) - #----- ALS initialisation. ----------------------------------------------------# - thissfilin="${bioinit}/${polyiata}_alsinit." - ;; - *) - #----- Invalid option. Stop the script. ---------------------------------------# - echo " Polygon: ${polyname}" - echo " IATA: ${polyiata}" - echo " ISIZEPFT: ${isizepft}" - echo "This IATA cannot be used by biomass initialisation with this ISIZEPFT!" - exit 57 - ;; - esac + case ${initmode} in + 5|7) + #---------------------------------------------------------------------------------# + # Initialise ED2 with hdf5 files, which should be in directory restart. # + #---------------------------------------------------------------------------------# + if [[ ! -s ${restart} ]] + then + echo " Directory restart does not exist!" + echo " Change the variable restart at the beginning of the script" + exit 44 + else + runt="RESTORE" + thissfilin=${restart} + fi #---------------------------------------------------------------------------------# ;; - 1) + 1|2|3|6|8) #---------------------------------------------------------------------------------# - # 'isizepft' controls how many PFTs to use. # + # Find the biometric files. This has been checked in spawn_poly.sh so they # + # are correct. Add a dummy name in case this is not supposed to be a biomass # + # initialisation run. # #---------------------------------------------------------------------------------# - case ${isizepft} in - 0|5) - pftname="pft05" - ;; - 2) - pftname="pft02" + case ${biotype} in + 0) + #----- isizepft controls everything, and iage is ignored. ---------------------# + case ${isizepft} in + 0) + #----- Frankeinstein's under storey. ---------------------------------------# + thissfilin="${bioinit}/${polyiata}_default." + ;; + 1) + #----- No under storey. ----------------------------------------------------# + thissfilin="${bioinit}/${polyiata}_nounder." + ;; + 2) + #----- ALS initialisation. -------------------------------------------------# + thissfilin="${bioinit}/${polyiata}_alsinit." + ;; + *) + #----- Invalid option. Stop the script. ------------------------------------# + echo " Polygon: ${polyname}" + echo " IATA: ${polyiata}" + echo " ISIZEPFT: ${isizepft}" + echo " INITMODE: ${initmode}" + echo "This IATA cannot be initialised with these ISIZEPFT and INITMODE!" + exit 57 + ;; + esac + #------------------------------------------------------------------------------# ;; - esac - #---------------------------------------------------------------------------------# - #---------------------------------------------------------------------------------# - # 'iage' controls how many patches to use. # - #---------------------------------------------------------------------------------# - case ${iage} in 1) - agename="age01" + #------------------------------------------------------------------------------# + # 'isizepft' controls how many PFTs to use. # + #------------------------------------------------------------------------------# + case ${isizepft} in + 0|5) + pftname="pft05" + ;; + 2) + pftname="pft02" + ;; + esac + #------------------------------------------------------------------------------# + + #------------------------------------------------------------------------------# + # 'iage' controls how many patches to use. # + #------------------------------------------------------------------------------# + case ${iage} in + 1) + agename="age01" + ;; + *) + agename="age00" + ;; + esac + #------------------------------------------------------------------------------# + + + + + #------------------------------------------------------------------------------# + # Check whether the site has the PFT and age structure. # + #------------------------------------------------------------------------------# + case ${polyiata} in + hvd|s77|fns|cau|and|par|tap|dcm) + thissfilin="${bioinit}/${polyiata}_default." + ;; + cax|s67|s83|m34|gyf|pdg|rja|pnz|ban) + thissfilin="${bioinit}/${polyiata}_${pftname}+${agename}." + ;; + *) + echo " Polygon: ${polyname}" + echo " IATA: ${polyiata}" + echo " IAGE: ${iage}" + echo " ISIZEPFT: ${isizepft}" + echo " INITMODE: ${initmode}" + echo "This IATA cannot be initiealised with these settings!" + exit 59 + ;; + esac + #------------------------------------------------------------------------------# ;; - *) - agename="age00" + 2) + #------------------------------------------------------------------------------# + # ALS initialisation. ISIZEPFT has disturbance history information. # + #------------------------------------------------------------------------------# + case ${polyiata} in + l[0-5][0-3]) + thissfilin="${alsinit}/${polyiata}." + ;; + *) + thissfilin="${alsinit}/${polyiata}_${isizepft}." + ;; + esac + #------------------------------------------------------------------------------# ;; - esac - #---------------------------------------------------------------------------------# - - - - - #---------------------------------------------------------------------------------# - # Check whether the site has the PFT and age structure. # - #---------------------------------------------------------------------------------# - case ${polyiata} in - hvd|s77|fns|cau|and|par|tap|dcm) - thissfilin="${bioinit}/${polyiata}_default." + 3) + #------------------------------------------------------------------------------# + # ALS initialisation using intensity. ISIZEPFT has disturbance history # + # information. # + #------------------------------------------------------------------------------# + thissfilin="${intinit}/${polyiata}_${isizepft}." + #------------------------------------------------------------------------------# ;; - cax|s67|s83|m34|gyf|pdg|rja|pnz|ban) - thissfilin="${bioinit}/${polyiata}_${pftname}+${agename}." + 4) + #------------------------------------------------------------------------------# + # ALS initialisation using the lookup table. ISIZEPFT has disturbance # + # history information. # + #------------------------------------------------------------------------------# + thissfilin="${lutinit}/${polyiata}_${isizepft}." + #------------------------------------------------------------------------------# ;; - *) - echo " Polygon: ${polyname}" - echo " IATA: ${polyiata}" - echo " IAGE: ${iage}" - echo " ISIZEPFT: ${isizepft}" - echo "This IATA cannot be used by biomass initialisation with this ISIZEPFT!" - exit 59 + 5) + #----- isizepft controls actual or majestic initialisation. -------------------# + case ${isizepft} in + 0) + #----- Actual sampling. ----------------------------------------------------# + thissfilin="${ebainit}/eba_actual_default." + #---------------------------------------------------------------------------# + ;; + 1) + #----- Majestic sampling. --------------------------------------------------# + thissfilin="${ebainit}/eba_majestic_default." + #---------------------------------------------------------------------------# + ;; + 2) + #----- Actual sampling + land use (pasture/cropland/plantation). -----------# + thissfilin="${ebainit}/eba_luactual_default." + #---------------------------------------------------------------------------# + ;; + 3) + #----- Majestic sampling + land use (pasture/cropland/plantation). ---------# + thissfilin="${ebainit}/eba_lumajestic_default." + #---------------------------------------------------------------------------# + ;; + *) + #----- Invalid option. Stop the script. ------------------------------------# + echo " Polygon: ${polyname}" + echo " IATA: ${polyiata}" + echo " ISIZEPFT: ${isizepft}" + echo " INITMODE: ${initmode}" + echo "This IATA cannot be initiealised with these settings!" + exit 57 + ;; + esac + #------------------------------------------------------------------------------# ;; esac #---------------------------------------------------------------------------------# ;; - 2) - #---------------------------------------------------------------------------------# - # ALS initialisation. ISIZEPFT has disturbance history information. # - #---------------------------------------------------------------------------------# - case ${polyiata} in - l[0-5][0-3]) - thissfilin="${alsinit}/${polyiata}." - ;; - *) - thissfilin="${alsinit}/${polyiata}_${isizepft}." - ;; - esac + *) + #----- No initial file needed; set the history file. -----------------------------# + thissfilin=${here}/${polyname}/histo/${polyname} #---------------------------------------------------------------------------------# ;; + #---------------------------------------------------------------------------------# esac #------------------------------------------------------------------------------------# else + #----- Set the history file. --------------------------------------------------------# thissfilin=${here}/${polyname}/histo/${polyname} + #------------------------------------------------------------------------------------# fi #---------------------------------------------------------------------------------------# @@ -1998,6 +2197,7 @@ do sed -i~ s@mydbhharv@${dbhharv}@g ${ED2IN} sed -i~ s@mybioharv@${bioharv}@g ${ED2IN} sed -i~ s@myskidarea@${skidarea}@g ${ED2IN} + sed -i~ s@myskiddbhthresh@${skiddbhthresh}@g ${ED2IN} sed -i~ s@myskidsmall@${skidsmall}@g ${ED2IN} sed -i~ s@myskidlarge@${skidlarge}@g ${ED2IN} sed -i~ s@myfellingsmall@${fellingsmall}@g ${ED2IN} @@ -2081,7 +2281,7 @@ do echo "Polygon population has gone extinct. No need to re-submit it." submit_now=false ;; - "CRASHED"|"METMISS"|"SIGSEGV"|"BAD_MET"|"STOPPED") + "CRASHED"|"HYDFAIL"|"METMISS"|"SIGSEGV"|"BAD_MET"|"STOPPED") echo "Polygon has serious errors. Script will not submit the job this time." submit_now=false ;; diff --git a/ED/Template/scripts/SLURM/check_run.sh b/ED/Template/scripts/SLURM/check_run.sh index 42ef6ad18..64f209cd3 100755 --- a/ED/Template/scripts/SLURM/check_run.sh +++ b/ED/Template/scripts/SLURM/check_run.sh @@ -2,7 +2,7 @@ here=$(pwd) joborder="${here}/joborder.txt" desc=$(basename ${here}) -jobname="${desc}-sims" +jobname="${desc}-sims*" moi=$(whoami) outform="JobName%200,State%12" #----- Determine the number of polygons to run. -------------------------------------------# @@ -10,6 +10,26 @@ let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 echo "Number of polygons: ${npolys}..." + + +#----- Find out which platform we are using. ----------------------------------------------# +host=$(hostname -s) +case ${host} in +rclogin*|holy*|moorcroft*|rcnx*) + cluster="CANNON" + ;; +sdumont*) + cluster="SDUMONT" + ;; +*) + echo -n "Failed guessing cluster from node name. Please type the name: " + read cluster + ;; +esac +#------------------------------------------------------------------------------------------# + + + polya=1 polyz=${npolys} @@ -75,147 +95,184 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Task name. This depends on the type of submission (just to avoid clutter). # + #---------------------------------------------------------------------------------------# + case "${cluster}" in + SDUMONT) + #----- Task name is bound to the global jobname, no need to add prefix. -------------# + taskname="${polyname}" + #------------------------------------------------------------------------------------# + ;; + CANNON ) + #----- Add prefix to the task name, which will name this job. -----------------------# + taskname="${desc}-${polyname}" + #------------------------------------------------------------------------------------# + ;; + esac #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Set some variables to check whether the simulation is running. # #---------------------------------------------------------------------------------------# stdout="${here}/${polyname}/serial_out.out" stderr="${here}/${polyname}/serial_out.err" - lsfout="${here}/${polyname}/serial_lsf.out" skipper="${here}/${polyname}/skipper.txt" #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# # Check whether the simulation is still running, and if not, why it isn't. # #---------------------------------------------------------------------------------------# if [ -s ${stdout} ] then + + #----- Set task inquire command. ----------------------------------------------------# + case "${cluster}" in + SDUMONT) + #----- Multi-task job, search for specific task. ---------------------------------# + stask="stask --noheader -u ${moi} -t ${taskname} -j ${jobname}" + #---------------------------------------------------------------------------------# + ;; + CANNON) + #----- Single-task jobs, search the task using the job name. ---------------------# + stask="stask --noheader -u ${moi} -j ${taskname}" + #---------------------------------------------------------------------------------# + ;; + esac + #------------------------------------------------------------------------------------# + + #----- Check whether the simulation is running, and when in model time it is. -------# - stask="stask --noheader -u ${moi} -t ${polyname} -j ${jobname}" running=$(${stask} -o "${outform}" | grep "RUNNING" | wc -l) pending=$(${stask} -o "${outform}" | grep "PENDING" | wc -l) suspended=$(${stask} -o "${outform}" | grep "SUSPENDED" | wc -l) @@ -247,9 +304,10 @@ do #----- Check for other possible outcomes. -------------------------------------------# - stopped=$(grep "FATAL ERROR" ${stdout} | wc -l) - crashed=$(grep "IFLAG1 problem." ${stdout} | wc -l) - the_end=$(grep "ED-2.2 execution ends" ${stdout} | wc -l) + stopped=$(grep "FATAL ERROR" ${stdout} | wc -l) + crashed=$(grep "IFLAG1 problem." ${stdout} | wc -l) + hydfail=$(grep "Plant Hydrodynamics is off-track." ${stdout} | wc -l) + the_end=$(grep "ED-2.2 execution ends" ${stdout} | wc -l) #------------------------------------------------------------------------------------# @@ -271,6 +329,9 @@ do elif [ ${crashed} -gt 0 ] then echo -e "${ffout}: ${polyname} HAS CRASHED (RK4 PROBLEM)... <===========" + elif [ ${hydfail} -gt 0 ] + then + echo -e "${ffout}: ${polyname} HAS CRASHED (HYDRODYNAMICS)... <===========" elif [ ${metmiss} -gt 0 ] then echo -e "${ffout}: ${polyname} DID NOT FIND MET DRIVERS... <===========" diff --git a/ED/Template/scripts/SLURM/epost.sh b/ED/Template/scripts/SLURM/epost.sh index 7159f9c09..f0c0c8163 100755 --- a/ED/Template/scripts/SLURM/epost.sh +++ b/ED/Template/scripts/SLURM/epost.sh @@ -67,8 +67,14 @@ optsrc="-n" # Option for .bashrc (for special submission setti # In case none is needed, leave it blank (""). #----- Settings for this group of polygons. -----------------------------------------------# global_queue="" # Queue +reservation="" # Reservation +overcommit="" # Ignore maximum task limit for partition? (true/false) partial=false # Partial submission (false will ignore polya and npartial # and send all polygons. +skip_end=true # Skip processing in case the R script has already loaded + # all files through the end of the simulation + # (true/false). This is only used for "monthly"-based + # scripts (those marked with (*) in the table below). polya=501 # First polygon to submit npartial=100 # Maximum number of polygons to include in this bundle # (actual number will be adjusted for total number of @@ -84,35 +90,39 @@ runtime="00:00:00" # Simulation time in hours. If zero, then it will #------------------------------------------------------------------------------------------# -# Which script to run (multiple scripts are not allowed). # +# Which scripts to run. # # # -# - read_monthly.r - This reads the monthly mean files (results can then be used for # -# plot_monthly.r, plot_yearly.r, and others, but it doesn't plot any- # -# thing.) # -# - yearly_ascii.r - This creates three ascii (csv) files with annual averages of # -# various variables. It doesn't have all possible variables as it is # -# intended to simplify the output for learning purposes. # -# - plot_monthly.r - This creates several plots based on the monthly mean output. # -# - plot_yearly.r - This creates plots with year time series. # -# - plot_ycomp.r - This creates yearly comparisons based on the monthly mean output. # -# - plot_povray.r - This creates yearly plots of the polygon using POV-Ray. # -# - plot_rk4.r - This creates plots from the detailed output for Runge-Kutta. # -# (patch-level only). # -# - plot_photo.r - This creates plots from the detailed output for Farquhar-Leuning. # -# - plot_rk4pc.r - This creates plots from the detailed output for Runge-Kutta. # -# (patch- and cohort-level). # -# - plot_budget.r - This creates plots from the detailed budget for Runge-Kutta. # -# (patch-level only). # -# - plot_eval_ed.r - This creates plots comparing model with eddy flux observations. # -# - plot_census.r - This creates plots comparing model with biometric data. # -# - whichrun.r - This checks the run status. # +# - read_monthly.r - (*) This reads the monthly mean files (results can then be used # +# for plot_monthly.r, plot_yearly.r, and others, but it doesn't plot # +# anything.) # +# - yearly_ascii.r - (*) This creates three ascii (csv) files with annual averages of # +# various variables. It doesn't have all possible variables as it # +# is intended to simplify the output for learning purposes. # +# - monthly_ascii.r - (*) This creates three ascii (csv) files with annual averages of # +# various variables. It doesn't have all possible variables as it # +# is intended to simplify the output for learning purposes. # +# - plot_monthly.r - (*) This creates several plots based on the monthly mean output. # +# - plot_yearly.r - (*) This creates plots with year time series. # +# - plot_ycomp.r - (*) This creates yearly comparisons based on the monthly mean # +# output. # +# - plot_povray.r - (*) This creates yearly plots of the polygon using POV-Ray. # +# - plot_rk4.r - This creates plots from the detailed output for Runge-Kutta. # +# (patch-level only). # +# - plot_photo.r - This creates plots from the detailed output for Farquhar-Leuning. # +# - plot_rk4pc.r - This creates plots from the detailed output for Runge-Kutta. # +# (patch- and cohort-level). # +# - plot_budget.r - This creates plots from the detailed budget for Runge-Kutta. # +# (patch-level only). # +# - plot_eval_ed.r - This creates plots comparing model with eddy flux observations. # +# - plot_census.r - This creates plots comparing model with biometric data. # +# - whichrun.r - This checks the run status. # # # # The following scripts should work too, but I haven't tested them. # -# - plot_daily.r - This creates plots from the daily mean output. # -# - plot_fast.r - This creates plots from the analysis files. # -# - patchprops.r - This creates simple plots showing the patch structure. # -# - reject_ed.r - This tracks the number of steps that were rejected, and what caused # -# the step to be rejected. # +# - plot_daily.r - This creates plots from the daily mean output. # +# - plot_fast.r - This creates plots from the analysis files. # +# - patchprops.r - This creates simple plots showing the patch structure. # +# - reject_ed.r - This tracks the number of steps that were rejected, and what # +# caused the step to be rejected. # #------------------------------------------------------------------------------------------# rscript="" #rscript="yearly_ascii.r" @@ -177,7 +187,7 @@ monthsdrought="c(12,1,2,3)" # List of months that get drought, if it starts late #------------------------------------------------------------------------------------------# # First check that the main path and e-mail have been set. If not, don't run. # #------------------------------------------------------------------------------------------# -if [ "x${here}" == "x" ] || [ "x${global_queue}" == "x" ] || [ "x${rscript}" == "x" ] +if [[ "x${here}" == "x" ]] || [[ "x${global_queue}" == "x" ]] || [[ "x${rscript}" == "x" ]] then echo " You must set some variables before running the script:" echo " Check variables \"here\", \"global_queue\" and \"rscript\"!" @@ -187,85 +197,37 @@ fi #----- Load settings. ---------------------------------------------------------------------# -if [ -s ${initrc} ] +if [[ -s ${initrc} ]] then . ${initrc} fi #------------------------------------------------------------------------------------------# -#------------------------------------------------------------------------------------------# -# Configurations depend on the global_queue. # -#------------------------------------------------------------------------------------------# -case ${ordinateur} in +#----- Find out which platform we are using. ----------------------------------------------# +host=$(hostname -s) +case ${host} in rclogin*|holy*|moorcroft*|rcnx*) - #----- Odyssey queues. -----------------------------------------------------------------# - case ${global_queue} in - "general") - n_nodes_max=166 - n_cpt=1 - n_tpn=32 - runtime_max="7-00:00:00" - node_memory=262499 - ;; - "shared,huce_intel"|"huce_intel,shared") - n_nodes_max=276 - n_cpt=1 - n_tpn=24 - runtime_max="7-00:00:00" - node_memory=126820 - ;; - "shared") - n_nodes_max=456 - n_cpt=1 - n_tpn=48 - runtime_max="7-00:00:00" - node_memory=192892 - ;; - "huce_intel") - n_nodes_max=276 - n_cpt=1 - n_tpn=24 - runtime_max="14-00:00:00" - node_memory=126820 - ;; - "huce_amd") - n_nodes_max=65 - n_cpt=1 - n_tpn=32 - runtime_max="14-00:00:00" - node_memory=262499 - ;; - "moorcroft_amd") - n_nodes_max=8 - n_cpt=1 - n_tpn=64 - runtime_max="infinite" - node_memory=256302 - ;; - "moorcroft_6100") - n_nodes_max=35 - n_cpt=1 - n_tpn=12 - runtime_max="infinite" - node_memory=22150 - ;; - "unrestricted") - n_nodes_max=8 - n_cpt=1 - n_tpn=64 - runtime_max="31-00:00:00" - node_memory=262499 - ;; - *) - echo "Global queue ${global_queue} is not recognised!" - exit - ;; - esac - #---------------------------------------------------------------------------------------# + cluster="CANNON" ;; sdumont*) - #----- SantosDumont. -------------------------------------------------------------------# + cluster="SDUMONT" + ;; +*) + echo -n "Failed guessing cluster from node name. Please type the name: " + read cluster + ;; +esac +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Configurations depend on the global_queue and cluster. # +#------------------------------------------------------------------------------------------# +case "${cluster}" in +SDUMONT) + #----- Set parameters according to partitions. -----------------------------------------# case ${global_queue} in cpu_long|nvidia_long) n_nodes_max=10 @@ -309,13 +271,70 @@ sdumont*) esac #---------------------------------------------------------------------------------------# ;; -*) - #----- Computer is not listed. Crash. -------------------------------------------------# - echo " Invalid computer ${ordinateur}. Check queue settings in the script." - exit 31 +CANNON) + #----- Set parameters according to partitions. -----------------------------------------# + case ${global_queue} in + "commons") + n_nodes_max=5 + n_cpt=1 + n_tpn=32 + runtime_max="14-00:00:00" + node_memory=126820 + ;; + "huce_cascade") + n_nodes_max=30 + n_cpt=1 + n_tpn=48 + runtime_max="14-00:00:00" + node_memory=183240 + ;; + "huce_intel") + n_nodes_max=150 + n_cpt=1 + n_tpn=24 + runtime_max="14-00:00:00" + node_memory=122090 + ;; + "shared,huce_intel"|"huce_intel,shared") + n_nodes_max=150 + n_cpt=1 + n_tpn=24 + runtime_max="7-00:00:00" + node_memory=122090 + ;; + "shared") + n_nodes_max=220 + n_cpt=1 + n_tpn=48 + runtime_max="7-00:00:00" + node_memory=183240 + ;; + "test") + n_nodes_max=9 + n_cpt=1 + n_tpn=48 + runtime_max="8:00:00" + node_memory=183240 + ;; + "unrestricted") + n_nodes_max=4 + n_cpt=1 + n_tpn=48 + runtime_max="infinite" + node_memory=183240 + ;; + *) + echo "Global queue ${global_queue} is not recognised!" + exit + ;; + esac #---------------------------------------------------------------------------------------# ;; esac +#------------------------------------------------------------------------------------------# + + +#----- Set the number of tasks. -----------------------------------------------------------# let n_tasks_max=${n_nodes_max}*${n_tpn} #------------------------------------------------------------------------------------------# @@ -459,6 +478,9 @@ read_monthly.r) yearly_ascii.r) epostkey="yasc" ;; +monthly_ascii.r) + epostkey="masc" + ;; r10_monthly.r) epostkey="rm10" ;; @@ -512,7 +534,7 @@ plot_fast.r) # If the script is here, then it could not find the script... And this should never # # happen, so interrupt the script! # #---------------------------------------------------------------------------------------# - echo " Script ${script} is not recognised by epost.sh!" + echo " Script ${rscript} is not recognised by epost.sh!" exit 1 #---------------------------------------------------------------------------------------# ;; @@ -522,32 +544,21 @@ esac -#----- Set script information. ------------------------------------------------------------# -epoststo="${epostkey}_epost.sto" -epostste="${epostkey}_epost.ste" -epostout="${epostkey}_epost.out" -epostjob="${epostkey}-${desc}" -epostexe="R CMD BATCH --no-save --no-restore ${rscript} ${epostout}" -#------------------------------------------------------------------------------------------# - - - - #------------------------------------------------------------------------------------------# # Make sure memory does not exceed maximum amount that can be requested. # #------------------------------------------------------------------------------------------# -if [ ${sim_memory} -eq 0 ] +if [[ ${sim_memory} -eq 0 ]] then let sim_memory=${node_memory}/${n_tpn} let node_memory=${n_tpn}*${sim_memory} -elif [ ${sim_memory} -gt ${node_memory} ] +elif [[ ${sim_memory} -gt ${node_memory} ]] then echo "Simulation memory ${sim_memory} cannot exceed node memory ${node_memory}!" exit 99 else #------ Set memory and number of CPUs per task. ----------------------------------------# let n_tpn_try=${node_memory}/${sim_memory} - if [ ${n_tpn_try} -le ${n_tpn} ] + if [[ ${n_tpn_try} -le ${n_tpn} ]] then n_tpn=${n_tpn_try} let sim_memory=${node_memory}/${n_tpn} @@ -563,13 +574,13 @@ fi #----- Determine the number of polygons to run. -------------------------------------------# let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -if [ ${npolys} -lt 100 ] +if [[ ${npolys} -lt 100 ]] then ndig=2 -elif [ ${npolys} -lt 1000 ] +elif [[ ${npolys} -lt 1000 ]] then ndig=3 -elif [ ${npolys} -lt 10000 ] +elif [[ ${npolys} -lt 10000 ]] then ndig=4 else @@ -585,7 +596,7 @@ if ${partial} then let ff=${polya}-1 let polyz=${ff}+${npartial} - if [ ${polyz} -gt ${npolys} ] + if [[ ${polyz} -gt ${npolys} ]] then polyz=${npolys} fi @@ -593,6 +604,7 @@ then sbatch="${here}/sub_${rprefix}_${partlabel}.sh" obatch="${here}/out_${rprefix}_${partlabel}.log" ebatch="${here}/err_${rprefix}_${partlabel}.log" + epostjob="${epostkey}-${desc}_${partlabel}" else ff=0 polya=1 @@ -600,91 +612,143 @@ else sbatch="${here}/sub_${rprefix}.sh" obatch="${here}/out_${rprefix}.log" ebatch="${here}/err_${rprefix}.log" + epostjob="${epostkey}-${desc}" fi let ntasks=1+${polyz}-${polya} #------------------------------------------------------------------------------------------# + + #----- Summary for this submission preparation. Then give 5 seconds for user to cancel. --# echo "------------------------------------------------" echo " Submission summary: " echo "" echo " Memory per cpu: ${sim_memory}" echo " Tasks per node: ${n_tpn}" -echo " Queue: ${global_queue}" +echo " Partition: ${global_queue}" echo " Run time: ${runtime}" echo " First polygon: ${polya}" echo " Last polygon: ${polyz}" -echo " Job Name: ${epostjob}" echo " Total polygon count: ${npolys}" echo " " echo " Partial submission: ${partial}" echo " Automatic submission: ${submit}" echo " " echo " R script: ${rscript}" +echo " Submission script: $(basename ${sbatch})" echo "------------------------------------------------" echo "" +echo "" +echo -n " Waiting five seconds before proceeding... " sleep 5 +echo "Done!" #------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# -# Initialise executable. # +# Initialise executable. The main executable will have different settings depending # +# on whether this is to be a multi-task single job, or multiple single-task jobs. # #------------------------------------------------------------------------------------------# -rm -fr ${sbatch} -touch ${sbatch} -chmod u+x ${sbatch} -echo "#!/bin/bash" >> ${sbatch} -echo "#SBATCH --ntasks=${ntasks} # Number of tasks" >> ${sbatch} -echo "#SBATCH --cpus-per-task=1 # Number of CPUs per task" >> ${sbatch} -echo "#SBATCH --partition=${global_queue} # Queue that will run job" >> ${sbatch} -echo "#SBATCH --job-name=${epostjob} # Job name" >> ${sbatch} -echo "#SBATCH --mem-per-cpu=${sim_memory} # Memory per CPU" >> ${sbatch} -echo "#SBATCH --time=${runtime} # Time for job" >> ${sbatch} -echo "#SBATCH --output=${here}/out_epost.out # Standard output path" >> ${sbatch} -echo "#SBATCH --error=${here}/out_epost.err # Standard error path" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Get plenty of memory." >> ${sbatch} -echo "ulimit -s unlimited" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Initial settings." >> ${sbatch} -echo "here=\"${here}\" # Main path" >> ${sbatch} -echo "rscript=\"${rscript}\" # R Script" >> ${sbatch} -echo "rstdout=\"${epostout}\" # Standard output" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Print information about this job." >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"----- Summary of current job ---------------------------------\"" >> ${sbatch} -echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${sbatch} -echo "echo \" Job: \${SLURM_JOB_NAME} (\${SLURM_JOB_ID})\"" >> ${sbatch} -echo "echo \" Queue: \${SLURM_JOB_PARTITION}\"" >> ${sbatch} -echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${sbatch} -echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${sbatch} -echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${sbatch} -echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${sbatch} -echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${sbatch} -echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${sbatch} -echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${sbatch} -echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${sbatch} -echo "echo \"--------------------------------------------------------------\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Define home in case home is not set" >> ${sbatch} -echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${sbatch} -echo "then" >> ${sbatch} -echo " export HOME=\$(echo ~)" >> ${sbatch} -echo "fi" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Load modules and settings." >> ${sbatch} -echo ". \${HOME}/.bashrc ${optsrc}" >> ${sbatch} -echo "" >> ${sbatch} -echo "#----- Task list." >> ${sbatch} +case "${cluster}" in +SDUMONT) + #----- Initialise script to submit a single multi-task job. ----------------------------# + rm -fr ${sbatch} + touch ${sbatch} + chmod u+x ${sbatch} + echo "#!/bin/bash" >> ${sbatch} + echo "#SBATCH --ntasks=${ntasks} # Number of tasks" >> ${sbatch} + echo "#SBATCH --cpus-per-task=1 # Number of CPUs per task" >> ${sbatch} + echo "#SBATCH --partition=${global_queue} # Queue that will run job" >> ${sbatch} + if [[ "${reservation}" != "" ]] + then + echo "#SBATCH --reservation=${reservation} # Reserved nodes" >> ${sbatch} + fi + echo "#SBATCH --job-name=${epostjob} # Job name" >> ${sbatch} + echo "#SBATCH --mem-per-cpu=${sim_memory} # Memory per CPU" >> ${sbatch} + echo "#SBATCH --time=${runtime} # Time for job" >> ${sbatch} + echo "#SBATCH --output=${obatch} # Standard output path" >> ${sbatch} + echo "#SBATCH --error=${ebatch} # Standard error path" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Get plenty of memory." >> ${sbatch} + echo "ulimit -s unlimited" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Initial settings." >> ${sbatch} + echo "here=\"${here}\" # Main path" >> ${sbatch} + echo "rscript=\"${rscript}\" # R Script" >> ${sbatch} + echo "rstdout=\"${epostout}\" # Standard output" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Print information about this job." >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"----- Summary of current job ------------------------------\"" >> ${sbatch} + echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${sbatch} + echo "echo \" Job: \${SLURM_JOB_NAME} (\${SLURM_JOB_ID})\"" >> ${sbatch} + echo "echo \" Queue: \${SLURM_JOB_PARTITION}\"" >> ${sbatch} + echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${sbatch} + echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${sbatch} + echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${sbatch} + echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${sbatch} + echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${sbatch} + echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${sbatch} + echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${sbatch} + echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${sbatch} + echo "echo \"-----------------------------------------------------------\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Define home in case home is not set" >> ${sbatch} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${sbatch} + echo "then" >> ${sbatch} + echo " export HOME=\$(echo ~)" >> ${sbatch} + echo "fi" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Load modules and settings." >> ${sbatch} + echo ". \${HOME}/.bashrc ${optsrc}" >> ${sbatch} + echo "" >> ${sbatch} + echo "#----- Task list." >> ${sbatch} + #---------------------------------------------------------------------------------------# + ;; +CANNON) + #----- Initialise script to submit multiple single-task jobs. --------------------------# + rm -f ${sbatch} + touch ${sbatch} + chmod u+x ${sbatch} + echo "#!/bin/bash" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Initial settings." >> ${sbatch} + echo "here=\"${here}\" # Main path" >> ${sbatch} + echo "exec=\"${exec_full}\" # Executable" >> ${sbatch} + echo "" >> ${sbatch} + echo "echo \"----- Global settings for this array of simulations -------\"" >> ${sbatch} + echo "echo \" Main path: \${here}\"" >> ${sbatch} + echo "echo \" Executable: \${exec}\"" >> ${sbatch} + echo "echo \"-----------------------------------------------------------\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Define home in case home is not set" >> ${sbatch} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${sbatch} + echo "then" >> ${sbatch} + echo " export HOME=\$(echo ~)" >> ${sbatch} + echo "fi" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Load modules and settings." >> ${sbatch} + echo ". \${HOME}/.bashrc ${optsrc}" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Get plenty of memory." >> ${sbatch} + echo "ulimit -s unlimited" >> ${sbatch} + echo "ulimit -u unlimited" >> ${sbatch} + echo "" >> ${sbatch} + echo "#----- Task list." >> ${sbatch} + #---------------------------------------------------------------------------------------# + ;; +esac #------------------------------------------------------------------------------------------# @@ -694,7 +758,7 @@ echo "#----- Task list." > # Loop over all polygons. # #------------------------------------------------------------------------------------------# n_submit=0 -while [ ${ff} -lt ${polyz} ] +while [[ ${ff} -lt ${polyz} ]] do let ff=${ff}+1 let line=${ff}+3 @@ -703,13 +767,13 @@ do #---------------------------------------------------------------------------------------# # Format count. # #---------------------------------------------------------------------------------------# - if [ ${npolys} -ge 10 ] && [ ${npolys} -lt 100 ] + if [[ ${npolys} -ge 10 ]] && [[ ${npolys} -lt 100 ]] then ffout=$(printf '%2.2i' ${ff}) - elif [ ${npolys} -ge 100 ] && [ ${npolys} -lt 1000 ] + elif [[ ${npolys} -ge 100 ]] && [[ ${npolys} -lt 1000 ]] then ffout=$(printf '%3.3i' ${ff}) - elif [ ${npolys} -ge 100 ] && [ ${npolys} -lt 10000 ] + elif [[ ${npolys} -ge 100 ]] && [[ ${npolys} -lt 10000 ]] then ffout=$(printf '%4.4i' ${ff}) else @@ -726,128 +790,144 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + + #------ Last month and year for monthly-based scripts. ---------------------------------# + if [[ ${monthz} -eq 1 ]] + then + rm_monthz=12 + let rm_yearz=${yearz}-1 + else + let rm_monthz=${monthz}-1 + rm_yearz=${yearz} + fi + #------ Update the time. ---------------------------------------------------------------# + let rm_whenz=12*${rm_yearz}+${rm_monthz} #---------------------------------------------------------------------------------------# @@ -983,11 +1063,11 @@ do #---- Cheat and force the met cycle to be the tower cycle. -----------------------------# - if [ ${useperiod} == "f" ] + if [[ ${useperiod} == "f" ]] then metcyca=${eftyeara} metcycz=${eftyearz} - elif [ ${useperiod} == "b" ] + elif [[ ${useperiod} == "b" ]] then metcyca=${bioyeara} metcycz=${bioyearz} @@ -999,7 +1079,7 @@ do #---------------------------------------------------------------------------------------# # Switch years in case this is a specific drought run. # #---------------------------------------------------------------------------------------# - if [ ${droughtmark} == "TRUE" ] + if [[ ${droughtmark} == "TRUE" ]] then let yeara=${droughtyeara}-1 let yearz=${droughtyearz}+1 @@ -1008,32 +1088,21 @@ do - #----- Print a banner. -----------------------------------------------------------------# - if [ ${rscript} == "plot_census.r" ] && [ ${subcens} -eq 0 ] - then - echo "${ffout} - Skipping submission of ${rscript} for polygon: ${polyname}..." - else - echo "${ffout} - Copying script ${rscript} to polygon: ${polyname}..." - fi - #---------------------------------------------------------------------------------------# - - - #---------------------------------------------------------------------------------------# # Set up the time and output variables according to the script. # #---------------------------------------------------------------------------------------# case ${rscript} in - read_monthly.r|yearly_ascii.r|plot_monthly.r|plot_yearly.r|plot_ycomp.r|plot_census.r|plot_povray.r|r10_monthly.r) + read_monthly.r|yearly_ascii.r|monthly_ascii.r|plot_monthly.r|plot_yearly.r|plot_ycomp.r|plot_census.r|plot_povray.r|r10_monthly.r) #------------------------------------------------------------------------------------# # Scripts that are based on monthly means. The set up is the same, the only # # difference is in the output names. # #------------------------------------------------------------------------------------# #------ Check which period to use. --------------------------------------------------# - if [ ${useperiod} == "t" ] + if [[ ${useperiod} == "t" ]] then #------ One meteorological cycle. Check the type of meteorological driver. ------# case ${metdriver} in - Sheffield|WFDEI*|ERAINT*|MERRA2*|PGMF3*) + ERA5*|ERAINT*|MERRA2*|PGMF3*|Sheffield|WFDE5*|WFDEI*) thisyeara=${metcyca} thisyearz=${metcycz} ;; @@ -1046,34 +1115,34 @@ do thisyearz=${metcycz} for i in ${shiftiata} do - if [ "x${i}" == "x${polyiata}" ] + if [[ "x${i}" == "x${polyiata}" ]] then echo " -> Shifting met cycle" let metcycle=${metcycz}-${metcyca}+1 let deltayr=${shiftcycle}*${metcycle} let thisyeara=${metcyca}+${deltayr} let thisyearz=${metcycz}+${deltayr} - fi # end [ ${i} == ${iata} ] + fi # end [[ ${i} == ${iata} ]] done #end for i in ${shiftiata} ;; esac # ${metdriver} in #---------------------------------------------------------------------------------# - elif [ ${useperiod} == "u" ] + elif [[ ${useperiod} == "u" ]] then #----- The user said which period to use. ----------------------------------------# thisyeara=${yusera} thisyearz=${yuserz} #---------------------------------------------------------------------------------# - elif [ ${useperiod} == "f" ] + elif [[ ${useperiod} == "f" ]] then #----- The user said to use the eddy flux period. --------------------------------# thisyeara=${eftyeara} thisyearz=${eftyearz} #---------------------------------------------------------------------------------# - elif [ ${useperiod} == "b" ] + elif [[ ${useperiod} == "b" ]] then #----- The user said to use the eddy flux period. --------------------------------# thisyeara=${bioyeara} @@ -1085,7 +1154,7 @@ do thisyeara=${yeara} thisyearz=${yearz} #---------------------------------------------------------------------------------# - fi # end [ ${useperiod} == "t" ] + fi # end [[ ${useperiod} == "t" ]] #------------------------------------------------------------------------------------# @@ -1095,6 +1164,53 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Check whether or not to submit the task. -------------------------------------# + if [[ ${rscript} == "plot_census.r" ]] && [[ ${subcens} -eq 0 ]] + then + #---- No need to submit the job if plot_census.r and place doesn't have census. --# + submit_now=false + #---------------------------------------------------------------------------------# + elif ${skip_end} + then + status="${here}/${polyname}/rdata_month/status_${polyname}.txt" + if [[ -s ${status} ]] + then + #----- Retrieve current status of the post-processing. ------------------------# + st_yearz=$(cat ${status} | awk '{print $1}') + st_monthz=$(cat ${status} | awk '{print $2}') + let st_whenz=12*${st_yearz}+${st_monthz} + #------------------------------------------------------------------------------# + + #------------------------------------------------------------------------------# + # Compare the processed time with the last time needed for processing. # + #------------------------------------------------------------------------------# + if [[ ${st_whenz} -ge ${rm_whenz} ]] + then + #----- Skip submission because it has reached the end. ---------------------# + submit_now=false + #---------------------------------------------------------------------------# + else + #----- Run script as it has not reached the end yet. -----------------------# + submit_now=true + #---------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------# + + else + #----- File not find, run the script. -----------------------------------------# + submit_now=true + #------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------# + else + #----- Submit job. ---------------------------------------------------------------# + submit_now=true + #---------------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------------# ;; plot_eval_ed.r) #------------------------------------------------------------------------------------# @@ -1102,7 +1218,7 @@ do # Petrolina (output variables exist only for 2004, so we don't need to process # # all years). # #------------------------------------------------------------------------------------# - if [ ${metdriver} == "Petrolina" ] + if [[ ${metdriver} == "Petrolina" ]] then thismetcyca=2004 thismetcycz=2004 @@ -1122,7 +1238,7 @@ do thisyearz=${thismetcycz} for i in ${shiftiata} do - if [ "x${i}" == "x${polyiata}" ] + if [[ "x${i}" == "x${polyiata}" ]] then #----- Always use the true met driver to find the cycle shift. ----------------# echo " -> Shifting met cycle" @@ -1131,7 +1247,7 @@ do let thisyeara=${thismetcyca}+${deltayr} let thisyearz=${thismetcycz}+${deltayr} #------------------------------------------------------------------------------# - fi # end [ ${i} == ${iata} ] + fi # end [[ ${i} == ${iata} ]] done #end for i in ${shiftiata} #------------------------------------------------------------------------------------# @@ -1142,6 +1258,12 @@ do thismonthz=12 thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; plot_budget.r|plot_rk4.r|plot_rk4pc.r|plot_photo.r|reject_ed.r) @@ -1151,7 +1273,7 @@ do # at the first time step), so we normally skip the first day. # #------------------------------------------------------------------------------------# #----- Check whether to use the user choice of year or the default. -----------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -1168,6 +1290,12 @@ do thismonthz=${monthz} let thisdatea=${datea}+1 #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; @@ -1176,7 +1304,7 @@ do # Script with time-independent patch properties. No need to skip anything. # #------------------------------------------------------------------------------------# #----- Check whether to use the user choice of year or the default. -----------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -1193,13 +1321,19 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; plot_daily.r) #------------------------------------------------------------------------------------# # Script with daily means. No need to skip anything. # #------------------------------------------------------------------------------------# #----- Check whether to use the user choice of year or the default. -----------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -1216,6 +1350,12 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; plot_fast.r) @@ -1223,7 +1363,7 @@ do # Script with short-term averages (usually hourly). No need to skip any- # # thing. # #------------------------------------------------------------------------------------# - if [ ${useperiod} == "u" ] + if [[ ${useperiod} == "u" ]] then thisyeara=${yusera} thisyearz=${yuserz} @@ -1240,6 +1380,12 @@ do thismonthz=${monthz} thisdatea=${datea} #------------------------------------------------------------------------------------# + + + + #----- Assume this should be submitted. ---------------------------------------------# + submit_now=true + #------------------------------------------------------------------------------------# ;; esac #---------------------------------------------------------------------------------------# @@ -1273,7 +1419,7 @@ do sed -i s@thisseasonmona@${seasonmona}@g ${scriptnow} sed -i s@myphysiol@${iphysiol}@g ${scriptnow} sed -i s@myallom@${iallom}@g ${scriptnow} - sed -i s@myslhydro@${slhydro}@g ${scriptnow} + sed -i s@myslhydro@${islhydro}@g ${scriptnow} sed -i s@mydroughtmark@${droughtmark}@g ${scriptnow} sed -i s@mydroughtyeara@${droughtyeara}@g ${scriptnow} sed -i s@mydroughtyearz@${droughtyearz}@g ${scriptnow} @@ -1297,6 +1443,112 @@ do #---------------------------------------------------------------------------------------# + #----- Initialise script. --------------------------------------------------------------# + epostsh="${here}/${polyname}/exec_$(basename ${rscript} .r).sh" + complete="${here}/${polyname}/eval_load_complete.txt" + epoststo="${here}/${polyname}/${epostkey}_epost.sto" + epostste="${here}/${polyname}/${epostkey}_epost.ste" + epostout="${here}/${polyname}/${epostkey}_epost.out" + epostexe="R CMD BATCH --no-save --no-restore ${rscript} ${epostout}" + rm -fr ${epostsh} + touch ${epostsh} + chmod u+x ${epostsh} + #---------------------------------------------------------------------------------------# + + + #----- The script header must check which type of submission to use. -------------------# + case "${cluster}" in + SDUMONT) + #----- Task name with the prefix. ---------------------------------------------------# + eposttask="${polyname}" + #------------------------------------------------------------------------------------# + + + #----- Header doesn't need to have SBATCH instructions. -----------------------------# + echo "#!/bin/bash" >> ${epostsh} + echo "main=\"${here}/${polyname}\"" >> ${epostsh} + echo "complete=\"\${main}/eval_load_complete.txt\"" >> ${epostsh} + echo "yeara=${thisyeara}" >> ${epostsh} + echo "yearz=${thisyearz}" >> ${epostsh} + echo "" >> ${epostsh} + echo "" >> ${epostsh} + #------------------------------------------------------------------------------------# + + ;; + CANNON) + #----- Task name with the prefix. ---------------------------------------------------# + eposttask="${epostkey}-${desc}-${polyname}" + #------------------------------------------------------------------------------------# + + + #----- Header must have SBATCH instructions. ----------------------------------------# + echo "#!/bin/bash" >> ${epostsh} + echo "#SBATCH --ntasks=1 # Number of tasks" >> ${epostsh} + echo "#SBATCH --cpus-per-task=1 # Number of CPUs per task" >> ${epostsh} + echo "#SBATCH --partition=${global_queue} # Queue that will run job" >> ${epostsh} + if [[ "${reservation}" != "" ]] + then + echo "#SBATCH --reservation=${reservation} # Reserved nodes" >> ${epostsh} + fi + echo "#SBATCH --job-name=${eposttask} # Task name" >> ${epostsh} + echo "#SBATCH --mem-per-cpu=${sim_memory} # Memory per CPU" >> ${epostsh} + echo "#SBATCH --time=${runtime} # Time for job" >> ${epostsh} + echo "#SBATCH --output=${epoststo} # Standard output path" >> ${epostsh} + echo "#SBATCH --error=${epostste} # Standard error path" >> ${epostsh} + echo "#SBATCH --chdir=${here}/${polyname} # Main directory" >> ${epostsh} + echo "" >> ${epostsh} + echo "#--- Get plenty of memory." >> ${epostsh} + echo "ulimit -s unlimited" >> ${epostsh} + echo "" >> ${epostsh} + echo "#--- Initial settings." >> ${epostsh} + echo "here=\"${here}\" # Main path" >> ${epostsh} + echo "rscript=\"${rscript}\" # R Script" >> ${epostsh} + echo "rstdout=\"${epostout}\" # Standard output" >> ${epostsh} + echo "" >> ${epostsh} + echo "#--- Print information about this job." >> ${epostsh} + echo "echo \"\"" >> ${epostsh} + echo "echo \"\"" >> ${epostsh} + echo "echo \"----- Summary of current job -------------------------\"" >> ${epostsh} + echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${epostsh} + echo "echo \" Job name: \${SLURM_JOB_NAME}\"" >> ${epostsh} + echo "echo \" Job ID: \${SLURM_JOB_ID}\"" >> ${epostsh} + echo "echo \" Queue: \${SLURM_JOB_PARTITION}\"" >> ${epostsh} + echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${epostsh} + echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${epostsh} + echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${epostsh} + echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${epostsh} + echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${epostsh} + echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${epostsh} + echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${epostsh} + echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${epostsh} + echo "echo \"------------------------------------------------------\"" >> ${epostsh} + echo "echo \"\"" >> ${epostsh} + echo "echo \"\"" >> ${epostsh} + echo "echo \"\"" >> ${epostsh} + echo "echo \"\"" >> ${epostsh} + echo "" >> ${epostsh} + echo "" >> ${epostsh} + echo "#--- Define home in case home is not set" >> ${epostsh} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${epostsh} + echo "then" >> ${epostsh} + echo " export HOME=\$(echo ~)" >> ${epostsh} + echo "fi" >> ${epostsh} + echo "" >> ${epostsh} + echo "#--- Load modules and settings." >> ${epostsh} + echo ". \${HOME}/.bashrc ${optsrc}" >> ${epostsh} + echo "" >> ${epostsh} + echo "main=\"${here}/${polyname}\"" >> ${epostsh} + echo "complete=\"\${main}/eval_load_complete.txt\"" >> ${epostsh} + echo "yeara=${thisyeara}" >> ${epostsh} + echo "yearz=${thisyearz}" >> ${epostsh} + echo "" >> ${epostsh} + echo "" >> ${epostsh} + #------------------------------------------------------------------------------------# + + ;; + esac + #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# @@ -1306,28 +1558,6 @@ do case ${rscript} in plot_eval_ed.r) #----- Create script that will run R until all files have been read. ----------------# - epostsh="${here}/${polyname}/exec_$(basename ${rscript} .r).sh" - complete="${here}/${polyname}/eval_load_complete.txt" - rm -fr ${epostsh} - touch ${epostsh} - chmod u+x ${epostsh} - echo "#!/bin/bash" >> ${epostsh} - echo "main=\"${here}/${polyname}\"" >> ${epostsh} - echo "complete=\"\${main}/eval_load_complete.txt\"" >> ${epostsh} - echo "yeara=${thisyeara}" >> ${epostsh} - echo "yearz=${thisyearz}" >> ${epostsh} - echo "" >> ${epostsh} - echo "" >> ${epostsh} - echo "#--- Define home in case home is not set" >> ${epostsh} - echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${epostsh} - echo "then" >> ${epostsh} - echo " export HOME=\$(echo ~)" >> ${epostsh} - echo "fi" >> ${epostsh} - echo "" >> ${epostsh} - echo ". \${HOME}/.bashrc" >> ${epostsh} - echo "" >> ${epostsh} - echo "cd \${main}" >> ${epostsh} - echo "" >> ${epostsh} echo "let itmax=\${yearz}-\${yeara}+2" >> ${epostsh} echo "" >> ${epostsh} echo "/bin/rm -fr \${complete}" >> ${epostsh} @@ -1342,24 +1572,6 @@ do ;; *) #----- Create script that will run R until all files have been read. ----------------# - epostsh="${here}/${polyname}/exec_$(basename ${rscript} .r).sh" - rm -fr ${epostsh} - touch ${epostsh} - chmod u+x ${epostsh} - echo "#!/bin/bash" >> ${epostsh} - echo "main=\"${here}/${polyname}\"" >> ${epostsh} - echo "" >> ${epostsh} - echo "" >> ${epostsh} - echo "#--- Define home in case home is not set" >> ${epostsh} - echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${epostsh} - echo "then" >> ${epostsh} - echo " export HOME=\$(echo ~)" >> ${epostsh} - echo "fi" >> ${epostsh} - echo "" >> ${epostsh} - echo ". \${HOME}/.bashrc" >> ${epostsh} - echo "" >> ${epostsh} - echo "cd \${main}" >> ${epostsh} - echo "" >> ${epostsh} echo "${epostexe}" >> ${epostsh} echo "" >> ${epostsh} #------------------------------------------------------------------------------------# @@ -1370,9 +1582,36 @@ do - #----- Make sure this is not the census script for a site we don't have census. --------# - if [ ${rscript} != "plot_census.r" ] || [ ${subcens} -ne 0 ] + #----- In case of single task jobs, add commands to complete the job. ------------------# + case "${cluster}" in + CANNON) + #----- Wait for the processing to finish before killing it, and write runtime info. -# + echo "" >> ${epostsh} + echo "" >> ${epostsh} + echo "#----- Make sure that jobs complete before terminating script" >> ${epostsh} + echo "wait" >> ${epostsh} + echo "" >> ${epostsh} + echo "#----- Report efficiency of this job" >> ${epostsh} + echo "seff \${SLURM_JOBID}" >> ${epostsh} + echo "" >> ${epostsh} + #------------------------------------------------------------------------------------# + ;; + esac + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Decide whether or not to submit task. # + #---------------------------------------------------------------------------------------# + if ${submit_now} then + #----- Submit script. ---------------------------------------------------------------# + echo "${ffout} - Copying script ${rscript} to polygon: ${polyname}..." + #------------------------------------------------------------------------------------# + + #----- Update the list of scripts to be included in the batch. ----------------------# let n_submit=${n_submit}+1 #------------------------------------------------------------------------------------# @@ -1380,15 +1619,32 @@ do - #----- Append job to submission list. -----------------------------------------------# - srun="srun --nodes=1 --ntasks=1" - srun="${srun} --cpus-per-task=\${SLURM_CPUS_PER_TASK}" - srun="${srun} --mem-per-cpu=\${SLURM_MEM_PER_CPU}" - srun="${srun} --job-name=${polyname}" - srun="${srun} --chdir=\${here}/${polyname}" - srun="${srun} --output=\${here}/${polyname}/${epoststo}" - srun="${srun} --error=\${here}/${polyname}/${epostste}" - echo "${srun} ${epostsh} &" >> ${sbatch} + #----- Decide how to submit the job. ------------------------------------------------# + case "${cluster}" in + SDUMONT) + #----- Append task to main job submission script. --------------------------------# + srun="srun --nodes=1 --ntasks=1" + srun="${srun} --cpus-per-task=\${SLURM_CPUS_PER_TASK}" + srun="${srun} --mem-per-cpu=\${SLURM_MEM_PER_CPU}" + srun="${srun} --job-name=${eposttask}" + srun="${srun} --chdir=\${here}/${polyname}" + srun="${srun} --output=\${here}/${polyname}/${epoststo}" + srun="${srun} --error=\${here}/${polyname}/${epostste}" + echo "${srun} ${epostsh} &" >> ${sbatch} + #---------------------------------------------------------------------------------# + ;; + CANNON) + + #----- Add task submission command to the main script. ---------------------------# + echo "echo \" + Submit post-processing for: ${polyname}.\"" >> ${sbatch} + echo "sbatch ${epostsh}" >> ${sbatch} + #---------------------------------------------------------------------------------# + ;; + esac + #------------------------------------------------------------------------------------# + else + #----- Skip submission. -------------------------------------------------------------# + echo "${ffout} - Skipping submission of ${rscript} for polygon: ${polyname}..." #------------------------------------------------------------------------------------# fi #---------------------------------------------------------------------------------------# @@ -1400,40 +1656,62 @@ done #------------------------------------------------------------------------------------------# # Make sure job list doesn't request too many nodes. # #------------------------------------------------------------------------------------------# -if [ ${n_submit} -gt ${n_tasks_max} ] +if ! ${overcommit} && [[ ${n_submit} -gt ${n_tasks_max} ]] then echo " Number of jobs to submit: ${n_submit}" echo " Maximum number of tasks in queue ${global_queue}: ${n_tasks_max}" echo " Reduce the number of simulations or try another queue..." exit 99 +elif ${submit} +then + echo " Submitting jobs." + #------- How we submit depends on the cluster. -----------------------------------------# + case "${cluster}" in + SDUMONT) + #------------------------------------------------------------------------------------# + # Single multi-task job. Submit the main script using sbatch. # + #------------------------------------------------------------------------------------# + sbatch ${sbatch} + #------------------------------------------------------------------------------------# + ;; + CANNON) + #------------------------------------------------------------------------------------# + # Multiple single-task jobs. Run the script, the sbatch commands are in there. # + #------------------------------------------------------------------------------------# + ${sbatch} + #------------------------------------------------------------------------------------# + ;; + esac + #---------------------------------------------------------------------------------------# else - #----- Find the right number of nodes to submit. ---------------------------------------# - let n_nodes=(${n_submit}+${n_tpn}-1)/${n_tpn} - let n_tasks=(${n_submit}+${n_nodes}-1)/${n_nodes} - sed -i~ s@mynnodes@${n_nodes}@g ${sbatch} - sed -i~ s@myntasks@${n_tasks}@g ${sbatch} + #------- Provide instructions to the user for a later submission. ----------------------# + case "${cluster}" in + SDUMONT) + #----- Instruct the user to use sbatch. ---------------------------------------------# + echo "-------------------------------------------------------------------------" + echo " To submit the simulations, you must use sbatch. " + echo " Copy and paste the following command in the terminal. " + echo " " + echo " sbatch ${sbatch}" + echo " " + #------------------------------------------------------------------------------------# + ;; + CANNON) + #----- Instruct the user NOT to use sbatch. -----------------------------------------# + echo "-------------------------------------------------------------------------" + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo "-------------------------------------------------------------------------" + echo " Do NOT use sbatch ${sbatch}." + echo " Instead, call the following script directly in your terminal." + echo " " + echo " ${sbatch}" + echo " " + #------------------------------------------------------------------------------------# + ;; + esac #---------------------------------------------------------------------------------------# fi #------------------------------------------------------------------------------------------# - - -#----- Make sure the script waits until all tasks are completed... ------------------------# -echo "" >> ${sbatch} -echo "" >> ${sbatch} -echo "#----- Make sure that jobs complete before terminating script" >> ${sbatch} -echo "wait" >> ${sbatch} -echo "" >> ${sbatch} -echo "#----- Report efficiency of this job" >> ${sbatch} -echo "seff \${SLURM_JOBID}" >> ${sbatch} -echo "" >> ${sbatch} -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# In case all looks good, go for it! # -#------------------------------------------------------------------------------------------# -if ${submit} -then - sbatch ${sbatch} -fi -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/SLURM/run_sitter.sh b/ED/Template/scripts/SLURM/run_sitter.sh index e5da240cf..63b80b35a 100755 --- a/ED/Template/scripts/SLURM/run_sitter.sh +++ b/ED/Template/scripts/SLURM/run_sitter.sh @@ -32,6 +32,7 @@ situtils="${here}/sit_utils" # runtitle -- Full name of this simulation, this is used only in the e-mail subject. # #------------------------------------------------------------------------------------------# desc=$(basename ${here}) +jobname="${desc}-sims*" runtitle="Simulation group: ${desc}" #------------------------------------------------------------------------------------------# @@ -50,6 +51,11 @@ check_out="/tmp/check_run_${$}.out" #------------------------------------------------------------------------------------------# +#------ User name. ------------------------------------------------------------------------# +moi=$(whoami) # User name +#------------------------------------------------------------------------------------------# + + #------ Calculator. -----------------------------------------------------------------------# ccc="${HOME}/util/calc.sh" # Calculator #------------------------------------------------------------------------------------------# @@ -66,7 +72,7 @@ ststcrit=0.01 # Maximum change allowed between two cycles #------------------------------------------------------------------------------------------# # E-mail options (normally only the first three options may require changes. # -# email1day -- Should I e-mail once a day (1) or every time I run (0)? # +# emailevery -- Should I e-mail everytime (true) or every frqemail (false)? # # recipient -- To which e-mail should I send the update? # # mailprog -- Which e-mail program to use? mutt works best, I installed in my util # # directory. Give a try, if it doesn't work you may need to install # @@ -85,7 +91,7 @@ ststcrit=0.01 # Maximum change allowed between two cycles # pendfile -- File with pending status # # email1day -- Reminder so the script knows whether an e-mail has been sent or not. # #------------------------------------------------------------------------------------------# -email1day=1 +emailevery=false recipient="" mailprog=$(which mutt) frqemail="" @@ -118,10 +124,18 @@ frqtouch="" #----- Format for checking simulations. ---------------------------------------------------# -outform="JobName%200,State%12" +outform="JobId%20,JobName%200,State%12" #------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +# Optional feature to reset stalled polygons. This feature is particularly useful # +# when using serial_requeue, as some jobs land in faulty nodes. This feature is currently # +# available for CANNON only. # +#------------------------------------------------------------------------------------------# +stall_reset=true +nstall=2 +#------------------------------------------------------------------------------------------# @@ -180,7 +194,7 @@ fi #----- Check whether run_sitter.sh is still running or not. If it is, exit. --------------# -if [ -s ${here}/run_sitter.lock ] +if [[ -s ${here}/run_sitter.lock ]] then exit else @@ -190,6 +204,26 @@ fi + +#----- Find out which platform we are using. ----------------------------------------------# +host=$(hostname -s) +case ${host} in +rclogin*|holy*|moorcroft*|rcnx*) + cluster="CANNON" + ;; +sdumont*) + cluster="SDUMONT" + stall_reset=false + ;; +*) + echo -n "Failed guessing cluster from node name. Please type the name: " + read cluster + ;; +esac +#------------------------------------------------------------------------------------------# + + + #------ Move to the current directory. ----------------------------------------------------# cd ${here} #------------------------------------------------------------------------------------------# @@ -205,13 +239,13 @@ sed -i~ s@"${hereline}"@"here=\"${here}\""@g ${transfer} #----- Determine the number of polygons to run. -------------------------------------------# let n_polygon=$(wc -l ${joborder} | awk '{print $1 }')-3 -if [ ${n_polygon} -lt 100 ] +if [[ ${n_polygon} -lt 100 ]] then ndig=2 -elif [ ${n_polygon} -lt 1000 ] +elif [[ ${n_polygon} -lt 1000 ]] then ndig=3 -elif [ ${n_polygon} -lt 10000 ] +elif [[ ${n_polygon} -lt 10000 ]] then ndig=4 else @@ -223,9 +257,8 @@ echo "Number of polygons: ${n_polygon}..." -#----- Set job name. ----------------------------------------------------------------------# +#----- Set job prefix. --------------------------------------------------------------------# desc=$(basename ${here}) -jobname="${desc}-sims" #------------------------------------------------------------------------------------------# @@ -235,7 +268,7 @@ jobname="${desc}-sims" if [[ ${delay1st_min} -gt 0 ]] then let nsl=${delay1st_min}+1 - while [ ${nsl} -gt 1 ] + while [[ ${nsl} -gt 1 ]] do let nsl=${nsl}-1 case ${nsl} in @@ -259,7 +292,7 @@ fi #------------------------------------------------------------------------------------------# n_ongoing=9999 iter=0 -while [ ${n_ongoing} -gt 0 ] +while [[ ${n_ongoing} -gt 0 ]] do #------ Update iteration counter. ------------------------------------------------------# let iter=${iter}+1 @@ -267,11 +300,13 @@ do #---- Reset count of polygons. ---------------------------------------------------------# n_running=0 + n_stalled=0 n_suspend=0 n_the_end=0 n_unknown=0 n_sigsegv=0 n_crashed=0 + n_hydfail=0 n_metmiss=0 n_stopped=0 #---------------------------------------------------------------------------------------# @@ -281,10 +316,10 @@ do #---------------------------------------------------------------------------------------# # Check whether it's time to update simulation setting files. # #---------------------------------------------------------------------------------------# - if [ ${frqtouch} -gt 0 ] + if [[ ${frqtouch} -gt 0 ]] then let xtouch=${iter}%${frqtouch} - if [ ${xtouch} -eq 0 ] + if [[ ${xtouch} -eq 0 ]] then echo " Touch main files." touch ${here}/*.sh @@ -301,7 +336,7 @@ do #----- Transfer files. -----------------------------------------------------------------# - if [ ! -s ${translock} ] + if [[ ! -s ${translock} ]] then echo " Backup files." nice nohup ${transfer} 1> ${here}/out_transfer.out 2>&1 & @@ -310,9 +345,19 @@ do #----- Move current check to the last check. -------------------------------------------# - rm -f ${lastcheck} - mv ${outcheck} ${lastcheck} - touch ${outcheck} + if [[ -s "${outcheck}" ]] + then + nlnout=$(cat ${outcheck} | wc -l) + if [[ ${nlnout} -eq ${n_polygon} ]] + then + rm -f ${lastcheck} + mv ${outcheck} ${lastcheck} + touch ${outcheck} + else + rm -f ${outcheck} + touch ${outcheck} + fi + fi #---------------------------------------------------------------------------------------# @@ -321,7 +366,7 @@ do # Go through all polygons. # #---------------------------------------------------------------------------------------# ff=0 - while [ ${ff} -lt ${n_polygon} ] + while [[ ${ff} -lt ${n_polygon} ]] do #------------------------------------------------------------------------------------# @@ -340,131 +385,148 @@ do # latitude. # #------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') #------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# + # Task name. This depends on the type of submission (just to avoid clutter). # + #------------------------------------------------------------------------------------# + case "${cluster}" in + SDUMONT) + #----- Task name is bound to the global jobname, no need to add prefix. ----------# + taskname="${polyname}" + #---------------------------------------------------------------------------------# + ;; + CANNON ) + #----- Add prefix to the task name, which will name this job. --------------------# + taskname="${desc}-${polyname}" + #---------------------------------------------------------------------------------# + ;; + esac + #------------------------------------------------------------------------------------# @@ -474,6 +536,11 @@ do case ${iscenario} in default) case ${metdriver} in + ERA5_CHIRPS) + #----- ERA5 (CHIRPS precipitation, Brazilian Amazon only). --------------------# + scentype="ERA5" + iscenario="ERA5_SOUTHAM_CHIRPS" + ;; ERAINT_CHIRPS) #----- ERA-Interim (CHIRPS precipitation). ------------------------------------# scentype="ERA_Interim" @@ -524,6 +591,11 @@ do scentype="sheffield" iscenario="sheffield" ;; + WFDE5_CHIRPS) + #----- WFDEI (CHIRPS Precipitation). ------------------------------------------# + scentype="WFDE5" + iscenario="WFDE5_SOUTHAM_CHIRPS" + ;; WFDEI_CHIRPS) #----- WFDEI (CHIRPS Precipitation). ------------------------------------------# scentype="WFDEI" @@ -613,6 +685,12 @@ do metcycf=2003 imetavg=1 ;; + ERA5_CHIRPS) + metdriverdb="${fullscen}/${iscenario}_HEADER" + metcyc1=1981 + metcycf=2019 + imetavg=1 + ;; ERAINT_CHIRPS) metdriverdb="${fullscen}/${iscenario}_HEADER" metcyc1=1981 @@ -763,6 +841,12 @@ do metcycf=2010 imetavg=1 ;; + WFDE5_CHIRPS) + metdriverdb="${fullscen}/${iscenario}_HEADER" + metcyc1=1981 + metcycf=2018 + imetavg=2 + ;; WFDEI_CHIRPS) metdriverdb="${fullscen}/${iscenario}_HEADER" metcyc1=1981 @@ -800,7 +884,7 @@ do # Correct years so it is not tower-based or Sheffield. # #------------------------------------------------------------------------------------# case ${iscenario} in - default|eft|shr|sheffield|WFDEI*|ERAINT*|MERRA2*|PGMF3*) + default|eft|shr|ERA5*|ERAINT*|MERRA2*|PGMF3*|WFDE5*|WFDEI*|Sheffield) echo "Nothing" > /dev/null ;; *) @@ -848,7 +932,7 @@ do # again. # #------------------------------------------------------------------------------------# statrun=${here}/${polyname}/statusrun.txt - if [ -s ${statrun} ] + if [[ -s ${statrun} ]] then #----- Obtain previous status. ---------------------------------------------------# yearh_old=$(cat ${statrun} | awk '{print $2}') @@ -866,7 +950,7 @@ do #----- In case the simulation never started, force it to be INITIAL. -------------# - if [ ${yearh_old} -eq ${yeara} ] && [ ${monthh_old} -eq ${montha} ] + if [[ ${yearh_old} -eq ${yeara} ]] && [[ ${monthh_old} -eq ${montha} ]] then yearh_old=${yeara} monthh_old=${montha} @@ -892,10 +976,25 @@ do scb_old="NA" npa_old="NA" fi - #---------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# + # Initially assume stall=0. This will be checked and updated only if the # + # simulation is running. Also retrieve the previous stall count if there is one, # + # in case we must update the stall check. # + #------------------------------------------------------------------------------------# + stall=0 + #----- Load previous stall. ---------------------------------------------------------# + if [[ -s ${lastcheck} ]] + then + stall_old=$(cat ${lastcheck} | grep ${polyname} | awk '{print $8}') + else + stall_old=0 + fi + #------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# # We only check those polygons that may be running, so the check doesn't take too # @@ -907,7 +1006,7 @@ do whichrun=${here}/${polyname}/whichrun.r outwhich=${here}/${polyname}/outwhich.txt R CMD BATCH --no-save --no-restore ${whichrun} ${outwhich} - if [ -s ${statrun} ] + if [[ -s ${statrun} ]] then yearh=$(cat ${statrun} | awk '{print $2}') monthh=$(cat ${statrun} | awk '{print $3}') @@ -935,41 +1034,9 @@ do - #------------------------------------------------------------------------------------# - # Check whether the simulations are stalled. # - #------------------------------------------------------------------------------------# - case ${runt} in - "HISTORY") - #----- Check whether the runs are stalled. ---------------------------------------# - if [ ${yearh} == ${yearh_old} ] && [ ${monthh} == ${monthh_old} ] && - [ ${dateh} == ${dateh_old} ] && [ ${timeh} == ${timeh_old} ] - then - stall_old=$(cat ${lastcheck} | grep ${polyname} | awk '{print $8}') - let stall=${stall_old}+1 - else - stall=0 - fi - #---------------------------------------------------------------------------------# - ;; - *) - #----- Not in history, simulations are unlikely to be stalled. -------------------# - stall=0 - #---------------------------------------------------------------------------------# - ;; - esac - #------------------------------------------------------------------------------------# - - - #----- Write polygon check into a single table. -------------------------------------# - output="${polyname} ${polylon} ${polylat} ${yearh} ${monthh} ${dateh} ${timeh}" - output="${output} ${stall} ${runt} ${agb} ${bsa} ${lai} ${scb} ${npa}" - echo ${output} >> ${outcheck} - #------------------------------------------------------------------------------------# - - #----- Update files that may be used to check status or to re-submit. ---------------# - if [ ${xtouch} -eq 0 ] + if [[ ${xtouch} -eq 0 ]] then touch ${here}/${polyname}/*.r touch ${here}/${polyname}/ED2IN @@ -983,10 +1050,25 @@ do #------------------------------------------------------------------------------------# # Check whether the simulation is still running, and if not, why it isn't. # #------------------------------------------------------------------------------------# - if [ -s ${stdout} ] + if [[ -s ${stdout} ]] then + #----- Set task inquire command. -------------------------------------------------# + case "${cluster}" in + SDUMONT) + #----- Multi-task job, search for specific task. ------------------------------# + stask="stask --noheader -u ${moi} -t ${taskname} -j ${jobname}" + #------------------------------------------------------------------------------# + ;; + CANNON) + #----- Single-task jobs, search the task using the job name. ------------------# + stask="stask --noheader -u ${moi} -j ${taskname}" + #------------------------------------------------------------------------------# + ;; + esac + #---------------------------------------------------------------------------------# + + #----- Check whether the simulation is running, and when in model time it is. ----# - stask="stask --noheader -u $(whoami) -t ${polyname} -j ${jobname} " running=$(${stask} -o "${outform}" | grep "RUNNING" | wc -l) pending=$(${stask} -o "${outform}" | grep "PENDING" | wc -l) suspended=$(${stask} -o "${outform}" | grep "SUSPENDED" | wc -l) @@ -996,8 +1078,54 @@ do + #---------------------------------------------------------------------------------# + # Check whether the simulations are stalled. # + #---------------------------------------------------------------------------------# + if [[ ${running} -gt 0 ]] + then + #----- Check whether the runs are stalled. ------------------------------------# + if [[ ${yearh} == ${yearh_old} ]] && [[ ${monthh} == ${monthh_old} ]] && + [[ ${dateh} == ${dateh_old} ]] && [[ ${timeh} == ${timeh_old} ]] + then + let stall=${stall_old}+1 + else + stall=0 + fi + #------------------------------------------------------------------------------# + + + + + #------------------------------------------------------------------------------# + # Check whether to kill and resubmit the job. # + #------------------------------------------------------------------------------# + if ${stall_reset} && [[ ${stall} -ge ${nstall} ]] + then + #------- Set stalled flag to one so it is clear the run is not running. ----# + stalled=true + #---------------------------------------------------------------------------# + else + #------- Set stalled flag to zero. It is either running or something else. -# + stalled=false + #---------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------# + + + + else + #----- Not in history, simulations are unlikely to be stalled. ----------------# + stall=0 + stalled=false + #------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------# + + + + #----- Check for segmentation violations. ----------------------------------------# - if [ -s ${stderr} ] + if [[ -s ${stderr} ]] then segv1=$(grep -i "sigsegv" ${stderr} | wc -l) segv2=$(grep -i "segmentation fault" ${stderr} | wc -l) @@ -1018,50 +1146,157 @@ do #----- Check for other possible outcomes. ----------------------------------------# - stopped=$(grep "FATAL ERROR" ${stdout} | wc -l) - crashed=$(grep "IFLAG1 problem." ${stdout} | wc -l) - the_end=$(grep "ED-2.2 execution ends" ${stdout} | wc -l) + stopped=$(grep "FATAL ERROR" ${stdout} | wc -l) + crashed=$(grep "IFLAG1 problem." ${stdout} | wc -l) + hydfail=$(grep "Plant Hydrodynamics is off-track." ${stdout} | wc -l) + the_end=$(grep "ED-2.2 execution ends" ${stdout} | wc -l) #---------------------------------------------------------------------------------# #---------------------------------------------------------------------------------# # Plot a message so the user knows what is going on. # #---------------------------------------------------------------------------------# - if [ ${pending} -gt 0 ] + if [[ ${pending} -gt 0 ]] then let n_pending=${n_pending}+1 echo -e "${ffout}: ${polyname} is pending..." - elif [ ${suspended} -gt 0 ] + elif [[ ${suspended} -gt 0 ]] then let n_suspend=${n_suspend}+1 echo -e "${ffout}: ${polyname} is SUSPENDED." - elif [ ${running} -gt 0 ] && [ ${sigsegv} -eq 0 ] + elif ${stalled} + then + let n_stalled=${n_stalled}+1 + echo -e "${ffout}: ${polyname} is STALLED (${stall} - ${runtime})." + + #------------------------------------------------------------------------------# + # Kill jobs, it must be stalled. # + #------------------------------------------------------------------------------# + jobid="enter_loop" + kcnt=0 + while [[ "${jobid}" != "" ]] && [[ ${kcnt} -lt 10 ]] + do + #----- Ensure to eliminate potential duplicates. ---------------------------# + let kcnt=${kcnt}+1 + jobln=$(${stask} -o "${outform}" | grep -v "CANCEL" | grep -v "COMPLET" \ + | head -1) + jobid=$(echo ${jobln} | awk '{print $1}') + if [[ "${jobid}" != "" ]] + then + echo " - Cancel Job ${jobid} (${taskname})." + scancel ${jobid} + fi + #---------------------------------------------------------------------------# + done + if [[ ${kcnt} -ge 10 ]] + then + #------ The script is bogus. -----------------------------------------------# + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo " JOB NUMBER IS LIKELY INCORRECT IN STASK. STOPPING THE SCRIPT. " + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo " Output of stask command:" + ${stask} -o "${outform}" + echo " Resulting JobId:" + jobln=$(${stask} -o "${outform}" | grep -v "CANCEL" | grep -v "COMPLET" \ + | head -1) + jobid=$(echo ${jobln} | awk '{print $1}') + echo " Job Line=${jobln}" + echo " JobId=${jobid}" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + exit 99 + #---------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------# + + + #----- Re-submit job. ---------------------------------------------------------# + echo " - Submit New job (${taskname})." + callserial="${here}/${polyname}/callserial.sh" + sbatch ${callserial} + stall=0 + #------------------------------------------------------------------------------# + + elif [[ ${running} -gt 0 ]] && [[ ${sigsegv} -eq 0 ]] then let n_running=${n_running}+1 echo -e "${ffout}: ${polyname} is running (${runtime})." - elif [ ${sigsegv} -gt 0 ] + elif [[ ${sigsegv} -gt 0 ]] then let n_sigsegv=${n_sigsegv}+1 echo -e "${ffout}: ${polyname} HAD SEGMENTATION VIOLATION." - elif [ ${crashed} -gt 0 ] + elif [[ ${crashed} -gt 0 ]] then let n_crashed=${n_crashed}+1 echo -e "${ffout}: ${polyname} HAS CRASHED (RK4 PROBLEM)." - elif [ ${metmiss} -gt 0 ] + elif [[ ${hydfail} -gt 0 ]] + then + let n_hydfail=${n_hydfail}+1 + echo -e "${ffout}: ${polyname} HAS CRASHED (HYDRODYNAMICS)." + elif [[ ${metmiss} -gt 0 ]] then let n_metmiss=${n_metmiss}+1 echo -e "${ffout}: ${polyname} DID NOT FIND MET DRIVERS." - elif [ ${stopped} -gt 0 ] + elif [[ ${stopped} -gt 0 ]] then let n_stopped=${n_stopped}+1 echo -e "${ffout}: ${polyname} STOPPED (UNKNOWN REASON)." - elif [ ${the_end} -gt 0 ] + elif [[ ${the_end} -gt 0 ]] then let n_the_end=${n_the_end}+1 echo -e "${ffout}: ${polyname} has finished." else let n_unknown=${n_unknown}+1 echo -e "${ffout}: ${polyname} status is UNKNOWN." + + #------------------------------------------------------------------------------# + # Kill jobs, it must be stalled. # + #------------------------------------------------------------------------------# + jobid="enter_loop" + kcnt=0 + while [[ "${jobid}" != "" ]] && [[ ${kcnt} -lt 10 ]] + do + #----- Ensure to eliminate potential duplicates. ---------------------------# + let kcnt=${kcnt}+1 + jobln=$(${stask} -o "${outform}" | grep -v "CANCEL" | grep -v "COMPLET" \ + | head -1) + jobid=$(echo ${jobln} | awk '{print $1}') + if [[ "${jobid}" != "" ]] + then + echo " - Cancel Job ${jobid} (${taskname})." + scancel ${jobid} + fi + #---------------------------------------------------------------------------# + done + if [[ ${kcnt} -ge 10 ]] + then + #------ The script is bogus. -----------------------------------------------# + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo " JOB NUMBER IS LIKELY INCORRECT IN STASK. STOPPING THE SCRIPT. " + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo " Output of stask command:" + ${stask} -o "${outform}" + echo " Resulting JobId:" + jobln=$(${stask} -o "${outform}" | grep -v "CANCEL" | grep -v "COMPLET" \ + | head -1) + jobid=$(echo ${jobln} | awk '{print $1}') + echo " JobLine=${jobid}" + echo " JobId=${jobid}" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + exit 99 + #---------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------# + + + #----- Re-submit job. ---------------------------------------------------------# + echo " - Submit New job (${taskname})." + callserial="${here}/${polyname}/callserial.sh" + sbatch ${callserial} + #------------------------------------------------------------------------------# fi #---------------------------------------------------------------------------------# else @@ -1072,32 +1307,10 @@ do - #------------------------------------------------------------------------------------# - # Update the history time for ED2IN so it doesn't start from the beginning in # - # case the job is resubmitted automatically. # - #------------------------------------------------------------------------------------# - if [ -s ${stdout} ] - then - ED2IN="${here}/${polyname}/ED2IN" - runtype_new=" NL%RUNTYPE = 'HISTORY'" - sfilin_new=" NL%SFILIN = '${here}/${polyname}/histo/${polyname}'" - itimeh_new=" NL%ITIMEH = ${timeh}" - idateh_new=" NL%IDATEH = ${dateh}" - imonthh_new=" NL%IMONTHH = ${monthh}" - iyearh_new=" NL%IYEARH = ${yearh}" - runtype_old=$(grep -i "NL%RUNTYPE" ${ED2IN} | grep -v "\!") - sfilin_old=$(grep -i "NL%SFILIN" ${ED2IN} | grep -v "\!") - itimeh_old=$(grep -i "NL%ITIMEH" ${ED2IN} ) - idateh_old=$(grep -i "NL%IDATEH" ${ED2IN} ) - imonthh_old=$(grep -i "NL%IMONTHH" ${ED2IN} ) - iyearh_old=$(grep -i "NL%IYEARH" ${ED2IN} ) - sed -i~ s@"${runtype_old}"@"${runtype_new}"@g ${ED2IN} - sed -i~ s@"${sfilin_old}"@"${sfilin_new}"@g ${ED2IN} - sed -i~ s@"${itimeh_old}"@"${itimeh_new}"@g ${ED2IN} - sed -i~ s@"${idateh_old}"@"${idateh_new}"@g ${ED2IN} - sed -i~ s@"${imonthh_old}"@"${imonthh_new}"@g ${ED2IN} - sed -i~ s@"${iyearh_old}"@"${iyearh_new}"@g ${ED2IN} - fi + #----- Write polygon check into a single table. -------------------------------------# + output="${polyname} ${polylon} ${polylat} ${yearh} ${monthh} ${dateh} ${timeh}" + output="${output} ${stall} ${runt} ${agb} ${bsa} ${lai} ${scb} ${npa}" + echo ${output} >> ${outcheck} #------------------------------------------------------------------------------------# done #---------------------------------------------------------------------------------------# @@ -1107,17 +1320,18 @@ do #---------------------------------------------------------------------------------------# # Run the post processing. # #---------------------------------------------------------------------------------------# - if [ ${frqpost} -gt 0 ] + if [[ ${frqpost} -gt 0 ]] then let xpost=${iter}%${frqpost} - if [ -s "${here}/epost.sh" ] && [ ${xpost} -eq 0 -o ${n_ongoing} -eq 0 ] + + if [[ ${xpost} -eq 0 ]] || [[ ${n_ongoing} -eq 0 ]] then echo " Run post-processing." ${here}/epost.sh echo " Compress/clean files." - ${here}/last_histo.sh + sbatch ${here}/last_histo.sh fi fi #---------------------------------------------------------------------------------------# @@ -1141,6 +1355,7 @@ do n_metmiss=$(grep METMISS ${outcheck} | wc -l) n_bad_met=$(grep BAD_MET ${outcheck} | wc -l) n_crashed=$(grep CRASHED ${outcheck} | wc -l) + n_hydfail=$(grep HYDFAIL ${outcheck} | wc -l) n_stopped=$(grep STOPPED ${outcheck} | wc -l) n_extinct=$(grep EXTINCT ${outcheck} | wc -l) n_ststate=$(grep STSTATE ${outcheck} | wc -l) @@ -1151,9 +1366,11 @@ do echo "------- Simulation status. --------------------------------------" >> ${statfile} echo " Number of polygons that have never started : ${n_initial}" >> ${statfile} echo " Number of polygons that have partially run : ${n_running}" >> ${statfile} + echo " Number of polygons that have stalled : ${n_stalled}" >> ${statfile} echo " Number of polygons that haven't found met drivers : ${n_metmiss}" >> ${statfile} echo " Number of polygons that have bad met drivers : ${n_bad_met}" >> ${statfile} - echo " Number of polygons that have crashed : ${n_crashed}" >> ${statfile} + echo " Number of polygons that have crashed (RK4) : ${n_crashed}" >> ${statfile} + echo " Number of polygons that have crashed (Hydrodyn.) : ${n_hydfail}" >> ${statfile} echo " Number of polygons that have mysteriously stopped : ${n_stopped}" >> ${statfile} echo " Number of polygons that became desert : ${n_extinct}" >> ${statfile} echo " Number of polygons that have reached steady state : ${n_ststate}" >> ${statfile} @@ -1173,10 +1390,6 @@ do echo " " >> ${emailbody} cat ${statfile} >> ${emailbody} echo " " >> ${emailbody} - cat ${recefile} >> ${emailbody} - echo " " >> ${emailbody} - cat ${queuefile} >> ${emailbody} - echo " " >> ${emailbody} cat ${tailfile} >> ${emailbody} echo " " >> ${emailbody} #----- Check whether to append some plots. ---------------------------------------------# @@ -1185,7 +1398,7 @@ do attach="" for fichier in ${R_figlist} do - if [ -s ${fichier} ] + if [[ -s ${fichier} ]] then attach="${attach} -a ${fichier}" fi @@ -1209,17 +1422,17 @@ do #---------------------------------------------------------------------------------------# # Check whether to send the e-mail or not. # #---------------------------------------------------------------------------------------# - if [ ${email1day} -eq 0 ] + if ${emailevery} then #----- Always send e-mail. -----------------------------------------------------------# sendemail=true #-------------------------------------------------------------------------------------# - elif [ -s ${emailday} ] + elif [[ -s ${emailday} ]] then #----- E-mail has been sent. Check whether it is time to send again. ---------------# elast=$(cat ${emailday}) - let elast=${elapsed}-${elast} - if [ ${elast} -gt ${frqemail} ] + let ediff=${elapsed}-${elast} + if [[ ${ediff} -ge ${frqemail} ]] then #----- Time to send another e-mail. ----------------------------------------------# sendemail=true @@ -1257,11 +1470,11 @@ do # In case any simulation is still on the works, take a break before checking # # again. # #---------------------------------------------------------------------------------------# - if [ ${n_ongoing} -gt 0 ] + if [[ ${n_ongoing} -gt 0 ]] then echo " + Take a break before checking again." let nsl=${wait_minutes}+1 - while [ ${nsl} -gt 1 ] + while [[ ${nsl} -gt 1 ]] do let nsl=${nsl}-1 case ${nsl} in @@ -1281,12 +1494,6 @@ do echo "===================================================================" echo "" #---------------------------------------------------------------------------------------# - - - #----- Clean-up stuff. -----------------------------------------------------------------# - echo " + Delete some temporary files..." - /bin/rm -f ${queuefile} ${recefile} - #---------------------------------------------------------------------------------------# done #------------------------------------------------------------------------------------------# @@ -1297,7 +1504,7 @@ done # transferring the files. # #------------------------------------------------------------------------------------------# nwait=0 -while [ -s ${translock} ] +while [[ -s ${translock} ]] do let nwait=${nwait}+1 echo " + Attempt ${nwait}, script transfer is running. Wait 10 minutes and try again." diff --git a/ED/Template/scripts/SLURM/spawn_poly.sh b/ED/Template/scripts/SLURM/spawn_poly.sh index 7b3146087..4cc98dbdb 100755 --- a/ED/Template/scripts/SLURM/spawn_poly.sh +++ b/ED/Template/scripts/SLURM/spawn_poly.sh @@ -10,23 +10,23 @@ here=$(pwd) moi=$(whoami) #----- Description of this simulation, used to create unique job names. -------------------# desc=$(basename ${here}) +#----- Source path for ED code and executable. --------------------------------------------# +srcpath="${HOME}/EDBRAMS/ED" #----- Original and scratch main data paths. ----------------------------------------------# ordinateur=$(hostname -s) -case ${ordinateur} in - sdumont*) export d_path="${SCRATCH}/Data" ;; - rclogin*|holy*|moorcroft*|rcnx*) export d_path="${HOME}/data" ;; - *) echo " Invalid computer ${ordinateur}. Check script header."; exit ;; -esac +d_path="${HOME}/data" #----- Path where biomass initialisation files are: ---------------------------------------# bioinit="${d_path}/ed2_data/site_bio_data" alsinit="${d_path}/ed2_data/lidar_spline_bio_data" intinit="${d_path}/ed2_data/lidar_intensity_bio_data" lutinit="${d_path}/ed2_data/lidar_lookup_bio_data" +ebainit="${d_path}/ed2_data/lidar_eba_bio_data" biotype=0 # 0 -- "default" setting (isizepft controls default/nounder) # 1 -- isizepft controls number of PFTs, whereas iage controls patches. # 2 -- airborne lidar initialisation using return counts ("default"). # 3 -- airborne lidar initialisation using intensity counts. # 4 -- airborne lidar/inventory hybrid initialisation ("lookup table"). + # 5 -- airborne lidar (EBA Transects). # For lidar initialisation (2-4), isizepft is the disturbance history key. #----- Path and file prefix for init_mode = 5. --------------------------------------------# restart="${d_path}/ed2_data/restarts_XXX" @@ -38,7 +38,7 @@ shefhead='SHEF_NCEP_DRIVER_DS314' metmaindef="${d_path}/ed2_data" packdatasrc="${d_path}/to_scratch" #----- Path with land use scenarios. ------------------------------------------------------# -lumain="${d_path}/ed2_data/land_use" +lumain="${d_path}/ed2_data/lcluc_scenarios" #----- Path with other input data bases (soil texture, DGD, land mask, etc). --------------# inpmain="${d_path}/ed2_data" #----- Should the met driver be copied to local scratch disks? ----------------------------# @@ -59,19 +59,20 @@ dateh="01" # Day timeh="0000" # Hour #----- Default tolerance. -----------------------------------------------------------------# toldef="0.01" -#----- Executable names. ------------------------------------------------------------------# -execname="ed_2.2-opt" # Normal executable, for most queues #----- Initialisation scripts. ------------------------------------------------------------# initrc="${HOME}/.bashrc" # Initialisation script for most nodes #----- Initialisation scripts. ------------------------------------------------------------# optsrc="-n" # Option for .bashrc (for special submission settings) # In case none is needed, leave it blank (""). #----- Submit job automatically? (It may become false if something prevents submission). --# -submit=false +submit=false # This checks whether to submit runs or not. +on_the_fly=false # In case submit=true and this is the CANNON cluster, on_the_fly allows + # directories are jobs to be submitted as the directories are ready. +#----- Executable names. ------------------------------------------------------------------# +execname="ed_2.2-opt" # Normal executable, for most queues +checkexec=true # Check executable #----- Settings for this group of polygons. -----------------------------------------------# global_queue="shared,huce_intel" # Queue -sim_memory=0 # Memory per simulation. Zero uses queue's default -n_cpt=12 # Number of cpus per task (Zero uses queue's maximum) partial=false # Partial submission (false will ignore polya and npartial # and send all polygons. polya=21 # First polygon to submit @@ -79,7 +80,20 @@ npartial=300 # Maximum number of polygons to include in this # (actual number will be adjusted for total number of # polygons if needed be). dttask=2 # Time to wait between task submission -runtime="00:00:00" # Requested runtime. Zero uses the queue's maximum. +init_only=false # Run model initialisation only? + # This can be useful when the initialisation step + # demands much more memory than the time steps (e.g., + # when using lidar data to initialisate the model). +if ${init_only} +then + sim_memory=64000 # Memory per simulation. Zero uses queue's default + n_cpt=1 # Number of cpus per task (Zero uses queue's maximum) + runtime="01-00:00:00" # Requested runtime. Zero uses the queue's maximum. +else + sim_memory=3072 # Memory per simulation. Zero uses queue's default + n_cpt=12 # Number of cpus per task (Zero uses queue's maximum) + runtime="07-00:00:00" # Requested runtime. Zero uses the queue's maximum. +fi #------------------------------------------------------------------------------------------# #==========================================================================================# @@ -123,6 +137,64 @@ squeue="squeue --noheader -u ${moi}" #------------------------------------------------------------------------------------------# +#----- Find out which platform we are using. ----------------------------------------------# +host=$(hostname -s) +case "${host}" in +rclogin*|holy*|moorcroft*|rcnx*) + #----- Cluster is CANNON (formerly known as ODYSSEY). ----------------------------------# + cluster="CANNON" + #---------------------------------------------------------------------------------------# + ;; +sdumont*) + #----- Cluster is SDUMONT. Ironically perhaps, we cannot submit jobs on the fly. -------# + cluster="SDUMONT" + on_the_fly=false + #---------------------------------------------------------------------------------------# + ;; +*) + echo -n "Failed guessing cluster from node name. Please type the name: " + read cluster + cluster=$(echo ${cluster} | tr '[:lower:]' '[:upper:]') + case "${cluster}" in + CANNON|CANNO|CANN|CAN|CA|C) + #----- Set cluster to CANNON. -------------------------------------------------------# + cluster="CANNON" + #------------------------------------------------------------------------------------# + ;; + ODYSSEY|ODYSSE|ODYSS|ODYS|ODY|OD|O) + #----- Set cluster to CANNON. -------------------------------------------------------# + cluster="CANNON" + echo " - Odyssey is now known as Cannon. Using Cannon settings." + #------------------------------------------------------------------------------------# + ;; + SDUMONT|SDUMON|SDUMO|SDUM|SDU|SD|S) + #----- Cluster is SDUMONT. Ironically perhaps, we cannot submit jobs on the fly. ----# + cluster="SDUMONT" + on_the_fly=false + #------------------------------------------------------------------------------------# + ;; + *) + #----- Unknown cluster. -------------------------------------------------------------# + echo " Cluster ${cluster} is not recognised. Pick either CANNON or SDUMONT." + echo " (or edit the script to add the new cluster)." + exit 92 + #------------------------------------------------------------------------------------# + ;; + esac + ;; +esac +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# Do not let on_the_fly if submit is false. # +#------------------------------------------------------------------------------------------# +if ! ${submit} +then + on_the_fly=false +fi +#------------------------------------------------------------------------------------------# + + #----- Set the main path for the site, pseudo past and Sheffield met drivers. -------------# if ${copy2scratch} then @@ -136,13 +208,13 @@ fi #----- Determine the number of polygons to run. -------------------------------------------# let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -if [ ${npolys} -lt 100 ] +if [[ ${npolys} -lt 100 ]] then ndig=2 -elif [ ${npolys} -lt 1000 ] +elif [[ ${npolys} -lt 1000 ]] then ndig=3 -elif [ ${npolys} -lt 10000 ] +elif [[ ${npolys} -lt 10000 ]] then ndig=4 else @@ -186,67 +258,41 @@ done # script. # #------------------------------------------------------------------------------------------# exec_full="${here}/executable/${execname}" -if [ ! -s ${exec_full} ] +exec_src="${srcpath}/build/${execname}" +if [[ ! -s ${exec_full} ]] then echo "Executable file : ${exec_full} is not in the executable directory" echo "Copy the executable to the file before running this script!" exit 99 +elif ${checkexec} +then + #----- Check whether the executable is up to date. -------------------------------------# + idiff=$(diff ${exec_full} ${exec_src} 2> /dev/null | wc -l) + if [[ ${idiff} -gt 0 ]] + then + #----- Executable is not up to date, warn user and offer to update it. --------------# + echo "Executable ${exec_full} is not the same as the most recently compiled file." + echo "Most recent: ${exec_src}." + echo "Do you want to update the executable? [y/N]" + read update + update=$(echo ${update} | tr '[:upper:]' '[:lower:]') + case "${update}" in + y*) rsync - Putv ${exec_src} ${exec_full} ;; + esac + #------------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------------# fi #------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# -# Configurations depend on the global_queue. # +# Configurations depend on the global_queue and cluster. # #------------------------------------------------------------------------------------------# -case ${ordinateur} in -rclogin*|holy*|moorcroft*|rcnx*) - #----- Odyssey queues. -----------------------------------------------------------------# - case ${global_queue} in - "serial_requeue") - n_nodes_max=900 - n_cpt_max=12 - n_cpn=24 - runtime_max="7-00:00:00" - node_memory=126820 - ;; - "shared,huce_intel"|"huce_intel,shared") - n_nodes_max=276 - n_cpt_max=12 - n_cpn=24 - runtime_max="7-00:00:00" - node_memory=126820 - ;; - "shared") - n_nodes_max=456 - n_cpt_max=24 - n_cpn=48 - runtime_max="7-00:00:00" - node_memory=192892 - ;; - "huce_intel") - n_nodes_max=276 - n_cpt_max=12 - n_cpn=24 - runtime_max="14-00:00:00" - node_memory=126820 - ;; - "unrestricted") - n_nodes_max=8 - n_cpt_max=24 - n_cpn=48 - runtime_max="infinite" - node_memory=262499 - ;; - *) - echo "Global queue ${global_queue} is not recognised!" - exit - ;; - esac - #---------------------------------------------------------------------------------------# - ;; -sdumont*) - #----- SantosDumont. -------------------------------------------------------------------# +case "${cluster}" in +SDUMONT) + #----- Set parameters according to partitions. -----------------------------------------# case ${global_queue} in cpu_long|nvidia_long) n_nodes_max=10 @@ -290,15 +336,78 @@ sdumont*) esac #---------------------------------------------------------------------------------------# ;; -*) - #----- Computer is not listed. Crash. -------------------------------------------------# - echo " Invalid computer ${ordinateur}. Check queue settings in the script." - exit 31 +CANNON) + #----- Set parameters according to partitions. -----------------------------------------# + case ${global_queue} in + "commons") + n_nodes_max=5 + n_cpt_max=18 + n_cpn=32 + runtime_max="14-00:00:00" + node_memory=244660 + ;; + "huce_cascade") + n_nodes_max=30 + n_cpt_max=48 + n_cpn=24 + runtime_max="14-00:00:00" + node_memory=183240 + ;; + "huce_intel") + n_nodes_max=150 + n_cpt_max=12 + n_cpn=24 + runtime_max="14-00:00:00" + node_memory=122090 + ;; + "serial_requeue") + n_nodes_max=900 + n_cpt_max=24 + n_cpn=48 + runtime_max="7-00:00:00" + node_memory=30362 + ;; + "shared,huce_intel"|"huce_intel,shared") + n_nodes_max=150 + n_cpt_max=12 + n_cpn=24 + runtime_max="7-00:00:00" + node_memory=122090 + ;; + "shared") + n_nodes_max=220 + n_cpt_max=24 + n_cpn=48 + runtime_max="7-00:00:00" + node_memory=183240 + ;; + "test") + n_nodes_max=9 + n_cpt_max=24 + n_cpn=48 + runtime_max="08:00:00" + node_memory=183240 + ;; + "unrestricted") + n_nodes_max=4 + n_cpt_max=24 + n_cpn=48 + runtime_max="infinite" + node_memory=183240 + ;; + *) + echo "Global queue ${global_queue} is not recognised!" + exit + ;; + esac #---------------------------------------------------------------------------------------# ;; esac #------------------------------------------------------------------------------------------# -if [ ${n_cpt} -gt ${n_cpt_max} ] + + +#----- Check that the resources requested are reasonable. ---------------------------------# +if [[ ${n_cpt} -gt ${n_cpt_max} ]] then echo " Too many CPUs per task requested:" echo " Queue = ${global_queue}" @@ -435,36 +544,31 @@ esac #------------------------------------------------------------------------------------------# # Make sure memory does not exceed maximum amount that can be requested. # #------------------------------------------------------------------------------------------# -if [ ${sim_memory} -eq 0 ] +if [[ ${sim_memory} -eq 0 ]] then let sim_memory=${node_memory}/${n_cpn} let node_memory=${n_cpn}*${sim_memory} -elif [ ${sim_memory} -gt ${node_memory} ] +elif [[ ${sim_memory} -gt ${node_memory} ]] then echo "Simulation memory ${sim_memory} cannot exceed node memory ${node_memory}!" exit 99 -else - #------ Set memory and number of CPUs per task. ----------------------------------------# - let n_cpn_try=${node_memory}/${sim_memory} - if [ ${n_cpn_try} -le ${n_cpn} ] - then - n_cpn=${n_cpn_try} - let sim_memory=${node_memory}/${n_cpn} - else - let node_memory=${n_cpn}*${sim_memory} - fi - #---------------------------------------------------------------------------------------# fi #------------------------------------------------------------------------------------------# +#----- Limit the memory per CPU based on the simulation memory. ---------------------------# +let cpu_memory=${sim_memory}/${n_cpt} +#------------------------------------------------------------------------------------------# + + #---- Partial or complete. ----------------------------------------------------------------# + if ${partial} then let ff=${polya}-1 let polyz=${ff}+${npartial} - if [ ${polyz} -gt ${npolys} ] + if [[ ${polyz} -gt ${npolys} ]] then polyz=${npolys} fi @@ -491,19 +595,20 @@ let ntasks=1+${polyz}-${polya} echo "------------------------------------------------" echo " Submission summary: " echo "" -echo " Memory per cpu: ${sim_memory}" +echo " Memory per task: ${sim_memory}" +echo " Memory per cpu: ${cpu_memory}" echo " CPUs per node: ${n_cpn}" echo " CPUs per task: ${n_cpt}" -echo " Queue: ${global_queue}" +echo " Partition: ${global_queue}" echo " Run time: ${runtime}" echo " First polygon: ${polya}" echo " Last polygon: ${polyz}" echo " Potl. task count: ${ntasks}" -echo " Job Name: ${jobname}" echo " Total polygon count: ${npolys}" echo " " echo " Partial submission: ${partial}" echo " Automatic submission: ${submit}" +echo " Script: $(basename ${sbatch})" echo "------------------------------------------------" echo "" echo -n " Waiting five seconds before proceeding... " @@ -514,88 +619,132 @@ echo "Done!" #------------------------------------------------------------------------------------------# -# Check whether there is already a job submitted that looks like this one. # -#------------------------------------------------------------------------------------------# -queued=$(${squeue} -o "${outform}" | grep ${jobname} | wc -l) -if [ ${queued} -gt 0 ] -then - echo "There is already a job called \"${jobname}\" running." - echo "New submissions must have different names: be creative!" - exit 99 -fi +# Initialise executable. This depends on the cluster because in some of them it is # +# better to submit a single multi-task job, whereas in others it makes more sense to # +# submit individual jobs. # #------------------------------------------------------------------------------------------# +case "${cluster}" in +SDUMONT) + #---------------------------------------------------------------------------------------# + # Check whether there is already a job submitted that looks like this one. # + #---------------------------------------------------------------------------------------# + queued=$(${squeue} -o "${outform}" | grep ${jobname} | wc -l) + if [[ ${queued} -gt 0 ]] + then + echo "There is already a job called \"${jobname}\" running." + echo "New submissions must have different names: be creative!" + exit 99 + fi + #---------------------------------------------------------------------------------------# -#------------------------------------------------------------------------------------------# -# Initialise executable. # -#------------------------------------------------------------------------------------------# -rm -f ${sbatch} -touch ${sbatch} -chmod u+x ${sbatch} -echo "#!/bin/bash" >> ${sbatch} -echo "#SBATCH --ntasks=myntasks # Number of tasks" >> ${sbatch} -echo "#SBATCH --cpus-per-task=${n_cpt} # Number of CPUs per task" >> ${sbatch} -echo "#SBATCH --partition=${global_queue} # Queue that will run job" >> ${sbatch} -echo "#SBATCH --job-name=${jobname} # Job name" >> ${sbatch} -echo "#SBATCH --mem-per-cpu=${sim_memory} # Memory per CPU" >> ${sbatch} -echo "#SBATCH --time=${runtime} # Time for job" >> ${sbatch} -echo "#SBATCH --output=${obatch} # Standard output path" >> ${sbatch} -echo "#SBATCH --error=${ebatch} # Standard error path" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Initial settings." >> ${sbatch} -echo "here=\"${here}\" # Main path" >> ${sbatch} -echo "exec=\"${exec_full}\" # Executable" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Print information about this job." >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"----- Summary of current job ---------------------------------\"" >> ${sbatch} -echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${sbatch} -echo "echo \" Job: \${SLURM_JOB_NAME} (\${SLURM_JOB_ID})\"" >> ${sbatch} -echo "echo \" Queue: \${SLURM_JOB_PARTITION}\"" >> ${sbatch} -echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${sbatch} -echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${sbatch} -echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${sbatch} -echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${sbatch} -echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${sbatch} -echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${sbatch} -echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${sbatch} -echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${sbatch} -echo "echo \"--------------------------------------------------------------\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "" >> ${sbatch} -echo "echo \"----- Global settings for this array of simulations ----------\"" >> ${sbatch} -echo "echo \" Main path: \${here}\"" >> ${sbatch} -echo "echo \" Executable: \${exec}\"" >> ${sbatch} -echo "echo \"--------------------------------------------------------------\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "echo \"\"" >> ${sbatch} -echo "" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Define home in case home is not set" >> ${sbatch} -echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${sbatch} -echo "then" >> ${sbatch} -echo " export HOME=\$(echo ~)" >> ${sbatch} -echo "fi" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Load modules and settings." >> ${sbatch} -echo ". \${HOME}/.bashrc ${optsrc}" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Get plenty of memory." >> ${sbatch} -echo "ulimit -s unlimited" >> ${sbatch} -echo "ulimit -u unlimited" >> ${sbatch} -echo "" >> ${sbatch} -echo "#--- Set OpenMP parameters" >> ${sbatch} -echo "if [ \"\${SLURM_CPUS_PER_TASK}\" == \"\" ]" >> ${sbatch} -echo "then" >> ${sbatch} -echo " export OMP_NUM_THREADS=1" >> ${sbatch} -echo "else" >> ${sbatch} -echo " export OMP_NUM_THREADS=\${SLURM_CPUS_PER_TASK}" >> ${sbatch} -echo "fi" >> ${sbatch} -echo "" >> ${sbatch} -echo "#----- Task list." >> ${sbatch} + #----- Initialise script to submit a single multi-task job. ----------------------------# + rm -f ${sbatch} + touch ${sbatch} + chmod u+x ${sbatch} + echo "#!/bin/bash" >> ${sbatch} + echo "#SBATCH --ntasks=myntasks # Number of tasks" >> ${sbatch} + echo "#SBATCH --cpus-per-task=${n_cpt} # Number of CPUs per task" >> ${sbatch} + echo "#SBATCH --cores-per-socket=${n_cpt} # Min. # of cores per socket" >> ${sbatch} + echo "#SBATCH --partition=${global_queue} # Queue that will run job" >> ${sbatch} + echo "#SBATCH --job-name=${jobname} # Job name" >> ${sbatch} + echo "#SBATCH --mem-per-cpu=${cpu_memory} # Memory per CPU" >> ${sbatch} + echo "#SBATCH --time=${runtime} # Time for job" >> ${sbatch} + echo "#SBATCH --output=${obatch} # Standard output path" >> ${sbatch} + echo "#SBATCH --error=${ebatch} # Standard error path" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Initial settings." >> ${sbatch} + echo "here=\"${here}\" # Main path" >> ${sbatch} + echo "exec=\"${exec_full}\" # Executable" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Print information about this job." >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"----- Summary of current job ------------------------------\"" >> ${sbatch} + echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${sbatch} + echo "echo \" Job: \${SLURM_JOB_NAME} (\${SLURM_JOB_ID})\"" >> ${sbatch} + echo "echo \" Queue: \${SLURM_JOB_PARTITION}\"" >> ${sbatch} + echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${sbatch} + echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${sbatch} + echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${sbatch} + echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${sbatch} + echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${sbatch} + echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${sbatch} + echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${sbatch} + echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${sbatch} + echo "echo \"-----------------------------------------------------------\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "" >> ${sbatch} + echo "echo \"----- Global settings for this array of simulations -------\"" >> ${sbatch} + echo "echo \" Main path: \${here}\"" >> ${sbatch} + echo "echo \" Executable: \${exec}\"" >> ${sbatch} + echo "echo \"-----------------------------------------------------------\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Define home in case home is not set" >> ${sbatch} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${sbatch} + echo "then" >> ${sbatch} + echo " export HOME=\$(echo ~)" >> ${sbatch} + echo "fi" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Load modules and settings." >> ${sbatch} + echo ". \${HOME}/.bashrc ${optsrc}" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Get plenty of memory." >> ${sbatch} + echo "ulimit -s unlimited" >> ${sbatch} + echo "ulimit -u unlimited" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Set OpenMP parameters" >> ${sbatch} + echo "if [ \"\${SLURM_CPUS_PER_TASK}\" == \"\" ]" >> ${sbatch} + echo "then" >> ${sbatch} + echo " export OMP_NUM_THREADS=1" >> ${sbatch} + echo "else" >> ${sbatch} + echo " export OMP_NUM_THREADS=\${SLURM_CPUS_PER_TASK}" >> ${sbatch} + echo "fi" >> ${sbatch} + echo "" >> ${sbatch} + echo "#----- Task list." >> ${sbatch} + #---------------------------------------------------------------------------------------# + ;; +CANNON) + #----- Initialise script to submit multiple single-task jobs. --------------------------# + rm -f ${sbatch} + touch ${sbatch} + chmod u+x ${sbatch} + echo "#!/bin/bash" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Initial settings." >> ${sbatch} + echo "here=\"${here}\" # Main path" >> ${sbatch} + echo "exec=\"${exec_full}\" # Executable" >> ${sbatch} + echo "" >> ${sbatch} + echo "echo \"----- Global settings for this array of simulations -------\"" >> ${sbatch} + echo "echo \" Main path: \${here}\"" >> ${sbatch} + echo "echo \" Executable: \${exec}\"" >> ${sbatch} + echo "echo \"-----------------------------------------------------------\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "echo \"\"" >> ${sbatch} + echo "" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Define home in case home is not set" >> ${sbatch} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${sbatch} + echo "then" >> ${sbatch} + echo " export HOME=\$(echo ~)" >> ${sbatch} + echo "fi" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Load modules and settings." >> ${sbatch} + echo ". \${HOME}/.bashrc ${optsrc}" >> ${sbatch} + echo "" >> ${sbatch} + echo "#--- Get plenty of memory." >> ${sbatch} + echo "ulimit -s unlimited" >> ${sbatch} + echo "ulimit -u unlimited" >> ${sbatch} + echo "" >> ${sbatch} + echo "#----- Job list." >> ${sbatch} + #---------------------------------------------------------------------------------------# + ;; +esac #------------------------------------------------------------------------------------------# @@ -604,7 +753,7 @@ echo "#----- Task list." > # Loop over all polygons. # #------------------------------------------------------------------------------------------# n_submit=0 -while [ ${ff} -lt ${polyz} ] +while [[ ${ff} -lt ${polyz} ]] do let ff=${ff}+1 let line=${ff}+3 @@ -613,13 +762,13 @@ do #---------------------------------------------------------------------------------------# # Format count. # #---------------------------------------------------------------------------------------# - if [ ${npolys} -lt 100 ] + if [[ ${npolys} -lt 100 ]] then ffout=$(printf '%2.2i' ${ff}) - elif [ ${npolys} -lt 1000 ] + elif [[ ${npolys} -lt 1000 ]] then ffout=$(printf '%3.3i' ${ff}) - elif [ ${npolys} -lt 10000 ] + elif [[ ${npolys} -lt 10000 ]] then ffout=$(printf '%4.4i' ${ff}) else @@ -635,142 +784,190 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # In case this is an "init_only" run, impose final time to be the initial time. # + #---------------------------------------------------------------------------------------# + if ${init_only} + then + yearz=${yeara} + monthz=${montha} + datez=${datea} + timez=${timea} + fi + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Task name. This depends on the type of submission (just to avoid clutter). # + #---------------------------------------------------------------------------------------# + case "${cluster}" in + SDUMONT) + #----- Task name is bound to the global jobname, no need to add prefix. -------------# + taskname="${polyname}" + #------------------------------------------------------------------------------------# + ;; + CANNON ) + #----- Add prefix to the task name, which will name this job. -----------------------# + taskname="${desc}-${polyname}" + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Check whether there is already a job submitted that looks like this one. # + #------------------------------------------------------------------------------------# + queued=$(${squeue} -o "${outform}" | grep ${taskname} | wc -l) + if [[ ${queued} -gt 0 ]] + then + echo "There is already a job called \"${taskname}\" running." + echo "New submissions must have different names: be creative!" + exit 99 + fi + #------------------------------------------------------------------------------------# + ;; + esac #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Decide units for restart files. # #---------------------------------------------------------------------------------------# let elapseda=12*${yeara}+${montha} let elapsedz=12*${yearz}+${monthz} let nmonths=${elapsedz}-${elapseda} - if [ ${nmonths} -ge 240 ] + if [[ ${nmonths} -ge 240 ]] then iunitstate=3 - elif [ ${nmonths} -ge 3 ] + elif [[ ${nmonths} -ge 3 ]] then iunitstate=2 else @@ -780,7 +977,7 @@ do #----- Check whether the directories exist or not, and stop the script if they do. -----# - if [ -s ${here}/${polyname} ] + if [[ -s ${here}/${polyname} ]] then echo -n "${ffout} ${polyname}: updating files..." @@ -804,7 +1001,7 @@ do #---------------------------------------------------------------------------------------# # Make sure that we have a reasonable tolerance. # #---------------------------------------------------------------------------------------# - if [ "x${oldtol}" == "xmytoler" -o "x${oldtol}" == "x" ] + if [[ "x${oldtol}" == "xmytoler" ]] || [[ "x${oldtol}" == "x" ]] then toler=${toldef} else @@ -822,28 +1019,28 @@ do # we simply copy the template, and assume initial run. Otherwise, we must find out # # where the simulation was when it stopped. # #---------------------------------------------------------------------------------------# - if [ -s ${here}/${polyname} ] + if [[ -s ${here}/${polyname} ]] then #------------------------------------------------------------------------------------# # This step is necessary because we may have killed the run while it was # # writing, and as a result, the file may be corrupt. # #------------------------------------------------------------------------------------# - nhdf5=$(ls -1 ${here}/${polyname}/histo/* 2> /dev/null | wc -l) - if [ ${nhdf5} -gt 0 ] + nhdf5=$(ls -1 ${here}/${polyname}/histo/*.h5 2> /dev/null | wc -l) + if [[ ${nhdf5} -gt 0 ]] then h5fine=0 - while [ ${h5fine} -eq 0 ] + while [[ ${h5fine} -eq 0 ]] do - lasthdf5=$(ls -1 ${here}/${polyname}/histo/* | tail -1) + lasthdf5=$(ls -1 ${here}/${polyname}/histo/*.h5 | tail -1) h5dump -H ${lasthdf5} 1> /dev/null 2> ${here}/badfile.txt - if [ -s ${here}/badfile.txt ] + if [[ -s ${here}/badfile.txt ]] then /bin/rm -fv ${lasthdf5} - nhdf5=$(ls -1 ${here}/${polyname}/histo/* 2> /dev/null | wc -l) - if [ ${nhdf5} -eq 0 ] + nhdf5=$(ls -1 ${here}/${polyname}/histo/*.h5 2> /dev/null | wc -l) + if [[ ${nhdf5} -eq 0 ]] then h5fine=1 fi @@ -883,7 +1080,7 @@ do sed -i~ s@thisnyearmin@10000@g ${whichrun} sed -i~ s@thisststcrit@0.0@g ${whichrun} R CMD BATCH --no-save --no-restore ${whichrun} ${outwhich} - while [ ! -s ${here}/${polyname}/statusrun.txt ] + while [[ ! -s ${here}/${polyname}/statusrun.txt ]] do sleep 0.2 done @@ -895,13 +1092,42 @@ do #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # Run the small R script to generate specific observation times. # + #---------------------------------------------------------------------------------------# + /bin/rm -f ${here}/${polyname}/gen_obstimes.r + /bin/cp -f ${here}/Template/gen_obstimes.r ${here}/${polyname}/gen_obstimes.r + obstimes="${here}/${polyname}/gen_obstimes.r" + outtimes="${here}/${polyname}/out_obstimes.txt" + sed -i~ s@thispoly@${polyname}@g ${obstimes} + sed -i~ s@thisqueue@${queue}@g ${obstimes} + sed -i~ s@pathhere@${here}@g ${obstimes} + sed -i~ s@paththere@${here}@g ${obstimes} + sed -i~ s@thisyeara@${yeara}@g ${obstimes} + sed -i~ s@thismontha@${montha}@g ${obstimes} + sed -i~ s@thisdatea@${datea}@g ${obstimes} + sed -i~ s@thistimea@${timea}@g ${obstimes} + sed -i~ s@thisyearz@${yearz}@g ${obstimes} + sed -i~ s@thismonthz@${monthz}@g ${obstimes} + sed -i~ s@thisdatez@${datez}@g ${obstimes} + sed -i~ s@thistimez@${timez}@g ${obstimes} + sed -i~ s@thislon@${polylon}@g ${obstimes} + sed -i~ s@thislat@${polylat}@g ${obstimes} + R CMD BATCH --no-save --no-restore ${obstimes} ${outtimes} + while [[ ! -s ${here}/${polyname}/${polyname}_obstimes.txt ]] + do + sleep 0.2 + done + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # To ensure simulations can be requeued, we no longer set RUNTYPE to INITIAL or # # HISTORY (except when we should force history). Instead, we select RESTORE and let # # the model decide between initial or history. # #---------------------------------------------------------------------------------------# - if [ "${runt}" == "INITIAL" ] || [ "${runt}" == "HISTORY" ] + if [[ "${runt}" == "INITIAL" ]] || [[ "${runt}" == "HISTORY" ]] then runt="RESTORE" fi @@ -1139,6 +1365,16 @@ do case ${iscenario} in default) case ${metdriver} in + ERA5_CHIRPS) + #----- ERA5 (CHIRPS precipitation, Brazilian Amazon only). -----------------------# + scentype="ERA5" + iscenario="ERA5_SOUTHAM_CHIRPS" + ;; + ERA5_CHIRPS) + #----- ERA-Interim (CHIRPS precipitation). ---------------------------------------# + scentype="ERA_Interim" + iscenario="ERAINT_SOUTHAM_CHIRPS" + ;; ERAINT_CHIRPS) #----- ERA-Interim (CHIRPS precipitation). ---------------------------------------# scentype="ERA_Interim" @@ -1189,6 +1425,11 @@ do scentype="sheffield" iscenario="sheffield" ;; + WFDE5_CHIRPS) + #----- WFDEI (CHIRPS Precipitation). ---------------------------------------------# + scentype="WFDE5" + iscenario="WFDE5_SOUTHAM_CHIRPS" + ;; WFDEI_CHIRPS) #----- WFDEI (CHIRPS Precipitation). ---------------------------------------------# scentype="WFDEI" @@ -1277,6 +1518,12 @@ do metcycf=2003 imetavg=1 ;; + ERA5_CHIRPS) + metdriverdb="${fullscen}/${iscenario}_HEADER" + metcyc1=1981 + metcycf=2019 + imetavg=1 + ;; ERAINT_CHIRPS) metdriverdb="${fullscen}/${iscenario}_HEADER" metcyc1=1981 @@ -1427,6 +1674,12 @@ do metcycf=2010 imetavg=1 ;; + WFDE5_CHIRPS) + metdriverdb="${fullscen}/${iscenario}_HEADER" + metcyc1=1981 + metcycf=2018 + imetavg=2 + ;; WFDEI_CHIRPS) metdriverdb="${fullscen}/${iscenario}_HEADER" metcyc1=1981 @@ -1464,7 +1717,7 @@ do # Correct years so it is not tower-based or Sheffield. # #---------------------------------------------------------------------------------------# case ${iscenario} in - default|eft|shr|sheffield|WFDEI*|ERAINT*|MERRA2*|PGMF3*) + default|eft|shr|ERA5*|ERAINT*|MERRA2*|PGMF3*|Sheffield|WFDE5*|WFDEI*) echo "Nothing" > /dev/null ;; *) @@ -1521,6 +1774,12 @@ do ;; esac ;; + sa2-ril) + ludatabase="${lumain}/SimAmazonia2/ril/sa2_ril_" + ;; + sa2-cvl) + ludatabase="${lumain}/SimAmazonia2/cvl/sa2_cvl_" + ;; lurcp26) ludatabase="${lumain}/luh-1.1+rcp26_image/luh-1.1+rcp26_image-" ;; @@ -1538,7 +1797,7 @@ do # Stop the script if anthropogenic dataset is invalid and this is a simulation # # with anthropogenic disturbance. # #------------------------------------------------------------------------------------# - if [ ${ianthdisturb} -eq 1 ] + if [[ ${ianthdisturb} -eq 1 ]] then echo " Polygon: ${polyname}" echo " IATA: ${polyiata}" @@ -1558,13 +1817,13 @@ do # Define whether we use the met cycle to define the first and last year, or the # # default year. # #---------------------------------------------------------------------------------------# - if [ ${yeara} -eq 0 ] + if [[ ${yeara} -eq 0 ]] then thisyeara=${metcyc1} else thisyeara=${yeara} fi - if [ ${yearz} -eq 0 ] + if [[ ${yearz} -eq 0 ]] then thisyearz=${metcycf} else @@ -1641,8 +1900,8 @@ do ;; E) polynzg=16 - polyslz1="-4.500,-4.032,-3.584,-3.159,-2.757,-2.377,-2.021,-1.689,-1.382,-1.101," - polyslz2="-0.846,-0.620,-0.424,-0.260,-0.130,-0.040" + polyslz1="-5.000,-4.468,-3.963,-3.483,-3.030,-2.604,-2.205,-1.836,-1.495,-1.185," + polyslz2="-0.906,-0.660,-0.447,-0.271,-0.134,-0.040" polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," @@ -1676,6 +1935,15 @@ do polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; I) + polynzg=16 + polyslz1="-9.000,-7.934,-6.934,-5.999,-5.131,-4.329,-3.593,-2.925,-2.324,-1.790," + polyslz2="-1.325,-0.928,-0.600,-0.342,-0.155,-0.040" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; + J) polynzg=16 polyslz1="-10.50,-9.223,-8.029,-6.919,-5.891,-4.946,-4.084,-3.305,-2.609,-1.995," polyslz2="-1.464,-1.015,-0.648,-0.364,-0.161,-0.040" @@ -1684,6 +1952,15 @@ do polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; + K) + polynzg=16 + polyslz1="-12.00,-10.51,-9.118,-7.828,-6.640,-5.552,-4.563,-3.674,-2.883,-2.191" + polyslz2="-1.595,-1.096,-0.693,-0.383,-0.166,-0.040" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; P) polynzg=7 polyslz1="-0.580,-0.420,-0.300,-0.200,-0.120,-0.060,-0.020" @@ -1783,8 +2060,8 @@ do ;; E) polynzg=16 - polyslz1="-4.500,-3.967,-3.467,-3.000,-2.565,-2.164,-1.797,-1.462,-1.162,-0.895," - polyslz2="-0.662,-0.464,-0.300,-0.171,-0.077,-0.020" + polyslz1="-5.000,-4.397,-3.833,-3.307,-2.819,-2.371,-1.961,-1.590,-1.257,-0.964," + polyslz2="-0.709,-0.493,-0.316,-0.178,-0.080,-0.020" polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," @@ -1818,6 +2095,15 @@ do polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; I) + polynzg=16 + polyslz1="-9.000,-7.807,-6.706,-5.696,-4.775,-3.942,-3.195,-2.533,-1,954,-1.456," + polyslz2="-1.037,-0.694,-0.424,-0.225,-0.092,-0.020" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; + J) polynzg=16 polyslz1="-10.50,-9.076,-7.766,-6.569,-5.482,-4.504,-3.631,-2.862,-2.194,-1.622," polyslz2="-1.145,-0.759,-0.458,-0.239,-0.096,-0.020" @@ -1826,6 +2112,15 @@ do polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" ;; + K) + polynzg=16 + polyslz1="-12.00,-10.34,-8.818,-7.432,-6.179,-5.055,-4.057,-3.182,-2.425,-1.782" + polyslz2="-1.248,-0.820,-0.490,-0.252,-0.099,-0.020" + polyslm1=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000," + polyslm2=" 1.000, 1.000, 1.000, 1.000, 1.000, 1.000" + polyslt1=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000," + polyslt2=" 0.000, 0.000, 0.000, 0.000, 0.000, 0.000" + ;; P) polynzg=7 polyslz1="-0.580,-0.420,-0.300,-0.200,-0.120,-0.060,-0.020" @@ -2072,7 +2367,7 @@ do #----- Check whether to use SFILIN as restart or history. ------------------------------# - if [ ${runt} == "RESTORE" ] && [ ${forcehisto} -eq 1 ] + if [[ ${runt} == "RESTORE" ]] && [[ ${forcehisto} -eq 1 ]] then runt="HISTORY" year=${yearh} @@ -2080,141 +2375,192 @@ do date=${dateh} time=${timeh} thissfilin=${fullygrown} - elif [ ${runt} == "RESTORE" ] && [ ${initmode} -eq 5 ] - then - if [ ! -s ${restart} ] - then - echo " Directory restart does not exist!" - echo " Change the variable restart at the beginning of the script" - exit 44 - else - runt="RESTORE" - thissfilin=${restart} - fi - elif [ ${runt} == "RESTORE" ] && [ ${initmode} -eq 6 ] + elif [[ ${runt} == "RESTORE" ]] then - thissfilin=${fullygrown} - - - - #------------------------------------------------------------------------------------# - # Find the biometric files. This has been checked in spawn_poly.sh so they are # - # correct. Add a dummy name in case this is not supposed to be a biomass # - # initialisation run. # - #------------------------------------------------------------------------------------# - case ${biotype} in - 0) - #----- isizepft controls everything, and iage is ignored. ------------------------# - case ${isizepft} in - 0) - #----- Frankeinstein's under storey. ------------------------------------------# - thissfilin="${bioinit}/${polyiata}_default." - ;; - 1) - #----- No under storey. -------------------------------------------------------# - thissfilin="${bioinit}/${polyiata}_nounder." - ;; - 2) - #----- ALS initialisation. ----------------------------------------------------# - thissfilin="${bioinit}/${polyiata}_alsinit." - ;; - *) - #----- Invalid option. Stop the script. ---------------------------------------# - echo " Polygon: ${polyname}" - echo " IATA: ${polyiata}" - echo " ISIZEPFT: ${isizepft}" - echo "This IATA cannot be used by biomass initialisation with this ISIZEPFT!" - exit 57 - ;; - esac - #---------------------------------------------------------------------------------# - ;; - - 1) + case ${initmode} in + 5|7) #---------------------------------------------------------------------------------# - # 'isizepft' controls how many PFTs to use. # + # Initialise ED2 with hdf5 files, which should be in directory restart. # #---------------------------------------------------------------------------------# - case ${isizepft} in - 0|5) - pftname="pft05" - ;; - 2) - pftname="pft02" - ;; - esac + if [[ ! -s ${restart} ]] + then + echo " Directory restart does not exist!" + echo " Change the variable restart at the beginning of the script" + exit 44 + else + runt="RESTORE" + thissfilin=${restart} + fi #---------------------------------------------------------------------------------# + ;; + 1|2|3|6|8) #---------------------------------------------------------------------------------# - # 'iage' controls how many patches to use. # + # Find the biometric files. This has been checked in spawn_poly.sh so they # + # are correct. Add a dummy name in case this is not supposed to be a biomass # + # initialisation run. # #---------------------------------------------------------------------------------# - case ${iage} in - 1) - agename="age01" - ;; - *) - agename="age00" + case ${biotype} in + 0) + #----- isizepft controls everything, and iage is ignored. ---------------------# + case ${isizepft} in + 0) + #----- Frankeinstein's under storey. ---------------------------------------# + thissfilin="${bioinit}/${polyiata}_default." + ;; + 1) + #----- No under storey. ----------------------------------------------------# + thissfilin="${bioinit}/${polyiata}_nounder." + ;; + 2) + #----- ALS initialisation. -------------------------------------------------# + thissfilin="${bioinit}/${polyiata}_alsinit." + ;; + *) + #----- Invalid option. Stop the script. ------------------------------------# + echo " Polygon: ${polyname}" + echo " IATA: ${polyiata}" + echo " ISIZEPFT: ${isizepft}" + echo " INITMODE: ${initmode}" + echo "This IATA cannot be initialised with these ISIZEPFT and INITMODE!" + exit 57 + ;; + esac + #------------------------------------------------------------------------------# ;; - esac - #---------------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------------# - # Check whether the site has the PFT and age structure. # - #---------------------------------------------------------------------------------# - case ${polyiata} in - hvd|s77|fns|cau|and|par|tap|dcm) - thissfilin="${bioinit}/${polyiata}_default." + 1) + #------------------------------------------------------------------------------# + # 'isizepft' controls how many PFTs to use. # + #------------------------------------------------------------------------------# + case ${isizepft} in + 0|5) + pftname="pft05" + ;; + 2) + pftname="pft02" + ;; + esac + #------------------------------------------------------------------------------# + + #------------------------------------------------------------------------------# + # 'iage' controls how many patches to use. # + #------------------------------------------------------------------------------# + case ${iage} in + 1) + agename="age01" + ;; + *) + agename="age00" + ;; + esac + #------------------------------------------------------------------------------# + + + + + #------------------------------------------------------------------------------# + # Check whether the site has the PFT and age structure. # + #------------------------------------------------------------------------------# + case ${polyiata} in + hvd|s77|fns|cau|and|par|tap|dcm) + thissfilin="${bioinit}/${polyiata}_default." + ;; + cax|s67|s83|m34|gyf|pdg|rja|pnz|ban) + thissfilin="${bioinit}/${polyiata}_${pftname}+${agename}." + ;; + *) + echo " Polygon: ${polyname}" + echo " IATA: ${polyiata}" + echo " IAGE: ${iage}" + echo " ISIZEPFT: ${isizepft}" + echo " INITMODE: ${initmode}" + echo "This IATA cannot be initiealised with these settings!" + exit 59 + ;; + esac + #------------------------------------------------------------------------------# ;; - cax|s67|s83|m34|gyf|pdg|rja|pnz|ban) - thissfilin="${bioinit}/${polyiata}_${pftname}+${agename}." + 2) + #------------------------------------------------------------------------------# + # ALS initialisation. ISIZEPFT has disturbance history information. # + #------------------------------------------------------------------------------# + case ${polyiata} in + l[0-5][0-3]) + thissfilin="${alsinit}/${polyiata}." + ;; + *) + thissfilin="${alsinit}/${polyiata}_${isizepft}." + ;; + esac + #------------------------------------------------------------------------------# ;; - *) - echo " Polygon: ${polyname}" - echo " IATA: ${polyiata}" - echo " IAGE: ${iage}" - echo " ISIZEPFT: ${isizepft}" - echo "This IATA cannot be used by biomass initialisation with this ISIZEPFT!" - exit 59 + 3) + #------------------------------------------------------------------------------# + # ALS initialisation using intensity. ISIZEPFT has disturbance history # + # information. # + #------------------------------------------------------------------------------# + thissfilin="${intinit}/${polyiata}_${isizepft}." + #------------------------------------------------------------------------------# ;; - esac - #---------------------------------------------------------------------------------# - ;; - 2) - #---------------------------------------------------------------------------------# - # ALS initialisation. ISIZEPFT has disturbance history information. # - #---------------------------------------------------------------------------------# - case ${polyiata} in - l[0-5][0-3]) - thissfilin="${alsinit}/${polyiata}." + 4) + #------------------------------------------------------------------------------# + # ALS initialisation using the lookup table. ISIZEPFT has disturbance # + # history information. # + #------------------------------------------------------------------------------# + thissfilin="${lutinit}/${polyiata}_${isizepft}." + #------------------------------------------------------------------------------# ;; - *) - thissfilin="${alsinit}/${polyiata}_${isizepft}." + 5) + #----- isizepft controls actual or majestic initialisation. -------------------# + case ${isizepft} in + 0) + #----- Actual sampling. ----------------------------------------------------# + thissfilin="${ebainit}/eba_actual_default." + #---------------------------------------------------------------------------# + ;; + 1) + #----- Majestic sampling. --------------------------------------------------# + thissfilin="${ebainit}/eba_majestic_default." + #---------------------------------------------------------------------------# + ;; + 2) + #----- Actual sampling + land use (pasture/cropland/plantation). -----------# + thissfilin="${ebainit}/eba_luactual_default." + #---------------------------------------------------------------------------# + ;; + 3) + #----- Majestic sampling + land use (pasture/cropland/plantation). ---------# + thissfilin="${ebainit}/eba_lumajestic_default." + #---------------------------------------------------------------------------# + ;; + *) + #----- Invalid option. Stop the script. ------------------------------------# + echo " Polygon: ${polyname}" + echo " IATA: ${polyiata}" + echo " ISIZEPFT: ${isizepft}" + echo " INITMODE: ${initmode}" + echo "This IATA cannot be initiealised with these settings!" + exit 57 + ;; + esac + #------------------------------------------------------------------------------# ;; esac #---------------------------------------------------------------------------------# ;; - 3) - #---------------------------------------------------------------------------------# - # ALS initialisation using intensity. ISIZEPFT has disturbance history # - # information. # - #---------------------------------------------------------------------------------# - thissfilin="${intinit}/${polyiata}_${isizepft}." + *) + #----- No initial file needed; set the history file. -----------------------------# + thissfilin=${here}/${polyname}/histo/${polyname} #---------------------------------------------------------------------------------# ;; - 4) - #---------------------------------------------------------------------------------# - # ALS initialisation using the lookup table. ISIZEPFT has disturbance history # - # information. # - #---------------------------------------------------------------------------------# - thissfilin="${lutinit}/${polyiata}_${isizepft}." #---------------------------------------------------------------------------------# - ;; esac #------------------------------------------------------------------------------------# else + #----- Set the history file. --------------------------------------------------------# thissfilin=${here}/${polyname}/histo/${polyname} + #------------------------------------------------------------------------------------# fi #---------------------------------------------------------------------------------------# @@ -2381,6 +2727,7 @@ do sed -i~ s@mydbhharv@${dbhharv}@g ${ED2IN} sed -i~ s@mybioharv@${bioharv}@g ${ED2IN} sed -i~ s@myskidarea@${skidarea}@g ${ED2IN} + sed -i~ s@myskiddbhthresh@${skiddbhthresh}@g ${ED2IN} sed -i~ s@myskidsmall@${skidsmall}@g ${ED2IN} sed -i~ s@myskidlarge@${skidlarge}@g ${ED2IN} sed -i~ s@myfellingsmall@${fellingsmall}@g ${ED2IN} @@ -2426,11 +2773,137 @@ do exec_sub=${exec_full} ;; esac + #---------------------------------------------------------------------------------------# + + - #----- Change the callserial.sh file. --------------------------------------------------# + #----- Script names. -------------------------------------------------------------------# + tempserial="${here}/Template/callserial.sh" callserial="${here}/${polyname}/callserial.sh" - rm -f ${callserial} - cp -f ${here}/Template/callserial.sh ${callserial} + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Set script callserial.sh. Depending on the settings (single multi-task jobs or # + # multiple single-task jobs), we must update the header. # + #---------------------------------------------------------------------------------------# + case "${cluster}" in + SDUMONT) + #------------------------------------------------------------------------------------# + # Single multi task job, callserial.sh doesn't need header updates. # + #------------------------------------------------------------------------------------# + /bin/rm -f ${callserial} + /bin/cp -f ${tempserial} ${callserial} + #------------------------------------------------------------------------------------# + ;; + CANNON) + #------------------------------------------------------------------------------------# + # Update header with sbatch instructions for multiple single task jobs. # + #------------------------------------------------------------------------------------# + + #----- Output files. ----------------------------------------------------------------# + obatch="${here}/${polyname}/serial_slm.out" + ebatch="${here}/${polyname}/serial_slm.err" + #------------------------------------------------------------------------------------# + + #----- Initialise the callserial.sh file. -------------------------------------------# + rm -f ${callserial} + touch ${callserial} + chmod u+x ${callserial} + echo "#!/bin/bash" >> ${callserial} + echo "#SBATCH --ntasks=1 # Number of tasks" >> ${callserial} + echo "#SBATCH --cpus-per-task=${n_cpt} # Number of CPUs per task" >> ${callserial} + echo "#SBATCH --cores-per-socket=${n_cpt} # Min. # of cores/socket" >> ${callserial} + echo "#SBATCH --partition=${global_queue} # Queue that will run job" >> ${callserial} + echo "#SBATCH --job-name=${taskname} # Job name" >> ${callserial} + echo "#SBATCH --mem-per-cpu=${cpu_memory} # Memory per CPU" >> ${callserial} + echo "#SBATCH --time=${runtime} # Time for job" >> ${callserial} + echo "#SBATCH --output=${obatch} # Standard output path" >> ${callserial} + echo "#SBATCH --error=${ebatch} # Standard error path" >> ${callserial} + echo "#SBATCH --chdir=${here}/${polyname} # Main directory" >> ${callserial} + echo "" >> ${callserial} + echo "#--- Initial settings." >> ${callserial} + echo "here=\"${here}\" # Main path" >> ${callserial} + echo "exec=\"${exec_full}\" # Executable" >> ${callserial} + echo "" >> ${callserial} + echo "#--- Print information about this job." >> ${callserial} + echo "echo \"\"" >> ${callserial} + echo "echo \"\"" >> ${callserial} + echo "echo \"----- Summary of current job -----------------------\"" >> ${callserial} + echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${callserial} + echo "echo \" Job name: \${SLURM_JOB_NAME}\"" >> ${callserial} + echo "echo \" Job ID: \${SLURM_JOB_ID}\"" >> ${callserial} + echo "echo \" Partition: \${SLURM_JOB_PARTITION}\"" >> ${callserial} + echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${callserial} + echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${callserial} + echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${callserial} + echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${callserial} + echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${callserial} + echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${callserial} + echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${callserial} + echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${callserial} + echo "echo \"----------------------------------------------------\"" >> ${callserial} + echo "echo \"\"" >> ${callserial} + echo "echo \"\"" >> ${callserial} + echo "" >> ${callserial} + echo "echo \"----- Global settings for this simulation. ---\"" >> ${callserial} + echo "echo \" Main path: \${here}\"" >> ${callserial} + echo "echo \" Executable: \${exec}\"" >> ${callserial} + echo "echo \"----------------------------------------------------\"" >> ${callserial} + echo "echo \"\"" >> ${callserial} + echo "echo \"\"" >> ${callserial} + echo "" >> ${callserial} + echo "" >> ${callserial} + echo "#--- Define home in case home is not set" >> ${callserial} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${callserial} + echo "then" >> ${callserial} + echo " export HOME=\$(echo ~)" >> ${callserial} + echo "fi" >> ${callserial} + echo "" >> ${callserial} + echo "#--- Load modules and settings." >> ${callserial} + echo ". \${HOME}/.bashrc ${optsrc}" >> ${callserial} + echo "" >> ${callserial} + echo "#--- Get plenty of memory." >> ${callserial} + echo "ulimit -s unlimited" >> ${callserial} + echo "ulimit -u unlimited" >> ${callserial} + echo "" >> ${callserial} + echo "#--- Set OpenMP parameters" >> ${callserial} + echo "if [[ \"\${SLURM_CPUS_PER_TASK}\" == \"\" ]]" >> ${callserial} + echo "then" >> ${callserial} + echo " export OMP_NUM_THREADS=1" >> ${callserial} + echo "else" >> ${callserial} + echo " export OMP_NUM_THREADS=\${SLURM_CPUS_PER_TASK}" >> ${callserial} + echo "fi" >> ${callserial} + echo "" >> ${callserial} + #------------------------------------------------------------------------------------# + + + + #----- Append the template callserial.sh, skipping the first line. ------------------# + tail -n +2 ${tempserial} >> ${callserial} + #------------------------------------------------------------------------------------# + + + #----- Make sure the script waits until all tasks are completed... ------------------# + echo "" >> ${callserial} + echo "" >> ${callserial} + echo "#----- Ensure that jobs complete before terminating script." >> ${callserial} + echo "wait" >> ${callserial} + echo "" >> ${callserial} + echo "#----- Report efficiency of this job." >> ${callserial} + echo "seff \${SLURM_JOBID}" >> ${callserial} + echo "" >> ${callserial} + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + ;; + esac + #---------------------------------------------------------------------------------------# + + + #----- Substitute placeholders with specific data. -------------------------------------# sed -i s@thisroot@${here}@g ${callserial} sed -i s@thispoly@${polyname}@g ${callserial} sed -i s@myname@${moi}@g ${callserial} @@ -2459,9 +2932,16 @@ do "EXTINCT") echo "Polygon population has gone extinct. No need to re-submit it." ;; - "CRASHED"|"METMISS"|"SIGSEGV"|"BAD_MET"|"STOPPED") - echo "Polygon has serious errors. Script will not submit any job this time." - submit=false + "CRASHED"|"HYDFAIL"|"METMISS"|"SIGSEGV"|"BAD_MET"|"STOPPED") + #----- Decide whether to skip this job submission or every job submission. ----------# + if ${on_the_fly} + then + echo "Polygon has serious errors. Script will not submit this job." + else + echo "Polygon has serious errors. Script will not submit any job this time." + submit=false + fi + #------------------------------------------------------------------------------------# ;; "RESTORE"|"HISTORY") @@ -2471,25 +2951,79 @@ do #------------------------------------------------------------------------------------# echo " Polygon scheduled for submission." let n_submit=${n_submit}+1 - let dtwait=${dtwait}+2 #------------------------------------------------------------------------------------# - #----- Append job to submission list. -----------------------------------------------# - srun="srun --nodes=1 --ntasks=1 --cpu_bind=cores" - srun="${srun} --cpus-per-task=\${SLURM_CPUS_PER_TASK}" - srun="${srun} --mem-per-cpu=\${SLURM_MEM_PER_CPU}" - srun="${srun} --job-name=${polyname}" - srun="${srun} --chdir=\${here}/${polyname}" - srun="${srun} --output=\${here}/${polyname}/serial_slm.out" - srun="${srun} --error=\${here}/${polyname}/serial_slm.err" - echo "${srun} \${here}/${polyname}/callserial.sh &" >> ${sbatch} - echo "sleep ${dttask}" >> ${sbatch} + #------------------------------------------------------------------------------------# + # Set command to the main script. Again, this depends on the type of job # + # submission. # + #------------------------------------------------------------------------------------# + case "${cluster}" in + SDUMONT) + #---------------------------------------------------------------------------------# + # Append task in the single multi-task job script. # + #---------------------------------------------------------------------------------# + srun="srun --nodes=1 --ntasks=1 --cpu_bind=cores" + srun="${srun} --cpus-per-task=\${SLURM_CPUS_PER_TASK}" + srun="${srun} --mem-per-cpu=\${SLURM_MEM_PER_CPU}" + srun="${srun} --job-name=${polyname}" + srun="${srun} --chdir=\${here}/${polyname}" + srun="${srun} --output=\${here}/${polyname}/serial_slm.out" + srun="${srun} --error=\${here}/${polyname}/serial_slm.err" + echo "${srun} \${here}/${polyname}/callserial.sh &" >> ${sbatch} + echo "sleep ${dttask}" >> ${sbatch} + #---------------------------------------------------------------------------------# + ;; + CANNON) + #---------------------------------------------------------------------------------# + # Make sure we don't exceed the maximum number of jobs. # + #---------------------------------------------------------------------------------# + if [[ ${n_submit} -gt ${n_tasks_max} ]] && ${on_the_fly} + then + echo " Number of jobs to submit: ${n_submit}" + echo " Maximum number of tasks in queue ${global_queue}: ${n_tasks_max}" + echo " Reduce the number of simulations or try another queue..." + echo " Appending remaining jobs to $(basename ${sbatch}) for later submission." + on_the_fly=false + fi + #---------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------# + # If on the fly, submit the job now. Otherwise, append job to sbatch. # + #---------------------------------------------------------------------------------# + if ${on_the_fly} + then + #----- Submit job on the fly. -------------------------------------------------# + sbatch ${callserial} + #------------------------------------------------------------------------------# + else + #------------------------------------------------------------------------------# + # Append submission to the script to submit the multiple single-task jobs. # + #------------------------------------------------------------------------------# + echo "echo \" + ${ffout}/${ntasks}. Submit job: ${polyname}.\"" >> ${sbatch} + echo "sbatch ${callserial}" >> ${sbatch} + echo "sleep ${dttask}" >> ${sbatch} + #------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------# + + ;; + esac #------------------------------------------------------------------------------------# ;; *) - echo "Unknown polygon state (${runt})! Script will not submit any job this time." - submit=false + #------------------------------------------------------------------------------------# + # Unknown state, either skip this job submission, or every job submission. # + #------------------------------------------------------------------------------------# + if ${on_the_fly} + then + echo "Unknown polygon state (${runt})! Script will not submit this job." + else + echo "Unknown polygon state (${runt})! Script will not submit any job this time." + submit=false + fi + #------------------------------------------------------------------------------------# ;; esac #---------------------------------------------------------------------------------------# @@ -2497,41 +3031,86 @@ done #------------------------------------------------------------------------------------------# - #------------------------------------------------------------------------------------------# -# Make sure job list doesn't request too many nodes. # +# Update the main submission script to reflect the correct number of tasks (done only # +# when running a single multi-task job). # #------------------------------------------------------------------------------------------# -if [ ${n_submit} -gt ${n_tasks_max} ] -then - echo " Number of jobs to submit: ${n_submit}" - echo " Maximum number of tasks in queue ${global_queue}: ${n_tasks_max}" - echo " Reduce the number of simulations or try another queue..." - exit 99 -else +case "${cluster}" in +SDUMONT) #----- Update the number of tasks in batch script. -------------------------------------# sed -i~ s@myntasks@${n_submit}@g ${sbatch} #---------------------------------------------------------------------------------------# -fi + ;; +esac #------------------------------------------------------------------------------------------# -#----- Make sure the script waits until all tasks are completed... ------------------------# -echo "" >> ${sbatch} -echo "" >> ${sbatch} -echo "#----- Make sure that jobs complete before terminating script" >> ${sbatch} -echo "wait" >> ${sbatch} -echo "" >> ${sbatch} -echo "#----- Report efficiency of this job" >> ${sbatch} -echo "seff \${SLURM_JOBID}" >> ${sbatch} -echo "" >> ${sbatch} -#------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# -# In case all looks good, go for it! # +# Make sure job list doesn't request too many nodes. # #------------------------------------------------------------------------------------------# -if ${submit} +if ! ${on_the_fly} then - sbatch ${sbatch} + if [[ ${n_submit} -gt ${n_tasks_max} ]] + then + echo " Number of jobs to submit: ${n_submit}" + echo " Maximum number of tasks in queue ${global_queue}: ${n_tasks_max}" + echo " Reduce the number of simulations or try another queue..." + exit 99 + elif ${submit} + then + echo " Submitting jobs." + #------- How we submit depends on the cluster. --------------------------------------# + case "${cluster}" in + SDUMONT) + #---------------------------------------------------------------------------------# + # Single multi-task job. Submit the main script using sbatch. # + #---------------------------------------------------------------------------------# + sbatch ${sbatch} + #---------------------------------------------------------------------------------# + ;; + CANNON) + #---------------------------------------------------------------------------------# + # Multiple single-task jobs. Run the script, the sbatch commands are in # + # there. # + #---------------------------------------------------------------------------------# + ${sbatch} + #---------------------------------------------------------------------------------# + ;; + esac + #------------------------------------------------------------------------------------# + else + #------- Provide instructions to the user for a later submission. -------------------# + case "${cluster}" in + SDUMONT) + #----- Instruct the user to use sbatch. ------------------------------------------# + echo "-------------------------------------------------------------------------" + echo " To submit the simulations, you must use sbatch. " + echo " Copy and paste the following command in the terminal. " + echo " " + echo " sbatch ${sbatch}" + echo " " + #---------------------------------------------------------------------------------# + ;; + CANNON) + #----- Instruct the user NOT to use sbatch. --------------------------------------# + echo "-------------------------------------------------------------------------" + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo " WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! " + echo "-------------------------------------------------------------------------" + echo " Do NOT use sbatch ${sbatch}." + echo " Instead, call the following script directly in your terminal." + echo " " + echo " ${sbatch}" + echo " " + #---------------------------------------------------------------------------------# + ;; + esac + #------------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------------# fi #------------------------------------------------------------------------------------------# diff --git a/R-utils/Ft.ustar.r b/R-utils/Ft.ustar.r index e63c53fc9..1374e08d9 100644 --- a/R-utils/Ft.ustar.r +++ b/R-utils/Ft.ustar.r @@ -19,7 +19,18 @@ Ft.ustar <<- function(ustar,cflxca,cflxst,nighttime,delta=0.01,nmin=10){ #---------------------------------------------------------------------------------------# - #----- Delete data that is missing. ----------------------------------------------------# + #---------------------------------------------------------------------------------------# + # In case storage is always NA, it means storage was not measured. In this case, we # + # assume zero storage whenever the CO2 flux is not missing. # + #---------------------------------------------------------------------------------------# + if ( all(! is.finite(cflxst)) && any(is.finite(cflxca)) ){ + cflxst = ifelse( test = is.finite(cflxca), yes = 0., no = NA_real_ ) + }#end if ( all(! is.finite(cflxst)) && any(is.finite(cflxca)) ) + #---------------------------------------------------------------------------------------# + + + + #----- Delete missing data. ------------------------------------------------------------# keep = is.finite(ustar) & is.finite(cflxca) & is.finite(cflxst) & nighttime keep = ifelse(is.na(keep),FALSE,keep) ustar = ustar [keep] @@ -80,7 +91,7 @@ Ft.ustar <<- function(ustar,cflxca,cflxst,nighttime,delta=0.01,nmin=10){ while (iterate){ b = b + 1 ttt = t.test(x=sp.cflxca[[b]],y=sp.cflxst[[b]],alternative="greater") - iterate = b < nbins && ttt$p.value %>=% 0.01 + iterate = b < nbins && ttt$p.value %ge% 0.01 }#end for #---------------------------------------------------------------------------------------# @@ -129,8 +140,8 @@ Ft.ustar <<- function(ustar,cflxca,cflxst,nighttime,delta=0.01,nmin=10){ #---- Check whether the p.value is sufficiently large. ------------------------------# - success = ( ( p.ft %<=% p.lm && p.lm %>=% 0.10 && p.ft %>=% 0.10 ) - || ( p.ft %>=% 0.50 && p.lm %>=% 0.50 ) ) + success = ( ( p.ft %le% p.lm && p.lm %ge% 0.10 && p.ft %ge% 0.10 ) + || ( p.ft %ge% 0.50 && p.lm %ge% 0.50 ) ) iterate = ( ! success ) && (b < (nbins - 2)) cat(" u* = ",ustar.breaks[b],"; p.lm = ",sprintf("%.2f",p.lm) ,"; p.ft = ",sprintf("%.2f",p.ft) diff --git a/R-utils/allometry.r b/R-utils/allometry.r index ea350baec..13e98f355 100644 --- a/R-utils/allometry.r +++ b/R-utils/allometry.r @@ -8,7 +8,7 @@ h2dbh <<- function(h,ipft){ zpft = ipft }#end if - tropo = pft$tropical[zpft] & iallom %in% c(0,1,3,4) + tropo = pft$tropical[zpft] & iallom %in% c(0,1,3,4,5) tropn = pft$tropical[zpft] & iallom %in% c(2) tempe = ! pft$tropical[zpft] @@ -54,7 +54,7 @@ dbh2h <<- function(dbh,ipft,use.crit=TRUE){ dbhuse = dbh }#end if (use.crit) - tropo = pft$tropical[zpft] & iallom %in% c(0,1,3,4) + tropo = pft$tropical[zpft] & iallom %in% c(0,1,3,4,5) tropn = pft$tropical[zpft] & iallom %in% c(2) tempe = ! pft$tropical[zpft] @@ -102,7 +102,7 @@ size2bl <<- function(dbh,hgt,sla,ipft,use.crit=TRUE){ #----- Decide which variable to use as dependent variable (DBH or DBH^2*Hgt). ----------# - size = ifelse( test = pft$tropical[zpft] & (! pft$liana[zpft]) & (iallom %in% c(3,4)) + size = ifelse( test = pft$ddh.allom[zpft] , yes = dbhuse * dbhuse * hgt , no = dbhuse )#end ifelse @@ -113,7 +113,7 @@ size2bl <<- function(dbh,hgt,sla,ipft,use.crit=TRUE){ # For iallom == 4 (tropical trees), b1Bl and b2Bl represents leaf area based # # allometry, we need to convert it to biomass using cohort-level SLA. # #---------------------------------------------------------------------------------------# - bleaf = ifelse( test = pft$tropical[zpft] & (! pft$liana[zpft]) & (iallom %in% c(4)) + bleaf = ifelse( test = pft$ddh.allom[zpft] , yes = pft$b1Bl[zpft] / sla * size ^ pft$b2Bl[zpft] , no = pft$b1Bl[zpft] / C2B * size ^ pft$b2Bl[zpft] )#end ifelse @@ -182,7 +182,7 @@ size2bd <<- function(dbh,hgt,ipft){ #----- Decide which variable to use as dependent variable (DBH or DBH^2*Hgt). ----------# - size = ifelse( test = pft$tropical[zpft] & (! pft$liana[zpft]) & (iallom %in% c(3,4)) + size = ifelse( test = pft$ddh.allom[zpft] , yes = dbh * dbh * dbh2h(dbh,ipft=zpft) , no = dbh )#end ifelse @@ -191,7 +191,7 @@ size2bd <<- function(dbh,hgt,ipft){ #----- Select allometric parameters based on the size. ---------------------------------# - bdead = ifelse( test = dbh %<% pft$dbh.crit[zpft] + bdead = ifelse( test = dbh %lt% pft$dbh.crit[zpft] , yes = pft$b1Bs.small[zpft] / C2B * size ^ pft$b2Bs.small[zpft] , no = pft$b1Bs.large[zpft] / C2B * size ^ pft$b2Bs.large[zpft] )#end ifelse @@ -249,8 +249,8 @@ size2de <<- function(dbh,hgt,ipft,dbh.by=0.1,...){ #----- Identify cohorts with size that outside resolvable height range. ----------------# - large = (dbh*dbh*hgt) %>=% (pft$dbh.crit[zpft]*pft$dbh.crit[zpft]*pft$hgt.max[zpft]) - small = (dbh*dbh*hgt) %<=% (pft$dbh.min [zpft]*pft$dbh.min [zpft]*pft$hgt.min[zpft]) + large = (dbh*dbh*hgt) %ge% (pft$dbh.crit[zpft]*pft$dbh.crit[zpft]*pft$hgt.max[zpft]) + small = (dbh*dbh*hgt) %le% (pft$dbh.min [zpft]*pft$dbh.min [zpft]*pft$hgt.min[zpft]) heq = ifelse( test = large , yes = pft$hgt.max[zpft] , no = ifelse(test = small,yes=pft$hgt.min[zpft],no=NA_real_) @@ -321,7 +321,7 @@ size2ca <<- function(dbh,hgt,sla,ipft,use.crit=TRUE){ #----- Decide which variable to use as dependent variable (DBH or DBH^2*Hgt). ----------# - size = ifelse( test = pft$tropical[zpft] & (! pft$liana[zpft]) & (iallom %in% c(3,4)) + size = ifelse( test = pft$ddh.allom[zpft] , yes = dbhuse * dbhuse * hgt , no = dbhuse )#end ifelse @@ -368,7 +368,7 @@ size2wai <<- function(dbh,hgt,ipft,use.crit=TRUE){ #----- Decide which variable to use as dependent variable (DBH or DBH^2*Hgt). ----------# - size = ifelse( test = pft$tropical[zpft] & (! pft$liana[zpft]) & (iallom %in% c(3,4)) + size = ifelse( test = pft$ddh.allom[zpft] , yes = dbhuse * dbhuse * hgt , no = dbhuse )#end ifelse @@ -505,7 +505,7 @@ size2rd <<- function(hgt,dbh,ipft){ #------------------------------------------------------------------------------------# vol = size2vol(hgt=hgt,dbh=dbh,ipft=zpft) rd = pft$b1Rd[zpft] * (hgt * dbh * dbh) ^ pft$b2Rd[zpft] - }else if (iallom %in% c(1,2,4)){ + }else if (iallom %in% c(1,2,4,5)){ #------------------------------------------------------------------------------------# # This is just a test allometry, that imposes root depth to be 0.5 m for # # plants that are 0.15-m tall, and 5.0 m for plants that are 35-m tall. # diff --git a/R-utils/cci.lieberman.r b/R-utils/cci.lieberman.r index df17f632a..f8cde7212 100644 --- a/R-utils/cci.lieberman.r +++ b/R-utils/cci.lieberman.r @@ -167,7 +167,7 @@ cci.lieberman <<- function( xyz, dxy = 1, radius = 10, undef = -9999., closure }else{ #----- Not an error. Check whether this has been called by a friend function. ---# wcm[[n]] = paste(wcm[[n]],collapse="") - top = substring(wcm[[n]],1,4) %==% "NULL" + top = substring(wcm[[n]],1,4) %eq% "NULL" mess = mess && ! grepl("^cci.lieberman",wcm[[n]]) #---------------------------------------------------------------------------------# }#end if diff --git a/R-utils/charutils.r b/R-utils/charutils.r index 9d4a86944..2f9283c37 100644 --- a/R-utils/charutils.r +++ b/R-utils/charutils.r @@ -36,7 +36,7 @@ capwords <<- function(s, strict = FALSE) { #--------------------------------------------------------------------------------------# #---- Force NAs to remain NAs. --------------------------------------------------------# - ans[sel] = NA + ans[sel] = NA_character_ return(ans) #--------------------------------------------------------------------------------------# }#end if @@ -178,7 +178,7 @@ nregexpr <<- function(pattern,text,...){ }else{ #---- Use gregexpr to identifiy the number of occurrences. --------------------------# ans = gregexpr(pattern=pattern,text=text,...)[[1]] - ans = length(ans[ans %>% 0]) + ans = length(ans[ans %gt% 0]) #------------------------------------------------------------------------------------# }#end if (length(text) > 1) #---------------------------------------------------------------------------------------# diff --git a/R-utils/closest.r b/R-utils/closest.r index 4c56982f9..9a5537698 100644 --- a/R-utils/closest.r +++ b/R-utils/closest.r @@ -33,12 +33,12 @@ which.closest <<- function(x,A,mask=rep(TRUE,length(A)) ){ if (! any(is.finite(x)) || ! any(mask,na.rm=TRUE)){ #----- x is invalid, return NA. -----------------------------------------------------# idx = NA - }else if(sum(x %==% A,na.rm=TRUE) > 1){ + }else if(sum(x %eq% A,na.rm=TRUE) > 1){ #------------------------------------------------------------------------------------# # If there are multiple values of x that are the same as x, we randomly sample # # one value. # #------------------------------------------------------------------------------------# - idx = sample(A.idx[x %==% A],size=1) + idx = sample(A.idx[x %eq% A],size=1) #------------------------------------------------------------------------------------# }else{ #------------------------------------------------------------------------------------# diff --git a/R-utils/cloud.metrics.r b/R-utils/cloud.metrics.r index 881dd1ff5..d1256e6cc 100644 --- a/R-utils/cloud.metrics.r +++ b/R-utils/cloud.metrics.r @@ -389,7 +389,7 @@ cloud.metrics <<- function( x #-------------------------------------------------------------------------------------# # Keep only the last returns. # #-------------------------------------------------------------------------------------# - sellast = x$retn.number %==% x$number.retn.gp + sellast = x$retn.number %eq% x$number.retn.gp #----- Check whether to use the subset or the entire thing (to generate NA). ---------# if (sum(sellast) >= min.pts){ zlast = x$z[sellast] @@ -496,7 +496,7 @@ cloud.metrics <<- function( x }else{ #----- Not an error. Check whether this has been called by a friend function. ---# wcm[[n]] = paste(wcm[[n]],collapse="") - top = substring(wcm[[n]],1,4) %==% "NULL" + top = substring(wcm[[n]],1,4) %eq% "NULL" mess = mess && ! ( grepl("cloud.metrics",wcm[[n]]) || grepl("grid.metrics" ,wcm[[n]]) ) #---------------------------------------------------------------------------------# @@ -585,7 +585,7 @@ cloud.metrics <<- function( x zdens = data.frame(x=zzdens$x,y=zzdens$y) if (any(is.finite(zzdens$y))){ dz = mean(diff(zdens$x)) - spk = peaks(zdens$y) & zdens$y %>% 1.e-10 + spk = peaks(zdens$y) & zdens$y %gt% 1.e-10 zpeaks = zdens[spk,] o = order(zpeaks$y,decreasing=TRUE) zpeaks = zpeaks[o,] @@ -727,7 +727,7 @@ cloud.metrics <<- function( x }else{ #----- Not an error. Check whether this has been called by a friend function. ---# wcm[[n]] = paste(wcm[[n]],collapse="") - top = substring(wcm[[n]],1,4) %==% "NULL" + top = substring(wcm[[n]],1,4) %eq% "NULL" mess = mess && ! ( grepl("cloud.metrics",wcm[[n]]) || grepl("grid.metrics" ,wcm[[n]]) ) #---------------------------------------------------------------------------------# @@ -824,7 +824,7 @@ open.fcan <<- function( pt.cloud ans = rep(NA,times=length(zabove)) }else{ #----- Discard data that are not classified as vegetation. --------------------------# - zveg = ifelse( pt.cloud$pt.class %in% c(0,1,3,4,5) & pt.cloud$z %>=% zabove[1] + zveg = ifelse( pt.cloud$pt.class %in% c(0,1,3,4,5) & pt.cloud$z %ge% zabove[1] , pt.cloud$z , NA )#end ifelse diff --git a/R-utils/colour.utils.r b/R-utils/colour.utils.r index 6998de6c9..2d11c65a9 100644 --- a/R-utils/colour.utils.r +++ b/R-utils/colour.utils.r @@ -172,3 +172,45 @@ blacken <<- function(colour,f=c(s=0.50,v=0.50),...){ }#end function blacken #==========================================================================================# #==========================================================================================# + + + + + +#==========================================================================================# +#==========================================================================================# +# General function that interpolates nodes by using HSV. # +#------------------------------------------------------------------------------------------# +colour.interpol <<- function(nodes,n){ + #----- Decompose colours. --------------------------------------------------------------# + rgbmat = data.table(t(col2rgb(nodes))) + #---------------------------------------------------------------------------------------# + + + #----- Find the reference points for the interpolation functions. ----------------------# + rgbmat$x = seq(from=0,to=1,length.out=nrow(rgbmat)) + #---------------------------------------------------------------------------------------# + + + #----- Create functions to interpolate. ------------------------------------------------# + f.red = splinefun(x=rgbmat$x,y=rgbmat$red ,method="monoH.FC") + f.green = splinefun(x=rgbmat$x,y=rgbmat$green,method="monoH.FC") + f.blue = splinefun(x=rgbmat$x,y=rgbmat$blue ,method="monoH.FC") + #---------------------------------------------------------------------------------------# + + + #----- Create output table. ------------------------------------------------------------# + rgbout = data.table( x = seq(from=0,to=1,length.out=n) ) + rgbout$red = round(pmax(0,pmin(255,f.red (rgbout$x)))) + rgbout$green = round(pmax(0,pmin(255,f.green(rgbout$x)))) + rgbout$blue = round(pmax(0,pmin(255,f.blue (rgbout$x)))) + #---------------------------------------------------------------------------------------# + + + #------ Colour rainbow. ----------------------------------------------------------------# + ans = with(rgbout,rgb(red=red,green=green,blue=blue,maxColorValue=255)) + return(ans) + #---------------------------------------------------------------------------------------# +}#end colour.interpol +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/commonest.r b/R-utils/commonest.r index 5431722fa..57b82a993 100644 --- a/R-utils/commonest.r +++ b/R-utils/commonest.r @@ -8,7 +8,7 @@ commonest <<- function(x,na.rm=FALSE) { unique.x = unique(x) nu = length(unique.x) idx = which.max(tabulate(match(x, unique.x))) - fine = is.finite(idx) && idx %>=% 1 && idx %<=% nu + fine = is.finite(idx) && idx %ge% 1 && idx %le% nu if (fine){ often = unique.x[idx] }else{ @@ -30,9 +30,9 @@ commonest <<- function(x,na.rm=FALSE) { weighted.commonest <<- function(x,w,na.rm=FALSE) { #------ Discard NA entries. ------------------------------------------------------------# if (na.rm){ - keep = (! is.na(x)) & (w %>% 0) + keep = (! is.na(x)) & (w %gt% 0) }else{ - keep = w %>% 0 + keep = w %gt% 0 }#end if (na.rm) #---------------------------------------------------------------------------------------# diff --git a/R-utils/coord.utils.r b/R-utils/coord.utils.r index 9583dde7e..1314931b5 100644 --- a/R-utils/coord.utils.r +++ b/R-utils/coord.utils.r @@ -471,7 +471,7 @@ dec2dms <<- function(lon=NULL,lat=NULL){ degree = sprintf("%3i" ,floor(abs(lon)) ) minute = sprintf("%2.2i",floor(abs(lon) %% 1 * 60) ) second = sprintf("%2.2i",floor((abs(lon) %% 1 * 60) %% 1 * 60)) - hemisf = ifelse(lon %>=% 0,"E","W") + hemisf = ifelse(lon %ge% 0,"E","W") olon = paste0(degree,"-",minute,"\'",second,"\"",hemisf) olon = ifelse(is.finite(lon),olon,NA_character_) }else{ @@ -486,7 +486,7 @@ dec2dms <<- function(lon=NULL,lat=NULL){ degree = sprintf("%2i" ,floor(abs(lat)) ) minute = sprintf("%2.2i",floor(abs(lat) %% 1 * 60) ) second = sprintf("%2.2i",floor((abs(lat) %% 1 * 60) %% 1 * 60)) - hemisf = ifelse(lat %>=% 0,"N","S") + hemisf = ifelse(lat %ge% 0,"N","S") olat = paste0(degree,"-",minute,"\'",second,"\"",hemisf) olat = ifelse(is.finite(lat),olat,NA_character_) }else{ diff --git a/R-utils/curve.features.r b/R-utils/curve.features.r index 4a4fdf080..a8b48d358 100644 --- a/R-utils/curve.features.r +++ b/R-utils/curve.features.r @@ -15,14 +15,13 @@ curve.features <<- function( x , span = 3L , do.pad = TRUE , xscale = max(abs(x),na.rm=TRUE) - , toler = 10000. * .Machine$double.eps - , toler2 = 100. * .Machine$double.eps + , toler = 1.e-4 ){ #----- Make sure span is odd. ----------------------------------------------------------# span = as.integer(span) - if ( ! ((span %% 2) %==% 1 && span %>=% 3L)){ + if ( ! ((span %% 2) %eq% 1 && span %ge% 3L)){ stop(paste0(" Invalid span (",span,")! It must be an odd number (3 or greater)!")) - }#end if ( ! ((span %% 2) %==% 1)) + }#end if ( ! ((span %% 2) %eq% 1)) #---------------------------------------------------------------------------------------# @@ -41,7 +40,7 @@ curve.features <<- function( x #---------------------------------------------------------------------------------------# # Make sure that x can be normalised by the given scale. # #---------------------------------------------------------------------------------------# - if (xscale %>% 0.){ + if (xscale %gt% 0.){ x = x / xscale }else{ stop(paste0("Invalid xscale (",xscale,"). It must be positive.")) @@ -57,12 +56,22 @@ curve.features <<- function( x im1 = pmax(i-1, 1) #----- First derivative. ---------------------------------------------------------------# xp = x[ip1] - x[im1] - xp = ifelse(test=abs(xp) %>=% toler, yes=xp, no = 0.) + xpscale = max(abs(xp),na.rm=TRUE) + if (xpscale %gt% 0.){ + xp = ifelse(test= abs( xp / xpscale ) %ge% toler, yes= xp / xpscale, no = 0.) + }else{ + xp = 0. * xp + }#end if (xpscale %gt% 0.) #----- Second derivative. --------------------------------------------------------------# - xpp = x[ip1] - 2.*x[i] + x[im1] - xpp[1] = xpp[2] - xpp[nx] = xpp[nx-1] - xpp = ifelse(test=abs(xpp) %>=% toler2, yes=xpp, no = 0.) + xpp = x[ip1] - 2.*x[i] + x[im1] + xpp[1] = xpp[2] + xpp[nx] = xpp[nx-1] + xppscale = max(abs(xpp),na.rm=TRUE) + if (xppscale %gt% 0.){ + xpp = ifelse(test= abs( xpp / xppscale ) %ge% toler, yes= xpp / xppscale, no = 0.) + }else{ + xpp = 0. * xpp + }#end if (xppscale %gt% 0.) #---------------------------------------------------------------------------------------# @@ -79,6 +88,7 @@ curve.features <<- function( x # Create an zero matrix to pad the answers. # #---------------------------------------------------------------------------------------# zero = matrix(data=0.,nrow=soff,ncol=span) + x.mat = t(apply(X=rbind(zero,embed(x=x ,dimension=span),zero),MARGIN=1,FUN=rev)) xp.mat = t(apply(X=rbind(zero,embed(x=xp ,dimension=span),zero),MARGIN=1,FUN=rev)) xpp.mat = t(apply(X=rbind(zero,embed(x=xpp,dimension=span),zero),MARGIN=1,FUN=rev)) #---------------------------------------------------------------------------------------# @@ -102,30 +112,83 @@ curve.features <<- function( x xpp.left = apply( X = xpp.mat, MARGIN = 1, FUN = signblock, block = "left" ) xpp.right = apply( X = xpp.mat, MARGIN = 1, FUN = signblock, block = "right" ) xpp.both = apply( X = xpp.mat, MARGIN = 1, FUN = signblock, block = "all" ) - #----- Make sure we only select one element in the neighbourhood. ----------------------# - xp.zeroest = apply( X = abs(xp.mat[,smid]) < abs(xp.mat[,-smid,drop=FALSE]) - , MARGIN = 1 - , FUN = all - )#end apply - xpp.zeroest = apply( X = abs(xpp.mat[,smid]) < abs(xpp.mat[,-smid,drop=FALSE]) - , MARGIN = 1 - , FUN = all - )#end apply #---------------------------------------------------------------------------------------# #---------------------------------------------------------------------------------------# - # Find maxima. # + # Find features. # #---------------------------------------------------------------------------------------# - ans = data.frame( max = xp.zeroest & xp.left*xp.right == -1 & xpp.both == -1 - , min = xp.zeroest & xp.left*xp.right == -1 & xpp.both == +1 - , iph = xpp.zeroest & xpp.left*xpp.right == -1 & xpp.left*xp.both == -1 - , ipv = xpp.zeroest & xpp.left*xpp.right == -1 & xpp.left*xp.both == +1 + ans = data.frame( max = xp.left*xp.right == -1 & xpp.both == -1 + , min = xp.left*xp.right == -1 & xpp.both == +1 + , iph = xpp.left*xpp.right == -1 & xpp.left*xp.both == -1 + , ipv = xpp.left*xpp.right == -1 & xpp.left*xp.both == +1 )#end data.frame #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# + # It is often the case that neighbouring cells are selected. In this case we # + # only keep one in the neighbourhood. # + #---------------------------------------------------------------------------------------# + #---- Maximum. Pick the maximum in the immediate vicinity. -----------------------------# + imax = which(ans$max) + if (length(imax) > 1){ + xtest = NULL + for (o in seq(from=-soff,to=soff,by=1)){ + xoff = x[imax+o] + xoff = ifelse(test=(imax+o) %in% imax,yes=xoff,no=-Inf) + xtest = cbind(xtest,xoff) + }#end for (o in seq(from=-soff,to=soff,by=1)) + xrefr = apply(X=xtest[,-smid],MARGIN=1,FUN=max) + iskip = xtest[,smid] < xrefr + ans$max[imax[iskip]] = FALSE + }#end if (length(imax) > 1) + #---- Minimum. Pick the minimum in the immediate vicinity. -----------------------------# + imin = which(ans$min) + if (length(imin) > 1){ + xtest = NULL + for (o in seq(from=-soff,to=soff,by=1)){ + xoff = x[imin+o] + xoff = ifelse(test=(imin+o) %in% imin,yes=xoff,no=+Inf) + xtest = cbind(xtest,xoff) + }#end for (o in seq(from=-soff,to=soff,by=1)) + xrefr = apply(X=xtest[,-smid],MARGIN=1,FUN=min) + iskip = xtest[,smid] > xrefr + ans$min[imin[iskip]] = FALSE + }#end if (length(imin) > 1) + #---- Horizontal inflection point. Pick the flattest point in the immediate vicinity. -# + iiph = which(ans$iph) + if (length(iiph) > 1){ + xptest = NULL + for (o in seq(from=-soff,to=soff,by=1)){ + xpoff = xp[iiph+o] + xpoff = ifelse(test=(iiph+o) %in% iiph,yes=xpoff,no=+Inf) + xptest = cbind(xptest,xpoff) + }#end for (o in seq(from=-soff,to=soff,by=1)) + xprefr = apply(X=abs(xptest[,-smid]),MARGIN=1,FUN=min) + iskip = abs(xptest[,smid]) > xprefr + ans$iph[iiph[iskip]] = FALSE + }#end if (length(iiph) > 1) + #---- Vertical inflection point. Pick the steepest point in the immediate vicinity. ---# + iipv = which(ans$ipv) + if (length(iipv) > 1){ + xptest = NULL + for (o in seq(from=-soff,to=soff,by=1)){ + xpoff = xp[iipv+o] + xpoff = ifelse(test=(iipv+o) %in% iipv,yes=xpoff,no=0.) + xptest = cbind(xptest,xpoff) + }#end for (o in seq(from=-soff,to=soff,by=1)) + xprefr = apply(X=abs(xptest[,-smid]),MARGIN=1,FUN=max) + iskip = abs(xptest[,smid]) < xprefr + ans$ipv[iipv[iskip]] = FALSE + }#end if (length(iipv) > 1) + #---------------------------------------------------------------------------------------# + + + + #----- Flag edges as inflection points in case their first derivative is not zero. -----# ans$iph[ 1] = ans$max[ 1] || (xp.right[ 1] == -1) ans$iph[nx] = ans$max[nx] || (xp.left [nx] == +1) diff --git a/R-utils/del.bad.rshort.r b/R-utils/del.bad.rshort.r index 4e5383ecb..0e4f95287 100644 --- a/R-utils/del.bad.rshort.r +++ b/R-utils/del.bad.rshort.r @@ -115,7 +115,7 @@ del.bad.rshort <<- function(dat,rshort.day.min=0.,par.frac.min=0.80,alb.max=0.30 #---------------------------------------------------------------------------------------# # We don't let radiation exceed maximum. # #---------------------------------------------------------------------------------------# - cat (" - Ensure daytime radiation does not exceed maximum.") + cat0(" - Ensure daytime radiation does not exceed maximum.") dat$rshort.in[dat$daytime] = pmin(dat$rshort.in[dat$daytime],dat$rshort.pot[dat$daytime]) dat$par.in [dat$daytime] = pmin(dat$par.in [dat$daytime],dat$par.pot [dat$daytime]) #---------------------------------------------------------------------------------------# diff --git a/R-utils/del.outliers.r b/R-utils/del.outliers.r index 7749fd482..99d206fa9 100644 --- a/R-utils/del.outliers.r +++ b/R-utils/del.outliers.r @@ -102,9 +102,9 @@ del.outliers <<- function( x # Vector to be evaluated # Discard suspicious data. # #---------------------------------------------------------------------------------# is.infty = is.infinite(thisnorm) - is.unreal = abs(thisnorm ) %>% max.real - is.outlier = abs(thisnorm ) %>% max.fine - is.spike = abs(thisnorm-neigh.norm) %>=% spike.min + is.unreal = abs(thisnorm ) %gt% max.real + is.outlier = abs(thisnorm ) %gt% max.fine + is.spike = abs(thisnorm-neigh.norm) %ge% spike.min weird = is.infty | is.unreal | (is.outlier & is.spike) thisvar[weird] = NA_real_ nweird = sum(weird) @@ -191,9 +191,9 @@ del.outliers <<- function( x # Vector to be evaluated # Discard suspicious data. # #---------------------------------------------------------------------------------# is.infty = is.infinite(thisnorm) - is.unreal = abs(thisnorm ) %>% max.real - is.outlier = abs(thisnorm ) %>% max.fine - is.spike = abs(thisnorm-neigh.norm) %>=% spike.min + is.unreal = abs(thisnorm ) %gt% max.real + is.outlier = abs(thisnorm ) %gt% max.fine + is.spike = abs(thisnorm-neigh.norm) %ge% spike.min weird = is.infty | is.unreal | (is.outlier & is.spike) thisvar[weird] = NA_real_ nweird = sum(weird) diff --git a/R-utils/demography.rates.r b/R-utils/demography.rates.r index e421197b0..deacd47c2 100644 --- a/R-utils/demography.rates.r +++ b/R-utils/demography.rates.r @@ -834,7 +834,7 @@ acc.recruitment.rate <<- function( property expected.tx = unlist(sapply(X=boot.tx,FUN=c)["t0",]) q025.tx = sapply(X= boot.tx ,FUN=boot.ci.lower,conf=0.95,type="perc") q975.tx = sapply(X= boot.tx ,FUN=boot.ci.upper,conf=0.95,type="perc") - fine = all(expected.tx %>=% q025.tx) && all(expected.tx %<=% q975.tx) + fine = all(expected.tx %ge% q025.tx) && all(expected.tx %le% q975.tx) }#end while ((! fine) && (it < itb.max)) if (it == itb.max) browser() #---------------------------------------------------------------------------------------# @@ -886,7 +886,7 @@ acc.recruitment.rate <<- function( property expected.gb = boot.gb$t0 q025.gb = boot.ci.lower(boot.out=boot.gb,conf=0.95,type="perc") q975.gb = boot.ci.upper(boot.out=boot.gb,conf=0.95,type="perc") - fine = all(expected.gb %>=% q025.gb) && all(expected.gb %<=% q975.gb) + fine = all(expected.gb %ge% q025.gb) && all(expected.gb %le% q975.gb) }#end while ((! fine) && (it < itb.max)) if (it == itb.max) browser() #---------------------------------------------------------------------------------------# @@ -1061,7 +1061,7 @@ acc.mortality.rate <<- function( property expected.tx = unlist(sapply(X=boot.tx,FUN=c)["t0",]) q025.tx = sapply(X= boot.tx ,FUN=boot.ci.lower,conf=0.95,type="perc") q975.tx = sapply(X= boot.tx ,FUN=boot.ci.upper,conf=0.95,type="perc") - fine = all(expected.tx %>=% q025.tx) && all(expected.tx %<=% q975.tx) + fine = all(expected.tx %ge% q025.tx) && all(expected.tx %le% q975.tx) }#end while ((! fine) && (it < itb.max)) if (it == itb.max) browser() #---------------------------------------------------------------------------------------# @@ -1113,7 +1113,7 @@ acc.mortality.rate <<- function( property expected.gb = boot.gb$t0 q025.gb = boot.ci.lower(boot.out=boot.gb,conf=0.95,type="perc") q975.gb = boot.ci.upper(boot.out=boot.gb,conf=0.95,type="perc") - fine = all(expected.gb %>=% q025.gb) && all(expected.gb %<=% q975.gb) + fine = all(expected.gb %ge% q025.gb) && all(expected.gb %le% q975.gb) }#end while ((! fine) && (it < itb.max)) if (it == itb.max) browser() #---------------------------------------------------------------------------------------# @@ -1188,7 +1188,7 @@ acc.growth.rate <<- function(nok,lok,pop,gpop=pop,dtime,taxon,R=100,itb.max=50){ expected.tx = unlist(sapply(X=boot.tx,FUN=c)["t0",]) q025.tx = sapply(X= boot.tx ,FUN=boot.ci.lower,conf=0.95,type="perc") q975.tx = sapply(X= boot.tx ,FUN=boot.ci.upper,conf=0.95,type="perc") - fine = all(expected.tx %>=% q025.tx) && all(expected.tx %<=% q975.tx) + fine = all(expected.tx %ge% q025.tx) && all(expected.tx %le% q975.tx) }#end while ((! fine) && (it < itb.max)) if (it == itb.max) browser() #---------------------------------------------------------------------------------------# @@ -1218,7 +1218,7 @@ acc.growth.rate <<- function(nok,lok,pop,gpop=pop,dtime,taxon,R=100,itb.max=50){ expected.gb = boot.gb$t0 q025.gb = boot.ci.lower(boot.out=boot.gb,conf=0.95,type="perc") q975.gb = boot.ci.upper(boot.out=boot.gb,conf=0.95,type="perc") - fine = all(expected.gb %>=% q025.gb) && all(expected.gb %<=% q975.gb) + fine = all(expected.gb %ge% q025.gb) && all(expected.gb %le% q975.gb) }#end while ((! fine) && (it < itb.max)) if (it == itb.max) browser() #---------------------------------------------------------------------------------------# diff --git a/R-utils/density.safe.r b/R-utils/density.safe.r index 58702a79e..7c0601d3f 100644 --- a/R-utils/density.safe.r +++ b/R-utils/density.safe.r @@ -49,7 +49,7 @@ density.safe <<- function( x }else{ #----- Select the valid x and e values. ---------------------------------------------# - sel = x %>% 0 & e %>=% 0 + sel = (x %gt% 0) & (e %ge% 0) n.x.use = sum(sel) #------------------------------------------------------------------------------------# @@ -104,16 +104,16 @@ density.safe <<- function( x # (for example, negative CO2 concentration). # #---------------------------------------------------------------------------------------# if (is.finite(xmin)){ - bye = ans$x %<% xmin + bye = ans$x %lt% xmin xadd = min(ans$x[! bye],na.rm=TRUE) - iadd = which(ans$x %==% xadd) + iadd = which(ans$x %eq% xadd) ans$y[iadd] = ans$y[iadd] + sum(ans$y[bye]) ans$y[bye ] = 0. }#end if(is.finite(xmin)) if (is.finite(xmax)){ - bye = ans$x %>% xmax + bye = ans$x %gt% xmax xadd = max(ans$x[! bye],na.rm=TRUE) - iadd = which(ans$x %==% xadd) + iadd = which(ans$x %eq% xadd) ans$y[iadd] = ans$y[iadd] + sum(ans$y[bye]) ans$y[bye ] = 0. }#end if(is.finite(xmax)) diff --git a/R-utils/desc.unit.r b/R-utils/desc.unit.r index ca646d470..fa52af9c3 100644 --- a/R-utils/desc.unit.r +++ b/R-utils/desc.unit.r @@ -3,7 +3,7 @@ # This function creates an expression object that has the description and the units # # with sub-scripts, superscripts and stuff. # #------------------------------------------------------------------------------------------# -desc.unit <<- function(desc,unit,bracket=TRUE,dxpr=FALSE){ +desc.unit <<- function(desc,unit,bracket=TRUE,dxpr=FALSE,twolines=FALSE){ if (missing(desc) | missing(unit)){ cat(" - Missing \"desc\": ",missing(desc),"\n") cat(" - Missing \"unit\": ",missing(unit),"\n") @@ -26,14 +26,25 @@ desc.unit <<- function(desc,unit,bracket=TRUE,dxpr=FALSE){ }#end if }else{ if (dxpr){ - if (bracket){ + if (bracket && twolines){ + answer = parse(text=paste0("atop(",desc,",paste(\"[\",",unit,",\"]\"))")) + }else if (bracket){ answer = parse(text=paste0("paste(",desc,",\" [\",",unit,",\"]\")")) + }else if (twolines){ + answer = parse(text=paste0("atop(",desc,",",unit,")")) }else{ answer = parse(text=paste0("paste(",desc,",\" \",",unit,",\"\")")) }#end if }else{ - if (bracket){ + if (bracket && twolines){ + answer = parse( text=paste0( "atop(paste(\"",desc,"\")," + , "paste(\"[\",",unit,",\"]\"))" + )#end paste0 + )#end paste + }else if (bracket){ answer = parse(text=paste0("paste(\"",desc,"\",\" [\",",unit,",\"]\")")) + }else if (twolines){ + answer = parse(text=paste0("atop(paste(\"",desc,"\"),paste(\"",unit,"\"))")) }else{ answer = parse(text=paste0("paste(\"",desc,"\",\" \",",unit,",\"\")")) }#end if diff --git a/R-utils/dynamics.proofer.r b/R-utils/dynamics.proofer.r index 7a9e9dd0e..4981c883a 100644 --- a/R-utils/dynamics.proofer.r +++ b/R-utils/dynamics.proofer.r @@ -84,7 +84,7 @@ death.proofer <<- function( datum # Forest inventory data set for (y in sequence(n.years)){ this.dead = paste(dead.pref,year4[y],sep=vsep) if (this.dead %in% names(datum)){ - sel = as.numeric(datum[[this.dead]]) %==% 1 + sel = as.numeric(datum[[this.dead]]) %eq% 1 datum$year.death[sel] = pmin(datum$year.death[sel],year4[y]) }#end if (this.dead %in% names(datum)) #---------------------------------------------------------------------------------# @@ -102,7 +102,7 @@ death.proofer <<- function( datum # Forest inventory data set for (y in sequence(n.years)){ this.dbh = paste(dbh.pref ,year4[y],sep=vsep) alive = ( is.finite(datum[[this.dbh]]) - & datum$year.death %<=% year4[y] + & datum$year.death %le% year4[y] )#end alive datum$year.death[alive] = next.year[y] #---------------------------------------------------------------------------------# @@ -966,7 +966,7 @@ dbh.gap.filler <<- function( datum #----- Find out whether to fill the data. -------------------------------------------# - dbh.miss = is.na(datum[[dbh.label]]) | datum[[dbh.label]] %<% 0 + dbh.miss = is.na(datum[[dbh.label]]) | datum[[dbh.label]] %lt% 0 if (any(is.na(dbh.miss))){ cat0(" dbh.miss has NA!") }#end if @@ -979,7 +979,7 @@ dbh.gap.filler <<- function( datum # been taken care of before, but after discarding some bad measurements a few other # # pre-recruitment points may appear. # #------------------------------------------------------------------------------------# - bye = datum[[dbh.label]] %>% 0 & is.na(dbh.table[,y]) + bye = datum[[dbh.label]] %gt% 0 & is.na(dbh.table[,y]) message = paste0(dbh.label,"=",abs(datum[[dbh.label]]) ," is pre-recruitment thus removed",sep="") datum[[notes.label]][bye] = concatenate.message(datum[[notes.label]][bye] @@ -1045,8 +1045,8 @@ dbh.gap.filler <<- function( datum # Choose the years to update. It has to be NA and it has to be post- # # recruitment to be accepted. # #------------------------------------------------------------------------------------# - is.recruited = ( dbh.guess %>% ( dbh.min + dbh.min.toler ) - | datum[[dbh.label]] %>=% dbh.min + is.recruited = ( dbh.guess %gt% ( dbh.min + dbh.min.toler ) + | datum[[dbh.label]] %ge% dbh.min | datum$year.recruit <= year4[y] ) is.alive = datum$year.death > year4[y] update.year = dbh.miss & is.recruited & is.alive diff --git a/R-utils/elliptical.utils.r b/R-utils/elliptical.utils.r index f321a9772..a048d6d92 100644 --- a/R-utils/elliptical.utils.r +++ b/R-utils/elliptical.utils.r @@ -5,16 +5,16 @@ elliptical.radius <<- function(x,y,theta,degrees=FALSE){ if (degrees) theta = theta * pio180 - both.zero = x %==% 0 & y %==% 0 - x.zero = x %==% 0 & y %!=% 0 - y.zero = x %!=% 0 & y %==% 0 + both.zero = (x %eq% 0) & (y %eq% 0) + x.zero = (x %eq% 0) & (y %ne% 0) + y.zero = (x %ne% 0) & (y %eq% 0) x[x.zero] = sqrt(.Machine$double.eps) * y[x.zero] y[y.zero] = sqrt(.Machine$double.eps) * x[y.zero] - ans = ifelse( both.zero - , 0 - , x*y / sqrt(y*y*(cos(theta))^2+x*x*(sin(theta))^2) + ans = ifelse( test = both.zero + , yes = 0 + , no = x*y / sqrt(y*y*(cos(theta))^2+x*x*(sin(theta))^2) )#end ifelse return(ans) @@ -36,9 +36,9 @@ elliptical.area <<- function(x,y,theta0=0,theta1=2*pi,degrees=FALSE){ theta1 = theta1 * pio180 }#end if - both.zero = x %==% 0 & y %==% 0 - x.zero = x %==% 0 & y %!=% 0 - y.zero = x %!=% 0 & y %==% 0 + both.zero = ( x %eq% 0 ) & ( y %eq% 0 ) + x.zero = ( x %eq% 0 ) & ( y %ne% 0 ) + y.zero = ( x %ne% 0 ) & ( y %eq% 0 ) x[x.zero] = sqrt(.Machine$double.eps) * y[x.zero] y[y.zero] = sqrt(.Machine$double.eps) * x[y.zero] diff --git a/R-utils/epolygon.r b/R-utils/epolygon.r index df955beb2..e0dec5726 100644 --- a/R-utils/epolygon.r +++ b/R-utils/epolygon.r @@ -47,19 +47,14 @@ epolygon <<- function(x, y = NULL, density = NULL, angle = 45, border = NULL if (end > start) { den = density[i] if (is.na(den) || den < 0){ - if (R.Version()$major == "3"){ - polygon( x = xy$x[start:(end - 1)] - , y = xy$y[start:(end - 1)] - , col = col[i] - , border = NA - , density = den - , lty = lty[i] - , ... - )#end polygon - }else{ - .Internal(polygon( xy$x[start:(end - 1)] - , xy$y[start:(end - 1)], col[i], NA, lty[i], ...)) - }#end if + polygon( x = xy$x[start:(end - 1)] + , y = xy$y[start:(end - 1)] + , col = col[i] + , border = NA + , density = den + , lty = lty[i] + , ... + )#end polygon }else if (den > 0) { epolygon.fullhatch( x = xy$x[start:(end - 1)] , y = xy$y[start:(end - 1)] @@ -77,18 +72,16 @@ epolygon <<- function(x, y = NULL, density = NULL, angle = 45, border = NULL }#end if start = end + 1 }#end for - if (R.Version()$major == "3"){ - polygon( x = xy$x - , y = xy$y - , density = 0 - , col = NA - , border = border - , lty = lty - , ... - )#end polygon - }else{ - .Internal(polygon(xy$x, xy$y, NA, border, lty, ...)) - }#end if + + polygon( x = xy$x + , y = xy$y + , density = 0 + , col = NA + , border = border + , lty = lty + , ... + )#end polygon + }else{ if (is.logical(border)) { if (!is.na(border) && border){ @@ -98,18 +91,15 @@ epolygon <<- function(x, y = NULL, density = NULL, angle = 45, border = NULL }#end if }#end if - if (R.Version()$major == "3"){ - polygon( x = xy$x - , y = xy$y - , density = NULL - , col = col - , border = border - , lty = lty - , ... - )#end polygon - }else{ - .Internal(polygon(xy$x, xy$y, col, border, lty, ...)) - }#end if + polygon( x = xy$x + , y = xy$y + , density = NULL + , col = col + , border = border + , lty = lty + , ... + )#end polygon + }#end if }#end function #==========================================================================================# diff --git a/R-utils/globdims.r b/R-utils/globdims.r index 17bf676f4..35a4a64d6 100644 --- a/R-utils/globdims.r +++ b/R-utils/globdims.r @@ -7,7 +7,7 @@ nstyp <<- 17 # Number of default soil types #----- Radiation thresholds. --------------------------------------------------------------# -cosz.min <<- 0.03 # cos(89*pi/180) # Minimum cosine of zenith angle +cosz.min <<- 0.0001 # 0.03 # cos(89*pi/180) # Minimum cosine of zenith angle cosz.highsun <<- cos(84*pi/180) # Zenith angle to not be called sunrise or sunset cosz.twilight <<- cos(96*pi/180) # Cosine of the end of civil twilight fvis.beam.def <<- 0.43 diff --git a/R-utils/gridded.plot.r b/R-utils/gridded.plot.r index 15b91019d..357ff9b31 100644 --- a/R-utils/gridded.plot.r +++ b/R-utils/gridded.plot.r @@ -88,7 +88,7 @@ gridded.plot <<- function( x = seq(from=0,to=1,len=nrow(z)) #----- No messed-up axes are allowed, they must increase. ------------------------------# - if (any(diff(x) %<=% 0) || any(diff(y) %<=% 0)){ + if (any(diff(x) %le% 0) || any(diff(y) %le% 0)){ stop("increasing x and y values expected") }#end if #---------------------------------------------------------------------------------------# @@ -246,7 +246,19 @@ gridded.plot <<- function( x = seq(from=0,to=1,len=nrow(z)) #----- Plot the title. --------------------------------------------------------------# - if (! is.null(key.title)) do.call(what="title",args=key.title) + if (! is.null(key.title)){ + #---- Make sure that the key title will work with multiple configurations. -------# + if (! is.list(key.title)){ + key.title=list(main=key.title) + }else if (! "main" %in% names(key.title)){ + names(key.title)[[1]] = "main" + }#end if + #---------------------------------------------------------------------------------# + + #----- Call the command. ---------------------------------------------------------# + do.call(what="title",args=key.title) + #---------------------------------------------------------------------------------# + }#end if (! is.null(key.title)) #------------------------------------------------------------------------------------# #=======================================================================================# #=======================================================================================# diff --git a/R-utils/image.map.r b/R-utils/image.map.r index 40c99efbe..969f0f4b1 100644 --- a/R-utils/image.map.r +++ b/R-utils/image.map.r @@ -506,8 +506,8 @@ image.map <<- function( x zzz = tapply(X=zzz,INDEX=iii,FUN=mean,na.rm=TRUE) sss = tapply(X=sss,INDEX=iii,FUN=any ,na.rm=TRUE) #----- Generate output mesh. -----------------------------------------------------# - if (! (nx.interp %>% 0)) nx.interp = 10*length(unique(xx)) - if (! (ny.interp %>% 0)) ny.interp = 10*length(unique(yy)) + if (! (nx.interp %gt% 0)) nx.interp = 10*length(unique(xx)) + if (! (ny.interp %gt% 0)) ny.interp = 10*length(unique(yy)) xo = seq(from=0,to=1,length.out=nx.interp) yo = seq(from=0,to=1,length.out=ny.interp) xoyo = expand.grid(xo,yo) diff --git a/R-utils/is.peak.r b/R-utils/is.peak.r index fc89a9eea..eac2a33ee 100644 --- a/R-utils/is.peak.r +++ b/R-utils/is.peak.r @@ -12,7 +12,7 @@ is.peak <<- function( pt.cloud #----- Check whether to use only first returns or all returns. -------------------------# idx.retn = with(pt.cloud, which(retn.number %in% retn.use)) idx.clss = with(pt.cloud, which(pt.class %in% clss.use)) - idx.agnd = with(pt.cloud, which(z %>=% zmin)) + idx.agnd = with(pt.cloud, which(z %ge% zmin)) idx.keep = intersect(idx.clss,intersect(idx.retn,idx.agnd)) #---------------------------------------------------------------------------------------# diff --git a/R-utils/licorfun.r b/R-utils/licorfun.r index 663e1c6da..1b9dc986b 100644 --- a/R-utils/licorfun.r +++ b/R-utils/licorfun.r @@ -154,7 +154,7 @@ comp.photo.tempfun <<- function(thispft,met,quantum.t=FALSE){ ipsII.max = ( aparms$jm * ( 2.0 * thispft$curvpar - 1. - 2.0 * sqrt(thispft$curvpar * (thispft$curvpar-1.0) ) ) ) }else{ - ipsII.max = discard + ipsII.max = huge.num }#end if (thispft$curvpar > 1.) ipsII = min(0.5 * thispft$phi.psII * met$par,ipsII.max) aterm = thispft$curvpar @@ -390,14 +390,14 @@ find.lint.co2.bounds <<- function(met,thispft,aparms){ # make the other negative, which will make the guess discarded. # #---------------------------------------------------------------------------------# ciroot1 = - bquad / (2.0 * aquad) - ciroot2 = - discard + ciroot2 = - huge.num }else if (discr > 0.0){ ciroot1 = (- bquad + sqrt(discr)) / (2.0 * aquad) ciroot2 = (- bquad - sqrt(discr)) / (2.0 * aquad) }else{ #----- Discriminant is negative. Impossible to solve. ---------------------------# - ciroot1 = - discard - ciroot2 = - discard + ciroot1 = - huge.num + ciroot2 = - huge.num }# end if }else{ #------------------------------------------------------------------------------------# @@ -405,7 +405,7 @@ find.lint.co2.bounds <<- function(met,thispft,aparms){ # works for this case. # #------------------------------------------------------------------------------------# ciroot1 = - cquad / bquad - ciroot2 = - discard + ciroot2 = - huge.num #----- Not used, just for the debugging process. ------------------------------------# discr = bquad * bquad }# end if @@ -414,7 +414,7 @@ find.lint.co2.bounds <<- function(met,thispft,aparms){ # the positive discard so this will never be chosen. # #---------------------------------------------------------------------------------------# cigsw=max(ciroot1, ciroot2) - if (cigsw == -discard) cigsw = discard + if (cigsw == -huge.num) cigsw = huge.num #---------------------------------------------------------------------------------------# @@ -446,14 +446,14 @@ find.lint.co2.bounds <<- function(met,thispft,aparms){ # make the other negative, which will make the guess discarded. # #---------------------------------------------------------------------------------# ciroot1 = - bquad / (2.0 * aquad) - ciroot2 = -discard + ciroot2 = -huge.num }else if (discr > 0.0){ ciroot1 = (- bquad + sqrt(discr)) / (2.0 * aquad) ciroot2 = (- bquad - sqrt(discr)) / (2.0 * aquad) }else{ #----- Discriminant is negative. Impossible to solve. ---------------------------# - ciroot1 = -discard - ciroot2 = -discard + ciroot1 = -huge.num + ciroot2 = -huge.num }#end if }else{ #------------------------------------------------------------------------------------# @@ -461,7 +461,7 @@ find.lint.co2.bounds <<- function(met,thispft,aparms){ # that works for this case. # #------------------------------------------------------------------------------------# ciroot1 = - cquad / bquad - ciroot2 = -discard + ciroot2 = -huge.num #----- Not used, just for the debugging process. ------------------------------------# discr = bquad * bquad }# end if @@ -470,7 +470,7 @@ find.lint.co2.bounds <<- function(met,thispft,aparms){ # the positive discard so this will never be chosen. # #---------------------------------------------------------------------------------------# ciQ=max(ciroot1, ciroot2) - if (ciQ == -discard) ciQ = discard + if (ciQ == -huge.num) ciQ = huge.num #---------------------------------------------------------------------------------------# @@ -959,7 +959,7 @@ solve.aofixed.case <<- function(met,thispft,aparms){ if (aquad == 0.0){ #----- Not really a quadratic equation. ------------------------------------------# gswroot1 = -cquad / bquad - gswroot2 = discard + gswroot2 = huge.num }else{ #----- A quadratic equation, find the discriminant. ------------------------------# discr = bquad * bquad - 4.0 * aquad * cquad @@ -967,7 +967,7 @@ solve.aofixed.case <<- function(met,thispft,aparms){ if (discr == 0.0){ #----- Double root. -----------------------------------------------------------# gswroot1 = - bquad / (2.0 * aquad) - gswroot2 = discard + gswroot2 = huge.num }else if (discr > 0.0){ #----- Two distinct roots. ----------------------------------------------------# gswroot1 = (- bquad - sqrt(discr)) / (2.0 * aquad) diff --git a/R-utils/load.everything.r b/R-utils/load.everything.r index bc900c4f0..5683a0ab8 100644 --- a/R-utils/load.everything.r +++ b/R-utils/load.everything.r @@ -222,7 +222,6 @@ discreet.require <<- function(...){ #------------------------------------------------------------------------------------------# loaded.package = list() loaded.package[["abind" ]] = discreet.require(abind ) -loaded.package[["agricolae" ]] = discreet.require(agricolae ) loaded.package[["akima" ]] = discreet.require(akima ) loaded.package[["beanplot" ]] = discreet.require(beanplot ) loaded.package[["boot" ]] = discreet.require(boot ) @@ -236,15 +235,14 @@ loaded.package[["data.table" ]] = discreet.require(data.table ) loaded.package[["devtools" ]] = discreet.require(devtools ) loaded.package[["FAdist" ]] = discreet.require(FAdist ) loaded.package[["fields" ]] = discreet.require(fields ) +loaded.package[["foto" ]] = discreet.require(foto ) loaded.package[["gbm" ]] = discreet.require(gbm ) -loaded.package[["gdalUtils" ]] = discreet.require(gdalUtils ) -loaded.package[["geoR" ]] = discreet.require(geoR ) +#loaded.package[["geoR" ]] = discreet.require(geoR ) +loaded.package[["ggplot2" ]] = discreet.require(ggplot2 ) loaded.package[["gpclib" ]] = discreet.require(gpclib ) loaded.package[["grDevices" ]] = discreet.require(grDevices ) loaded.package[["gstat" ]] = discreet.require(gstat ) -loaded.package[["hdf5" ]] = discreet.require(hdf5 ) loaded.package[["Hmisc" ]] = discreet.require(Hmisc ) -loaded.package[["klaR" ]] = discreet.require(klaR ) loaded.package[["kriging" ]] = discreet.require(kriging ) loaded.package[["leaps" ]] = discreet.require(leaps ) loaded.package[["maps" ]] = discreet.require(maps ) @@ -252,20 +250,25 @@ loaded.package[["mapdata" ]] = discreet.require(mapdata ) loaded.package[["maptools" ]] = discreet.require(maptools ) loaded.package[["MASS" ]] = discreet.require(MASS ) loaded.package[["MCMCpack" ]] = discreet.require(MCMCpack ) +loaded.package[["nat.utils" ]] = discreet.require(nat.utils ) loaded.package[["nlme" ]] = discreet.require(nlme ) loaded.package[["numDeriv" ]] = discreet.require(numDeriv ) loaded.package[["onls" ]] = discreet.require(onls ) loaded.package[["PBSmapping" ]] = discreet.require(PBSmapping ) loaded.package[["plotrix" ]] = discreet.require(plotrix ) loaded.package[["pls" ]] = discreet.require(pls ) +loaded.package[["ppcor" ]] = discreet.require(ppcor ) loaded.package[["proto" ]] = discreet.require(proto ) loaded.package[["randomForest"]] = discreet.require(randomForest) loaded.package[["raster" ]] = discreet.require(raster ) +loaded.package[["reshape2" ]] = discreet.require(reshape2 ) loaded.package[["rgdal" ]] = discreet.require(rgdal ) loaded.package[["rgeos" ]] = discreet.require(rgeos ) +loaded.package[["rhdf5" ]] = discreet.require(rhdf5 ) loaded.package[["rlas" ]] = discreet.require(rlas ) loaded.package[["robustbase" ]] = discreet.require(robustbase ) loaded.package[["rworldmap" ]] = discreet.require(rworldmap ) +loaded.package[["RColorBrewer"]] = discreet.require(RColorBrewer) loaded.package[["RSEIS" ]] = discreet.require(RSEIS ) loaded.package[["R.utils" ]] = discreet.require(R.utils ) loaded.package[["shapefiles" ]] = discreet.require(shapefiles ) @@ -275,10 +278,12 @@ loaded.package[["sn" ]] = discreet.require(sn ) loaded.package[["sp" ]] = discreet.require(sp ) loaded.package[["stats4" ]] = discreet.require(stats4 ) loaded.package[["vioplot" ]] = discreet.require(vioplot ) -loaded.package[["VoxR" ]] = discreet.require(VoxR ) +loaded.package[["viridis" ]] = discreet.require(viridis ) loaded.package[["zoo" ]] = discreet.require(zoo ) #---- Packages that must be loaded at the end. --------------------------------------------# loaded.package[["forecast" ]] = discreet.require(forecast ) +loaded.package[["klaR" ]] = discreet.require(klaR ) +loaded.package[["agricolae" ]] = discreet.require(agricolae ) #------------------------------------------------------------------------------------------# @@ -368,16 +373,6 @@ try(unlockBinding("theme",envir),silent=TRUE) -#------------------------------------------------------------------------------------------# -# SHADY BUSINESS... We must unlock %>% from package forecast and replace by our # -# function. # -#------------------------------------------------------------------------------------------# -envir = as.environment("package:forecast") -try(unlockBinding("%>%",envir),silent=TRUE) -#------------------------------------------------------------------------------------------# - - - #------------------------------------------------------------------------------------------# # Organise the files so we load them in the right order. # #------------------------------------------------------------------------------------------# @@ -461,7 +456,9 @@ for (if90 in sequence(nall.f90)){ dummy = if (file.exists(flib.so)){file.remove(flib.so)}else{character(0)} dummy = if (file.exists(flib.sl)){file.remove(flib.sl)}else{character(0)} dummy = if (file.exists(flib.o )){file.remove(flib.o )}else{character(0)} - dummy = rcmd(cmd="SHLIB",cmdargs=fnow,libpath=srcdir) + dummy = rcmd(cmd="SHLIB",cmdargs=fnow ) + dummy = rcmd(cmd="SHLIB",cmdargs=flib.o) + #------------------------------------------------------------------------------------# }#end if ("try-error" %in% is(dummy)) #---------------------------------------------------------------------------------------# }#end for (if90 in sequence(nall.f90)) diff --git a/R-utils/locations.r b/R-utils/locations.r index 8fdfc7cb8..1c2fe4309 100644 --- a/R-utils/locations.r +++ b/R-utils/locations.r @@ -61,6 +61,33 @@ locations <<- function(where,here=getwd(),yearbeg=1500,yearend=2008,monthbeg=1,d pathrst = file.path(here,ici,"histo",ici) pathout = file.path(pathroot,"epost") + }else if( ( substring(ici,1,2) %in% c("ta","ti","tl") ) + & ( ( substring(ici,7,7) %in% "_" ) | ( nchar(ici) == 6 ) ) + ){ + #---- Regional based name. ----------------------------------------------------------# + metflag = substring(ici,1) + if (tolower(metflag) %in% "ta"){ + thismet = "(ERA5)" + }else{ + thismet = "" + }#end if + + #----- Grab the IATA code. ----------------------------------------------------------# + iata = substring(ici,2,6) + pp = which(poilist$iata %in% iata) + + #----- Put the name of the place and the meteorological forcing. --------------------# + testpoi = paste0(poilist$longname[pp]," ",thismet) + lon = poilist$lon[pp] + lat = poilist$lat[pp] + wmo = poilist$wmo[pp] + + lieu = simul.description(ici,testpoi,iata=FALSE) + pathroot = file.path(here,ici) + pathin = file.path(pathroot,"analy",ici) + pathrst = file.path(here,ici,"histo",ici) + pathout = file.path(pathroot,"epost") + }else if( substring(ici,4,4) == "_" & substring(ici,9,9) == "_"){ #---- Convert back to upper case. ---------------------------------------------------# ici = paste0(toupper(substring(ici,1,3)),substring(ici,4)) @@ -543,8 +570,8 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ #----- ivegt.dynamics is the flag for vegetation dynamics. -----------------------------# flagvar[["ivegt.dynamics"]] = list( descr = "Vegetation dynamics" , numeric = TRUE - , values = seq(from=0,to=2,by=1) - , names = c("OFF","ON","Multi") + , values = c(0,1,2,99) + , names = c("OFF","ON","Multi","Bare") )#end list #----- iphen.scheme is the phenology scheme for tropical broadleaf trees. --------------# flagvar[["iphen.scheme"]] = list( descr = "Phenology scheme" @@ -607,13 +634,13 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ )#end list #----- irad.drought is the rainfall response. ------------------------------------------# flagvar[["irain.drought"]] = list( descr = "Rainfall" - , numeric = TRUE + , numeric = TRUE , values = seq(from=0,to=1,by=1) , names = c("Normal","2010 drought") )#end list #----- Photosynthesis parameters. ------------------------------------------------------# flagvar[["iphysiol"]] = list( descr = "Photosynthesis" - , numeric = TRUE + , numeric = TRUE , values = seq(from=0,to=3,by=1) , names = c("Arrhenius (no Jmax/TPmax)" ,"Arrenhius (with Jmax/TPmax)" @@ -623,13 +650,13 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ )#end list #----- Grass type. ---------------------------------------------------------------------# flagvar[["igrass"]] = list( descr = "Grass scheme" - , numeric = TRUE + , numeric = TRUE , values = c(0,1) , names = c("ED-1","Swann") )#end list #----- Grass type. ---------------------------------------------------------------------# flagvar[["isoilbc"]] = list( descr = "Soil Bnd. Cond." - , numeric = TRUE + , numeric = TRUE , values = c(0,1,2,3,4) , names = c( "Bedrock" , "Free drainage" @@ -640,7 +667,7 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ )#end list #----- Grass type. ---------------------------------------------------------------------# flagvar[["ipercol"]] = list( descr = "Percolation" - , numeric = TRUE + , numeric = TRUE , values = c(0,1,2) , names = c( "Walko et al. (2000)" , "Anderson (1976)" @@ -655,11 +682,12 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ #----- Fire model. ---------------------------------------------------------------------# flagvar[["include.fire"]] = list( descr = "Fire model" , numeric = TRUE - , values = c(0,1,2,3) + , values = c(0,1,2,3,4) , names = c( "Off" , "ED-1.0 type" , "Default ED-2.1" - , "Water-deficit based" + , "EMBERFIRE" + , "FIRESTARTER" )#end c )#end list #----- Energy budget type. -------------------------------------------------------------# @@ -961,14 +989,6 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ , values = c(0,1) , names = c("OFF","ON") )#end list - flagvar[["soil.hydro"]] = list( descr = "Soil hydraulics" - , numeric = TRUE - , values = c(0,1,2) - , names = c( "Brooks-Corey-Cosby" - , "Brooks-Cory-Tomasella" - , "van Genuchten-Hodnett" - )#end c - )#end list flagvar[["dhist" ]] = list( descr = "LCLU history" , numeric = FALSE , values = c("int","ril","cl1","cl2","lt1" @@ -1536,11 +1556,6 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ param = c("iphen.scheme","d0","include.fire") na = c( 10, 16, 24) nz = c( 12, 18, 25) - }else if (lenici == 26 & grep(pattern="islhydro",x=ici)){ - nparms = 2 - param = c("ivegt.dynamics","soil.hydro") - na = c( 14, 25) - nz = c( 15, 26) }else if (lenici == 26){ nparms = 3 param = c("ianth.disturb","logging.type", "bharvest") @@ -1631,11 +1646,6 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ param = c("yeara","iphen.scheme","isoil.text","treefall") na = c( 9, 18, 27, 35) nz = c( 11, 20, 28, 37) - }else if (lenici == 38 & grep(pattern="islhydro",x=ici)){ - nparms = 3 - param = c("ivegt.dynamics","soil.hydro","hydrodyn.set") - na = c( 14, 25, 37) - nz = c( 15, 26, 38) }else if (lenici == 39){ nparms = 3 param = c("struct","iphen.scheme","include.fire") @@ -1677,6 +1687,16 @@ simul.description <<- function(ici,testpoi,iata=TRUE,max.char=66){ param = c("lon","lat") na = c( 13, 23) nz = c( 18, 28) + }else if(lenici == 34 && grepl(pattern="ifire",x=ici)){ + nparms = 3 + param = c("lon","lat","include.fire") + na = c( 11, 21, 33) + nz = c( 16, 26, 34) + }else if(lenici == 46 && grepl(pattern="ifire",x=ici)){ + nparms = 4 + param = c("lon","lat","include.fire","sm.fire") + na = c( 11, 21, 33, 42) + nz = c( 16, 26, 34, 46) }#end if }#end if #---------------------------------------------------------------------------------------# @@ -1757,6 +1777,28 @@ poilist <<- read.csv( file = file.path(srcdir,"poilist.csv") , header = TRUE , stringsAsFactors = FALSE )#end read.csv +if (file.exists(file.path(srcdir,"amzbr_poi.csv"))){ + amzlist <<- read.csv( file = file.path(srcdir,"amzbr_poi.csv") + , header = TRUE + , stringsAsFactors = FALSE + )#end read.csv + poilist <<- merge(poilist,amzlist,all=TRUE) +}#end if (file.exists(file.path(srcdir,"amzbr_poi.csv"))) +if (file.exists(file.path(srcdir,"amzif_poi.csv"))){ + amzlist <<- read.csv( file = file.path(srcdir,"amzif_poi.csv") + , header = TRUE + , stringsAsFactors = FALSE + )#end read.csv + poilist <<- merge(poilist,amzlist,all=TRUE) +}#end if (file.exists(file.path(srcdir,"amzif_poi.csv"))) +npoi <<- nrow(poilist) +if (file.exists(file.path(srcdir,"amzlu_poi.csv"))){ + amzlist <<- read.csv( file = file.path(srcdir,"amzlu_poi.csv") + , header = TRUE + , stringsAsFactors = FALSE + )#end read.csv + poilist <<- merge(poilist,amzlist,all=TRUE) +}#end if (file.exists(file.path(srcdir,"amzif_poi.csv"))) npoi <<- nrow(poilist) #==========================================================================================# #==========================================================================================# diff --git a/R-utils/lt.weibull.r b/R-utils/lt.weibull.r index e929cf8f9..0b9c0ded3 100644 --- a/R-utils/lt.weibull.r +++ b/R-utils/lt.weibull.r @@ -8,7 +8,7 @@ dlt.weibull <<- function(x,left=0,shape,scale=1,log=FALSE){ lnorm = left / scale #---------------------------------------------------------------------------------------# - dens = ifelse( x %<% left + dens = ifelse( x %lt% left , 0. , shape / scale * xnorm ^ (shape-1) * exp( lnorm ^ shape - xnorm ^ shape ) )#end ifelse @@ -34,7 +34,7 @@ plt.weibull <<- function(q,left=0,shape,scale=1,lower.tail=TRUE,log.p=FALSE){ #---------------------------------------------------------------------------------------# - prob = ifelse( q %<% left, 0., 1. - exp( lnorm^shape - qnorm^shape ) ) + prob = ifelse( q %lt% left, 0., 1. - exp( lnorm^shape - qnorm^shape ) ) if (lower.tail) prob = 1. - prob if (log.p ) prob = log(prob) return(prob) diff --git a/R-utils/macarthur.horn.r b/R-utils/macarthur.horn.r index da9deb26c..e83971d9d 100644 --- a/R-utils/macarthur.horn.r +++ b/R-utils/macarthur.horn.r @@ -64,15 +64,15 @@ macarthur.horn <<- function( pt.cloud # Make sure the settings make sense. # #---------------------------------------------------------------------------------------# #----- Check additional values. --------------------------------------------------------# - if (! ( zh %>% 0 && - nz %>% 0 && - zh %>% zo && - zo %>=% 0 && - ( is.na(rvorg) || rvorg %>% 0 ) && - ( out.lai %>% 0 ) && + if (! ( zh %gt% 0 && + nz %gt% 0 && + zh %gt% zo && + zo %ge% 0 && + ( is.na(rvorg) || rvorg %gt% 0 ) && + ( out.lai %gt% 0 ) && ( is.logical(tall.at.zh) ) && - ( (sigma.z %>% 0) || (! wfsim) ) && - Gmu %>%0 + ( (sigma.z %gt% 0) || (! wfsim) ) && + Gmu %gt%0 ) ){ cat0("------------------------------------------------------------------") cat0(" MacArthur and Horn won't run due to problems with your settings:" ) @@ -191,12 +191,12 @@ macarthur.horn <<- function( pt.cloud #----- Assume that everything with height zero is ground. ------------------------------# - pt.cloud$pt.class[pt.cloud$z %<=% 0] = 2 + pt.cloud$pt.class[pt.cloud$z %le% 0] = 2 #---------------------------------------------------------------------------------------# #----- Keep only the points that are within bounds. ------------------------------------# - keep = pt.cloud$z %>=% 0 & pt.cloud$z %<% zh & pt.cloud$pt.class %in% c(0,1,2,3,4,5) + keep = pt.cloud$z %ge% 0 & pt.cloud$z %lt% zh & pt.cloud$pt.class %in% c(0,1,2,3,4,5) pt.cloud = pt.cloud[keep,,drop=FALSE] #---------------------------------------------------------------------------------------# @@ -460,7 +460,7 @@ macarthur.horn <<- function( pt.cloud }else{ #----- Create a pseudo-point cloud with the MH-corrected distribution. --------------# - nzmah = ceiling(3.*Rv0/min(veg.cloud$intensity[veg.cloud$intensity %>% 0])) + nzmah = ceiling(3.*Rv0/min(veg.cloud$intensity[veg.cloud$intensity %gt% 0])) zmah = jitter(x= sample(x=zmid,size=nzmah,replace=TRUE,prob=lad),amount=0.5*deltaz) #------------------------------------------------------------------------------------# diff --git a/R-utils/monthly.template.r b/R-utils/monthly.template.r index 614067f6e..776adb2d4 100644 --- a/R-utils/monthly.template.r +++ b/R-utils/monthly.template.r @@ -46,37 +46,60 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ ed$nzs = mymont$NZS ed$ndcycle = mymont$NDCYCLE ed$ntimes = ntimes + ed$nsites = mymont$PYSI.N #---------------------------------------------------------------------------------------# #----- Find which soil are we solving, and save properties into soil.prop. -------------# - ed$isoilflg = mymont$ISOILFLG ed$slz = mymont$SLZ - ed$slxsand = mymont$SLXSAND - ed$slxclay = mymont$SLXCLAY - ed$ntext = mymont$NTEXT.SOIL[ed$nzg] + ed$slhydro = mymont$SLHYDRO.REF + ed$slxsand = mymont$SLXSAND.REF + ed$slxclay = mymont$SLXCLAY.REF + ed$slxsilt = mymont$SLXSILT.REF + ed$slsoc = mymont$SLSOC.REF + ed$slph = mymont$SLPH.REF + ed$slcec = mymont$SLCEC.REF + ed$sldbd = mymont$SLDBD.REF + ed$ntext = mymont$NTEXT.SOIL[,ed$nzg] + ed$lsl = mymont$LSL #---------------------------------------------------------------------------------------# #----- Derive the soil properties. -----------------------------------------------------# - ed$soil.prop = soil.params(ed$ntext,ed$isoilflg,ed$slxsand,ed$slxclay) + ed$soil.prop = soil.params( isoilflg = 2 + , slxsand = ed$slxsand + , slxclay = ed$slxclay + , slsoc = ed$slsoc + , slph = ed$slph + , slcec = ed$slcec + , sldbd = ed$sldbd + , slhydro = ed$slhydro + , out.dfr = TRUE + )#end soil.params ed$dslz = diff(c(ed$slz,0)) ed$soil.depth = rev(cumsum(rev(ed$dslz))) - ed$soil.dry = rev(cumsum(rev(ed$soil.prop$soilcp * wdns * ed$dslz))) - ed$soil.poro = rev(cumsum(rev(ed$soil.prop$slmsts * wdns * ed$dslz))) + ed$soil.dry = apply( X = outer(wdns * ed$dslz,ed$soil.prop$soilcp) + , MARGIN = 2 + , FUN = function(x) rev(cumsum(rev(x))) + )#end apply + ed$soil.poro = apply( X = outer(wdns * ed$dslz,ed$soil.prop$soilpo) + , MARGIN = 2 + , FUN = function(x) rev(cumsum(rev(x))) + )#end apply #---------------------------------------------------------------------------------------# #----- Find the layers we care about. --------------------------------------------------# sel = ed$slz < slz.min if (any(sel)){ - ed$ka = which.max(ed$slz[sel]) + ka.min = which.max(ed$slz[sel]) + ed$ka = pmax(ka.min,ed$lsl) }else{ - ed$ka = 1 + ed$ka = ed$lsl }#end if - ed$kz = ed$nzg + ed$kz = rep(x=ed$nzg,times=length(ed$lsl)) #---------------------------------------------------------------------------------------# @@ -118,6 +141,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ ndcycle = ed$ndcycle nzg = ed$nzg nzs = ed$nzs + nsites = ed$nsites #---------------------------------------------------------------------------------------# @@ -155,6 +179,17 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ emean$crop.harvest = rep(NA_real_,times=ntimes) emean$logging.harvest = rep(NA_real_,times=ntimes) emean$combusted.fuel = rep(NA_real_,times=ntimes) + emean$fire.density = rep(NA_real_,times=ntimes) + emean$fire.intensity = rep(NA_real_,times=ntimes) + emean$fire.ignition = rep(NA_real_,times=ntimes) + emean$fire.extinction = rep(NA_real_,times=ntimes) + emean$fire.spread = rep(NA_real_,times=ntimes) + emean$fire.tlethal = rep(NA_real_,times=ntimes) + emean$fire.f.bherb = rep(NA_real_,times=ntimes) + emean$fire.f.bwoody = rep(NA_real_,times=ntimes) + emean$fire.f.fgc = rep(NA_real_,times=ntimes) + emean$fire.f.stgc = rep(NA_real_,times=ntimes) + emean$burnt.area = rep(NA_real_,times=ntimes) emean$het.resp = rep(NA_real_,times=ntimes) emean$fgc.resp = rep(NA_real_,times=ntimes) emean$fsc.resp = rep(NA_real_,times=ntimes) @@ -221,6 +256,11 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ emean$can.vpd = rep(NA_real_,times=ntimes) emean$can.depth = rep(NA_real_,times=ntimes) emean$can.area = rep(NA_real_,times=ntimes) + emean$sfcw.temp = rep(NA_real_,times=ntimes) + emean$sfcw.fliq = rep(NA_real_,times=ntimes) + emean$sfcw.mass = rep(NA_real_,times=ntimes) + emean$sfcw.depth = rep(NA_real_,times=ntimes) + emean$sfcw.cover = rep(NA_real_,times=ntimes) emean$soil.temp.top = rep(NA_real_,times=ntimes) emean$soil.water.top = rep(NA_real_,times=ntimes) emean$soil.water.bot = rep(NA_real_,times=ntimes) @@ -243,6 +283,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ emean$last.2yr.lvpd = rep(NA_real_,times=ntimes) emean$last.3yr.lvpd = rep(NA_real_,times=ntimes) emean$leaf.water = rep(NA_real_,times=ntimes) + emean$leaf.water.im2 = rep(NA_real_,times=ntimes) emean$phap.lwater = rep(NA_real_,times=ntimes) emean$last.1yr.lwater = rep(NA_real_,times=ntimes) emean$last.2yr.lwater = rep(NA_real_,times=ntimes) @@ -390,6 +431,8 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ emean$leaf.par.beam = rep(NA_real_,times=ntimes) emean$leaf.par.diff = rep(NA_real_,times=ntimes) emean$leaf.gpp = rep(NA_real_,times=ntimes) + emean$dmin.leaf.psi = rep(NA_real_,times=ntimes) + emean$dmax.leaf.psi = rep(NA_real_,times=ntimes) emean$phap.lpar = rep(NA_real_,times=ntimes) emean$last.1yr.lpar = rep(NA_real_,times=ntimes) emean$last.2yr.lpar = rep(NA_real_,times=ntimes) @@ -422,6 +465,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ emean$acc.hydmort = rep(NA_real_,times=ntimes) emean$acc.dimort = rep(NA_real_,times=ntimes) emean$acc.recr = rep(NA_real_,times=ntimes) + emean$fire.lethal = rep(NA_real_,times=ntimes) emean$last.1yr.change = rep(NA_real_,times=ntimes) emean$last.2yr.change = rep(NA_real_,times=ntimes) emean$last.3yr.change = rep(NA_real_,times=ntimes) @@ -558,6 +602,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ szpft$leaf.temp = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$phap.ltemp = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$leaf.water = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) + szpft$leaf.water.im2 = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$phap.lwater = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$wood.temp = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$leaf.vpd = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) @@ -568,6 +613,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ szpft$dimort = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$ncbmort = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$hydmort = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) + szpft$fire.lethal = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$growth = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$recr = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$change = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) @@ -621,6 +667,8 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ szpft$leaf.par.beam = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$leaf.par.diff = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$leaf.gpp = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) + szpft$dmin.leaf.psi = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) + szpft$dmax.leaf.psi = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$phap.lpar = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$leaf.rshort = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) szpft$leaf.rlong = array(data=NA_real_,dim=c(ntimes,ndbh+1,npft+1)) @@ -724,6 +772,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ qmean$can.temp = matrix(data=NA,nrow=ntimes,ncol=ndcycle) qmean$leaf.temp = matrix(data=NA,nrow=ntimes,ncol=ndcycle) qmean$leaf.water = matrix(data=NA,nrow=ntimes,ncol=ndcycle) + qmean$leaf.water.im2 = matrix(data=NA,nrow=ntimes,ncol=ndcycle) qmean$wood.temp = matrix(data=NA,nrow=ntimes,ncol=ndcycle) qmean$gnd.temp = matrix(data=NA,nrow=ntimes,ncol=ndcycle) qmean$atm.shv = matrix(data=NA,nrow=ntimes,ncol=ndcycle) @@ -827,10 +876,104 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ + #---------------------------------------------------------------------------------------# + # SITE -- site level variables, we save as arrays because the number of sites is # + # constant throughout the simulations. # + #---------------------------------------------------------------------------------------# + site = list() + site$isi = matrix(data=NA_integer_,nrow=ntimes,ncol=nsites) + site$lsl = matrix(data=NA_integer_,nrow=ntimes,ncol=nsites) + site$ntext = matrix(data=NA_integer_,nrow=ntimes,ncol=nsites) + site$area = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.density = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.extinction = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.intensity = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.tlethal = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.spread = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$burnt.area = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$ignition.rate = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.f.bherb = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.f.bwoody = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.f.fgc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fire.f.stgc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$lai = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$wai = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$tai = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$agb = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$ba = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$nplant = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fast.grnd.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$fast.soil.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$struct.grnd.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$struct.soil.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$microbe.soil.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$slow.soil.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$passive.soil.c = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$nep = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$het.resp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$soil.resp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$cflxca = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$cflxst = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$nee = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$hflxca = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$hflxgc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$qwflxca = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$wflxca = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$wflxgc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$ustar = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$rshortup = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$rlongup = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$parup = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$rshort.gnd = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$par.gnd = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$rnet = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$wood.dens = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$vm0 = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$llspan = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$sla = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$can.depth = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$can.area = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$veg.height = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$sm.stress = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.temp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.water = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.water.im2 = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.vpd = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.gpp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$dmin.leaf.psi = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$dmax.leaf.psi = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.gsw = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.par = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.par.beam = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$leaf.par.diff = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$gpp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$npp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$plant.resp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$cba = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$reco = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$hflxlc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$hflxwc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$wflxlc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$wflxwc = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$transp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$gnd.temp = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$gnd.shv = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$soil.temp.top = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$soil.water.top = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$soil.water.bot = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$soil.wetness.top = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + site$soil.wetness.bot = matrix(data=NA_real_ ,nrow=ntimes,ncol=nsites) + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# # PATCH -- patch level variables, we save as lists because the dimensions vary. # #---------------------------------------------------------------------------------------# patch = list() + patch$isi = list() + patch$lsl = list() + patch$ntext = list() patch$ipa = list() patch$age = list() patch$area = list() @@ -882,12 +1025,18 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ patch$agb = list() patch$ba = list() patch$nplant = list() + patch$bleaf = list() patch$wood.dens = list() patch$vm0 = list() patch$llspan = list() patch$sla = list() patch$can.depth = list() patch$can.area = list() + patch$sfcw.temp = list() + patch$sfcw.fliq = list() + patch$sfcw.mass = list() + patch$sfcw.depth = list() + patch$sfcw.cover = list() patch$veg.height = list() patch$veg.displace = list() patch$veg.rough = list() @@ -902,8 +1051,11 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ patch$sm.stress = list() patch$leaf.temp = list() patch$leaf.water = list() + patch$leaf.water.im2 = list() patch$leaf.vpd = list() patch$leaf.gpp = list() + patch$dmin.leaf.psi = list() + patch$dmax.leaf.psi = list() patch$leaf.gsw = list() patch$leaf.par = list() patch$leaf.par.beam = list() @@ -937,6 +1089,31 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ patch$soil.water = list() patch$soil.mstpot = list() patch$rk4step = list() + patch$growth = list() + patch$agb.growth = list() + patch$acc.growth = list() + patch$bsa.growth = list() + patch$mort = list() + patch$ncbmort = list() + patch$hydmort = list() + patch$dimort = list() + patch$fire.lethal = list() + patch$agb.mort = list() + patch$agb.ncbmort = list() + patch$agb.hydmort = list() + patch$agb.dimort = list() + patch$acc.mort = list() + patch$acc.ncbmort = list() + patch$acc.hydmort = list() + patch$acc.dimort = list() + patch$bsa.mort = list() + patch$bsa.ncbmort = list() + patch$bsa.hydmort = list() + patch$bsa.dimort = list() + patch$recr = list() + patch$agb.recr = list() + patch$acc.recr = list() + patch$bsa.recr = list() #---------------------------------------------------------------------------------------# @@ -945,66 +1122,67 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ #---------------------------------------------------------------------------------------# # QPATCH -- patch level variables, we save as lists because the dimensions vary. # #---------------------------------------------------------------------------------------# - qpatch = list() - qpatch$nep = list() - qpatch$het.resp = list() - qpatch$fgc.resp = list() - qpatch$fsc.resp = list() - qpatch$stgc.resp = list() - qpatch$stsc.resp = list() - qpatch$msc.resp = list() - qpatch$ssc.resp = list() - qpatch$psc.resp = list() - qpatch$can.temp = list() - qpatch$gnd.temp = list() - qpatch$can.shv = list() - qpatch$gnd.shv = list() - qpatch$can.vpd = list() - qpatch$can.co2 = list() - qpatch$can.prss = list() - qpatch$cflxca = list() - qpatch$cflxst = list() - qpatch$nee = list() - qpatch$hflxca = list() - qpatch$hflxgc = list() - qpatch$qwflxca = list() - qpatch$wflxca = list() - qpatch$wflxgc = list() - qpatch$ustar = list() - qpatch$albedo = list() - qpatch$rshortup = list() - qpatch$rlongup = list() - qpatch$parup = list() - qpatch$rshort.gnd = list() - qpatch$par.gnd = list() - qpatch$rnet = list() - qpatch$sm.stress = list() - qpatch$leaf.temp = list() - qpatch$leaf.water = list() - qpatch$leaf.vpd = list() - qpatch$wood.temp = list() - qpatch$par.leaf = list() - qpatch$par.leaf.beam = list() - qpatch$par.leaf.diff = list() - qpatch$leaf.gpp = list() - qpatch$leaf.gsw = list() - qpatch$leaf.par = list() - qpatch$leaf.par.beam = list() - qpatch$leaf.par.diff = list() - qpatch$assim.light = list() - qpatch$assim.rubp = list() - qpatch$assim.co2 = list() - qpatch$gpp = list() - qpatch$npp = list() - qpatch$plant.resp = list() - qpatch$reco = list() - qpatch$hflxlc = list() - qpatch$hflxwc = list() - qpatch$wflxlc = list() - qpatch$wflxwc = list() - qpatch$transp = list() - qpatch$soil.resp = list() - qpatch$rk4step = list() + qpatch = list() + qpatch$nep = list() + qpatch$het.resp = list() + qpatch$fgc.resp = list() + qpatch$fsc.resp = list() + qpatch$stgc.resp = list() + qpatch$stsc.resp = list() + qpatch$msc.resp = list() + qpatch$ssc.resp = list() + qpatch$psc.resp = list() + qpatch$can.temp = list() + qpatch$gnd.temp = list() + qpatch$can.shv = list() + qpatch$gnd.shv = list() + qpatch$can.vpd = list() + qpatch$can.co2 = list() + qpatch$can.prss = list() + qpatch$cflxca = list() + qpatch$cflxst = list() + qpatch$nee = list() + qpatch$hflxca = list() + qpatch$hflxgc = list() + qpatch$qwflxca = list() + qpatch$wflxca = list() + qpatch$wflxgc = list() + qpatch$ustar = list() + qpatch$albedo = list() + qpatch$rshortup = list() + qpatch$rlongup = list() + qpatch$parup = list() + qpatch$rshort.gnd = list() + qpatch$par.gnd = list() + qpatch$rnet = list() + qpatch$sm.stress = list() + qpatch$leaf.temp = list() + qpatch$leaf.water = list() + qpatch$leaf.water.im2 = list() + qpatch$leaf.vpd = list() + qpatch$wood.temp = list() + qpatch$par.leaf = list() + qpatch$par.leaf.beam = list() + qpatch$par.leaf.diff = list() + qpatch$leaf.gpp = list() + qpatch$leaf.gsw = list() + qpatch$leaf.par = list() + qpatch$leaf.par.beam = list() + qpatch$leaf.par.diff = list() + qpatch$assim.light = list() + qpatch$assim.rubp = list() + qpatch$assim.co2 = list() + qpatch$gpp = list() + qpatch$npp = list() + qpatch$plant.resp = list() + qpatch$reco = list() + qpatch$hflxlc = list() + qpatch$hflxwc = list() + qpatch$wflxlc = list() + qpatch$wflxwc = list() + qpatch$transp = list() + qpatch$soil.resp = list() + qpatch$rk4step = list() #---------------------------------------------------------------------------------------# @@ -1012,6 +1190,9 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ #----- Cohort level, we save as lists because the dimensions vary. ---------------------# cohort = list() + cohort$isi = list() + cohort$lsl = list() + cohort$ntext = list() cohort$ipa = list() cohort$ico = list() cohort$area = list() @@ -1086,6 +1267,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ cohort$dimort = list() cohort$ncbmort = list() cohort$hydmort = list() + cohort$fire.lethal = list() cohort$recruit = list() cohort$growth = list() cohort$agb.growth = list() @@ -1106,6 +1288,8 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ cohort$leaf.par.beam = list() cohort$leaf.par.diff = list() cohort$leaf.gpp = list() + cohort$dmin.leaf.psi = list() + cohort$dmax.leaf.psi = list() cohort$phap.lpar = list() cohort$leaf.rshort = list() cohort$leaf.rlong = list() @@ -1126,6 +1310,7 @@ create.monthly <<- function(ntimes,montha,yeara,inpref,slz.min){ ed$qmsqu = qmsqu ed$lu = lu ed$szpft = szpft + ed$site = site ed$patch = patch ed$cohort = cohort #---------------------------------------------------------------------------------------# @@ -1187,6 +1372,17 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$emean$crop.harvest [idx ] = old.datum$emean$crop.harvest [sel ] new.datum$emean$logging.harvest [idx ] = old.datum$emean$logging.harvest [sel ] new.datum$emean$combusted.fuel [idx ] = old.datum$emean$combusted.fuel [sel ] + new.datum$emean$fire.density [idx ] = old.datum$emean$fire.density [sel ] + new.datum$emean$fire.intensity [idx ] = old.datum$emean$fire.intensity [sel ] + new.datum$emean$fire.ignition [idx ] = old.datum$emean$fire.ignition [sel ] + new.datum$emean$fire.extinction [idx ] = old.datum$emean$fire.extinction [sel ] + new.datum$emean$fire.spread [idx ] = old.datum$emean$fire.spread [sel ] + new.datum$emean$fire.tlethal [idx ] = old.datum$emean$fire.tlethal [sel ] + new.datum$emean$fire.f.bherb [idx ] = old.datum$emean$fire.f.bherb [sel ] + new.datum$emean$fire.f.bwoody [idx ] = old.datum$emean$fire.f.bwoody [sel ] + new.datum$emean$fire.f.fgc [idx ] = old.datum$emean$fire.f.fgc [sel ] + new.datum$emean$fire.f.stgc [idx ] = old.datum$emean$fire.f.stgc [sel ] + new.datum$emean$burnt.area [idx ] = old.datum$emean$burnt.area [sel ] new.datum$emean$het.resp [idx ] = old.datum$emean$het.resp [sel ] new.datum$emean$fgc.resp [idx ] = old.datum$emean$fgc.resp [sel ] new.datum$emean$fsc.resp [idx ] = old.datum$emean$fsc.resp [sel ] @@ -1264,6 +1460,11 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$emean$can.co2 [idx ] = old.datum$emean$can.co2 [sel ] new.datum$emean$can.depth [idx ] = old.datum$emean$can.depth [sel ] new.datum$emean$can.area [idx ] = old.datum$emean$can.area [sel ] + new.datum$emean$sfcw.temp [idx ] = old.datum$emean$sfcw.temp [sel ] + new.datum$emean$sfcw.fliq [idx ] = old.datum$emean$sfcw.fliq [sel ] + new.datum$emean$sfcw.mass [idx ] = old.datum$emean$sfcw.mass [sel ] + new.datum$emean$sfcw.depth [idx ] = old.datum$emean$sfcw.depth [sel ] + new.datum$emean$sfcw.cover [idx ] = old.datum$emean$sfcw.cover [sel ] new.datum$emean$soil.temp.top [idx ] = old.datum$emean$soil.temp.top [sel ] new.datum$emean$soil.water.top [idx ] = old.datum$emean$soil.water.top [sel ] new.datum$emean$soil.water.bot [idx ] = old.datum$emean$soil.water.bot [sel ] @@ -1279,6 +1480,7 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$emean$last.2yr.ltemp [idx ] = old.datum$emean$last.2yr.ltemp [sel ] new.datum$emean$last.3yr.ltemp [idx ] = old.datum$emean$last.3yr.ltemp [sel ] new.datum$emean$leaf.water [idx ] = old.datum$emean$leaf.water [sel ] + new.datum$emean$leaf.water.im2 [idx ] = old.datum$emean$leaf.water.im2 [sel ] new.datum$emean$phap.lwater [idx ] = old.datum$emean$phap.lwater [sel ] new.datum$emean$last.1yr.lwater [idx ] = old.datum$emean$last.1yr.lwater [sel ] new.datum$emean$last.2yr.lwater [idx ] = old.datum$emean$last.2yr.lwater [sel ] @@ -1423,6 +1625,8 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$emean$leaf.par.beam [idx ] = old.datum$emean$leaf.par.beam [sel ] new.datum$emean$leaf.par.diff [idx ] = old.datum$emean$leaf.par.diff [sel ] new.datum$emean$leaf.gpp [idx ] = old.datum$emean$leaf.gpp [sel ] + new.datum$emean$dmin.leaf.psi [idx ] = old.datum$emean$dmin.leaf.psi [sel ] + new.datum$emean$dmax.leaf.psi [idx ] = old.datum$emean$dmax.leaf.psi [sel ] new.datum$emean$phap.lpar [idx ] = old.datum$emean$phap.lpar [sel ] new.datum$emean$last.1yr.lpar [idx ] = old.datum$emean$last.1yr.lpar [sel ] new.datum$emean$last.2yr.lpar [idx ] = old.datum$emean$last.2yr.lpar [sel ] @@ -1448,6 +1652,7 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$emean$last.1yr.hydmort [idx ] = old.datum$emean$last.1yr.hydmort [sel ] new.datum$emean$last.2yr.hydmort [idx ] = old.datum$emean$last.2yr.hydmort [sel ] new.datum$emean$last.3yr.hydmort [idx ] = old.datum$emean$last.3yr.hydmort [sel ] + new.datum$emean$fire.lethal [idx ] = old.datum$emean$fire.lethal [sel ] new.datum$emean$agb.change [idx ] = old.datum$emean$agb.change [sel ] new.datum$emean$acc.change [idx ] = old.datum$emean$acc.change [sel ] new.datum$emean$acc.growth [idx ] = old.datum$emean$acc.growth [sel ] @@ -1547,6 +1752,7 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$szpft$leaf.temp [idx,,] = old.datum$szpft$leaf.temp [sel,,] new.datum$szpft$phap.ltemp [idx,,] = old.datum$szpft$phap.ltemp [sel,,] new.datum$szpft$leaf.water [idx,,] = old.datum$szpft$leaf.water [sel,,] + new.datum$szpft$leaf.water.im2 [idx,,] = old.datum$szpft$leaf.water.im2 [sel,,] new.datum$szpft$phap.lwater [idx,,] = old.datum$szpft$phap.lwater [sel,,] new.datum$szpft$wood.temp [idx,,] = old.datum$szpft$wood.temp [sel,,] new.datum$szpft$leaf.vpd [idx,,] = old.datum$szpft$leaf.vpd [sel,,] @@ -1558,6 +1764,7 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$szpft$dimort [idx,,] = old.datum$szpft$dimort [sel,,] new.datum$szpft$ncbmort [idx,,] = old.datum$szpft$ncbmort [sel,,] new.datum$szpft$hydmort [idx,,] = old.datum$szpft$hydmort [sel,,] + new.datum$szpft$fire.lethal [idx,,] = old.datum$szpft$fire.lethal [sel,,] new.datum$szpft$growth [idx,,] = old.datum$szpft$growth [sel,,] new.datum$szpft$recr [idx,,] = old.datum$szpft$recr [sel,,] new.datum$szpft$change [idx,,] = old.datum$szpft$change [sel,,] @@ -1634,6 +1841,8 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$szpft$leaf.par.beam [idx,,] = old.datum$szpft$leaf.par.beam [sel,,] new.datum$szpft$leaf.par.diff [idx,,] = old.datum$szpft$leaf.par.diff [sel,,] new.datum$szpft$leaf.gpp [idx,,] = old.datum$szpft$leaf.gpp [sel,,] + new.datum$szpft$dmin.leaf.psi [idx,,] = old.datum$szpft$dmin.leaf.psi [sel,,] + new.datum$szpft$dmax.leaf.psi [idx,,] = old.datum$szpft$dmax.leaf.psi [sel,,] new.datum$szpft$phap.lpar [idx,,] = old.datum$szpft$phap.lpar [sel,,] new.datum$szpft$leaf.rshort [idx,,] = old.datum$szpft$leaf.rshort [sel,,] new.datum$szpft$leaf.rlong [idx,,] = old.datum$szpft$leaf.rlong [sel,,] @@ -1725,6 +1934,7 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$qmean$can.temp [idx,] = old.datum$qmean$can.temp [sel,] new.datum$qmean$leaf.temp [idx,] = old.datum$qmean$leaf.temp [sel,] new.datum$qmean$leaf.water [idx,] = old.datum$qmean$leaf.water [sel,] + new.datum$qmean$leaf.water.im2 [idx,] = old.datum$qmean$leaf.water.im2 [sel,] new.datum$qmean$wood.temp [idx,] = old.datum$qmean$wood.temp [sel,] new.datum$qmean$gnd.temp [idx,] = old.datum$qmean$gnd.temp [sel,] new.datum$qmean$atm.shv [idx,] = old.datum$qmean$atm.shv [sel,] @@ -1826,10 +2036,103 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ + #---------------------------------------------------------------------------------------# + # SITE -- Site-level variables. # + #---------------------------------------------------------------------------------------# + new.datum$site$isi [idx,] = old.datum$site$isi [sel,] + new.datum$site$lsl [idx,] = old.datum$site$lsl [sel,] + new.datum$site$ntext [idx,] = old.datum$site$ntext [sel,] + new.datum$site$area [idx,] = old.datum$site$area [sel,] + new.datum$site$fire.wmass.threshold[idx,] = old.datum$site$fire.wmass.threshold[sel,] + new.datum$site$fire.density [idx,] = old.datum$site$fire.density [sel,] + new.datum$site$fire.extinction [idx,] = old.datum$site$fire.extinction [sel,] + new.datum$site$fire.intensity [idx,] = old.datum$site$fire.intensity [sel,] + new.datum$site$fire.tlethal [idx,] = old.datum$site$fire.tlethal [sel,] + new.datum$site$fire.spread [idx,] = old.datum$site$fire.spread [sel,] + new.datum$site$burnt.area [idx,] = old.datum$site$burnt.area [sel,] + new.datum$site$ignition.rate [idx,] = old.datum$site$ignition.rate [sel,] + new.datum$site$fire.f.bherb [idx,] = old.datum$site$fire.f.bherb [sel,] + new.datum$site$fire.f.bwoody [idx,] = old.datum$site$fire.f.bwoody [sel,] + new.datum$site$fire.f.fgc [idx,] = old.datum$site$fire.f.fgc [sel,] + new.datum$site$fire.f.stgc [idx,] = old.datum$site$fire.f.stgc [sel,] + new.datum$site$lai [idx,] = old.datum$site$lai [sel,] + new.datum$site$wai [idx,] = old.datum$site$wai [sel,] + new.datum$site$tai [idx,] = old.datum$site$tai [sel,] + new.datum$site$agb [idx,] = old.datum$site$agb [sel,] + new.datum$site$ba [idx,] = old.datum$site$ba [sel,] + new.datum$site$nplant [idx,] = old.datum$site$nplant [sel,] + new.datum$site$fast.grnd.c [idx,] = old.datum$site$fast.grnd.c [sel,] + new.datum$site$fast.soil.c [idx,] = old.datum$site$fast.soil.c [sel,] + new.datum$site$struct.grnd.c [idx,] = old.datum$site$struct.grnd.c [sel,] + new.datum$site$struct.soil.c [idx,] = old.datum$site$struct.soil.c [sel,] + new.datum$site$microbe.soil.c [idx,] = old.datum$site$microbe.soil.c [sel,] + new.datum$site$slow.soil.c [idx,] = old.datum$site$slow.soil.c [sel,] + new.datum$site$passive.soil.c [idx,] = old.datum$site$passive.soil.c [sel,] + new.datum$site$nep [idx,] = old.datum$site$nep [sel,] + new.datum$site$het.resp [idx,] = old.datum$site$het.resp [sel,] + new.datum$site$soil.resp [idx,] = old.datum$site$soil.resp [sel,] + new.datum$site$cflxca [idx,] = old.datum$site$cflxca [sel,] + new.datum$site$cflxst [idx,] = old.datum$site$cflxst [sel,] + new.datum$site$nee [idx,] = old.datum$site$nee [sel,] + new.datum$site$hflxca [idx,] = old.datum$site$hflxca [sel,] + new.datum$site$hflxgc [idx,] = old.datum$site$hflxgc [sel,] + new.datum$site$qwflxca [idx,] = old.datum$site$qwflxca [sel,] + new.datum$site$wflxca [idx,] = old.datum$site$wflxca [sel,] + new.datum$site$wflxgc [idx,] = old.datum$site$wflxgc [sel,] + new.datum$site$ustar [idx,] = old.datum$site$ustar [sel,] + new.datum$site$rshortup [idx,] = old.datum$site$rshortup [sel,] + new.datum$site$rlongup [idx,] = old.datum$site$rlongup [sel,] + new.datum$site$parup [idx,] = old.datum$site$parup [sel,] + new.datum$site$rshort.gnd [idx,] = old.datum$site$rshort.gnd [sel,] + new.datum$site$par.gnd [idx,] = old.datum$site$par.gnd [sel,] + new.datum$site$rnet [idx,] = old.datum$site$rnet [sel,] + new.datum$site$wood.dens [idx,] = old.datum$site$wood.dens [sel,] + new.datum$site$vm0 [idx,] = old.datum$site$vm0 [sel,] + new.datum$site$llspan [idx,] = old.datum$site$llspan [sel,] + new.datum$site$sla [idx,] = old.datum$site$sla [sel,] + new.datum$site$can.depth [idx,] = old.datum$site$can.depth [sel,] + new.datum$site$can.area [idx,] = old.datum$site$can.area [sel,] + new.datum$site$veg.height [idx,] = old.datum$site$veg.height [sel,] + new.datum$site$sm.stress [idx,] = old.datum$site$sm.stress [sel,] + new.datum$site$leaf.temp [idx,] = old.datum$site$leaf.temp [sel,] + new.datum$site$leaf.water [idx,] = old.datum$site$leaf.water [sel,] + new.datum$site$leaf.water.im2 [idx,] = old.datum$site$leaf.water.im2 [sel,] + new.datum$site$leaf.vpd [idx,] = old.datum$site$leaf.vpd [sel,] + new.datum$site$leaf.gpp [idx,] = old.datum$site$leaf.gpp [sel,] + new.datum$site$dmin.leaf.psi [idx,] = old.datum$site$dmin.leaf.psi [sel,] + new.datum$site$dmax.leaf.psi [idx,] = old.datum$site$dmax.leaf.psi [sel,] + new.datum$site$leaf.gsw [idx,] = old.datum$site$leaf.gsw [sel,] + new.datum$site$leaf.par [idx,] = old.datum$site$leaf.par [sel,] + new.datum$site$leaf.par.beam [idx,] = old.datum$site$leaf.par.beam [sel,] + new.datum$site$leaf.par.diff [idx,] = old.datum$site$leaf.par.diff [sel,] + new.datum$site$gpp [idx,] = old.datum$site$gpp [sel,] + new.datum$site$npp [idx,] = old.datum$site$npp [sel,] + new.datum$site$plant.resp [idx,] = old.datum$site$plant.resp [sel,] + new.datum$site$cba [idx,] = old.datum$site$cba [sel,] + new.datum$site$reco [idx,] = old.datum$site$reco [sel,] + new.datum$site$hflxlc [idx,] = old.datum$site$hflxlc [sel,] + new.datum$site$hflxwc [idx,] = old.datum$site$hflxwc [sel,] + new.datum$site$wflxlc [idx,] = old.datum$site$wflxlc [sel,] + new.datum$site$wflxwc [idx,] = old.datum$site$wflxwc [sel,] + new.datum$site$transp [idx,] = old.datum$site$transp [sel,] + new.datum$site$gnd.temp [idx,] = old.datum$site$gnd.temp [sel,] + new.datum$site$gnd.shv [idx,] = old.datum$site$gnd.shv [sel,] + new.datum$site$soil.temp.top [idx,] = old.datum$site$soil.temp.top [sel,] + new.datum$site$soil.water.top [idx,] = old.datum$site$soil.water.top [sel,] + new.datum$site$soil.water.bot [idx,] = old.datum$site$soil.water.bot [sel,] + new.datum$site$soil.wetness.top [idx,] = old.datum$site$soil.wetness.top [sel,] + new.datum$site$soil.wetness.bot [idx,] = old.datum$site$soil.wetness.bot [sel,] + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# # PATCH -- patch level variables, we save as lists because the dimensions vary. # #---------------------------------------------------------------------------------------# + new.datum$patch$isi = old.datum$patch$isi + new.datum$patch$lsl = old.datum$patch$lsl + new.datum$patch$ntext = old.datum$patch$ntext new.datum$patch$ipa = old.datum$patch$ipa new.datum$patch$age = old.datum$patch$age new.datum$patch$area = old.datum$patch$area @@ -1881,12 +2184,18 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$patch$agb = old.datum$patch$agb new.datum$patch$ba = old.datum$patch$ba new.datum$patch$nplant = old.datum$patch$nplant + new.datum$patch$bleaf = old.datum$patch$bleaf new.datum$patch$wood.dens = old.datum$patch$wood.dens new.datum$patch$vm0 = old.datum$patch$vm0 new.datum$patch$llspan = old.datum$patch$llspan new.datum$patch$sla = old.datum$patch$sla new.datum$patch$can.depth = old.datum$patch$can.depth new.datum$patch$can.area = old.datum$patch$can.area + new.datum$patch$sfcw.temp = old.datum$patch$sfcw.temp + new.datum$patch$sfcw.fliq = old.datum$patch$sfcw.fliq + new.datum$patch$sfcw.mass = old.datum$patch$sfcw.mass + new.datum$patch$sfcw.depth = old.datum$patch$sfcw.depth + new.datum$patch$sfcw.cover = old.datum$patch$sfcw.cover new.datum$patch$veg.height = old.datum$patch$veg.height new.datum$patch$veg.displace = old.datum$patch$veg.displace new.datum$patch$veg.rough = old.datum$patch$veg.rough @@ -1901,8 +2210,11 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$patch$sm.stress = old.datum$patch$sm.stress new.datum$patch$leaf.temp = old.datum$patch$leaf.temp new.datum$patch$leaf.water = old.datum$patch$leaf.water + new.datum$patch$leaf.water.im2 = old.datum$patch$leaf.water.im2 new.datum$patch$leaf.vpd = old.datum$patch$leaf.vpd new.datum$patch$leaf.gpp = old.datum$patch$leaf.gpp + new.datum$patch$dmin.leaf.psi = old.datum$patch$dmin.leaf.psi + new.datum$patch$dmax.leaf.psi = old.datum$patch$dmax.leaf.psi new.datum$patch$leaf.gsw = old.datum$patch$leaf.gsw new.datum$patch$leaf.par = old.datum$patch$leaf.par new.datum$patch$leaf.par.beam = old.datum$patch$leaf.par.beam @@ -1936,6 +2248,31 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$patch$soil.water = old.datum$patch$soil.water new.datum$patch$soil.mstpot = old.datum$patch$soil.mstpot new.datum$patch$rk4step = old.datum$patch$rk4step + new.datum$patch$growth = old.datum$patch$growth + new.datum$patch$agb.growth = old.datum$patch$agb.growth + new.datum$patch$acc.growth = old.datum$patch$acc.growth + new.datum$patch$bsa.growth = old.datum$patch$bsa.growth + new.datum$patch$mort = old.datum$patch$mort + new.datum$patch$ncbmort = old.datum$patch$ncbmort + new.datum$patch$hydmort = old.datum$patch$hydmort + new.datum$patch$dimort = old.datum$patch$dimort + new.datum$patch$fire.lethal = old.datum$patch$fire.lethal + new.datum$patch$agb.mort = old.datum$patch$agb.mort + new.datum$patch$agb.ncbmort = old.datum$patch$agb.ncbmort + new.datum$patch$agb.hydmort = old.datum$patch$agb.hydmort + new.datum$patch$agb.dimort = old.datum$patch$agb.dimort + new.datum$patch$acc.mort = old.datum$patch$acc.mort + new.datum$patch$acc.ncbmort = old.datum$patch$acc.ncbmort + new.datum$patch$acc.hydmort = old.datum$patch$acc.hydmort + new.datum$patch$acc.dimort = old.datum$patch$acc.dimort + new.datum$patch$bsa.mort = old.datum$patch$bsa.mort + new.datum$patch$bsa.ncbmort = old.datum$patch$bsa.ncbmort + new.datum$patch$bsa.hydmort = old.datum$patch$bsa.hydmort + new.datum$patch$bsa.dimort = old.datum$patch$bsa.dimort + new.datum$patch$recr = old.datum$patch$recr + new.datum$patch$agb.recr = old.datum$patch$agb.recr + new.datum$patch$acc.recr = old.datum$patch$acc.recr + new.datum$patch$bsa.recr = old.datum$patch$bsa.recr #---------------------------------------------------------------------------------------# @@ -1944,71 +2281,75 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ #---------------------------------------------------------------------------------------# # QPATCH -- patch level variables, we save as lists because the dimensions vary. # #---------------------------------------------------------------------------------------# - new.datum$qpatch$nep = old.datum$qpatch$nep - new.datum$qpatch$het.resp = old.datum$qpatch$het.resp - new.datum$qpatch$fgc.resp = new.datum$qpatch$fgc.resp - new.datum$qpatch$fsc.resp = new.datum$qpatch$fsc.resp - new.datum$qpatch$stgc.resp = new.datum$qpatch$stgc.resp - new.datum$qpatch$stsc.resp = new.datum$qpatch$stsc.resp - new.datum$qpatch$msc.resp = new.datum$qpatch$msc.resp - new.datum$qpatch$ssc.resp = new.datum$qpatch$ssc.resp - new.datum$qpatch$psc.resp = new.datum$qpatch$psc.resp - new.datum$qpatch$can.temp = old.datum$qpatch$can.temp - new.datum$qpatch$gnd.temp = old.datum$qpatch$gnd.temp - new.datum$qpatch$can.shv = old.datum$qpatch$can.shv - new.datum$qpatch$gnd.shv = old.datum$qpatch$gnd.shv - new.datum$qpatch$can.vpd = old.datum$qpatch$can.vpd - new.datum$qpatch$can.co2 = old.datum$qpatch$can.co2 - new.datum$qpatch$can.prss = old.datum$qpatch$can.prss - new.datum$qpatch$cflxca = old.datum$qpatch$cflxca - new.datum$qpatch$cflxst = old.datum$qpatch$cflxst - new.datum$qpatch$nee = old.datum$qpatch$nee - new.datum$qpatch$hflxca = old.datum$qpatch$hflxca - new.datum$qpatch$hflxgc = old.datum$qpatch$hflxgc - new.datum$qpatch$qwflxca = old.datum$qpatch$qwflxca - new.datum$qpatch$wflxca = old.datum$qpatch$wflxca - new.datum$qpatch$wflxgc = old.datum$qpatch$wflxgc - new.datum$qpatch$ustar = old.datum$qpatch$ustar - new.datum$qpatch$albedo = old.datum$qpatch$albedo - new.datum$qpatch$rshortup = old.datum$qpatch$rshortup - new.datum$qpatch$rlongup = old.datum$qpatch$rlongup - new.datum$qpatch$parup = old.datum$qpatch$parup - new.datum$qpatch$rshort.gnd = old.datum$qpatch$rshort.gnd - new.datum$qpatch$par.gnd = old.datum$qpatch$par.gnd - new.datum$qpatch$rnet = old.datum$qpatch$rnet - new.datum$qpatch$sm.stress = old.datum$qpatch$sm.stress - new.datum$qpatch$leaf.temp = old.datum$qpatch$leaf.temp - new.datum$qpatch$leaf.water = old.datum$qpatch$leaf.water - new.datum$qpatch$leaf.vpd = old.datum$qpatch$leaf.vpd - new.datum$qpatch$wood.temp = old.datum$qpatch$wood.temp - new.datum$qpatch$par.leaf = old.datum$qpatch$par.leaf - new.datum$qpatch$par.leaf.beam = old.datum$qpatch$par.leaf.beam - new.datum$qpatch$par.leaf.diff = old.datum$qpatch$par.leaf.diff - new.datum$qpatch$leaf.gpp = old.datum$qpatch$leaf.gpp - new.datum$qpatch$leaf.gsw = old.datum$qpatch$leaf.gsw - new.datum$qpatch$leaf.par = old.datum$qpatch$leaf.par - new.datum$qpatch$leaf.par.beam = old.datum$qpatch$leaf.par.beam - new.datum$qpatch$leaf.par.diff = old.datum$qpatch$leaf.par.diff - new.datum$qpatch$assim.light = old.datum$qpatch$assim.light - new.datum$qpatch$assim.rubp = old.datum$qpatch$assim.rubp - new.datum$qpatch$assim.co2 = old.datum$qpatch$assim.co2 - new.datum$qpatch$gpp = old.datum$qpatch$gpp - new.datum$qpatch$npp = old.datum$qpatch$npp - new.datum$qpatch$plant.resp = old.datum$qpatch$plant.resp - new.datum$qpatch$reco = old.datum$qpatch$reco - new.datum$qpatch$hflxlc = old.datum$qpatch$hflxlc - new.datum$qpatch$hflxwc = old.datum$qpatch$hflxwc - new.datum$qpatch$wflxlc = old.datum$qpatch$wflxlc - new.datum$qpatch$wflxwc = old.datum$qpatch$wflxwc - new.datum$qpatch$transp = old.datum$qpatch$transp - new.datum$qpatch$soil.resp = old.datum$qpatch$soil.resp - new.datum$qpatch$rk4step = old.datum$qpatch$rk4step + new.datum$qpatch$nep = old.datum$qpatch$nep + new.datum$qpatch$het.resp = old.datum$qpatch$het.resp + new.datum$qpatch$fgc.resp = new.datum$qpatch$fgc.resp + new.datum$qpatch$fsc.resp = new.datum$qpatch$fsc.resp + new.datum$qpatch$stgc.resp = new.datum$qpatch$stgc.resp + new.datum$qpatch$stsc.resp = new.datum$qpatch$stsc.resp + new.datum$qpatch$msc.resp = new.datum$qpatch$msc.resp + new.datum$qpatch$ssc.resp = new.datum$qpatch$ssc.resp + new.datum$qpatch$psc.resp = new.datum$qpatch$psc.resp + new.datum$qpatch$can.temp = old.datum$qpatch$can.temp + new.datum$qpatch$gnd.temp = old.datum$qpatch$gnd.temp + new.datum$qpatch$can.shv = old.datum$qpatch$can.shv + new.datum$qpatch$gnd.shv = old.datum$qpatch$gnd.shv + new.datum$qpatch$can.vpd = old.datum$qpatch$can.vpd + new.datum$qpatch$can.co2 = old.datum$qpatch$can.co2 + new.datum$qpatch$can.prss = old.datum$qpatch$can.prss + new.datum$qpatch$cflxca = old.datum$qpatch$cflxca + new.datum$qpatch$cflxst = old.datum$qpatch$cflxst + new.datum$qpatch$nee = old.datum$qpatch$nee + new.datum$qpatch$hflxca = old.datum$qpatch$hflxca + new.datum$qpatch$hflxgc = old.datum$qpatch$hflxgc + new.datum$qpatch$qwflxca = old.datum$qpatch$qwflxca + new.datum$qpatch$wflxca = old.datum$qpatch$wflxca + new.datum$qpatch$wflxgc = old.datum$qpatch$wflxgc + new.datum$qpatch$ustar = old.datum$qpatch$ustar + new.datum$qpatch$albedo = old.datum$qpatch$albedo + new.datum$qpatch$rshortup = old.datum$qpatch$rshortup + new.datum$qpatch$rlongup = old.datum$qpatch$rlongup + new.datum$qpatch$parup = old.datum$qpatch$parup + new.datum$qpatch$rshort.gnd = old.datum$qpatch$rshort.gnd + new.datum$qpatch$par.gnd = old.datum$qpatch$par.gnd + new.datum$qpatch$rnet = old.datum$qpatch$rnet + new.datum$qpatch$sm.stress = old.datum$qpatch$sm.stress + new.datum$qpatch$leaf.temp = old.datum$qpatch$leaf.temp + new.datum$qpatch$leaf.water = old.datum$qpatch$leaf.water + new.datum$qpatch$leaf.water.im2 = old.datum$qpatch$leaf.water.im2 + new.datum$qpatch$leaf.vpd = old.datum$qpatch$leaf.vpd + new.datum$qpatch$wood.temp = old.datum$qpatch$wood.temp + new.datum$qpatch$par.leaf = old.datum$qpatch$par.leaf + new.datum$qpatch$par.leaf.beam = old.datum$qpatch$par.leaf.beam + new.datum$qpatch$par.leaf.diff = old.datum$qpatch$par.leaf.diff + new.datum$qpatch$leaf.gpp = old.datum$qpatch$leaf.gpp + new.datum$qpatch$leaf.gsw = old.datum$qpatch$leaf.gsw + new.datum$qpatch$leaf.par = old.datum$qpatch$leaf.par + new.datum$qpatch$leaf.par.beam = old.datum$qpatch$leaf.par.beam + new.datum$qpatch$leaf.par.diff = old.datum$qpatch$leaf.par.diff + new.datum$qpatch$assim.light = old.datum$qpatch$assim.light + new.datum$qpatch$assim.rubp = old.datum$qpatch$assim.rubp + new.datum$qpatch$assim.co2 = old.datum$qpatch$assim.co2 + new.datum$qpatch$gpp = old.datum$qpatch$gpp + new.datum$qpatch$npp = old.datum$qpatch$npp + new.datum$qpatch$plant.resp = old.datum$qpatch$plant.resp + new.datum$qpatch$reco = old.datum$qpatch$reco + new.datum$qpatch$hflxlc = old.datum$qpatch$hflxlc + new.datum$qpatch$hflxwc = old.datum$qpatch$hflxwc + new.datum$qpatch$wflxlc = old.datum$qpatch$wflxlc + new.datum$qpatch$wflxwc = old.datum$qpatch$wflxwc + new.datum$qpatch$transp = old.datum$qpatch$transp + new.datum$qpatch$soil.resp = old.datum$qpatch$soil.resp + new.datum$qpatch$rk4step = old.datum$qpatch$rk4step #---------------------------------------------------------------------------------------# #----- Cohort level, we save as lists because the dimensions vary. ---------------------# + new.datum$cohort$isi = old.datum$cohort$isi + new.datum$cohort$lsl = old.datum$cohort$lsl + new.datum$cohort$ntext = old.datum$cohort$ntext new.datum$cohort$ipa = old.datum$cohort$ipa new.datum$cohort$ico = old.datum$cohort$ico new.datum$cohort$area = old.datum$cohort$area @@ -2081,6 +2422,7 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$cohort$dimort = old.datum$cohort$dimort new.datum$cohort$ncbmort = old.datum$cohort$ncbmort new.datum$cohort$hydmort = old.datum$cohort$hydmort + new.datum$cohort$fire.lethal = old.datum$cohort$fire.lethal new.datum$cohort$recruit = old.datum$cohort$recruit new.datum$cohort$growth = old.datum$cohort$growth new.datum$cohort$agb.growth = old.datum$cohort$agb.growth @@ -2101,6 +2443,8 @@ update.monthly <<- function(new.ntimes,old.datum,montha,yeara,inpref,slz.min){ new.datum$cohort$leaf.par.beam = old.datum$cohort$leaf.par.beam new.datum$cohort$leaf.par.diff = old.datum$cohort$leaf.par.diff new.datum$cohort$leaf.gpp = old.datum$cohort$leaf.gpp + new.datum$cohort$dmin.leaf.psi = old.datum$cohort$dmin.leaf.psi + new.datum$cohort$dmax.leaf.psi = old.datum$cohort$dmax.leaf.psi new.datum$cohort$phap.lpar = old.datum$cohort$phap.lpar new.datum$cohort$leaf.rshort = old.datum$cohort$leaf.rshort new.datum$cohort$leaf.rlong = old.datum$cohort$leaf.rlong diff --git a/R-utils/nls.wgtfct.r b/R-utils/nls.wgtfct.r index 1236456ca..fbdbf21c7 100644 --- a/R-utils/nls.wgtfct.r +++ b/R-utils/nls.wgtfct.r @@ -126,7 +126,7 @@ nls.wgtfct <<- function(expr,nbrks=10){ #----- Append variable to the temporary environment. --------------------------------# - xysigma = ifelse(xysigma %>% 0 ,xysigma,NA) + xysigma = ifelse(xysigma %gt% 0 ,xysigma,NA) assign(x="xysigma",value=xysigma,envir=newEnv) #------------------------------------------------------------------------------------# }#end if (length(grep("xysigma", expr)) > 0) @@ -148,7 +148,7 @@ nls.wgtfct <<- function(expr,nbrks=10){ #----- Append variable to the temporary environment. --------------------------------# - yysigma = ifelse(yysigma %>% 0 ,yysigma,NA) + yysigma = ifelse(yysigma %gt% 0 ,yysigma,NA) assign(x="yysigma",value=yysigma,envir=newEnv) #------------------------------------------------------------------------------------# }#end if (length(grep("yysigma", expr)) > 0) @@ -207,7 +207,7 @@ nls.wgtfct <<- function(expr,nbrks=10){ #----- Append variable to the temporary environment. -----------------------------# - xrsigma = ifelse(xrsigma %>% 0 ,xrsigma,NA) + xrsigma = ifelse(xrsigma %gt% 0 ,xrsigma,NA) assign(x="xrsigma",value=xrsigma,envir=newEnv) #---------------------------------------------------------------------------------# }#end if (length(grep("xrsigma", expr)) > 0) @@ -229,7 +229,7 @@ nls.wgtfct <<- function(expr,nbrks=10){ #----- Append variable to the temporary environment. -----------------------------# - yrsigma = ifelse(yrsigma %>% 0 ,yrsigma,NA) + yrsigma = ifelse(yrsigma %gt% 0 ,yrsigma,NA) assign(x="yrsigma",value=yrsigma,envir=newEnv) #---------------------------------------------------------------------------------# }#end if (length(grep("yrsigma", expr)) > 0) @@ -243,7 +243,7 @@ nls.wgtfct <<- function(expr,nbrks=10){ # values or negative numbers, if they somehow exist, replace them by zero. # #---------------------------------------------------------------------------------------# ans = eval(expr=parse(text = expr), envir = newEnv) - ans = ifelse(ans %>% 0, ans, 0) + ans = ifelse(ans %gt% 0, ans, 0) ans = c(ans) names(ans) = NULL #---------------------------------------------------------------------------------------# diff --git a/R-utils/normalise.r b/R-utils/normalise.r index 6845f4cb3..3ae20ad41 100644 --- a/R-utils/normalise.r +++ b/R-utils/normalise.r @@ -19,7 +19,7 @@ normalise <<- function(x,mu,sigma,distr=c("best","normal","lognormal","skewnorma #----- Exclude missing points. ---------------------------------------------------------# xfit = x[is.finite(x)] nxfit = length(xfit) - lntry = all(xfit %>% 0) + lntry = all(xfit %gt% 0) #---------------------------------------------------------------------------------------# #---------------------------------------------------------------------------------------# diff --git a/R-utils/numutils.r b/R-utils/numutils.r index 8444e5dc1..3cd30589b 100644 --- a/R-utils/numutils.r +++ b/R-utils/numutils.r @@ -15,6 +15,41 @@ cbrt <<- function(x){ +#==========================================================================================# +#==========================================================================================# +# Function that finds the integer divisors of an integer and positive number. # +#------------------------------------------------------------------------------------------# +divisors <<- function(x){ + #---- Do not attempt to find divisors for non-integer quantities. ----------------------# + xint = as.integer(x) + #---------------------------------------------------------------------------------------# + + #---- Find the results for each value. -------------------------------------------------# + if (length(x) > 1L){ + ans = mapply( FUN = divisors, x = as.list(x)) + }else if( xint %eq% x){ + #--- Vector of potential divisors. We stop at half to speed up the code. ------------# + ans = seq_len(ceiling(abs(x)/2)) + ans = c(ans[ (x %% ans) %eq% 0L],x) + #------------------------------------------------------------------------------------# + }else{ + #---- Number is not integer, return nothing. ----------------------------------------# + ans = integer(length=0L) + #------------------------------------------------------------------------------------# + }#end if(length(x) > 1L) + #---------------------------------------------------------------------------------------# + + #---- Return results. ------------------------------------------------------------------# + return(ans) + #---------------------------------------------------------------------------------------# +}#end function divisors +#==========================================================================================# +#==========================================================================================# + + + + + #==========================================================================================# #==========================================================================================# # Functions that finds round of the log of the number. # @@ -34,7 +69,21 @@ round.log2 <<- function(x,...) 2^(round(log2(x),...)) # Base 10 exponential. # #------------------------------------------------------------------------------------------# exp10 <<- function(x,...) 10^x +#==========================================================================================# +#==========================================================================================# + + + + +#==========================================================================================# +#==========================================================================================# +# Negative log of negative numbers. # +#------------------------------------------------------------------------------------------# +neglog <<- function(x,...) -log(-x) +negexp <<- function(x,...) -exp(-x) +neglog10 <<- function(x,...) -log10(-x) +negexp10 <<- function(x,...) -10^(-x) #==========================================================================================# #==========================================================================================# @@ -54,11 +103,11 @@ bound <<- function(x,lwr=min(x,na.rm=TRUE),upr=max(x,na.rm=TRUE),buff=2^-23){ #---------------------------------------------------------------------------------------# # Don't let the bounds to be insane. # #---------------------------------------------------------------------------------------# - if (lwr %>% upr){ + if (lwr %gt% upr){ cat0(" - Lower limit: ",lwr) cat0(" - Upper limit: ",upr) stop(" Lower and upper limit must be finite and lower cannot be greater than upper.") - }#end if (lwr %>% upr) + }#end if (lwr %gt% upr) #---------------------------------------------------------------------------------------# @@ -68,7 +117,7 @@ bound <<- function(x,lwr=min(x,na.rm=TRUE),upr=max(x,na.rm=TRUE),buff=2^-23){ if (! (buff %wr% c(0,1-2^-23))){ cat0(" - buff: ",buff) stop(" Buffer must be between 0 (including) and 1 (excluding).") - }#end if (lwr %>% upr) + }#end if (! (buff %wr% c(0,1-2^-23))) #---------------------------------------------------------------------------------------# @@ -271,7 +320,7 @@ weighted.frac <<- function(x,w,na.rm=TRUE){ names(ans) = names(x) return(ans) #------------------------------------------------------------------------------------# - }else if (all(w %==% 0.)){ + }else if (all(w %eq% 0.)){ #----- Give equal chances in case all weights were zero. ----------------------------# w = rep(x=1.,times=nrow(x)) #------------------------------------------------------------------------------------# @@ -305,9 +354,9 @@ weighted.frac <<- function(x,w,na.rm=TRUE){ weighted.quantile <<- function(x,w,qu=0.50,size.minp=10,na.rm=FALSE,out.case=FALSE){ #----- Delete the missing values if the user asked to do it. ---------------------------# - if (any(w <= 0, na.rm = TRUE) || any(is.infinite(w)) || any(is.na(w))){ + if (any(w %le% 0, na.rm = TRUE) || any(is.infinite(w)) || any(is.na(w))){ stop(" Weights (w) must be positive and finite, and entirely defined!") - }else if(qu < 0. || qu > 1.){ + }else if(qu %or% c(0,1.)){ stop(" Quantile (qu) must be between 0 and 1. ") }else if(na.rm){ keep = ! is.na(x) @@ -318,6 +367,14 @@ weighted.quantile <<- function(x,w,qu=0.50,size.minp=10,na.rm=FALSE,out.case=FAL + #---------------------------------------------------------------------------------------# + # If nothing remains, return NA. # + #---------------------------------------------------------------------------------------# + if (length(x) == 0) return(NA_real_) + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# # Define the probabilities by normalising the weights. # #---------------------------------------------------------------------------------------# @@ -341,18 +398,18 @@ weighted.quantile <<- function(x,w,qu=0.50,size.minp=10,na.rm=FALSE,out.case=FAL #---------------------------------------------------------------------------------------# # Sort the values by the probability. # #---------------------------------------------------------------------------------------# - if (qu <= cum[1]){ + if (qu %le% cum[1]){ qout = x[1] case = "minimum" - }else if (qu >= cum[length(cum)]){ + }else if (qu %ge% cum[length(cum)]){ qout = x[length(cum)] case = "maximum" - }else if (any(cum == qu)){ - qout = x[which(cum == qu)] + }else if (any(cum %eq% qu)){ + qout = x[which(cum %eq% qu)] case = "exact" }else{ - below = qu - cum ; below[below < 0] = Inf - above = cum - qu ; above[above < 0] = Inf + below = qu - cum ; below[below %lt% 0] = Inf + above = cum - qu ; above[above %lt% 0] = Inf i.below = which.min(below) i.above = which.min(above) w.below = 1. / (below[i.below]^2) @@ -404,7 +461,7 @@ weighted.sd <<- function(x,w,M=NULL,na.rm=FALSE){ #---------------------------------------------------------------------------------------# # Check whether at least one weight is non-zero. # #---------------------------------------------------------------------------------------# - if (all(w %==% 0)){ + if (all(w %eq% 0)){ ans = NA }else{ xwm = weighted.mean(x=x,w=w) @@ -735,7 +792,7 @@ meansdcv <<- function (x, na.rm = FALSE){ nx = length(xx) mu = mean(xx) sigma = sd(xx) - cvar = ifelse(sigma %>% 0,mu/sigma,NA) + cvar = ifelse(sigma %gt% 0,mu/sigma,NA) ans = c( mean = mu , sd = sigma @@ -1086,7 +1143,7 @@ mean.se <<- function(x,...) sqrt(x = mean(x=x^2,...) / length(x[is.fini #==========================================================================================# # Mean of elements that are finite and above minimum. # #------------------------------------------------------------------------------------------# -mean.above <<- function(x,xlwr,xnot=xlwr) if(any(x%>=%xlwr)){mean(x[x%>=%xlwr])}else{xnot} +mean.above <<- function(x,xlwr,xnot=xlwr) if(any(x%ge%xlwr)){mean(x[x%ge%xlwr])}else{xnot} #==========================================================================================# #==========================================================================================# @@ -1646,6 +1703,32 @@ left.cumprod <<- function(x) c(0,cumprod(x)[-length(x)]) +#==========================================================================================# +#==========================================================================================# +# These functions are similar to cumsum, except that they ignore values above or below # +# a certain threshold (source: (https://stackoverflow.com/questions/63636052/ # +# calculate-cumulative-sum-cumsum-floored-at-zero). # +#------------------------------------------------------------------------------------------# +#----- cumulative sum floored at thresh. --------------------------------------------------# +floor.cumsum <<- function(x,thresh=0){ + cs = cumsum(x) + cn = cummin(cs) + ans = cs - pmin(cn,thresh) + return(ans) +}#end floor.cumsum +#----- cumulative sum capped at thresh. ---------------------------------------------------# +ceiling.cumsum <<- function(x,thresh=0){ + cs = cumsum(x) + cx = cummax(cs) + ans = cs - pmax(cx,thresh) + return(ans) +}#end ceiling.cumsum +#==========================================================================================# +#==========================================================================================# + + + + #==========================================================================================# #==========================================================================================# # This function calculates cumulative sum for data with gaps. It will treat NA as # @@ -1742,7 +1825,7 @@ thresh.cumsum <<- function(x,xthresh,thmax=TRUE,na.rm=FALSE){ #---------------------------------------------------------------------------------------# if (all(! (is.na(x) | is.nan(x)))){ #------------------------------------------------------------------------------------# - # Decide what to do based on whether to limit maximum (thmax=TRUE) or maximum # + # Decide what to do based on whether to limit maximum (thmax=TRUE) or minimum # # (thmax=FALSE) values. I couldn't think of a vector way to solve this, so for now # # I am using for loops. # #------------------------------------------------------------------------------------# @@ -1755,9 +1838,9 @@ thresh.cumsum <<- function(x,xthresh,thmax=TRUE,na.rm=FALSE){ #---------------------------------------------------------------------------------# }else{ #----- Threshold is the maximum allowed value. -----------------------------------# - ans[1] = max(c(thresh,x[1])) + ans[1] = max(c(xthresh,x[1])) for (i in sequence(nx)[-1]){ - ans[i] = max(thresh,ans[i-1]+x[i]) + ans[i] = max(xthresh,ans[i-1]+x[i]) }#end for (i in sequence(nx)[-1]) #---------------------------------------------------------------------------------# }#end if (thmax) @@ -1792,7 +1875,7 @@ thresh.cumsum <<- function(x,xthresh,thmax=TRUE,na.rm=FALSE){ #------------------------------------------------------------------------------------------# aggr.fmin <<- function(x,fun=mean,fmin=0.5,...){ #----- Check that fmin makes sense. ----------------------------------------------------# - if (! (fmin %>=% 0.0 & fmin %<=% 1.0)){ + if (! (fmin %ge% 0.0 & fmin %le% 1.0)){ stop (paste0("fmin must be between 0 and 1! Yours is set to ",fmin,"...")) }#end if #---------------------------------------------------------------------------------------# @@ -1815,8 +1898,8 @@ aggr.fmin <<- function(x,fun=mean,fmin=0.5,...){ #----- Use only valid points. -------------------------------------------------------# xuse = x[is.finite(x)] ans = fun(xuse,...) - discard = ! is.finite(ans) - ans[discard] = NA + is.bad = ! is.finite(ans) + ans[is.bad] = NA #------------------------------------------------------------------------------------# }else if (nkeep >= 1){ #----- Use only valid points. -------------------------------------------------------# @@ -1860,7 +1943,7 @@ aggr.fmin <<- function(x,fun=mean,fmin=0.5,...){ #------------------------------------------------------------------------------------------# aggr.se <<- function(x,fmin=0.5,...){ #----- Check that fmin makes sense. ----------------------------------------------------# - if (! (fmin %>=% 0.0 & fmin %<=% 1.0)){ + if (! (fmin %ge% 0.0 & fmin %le% 1.0)){ stop (paste0("fmin must be between 0 and 1! Yours is set to ",fmin,"...")) }#end if #---------------------------------------------------------------------------------------# @@ -1879,8 +1962,8 @@ aggr.se <<- function(x,fmin=0.5,...){ xuse = x[is.finite(x)] nuse = length(xuse) ans = sqrt(mean(xuse^2)/nuse) - discard = ! is.finite(ans) - ans[discard] = NA + is.bad = ! is.finite(ans) + ans[is.bad] = NA #------------------------------------------------------------------------------------# }else{ #----- Return NA. -------------------------------------------------------------------# @@ -1912,18 +1995,44 @@ max.abs.diff <<- function(x,y,na.rm=TRUE) max(abs(x-y),na.rm=na.rm) #==========================================================================================# #==========================================================================================# -# This function counts the number of valid entries. # +# This function checks whether or not the values are valid. # #------------------------------------------------------------------------------------------# -count.valid <<- function(x,qq.rm=FALSE){ +is.valid <<- function(x,qq.rm=FALSE){ type.x = typeof(x) if (type.x %in% "logical"){ - ans = sum(! is.na(x)) + ans = ! is.na(x) }else if (type.x %in% "character"){ - ans = sum(! ( is.na(x) | ((x %in% "") & qq.rm))) + ans = ! ( is.na(x) | ((x %in% "") & qq.rm)) }else{ - ans = sum(is.finite(x)) + ans = ! is.finite(x) }#end if (type.x %in% c("logical","character")) return(ans) -}#end count.finite +}#end is.finite +#==========================================================================================# +#==========================================================================================# + + + + + +#==========================================================================================# +#==========================================================================================# +# This function counts the number of valid entries. # +#------------------------------------------------------------------------------------------# +count.valid <<- function(x,qq.rm=FALSE) sum(is.valid(x,qq.rm=qq.rm)) +#==========================================================================================# +#==========================================================================================# + + + + + +#==========================================================================================# +#==========================================================================================# +# Error function and complementary error function. These are borrowed from package # +# pracma, use locally defined to avoid conflicts with many other functions. # +#------------------------------------------------------------------------------------------# +errfun <<- function(x){ pchisq(2 * x^2,1) * sign(x)} +errfunc <<- function(x){ 2. * pnorm(-sqrt(2.)*x)} #==========================================================================================# #==========================================================================================# diff --git a/R-utils/operators.r b/R-utils/operators.r index ea5278d88..cc92a5aa0 100644 --- a/R-utils/operators.r +++ b/R-utils/operators.r @@ -5,7 +5,7 @@ #----- Safe logical operators. These will always return FALSE if x or y are not finite. --# -'%==%' <<- function(x,y){ +'%eq%' <<- function(x,y){ if (any(c(FALSE,is.numeric(x) & is.numeric(y)),na.rm=TRUE)){ ans = is.finite(unlist(x)) & is.finite(unlist(y)) & x == y }else{ @@ -13,7 +13,7 @@ }#end if return(ans) }#end function -'%!=%' <<- function(x,y){ +'%ne%' <<- function(x,y){ if (any(c(FALSE,is.numeric(x) & is.numeric(y)),na.rm=TRUE)){ ans = is.finite(unlist(x)) & is.finite(unlist(y)) & x != y }else{ @@ -21,10 +21,10 @@ }#end if return(ans) }#end function -'%>%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x > y -'%<%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x < y -'%>=%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x >= y -'%<=%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x <= y +'%gt%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x > y +'%lt%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x < y +'%ge%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x >= y +'%le%' <<- function(x,y) is.finite(unlist(x)) & is.finite(unlist(y)) & x <= y #------------------------------------------------------------------------------------------# diff --git a/R-utils/optim.lsq.htscd.r b/R-utils/optim.lsq.htscd.r index 3f3eccdb3..e15b51aaf 100644 --- a/R-utils/optim.lsq.htscd.r +++ b/R-utils/optim.lsq.htscd.r @@ -619,7 +619,7 @@ optim.lsq.htscd <<- function( lsq.formula #---------------------------------------------------------------------------------# # Accept step only if it converged. # #---------------------------------------------------------------------------------# - success = opt.1st$convergence %==% 0 + success = opt.1st$convergence %eq% 0 #---------------------------------------------------------------------------------# }#end if ("try-error" %in% is(opt.1st)) #------------------------------------------------------------------------------------# @@ -734,7 +734,7 @@ optim.lsq.htscd <<- function( lsq.formula # solution, as the likelihood is a product of probabilities, which should be less # # than 1, hence the negative requirement. # #---------------------------------------------------------------------------------# - success = opt.hess$convergence %==% 0 + success = opt.hess$convergence %eq% 0 #---------------------------------------------------------------------------------# }#end if ("try-error" %in% is(opt.hess)) #------------------------------------------------------------------------------------# @@ -949,7 +949,7 @@ optim.lsq.htscd <<- function( lsq.formula # bogus solution, as the likelihood is a product of probabilities, which # # should be less than 1, hence the negative requirement. # #------------------------------------------------------------------------------# - success = opt.boot$convergence %==% 0 + success = opt.boot$convergence %eq% 0 nsteps.now = opt.boot$counts["function"] #------------------------------------------------------------------------------# }#end if @@ -1092,7 +1092,7 @@ optim.lsq.htscd <<- function( lsq.formula # bogus solution, as the likelihood is a product of probabilities, which # # should be less than 1, hence the negative requirement. # #------------------------------------------------------------------------------# - success = opt.sxobs$convergence %==% 0 + success = opt.sxobs$convergence %eq% 0 nsteps.now = opt.sxobs$counts["function"] #------------------------------------------------------------------------------# }#end if @@ -1232,7 +1232,7 @@ optim.lsq.htscd <<- function( lsq.formula # bogus solution, as the likelihood is a product of probabilities, which # # should be less than 1, hence the negative requirement. # #------------------------------------------------------------------------------# - success = opt.syobs$convergence %==% 0 + success = opt.syobs$convergence %eq% 0 nsteps.now = opt.syobs$counts["function"] #------------------------------------------------------------------------------# }#end if @@ -2389,7 +2389,7 @@ print.lsq.htscd <<- function(object){ coeff.table[,1] = sprintf("%g",signif(coeff.table[,1],5)) coeff.table[,2] = sprintf("%g",signif(coeff.table[,2],5)) coeff.table[,3] = sprintf("%g",signif(coeff.table[,3],4)) - coeff.table[,4] = ifelse( p.value %<% 1.e-16,"< 1e-16",sprintf("%g",signif(p.value,3))) + coeff.table[,4] = ifelse( p.value %lt% 1.e-16,"< 1e-16",sprintf("%g",signif(p.value,3))) #----- Append the significance test. ---------------------------------------------------# sig.brks = c(-Inf,0.001,0.01,0.05,0.1,Inf) diff --git a/R-utils/optim.size.pft.bio.r b/R-utils/optim.size.pft.bio.r index 5c1865bb9..4a2d4b889 100644 --- a/R-utils/optim.size.pft.bio.r +++ b/R-utils/optim.size.pft.bio.r @@ -3,70 +3,209 @@ # This function finds the relative error of both the size structure and the basal # # area by species. # #------------------------------------------------------------------------------------------# -optim.size.pft.bio <<- function( logdbh.minus.min # Log of DBH above minimum - , obs.dbh.cnt # Frequency of each DBH class (dbh.bks) - , dbh.bks # DBH breaks for size evaluation - , dbh.table # DBH table by species - , census # Table with the full census - , datum # Table with the sought properties - , pft.var = "pft" # Variable to determine the PFT - , dbh.min = 10. # Minimum DBH - , tiny.off = 1.e-20 # Tiny offset +optim.size.pft.bio <<- function( logdbh.minus.min # Log of DBH above minimum + , obs.dbh.cnt # Frequency of each DBH class + # (dbh.cnt.bks) + , dbh.cnt.bks # DBH breaks for size + # evaluation + , dbh.table.obs # DBH table by species + , dbh.table.bks = dbh.cnt.bks # DBH breaks by species + , dbh.max = NULL # Maximum DBH by species + , bsa.summ = NULL # Basal area summary + , dbh.bsa.bks = dbh.cnt.bks # DBH breaks for basal area + , cnt.log = TRUE # Use log for count? + , bsa.log = FALSE # Use log for basal area? + , survey.area # Total surveyed area (m2) + , census # Table with the full census + , datum # Table with the sought + # properties + , pft.var = "pft" # Variable to determine the PFT + , dbh.min = 10. # Minimum DBH + , tiny.off = 1.e-7 # Tiny offset ){ #----- Revert back to DBH. -------------------------------------------------------------# dbh.now = dbh.min + exp(logdbh.minus.min) - pft.now = rownames(dbh.table) + pft.now = rownames(dbh.table.obs) #---------------------------------------------------------------------------------------# #----- Find the error due to size distribution. ----------------------------------------# - dbh.cut = cut(dbh.now,dbh.bks) - dbh.cnt = tiny.off + table(dbh.cut) - if (tiny.off == 0){ - rmse.size = ( sum((dbh.cnt/sum(dbh.cnt)-obs.dbh.cnt/sum(obs.dbh.cnt))^2) - / length(obs.dbh.cnt) ) + mod.dbh.cut = cut(dbh.now,dbh.cnt.bks) + mod.dbh.cnt = table(mod.dbh.cut) + obs.dbh.tot = sum(obs.dbh.cnt) + mod.dbh.cnt = mod.dbh.cnt / obs.dbh.tot + obs.dbh.cnt = obs.dbh.cnt / obs.dbh.tot + if (cnt.log){ + ln.obs.dbh.cnt = log(tiny.off + obs.dbh.cnt) + ln.mod.dbh.cnt = log(tiny.off + mod.dbh.cnt) + mse.size = ( sum( ( ln.obs.dbh.cnt - ln.mod.dbh.cnt )^2 ) + / length(ln.obs.dbh.cnt) ) }else{ - rmse.size = sum((log(dbh.cnt)-log(obs.dbh.cnt))^2) / length(obs.dbh.cnt) + mse.size = sum( ( mod.dbh.cnt - obs.dbh.cnt)^2 ) / length(obs.dbh.cnt) }#end if + wgt.size = length(mse.size) #---------------------------------------------------------------------------------------# + #----- Find the error due to size distribution. ----------------------------------------# - dbh.cut = cut(dbh.now,dbh.bks) - dbh.mod = tiny.off + table(census[[pft.var]],dbh.cut) - dbh.cnt = array(0,dim=dim(dbh.table),dimnames=dimnames(dbh.table)) - maponto = match(rownames(dbh.mod),rownames(dbh.cnt)) - dbh.cnt[maponto,] = dbh.mod - - use = ! is.na(dbh.table) - dbh.cnt = tiny.off + c(dbh.cnt [use]) - dbh.obs = tiny.off + c(dbh.table[use]) - - if (tiny.off == 0){ - rmse.class = ( sum((dbh.cnt/sum(dbh.cnt)-dbh.obs/sum(dbh.obs))^2) - / length(dbh.obs) ) + if (is.list(dbh.table.bks)){ + #----- Get dbh thresholds for each species. -----------------------------------------# + o = order(names(dbh.table.bks)) + dbh.table.cut = dbh.table.bks[o] + #------------------------------------------------------------------------------------# + + + #----- Get size count using species-specific thresholds. ----------------------------# + dbh.list = split(x=dbh.now,f=census[[pft.var]]) + dbh.table.tmp = t( mapply( FUN = function(dbh,dcut){ + dbh.cut = cut(dbh,dcut) + dbh.tbl = table(dbh.cut) + idx = match(names(dbh.tbl),levels(dbh.cut)) + ans = rep(0L,times=nlevels(dbh.cut)) + ans[idx] = dbh.tbl + return(ans) + }#end function + , dbh = dbh.list + , dcut = dbh.table.cut + )#end mapply + )#end t + #------------------------------------------------------------------------------------# + }else{ + #---- Get size count using global thresholds. ---------------------------------------# + dbh.table.cut = cut(dbh.now,dbh.table.bks) + dbh.table.tmp = table(census[[pft.var]],dbh.table.cut) + #------------------------------------------------------------------------------------# + }#end if (is.null(dbh.table.bks)) + #---------------------------------------------------------------------------------------# + + + + #----- Align results so it matches the reference table. --------------------------------# + dbh.table.mod = array( data = 0 + , dim = dim(dbh.table.obs) + , dimnames = dimnames(dbh.table.obs) + )#end array + idx = match(rownames(dbh.table.tmp),rownames(dbh.table.mod)) + dbh.table.mod[idx,] = dbh.table.tmp + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Check for valid data, as sometimes PFT-specific distribution exists for a few # + # species only. Then normalise data for both observations and estimates # + #---------------------------------------------------------------------------------------# + dbh.table.use = ! is.na(dbh.table.obs) + dbh.table.tot = sum(dbh.table.obs[dbh.table.use]) + dbh.table.obs = dbh.table.obs[dbh.table.use] / dbh.table.tot + dbh.table.mod = dbh.table.mod[dbh.table.use] / dbh.table.tot + #---------------------------------------------------------------------------------------# + + if (cnt.log){ + ln.dbh.table.mod = log(tiny.off + dbh.table.mod) + ln.dbh.table.obs = log(tiny.off + dbh.table.obs) + mse.class = ( sum( ( ln.dbh.table.mod - ln.dbh.table.obs)^2 ) + / length(dbh.table.obs) ) }else{ - rmse.class = sum((log(dbh.cnt)-log(dbh.obs))^2) / length(dbh.obs) + mse.class = sum( (dbh.table.mod - dbh.table.obs)^2 ) / length(dbh.table.obs) }#end if + wgt.class = length(mse.class) #---------------------------------------------------------------------------------------# - #----- Find the error due to basal area by PFT. ----------------------------------------# - bsa.now = 0.25 * pi * dbh.now^2 - bsa.pft = tapply(X=bsa.now,INDEX=census[[pft.var]],FUN=sum,na.rm=TRUE) - idx = match(datum[[pft.var]],names(bsa.pft)) - rmse.bsa = sum((log(datum$bsa) - log(bsa.pft[idx]))^2) / length(datum$bsa) #---------------------------------------------------------------------------------------# + # Not every survey provides the basal area by species. In case it is missing, make a # + # dummy error and dummy length. # + #---------------------------------------------------------------------------------------# + if ("bsa" %in% names(datum)){ + + + #----- Find modelled basal area by PFT. ---------------------------------------------# + bsa.now = pio4 * dbh.now^2 / survey.area + bsa.pft.obs = datum$bsa + names(bsa.pft.obs) = datum[[pft.var]] + bsa.pft.mod = tapply(X=bsa.now,INDEX=census[[pft.var]],FUN=sum,na.rm=TRUE) + idx = match(names(bsa.pft.obs),names(bsa.pft.mod)) + bsa.pft.mod = bsa.pft.mod[idx] + #------------------------------------------------------------------------------------# + - rmse = sqrt( ( length(rmse.size ) * rmse.size^2 - + length(rmse.bsa ) * rmse.bsa^2 - + length(rmse.class) * rmse.class^2 ) - / ( length(rmse.size) + length(rmse.bsa) + length(rmse.class) ) ) + #----- Normalise basal area, taking observed total as the reference. ----------------# + bsa.pft.tot = sum(bsa.pft.obs) + bsa.pft.obs = bsa.pft.obs / bsa.pft.tot + bsa.pft.mod = bsa.pft.mod / bsa.pft.mod + #------------------------------------------------------------------------------------# + + + #----- Calculate error. -------------------------------------------------------------# + if (bsa.log){ + ln.bsa.pft.obs = log(tiny.off + bsa.pft.obs) + ln.bsa.pft.mod = log(tiny.off + bsa.pft.mod) + mse.bsa = sum( ( ln.bsa.pft.mod - ln.bsa.pft.obs )^2 ) / length(ln.bsa.pft.obs) + }else{ + mse.bsa = sum( ( bsa.pft.mod - bsa.pft.obs)^2 ) / length(bsa.pft.obs) + }#end if (bsa.log) + wgt.bsa = length(mse.bsa) + #------------------------------------------------------------------------------------# + }else{ + #----- Make dummy error. ------------------------------------------------------------# + mse.bsa = 0. + wgt.bsa = 0. + #------------------------------------------------------------------------------------# + }#end if + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # In case a general basal area by size class. # + #---------------------------------------------------------------------------------------# + if (is.null(bsa.summ)){ + #----- Make dummy error. ------------------------------------------------------------# + mse.bss = 0. + wgt.bss = 0. + #------------------------------------------------------------------------------------# + }else{ + #----- Find the total basal area by DBH class. --------------------------------------# + dbh.bsa.cut = cut(dbh.now,dbh.bsa.bks) + bsa.now = pio4 * dbh.now^2 / survey.area + dbh.bsa.mod = tapply(X=bsa.now,INDEX=dbh.bsa.cut,FUN=sum,na.rm=TRUE) + #------------------------------------------------------------------------------------# + + + #----- Normalise basal area distribution, using observations as reference. ----------# + dbh.bsa.tot = sum(bsa.summ) + dbh.bsa.obs = bsa.summ / dbh.bsa.tot + dbh.bsa.mod = dbh.bsa.mod / dbh.bsa.tot + #------------------------------------------------------------------------------------# + + + + #----- Find error associated with basal area size distribution. ---------------------# + if (bsa.log){ + ln.dbh.bsa.obs = log(tiny.off + dbh.bsa.obs) + ln.dbh.bsa.mod = log(tiny.off + dbh.bsa.mod) + mse.bss = ( sum( ( ln.dbh.bsa.mod - ln.dbh.bsa.obs )^2 ) + / length(ln.dbh.bsa.obs) ) + }else{ + mse.bss = sum( ( dbh.bsa.mod - dbh.bsa.obs )^2 ) / length(dbh.bsa.obs) + }#end if (bsa.log) + wgt.bss = length(mse.bss) + #------------------------------------------------------------------------------------# + }#end if (is.null(bsa.summ)) + #---------------------------------------------------------------------------------------# + + #----- Find total error. ---------------------------------------------------------------# + rmse = sqrt( ( wgt.size * mse.size + wgt.class * mse.class + + wgt.bsa * mse.bsa + wgt.bss * mse.bss ) + / ( wgt.size + wgt.class + wgt.bsa + wgt.bss ) ) + #---------------------------------------------------------------------------------------# return(rmse) }#end function diff --git a/R-utils/pcomp_varlist.r b/R-utils/pcomp_varlist.r index bbbae70fe..77c569c46 100644 --- a/R-utils/pcomp_varlist.r +++ b/R-utils/pcomp_varlist.r @@ -3443,7 +3443,7 @@ , plog = FALSE , plog.dbh = FALSE , plt = TRUE - , qf.miss = "ifelse(lai$ts %>% 0, gpp$ts/lai$ts, 0.)" + , qf.miss = "ifelse(lai$ts %gt% 0, gpp$ts/lai$ts, 0.)" , pslwr = NA_real_ , psupr = NA_real_ )#end list @@ -4171,35 +4171,35 @@ )#end list scen.xyz$yvar = scen.xyz$xvar scen.xyz$zvar = list( list( vname = "agb" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "wood.dens" - , col.scheme = "iclife" + , col.scheme = "iprgn" , plog.xyz = TRUE )#end list , list( vname = "last.1yr.growth" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = TRUE )#end list , list( vname = "last.1yr.ncbmort" - , col.scheme = "iclife" + , col.scheme = "iprgn" , plog.xyz = TRUE )#end list , list( vname = "last.1yr.change" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.cue" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.ecue" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.wue" - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , plog.xyz = FALSE )#end list )#end list @@ -4578,67 +4578,67 @@ )#end list panel.xyz$yvar = panel.xyz$xvar panel.xyz$zvar = list( list( vname = "agb" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "f.bstorage" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.change" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.cue" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.dcbadt" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.ecue" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.etue" - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.gpp" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.growth" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = TRUE )#end list , list( vname = "last.1yr.ncbmort" - , col.scheme = "iclife" + , col.scheme = "iprgn" , plog.xyz = TRUE )#end list , list( vname = "last.1yr.npp" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.plresp" - , col.scheme = "iclife" + , col.scheme = "iprgn" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.rue" - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.transp" - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , plog.xyz = FALSE )#end list , list( vname = "last.1yr.wue" - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , plog.xyz = FALSE )#end list , list( vname = "wood.dens" - , col.scheme = "iclife" + , col.scheme = "iprgn" , plog.xyz = FALSE )#end list )#end list @@ -4738,23 +4738,23 @@ )#end list panel.map$yvar = panel.map$xvar panel.map$zvar = list( list( vname = "last.1yr.ncbmort" - , col.scheme = "iclife" + , col.scheme = "iprgn" , plog.map = TRUE )#end list , list( vname = "last.1yr.growth" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.map = TRUE )#end list , list( vname = "last.1yr.change" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.map = FALSE )#end list , list( vname = "last.1yr.cue" - , col.scheme = "clife" + , col.scheme = "prgn" , plog.map = FALSE )#end list , list( vname = "last.1yr.wue" - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , plog.map = FALSE )#end list )#end list diff --git a/R-utils/petutils.r b/R-utils/petutils.r index 9a61ca0c3..73d553363 100644 --- a/R-utils/petutils.r +++ b/R-utils/petutils.r @@ -157,7 +157,7 @@ pet.penmon <<- function( rnet #----- Find the potential ET (kgW/m2/s). -----------------------------------------------# anom = ( eslope * (rnet - fgnd) + rhos * cpdry * vpdef / ra ) aden = splat * (eslope + psycho * (1. + rc / ra)) - ans = ifelse( test = aden %!=% 0., yes = anom / aden, no = NA_real_) + ans = ifelse( test = aden %ne% 0., yes = anom / aden, no = NA_real_) #---------------------------------------------------------------------------------------# return(ans) }#end function pet.penmon @@ -233,7 +233,7 @@ pet.prtay <<- function( rnet #----- Find the potential ET (kgW/m2/s). -----------------------------------------------# anom = alpha * eslope * ( rnet - fgnd ) aden = splat * (eslope + psycho) - ans = ifelse( test = aden %!=% 0., yes = anom / aden, no = NA_real_) + ans = ifelse( test = aden %ne% 0., yes = anom / aden, no = NA_real_) #---------------------------------------------------------------------------------------# return(ans) }#end function pet.prtay diff --git a/R-utils/pft.coms.r b/R-utils/pft.coms.r index ac246f4fd..4a3a5f152 100644 --- a/R-utils/pft.coms.r +++ b/R-utils/pft.coms.r @@ -102,7 +102,7 @@ par.twilight.min <<- 0.5 * Watts.2.Ein # Minimum non-nocturnal PAR. #----- This is a flag for the maximum representable number in R. --------------------------# -discard <<- 2^1023 +huge.num <<- 2^1023 #------------------------------------------------------------------------------------------# @@ -333,9 +333,9 @@ wdr.fs <<- 0.30 #------------------------------------------------------------------------------------------# # Define reference heights for tropical allometry. # #------------------------------------------------------------------------------------------# -# IALLOM ........ 0, 1, 2, 3, 4..............................# -hgt.ref.trop = c(NA_real_,NA_real_, 61.7,NA_real_,NA_real_)[iallom+1] -hgt.max.trop = c( 35., 35., 35., 46., 46.)[iallom+1] +# IALLOM ........ 0, 1, 2, 3, 4, 5.....................# +hgt.ref.trop = c(NA_real_,NA_real_, 61.7,NA_real_,NA_real_,NA_real_)[iallom+1] +hgt.max.trop = c( 35., 35., 35., 46., 46., 46.)[iallom+1] #------------------------------------------------------------------------------------------# @@ -366,7 +366,7 @@ hgt.max.trop = c( 35., 35., 35., 46., 46.)[iallom+1] # Glob. Change Biol., 23(1):177-190. doi:10.1111/gcb.13388 (J17). # # # #------------------------------------------------------------------------------------------# -c14f15.bl.xx = c(0.46769540,0.6410495) # c(0.09747026,0.7587000) +c14f15.bl.xx = c(0.23384770,0.6410495) # c(0.09747026,0.7587000) c14f15.bs.tf = c(0.06080334,1.0044785) # c(0.08204475,0.9814422) c14f15.bs.sv = c(0.05602791,1.0093501) # c(0.08013971,0.9818603) c14f15.bs.gr = c(1.e-5,1.0) * c14f15.bl.xx @@ -1093,6 +1093,12 @@ pft = as.data.frame(pft,stringsAsFactors=FALSE) +#----- Create flag to identify PFTs that should use the D^2*H allometry. ------------------# +pft$ddh.allom = (iallom %in% c(3,4,5)) & pft$tropical & (! pft$liana) +#------------------------------------------------------------------------------------------# + + + #----- Adjust Vm0 based on settings and to make units consistent. -------------------------# pft$vm0 = ifelse( test = pft$pathway == 4 , yes = pft$vm0 * vmfact.c4 @@ -1521,7 +1527,7 @@ if (iallom %in% c(0,1)){ pft$b1Ht[tropical] = 0.0352 pft$b2Ht[tropical] = 0.694 #---------------------------------------------------------------------------------------# -}else if (iallom %in% c(3)){ +}else if (iallom %in% c(3,5)){ #---------------------------------------------------------------------------------------# # Allometric equation based on the fitted curve using the Sustainable Landscapes # # data set (L16) and the size- and site-dependent stratified sampling and aggregation # @@ -1595,15 +1601,15 @@ pft$hgt.show = pft$hgt.min + 0.015 * (pft$hgt.max - pft$hgt.min) pft$qsw = pft$SLA / sapwood.ratio.orig for (ipft in sequence(npft+1)){ #---- Check PFT and allometry. ---------------------------------------------------------# - if (pft$tropical[ipft] && pft$conifer[ipft] && iallom %in% c(3)){ + if (pft$tropical[ipft] && pft$conifer[ipft] && iallom %in% c(3,5)){ pft$qsw[ipft] = pft$SLA[ipft] * pft$rho[ipft] / sapwood.factor["aa"] - }else if (pft$tropical[ipft] && pft$grass[ipft] && iallom %in% c(3)){ + }else if (pft$tropical[ipft] && pft$grass[ipft] && iallom %in% c(3,5)){ pft$qsw[ipft] = 1.0e-5 - }else if (pft$tropical[ipft] && iallom %in% c(3)){ + }else if (pft$tropical[ipft] && iallom %in% c(3,5)){ pft$qsw[ipft] = pft$SLA[ipft] * pft$rho[ipft] / sapwood.factor["bl"] }else{ pft$qsw[ipft] = pft$SLA[ipft] / sapwood.ratio.orig - }#end if (pft$tropical[ipft] && is.finite(pft$rho[ipft]) && iallom %in% c(3,4)) + }#end if (pft$tropical[ipft] && is.finite(pft$rho[ipft]) && iallom %in% c(3,5)) #---------------------------------------------------------------------------------------# }#end for (ipft in sequence(npft)) #------------------------------------------------------------------------------------------# @@ -1717,7 +1723,9 @@ pft$b1Xs = 0.315769481 pft$b1Xb = 0. pft$qbark = 0. for (ipft in sequence(npft+1)){ - skip = pft$grass[ipft] || pft$liana[ipft] || (! pft$tropical[ipft]) || ( iallom != 3 ) + skip = ( pft$grass[ipft] || pft$liana[ipft] || (! pft$tropical[ipft]) + || ( ! (iallom %in% c(3,5) ) ) + )#end skip if (! skip){ #------------------------------------------------------------------------------------# # Variable b1Xs is the ratio between sapwood thickness and DBH. It is currently # @@ -1763,7 +1771,7 @@ pft$dbh.min = rep(NA,times=npft+1) pft$dbh.crit = rep(NA,times=npft+1) for (ipft in sequence(npft+1)){ if (pft$tropical[ipft]){ - if (iallom %in% c(0,1,3,4)){ + if (iallom %in% c(0,1,3,4,5)){ pft$dbh.min [ipft] = exp((log(pft$hgt.min[ipft])-pft$b1Ht[ipft])/pft$b2Ht[ipft]) pft$dbh.crit [ipft] = exp((log(pft$hgt.max[ipft])-pft$b1Ht[ipft])/pft$b2Ht[ipft]) }else if (iallom %in% c(2)){ @@ -1842,7 +1850,7 @@ for (ipft in sequence(npft+1)){ pft$b2Bs.small[ipft] = ndead.small[2] pft$b1Bs.large[ipft] = C2B * exp(ndead.large[1]) * pft$rho[ipft] / ndead.large[3] pft$b2Bs.large[ipft] = ndead.large[2] - }else if (iallom %in% c(3,4)){ + }else if (iallom %in% c(3,4,5)){ if (pft$grass[ipft]){ c14f15.bs.xx = c14f15.bs.gr }else if (pft$savannah[ipft]){ @@ -1871,7 +1879,7 @@ for (ipft in sequence(npft+1)){ }else if (iallom %in% c(2)){ pft$b1Ca[ipft] = exp(ncrown.area[1]) pft$b2Ca[ipft] = ncrown.area[2] - }else if (iallom %in% c(3,4)){ + }else if (iallom %in% c(3,4,5)){ #---------------------------------------------------------------------------------# # Allometry using the Sustainable Landscapes data. # #---------------------------------------------------------------------------------# @@ -1918,7 +1926,7 @@ for (ipft in sequence(npft+1)){ # R2 = 0.673 # # RMSE = 2.29 # #------------------------------------------------------------------------------------# - if (iallom %in% c(3,4) && (! pft$grass[ipft])){ + if (iallom %in% c(3,4,5) && (! pft$grass[ipft])){ pft$b1Cl[ipft] = 0.29754 pft$b2Cl[ipft] = 1.0324 }#end if @@ -1943,10 +1951,10 @@ for (ipft in sequence(npft+1)){ }else if(iallom %in% c(2)){ pft$b1Bl[ipft] = C2B * exp(nleaf[1]) * pft$rho[ipft] / nleaf[3] pft$b2Bl[ipft] = nleaf[2] - }else if(iallom %in% c(3)){ + }else if(iallom %in% c(3,5)){ #---------------------------------------------------------------------------------# # Leaf allometry, use the individual leaf area allometry derived from the BAAD # - # data base (F15), scaled by the specific leaf area. # + # data base (F15), scaled by the specific leaf area, and described in L20. # # # # Reference: # # # @@ -1955,8 +1963,15 @@ for (ipft in sequence(npft+1)){ # database for woody plants. Ecology, 96 (5):1445-1445. # # doi:10.1890/14-1889.1 (F15). # # # + # Longo M, Saatchi SS, Keller M, Bowman KW, Ferraz A, Moorcroft PR, Morton D, # + # Bonal D, Brando P, Burban B et al. 2020. Impacts of degradation on water, # + # energy, and carbon cycling of the Amazon tropical forests. # + # J. Geophys. Res.-Biogeosci., 125: e2020JG005677. # + # doi:10.1029/2020JG005677 (L20). # + # # #---------------------------------------------------------------------------------# - pft$b1Bl[ipft] = c14f15.bl.xx[1] / pft$SLA[ipft] + # pft$b1Bl[ipft] = C2B * c14f15.bl.xx[1] / pft$SLA[ipft] + pft$b1Bl[ipft] = c14f15.bl.xx[1] pft$b2Bl[ipft] = c14f15.bl.xx[2] #---------------------------------------------------------------------------------# }else{ @@ -2108,9 +2123,9 @@ if (iallom %in% c(0)){ , no = 0.4223014 )#end ifelse #---------------------------------------------------------------------------------------# -}else if (iallom %in% c(3)){ +}else if (iallom %in% c(4,5)){ #----- Test allometry based on excavation data in Panama, using height as predictor. ---# - pft$b1Rd [sequence(npft+1)] = -0.609 + pft$b1Rd [sequence(npft+1)] = -0.609 * 2 pft$b2Rd [sequence(npft+1)] = 0.580 #---------------------------------------------------------------------------------------# }#end if @@ -2125,34 +2140,34 @@ if (iallom %in% c(0)){ # BDead -> DBH parameters. These are calculated a posteriori because they are just # # the inverse of size->BDead allometry. # #------------------------------------------------------------------------------------------# -pft$d2DBH.small = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) +pft$d2DBH.small = ifelse( test = pft$ddh.allom , yes = 1. / ( ( 2. + pft$b2Ht ) * pft$b2Bs.small ) , no = 1. / pft$b2Bs.small )#end ifelse -pft$d1DBH.small = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) +pft$d1DBH.small = ifelse( test = pft$ddh.allom , yes = ( C2B / ( pft$b1Bs.small * exp(pft$b1Ht*pft$b2Bs.small) ) ) ^ pft$d2DBH.small , no = ( C2B / pft$b1Bs.small ) ^ pft$d2DBH.small )#end ifelse -pft$d2DBH.large = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) +pft$d2DBH.large = ifelse( test = pft$ddh.allom , yes = 1. / ( ( 2. + pft$b2Ht ) * pft$b2Bs.large ) , no = 1. / pft$b2Bs.large )#end ifelse -pft$d1DBH.large = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) +pft$d1DBH.large = ifelse( test = pft$ddh.allom , yes = ( C2B / ( pft$b1Bs.large * exp(pft$b1Ht*pft$b2Bs.large) ) ) ^ pft$d2DBH.large , no = ( C2B / pft$b1Bs.large ) ^ pft$d2DBH.large )#end ifelse -pft$l2DBH = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) +pft$l2DBH = ifelse( test = pft$ddh.allom , yes = 1. / ( ( 2. + pft$b2Ht ) * pft$b2Bl ) , no = 1. / pft$b2Bl )#end ifelse -pft$l1DBH = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) - , yes = ( C2B / ( pft$b1Bl * exp(pft$b1Ht*pft$b2Bl) ) ) +pft$l1DBH = ifelse( test = pft$ddh.allom + , yes = ( 1. / ( pft$b1Bl * exp(pft$b1Ht*pft$b2Bl) ) ) ^ pft$l2DBH , no = ( C2B / pft$b1Bl ) ^ pft$l2DBH )#end ifelse -pft$bdead.crit = ifelse( test = pft$tropical & (! pft$liana) & (iallom %in% c(3,4)) +pft$bdead.crit = ifelse( test = pft$ddh.allom , yes = pft$b1Bs.small / C2B * ( pft$dbh.crit * pft$dbh.crit * pft$hgt.max) ^ pft$b2Bs.small @@ -2214,8 +2229,7 @@ pft$b2Efrd = rep(x=0.1822,times=npft+1) #------------------------------------------------------------------------------------------# pft$b1WAI = ifelse( test = pft$grass , yes = 0.0 - , no = ifelse( test = pft$tropical & (! pft$liana) - & (iallom %in% c(3,4)) + , no = ifelse( test = pft$ddh.allom , yes = ifelse( test = pft$conifer , yes = 0.01148449 , no = 0.00378399 @@ -2228,8 +2242,7 @@ pft$b1WAI = ifelse( test = pft$grass )#end ifelse pft$b2WAI = ifelse( test = pft$grass , yes = 0.0 - , no = ifelse( test = pft$tropical & (! pft$liana) - & (iallom %in% c(3,4)) + , no = ifelse( test = pft$ddh.allom , yes = ifelse( test = pft$conifer , yes = 0.77075160 , no = 0.81667933 @@ -2352,6 +2365,12 @@ pft$kplastic.ltor = -1 * with(pft,kplastic.vm0*eplastic.vm0+kplastic.sla*eplasti +#------ Fire survivorship parameters for when using the old models. -----------------------# +pft$fire.s.efac = -0.12 +pft$fire.s.max = ifelse(test = pft$grass,yes = 0.1, no = 0.9) +#------------------------------------------------------------------------------------------# + + #----- Make it global. --------------------------------------------------------------------# pft <<- pft #------------------------------------------------------------------------------------------# diff --git a/R-utils/plot.rgb.r b/R-utils/plot.rgb.r index 52bdf3804..51e184f80 100644 --- a/R-utils/plot.rgb.r +++ b/R-utils/plot.rgb.r @@ -271,8 +271,8 @@ plot.rgb <<- function( x green.l = seq(from=0,to=1-red.span[n],by=0.5*delta) blue.l = seq(from=0,to=1-red.span[n],by=0.5*delta) rgb.l = expand.grid(red=red.span[n],green=green.l,blue=blue.l) - keep = ( rowSums(rgb.l) %>=% (1-sqrt(.Machine$double.eps)) - & rowSums(rgb.l) %<=% (1+sqrt(.Machine$double.eps)) ) + keep = ( rowSums(rgb.l) %ge% (1-sqrt(.Machine$double.eps)) + & rowSums(rgb.l) %le% (1+sqrt(.Machine$double.eps)) ) rgb.l = rgb.l[keep,] / rowSums(rgb.l[keep,]) #---------------------------------------------------------------------------------# diff --git a/R-utils/plotutils.r b/R-utils/plotutils.r index 9144630d9..5fd56c5d3 100644 --- a/R-utils/plotutils.r +++ b/R-utils/plotutils.r @@ -24,7 +24,7 @@ open.plot <<- function( fichier #----- Fichier must be provided unless we are plotting on screen. ----------------------# - if (missing(fichier) && (! outform %in% c("x11","quartz","windows"))){ + if (missing(fichier) && (! outform %in% c("x11","quartz","windows","default"))){ stop("Output file (\"fichier\") must be provided when plotting on file!") }#end if (missing(fichier) && (! outform %in% c("x11","quartz","windows"))) #---------------------------------------------------------------------------------------# @@ -77,7 +77,7 @@ open.plot <<- function( fichier , paper = size$paper , ... )#end postscript - }else if (outform[o] %in% "pdf"){ + }else if (outform %in% "pdf"){ pdf ( file = fichier , onefile = FALSE , width = size$width @@ -85,6 +85,9 @@ open.plot <<- function( fichier , pointsize = ptsz , paper = size$paper )#end pdf + }else if (outform %in% "default"){ + # Don't open any device, let the script open at the default location. + dev.new() }#end if #---------------------------------------------------------------------------------------# @@ -111,12 +114,11 @@ close.plot <<- function( outform = switch( EXPR = get.os() if (outform %in% c("x11","quartz","windows")){ locator(n=n) dev.off() + }else if (outform %in% "default"){ }else{ dev.off() }#end if dummy = clean.tmp() - - invisible() }#end close.plot #==========================================================================================# diff --git a/R-utils/pmonthly_varlist.r b/R-utils/pmonthly_varlist.r index 746b3275f..2f42736b5 100644 --- a/R-utils/pmonthly_varlist.r +++ b/R-utils/pmonthly_varlist.r @@ -422,6 +422,32 @@ tspftdbh[[n]] = list( vnam = "leaf.gsw" , scsout = TRUE )#end list n = n + 1 +tspftdbh[[n]] = list( vnam = "dmin.leaf.psi" + , desc = "Midday leaf water potential" + , e.unit = untab$mpa + , i.unit = untab$mpa + , plog = FALSE + , pft = TRUE + , pftdbh = TRUE + , sas = FALSE + , bar.plot = FALSE + , stack = FALSE + , scsout = TRUE + )#end list +n = n + 1 +tspftdbh[[n]] = list( vnam = "dmax.leaf.psi" + , desc = "Pre-dawn leaf water potential" + , e.unit = untab$mpa + , i.unit = untab$mpa + , plog = FALSE + , pft = TRUE + , pftdbh = TRUE + , sas = FALSE + , bar.plot = FALSE + , stack = FALSE + , scsout = TRUE + )#end list +n = n + 1 tspftdbh[[n]] = list( vnam = "leaf.gbw" , desc = "Leaf boundary layer conductance" , e.unit = untab$kgwom2loday @@ -542,6 +568,19 @@ tspftdbh[[n]] = list( vnam = "dimort" , scsout = TRUE )#end list n = n + 1 +tspftdbh[[n]] = list( vnam = "fire.lethal" + , desc = "Fire lethality rate" + , e.unit = untab$pcpopoyr + , i.unit = untab$pcpopoyr + , plog = FALSE + , pft = TRUE + , pftdbh = TRUE + , sas = FALSE + , bar.plot = FALSE + , stack = FALSE + , scsout = TRUE + )#end list +n = n + 1 tspftdbh[[n]] = list( vnam = "recr" , desc = "Recruitment rate" , e.unit = untab$pcpopoyr @@ -1447,7 +1486,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "gpp" , desc = "Gross Primary productivity" , unit = untab$kgcom2oyr - , col.scheme = "atlas" + , col.scheme = "brbg" , fco.mmean = TRUE , fco.qmean = FALSE , box.plot = FALSE @@ -1456,7 +1495,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "npp" , desc = "Net Primary productivity" , unit = untab$kgcom2oyr - , col.scheme = "atlas" + , col.scheme = "brbg" , fco.mmean = TRUE , fco.qmean = FALSE , box.plot = FALSE @@ -1465,7 +1504,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "plant.resp" , desc = "Plant respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1474,7 +1513,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "het.resp" , desc = "Heterotrophic respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1483,7 +1522,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "fgc.resp" , desc = "Surface litter respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1492,7 +1531,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "fsc.resp" , desc = "Sub-surface litter respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1501,7 +1540,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "stgc.resp" , desc = "Surface woody debris respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1510,7 +1549,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "stsc.resp" , desc = "Sub-surface woody debris respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1519,7 +1558,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "msc.resp" , desc = "Microbial soil respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1528,7 +1567,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "ssc.resp" , desc = "Humified soil respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1537,7 +1576,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "psc.resp" , desc = "Passive soil respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1582,7 +1621,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "nep" , desc = "Net ecosystem production" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1591,7 +1630,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "reco" , desc = "Ecosystem respiration" , unit = untab$kgcom2oyr - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1600,7 +1639,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "hflxca" , desc = "Sensible heat flux" , unit = untab$wom2 - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1609,7 +1648,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "wflxca" , desc = "Water flux" , unit = untab$kgwom2oday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1618,7 +1657,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "wflxgc" , desc = "Ground evaporation" , unit = untab$kgwom2oday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1627,7 +1666,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "wflxlc" , desc = "Leaf evaporation" , unit = untab$kgwom2oday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1636,7 +1675,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "wflxwc" , desc = "Wood evaporation" , unit = untab$kgwom2oday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1645,7 +1684,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "evap" , desc = "Evaporation" , unit = untab$kgwom2oday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1654,7 +1693,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "transp" , desc = "Transpiration" , unit = untab$kgwom2oday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1663,7 +1702,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "nee" , desc = "Net ecosystem exchange" , unit = untab$umolcom2os - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1672,7 +1711,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "cflxca" , desc = "CO2 flux" , unit = untab$umolcom2os - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1681,7 +1720,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "cflxst" , desc = "CO2 flux" , unit = untab$umolcom2os - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1690,7 +1729,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "can.temp" , desc = "Canopy air temperature" , unit = untab$degC - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1699,7 +1738,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "atm.temp" , desc = "Atmospheric temperature" , unit = untab$degC - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1708,7 +1747,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "leaf.temp" , desc = "Leaf temperature" , unit = untab$degC - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1717,7 +1756,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "wood.temp" , desc = "Wood temperature" , unit = untab$degC - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1726,7 +1765,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "gnd.temp" , desc = "Ground temperature" , unit = untab$degC - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1735,7 +1774,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "atm.shv" , desc = "Atmospheric specific humidity" , unit = untab$gwokg - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1744,7 +1783,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "can.shv" , desc = "Canopy air specific humidity" , unit = untab$gwokg - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1753,7 +1792,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "gnd.shv" , desc = "Ground specific humidity" , unit = untab$gwokg - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1762,7 +1801,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "atm.co2" , desc = "Atmospheric CO2 mixing ratio" , unit = untab$molcomol - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1771,7 +1810,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "can.co2" , desc = "Canopy air CO2 mixing ratio" , unit = untab$molcomol - , col.scheme = "panoply" + , col.scheme = "puor" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1780,7 +1819,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rain" , desc = "Total monthly precipitation" , unit = untab$mm - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1789,7 +1828,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "runoff" , desc = "Total monthly runoff" , unit = untab$mm - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1798,7 +1837,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "intercepted" , desc = "Total monthly interception" , unit = untab$mm - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1807,7 +1846,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "wshed" , desc = "Total monthly dripping" , unit = untab$mm - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1816,7 +1855,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "sm.stress" , desc = "Fraction of open stomata" , unit = untab$empty - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1825,7 +1864,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "leaf.gbw" , desc = "Leaf boundary layer conductance" , unit = untab$kgwom2loday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1834,7 +1873,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "leaf.gsw" , desc = "Stomatal conductance" , unit = untab$kgwom2loday - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1843,7 +1882,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rshort" , desc = "Downward shortwave radiation" , unit = untab$wom2 - , col.scheme = "icloudy" + , col.scheme = "ibugy" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1852,7 +1891,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rshort.gnd" , desc = "Abs. gnd. shortwave radiation" , unit = untab$wom2 - , col.scheme = "icloudy" + , col.scheme = "ibugy" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1861,7 +1900,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rshortup" , desc = "Outgoing shortwave radiation" , unit = untab$wom2 - , col.scheme = "icloudy" + , col.scheme = "ibugy" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1870,7 +1909,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rlong" , desc = "Downward longwave radiation" , unit = untab$wom2 - , col.scheme = "cloudy" + , col.scheme = "bugy" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1879,7 +1918,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rlong.gnd" , desc = "Abs. gnd. longwave radiation" , unit = untab$wom2 - , col.scheme = "cloudy" + , col.scheme = "bugy" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1888,7 +1927,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "rlongup" , desc = "Outgoing longwave radiation" , unit = untab$wom2 - , col.scheme = "cloudy" + , col.scheme = "bugy" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1897,7 +1936,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "albedo" , desc = "Shortwave albedo" , unit = untab$empty - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1906,7 +1945,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "ustar" , desc = "Friction velocity" , unit = untab$mos - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1915,7 +1954,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "paw" , desc = "Potential available water" , unit = untab$pcsat - , col.scheme = "ipanoply" + , col.scheme = "rdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1924,7 +1963,7 @@ n = n + 1 squeeze[[n]] = list( vnam = "smpot" , desc = "Integrated matric potential" , unit = untab$mpa - , col.scheme = "panoply" + , col.scheme = "irdbu" , fco.mmean = FALSE , fco.qmean = FALSE , box.plot = FALSE @@ -1944,8 +1983,8 @@ theme[[n]] = list( vnam = c( "gpp", "plant.resp", "het.resp", , "npp", "nep") , desc = c( "GPP","Plant resp.","Het. resp.","Ecos. Resp." , "NPP", "NEP") - , colour = c( "darkgreen", "gold", "purple3", "orangered" - ,"chartreuse3","dodgerblue3") + , colour = c( "#009E73", "#F0E442", "#332288", "#882255" + , "#56B4E9", "#0072B2") , lwd = c( 2.5, 2.5, 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -1958,6 +1997,7 @@ theme[[n]] = list( vnam = c( "gpp", "plant.resp", "het.resp", , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -1968,8 +2008,8 @@ theme[[n]] = list( vnam = c( "rshort", "rlong","rshort.gnd", "qwf , "hflxca") , desc = c( "Down SW", "Down LW", "Abs. Grnd", "'Latent'" , "Sensible") - , colour = c("goldenrod","chartreuse4", "purple4","dodgerblue3" - ,"firebrick") + , colour = c( "#E69F00", "#56B4E9", "#332288", "#0072B2" + , "#882255") , lwd = c( 2.5, 2.5, 2.5, 2.5 ,2.5) , type = "o" @@ -1982,6 +2022,7 @@ theme[[n]] = list( vnam = c( "rshort", "rlong","rshort.gnd", "qwf , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -1992,8 +2033,8 @@ theme[[n]] = list( vnam = c( "wflxgc", "wflxca", "wfl , "wflxwc", "transp") , desc = c("Ground->Canopy", "Canopy->Atm", "Leaf->Canopy" , "Wood->Canopy", "Transpiration") - , colour = c( "#3B24B3", "#2996CC", "#A3CC52" - , "#990F0F", "#306614") + , colour = c( "#332288", "#0072B2", "#56B4E9" + , "#882255", "#009E73") , lwd = c( 2.5, 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -2006,8 +2047,9 @@ theme[[n]] = list( vnam = c( "wflxgc", "wflxca", "wfl , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) - , mmean.lim = c(0,5.0) + , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) , ymean.lim = c(NA,NA) )#end list @@ -2016,8 +2058,8 @@ theme[[n]] = list( vnam = c( "hflxgc", "hflxca", "hfl , "hflxwc") , desc = c("Ground->Canopy", "Canopy->Atm", "Leaf->Canopy" , "Wood->Canopy") - , colour = c( "#3B24B3", "#2996CC", "#A3CC52" - , "#990F0F") + , colour = c( "#332288", "#0072B2", "#56B4E9" + , "#882255", "#009E73") , lwd = c( 2.5, 2.5, 2.5 , 2.5) , type = "o" @@ -2030,6 +2072,7 @@ theme[[n]] = list( vnam = c( "hflxgc", "hflxca", "hfl , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2040,8 +2083,8 @@ theme[[n]] = list( vnam = c( "atm.temp", "can.temp", "leaf.temp" , "wood.temp", "gnd.temp") , desc = c( "Atmosphere","Canopy air", "Leaf" , "Wood", "Ground") - , colour = c( "deepskyblue", "grey45","chartreuse4" - ,"darkgoldenrod", "orangered") + , colour = c( "#56B4E9", "grey45", "#009E73" + , "#882255", "#332288") , lwd = c( 2.5, 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -2054,6 +2097,7 @@ theme[[n]] = list( vnam = c( "atm.temp", "can.temp", "leaf.temp" , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2062,7 +2106,7 @@ theme[[n]] = list( vnam = c( "atm.temp", "can.temp", "leaf.temp" n = n + 1 theme[[n]] = list( vnam = c( "atm.shv", "can.shv", "gnd.shv") , desc = c( "Atmosphere","Canopy air", "Ground") - , colour = c("deepskyblue", "slateblue","darkgoldenrod") + , colour = c( "#56B4E9", "#0072B2", "#332288") , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2074,6 +2118,7 @@ theme[[n]] = list( vnam = c( "atm.shv", "can.shv", "gnd.shv") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2082,7 +2127,7 @@ theme[[n]] = list( vnam = c( "atm.shv", "can.shv", "gnd.shv") n = n + 1 theme[[n]] = list( vnam = c( "atm.co2", "can.co2") , desc = c( "Atmosphere", "Canopy air") - , colour = c("deepskyblue", "slateblue") + , colour = c( "#56B4E9", "#0072B2") , lwd = c(2.5,2.5) , type = "o" , plog = FALSE @@ -2094,6 +2139,7 @@ theme[[n]] = list( vnam = c( "atm.co2", "can.co2") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2102,7 +2148,7 @@ theme[[n]] = list( vnam = c( "atm.co2", "can.co2") n = n + 1 theme[[n]] = list( vnam = c( "rain", "runoff", "intercepted", "wshed") , desc = c("Precipitation","Total runoff","Interception","Dripping") - , colour = c( "royalblue4", "orangered", "chartreuse4", "purple2") + , colour = c( "#0072B2", "#E69F00", "#009E73", "#332288") , lwd = c( 2.5, 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2114,6 +2160,7 @@ theme[[n]] = list( vnam = c( "rain", "runoff", "intercepted", , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2122,7 +2169,7 @@ theme[[n]] = list( vnam = c( "rain", "runoff", "intercepted", n = n + 1 theme[[n]] = list( vnam = c("npat.global") , desc = c("Patch count") - , colour = c( "orangered") + , colour = c( "#D55E00") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2134,6 +2181,7 @@ theme[[n]] = list( vnam = c("npat.global") , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2142,7 +2190,7 @@ theme[[n]] = list( vnam = c("npat.global") n = n + 1 theme[[n]] = list( vnam = c( "ncoh.global") , desc = c("Cohort count") - , colour = c( "chartreuse4") + , colour = c( "#009E73") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2154,6 +2202,7 @@ theme[[n]] = list( vnam = c( "ncoh.global") , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2162,7 +2211,7 @@ theme[[n]] = list( vnam = c( "ncoh.global") n = n + 1 theme[[n]] = list( vnam = c( "workload", "specwork") , desc = c("RK4 steps (Total)","Avg. RK4 steps per patch") - , colour = c( "purple3", "chartreuse2") + , colour = c( "#56B4E9", "#009E73") , lwd = c( 2.5, 2.5) , type = "o" , plog = TRUE @@ -2174,6 +2223,7 @@ theme[[n]] = list( vnam = c( "workload", "specwork") , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2182,7 +2232,7 @@ theme[[n]] = list( vnam = c( "workload", "specwork") n = n + 1 theme[[n]] = list( vnam = c( "rk4step") , desc = c("Thermodynamic time step") - , colour = c( "deepskyblue") + , colour = c( "#0072B2") , lwd = c( 2.5) , type = "o" , plog = TRUE @@ -2194,20 +2244,17 @@ theme[[n]] = list( vnam = c( "rk4step") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) , ymean.lim = c(NA,NA) )#end list n = n + 1 -theme[[n]] = list( vnam = c( "plant.resp", "leaf.resp", "stem.resp" - , "root.resp") - , desc = c( "Autotrophic", "Leaf", "Stem" - , "Root") - , colour = c( "#143305", "#A3CC52", "#E65C17" - , "#990F0F") - , lwd = c( 2.5, 2.5, 2.5 - , 2.5) +theme[[n]] = list( vnam = c( "root.resp", "stem.resp", "leaf.resp") + , desc = c( "Root", "Stem", "Leaf") + , colour = c( "#332288", "#E69F00", "#009E73") + , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE , prefix = "pltissueresp" @@ -2218,20 +2265,17 @@ theme[[n]] = list( vnam = c( "plant.resp", "leaf.resp", "stem.re , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) - , mmean.lim = c(0.,4.5) + , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) - , ymean.lim = c(0.,4.5) + , ymean.lim = c(NA,NA) )#end list n = n + 1 -theme[[n]] = list( vnam = c( "plant.resp", "aerobic.resp", "growth.resp" - , "storage.resp") - , desc = c( "Autotrophic", "Aerobic", "Growth" - , "Storage") - , colour = c( "#143305", "#2996CC", "#3B24B3" - , "#B49ED2") - , lwd = c( 2.5, 2.5, 2.5 - , 2.5) +theme[[n]] = list( vnam = c( "aerobic.resp", "growth.resp", "storage.resp") + , desc = c( "Aerobic", "Growth", "Storage") + , colour = c( "#0072B2", "#E69F00", "#785EF0") + , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE , prefix = "plprocresp" @@ -2242,24 +2286,25 @@ theme[[n]] = list( vnam = c( "plant.resp", "aerobic.resp", "growth.re , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(0.,4.5) , qmean.lim = c(NA,NA) , ymean.lim = c(0.,4.5) )#end list n = n + 1 -theme[[n]] = list( vnam = c( "het.resp", "fgc.resp", "fsc.resp" - , "stgc.resp", "stsc.resp", "msc.resp" - , "ssc.resp", "psc.resp") - , desc = c( "Heterotrophic", "AG Litter", "BG Litter" - ,"AG Woody Debris","BG Woody Debris", "Microbial" - , "Humified soil", "Passive soil") - , colour = c( "#143305", "#A3CC52", "#E65C17" - , "#990F0F", "#3B24B3", "#2996CC" - , "#B49ED2", "#F1BD3B") +theme[[n]] = list( vnam = c( "psc.resp", "ssc.resp", "stsc.resp" + , "msc.resp", "fsc.resp", "stgc.resp" + , "fgc.resp") + , desc = c( "Passive soil", "Humified soil","BG Woody Debris" + , "Microbial", "BG Litter","AG Woody Debris" + , "AG Litter") + , colour = c( "#811F9E", "#1BA2F7", "#880D32" + , "#CCCA3D", "#107C92", "#F87856" + , "#2BD2DB") , lwd = c( 2.5, 2.5, 2.5 , 2.5, 2.5, 2.5 - , 2.5, 2.5) + , 2.5) , type = "o" , plog = FALSE , prefix = "hetresp" @@ -2270,18 +2315,19 @@ theme[[n]] = list( vnam = c( "het.resp", "fgc.resp", "fsc , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) - , mmean.lim = c(0.,4.5) + , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) - , ymean.lim = c(0.,4.5) + , ymean.lim = c(NA,NA) )#end list n = n + 1 -theme[[n]] = list( vnam = c( "fgc.in", "fsc.in" - , "stgc.in", "stsc.in") - , desc = c( "AG Litter", "BG Litter" - ,"AG Woody Debris","BG Woody Debris") - , colour = c( "#A3CC52", "#E65C17" - , "#990F0F", "#3B24B3") +theme[[n]] = list( vnam = c( "stsc.in", "fsc.in" + , "stgc.in", "fgc.in") + , desc = c("BG Woody Debris", "BG Litter" + ,"AG Woody Debris", "AG Litter") + , colour = c( "#880D32", "#107C92" + , "#F87856", "#2BD2DB") , lwd = c( 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -2294,6 +2340,7 @@ theme[[n]] = list( vnam = c( "fgc.in", "fsc.in" , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2302,7 +2349,7 @@ theme[[n]] = list( vnam = c( "fgc.in", "fsc.in" n = n + 1 theme[[n]] = list( vnam = c( "atm.vels", "ustar") , desc = c("Wind speed","Friction velocity") - , colour = c("deepskyblue", "slateblue") + , colour = c( "#56B4E9", "#332288") , lwd = c( 2.5, 2.5) , type = "o" , plog = FALSE @@ -2314,28 +2361,25 @@ theme[[n]] = list( vnam = c( "atm.vels", "ustar") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) , ymean.lim = c(NA,NA) )#end list n = n + 1 -theme[[n]] = list( vnam = c( "fast.grnd.c", "fast.soil.c" - , "struct.grnd.c", "struct.soil.c" - , "microbe.soil.c", "slow.soil.c" - , "passive.soil.c") - , desc = c( "AG Litter", "BG Litter" - ,"AG Woody Debris","BG Woody Debris" - , "Microbial", "Humified" - , "Passive") - , colour = c( "#A3CC52", "#1E4C08" - , "#E65C17", "#990F0F" - , "#2996CC", "#3B24B3" - , "#F1BD3B") - , lwd = c( 2.5, 2.5 - , 2.5, 2.5 - , 2.5, 2.5 - , 2.5) +theme[[n]] = list( vnam = c( "passive.soil.c", "slow.soil.c", "microbe.soil.c" + , "struct.soil.c", "fast.soil.c", "struct.grnd.c" + , "fast.grnd.c") + , desc = c( "Passive", "Humified", "Microbial" + ,"BG Woody Debris", "BG Litter","AG Woody Debris" + , "AG Litter") + , colour = c( "#811F9E", "#1BA2F7", "#880D32" + , "#CCCA3D", "#107C92", "#F87856" + , "#2BD2DB") + , lwd = c( 2.5, 2.5, 2.5 + , 2.5, 2.5, 2.5 + , 2.5) , type = "o" , plog = FALSE , prefix = "soil_carbon" @@ -2346,6 +2390,7 @@ theme[[n]] = list( vnam = c( "fast.grnd.c", "fast.soil.c" , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2356,8 +2401,8 @@ theme[[n]] = list( vnam = c( "crop.yield", "crop.harvest" , "logging.harvest", "combusted.fuel") , desc = c( "Crop (Seeds)", "Crop (Other)" , "Logging Harvest","Combusted Biomass") - , colour = c( "chartreuse3", "dodgerblue3" - , "orangered", "firebrick") + , colour = c( "#009E73", "#0072B2" + , "#E69F00", "#882255") , lwd = c( 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -2370,6 +2415,7 @@ theme[[n]] = list( vnam = c( "crop.yield", "crop.harvest" , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2378,7 +2424,7 @@ theme[[n]] = list( vnam = c( "crop.yield", "crop.harvest" n = n + 1 theme[[n]] = list( vnam = c( "atm.vpd", "can.vpd", "leaf.vpd") , desc = c( "Atmosphere", "Canopy air", "Leaf") - , colour = c("deepskyblue","dodgerblue4","chartreuse3") + , colour = c( "#56B4E9", "#0072B2", "#009E73") , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2390,6 +2436,7 @@ theme[[n]] = list( vnam = c( "atm.vpd", "can.vpd", "leaf.vpd") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2398,7 +2445,7 @@ theme[[n]] = list( vnam = c( "atm.vpd", "can.vpd", "leaf.vpd") n = n + 1 theme[[n]] = list( vnam = c( "paw") , desc = c("Pot.Av.Water") - , colour = c( "steelblue") + , colour = c( "#0072B2") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2410,6 +2457,7 @@ theme[[n]] = list( vnam = c( "paw") , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = TRUE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2418,7 +2466,7 @@ theme[[n]] = list( vnam = c( "paw") n = n + 1 theme[[n]] = list( vnam = c( "smpot") , desc = c("Neg. Potential") - , colour = c( "royalblue4") + , colour = c( "#0072B2") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2430,6 +2478,7 @@ theme[[n]] = list( vnam = c( "smpot") , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2438,7 +2487,7 @@ theme[[n]] = list( vnam = c( "smpot") n = n + 1 theme[[n]] = list( vnam = c("water.deficit", "malhi.deficit") , desc = c( "ED-2.2","Malhi et al. (2009)") - , colour = c( "orangered", "gold") + , colour = c( "#882255", "#E69F00") , lwd = c( 2.5, 2.5) , type = "o" , plog = FALSE @@ -2450,6 +2499,7 @@ theme[[n]] = list( vnam = c("water.deficit", "malhi.deficit") , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2458,7 +2508,7 @@ theme[[n]] = list( vnam = c("water.deficit", "malhi.deficit") n = n + 1 theme[[n]] = list( vnam = c( "nee", "cflxca", "cflxst") , desc = c( "NEE", "CO2 Flux","CO2 Storage") - , colour = c("chartreuse4","steelblue", "orangered") + , colour = c( "#009E73", "#56B4E9", "#E69F00") , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2470,6 +2520,7 @@ theme[[n]] = list( vnam = c( "nee", "cflxca", "cflxst") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2480,8 +2531,8 @@ theme[[n]] = list( vnam = c( "rshort", "rshort.beam","rshort.diff" , "rshort.gnd", "rshortup") , desc = c("Down Top canopy", "Beam", "Diffuse" , "Abs. Ground","Up Top canopy") - , colour = c( "deepskyblue","darkgoldenrod", "grey45" - , "firebrick", "royalblue3") + , colour = c( "#56B4E9", "#E69F00", "grey45" + , "#882255", "#0072B2") , lwd = c( 2.5, 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -2494,6 +2545,7 @@ theme[[n]] = list( vnam = c( "rshort", "rshort.beam","rshort.diff" , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2502,7 +2554,7 @@ theme[[n]] = list( vnam = c( "rshort", "rshort.beam","rshort.diff" n = n + 1 theme[[n]] = list( vnam = c( "rlong", "rlongup", "rlong.gnd") , desc = c("Down Top canopy","Upward LW", "Abs. Ground") - , colour = c( "deepskyblue","orangered","darkgoldenrod") + , colour = c( "#56B4E9", "#E69F00", "#882255") , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2514,6 +2566,7 @@ theme[[n]] = list( vnam = c( "rlong", "rlongup", "rlong.gnd") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2522,7 +2575,7 @@ theme[[n]] = list( vnam = c( "rlong", "rlongup", "rlong.gnd") n = n + 1 theme[[n]] = list( vnam = c( "albedo", "albedo.par","albedo.nir") , desc = c("SW Albedo (Net)", "PAR Albedo","NIR Albedo") - , colour = c( "deepskyblue","chartreuse3", "orangered") + , colour = c( "#56B4E9", "#009E73", "#882255") , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2534,6 +2587,7 @@ theme[[n]] = list( vnam = c( "albedo", "albedo.par","albedo.nir") , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2544,8 +2598,8 @@ theme[[n]] = list( vnam = c( "par.tot", "par.beam", "par.diff" , "par.gnd", "parup") , desc = c("Down Top canopy", "Beam", "Diffuse" , "Abs. Ground","Up Top canopy") - , colour = c( "deepskyblue", "firebrick","slateblue" - , "darkgoldenrod", "chartreuse3") + , colour = c( "#56B4E9", "#882255", "#332288" + , "#E69F00", "#009E73") , lwd = c( 2.5, 2.5, 2.5 , 2.5, 2.5) , type = "o" @@ -2558,6 +2612,7 @@ theme[[n]] = list( vnam = c( "par.tot", "par.beam", "par.diff" , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2566,7 +2621,7 @@ theme[[n]] = list( vnam = c( "par.tot", "par.beam", "par.diff" n = n + 1 theme[[n]] = list( vnam = c( "leaf.gsw", "leaf.gbw", "wood.gbw") , desc = c( "Leaf (Stomata)","Leaf (Bnd. Lyr.)","Wood (Bnd. Lyr.)") - , colour = c( "chartreuse4", "steelblue", "sienna") + , colour = c( "#009E73", "#56B4E9", "#882255") , lwd = c( 2.5, 2.5, 2.5) , type = "o" , plog = FALSE @@ -2578,6 +2633,7 @@ theme[[n]] = list( vnam = c( "leaf.gsw", "leaf.gbw", "w , mmean = TRUE , qmean = TRUE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2586,7 +2642,7 @@ theme[[n]] = list( vnam = c( "leaf.gsw", "leaf.gbw", "w n = n + 1 theme[[n]] = list( vnam = c( "vm0") , desc = c( "Max. Carboxylation") - , colour = c( "dodgerblue") + , colour = c( "#0072B2") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2596,8 +2652,9 @@ theme[[n]] = list( vnam = c( "vm0") , legpos = "topleft" , emean = TRUE , mmean = TRUE - , qmean = TRUE + , qmean = FALSE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2606,7 +2663,7 @@ theme[[n]] = list( vnam = c( "vm0") n = n + 1 theme[[n]] = list( vnam = c( "sla") , desc = c( "Specific leaf area") - , colour = c( "forestgreen") + , colour = c( "#009E73") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2616,8 +2673,9 @@ theme[[n]] = list( vnam = c( "sla") , legpos = "topleft" , emean = TRUE , mmean = TRUE - , qmean = TRUE + , qmean = FALSE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2626,7 +2684,7 @@ theme[[n]] = list( vnam = c( "sla") n = n + 1 theme[[n]] = list( vnam = c( "llspan") , desc = c( "Leaf longevity") - , colour = c( "purple2") + , colour = c( "#332288") , lwd = c( 2.5) , type = "o" , plog = FALSE @@ -2636,8 +2694,9 @@ theme[[n]] = list( vnam = c( "llspan") , legpos = "topleft" , emean = TRUE , mmean = TRUE - , qmean = TRUE + , qmean = FALSE , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -2650,9 +2709,9 @@ theme[[n]] = list( vnam = c( "veg.height", "can.depth" , desc = c( "Vegetation height", "Canopy depth" , "Displacement height","Vegetation Roughness" , "Net roughness") - , colour = c( "deepskyblue", "firebrick" - , "slateblue", "darkgoldenrod" - , "chartreuse3") + , colour = c( "#56B4E9", "#882255" + , "#332288", "#E69F00" + , "#009E73") , lwd = c(2.5,2.5,2.5,2.5,2.5) , type = "o" , plog = FALSE @@ -2664,6 +2723,157 @@ theme[[n]] = list( vnam = c( "veg.height", "can.depth" , mmean = TRUE , qmean = FALSE , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c( "fire.intensity") + , desc = c( "Fire intensity") + , colour = c( "#882255") + , lwd = c(2.5) + , type = "o" + , plog = FALSE + , prefix = "fire.intensity" + , title = "Fire intensity" + , unit = untab$kwom + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c( "fire.density") + , desc = c("Fire count density") + , colour = c( "#882255") + , lwd = c(2.5) + , type = "o" + , plog = FALSE + , prefix = "fire.density" + , title = "Fire count density" + , unit = untab$oneokm2 + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c( "fire.ignition") + , desc = c( "Fire ignition") + , colour = c( "#882255") + , lwd = c(2.5) + , type = "o" + , plog = FALSE + , prefix = "fire.ignition" + , title = "Fire ignition rate" + , unit = untab$oneokm2omo + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c("fire.extinction") + , desc = c("Fire extinction") + , colour = c( "#0072B2") + , lwd = c(2.5) + , type = "o" + , plog = FALSE + , prefix = "fire.extinction" + , title = "Fire extinction rate" + , unit = untab$pcoday + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c( "fire.spread") + , desc = c( "Fire spread") + , colour = c( "#332288") + , lwd = c(2.5) + , type = "o" + , plog = FALSE + , prefix = "fire.spread" + , title = "Fire spread rate" + , unit = untab$momin + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c( "fire.f.bherb", "fire.f.bwoody" + , "fire.f.fgc", "fire.f.stgc") + , desc = c( "Herbaceous", "Woody (live)" + , "Fine litter","Structural litter") + , colour = c( "#009E73", "#E69F00" + , "#56B4E9", "#332288") + , lwd = c(2.5,2.5,2.5,2.5) + , type = "o" + , plog = FALSE + , prefix = "fire.consumption" + , title = "Relative fuel consumption" + , unit = untab$pc + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE + , emean.lim = c(NA,NA) + , mmean.lim = c(NA,NA) + , qmean.lim = c(NA,NA) + , ymean.lim = c(NA,NA) + )#end list +n = n + 1 +theme[[n]] = list( vnam = c( "burnt.area") + , desc = c( "Burnt area") + , colour = c( "#D55E00") + , lwd = c(2.5) + , type = "o" + , plog = FALSE + , prefix = "burnt.area" + , title = "Burnt area" + , unit = untab$pc + , legpos = "topleft" + , emean = TRUE + , mmean = TRUE + , qmean = FALSE + , ymean = TRUE + , stack = FALSE , emean.lim = c(NA,NA) , mmean.lim = c(NA,NA) , qmean.lim = c(NA,NA) @@ -3220,7 +3430,7 @@ n = n + 1 soilplot[[n]] = list( vnam = "soil.water" , desc = "Soil moisture" , unit = untab$m3wom3 - , csch = "ipanoply" + , csch = "rdbu" , pnlog = FALSE , mmean = TRUE , emean = TRUE @@ -3231,7 +3441,7 @@ n = n + 1 soilplot[[n]] = list( vnam = "soil.temp" , desc = "Soil temperature" , unit = untab$degC - , csch = "panoply" + , csch = "irdbu" , pnlog = FALSE , mmean = TRUE , emean = TRUE @@ -3242,7 +3452,7 @@ n = n + 1 soilplot[[n]] = list( vnam = "soil.mstpot" , desc = "(Negative) Soil moisture potential" , unit = untab$mpa - , csch = "panoply" + , csch = "irdbu" , pnlog = TRUE , mmean = TRUE , emean = TRUE @@ -3253,7 +3463,7 @@ n = n + 1 soilplot[[n]] = list( vnam = "soil.extracted" , desc = "Water extraction by plants" , unit = untab$kgwom3oday - , csch = "ipanoply" + , csch = "rdbu" , pnlog = FALSE , mmean = TRUE , emean = TRUE diff --git a/R-utils/polar.periodogram.r b/R-utils/polar.periodogram.r index 5e9494d6b..69f8efae3 100644 --- a/R-utils/polar.periodogram.r +++ b/R-utils/polar.periodogram.r @@ -55,7 +55,7 @@ polar.periodogram <<- function( X nn = ncol (X) FF = fft(Xp) / mm / nn II = abs(FF) * abs(FF) * mm * nn - sig2 = var(c(X)) + sig2 = var(c(Xp),na.rm=TRUE) #---------------------------------------------------------------------------------------# @@ -113,25 +113,28 @@ polar.periodogram <<- function( X #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # Find the variance of the retained spectrum. # + #---------------------------------------------------------------------------------------# + sig2p = sum(II.keep) + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Decide how to aggregate data. # #---------------------------------------------------------------------------------------# if (which.bin %in% "radius"){ m.II = tapply(X=II.keep,INDEX=R.cut,FUN=mean,na.rm=TRUE) - s.II = tapply(X=II.keep,INDEX=R.cut,FUN=sd ,na.rm=TRUE) - ans = m.II / s.II + ans = m.II / sig2p }else if (which.bin %in% c("theta","angle")){ m.II = tapply(X=II.keep,INDEX=TH.cut,FUN=mean,na.rm=TRUE) - s.II = tapply(X=II.keep,INDEX=TH.cut,FUN=sd ,na.rm=TRUE) - ans = m.II / s.II + ans = m.II / sig2p }else if (which.bin %in% "both"){ m.II = tapply(X=II.keep,INDEX=list(R.cut,TH.cut),FUN=mean,na.rm=TRUE) - s.II = tapply(X=II.keep,INDEX=list(R.cut,TH.cut),FUN=sd ,na.rm=TRUE) - ans = m.II / s.II + ans = m.II / sig2p }else if (which.bin %in% "length"){ - m.II = tapply(X=II.keep,INDEX=list(R.cut,TH.cut),FUN=mean,na.rm=TRUE) - s.II = tapply(X=II.keep,INDEX=list(R.cut,TH.cut),FUN=sd ,na.rm=TRUE) - ans = m.II / s.II + m.II = tapply(X=II.keep,INDEX=R.cut,FUN=mean,na.rm=TRUE) + ans = m.II / sig2p len = tapply(X=LL.keep,INDEX=R.cut,FUN=mean,na.rm=TRUE) names(ans) = len }else if (which.bin %in% "none"){ @@ -148,3 +151,58 @@ polar.periodogram <<- function( X }#end polar.periodogram #==========================================================================================# #==========================================================================================# + + + + + + +#==========================================================================================# +#==========================================================================================# +# This function is a wrapper for the FOTO package, when using matrices as opposed to # +# rasters. It internally creates a raster that is then sent to the package function. This # +# copies part of the steps in the function "foto" because the package by default applies # +# the principal component analysis and this is done separately. # +#------------------------------------------------------------------------------------------# +foto.periodogram <<- function(X){ + #------ Create a temporary raster to send to the FOTO function. ------------------------# + myenv = environment() + nx = nrow(X) + ny = ncol(X) + yswap = rev(sequence(ny)) + Xt = t(X[,yswap]) + img = raster(Xt) + wsize = min(nx,ny)/1 + N = ceiling(img@nrows/wsize) + M = ceiling(img@ncols/wsize) + cells = N * M + #---------------------------------------------------------------------------------------# + + + + #------ Run the FOTO function for this raster. Single window using the entire image. ---# + Imat = matrix(img,wsize,wsize) + fftim = Mod(stats::fft(Imat))^2 + offfft = ceiling(dim(Imat)[1]/2) + r = sqrt((col(Imat) - offfft)^2 + (row(Imat) - offfft)^2) + rzonal = raster::zonal( x = raster::raster(fftim) + , z = raster::raster(r) + , fun = "mean" + , na.rm = TRUE + )#end raster::zonal + rspec = rev(rzonal[, 2]) + names(rspec) = rev(rzonal[, 1]) + sigma = sd(Imat,na.rm=TRUE) + rscal = rspec / sigma + + iuse = rev(sequence(wsize/2)[-c(1,2)]) + ans = rscal[iuse] + #---------------------------------------------------------------------------------------# + + + #----- Return answer. ------------------------------------------------------------------# + return(ans) + #---------------------------------------------------------------------------------------# +}#end foto.periodogram +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/poly.clockwise.r b/R-utils/poly.clockwise.r index 7a44bb09f..159008649 100644 --- a/R-utils/poly.clockwise.r +++ b/R-utils/poly.clockwise.r @@ -19,11 +19,11 @@ poly.clockwise <<- function(x,y=NULL){ #------ Make sure this is a closed path. -----------------------------------------------# nxy = length(x) - if (! ( x[1] %==% x[nxy] && y[1] %==% y[nxy] ) ){ + if (! ( x[1] %eq% x[nxy] && y[1] %eq% y[nxy] ) ){ x = c(x,x[1]) y = c(y,y[1]) nxy = nxy + 1 - }#end if (! ( x[1] %==% x[nxy] && y[1] %==% y[nxy] ) ) + }#end if (! ( x[1] %eq% x[nxy] && y[1] %eq% y[nxy] ) ) #---------------------------------------------------------------------------------------# diff --git a/R-utils/pop.interp.r b/R-utils/pop.interp.r index dd2f6d38d..4ffbb49a1 100644 --- a/R-utils/pop.interp.r +++ b/R-utils/pop.interp.r @@ -33,7 +33,7 @@ pop.interp <<- function( p #---------------------------------------------------------------------------------------# #----- For the prediction step, we only keep entries with actual population. -----------# - keep = p %>% 0 + keep = p %gt% 0 #---------------------------------------------------------------------------------------# diff --git a/R-utils/pop.loess.r b/R-utils/pop.loess.r index e19259ae4..baeec7333 100644 --- a/R-utils/pop.loess.r +++ b/R-utils/pop.loess.r @@ -16,7 +16,7 @@ pop.loess <<- function(p,z=seq_along(p),pfill=1e-6,zinf=1.25*max(z),...){ #---------------------------------------------------------------------------------------# #----- For the prediction step, we only keep entries with actual population. -----------# - keep = p %>% 0 + keep = p %gt% 0 #---------------------------------------------------------------------------------------# diff --git a/R-utils/pretty.log.r b/R-utils/pretty.log.r index 7c8e0770d..aa8f91997 100644 --- a/R-utils/pretty.log.r +++ b/R-utils/pretty.log.r @@ -14,15 +14,15 @@ pretty.log = function(x,base=10,n=5,forcelog=FALSE){ # gives a more legible scale. # #---------------------------------------------------------------------------------------# if (base == 10 && dlog.neat %wr% c(0.1,0.5) && (! forcelog)){ - sel = abs(log.neat - as.integer(log.neat)) %<% (0.5 * dlog.neat) + sel = abs(log.neat - as.integer(log.neat)) %lt% (0.5 * dlog.neat) tens = sort(c(neat[sel],base^(c(floor(min(log.neat)),ceiling(max(log.neat)))))) #------------------------------------------------------------------------------------# # Fix scale so it looks nicer if dtens is 2 or 3. # #------------------------------------------------------------------------------------# - if (dlog.neat %<% 0.15){ + if (dlog.neat %lt% 0.15){ mult = c(1,2,3,5,7) - }else if (dlog.neat %<% 0.35){ + }else if (dlog.neat %lt% 0.35){ mult = c(1,2,5) }else{ mult = c(1,3) @@ -33,7 +33,7 @@ pretty.log = function(x,base=10,n=5,forcelog=FALSE){ vlevels = vlevels[aa:zz] still.log = TRUE #------------------------------------------------------------------------------------# - }else if(dlog.neat %<% 0.1 && (! forcelog)){ + }else if(dlog.neat %lt% 0.1 && (! forcelog)){ #----- The plot is hardly log, use normal units instead. ---------------------------# vlevels = pretty(x=x,n=n) still.log = FALSE diff --git a/R-utils/pretty.time.r b/R-utils/pretty.time.r index 05e1aab3e..56dec6c3b 100644 --- a/R-utils/pretty.time.r +++ b/R-utils/pretty.time.r @@ -327,21 +327,21 @@ pretty.elapsed <<- function(x,base,n=5,...){ #---------------------------------------------------------------------------------------# # Re-scale data based on the pretty limits. # #---------------------------------------------------------------------------------------# - if (diff.base %<=% 0.075 || diff.base %>=% 0.75){ + if (diff.base %le% 0.075 || diff.base %ge% 0.75){ dbase = diff.base * base - }else if (diff.base %<% 0.15){ + }else if (diff.base %lt% 0.15){ if (base == 30){ dbase = base / 15 }else{ dbase = base / 12 }#end if (base == 30) - }else if (diff.base %<% 0.35){ + }else if (diff.base %lt% 0.35){ if (base == 30){ dbase = base / 6 }else{ dbase = base / 4 }#end if (base == 30) - }else if (diff.base %<% 0.50){ + }else if (diff.base %lt% 0.50){ dbase = base / 3 }else{ dbase = base / 2 diff --git a/R-utils/pretty.xylim.r b/R-utils/pretty.xylim.r index 3140e148f..e6f942136 100644 --- a/R-utils/pretty.xylim.r +++ b/R-utils/pretty.xylim.r @@ -36,7 +36,7 @@ pretty.xylim <<- function(u,fracexp=0.00,is.log=FALSE){ #----- Select the data that we consider for the range. ---------------------------------# vec.u = c(u) - if (is.log) vec.u[! (vec.u %>% 0)] = NA + if (is.log) vec.u[! (vec.u %gt% 0)] = NA ulimit = range(vec.u,finite=TRUE) #---------------------------------------------------------------------------------------# diff --git a/R-utils/ptcloud.2.patch.r b/R-utils/ptcloud.2.patch.r index b9610a17f..1e135a436 100644 --- a/R-utils/ptcloud.2.patch.r +++ b/R-utils/ptcloud.2.patch.r @@ -284,8 +284,8 @@ ptcloud.2.patch <<- function( pt.cloud hgt.cutoff = dbh2h(dbh=dbh0.min ,ipft=pft.def) hgt.bottom = hgt.cutoff }#end if (cstep %in% "calibration") - k.sel = which(hgtprof[ipk] %>=% hgt.cutoff) - k.bot = which(hgtprof[ipk] %>=% hgt.bottom) + k.sel = which(hgtprof[ipk] %ge% hgt.cutoff) + k.bot = which(hgtprof[ipk] %ge% hgt.bottom) #---------------------------------------------------------------------------------# @@ -305,15 +305,15 @@ ptcloud.2.patch <<- function( pt.cloud }else if (length(k.sel) == 0){ #----- Tallest cohort is outside range of DBH. Don't constrain. --------------# k.idx = ibnd[max(k.bot) + 1] - sel = hgtprof %>=% hgtprof[k.idx] + sel = hgtprof %ge% hgtprof[k.idx] bel = sel #------------------------------------------------------------------------------# }else{ #----- Keep only cohorts whose peak is above minimum DBH. ---------------------# k.idx = ibnd[max(k.sel) + 1] b.idx = ibnd[max(k.bot) + 1] - sel = hgtprof %>=% hgtprof[k.idx] - bel = hgtprof %>=% hgtprof[b.idx] + sel = hgtprof %ge% hgtprof[k.idx] + bel = hgtprof %ge% hgtprof[b.idx] #------------------------------------------------------------------------------# }#end if ((length(k.sel) == 0) && (length(k.bot) == 0)) #---------------------------------------------------------------------------------# @@ -341,7 +341,7 @@ ptcloud.2.patch <<- function( pt.cloud #------ Selected data. --------------------------------------------------------# ulai = sapply(X=c.ulai,FUN=sum ) uipk = sapply(X=c.uipk,FUN=commonest) - keep = ulai %>% 0. + keep = ulai %gt% 0. if (any(keep)){ ulai = c(ulai [keep],0) uipk = uipk [keep] @@ -360,7 +360,7 @@ ptcloud.2.patch <<- function( pt.cloud #------ Total data. -----------------------------------------------------------# blai = sapply(X=b.ulai,FUN=sum ) bipk = sapply(X=b.uipk,FUN=commonest) - beep = blai %>% 0. + beep = blai %gt% 0. if (any(beep)){ blai = c(blai [beep],0) bipk = bipk [beep] @@ -472,7 +472,7 @@ ptcloud.2.patch <<- function( pt.cloud ipft.bft = rep(mypfts , each = bcoh ) + 0L * bpft wdns.bft = rep(pft$rho[mypfts], each = bcoh ) + 0. * bpft sla.bft = rep(pft$SLA[mypfts], each = bcoh ) + 0. * bpft - bleaf.bft = ( size2bl(dbh=dbh.bft,hgt=hgt.bft,sla=sla.pft,ipft=ipft.bft) + bleaf.bft = ( size2bl(dbh=dbh.bft,hgt=hgt.bft,sla=sla.bft,ipft=ipft.bft) + 0. * bpft )#end bleaf.bft bdead.bft = size2bd(dbh=dbh.bft,hgt=hgt.bft,ipft=ipft.bft) + 0. * bpft @@ -603,7 +603,7 @@ ptcloud.2.patch <<- function( pt.cloud #----- Check for degenerate solution. -----------------------------------------# - suspicious = (sum(lai.pft*f.net) %>% 12) + suspicious = (sum(lai.pft*f.net) %gt% 12) #------------------------------------------------------------------------------# @@ -613,11 +613,11 @@ ptcloud.2.patch <<- function( pt.cloud # This indicates that most of the returns are coming from below the # # calibration layer (DBH > 10cm) so it is really unconstrained. # #------------------------------------------------------------------------------# - x.bsa = (f.bsa %>=% f.max.oth) && (b.bsa %<=% b.min.oth) - x.lai = (f.lai %>=% f.max.oth) && (b.lai %<=% b.min.oth) - x.agb = (f.agb %>=% f.max.oth) && (b.agb %<=% b.min.oth) - x.npl = (f.npl %>=% f.max.npl) && (b.npl %<=% b.min.npl) - x.net = (f.net %>=% f.max.oth) && (b.net %<=% b.min.oth) + x.bsa = (f.bsa %ge% f.max.oth) && (b.bsa %le% b.min.oth) + x.lai = (f.lai %ge% f.max.oth) && (b.lai %le% b.min.oth) + x.agb = (f.agb %ge% f.max.oth) && (b.agb %le% b.min.oth) + x.npl = (f.npl %ge% f.max.npl) && (b.npl %le% b.min.npl) + x.net = (f.net %ge% f.max.oth) && (b.net %le% b.min.oth) x.any = x.npl || x.bsa || x.lai || x.agb || x.net f.bsa = ifelse(test=x.any,yes=f.net.def,no=f.bsa) f.lai = ifelse(test=x.any,yes=f.net.def,no=f.lai) @@ -724,7 +724,7 @@ ptcloud.2.patch <<- function( pt.cloud #----- Check for degenerate solution. -----------------------------------------# - suspicious = suspicious || (pssnow$lai %>% 12) + suspicious = suspicious || (pssnow$lai %gt% 12) if (suspicious){ if (nidx > 0){ #----- Aggregate information of the suspicious patch. -------------------# @@ -737,7 +737,7 @@ ptcloud.2.patch <<- function( pt.cloud + css.agf * ( css.bsap + css.bbark + cssnow$bdead ) )#end css.agb css.bsa = 0.25 * pi * cssnow$dbh * cssnow$dbh - css.use = cssnow$dbh %>=% 10.0 + css.use = cssnow$dbh %ge% 10.0 npl.show = 10000. * sum(cssnow$n[css.use]) lai.show = sum(cssnow$lai) agb.show = sum(cssnow$n[css.use]*css.agb[css.use]) diff --git a/R-utils/radiation_profile_utils.r b/R-utils/radiation_profile_utils.r index 28322c49d..d908a12c9 100644 --- a/R-utils/radiation_profile_utils.r +++ b/R-utils/radiation_profile_utils.r @@ -74,7 +74,7 @@ layer.absorption <<- function(ipaco,down,up){ rel.last <<- function(x){ if (length(x) == 0){ ans = NA - }else if (x[1] %==% 0){ + }else if (x[1] %eq% 0){ ans = NA }else{ ans = x[length(x)] /x[1] diff --git a/R-utils/rain.downscale.r b/R-utils/rain.downscale.r index 3b538417c..47092c4cc 100644 --- a/R-utils/rain.downscale.r +++ b/R-utils/rain.downscale.r @@ -63,7 +63,7 @@ rain.downscale <<- function(lon,when.in,prate.in,mu.in.lut,nsub,rain.min=0.2/360 #----- Find the ratio following Ryan's thesis. -----------------------------------------# - g.mu.lut = ifelse(test=g.rho.lut %>% 0,yes=g.rbar.lut/g.rho.lut,no=0.) + g.mu.lut = ifelse(test=g.rho.lut %gt% 0,yes=g.rbar.lut/g.rho.lut,no=0.) #---------------------------------------------------------------------------------------# @@ -72,7 +72,7 @@ rain.downscale <<- function(lon,when.in,prate.in,mu.in.lut,nsub,rain.min=0.2/360 mu.in = mu.in.lut [idx] g.rbar = g.rbar.lut[idx] g.mu = g.mu.lut [idx] - sg.mu = ifelse(test = g.mu %>% 0., yes = mu.in / g.mu, no = 0.) + sg.mu = ifelse(test = g.mu %gt% 0., yes = mu.in / g.mu, no = 0.) #---------------------------------------------------------------------------------------# @@ -102,7 +102,7 @@ rain.downscale <<- function(lon,when.in,prate.in,mu.in.lut,nsub,rain.min=0.2/360 SG.MU = matrix( data = sg.mu , nrow = ndat.in, ncol = nsub) G.RBAR = matrix( data = g.rbar , nrow = ndat.in, ncol = nsub) PRATE.IN = matrix( data = prate.in, nrow = ndat.in, ncol = nsub) - WGT.OUT = ifelse( test = SG.MU %>% 0. & PRATE.IN %>% 0. + WGT.OUT = ifelse( test = SG.MU %gt% 0. & PRATE.IN %gt% 0. , yes = PRATE.IN / SG.MU * log(1.0/(1.0 - CDF.MAT)) , no = 1 / nsub )#end ifelse @@ -126,21 +126,21 @@ rain.downscale <<- function(lon,when.in,prate.in,mu.in.lut,nsub,rain.min=0.2/360 #---------------------------------------------------------------------------------------# if (mask.low){ ptotal.out = sum(prate.out) - prate.mask = ifelse(prate.out %>=% rain.min, prate.out, 0.) + prate.mask = ifelse(prate.out %ge% rain.min, prate.out, 0.) ptotal.mask = sum(prate.mask) - if (ptotal.mask %>=% rain.min){ + if (ptotal.mask %ge% rain.min){ prate.out = prate.mask * ptotal.out / ptotal.mask - }#end if (ptotal.mask %>=% rain.min) + }#end if (ptotal.mask %ge% rain.min) }#end if (mask.low) #---------------------------------------------------------------------------------------# #------ Make sure the average output rainfall matches the average input rainfall. ------# prate.out.bar = mean(prate.out,na.rm=TRUE) - if (prate.out.bar %>=% rain.min){ + if (prate.out.bar %ge% rain.min){ prate.in.bar = mean(prate.in,na.rm=TRUE) prate.out = prate.out * prate.in.bar / prate.out.bar - }#end if (prate.out.bar %>=% rain.min) + }#end if (prate.out.bar %ge% rain.min) #---------------------------------------------------------------------------------------# return(prate.out) diff --git a/R-utils/rconstants.r b/R-utils/rconstants.r index b1f65e8a0..478f76792 100644 --- a/R-utils/rconstants.r +++ b/R-utils/rconstants.r @@ -38,6 +38,7 @@ golden <<- 0.5*(1+sqrt(5.)) # Golden ratio [ #------------------------------------------------------------------------------------------# stefan <<- 5.6696e-8 # Stefan-Boltzmann constant [ W/m2/K4] boltzmann <<- 1.3806503e-23 # Boltzmann constant [m2 kg/s2/K] +astro <<- 149597870700 # One astronomical unit (as of 2012) [ m] t00 <<- 273.15 # 0 degC [ degC] rmol <<- 8.314510 # Molar gas constant [ J/mol/K] volmol <<- 0.022710980 # Molar volume at STP [ m3] @@ -46,6 +47,38 @@ clight <<- 299792458 # Speed of light [ #------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# General Earth properties # +#------------------------------------------------------------------------------------------# +vonk <<- 0.40 # Von Karman constant [ ---] +grav <<- 9.80665 # Gravity acceleration [ m/s2] +gg <<- .5 * grav # Half of grav [ m/s2] +erad <<- 6370997. # Earth radius [ m] +sunrad <<- 695508000. # Sun radius [ m] +spcon <<- pio180*erad # One degree of latitude [ m] +spconkm <<- spcon*0.001 # One degree of latitude [ km] +eradi <<- 1./erad # Inverse of Earth radius [ 1/m] +erad2 <<- erad*2 # Earth diameter [ m] +eprjarea <<- pi*erad^2 # Earth's projected area [ m2] +ausphere <<- 4*pi*astro^2 # Sphere area for one astronomical unit [ m2] +ehgt <<- 8500. # Earth's scale height (~ RT/g) [ m] +esolid <<- pi*sunrad^2/astro^2 # Solar angle of Earth's interception [ sr] +ss60 <<- 1.8663 # Polar stereo conversion to 60 deg [ ] +omega <<- 7.292e-5 # Earth's rotation speed [ rad/s] +viscos <<- .15e-4 # Viscosity coefficient [ ] +tsun <<- 5778 # Sun temperature [ K] +radsol <<- stefan*tsun^4/pi # Extraterrestrial solar irradiance [ W/m2] +solar <<- radsol*esolid # Solar constant [ W/m2] +p00 <<- 1.e5 # Reference pressure [ Pa] +prefsea <<- 101325. # Reference sea level pressure [ Pa] +p00i <<- 1. / p00 # 1/p00 [ 1/Pa] +o2.ref <<- 0.209 # Nominal O2 concentration [ mol/mol] +capri <<- -23.44 * pio180 # Tropic of Capricornium latitude [ rad] +shsummer <<- -10 # Day of year of S.Hemisphere summer solstice [ day] +#------------------------------------------------------------------------------------------# + + #------------------------------------------------------------------------------------------# # Molar masses and derived variables # #------------------------------------------------------------------------------------------# @@ -64,46 +97,112 @@ mmh2oi <<- 1./mmh2o # 1./mmh2o [ #------------------------------------------------------------------------------------------# -# Time conversion units # +# Conversion factors for time units. # #------------------------------------------------------------------------------------------# -yr.day <<- 365.2425 # # of days in a year [ day/yr] -yr.ftnight <<- 26 # # of fornights in a year [ftnight/yr] -yr.mon <<- 12 # # of months in a year [ mon/yr] -day.sec <<- 86400. # # of seconds in a day [ s/day] -day.sec2 <<- day.sec^2 # # Square of day.sec [ s2/day2] -day.mon <<- yr.day/yr.mon # # of days in a month [ day/mon] -day.min <<- 1440. # # of minutes in a day [ min/day] -day.hr <<- 24. # # of hours in a day [ hr/day] -hr.sec <<- 3600. # # of seconds in an hour [ s/hr] -hr.min <<- 60. # # of minutes in an hour [ min/hr] -min.sec <<- 60. # # of seconds in a minute [ s/min] -yr.sec <<- yr.day * day.sec # # of seconds in a year [ s/yr] -kg2g <<- 1000. # # of grams in a kilogram [ g/kg] +min.sec <<- 60. # # of seconds in a minute [ s/min] +hr.min <<- 60. # # of minutes in an hour [ min/hr] +day.hr <<- 24. # # of hours in a day [ hr/day] +day.week <<- 7. # # of days in a week [ day/wk] +yr.day <<- 365.2425 # # of days in a year [ day/yr] +yr.ftnight <<- 26 # # of fortnights in a year [ftnight/yr] +yr.mon <<- 12 # # of months in a year [ mon/yr] +#----- Derived quantities. ----------------------------------------------------------------# +hr.sec <<- hr.min * min.sec # # of seconds in an hour [ s/hr] +day.min <<- day.hr * hr.min # # of minutes in a day [ min/day] +day.sec <<- day.hr * hr.sec # # of seconds in a day [ s/day] +day.sec2 <<- day.sec^2 # # Square of day.sec [ s2/day2] +day.mon <<- yr.day/yr.mon # # of days in a month [ day/mon] +yr.sec <<- yr.day * day.sec # # of seconds in a year [ s/yr] +yr.week <<- yr.day / day.week # # of weeks in a year [ wk/yr] #------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# -# General Earth properties # +# Conversion factors for mass units. # #------------------------------------------------------------------------------------------# -vonk <<- 0.40 # Von Karman constant [ ---] -grav <<- 9.80665 # Gravity acceleration [ m/s2] -gg <<- .5 * grav # Half of grav [ m/s2] -erad <<- 6370997. # Earth radius [ m] -spcon <<- pio180*erad # One degree of latitude [ m] -spconkm <<- spcon*0.001 # One degree of latitude [ km] -eradi <<- 1./erad # Inverse of Earth radius [ 1/m] -erad2 <<- erad*2 # Earth diameter [ m] -ss60 <<- 1.8663 # Polar stereo conversion to 60 deg [ ] -omega <<- 7.292e-5 # Earth's rotation speed [ rad/s] -viscos <<- .15e-4 # Viscosity coefficient [ ] -solar <<- 1.3533e3 # Solar constant [ W/m2] -p00 <<- 1.e5 # Reference pressure [ Pa] -prefsea <<- 101325. # Reference sea level pressure [ Pa] -p00i <<- 1. / p00 # 1/p00 [ 1/Pa] -o2.ref <<- 0.209 # Nominal O2 concentration [ mol/mol] -capri <<- -23.44 * pio180 # Tropic of Capricornium latitude [ rad] -shsummer <<- -10 # Day of year of S.Hemisphere summer solstice [ day] +kg2g <<- 1000. # # of grams in a kilogram [ g/kg] +g2kg <<- 1. / kg2g # # of kilograms in a gram [ kg/g] +g2mg <<- 1000. # # of milligrams in a gram [ mg/g] +mg2g <<- 1. / g2mg # # of grams in a milligram [ g/mg] +mg2ug <<- 1000. # # of micrograms in a milligram [ ug/mg] +ug2mg <<- 1. / mg2ug # # of milligrams in a microgram [ mg/ug] +kg2mg <<- kg2g * g2mg # # of milligrams in a kilogram [ mg/kg] +mg2kg <<- 1. / kg2g # # of kilograms in a milligram [ kg/mg] +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Miscellaneous convertion factors. # +#------------------------------------------------------------------------------------------# +mol.2.mmol <<- 1.e3 # mol => mmol +mmol.2.mol <<- 1. / mol.2.mmol # mmol => mol +mol.2.umol <<- 1.e6 # mol => umol +umol.2.mol <<- 1. / mol.2.umol # umol => mol +umol.2.mmol <<- umol.2.mol * mol.2.mmol # umol => mmol +mmol.2.umol <<- 1. / umol.2.mmol # umol => mmol +umol.2.kgC <<- 1.20107e-8 # umol(CO2) => kg(C) +Watts.2.Ein <<- 4.6e-6 # W/m2 => mol/m2/s +Ein.2.Watts <<- 1./Watts.2.Ein # mol/m2/s => W/m2 +kgC.2.umol <<- 1. / umol.2.kgC # kg(C) => umol(CO2) +kgom2.2.tonoha <<- 10. # kg(C)/m2 => ton(C)/ha +tonoha.2.kgom2 <<- 0.1 # ton(C)/ha => kg(C)/m2 +umols.2.kgCyr <<- umol.2.kgC * yr.sec # umol(CO2)/s => kg(C)/yr +umols.2.kgWday <<- umol.2.mol*mmh2o*day.sec # umol (H2O)/s => kg (H2O) / day +mols.2.kgCyr <<- mol.2.umol * umols.2.kgCyr # umol(CO2)/s => kg(C)/yr +mols.2.kgWday <<- mol.2.umol * umols.2.kgWday # umol (H2O)/s => kg (H2O) / day +kgCyr.2.umols <<- 1. / umols.2.kgCyr # kg(C)/yr => umol(CO2)/s +kgCday.2.umols <<- kgC.2.umol / day.sec # kg(C)/day => umol(CO2)/s +kgWday.2.umols <<- 1. / umols.2.kgWday # kg (H2O) / day => umol (H2O)/s +Torr.2.Pa <<- prefsea / 760. # Torr => Pa +Pa.2.Torr <<- 1. / Torr.2.Pa # Pa => Torr +hPa.2.Pa <<- 100. # hPa => Pa +Pa.2.hPa <<- 1. / hPa.2.Pa # Pa => hPa +kPa.2.Pa <<- 1000. # kPa => Pa +Pa.2.kPa <<- 1. / kPa.2.Pa # Pa => kPa +kPa.2.hPa <<- kPa.2.Pa * Pa.2.hPa # kPa => hPa +hPa.2.kPa <<- 1. / kPa.2.hPa # hPa => kPa +MPa.2.Pa <<- 1.e6 # MPa => Pa +Pa.2.MPa <<- 1. / MPa.2.Pa # Pa => MPa +kt.2.mos <<- 1852 / hr.sec # knots => m/s +mos.2.kt <<- 1. / kt.2.mos # m/s => knots +frac2pc <<- 100. # fraction => percent +pc2frac <<- 1. / frac2pc # percent => fraction +cm.2.m <<- 0.01 # cm => m +m.2.cm <<- 1. / cm.2.m # m => cm +mm.2.m <<- 0.001 # mm => m +m.2.mm <<- 1. / mm.2.m # m => mm +dm.2.cm <<- 10. # mm => dm +cm.2.dm <<- 1. / dm.2.cm # dm => mm +mm.2.cm <<- 0.1 # mm => cm +cm.2.mm <<- 1. / mm.2.cm # cm => mm +um.2.mm <<- 0.001 # um => mm +mm.2.um <<- 1. / um.2.mm # mm => um +um.2.cm <<- um.2.mm * mm.2.cm # um => cm +cm.2.um <<- 1. / um.2.mm # cm => um +in.2.cm <<- 2.54 # in => cm +cm.2.in <<- 1. / in.2.cm # cm => in +in.2.m <<- in.2.cm * cm.2.m # in => m +m.2.in <<- 1. / in.2.m # m => in +ft.2.cm <<- 30.48 # ft => cm +cm.2.ft <<- 1. / ft.2.cm # cm => ft +ft.2.m <<- ft.2.cm * cm.2.m # ft => m +m.2.ft <<- 1. / ft.2.m # m => ft +ha.2.m2 <<- 10000. # hectare => m2 +m2.2.ha <<- 1./ha.2.m2 # m2 => hectare +m2.2.cm2 <<- m.2.cm^2 # cm2 => m2 +cm2.2.m2 <<- 1./m2.2.cm2 # m2 => cm2 +cm2.2.mm2 <<- cm.2.mm^2 # cm2 => mm2 +mm2.2.cm2 <<- 1./cm2.2.mm2 # mm2 => cm2 +m2.2.mm2 <<- m2.2.cm2 * cm2.2.mm2 # m2 => mm2 +mm2.2.m2 <<- 1. / m2.2.mm2 # mm2 => m2 +MJ.2.J <<- 1.e6 # MJ => J +J.2.MJ <<- 1./MJ.2.J # J => MJ +kJ.2.J <<- 1000. # kJ => J +J.2.kJ <<- 1./kJ.2.J # J => kJ +W.2.MJoday <<- J.2.MJ * day.sec # W (J/s) => MJ/day +MJoday.2.W <<- 1. / W.2.MJoday # MJ/day => W (J/s) #------------------------------------------------------------------------------------------# @@ -192,6 +291,20 @@ cliqi <<- 1./cliq # Inverse of water heat capacity +#------------------------------------------------------------------------------------------# +# Soil matric potential unit conversion. # +#------------------------------------------------------------------------------------------# +m.2.mpa <<- grav * wdns * 1.e-6 # Matric potential convesion [ mPa/m] +mpa.2.m <<- 1. / m.2.mpa # Matric potential convesion [ m/mPa] +mm.2.mpa <<- grav * wdns * 1.e-9 # Matric potential convesion [ mPa/mm] +mpa.2.mm <<- 1. / mm.2.mpa # Matric potential convesion [ mm/mPa] +um.2.mpa <<- grav * wdns * 1.e-12 # Matric potential convesion [ mPa/um] +mpa.2.um <<- 1. / um.2.mpa # Matric potential convesion [ um/mPa] +#------------------------------------------------------------------------------------------# + + + + #------------------------------------------------------------------------------------------# # Ice properties # #------------------------------------------------------------------------------------------# @@ -278,26 +391,6 @@ htripoli <<- cpdry*ttripoli # Sensible enthalpy at T=Ttr htripolii <<- 1./htripoli # 1./htripoli [ kg/J] #------------------------------------------------------------------------------------------# -#------------------------------------------------------------------------------------------# -# Unit conversion, it must be defined locally even for coupled runs. # -#------------------------------------------------------------------------------------------# -mol.2.umol <<- 1.e6 # mol => umol -umol.2.mol <<- 1.e-6 # umol => mol -umol.2.kgC <<- 1.20107e-8 # umol(CO2) => kg(C) -Watts.2.Ein <<- 4.6e-6 # W/m2 => mol/m2/s -Ein.2.Watts <<- 1./Watts.2.Ein # mol/m2/s => W/m2 -kgC.2.umol <<- 1. / umol.2.kgC # kg(C) => umol(CO2) -kgom2.2.tonoha <<- 10. # kg(C)/m2 => ton(C)/ha -tonoha.2.kgom2 <<- 0.1 # ton(C)/ha => kg(C)/m2 -umols.2.kgCyr <<- umol.2.kgC * yr.sec # umol(CO2)/s => kg(C)/yr -kgCyr.2.umols <<- 1. / umols.2.kgCyr # kg(C)/yr => umol(CO2)/s -kgCday.2.umols <<- kgC.2.umol / day.sec # kg(C)/day => umol(CO2)/s -Torr.2.Pa <<- prefsea / 760. # Torr => Pa -Pa.2.Torr <<- 1. / Torr.2.Pa # Pa => Torr -kt.2.mos <<- 1852 / hr.sec # knots => m/s -mos.2.kt <<- 1. / kt.2.mos # m/s => knots -#------------------------------------------------------------------------------------------# - #------------------------------------------------------------------------------------------# @@ -354,8 +447,14 @@ almost.one <<- 1.-almost.zero #------------------------------------------------------------------------------------------# # Default NA for chron objects. # #------------------------------------------------------------------------------------------# -NA_dates_ <<- chron(dates=NA) -NA_times_ <<- chron(times=NA) -NA_chron_ <<- chron(dates=NA,times=NA) +if ("chron" %in% rownames(installed.packages())){ + NA_dates_ <<- chron::chron(dates=NA) + NA_times_ <<- chron::chron(times=NA) + NA_chron_ <<- chron::chron(dates=NA,times=NA) +}#end if ("chron" %in% rownames(installed.packages())) +#------------------------------------------------------------------------------------------# + + +#---- Default NA for logical objects. -----------------------------------------------------# NA_logical_ <<- as.logical(NA) #------------------------------------------------------------------------------------------# diff --git a/R-utils/read.q.files.r b/R-utils/read.q.files.r index dfc756644..d586142ca 100644 --- a/R-utils/read.q.files.r +++ b/R-utils/read.q.files.r @@ -24,21 +24,17 @@ read.q.files <<- function( datum nzg = datum$nzg nzs = datum$nzs ndcycle = datum$ndcycle - isoilflg = datum$isoilflg slz = datum$slz slt = c(datum$slz[-1],0) - slxsand = datum$slxsand - slxclay = datum$slxclay - ntext = datum$ntext soil.prop = datum$soil.prop dslz = datum$dslz soil.depth = datum$soil.depth soil.dry = datum$soil.dry soil.poro = datum$soil.poro soilcp = datum$soil.prop$soilcp - slmsts = datum$soil.prop$slmsts - ka = datum$ka - kz = datum$kz + soilpo = datum$soil.prop$soilpo + kasi = datum$ka + kzsi = datum$kz #---------------------------------------------------------------------------------------# @@ -72,6 +68,7 @@ read.q.files <<- function( datum lu = datum$lu qmean = datum$qmean qmsqu = datum$qmsqu + site = datum$site patch = datum$patch qpatch = datum$qpatch cohort = datum$cohort @@ -110,15 +107,18 @@ read.q.files <<- function( datum h5file.bz2 = paste(datum$input[m],"bz2",sep=".") h5file.gz = paste(datum$input[m],"gz" ,sep=".") if (file.exists(h5file)){ + dummy = touch(h5file) mymont = hdf5load(file=h5file,load=FALSE,verbosity=0,tidy=TRUE) }else if(file.exists(h5file.bz2)){ + dummy = touch(h5file.bz2) temp.file = file.path(tempdir(),basename(h5file)) dummy = bunzip2(filename=h5file.bz2,destname=temp.file,remove=FALSE) mymont = hdf5load(file=temp.file,load=FALSE,verbosity=0,tidy=TRUE) dummy = file.remove(temp.file) }else if(file.exists(h5file.gz)){ + dummy = touch(h5file.gz) temp.file = file.path(tempdir(),basename(h5file)) dummy = gunzip(filename=h5file.gz,destname=temp.file,remove=FALSE) mymont = hdf5load(file=temp.file,load=FALSE,verbosity=0,tidy=TRUE) @@ -354,6 +354,21 @@ read.q.files <<- function( datum mymont$MMEAN.LLSPAN.CO = 12. / pft$leaf.turnover.rate[mymont$PFT] mymont$MMEAN.VM.BAR.CO = pft$vm0[mymont$PFT] }#end if (! "SLA" %in% names(mymont)) + #----- Patch-level mean diel for canopy temperature and density may be missing. -----# + if (mean(c(mymont$QMEAN.CAN.TEMP.PA)) %eq% 0.){ + mymont$QMEAN.CAN.EXNER.PA = press2exner ( pres = mymont$QMEAN.CAN.PRSS.PA ) + mymont$QMEAN.CAN.TEMP.PA = extheta2temp( exner = mymont$QMEAN.CAN.EXNER.PA + , theta = mymont$QMEAN.CAN.THETA.PA + )#end extheta2temp + mymont$QMEAN.CAN.RHOS.PA = idealdenssh ( pres = mymont$QMEAN.CAN.PRSS.PA + , temp = mymont$QMEAN.CAN.TEMP.PA + , qvpr = mymont$QMEAN.CAN.SHV.PA + )#end idealdenssh + mymont$QMEAN.CAN.DMOL.PA = idealdmolsh ( pres = mymont$QMEAN.CAN.PRSS.PA + , temp = mymont$QMEAN.CAN.TEMP.PA + , qvpr = mymont$QMEAN.CAN.SHV.PA + )#end idealdenssh + }#end if (mean(c(mymont$QMEAN.CAN.TEMP.PA)) %eq% 0.) #------------------------------------------------------------------------------------# @@ -365,6 +380,56 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# + #---- Read in the site-level area. --------------------------------------------------# + isi = sequence(mymont$NSITES.GLOBAL) + areasi = mymont$AREA.SI + nsites = mymont$PYSI.N + npatches = mymont$SIPA.N + nsites.tot = sum(nsites) + npatches.tot = sum(npatches) + #------------------------------------------------------------------------------------# + + + #----- Read a few patch-level variables. --------------------------------------------# + ntextsi = mymont$NTEXT.SOIL[,nzg] + ntextpa = rep(x=ntextsi,times=npatches) + areapa = mymont$AREA * rep(areasi,times=npatches) + areapa = areapa / sum(areapa) + isipa = rep(isi,times=npatches) + ipa = sequence(mymont$NPATCHES.GLOBAL) + lupa = mymont$DIST.TYPE + agepa = mymont$AGE + lslsi = mymont$LSL + lslpa = rep(x=lslsi,times=npatches) + kapa = rep(x=kasi ,times=npatches) + #------------------------------------------------------------------------------------# + + + #----- Create table for a few soil profile properties at patch level. ---------------# + dslz.pa = matrix(data=dslz ,nrow=npatches.tot,ncol=nzg,byrow=TRUE ) + soilcp.pa = matrix(data=soilcp[ntextpa],nrow=npatches.tot,ncol=nzg,byrow=FALSE) + soilpo.pa = matrix(data=soilpo[ntextpa],nrow=npatches.tot,ncol=nzg,byrow=FALSE) + soil.area = matrix(data=areapa ,nrow=npatches.tot,ncol=nzg,byrow=FALSE) + soil.lsl = matrix(data=lslpa ,nrow=npatches.tot,ncol=nzg,byrow=FALSE) + soil.valid = as.numeric(col(soil.lsl) >= soil.lsl) + 0 * soil.lsl + soil.mask = ifelse(test=col(soil.lsl) >= soil.lsl,yes=1.,no=NA_real_) + 0 * soil.lsl + soil.area = apply(X=soil.area*soil.valid, MARGIN=2,FUN=reweight.valid) + #------------------------------------------------------------------------------------# + + + + #------------------------------------------------------------------------------------# + # Weighting factors for top/bottom soil averages, which accounts for maximum # + # soil depth by site. # + #------------------------------------------------------------------------------------# + p.tt.wgtz = matrix(tt.wgtz,nrow=npatches.tot,ncol=nzg,byrow=TRUE) + p.tm.wgtz = matrix(tm.wgtz,nrow=npatches.tot,ncol=nzg,byrow=TRUE) + p.bm.wgtz = matrix(bm.wgtz,nrow=npatches.tot,ncol=nzg,byrow=TRUE) + p.tt.wgtz = t(apply(X=p.tt.wgtz*soil.valid,MARGIN=1,FUN=reweight.valid)) + p.tm.wgtz = t(apply(X=p.tm.wgtz*soil.valid,MARGIN=1,FUN=reweight.valid)) + p.bm.wgtz = t(apply(X=p.bm.wgtz*soil.valid,MARGIN=1,FUN=reweight.valid)) + #------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# # Find the mean latent heat of vaporisation. Because we assume it to be a # @@ -448,6 +513,7 @@ read.q.files <<- function( datum emean$gnd.shv [m] = mymont$MMEAN.GND.SHV.PY * kg2g emean$leaf.temp [m] = mymont$MMEAN.LEAF.TEMP.PY - t00 emean$leaf.water [m] = mymont$MMEAN.LEAF.WATER.PY + emean$leaf.water.im2 [m] = mymont$MMEAN.LEAF.WATER.IM2.PY emean$leaf.vpd [m] = mymont$MMEAN.LEAF.VPDEF.PY * 0.01 emean$wood.temp [m] = mymont$MMEAN.WOOD.TEMP.PY - t00 emean$hflxca [m] = - mymont$MMEAN.SENSIBLE.AC.PY @@ -510,6 +576,26 @@ read.q.files <<- function( datum emean$leaf.gbw [m] = mymont$MMEAN.LEAF.GBW.PY * day.sec emean$leaf.gsw [m] = mymont$MMEAN.LEAF.GSW.PY * day.sec emean$wood.gbw [m] = mymont$MMEAN.WOOD.GBW.PY * day.sec + #----- Snowpack/flooding variables. -------------------------------------------------# + emean$sfcw.mass [m] = mymont$MMEAN.SFCW.MASS.PY + emean$sfcw.temp [m] = mymont$MMEAN.SFCW.TEMP.PY - t00 + emean$sfcw.fliq [m] = mymont$MMEAN.SFCW.FLIQ.PY + emean$sfcw.depth [m] = mymont$MMEAN.SFCW.DEPTH.PY + emean$sfcw.cover [m] = mymont$MMEAN.SNOWFAC.PY + #----- Fire variables. --------------------------------------------------------------# + emean$fire.density [m] = mymont$MMEAN.FIRE.DENSITY.PY * 1.e6 + emean$fire.intensity [m] = mymont$MMEAN.FIRE.INTENSITY.PY * 1.e-3 + emean$fire.ignition [m] = mymont$MMEAN.IGNITION.RATE.PY * 1.e6 * mondays * day.sec + emean$fire.extinction [m] = 100. * (1. - exp(-mymont$MMEAN.FIRE.EXTINCTION.PY)) + emean$fire.spread [m] = mymont$MMEAN.FIRE.SPREAD.PY * min.sec + emean$fire.tlethal [m] = mymont$MMEAN.FIRE.TLETHAL.PY / min.sec + emean$fire.f.bherb [m] = mymont$MMEAN.FIRE.F.BHERB.PY * 100. + emean$fire.f.bwoody [m] = mymont$MMEAN.FIRE.F.BWOODY.PY * 100. + emean$fire.f.fgc [m] = mymont$MMEAN.FIRE.F.FGC.PY * 100. + emean$fire.f.stgc [m] = mymont$MMEAN.FIRE.F.STGC.PY * 100. + emean$burnt.area [m] = weighted.mean( x = mymont$BURNT.AREA * 100. + , w = areasi + )#end weigthed.mean #------------------------------------------------------------------------------------# @@ -532,13 +618,51 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# + # For soil properties, we must integrate across all patches, skipping layers # + # that were not solved by the model. This implies different weights across patches # + # for different layers (unused layers had weight set to zero). We do not set na.rm # + # to TRUE because we may have layers that were not resolved at all, and they shall # + # remain undefined. # + #------------------------------------------------------------------------------------# + soil.temp.lyr = apply( X = ( mymont$MMEAN.SOIL.TEMP.PA - t00 ) * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.water.lyr = apply( X = mymont$MMEAN.SOIL.WATER.PA * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.mstpot.lyr = apply( X = mymont$MMEAN.SOIL.MSTPOT.PA * soil.area + * (-1.) * grav * wdns * 1.e-6 + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.extracted.lyr = apply( X = mymont$MMEAN.TRANSLOSS.PA * soil.area / dslz.pa + * day.sec + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.wetness.lyr = ( ( mymont$MMEAN.SOIL.WATER.PA - soilcp.pa) + / ( soilpo.pa - soilcp.pa) ) + soil.wetness.lyr = apply( X = soil.wetness.lyr * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + #------------------------------------------------------------------------------------# + #------ Read in soil properties. ----------------------------------------------------# - emean$soil.temp [m,] = mymont$MMEAN.SOIL.TEMP.PY - t00 - emean$soil.water [m,] = mymont$MMEAN.SOIL.WATER.PY - emean$soil.mstpot [m,] = - mymont$MMEAN.SOIL.MSTPOT.PY * grav * wdns * 1.e-6 - emean$soil.extracted[m,] = - mymont$MMEAN.TRANSLOSS.PY * day.sec / dslz + emean$soil.temp [m,] = soil.temp.lyr + emean$soil.water [m,] = soil.water.lyr + emean$soil.mstpot [m,] = soil.mstpot.lyr + emean$soil.extracted[m,] = soil.extracted.lyr #------------------------------------------------------------------------------------# @@ -546,9 +670,6 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# # Find average near-surface soil temperature. # #------------------------------------------------------------------------------------# - soil.temp.lyr = mymont$MMEAN.SOIL.TEMP.PY - t00 - soil.water.lyr = mymont$MMEAN.SOIL.WATER.PY - soil.wetness.lyr = (soil.water.lyr - soilcp) / (slmsts - soilcp) emean$soil.temp.top [m] = sum(soil.temp.lyr * tt.wgtz) emean$soil.water.top [m] = sum(soil.water.lyr * tm.wgtz) * wdns * dz.msttop emean$soil.water.bot [m] = sum(soil.water.lyr * bm.wgtz) * wdns * dz.mstbot @@ -559,12 +680,22 @@ read.q.files <<- function( datum #----- Find averaged soil properties. -----------------------------------------------# - swater.now = rev(cumsum(rev(mymont$MMEAN.SOIL.WATER.PY * wdns * dslz))) - smoist.avg = swater.now / (wdns * soil.depth) - emean$paw [m] = 100. * ( ( swater.now[ka] - soil.dry [ka] ) - / ( soil.poro [ka] - soil.dry [ka] ) ) - emean$smpot[m] = ( - smoist2mpot(smoist=smoist.avg[ka],mysoil=soil.prop) - * 0.001 * grav ) + emean$paw [m] = 0. + emean$smpot[m] = 0. + for (p in sequence(npatches.tot)){ + ntext = ntextpa[p] + ka = kapa [p] + swater.now = rev(cumsum(rev(mymont$MMEAN.SOIL.WATER.PA[p,] * wdns * dslz))) + smoist.now = swater.now / (wdns * soil.depth) + paw.now = ( 100. * ( ( swater.now - soil.dry [,ntext] ) + / ( soil.poro [,ntext] - soil.dry [,ntext] ) ) + )#end paw.now + smpot.now = ( smoist2mpot(smoist=smoist.now,mysoil=soil.prop[ntext,]) + * (-1.) * grav * wdns * 1.e-6 + )#end smpot.now + emean$paw [m] = emean$paw [m] + paw.now [ka] * areapa[p] + emean$smpot[m] = emean$smpot[m] + smpot.now[ka] * areapa[p] + }#end for (p in sequence(nsites)) #------------------------------------------------------------------------------------# @@ -613,107 +744,156 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# # Read the mean diurnal cycle and the mean sum of the squares. # #------------------------------------------------------------------------------------# - qmean$gpp [m,] = mymont$QMEAN.GPP.PY - qmean$npp [m,] = mymont$QMEAN.NPP.PY - qmean$het.resp [m,] = mymont$QMEAN.RH.PY - qmean$fgc.resp [m,] = mymont$QMEAN.FGC.RH.PY - qmean$fsc.resp [m,] = mymont$QMEAN.FSC.RH.PY - qmean$stgc.resp [m,] = mymont$QMEAN.STGC.RH.PY - qmean$stsc.resp [m,] = mymont$QMEAN.STSC.RH.PY - qmean$msc.resp [m,] = mymont$QMEAN.MSC.RH.PY - qmean$ssc.resp [m,] = mymont$QMEAN.SSC.RH.PY - qmean$psc.resp [m,] = mymont$QMEAN.PSC.RH.PY - qmean$assim.light [m,] = mymont$QMEAN.A.LIGHT.PY - qmean$assim.rubp [m,] = mymont$QMEAN.A.RUBP.PY - qmean$assim.co2 [m,] = mymont$QMEAN.A.CO2.PY - qmean$assim.ratio [m,] = ( mymont$QMEAN.A.LIGHT.PY - / pmax(1e-6, pmin( mymont$QMEAN.A.RUBP.PY - , mymont$QMEAN.A.CO2.PY ))) - qmean$nee [m,] = ( mymont$QMEAN.CARBON.ST.PY - - mymont$QMEAN.CARBON.AC.PY ) - qmean$reco [m,] = mymont$QMEAN.PLRESP.PY + mymont$QMEAN.RH.PY - qmean$cflxca [m,] = - mymont$QMEAN.CARBON.AC.PY - qmean$cflxst [m,] = - mymont$QMEAN.CARBON.ST.PY - qmean$hflxca [m,] = - mymont$QMEAN.SENSIBLE.AC.PY - qmean$hflxlc [m,] = mymont$QMEAN.SENSIBLE.LC.PY - qmean$hflxwc [m,] = mymont$QMEAN.SENSIBLE.WC.PY - qmean$hflxgc [m,] = mymont$QMEAN.SENSIBLE.GC.PY - qmean$wflxca [m,] = - mymont$QMEAN.VAPOR.AC.PY * day.sec - qmean$qwflxca [m,] = - mymont$QMEAN.VAPOR.AC.PY * qmean.can.alvli.py - qmean$wflxlc [m,] = mymont$QMEAN.VAPOR.LC.PY * day.sec - qmean$wflxwc [m,] = mymont$QMEAN.VAPOR.WC.PY * day.sec - qmean$wflxgc [m,] = mymont$QMEAN.VAPOR.GC.PY * day.sec - qmean$runoff [m,] = ( mymont$QMEAN.RUNOFF.PY - + mymont$QMEAN.DRAINAGE.PY ) * day.sec - qmean$intercepted [m,] = ( mymont$QMEAN.INTERCEPTED.AL.PY - + mymont$QMEAN.INTERCEPTED.AW.PY ) * day.sec - qmean$wshed [m,] = ( mymont$QMEAN.WSHED.LG.PY - + mymont$QMEAN.WSHED.WG.PY ) * day.sec - qmean$evap [m,] = ( mymont$QMEAN.VAPOR.GC.PY - + mymont$QMEAN.VAPOR.WC.PY - + mymont$QMEAN.VAPOR.LC.PY ) * day.sec - qmean$transp [m,] = mymont$QMEAN.TRANSP.PY * day.sec - qmean$atm.temp [m,] = mymont$QMEAN.ATM.TEMP.PY - t00 - qmean$can.temp [m,] = mymont$QMEAN.CAN.TEMP.PY - t00 - qmean$leaf.temp [m,] = mymont$QMEAN.LEAF.TEMP.PY - t00 - qmean$leaf.water [m,] = mymont$QMEAN.LEAF.WATER.PY - qmean$wood.temp [m,] = mymont$QMEAN.WOOD.TEMP.PY - t00 - qmean$gnd.temp [m,] = mymont$QMEAN.GND.TEMP.PY - t00 - qmean$atm.shv [m,] = mymont$QMEAN.ATM.SHV.PY * kg2g - qmean$can.shv [m,] = mymont$QMEAN.CAN.SHV.PY * kg2g - qmean$gnd.shv [m,] = mymont$QMEAN.GND.SHV.PY * kg2g - qmean$atm.vpd [m,] = mymont$QMEAN.ATM.VPDEF.PY * 0.01 - qmean$can.vpd [m,] = mymont$QMEAN.CAN.VPDEF.PY * 0.01 - qmean$leaf.vpd [m,] = mymont$QMEAN.LEAF.VPDEF.PY * 0.01 - qmean$atm.co2 [m,] = mymont$QMEAN.ATM.CO2.PY - qmean$can.co2 [m,] = mymont$QMEAN.CAN.CO2.PY - qmean$atm.vels [m,] = mymont$QMEAN.ATM.VELS.PY - qmean$ustar [m,] = mymont$QMEAN.USTAR.PY - qmean$atm.prss [m,] = mymont$QMEAN.ATM.PRSS.PY * 0.01 - qmean$can.prss [m,] = mymont$QMEAN.CAN.PRSS.PY * 0.01 - qmean$sm.stress [m,] = 1. - mymont$QMEAN.FS.OPEN.PY - qmean$rain [m,] = mymont$QMEAN.PCPG.PY * day.sec - qmean$rshort [m,] = mymont$QMEAN.ATM.RSHORT.PY - qmean$rshort.beam [m,] = ( mymont$QMEAN.ATM.RSHORT.PY - - mymont$QMEAN.ATM.RSHORT.DIFF.PY ) - qmean$rshort.diff [m,] = mymont$QMEAN.ATM.RSHORT.DIFF.PY - qmean$rshort.gnd [m,] = mymont$QMEAN.RSHORT.GND.PY - qmean$rshortup [m,] = mymont$QMEAN.RSHORTUP.PY - qmean$rlong [m,] = mymont$QMEAN.ATM.RLONG.PY - qmean$rlong.gnd [m,] = mymont$QMEAN.RLONG.GND.PY - qmean$rlongup [m,] = mymont$QMEAN.RLONGUP.PY - qmean$par.tot [m,] = mymont$QMEAN.ATM.PAR.PY * Watts.2.Ein * 1.e6 - qmean$par.beam [m,] = ( mymont$QMEAN.ATM.PAR.PY - - mymont$QMEAN.ATM.PAR.DIFF.PY ) * Watts.2.Ein * 1.e6 - qmean$par.diff [m,] = mymont$QMEAN.ATM.PAR.DIFF.PY * Watts.2.Ein * 1.e6 - qmean$par.gnd [m,] = mymont$QMEAN.PAR.GND.PY * Watts.2.Ein * 1.e6 - qmean$parup [m,] = mymont$QMEAN.PARUP.PY * Watts.2.Ein * 1.e6 - qmean$par.leaf [m,] = mymont$QMEAN.PAR.L.PY * Watts.2.Ein * 1.e6 - qmean$par.leaf.beam[m,] = mymont$QMEAN.PAR.L.BEAM.PY * Watts.2.Ein * 1.e6 - qmean$par.leaf.diff[m,] = mymont$QMEAN.PAR.L.DIFF.PY * Watts.2.Ein * 1.e6 - qmean$rnet [m,] = mymont$QMEAN.RNET.PY - qmean$albedo [m,] = mymont$QMEAN.ALBEDO.PY + qmean$gpp [m,] = mymont$QMEAN.GPP.PY + qmean$npp [m,] = mymont$QMEAN.NPP.PY + qmean$het.resp [m,] = mymont$QMEAN.RH.PY + qmean$fgc.resp [m,] = mymont$QMEAN.FGC.RH.PY + qmean$fsc.resp [m,] = mymont$QMEAN.FSC.RH.PY + qmean$stgc.resp [m,] = mymont$QMEAN.STGC.RH.PY + qmean$stsc.resp [m,] = mymont$QMEAN.STSC.RH.PY + qmean$msc.resp [m,] = mymont$QMEAN.MSC.RH.PY + qmean$ssc.resp [m,] = mymont$QMEAN.SSC.RH.PY + qmean$psc.resp [m,] = mymont$QMEAN.PSC.RH.PY + qmean$assim.light [m,] = mymont$QMEAN.A.LIGHT.PY + qmean$assim.rubp [m,] = mymont$QMEAN.A.RUBP.PY + qmean$assim.co2 [m,] = mymont$QMEAN.A.CO2.PY + qmean$assim.ratio [m,] = ( mymont$QMEAN.A.LIGHT.PY + / pmax(1e-6, pmin( mymont$QMEAN.A.RUBP.PY + , mymont$QMEAN.A.CO2.PY ))) + qmean$nee [m,] = ( mymont$QMEAN.CARBON.ST.PY + - mymont$QMEAN.CARBON.AC.PY ) + qmean$reco [m,] = mymont$QMEAN.PLRESP.PY + mymont$QMEAN.RH.PY + qmean$cflxca [m,] = - mymont$QMEAN.CARBON.AC.PY + qmean$cflxst [m,] = - mymont$QMEAN.CARBON.ST.PY + qmean$hflxca [m,] = - mymont$QMEAN.SENSIBLE.AC.PY + qmean$hflxlc [m,] = mymont$QMEAN.SENSIBLE.LC.PY + qmean$hflxwc [m,] = mymont$QMEAN.SENSIBLE.WC.PY + qmean$hflxgc [m,] = mymont$QMEAN.SENSIBLE.GC.PY + qmean$wflxca [m,] = - mymont$QMEAN.VAPOR.AC.PY * day.sec + qmean$qwflxca [m,] = - mymont$QMEAN.VAPOR.AC.PY * qmean.can.alvli.py + qmean$wflxlc [m,] = mymont$QMEAN.VAPOR.LC.PY * day.sec + qmean$wflxwc [m,] = mymont$QMEAN.VAPOR.WC.PY * day.sec + qmean$wflxgc [m,] = mymont$QMEAN.VAPOR.GC.PY * day.sec + qmean$runoff [m,] = ( mymont$QMEAN.RUNOFF.PY + + mymont$QMEAN.DRAINAGE.PY ) * day.sec + qmean$intercepted [m,] = ( mymont$QMEAN.INTERCEPTED.AL.PY + + mymont$QMEAN.INTERCEPTED.AW.PY ) * day.sec + qmean$wshed [m,] = ( mymont$QMEAN.WSHED.LG.PY + + mymont$QMEAN.WSHED.WG.PY ) * day.sec + qmean$evap [m,] = ( mymont$QMEAN.VAPOR.GC.PY + + mymont$QMEAN.VAPOR.WC.PY + + mymont$QMEAN.VAPOR.LC.PY ) * day.sec + qmean$transp [m,] = mymont$QMEAN.TRANSP.PY * day.sec + qmean$atm.temp [m,] = mymont$QMEAN.ATM.TEMP.PY - t00 + qmean$can.temp [m,] = mymont$QMEAN.CAN.TEMP.PY - t00 + qmean$leaf.temp [m,] = mymont$QMEAN.LEAF.TEMP.PY - t00 + qmean$leaf.water [m,] = mymont$QMEAN.LEAF.WATER.PY + qmean$leaf.water.im2[m,] = mymont$QMEAN.LEAF.WATER.IM2.PY + qmean$wood.temp [m,] = mymont$QMEAN.WOOD.TEMP.PY - t00 + qmean$gnd.temp [m,] = mymont$QMEAN.GND.TEMP.PY - t00 + qmean$atm.shv [m,] = mymont$QMEAN.ATM.SHV.PY * kg2g + qmean$can.shv [m,] = mymont$QMEAN.CAN.SHV.PY * kg2g + qmean$gnd.shv [m,] = mymont$QMEAN.GND.SHV.PY * kg2g + qmean$atm.vpd [m,] = mymont$QMEAN.ATM.VPDEF.PY * 0.01 + qmean$can.vpd [m,] = mymont$QMEAN.CAN.VPDEF.PY * 0.01 + qmean$leaf.vpd [m,] = mymont$QMEAN.LEAF.VPDEF.PY * 0.01 + qmean$atm.co2 [m,] = mymont$QMEAN.ATM.CO2.PY + qmean$can.co2 [m,] = mymont$QMEAN.CAN.CO2.PY + qmean$atm.vels [m,] = mymont$QMEAN.ATM.VELS.PY + qmean$ustar [m,] = mymont$QMEAN.USTAR.PY + qmean$atm.prss [m,] = mymont$QMEAN.ATM.PRSS.PY * 0.01 + qmean$can.prss [m,] = mymont$QMEAN.CAN.PRSS.PY * 0.01 + qmean$sm.stress [m,] = 1. - mymont$QMEAN.FS.OPEN.PY + qmean$rain [m,] = mymont$QMEAN.PCPG.PY * day.sec + qmean$rshort [m,] = mymont$QMEAN.ATM.RSHORT.PY + qmean$rshort.beam [m,] = ( mymont$QMEAN.ATM.RSHORT.PY + - mymont$QMEAN.ATM.RSHORT.DIFF.PY ) + qmean$rshort.diff [m,] = mymont$QMEAN.ATM.RSHORT.DIFF.PY + qmean$rshort.gnd [m,] = mymont$QMEAN.RSHORT.GND.PY + qmean$rshortup [m,] = mymont$QMEAN.RSHORTUP.PY + qmean$rlong [m,] = mymont$QMEAN.ATM.RLONG.PY + qmean$rlong.gnd [m,] = mymont$QMEAN.RLONG.GND.PY + qmean$rlongup [m,] = mymont$QMEAN.RLONGUP.PY + qmean$par.tot [m,] = mymont$QMEAN.ATM.PAR.PY * Watts.2.Ein * 1.e6 + qmean$par.beam [m,] = ( mymont$QMEAN.ATM.PAR.PY + - mymont$QMEAN.ATM.PAR.DIFF.PY ) * Watts.2.Ein * 1.e6 + qmean$par.diff [m,] = mymont$QMEAN.ATM.PAR.DIFF.PY * Watts.2.Ein * 1.e6 + qmean$par.gnd [m,] = mymont$QMEAN.PAR.GND.PY * Watts.2.Ein * 1.e6 + qmean$parup [m,] = mymont$QMEAN.PARUP.PY * Watts.2.Ein * 1.e6 + qmean$par.leaf [m,] = mymont$QMEAN.PAR.L.PY * Watts.2.Ein * 1.e6 + qmean$par.leaf.beam [m,] = mymont$QMEAN.PAR.L.BEAM.PY * Watts.2.Ein * 1.e6 + qmean$par.leaf.diff [m,] = mymont$QMEAN.PAR.L.DIFF.PY * Watts.2.Ein * 1.e6 + qmean$rnet [m,] = mymont$QMEAN.RNET.PY + qmean$albedo [m,] = mymont$QMEAN.ALBEDO.PY if (all(c("QMEAN.ALBEDO.PAR.PY","QMEAN.ALBEDO.NIR.PY") %in% names(mymont))){ - qmean$albedo.par[m,] = mymont$QMEAN.ALBEDO.PAR.PY - qmean$albedo.nir[m,] = mymont$QMEAN.ALBEDO.NIR.PY + qmean$albedo.par [m,] = mymont$QMEAN.ALBEDO.PAR.PY + qmean$albedo.nir [m,] = mymont$QMEAN.ALBEDO.NIR.PY }else{ - qmean$albedo.par[m,] = ifelse( mymont$QMEAN.ATM.PAR.PY > 0.5 - , mymont$QMEAN.PARUP.PY / mymont$QMEAN.ATM.PAR.PY - , mymont$QMEAN.ALBEDO.PY - )#end ifelse - qmean$albedo.nir[m,] = ifelse( mymont$QMEAN.ATM.NIR.PY > 0.5 - , mymont$QMEAN.NIRUP.PY / mymont$QMEAN.ATM.NIR.PY - , mymont$QMEAN.ALBEDO.PY - )#end ifelse + qmean$albedo.par [m,] = ifelse( mymont$QMEAN.ATM.PAR.PY > 0.5 + , mymont$QMEAN.PARUP.PY / mymont$QMEAN.ATM.PAR.PY + , mymont$QMEAN.ALBEDO.PY + )#end ifelse + qmean$albedo.nir [m,] = ifelse( mymont$QMEAN.ATM.NIR.PY > 0.5 + , mymont$QMEAN.NIRUP.PY / mymont$QMEAN.ATM.NIR.PY + , mymont$QMEAN.ALBEDO.PY + )#end ifelse }#end if - qmean$rlong.albedo [m,] = mymont$QMEAN.RLONG.ALBEDO.PY - qmean$leaf.gbw [m,] = mymont$QMEAN.LEAF.GBW.PY * day.sec - qmean$leaf.gsw [m,] = mymont$QMEAN.LEAF.GSW.PY * day.sec - qmean$wood.gbw [m,] = mymont$QMEAN.WOOD.GBW.PY * day.sec - qmean$rk4step [m,] = mymont$QMEAN.RK4STEP.PY - qmean$soil.water [m,,] = mymont$QMEAN.SOIL.WATER.PY - qmean$soil.temp [m,,] = mymont$QMEAN.SOIL.TEMP.PY - t00 - qmean$soil.mstpot [m,,] = - mymont$QMEAN.SOIL.MSTPOT.PY * grav * wdns * 1.e-6 + qmean$rlong.albedo [m,] = mymont$QMEAN.RLONG.ALBEDO.PY + qmean$leaf.gbw [m,] = mymont$QMEAN.LEAF.GBW.PY * day.sec + qmean$leaf.gsw [m,] = mymont$QMEAN.LEAF.GSW.PY * day.sec + qmean$wood.gbw [m,] = mymont$QMEAN.WOOD.GBW.PY * day.sec + qmean$rk4step [m,] = mymont$QMEAN.RK4STEP.PY + #------------------------------------------------------------------------------------# + + + + #------ For soils, we must account for different soil depths. -----------------------# + for (h in sequence(ndcycle)){ + odim = dim(mymont$QMEAN.SOIL.TEMP.PA)[-2] + soil.temp.pa = mymont$QMEAN.SOIL.TEMP.PA [,h,] - t00 + soil.water.pa = mymont$QMEAN.SOIL.WATER.PA[,h,] + soil.temp.pa = array(soil.temp.pa ,dim=odim) + soil.water.pa = array(soil.water.pa,dim=odim) + soil.mstpot.pa = soil.water.pa * (-1.) * grav * wdns * 1.e-6 + soil.wetness.pa = ( ( soil.water.pa - soilcp.pa) + / ( soilpo.pa - soilcp.pa) ) + + + #----- Populate data structure by hour of the day. -------------------------------# + soil.temp.lyr = apply( X = soil.temp.pa * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.water.lyr = apply( X = soil.water.pa * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.mstpot.lyr = apply( X = soil.mstpot.pa * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + soil.wetness.lyr = apply( X = soil.wetness.pa * soil.area + , MARGIN = 2 + , FUN = sum + , na.rm = FALSE + )#end apply + #---------------------------------------------------------------------------------# + + + #----- Copy results for the hour. ------------------------------------------------# + qmean$soil.temp [m,h,] = soil.temp.lyr + qmean$soil.water [m,h,] = soil.water.lyr + qmean$soil.mstpot [m,h,] = soil.mstpot.lyr + qmean$soil.temp.top [m,h ] = sum(soil.temp.lyr * tt.wgtz) + qmean$soil.water.top [m,h ] = sum(soil.water.lyr * tm.wgtz) * wdns * dz.msttop + qmean$soil.water.bot [m,h ] = sum(soil.water.lyr * bm.wgtz) * wdns * dz.mstbot + qmean$soil.wetness.top[m,h ] = sum(soil.wetness.lyr * tm.wgtz) + qmean$soil.wetness.bot[m,h ] = sum(soil.wetness.lyr * bm.wgtz) + #---------------------------------------------------------------------------------# + }#end for (h in sequence(ndcycle)) #------------------------------------------------------------------------------------# @@ -751,36 +931,6 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# - - #------------------------------------------------------------------------------------# - # Find average soil temperature and water content at specific layers. # - #------------------------------------------------------------------------------------# - soil.temp.lyr = mymont$QMEAN.SOIL.TEMP.PY [1,,] - t00 - soil.water.lyr = mymont$QMEAN.SOIL.WATER.PY[1,,] - soil.wetness.lyr = (soil.water.lyr - soilcp) / (slmsts - soilcp) - qmean$soil.temp.top [m,] = rowSums(soil.temp.lyr * q.tt.wgtz) - qmean$soil.water.top [m,] = rowSums(soil.water.lyr * q.tm.wgtz) * wdns * dz.msttop - qmean$soil.water.bot [m,] = rowSums(soil.water.lyr * q.bm.wgtz) * wdns * dz.mstbot - qmean$soil.wetness.top[m,] = rowSums(soil.wetness.lyr * q.tm.wgtz) - qmean$soil.wetness.bot[m,] = rowSums(soil.wetness.lyr * q.bm.wgtz) - #------------------------------------------------------------------------------------# - - - #---- Read in the site-level area. --------------------------------------------------# - areasi = mymont$AREA.SI - npatches = mymont$SIPA.N - #------------------------------------------------------------------------------------# - - - #----- Read a few patch-level variables. --------------------------------------------# - areapa = mymont$AREA * rep(areasi,times=npatches) - areapa = areapa / sum(areapa) - ipa = sequence(mymont$NPATCHES.GLOBAL) - lupa = mymont$DIST.TYPE - agepa = mymont$AGE - #------------------------------------------------------------------------------------# - - #------------------------------------------------------------------------------------# # Get the water deficit, and the estimate using Malhi's ET (100mm/month). # #------------------------------------------------------------------------------------# @@ -819,7 +969,10 @@ read.q.files <<- function( datum # Get the total number of cohorts. # #------------------------------------------------------------------------------------# ncohorts = mymont$PACO.N - ipaconow = rep(sequence(mymont$NPATCHES.GLOBAL),times=mymont$PACO.N) + isiconow = rep( x = isipa , times = mymont$PACO.N) + lslconow = rep( x = lslpa , times = mymont$PACO.N) + ntextconow = rep( x = ntextpa, times = mymont$PACO.N) + ipaconow = rep( x = ipa , times = mymont$PACO.N) q.ipaconow = matrix( data = ipaconow , nrow = mymont$NCOHORTS.GLOBAL , ncol = mymont$NDCYC @@ -922,6 +1075,7 @@ read.q.files <<- function( datum )#end size2ca )#end pmin taiconow = laiconow + waiconow + agvolumeconow = agbconow / wood.densconow * 1.e-3 #------ Auxiliary variables for mean diurnal cycle. ------------------------------# q.pftconow = matrix( data = pftconow , nrow = mymont$NCOHORTS.GLOBAL @@ -1102,10 +1256,10 @@ read.q.files <<- function( datum #----- Flags to tell whether leaves and branchwood were resolvable. --------------# - leaf.okconow = mymont$MMEAN.LEAF.HCAP.CO %>=% pft$veg.hcap.min[pftconow ] - wood.okconow = mymont$MMEAN.WOOD.HCAP.CO %>=% pft$veg.hcap.min[pftconow ] - q.leaf.okconow = mymont$QMEAN.LEAF.HCAP.CO %>=% pft$veg.hcap.min[q.pftconow] - q.wood.okconow = mymont$QMEAN.WOOD.HCAP.CO %>=% pft$veg.hcap.min[q.pftconow] + leaf.okconow = mymont$MMEAN.LEAF.HCAP.CO %ge% pft$veg.hcap.min[pftconow ] + wood.okconow = mymont$MMEAN.WOOD.HCAP.CO %ge% pft$veg.hcap.min[pftconow ] + q.leaf.okconow = mymont$QMEAN.LEAF.HCAP.CO %ge% pft$veg.hcap.min[q.pftconow] + q.wood.okconow = mymont$QMEAN.WOOD.HCAP.CO %ge% pft$veg.hcap.min[q.pftconow] #---------------------------------------------------------------------------------# @@ -1300,6 +1454,13 @@ read.q.files <<- function( datum #---------------------------------------------------------------------------------# + + #----- Leaf water potential. -----------------------------------------------------# + dmin.leaf.psiconow = mymont$MMEAN.DMIN.LEAF.PSI.CO * wdns * grav * 1.e-6 + dmax.leaf.psiconow = mymont$MMEAN.DMAX.LEAF.PSI.CO * wdns * grav * 1.e-6 + #---------------------------------------------------------------------------------# + + #----- Find the net radiation for leaves (in m2/leaf!). --------------------------# par.mult = Watts.2.Ein * 1.e6 leaf.parconow = ifelse( leaf.okconow & showconow @@ -1358,39 +1519,47 @@ read.q.files <<- function( datum #---------------------------------------------------------------------------------# # Leaf/wood thermal properties. # #---------------------------------------------------------------------------------# - leaf.waterconow = ifelse( test = leaf.okconow & showconow - , yes = mymont$MMEAN.LEAF.WATER.CO / laiconow - , no = NA - )#end ifelse - leaf.tempconow = ifelse( test = leaf.okconow & showconow - , yes = mymont$MMEAN.LEAF.TEMP.CO - t00 - , no = NA - )#end ifelse - wood.tempconow = ifelse( test = wood.okconow & showconow - , yes = mymont$MMEAN.WOOD.TEMP.CO - t00 - , no = NA - )#end ifelse - leaf.vpdconow = ifelse( test = leaf.okconow & showconow - , yes = mymont$MMEAN.LEAF.VPDEF.CO * 0.01 - , no = NA - )#end ifelse - #----- Mean diurnal cycle. -------------------------------------------------------# - q.leaf.waterconow = ifelse( test = q.leaf.okconow & q.showconow - , yes = mymont$QMEAN.LEAF.WATER.CO / q.laiconow + leaf.waterconow = ifelse( test = leaf.okconow & showconow + , yes = mymont$MMEAN.LEAF.WATER.CO / laiconow + , no = NA + )#end ifelse + leaf.water.im2conow = ifelse( test = leaf.okconow & showconow + , yes = mymont$MMEAN.LEAF.WATER.IM2.CO / laiconow , no = NA )#end ifelse - q.leaf.tempconow = ifelse( test = q.leaf.okconow & q.showconow - , yes = mymont$QMEAN.LEAF.TEMP.CO - t00 + leaf.tempconow = ifelse( test = leaf.okconow & showconow + , yes = mymont$MMEAN.LEAF.TEMP.CO - t00 , no = NA )#end ifelse - q.wood.tempconow = ifelse( test = q.wood.okconow & q.showconow - , yes = mymont$QMEAN.WOOD.TEMP.CO - t00 + wood.tempconow = ifelse( test = wood.okconow & showconow + , yes = mymont$MMEAN.WOOD.TEMP.CO - t00 , no = NA )#end ifelse - q.leaf.vpdconow = ifelse( test = q.leaf.okconow & q.showconow - , yes = mymont$QMEAN.LEAF.VPDEF.CO * 0.01 + leaf.vpdconow = ifelse( test = leaf.okconow & showconow + , yes = mymont$MMEAN.LEAF.VPDEF.CO * 0.01 , no = NA )#end ifelse + #----- Mean diurnal cycle. -------------------------------------------------------# + q.leaf.waterconow = ifelse( test = q.leaf.okconow & q.showconow + , yes = mymont$QMEAN.LEAF.WATER.CO / q.laiconow + , no = NA + )#end ifelse + q.leaf.water.im2conow = ifelse( test = q.leaf.okconow & q.showconow + , yes = mymont$QMEAN.LEAF.WATER.IM2.CO / q.laiconow + , no = NA + )#end ifelse + q.leaf.tempconow = ifelse( test = q.leaf.okconow & q.showconow + , yes = mymont$QMEAN.LEAF.TEMP.CO - t00 + , no = NA + )#end ifelse + q.wood.tempconow = ifelse( test = q.wood.okconow & q.showconow + , yes = mymont$QMEAN.WOOD.TEMP.CO - t00 + , no = NA + )#end ifelse + q.leaf.vpdconow = ifelse( test = q.leaf.okconow & q.showconow + , yes = mymont$QMEAN.LEAF.VPDEF.CO * 0.01 + , no = NA + )#end ifelse #---------------------------------------------------------------------------------# @@ -1453,6 +1622,17 @@ read.q.files <<- function( datum #---------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------# + # Find fire lethality rate. # + #---------------------------------------------------------------------------------# + fire.lethalconow = mymont$MMEAN.FIRE.LETHAL.RATE.CO + #---------------------------------------------------------------------------------# + + + + #------ Find the AGB and basal area of the previous month. -----------------------# agbcolmon = agbconow * exp(-agb.growthconow/12.) bacolmon = baconow * exp(-bsa.growthconow/12.) @@ -1501,24 +1681,28 @@ read.q.files <<- function( datum phap.leaf.gsaconow = NA + pftconow phap.can.shv.conow = NA + pftconow }else if (one.cohort){ - phap.lparconow = mean(mymont$QMEAN.PAR.L.CO [phap]) - phap.ltempconow = mean(mymont$QMEAN.LEAF.TEMP.CO [phap]) - phap.lwaterconow = mean(mymont$QMEAN.LEAF.WATER.CO[phap]) - phap.lvpdconow = mean(mymont$QMEAN.LEAF.VPDEF.CO[phap]) - phap.fs.openconow = mean(mymont$QMEAN.FS.OPEN.CO [phap]) - phap.lpsiconow = mean(mymont$QMEAN.TRANSP.CO [phap]) - phap.leaf.gbaconow = mean(mymont$QMEAN.LEAF.GBW.CO [phap]) - phap.leaf.gsaconow = mean(mymont$QMEAN.LEAF.GSW.CO [phap]) - phap.can.shv.conow = rep(mean(mymont$QMEAN.CAN.SHV.PA[phap]),times=ncohorts) + phap.lparconow = mean(mymont$QMEAN.PAR.L.CO [phap]) + phap.ltempconow = mean(mymont$QMEAN.LEAF.TEMP.CO [phap]) + phap.lwaterconow = mean(mymont$QMEAN.LEAF.WATER.CO [phap]) + phap.lwater.im2conow = mean(mymont$QMEAN.LEAF.WATER.IM2.CO [phap]) + phap.lvpdconow = mean(mymont$QMEAN.LEAF.VPDEF.CO [phap]) + phap.fs.openconow = mean(mymont$QMEAN.FS.OPEN.CO [phap]) + phap.lpsiconow = mean(mymont$QMEAN.TRANSP.CO [phap]) + phap.leaf.gbaconow = mean(mymont$QMEAN.LEAF.GBW.CO [phap]) + phap.leaf.gsaconow = mean(mymont$QMEAN.LEAF.GSW.CO [phap]) + phap.can.shv.conow = rep( x = mean(mymont$QMEAN.CAN.SHV.PA[phap]) + , times = ncohorts + )#end rep }else{ - phap.lparconow = rowMeans(mymont$QMEAN.PAR.L.CO [,phap]) - phap.ltempconow = rowMeans(mymont$QMEAN.LEAF.TEMP.CO [,phap]) - phap.lwaterconow = rowMeans(mymont$QMEAN.LEAF.WATER.CO[,phap]) - phap.lvpdconow = rowMeans(mymont$QMEAN.LEAF.VPDEF.CO[,phap]) - phap.fs.openconow = rowMeans(mymont$QMEAN.FS.OPEN.CO [,phap]) - phap.lpsiconow = rowMeans(mymont$QMEAN.TRANSP.CO [,phap]) - phap.leaf.gbaconow = rowMeans(mymont$QMEAN.LEAF.GBW.CO [,phap]) - phap.leaf.gsaconow = rowMeans(mymont$QMEAN.LEAF.GSW.CO [,phap]) + phap.lparconow = rowMeans(mymont$QMEAN.PAR.L.CO [,phap]) + phap.ltempconow = rowMeans(mymont$QMEAN.LEAF.TEMP.CO [,phap]) + phap.lwaterconow = rowMeans(mymont$QMEAN.LEAF.WATER.CO [,phap]) + phap.lwater.im2conow = rowMeans(mymont$QMEAN.LEAF.WATER.IM2.CO[,phap]) + phap.lvpdconow = rowMeans(mymont$QMEAN.LEAF.VPDEF.CO [,phap]) + phap.fs.openconow = rowMeans(mymont$QMEAN.FS.OPEN.CO [,phap]) + phap.lpsiconow = rowMeans(mymont$QMEAN.TRANSP.CO [,phap]) + phap.leaf.gbaconow = rowMeans(mymont$QMEAN.LEAF.GBW.CO [,phap]) + phap.leaf.gsaconow = rowMeans(mymont$QMEAN.LEAF.GSW.CO [,phap]) if (one.patch){ phap.can.shv.conow = rep( x = mean(mymont$QMEAN.CAN.SHV.PA[phap]) , times = ncohorts @@ -1585,132 +1769,140 @@ read.q.files <<- function( datum }else{ #----- Make everything NA. -------------------------------------------------------# - ipaconow = NA - icoconow = NA - areaconow = NA - luconow = NA - dbhconow = NA - dbhcut = NA - dbhlevs = NA - dbhfac = NA - dbhconow.1ago = NA - dbhcut.1ago = NA - dbhlevs.1ago = NA - dbhfac.1ago = NA - dbhconow.lmon = NA - dbhcut.lmon = NA - dbhlevs.lmon = NA - dbhfac.lmon = NA - ageconow = NA - pftconow = NA - nplantconow = NA - heightconow = NA - wood.densconow = NA - vm0conow = NA - llspanconow = NA - slaconow = NA - baconow = NA - agbconow = NA - biomassconow = NA - laiconow = NA - waiconow = NA - taiconow = NA - gppconow = NA - leaf.respconow = NA - stem.respconow = NA - root.respconow = NA - froot.respconow = NA - croot.respconow = NA - aerobic.respconow = NA - growth.respconow = NA - storage.respconow = NA - plant.respconow = NA - assim.lightconow = NA - assim.rubpconow = NA - assim.co2conow = NA - assim.ratioconow = NA - nppconow = NA - cbaconow = NA - cbamaxconow = NA - cbalightconow = NA - cbamoistconow = NA - cbarelconow = NA - mcostconow = NA - ldropconow = NA - dcbadtconow = NA - sm.stressconow = NA - lightconow = NA - light.beamconow = NA - light.diffconow = NA - thbarkconow = NA - baliveconow = NA - bdeadconow = NA - btimberconow = NA - bleafconow = NA - bsapwoodconow = NA - bfrootconow = NA - bcrootconow = NA - brootconow = NA - bstemconow = NA - bbarkconow = NA - bstorageconow = NA - bseedsconow = NA - byieldconow = NA - hflxlcconow = NA - wflxlcconow = NA - transpconow = NA - i.hflxlcconow = NA - i.wflxlcconow = NA - i.transpconow = NA - wueconow = NA - cueconow = NA - ecueconow = NA - etueconow = NA - leaf.tempconow = NA - leaf.waterconow = NA - wood.tempconow = NA - leaf.vpdconow = NA - demandconow = NA - supplyconow = NA - mortconow = NA - ncbmortconow = NA - hydmortconow = NA - dimortconow = NA - recruitconow = NA - growthconow = NA - agb.growthconow = NA - bsa.growthconow = NA - leaf.gbwconow = NA - leaf.gswconow = NA - wood.gbwconow = NA - f.gppconow = NA - f.plant.respconow = NA - f.nppconow = NA - f.mcoconow = NA - f.dcbadtconow = NA - f.cbaconow = NA - f.bstorageconow = NA - f.bleafconow = NA - f.bstemconow = NA - f.brootconow = NA - f.bbarkconow = NA - f.bseedsconow = NA - leaf.parconow = NA - leaf.par.beamconow = NA - leaf.par.diffconow = NA - leaf.rshortconow = NA - leaf.rlongconow = NA - leaf.gppconow = NA - rueconow = NA - opencanconow = NA - useconow = NA - phap.lparconow = NA - phap.ltempconow = NA - phap.lwaterconow = NA - phap.lvpdconow = NA - phap.smsconow = NA - phap.lgbwconow = NA - phap.lgswconow = NA + isiconow = NA_integer_ + lslconow = NA_integer_ + ntextconow = NA_integer_ + ipaconow = NA_integer_ + icoconow = NA_integer_ + areaconow = NA_real_ + luconow = NA_integer_ + dbhconow = NA_real_ + dbhcut = NA_real_ + dbhlevs = NA_real_ + dbhfac = NA_real_ + dbhconow.1ago = NA_real_ + dbhcut.1ago = NA_real_ + dbhlevs.1ago = NA_real_ + dbhfac.1ago = NA_real_ + dbhconow.lmon = NA_real_ + dbhcut.lmon = NA_real_ + dbhlevs.lmon = NA_real_ + dbhfac.lmon = NA_real_ + ageconow = NA_real_ + pftconow = NA_integer_ + nplantconow = NA_real_ + heightconow = NA_real_ + wood.densconow = NA_real_ + vm0conow = NA_real_ + llspanconow = NA_real_ + slaconow = NA_real_ + baconow = NA_real_ + agbconow = NA_real_ + biomassconow = NA_real_ + laiconow = NA_real_ + waiconow = NA_real_ + taiconow = NA_real_ + agvolumeconow = NA_real_ + gppconow = NA_real_ + leaf.respconow = NA_real_ + stem.respconow = NA_real_ + root.respconow = NA_real_ + froot.respconow = NA_real_ + croot.respconow = NA_real_ + aerobic.respconow = NA_real_ + growth.respconow = NA_real_ + storage.respconow = NA_real_ + plant.respconow = NA_real_ + assim.lightconow = NA_real_ + assim.rubpconow = NA_real_ + assim.co2conow = NA_real_ + assim.ratioconow = NA_real_ + nppconow = NA_real_ + cbaconow = NA_real_ + cbamaxconow = NA_real_ + cbalightconow = NA_real_ + cbamoistconow = NA_real_ + cbarelconow = NA_real_ + mcostconow = NA_real_ + ldropconow = NA_real_ + dcbadtconow = NA_real_ + sm.stressconow = NA_real_ + lightconow = NA_real_ + light.beamconow = NA_real_ + light.diffconow = NA_real_ + thbarkconow = NA_real_ + baliveconow = NA_real_ + bdeadconow = NA_real_ + btimberconow = NA_real_ + bleafconow = NA_real_ + bsapwoodconow = NA_real_ + bfrootconow = NA_real_ + bcrootconow = NA_real_ + brootconow = NA_real_ + bstemconow = NA_real_ + bbarkconow = NA_real_ + bstorageconow = NA_real_ + bseedsconow = NA_real_ + byieldconow = NA_real_ + hflxlcconow = NA_real_ + wflxlcconow = NA_real_ + transpconow = NA_real_ + i.hflxlcconow = NA_real_ + i.wflxlcconow = NA_real_ + i.transpconow = NA_real_ + wueconow = NA_real_ + cueconow = NA_real_ + ecueconow = NA_real_ + etueconow = NA_real_ + leaf.tempconow = NA_real_ + leaf.waterconow = NA_real_ + leaf.water.im2conow = NA_real_ + wood.tempconow = NA_real_ + leaf.vpdconow = NA_real_ + demandconow = NA_real_ + supplyconow = NA_real_ + mortconow = NA_real_ + ncbmortconow = NA_real_ + hydmortconow = NA_real_ + dimortconow = NA_real_ + fire.lethalconow = NA_real_ + recruitconow = NA_real_ + growthconow = NA_real_ + agb.growthconow = NA_real_ + bsa.growthconow = NA_real_ + leaf.gbwconow = NA_real_ + leaf.gswconow = NA_real_ + wood.gbwconow = NA_real_ + f.gppconow = NA_real_ + f.plant.respconow = NA_real_ + f.nppconow = NA_real_ + f.mcoconow = NA_real_ + f.dcbadtconow = NA_real_ + f.cbaconow = NA_real_ + f.bstorageconow = NA_real_ + f.bleafconow = NA_real_ + f.bstemconow = NA_real_ + f.brootconow = NA_real_ + f.bbarkconow = NA_real_ + f.bseedsconow = NA_real_ + leaf.parconow = NA_real_ + leaf.par.beamconow = NA_real_ + leaf.par.diffconow = NA_real_ + leaf.rshortconow = NA_real_ + leaf.rlongconow = NA_real_ + leaf.gppconow = NA_real_ + dmin.leaf.psiconow = NA_real_ + dmax.leaf.psiconow = NA_real_ + rueconow = NA_real_ + opencanconow = NA_real_ + useconow = NA_real_ + phap.lparconow = NA_real_ + phap.ltempconow = NA_real_ + phap.lwaterconow = NA_real_ + phap.lvpdconow = NA_real_ + phap.smsconow = NA_real_ + phap.lgbwconow = NA_real_ + phap.lgswconow = NA_real_ }#end if #------------------------------------------------------------------------------------# #====================================================================================# @@ -1731,6 +1923,9 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# plab = paste0("y",sprintf("%4.4i",thisyear),"m",sprintf("%2.2i",thismonth)) #----- Bind the current patches. ----------------------------------------------------# + patch$isi [[plab]] = isipa + patch$lsl [[plab]] = lslpa + patch$ntext [[plab]] = ntextpa patch$ipa [[plab]] = ipa patch$age [[plab]] = agepa patch$area [[plab]] = areapa @@ -1769,18 +1964,25 @@ read.q.files <<- function( datum patch$rshort.gnd [[plab]] = mymont$MMEAN.RSHORT.GND.PA patch$par.gnd [[plab]] = mymont$MMEAN.PAR.GND.PA * Watts.2.Ein * 1e6 patch$rnet [[plab]] = mymont$MMEAN.RNET.PA + patch$sfcw.temp [[plab]] = mymont$MMEAN.SFCW.TEMP.PA - t00 + patch$sfcw.fliq [[plab]] = mymont$MMEAN.SFCW.FLIQ.PA + patch$sfcw.mass [[plab]] = mymont$MMEAN.SFCW.MASS.PA + patch$sfcw.depth [[plab]] = mymont$MMEAN.SFCW.DEPTH.PA + patch$sfcw.cover [[plab]] = mymont$MMEAN.SNOWFAC.PA #----- Find soil averages. ----------------------------------------------------------# - soil.temp.lyr = mymont$MMEAN.SOIL.TEMP.PA - t00 - soil.water.lyr = mymont$MMEAN.SOIL.WATER.PA - soil.wetness.lyr = (soil.water.lyr - soilcp) / (slmsts - soilcp) - p.tt.wgtz = matrix(tt.wgtz,nrow=npatches,ncol=nzg,byrow=TRUE) - p.tm.wgtz = matrix(tm.wgtz,nrow=npatches,ncol=nzg,byrow=TRUE) - p.bm.wgtz = matrix(bm.wgtz,nrow=npatches,ncol=nzg,byrow=TRUE) - patch$soil.temp.top [[plab]] = rowSums(soil.temp.lyr * p.tt.wgtz) - patch$soil.water.top [[plab]] = rowSums(soil.water.lyr * p.tm.wgtz) * wdns*dz.msttop - patch$soil.water.bot [[plab]] = rowSums(soil.water.lyr * p.bm.wgtz) * wdns*dz.mstbot - patch$soil.wetness.top[[plab]] = rowSums(soil.water.lyr * p.tm.wgtz) - patch$soil.wetness.bot[[plab]] = rowSums(soil.water.lyr * p.bm.wgtz) + soil.temp.lyr = mymont$MMEAN.SOIL.TEMP.PA * soil.mask - t00 + soil.water.lyr = mymont$MMEAN.SOIL.WATER.PA * soil.mask + soil.wetness.lyr = ( (soil.water.lyr - soilcp.pa) + / (soilpo.pa - soilcp.pa) ) * soil.mask + patch$soil.temp.top [[plab]] = rowSums(soil.temp.lyr * p.tt.wgtz,na.rm=TRUE) + patch$soil.water.top [[plab]] = ( rowSums(soil.water.lyr * p.tm.wgtz,na.rm=TRUE) + * wdns*dz.msttop + )#end soil.water.top + patch$soil.water.bot [[plab]] = ( rowSums(soil.water.lyr * p.bm.wgtz,na.rm=TRUE) + * wdns*dz.mstbot + )#end soil.water.bot + patch$soil.wetness.top[[plab]] = rowSums(soil.water.lyr * p.tm.wgtz,na.rm=TRUE) + patch$soil.wetness.bot[[plab]] = rowSums(soil.water.lyr * p.bm.wgtz,na.rm=TRUE) #----- Bind the current mean diurnal cycle patch. -----------------------------------# qpatch$rk4step [[plab]] = mymont$QMEAN.RK4STEP.PA qpatch$nep [[plab]] = mymont$QMEAN.NEP.PA @@ -1823,92 +2025,122 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# # Initialise patch-level properties that are derived from cohort-level. # #------------------------------------------------------------------------------------# - patch$lai [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$wai [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$agb [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$ba [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$nplant [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$wood.dens [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$vm0 [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$llspan [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$sla [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$can.depth [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$can.area [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$sm.stress [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$leaf.temp [[plab]] = mymont$MMEAN.CAN.TEMP.PA - t00 - patch$leaf.water [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$leaf.vpd [[plab]] = mymont$MMEAN.CAN.VPDEF.PA * 0.01 - patch$wood.temp [[plab]] = mymont$MMEAN.CAN.TEMP.PA - t00 - patch$par.leaf [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$par.leaf.beam [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$par.leaf.diff [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$phap.lpar [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$phap.ltemp [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$phap.lwater [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$phap.lvpd [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$phap.sms [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$phap.lgbw [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$phap.lgsw [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$leaf.gpp [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$leaf.gsw [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$leaf.par [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$leaf.par.beam [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$leaf.par.diff [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$assim.light [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$assim.rubp [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$assim.co2 [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) - patch$gpp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$npp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$cba [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$plant.resp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$hflxlc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$hflxwc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$wflxlc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$wflxwc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$transp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) - patch$soil.resp [[plab]] = mymont$MMEAN.RH.PA - patch$fast.grnd.c [[plab]] = mymont$MMEAN.FAST.GRND.C.PA - patch$fast.soil.c [[plab]] = mymont$MMEAN.FAST.SOIL.C.PA - patch$struct.grnd.c [[plab]] = mymont$MMEAN.STRUCT.GRND.C.PA - patch$struct.soil.c [[plab]] = mymont$MMEAN.STRUCT.SOIL.C.PA - patch$microbe.soil.c[[plab]] = mymont$MMEAN.MICROBE.SOIL.C.PA - patch$slow.soil.c [[plab]] = mymont$MMEAN.SLOW.SOIL.C.PA - patch$passive.soil.c[[plab]] = mymont$MMEAN.PASSIVE.SOIL.C.PA - patch$fgc.in [[plab]] = mymont$MMEAN.FGC.IN.PA - patch$fsc.in [[plab]] = mymont$MMEAN.FSC.IN.PA - patch$stgc.in [[plab]] = mymont$MMEAN.STGC.IN.PA - patch$stsc.in [[plab]] = mymont$MMEAN.STSC.IN.PA - patch$soil.temp [[plab]] = mymont$MMEAN.SOIL.TEMP.PA - t00 - patch$soil.water [[plab]] = mymont$MMEAN.SOIL.WATER.PA - patch$soil.mstpot [[plab]] = - mymont$MMEAN.SOIL.MSTPOT.PA * grav * wdns * 1.e-6 + patch$lai [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$wai [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$agb [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$ba [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$nplant [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$wood.dens [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$vm0 [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$llspan [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$sla [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$can.depth [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$can.area [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$sm.stress [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$leaf.temp [[plab]] = mymont$MMEAN.CAN.TEMP.PA - t00 + patch$leaf.water [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$leaf.water.im2 [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$leaf.vpd [[plab]] = mymont$MMEAN.CAN.VPDEF.PA * 0.01 + patch$wood.temp [[plab]] = mymont$MMEAN.CAN.TEMP.PA - t00 + patch$par.leaf [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$par.leaf.beam [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$par.leaf.diff [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$phap.lpar [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$phap.ltemp [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$phap.lwater [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$phap.lvpd [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$phap.sms [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$phap.lgbw [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$phap.lgsw [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$leaf.gpp [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$leaf.gsw [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$dmin.leaf.psi [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$dmax.leaf.psi [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$leaf.par [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$leaf.par.beam [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$leaf.par.diff [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$assim.light [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$assim.rubp [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$assim.co2 [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$gpp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$npp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$cba [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$plant.resp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$hflxlc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$hflxwc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$wflxlc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$wflxwc [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$transp [[plab]] = rep(0. ,times=mymont$NPATCHES.GLOBAL) + patch$soil.resp [[plab]] = mymont$MMEAN.RH.PA + patch$fast.grnd.c [[plab]] = mymont$MMEAN.FAST.GRND.C.PA + patch$fast.soil.c [[plab]] = mymont$MMEAN.FAST.SOIL.C.PA + patch$struct.grnd.c [[plab]] = mymont$MMEAN.STRUCT.GRND.C.PA + patch$struct.soil.c [[plab]] = mymont$MMEAN.STRUCT.SOIL.C.PA + patch$microbe.soil.c [[plab]] = mymont$MMEAN.MICROBE.SOIL.C.PA + patch$slow.soil.c [[plab]] = mymont$MMEAN.SLOW.SOIL.C.PA + patch$passive.soil.c [[plab]] = mymont$MMEAN.PASSIVE.SOIL.C.PA + patch$fgc.in [[plab]] = mymont$MMEAN.FGC.IN.PA + patch$fsc.in [[plab]] = mymont$MMEAN.FSC.IN.PA + patch$stgc.in [[plab]] = mymont$MMEAN.STGC.IN.PA + patch$stsc.in [[plab]] = mymont$MMEAN.STSC.IN.PA + patch$soil.temp [[plab]] = mymont$MMEAN.SOIL.TEMP.PA - t00 + patch$soil.water [[plab]] = mymont$MMEAN.SOIL.WATER.PA + patch$soil.mstpot [[plab]] = - mymont$MMEAN.SOIL.MSTPOT.PA * grav * wdns * 1.e-6 + #------ Demographic rates. ----------------------------------------------------------# + patch$growth [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$agb.growth [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$acc.growth [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$bsa.growth [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$mort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$ncbmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$hydmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$dimort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$fire.lethal [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$agb.mort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$agb.ncbmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$agb.hydmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$agb.dimort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$acc.mort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$acc.ncbmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$acc.hydmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$acc.dimort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$bsa.mort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$bsa.ncbmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$bsa.hydmort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$bsa.dimort [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$recr [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$agb.recr [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$acc.recr [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) + patch$bsa.recr [[plab]] = rep(NA_real_,times=mymont$NPATCHES.GLOBAL) #------ Mean diurnal cycle. ---------------------------------------------------------# zero.qpatch = matrix(data=0., nrow=mymont$NPATCHES.GLOBAL,ncol=mymont$NDCYC) na.qpatch = matrix(data=NA, nrow=mymont$NPATCHES.GLOBAL,ncol=mymont$NDCYC) - qpatch$sm.stress [[plab]] = na.qpatch - qpatch$leaf.temp [[plab]] = mymont$QMEAN.CAN.TEMP.PA - t00 - qpatch$leaf.water [[plab]] = zero.qpatch - qpatch$leaf.vpd [[plab]] = mymont$QMEAN.CAN.VPDEF.PA * 0.01 - qpatch$wood.temp [[plab]] = mymont$QMEAN.CAN.TEMP.PA - t00 - qpatch$par.leaf [[plab]] = zero.qpatch - qpatch$par.leaf.beam[[plab]] = zero.qpatch - qpatch$par.leaf.diff[[plab]] = zero.qpatch - qpatch$leaf.gpp [[plab]] = na.qpatch - qpatch$leaf.gsw [[plab]] = na.qpatch - qpatch$leaf.par [[plab]] = na.qpatch - qpatch$leaf.par.beam[[plab]] = na.qpatch - qpatch$leaf.par.diff[[plab]] = na.qpatch - qpatch$assim.light [[plab]] = na.qpatch - qpatch$assim.rubp [[plab]] = na.qpatch - qpatch$assim.co2 [[plab]] = na.qpatch - qpatch$gpp [[plab]] = zero.qpatch - qpatch$npp [[plab]] = zero.qpatch - qpatch$plant.resp [[plab]] = zero.qpatch - qpatch$hflxlc [[plab]] = zero.qpatch - qpatch$hflxwc [[plab]] = zero.qpatch - qpatch$wflxlc [[plab]] = zero.qpatch - qpatch$wflxwc [[plab]] = zero.qpatch - qpatch$transp [[plab]] = zero.qpatch - qpatch$soil.resp [[plab]] = mymont$QMEAN.RH.PA + qpatch$sm.stress [[plab]] = na.qpatch + qpatch$leaf.temp [[plab]] = mymont$QMEAN.CAN.TEMP.PA - t00 + qpatch$leaf.water [[plab]] = zero.qpatch + qpatch$leaf.water.im2[[plab]] = zero.qpatch + qpatch$leaf.vpd [[plab]] = mymont$QMEAN.CAN.VPDEF.PA * 0.01 + qpatch$wood.temp [[plab]] = mymont$QMEAN.CAN.TEMP.PA - t00 + qpatch$par.leaf [[plab]] = zero.qpatch + qpatch$par.leaf.beam [[plab]] = zero.qpatch + qpatch$par.leaf.diff [[plab]] = zero.qpatch + qpatch$leaf.gpp [[plab]] = na.qpatch + qpatch$leaf.gsw [[plab]] = na.qpatch + qpatch$leaf.par [[plab]] = na.qpatch + qpatch$leaf.par.beam [[plab]] = na.qpatch + qpatch$leaf.par.diff [[plab]] = na.qpatch + qpatch$assim.light [[plab]] = na.qpatch + qpatch$assim.rubp [[plab]] = na.qpatch + qpatch$assim.co2 [[plab]] = na.qpatch + qpatch$gpp [[plab]] = zero.qpatch + qpatch$npp [[plab]] = zero.qpatch + qpatch$plant.resp [[plab]] = zero.qpatch + qpatch$hflxlc [[plab]] = zero.qpatch + qpatch$hflxwc [[plab]] = zero.qpatch + qpatch$wflxlc [[plab]] = zero.qpatch + qpatch$wflxwc [[plab]] = zero.qpatch + qpatch$transp [[plab]] = zero.qpatch + qpatch$soil.resp [[plab]] = mymont$QMEAN.RH.PA #------------------------------------------------------------------------------------# @@ -1918,54 +2150,63 @@ read.q.files <<- function( datum #---------------------------------------------------------------------------------# #----- Find some auxiliary patch-level properties. -------------------------------# - nplant.pa = tapply( X = mymont$NPLANT * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - lai.pa = tapply( X = mymont$MMEAN.LAI.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - wai.pa = tapply( X = mymont$WAI.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - leaf.energy.pa = tapply( X = mymont$MMEAN.LEAF.ENERGY.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - leaf.water.pa = tapply( X = mymont$MMEAN.LEAF.WATER.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - leaf.hcap.pa = tapply( X = mymont$MMEAN.LEAF.HCAP.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - par.leaf.pa = tapply( X = mymont$MMEAN.PAR.L.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - par.leaf.beam.pa = tapply( X = mymont$MMEAN.PAR.L.BEAM.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - par.leaf.diff.pa = tapply( X = mymont$MMEAN.PAR.L.DIFF.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - wood.energy.pa = tapply( X = mymont$MMEAN.WOOD.ENERGY.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - wood.water.pa = tapply( X = mymont$MMEAN.WOOD.WATER.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply - wood.hcap.pa = tapply( X = mymont$MMEAN.WOOD.HCAP.CO * showconow - , INDEX = ipaconow - , FUN = sum - )#end tapply + nplant.pa = tapply( X = mymont$NPLANT * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + lai.pa = tapply( X = mymont$MMEAN.LAI.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + wai.pa = tapply( X = mymont$WAI.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + + leaf.energy.pa = tapply( X = mymont$MMEAN.LEAF.ENERGY.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + leaf.water.pa = tapply( X = mymont$MMEAN.LEAF.WATER.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + leaf.water.im2.pa = tapply( X = mymont$MMEAN.LEAF.WATER.IM2.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + leaf.hcap.pa = tapply( X = mymont$MMEAN.LEAF.HCAP.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + par.leaf.pa = tapply( X = mymont$MMEAN.PAR.L.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + par.leaf.beam.pa = tapply( X = mymont$MMEAN.PAR.L.BEAM.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + par.leaf.diff.pa = tapply( X = mymont$MMEAN.PAR.L.DIFF.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + wood.energy.pa = tapply( X = mymont$MMEAN.WOOD.ENERGY.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + wood.water.pa = tapply( X = mymont$MMEAN.WOOD.WATER.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + wood.water.im2.pa = tapply( X = mymont$MMEAN.WOOD.WATER.IM2.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply + wood.hcap.pa = tapply( X = mymont$MMEAN.WOOD.HCAP.CO * showconow + , INDEX = ipaconow + , FUN = sum + )#end tapply #----- Make root respiration extensive. ------------------------------------------# root.resp.pa = tapply( X = root.respconow*nplantconow , INDEX = ipaconow @@ -2002,18 +2243,21 @@ read.q.files <<- function( datum #----- Find the temperature and liquid fraction of leaf and wood. ----------------# - leaf.empty = leaf.hcap.pa == 0 - wood.empty = wood.hcap.pa == 0 - leaf.temp.pa = uextcm2tl( uext = leaf.energy.pa - , wmass = leaf.water.pa - , dryhcap = leaf.hcap.pa )$temp - t00 - wood.temp.pa = uextcm2tl( uext = wood.energy.pa - , wmass = wood.water.pa - , dryhcap = wood.hcap.pa )$temp - t00 - leaf.water.pa = leaf.water.pa / lai.pa - leaf.temp.pa [leaf.empty] = NA - leaf.water.pa[leaf.empty] = NA - wood.temp.pa [wood.empty] = NA + leaf.empty = leaf.hcap.pa == 0 + wood.empty = wood.hcap.pa == 0 + leaf.temp.pa = uextcm2tl( uext = leaf.energy.pa + , wmass = leaf.water.pa + + leaf.water.im2.pa + , dryhcap = leaf.hcap.pa )$temp - t00 + wood.temp.pa = uextcm2tl( uext = wood.energy.pa + , wmass = wood.water.pa + + wood.water.im2.pa + , dryhcap = wood.hcap.pa )$temp - t00 + leaf.water.pa = leaf.water.pa / lai.pa + leaf.temp.pa [leaf.empty] = NA_real_ + leaf.water.pa [leaf.empty] = NA_real_ + leaf.water.im2.pa[leaf.empty] = NA_real_ + wood.temp.pa [wood.empty] = NA_real_ #---------------------------------------------------------------------------------# @@ -2021,12 +2265,42 @@ read.q.files <<- function( datum #----- Find the variables that must be rendered extensive. -----------------------# - agb.pa = tapply(X=agbconow*nplantconow,INDEX=ipaconow,FUN=sum,na.rm=TRUE) - ba.pa = tapply(X=baconow *nplantconow,INDEX=ipaconow,FUN=sum,na.rm=TRUE) - gpp.pa = tapply(X=gppconow*nplantconow,INDEX=ipaconow,FUN=sum,na.rm=TRUE) - npp.pa = tapply(X=nppconow*nplantconow,INDEX=ipaconow,FUN=sum,na.rm=TRUE) - cba.pa = tapply(X=cbaconow*nplantconow,INDEX=ipaconow,FUN=sum,na.rm=TRUE) - plant.resp.pa = tapply( X = plant.respconow*nplantconow + agb.pa = tapply( X = agbconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + agvolume.pa = tapply( X = agvolumeconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + bleaf.pa = tapply( X = bleafconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + ba.pa = tapply( X = baconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + gpp.pa = tapply( X = gppconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + npp.pa = tapply( X = nppconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + cba.pa = tapply( X = cbaconow * nplantconow * showconow + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + plant.resp.pa = tapply( X = plant.respconow * nplantconow * showconow , INDEX = ipaconow , FUN = sum , na.rm = TRUE @@ -2077,6 +2351,21 @@ read.q.files <<- function( datum + #---------------------------------------------------------------------------------# + # Canopy water potential is scaled by the canopy volume (based on Xiangtao's # + # suggestion). # + #---------------------------------------------------------------------------------# + dmin.leaf.psi.pa = mapply( FUN = weighted.mean + , x = split(dmin.leaf.psiconow,ipaconow) + , w = split(agvolumeconow ,ipaconow) + , SIMPLIFY = TRUE + )#end mapply + dmax.leaf.psi.pa = mapply( FUN = weighted.mean + , x = split(dmax.leaf.psiconow,ipaconow) + , w = split(agvolumeconow ,ipaconow) + , SIMPLIFY = TRUE + )#end mapply + #---------------------------------------------------------------------------------# #---------------------------------------------------------------------------------# @@ -2216,83 +2505,271 @@ read.q.files <<- function( datum , SIMPLIFY = TRUE )#end mapply #----- Discard data from empty cohorts. -----------------------------------------# - leaf.gpp.pa [leaf.empty] = NA - leaf.par.pa [leaf.empty] = NA - leaf.par.beam.pa[leaf.empty] = NA - leaf.par.diff.pa[leaf.empty] = NA - leaf.gsw.pa [leaf.empty] = NA - leaf.vpd.pa [leaf.empty] = NA - sm.stress.pa [leaf.empty] = NA - assim.light.pa [leaf.empty] = NA - assim.rubp.pa [leaf.empty] = NA - assim.co2.pa [leaf.empty] = NA - phap.lpar.pa [leaf.empty] = NA - phap.ltemp.pa [leaf.empty] = NA - phap.lwater.pa [leaf.empty] = NA - phap.lvpd.pa [leaf.empty] = NA - phap.sms.pa [leaf.empty] = NA - phap.lgbw.pa [leaf.empty] = NA - phap.lgsw.pa [leaf.empty] = NA + leaf.gpp.pa [leaf.empty] = NA_real_ + leaf.par.pa [leaf.empty] = NA_real_ + leaf.par.beam.pa[leaf.empty] = NA_real_ + leaf.par.diff.pa[leaf.empty] = NA_real_ + leaf.gsw.pa [leaf.empty] = NA_real_ + leaf.vpd.pa [leaf.empty] = NA_real_ + sm.stress.pa [leaf.empty] = NA_real_ + assim.light.pa [leaf.empty] = NA_real_ + assim.rubp.pa [leaf.empty] = NA_real_ + assim.co2.pa [leaf.empty] = NA_real_ + phap.lpar.pa [leaf.empty] = NA_real_ + phap.ltemp.pa [leaf.empty] = NA_real_ + phap.lwater.pa [leaf.empty] = NA_real_ + phap.lvpd.pa [leaf.empty] = NA_real_ + phap.sms.pa [leaf.empty] = NA_real_ + phap.lgbw.pa [leaf.empty] = NA_real_ + phap.lgsw.pa [leaf.empty] = NA_real_ #---------------------------------------------------------------------------------# - - #---------------------------------------------------------------------------------# # Copy the data back to the patch. # #---------------------------------------------------------------------------------# - idx.leaf = idx[! leaf.empty] - idx.wood = idx[! wood.empty] - patch$lai [[plab]][idx ] = lai.pa - patch$wai [[plab]][idx ] = wai.pa - patch$agb [[plab]][idx ] = agb.pa - patch$ba [[plab]][idx ] = ba.pa - patch$nplant [[plab]][idx ] = nplant.pa - patch$can.depth [[plab]][idx ] = can.depth.pa - patch$can.area [[plab]][idx ] = can.area.pa - patch$veg.height [[plab]][idx ] = veg.height.pa - patch$veg.displace [[plab]][idx ] = veg.displace.pa - patch$veg.rough [[plab]][idx ] = veg.rough.pa - patch$can.rough [[plab]][idx ] = can.rough.pa - patch$wood.dens [[plab]][idx ] = wood.dens.pa - patch$vm0 [[plab]][idx ] = vm0.pa - patch$llspan [[plab]][idx ] = llspan.pa - patch$sla [[plab]][idx ] = sla.pa - patch$par.leaf [[plab]][idx ] = par.leaf.pa - patch$par.leaf.beam[[plab]][idx ] = par.leaf.beam.pa - patch$par.leaf.diff[[plab]][idx ] = par.leaf.diff.pa - patch$phap.lpar [[plab]][idx.leaf] = phap.lpar.pa [! leaf.empty] - patch$phap.ltemp [[plab]][idx.leaf] = phap.ltemp.pa [! leaf.empty] - patch$phap.lwater [[plab]][idx.leaf] = phap.lwater.pa [! leaf.empty] - patch$phap.lvpd [[plab]][idx.leaf] = phap.lvpd.pa [! leaf.empty] - patch$phap.sms [[plab]][idx.leaf] = phap.sms.pa [! leaf.empty] - patch$phap.lgbw [[plab]][idx.leaf] = phap.lgbw.pa [! leaf.empty] - patch$phap.lgsw [[plab]][idx.leaf] = phap.lgsw.pa [! leaf.empty] - patch$sm.stress [[plab]][idx.leaf] = sm.stress.pa [! leaf.empty] - patch$leaf.temp [[plab]][idx.leaf] = leaf.temp.pa [! leaf.empty] - patch$leaf.water [[plab]][idx.leaf] = leaf.water.pa [! leaf.empty] - patch$leaf.vpd [[plab]][idx.leaf] = leaf.vpd.pa [! leaf.empty] - patch$leaf.gpp [[plab]][idx.leaf] = leaf.gpp.pa [! leaf.empty] - patch$leaf.gsw [[plab]][idx.leaf] = leaf.gsw.pa [! leaf.empty] - patch$leaf.par [[plab]][idx.leaf] = leaf.par.pa [! leaf.empty] - patch$leaf.par.beam[[plab]][idx.leaf] = leaf.par.beam.pa[! leaf.empty] - patch$leaf.par.diff[[plab]][idx.leaf] = leaf.par.diff.pa[! leaf.empty] - patch$assim.light [[plab]][idx.leaf] = assim.light.pa [! leaf.empty] - patch$assim.rubp [[plab]][idx.leaf] = assim.rubp.pa [! leaf.empty] - patch$assim.co2 [[plab]][idx.leaf] = assim.co2.pa [! leaf.empty] - patch$wood.temp [[plab]][idx.wood] = wood.temp.pa [! wood.empty] - patch$gpp [[plab]][idx ] = gpp.pa - patch$npp [[plab]][idx ] = npp.pa - patch$cba [[plab]][idx ] = cba.pa - patch$plant.resp [[plab]][idx ] = plant.resp.pa - patch$hflxlc [[plab]][idx ] = hflxlc.pa - patch$hflxwc [[plab]][idx ] = hflxwc.pa - patch$wflxlc [[plab]][idx ] = wflxlc.pa - patch$wflxwc [[plab]][idx ] = wflxwc.pa - patch$transp [[plab]][idx ] = transp.pa + idx.leaf = idx[! leaf.empty] + idx.wood = idx[! wood.empty] + patch$lai [[plab]][idx ] = lai.pa + patch$wai [[plab]][idx ] = wai.pa + patch$agb [[plab]][idx ] = agb.pa + patch$ba [[plab]][idx ] = ba.pa + patch$nplant [[plab]][idx ] = nplant.pa + patch$bleaf [[plab]][idx ] = bleaf.pa + patch$can.depth [[plab]][idx ] = can.depth.pa + patch$can.area [[plab]][idx ] = can.area.pa + patch$veg.height [[plab]][idx ] = veg.height.pa + patch$veg.displace [[plab]][idx ] = veg.displace.pa + patch$veg.rough [[plab]][idx ] = veg.rough.pa + patch$can.rough [[plab]][idx ] = can.rough.pa + patch$wood.dens [[plab]][idx ] = wood.dens.pa + patch$vm0 [[plab]][idx ] = vm0.pa + patch$llspan [[plab]][idx ] = llspan.pa + patch$sla [[plab]][idx ] = sla.pa + patch$par.leaf [[plab]][idx ] = par.leaf.pa + patch$par.leaf.beam [[plab]][idx ] = par.leaf.beam.pa + patch$par.leaf.diff [[plab]][idx ] = par.leaf.diff.pa + patch$phap.lpar [[plab]][idx.leaf] = phap.lpar.pa [! leaf.empty] + patch$phap.ltemp [[plab]][idx.leaf] = phap.ltemp.pa [! leaf.empty] + patch$phap.lwater [[plab]][idx.leaf] = phap.lwater.pa [! leaf.empty] + patch$phap.lvpd [[plab]][idx.leaf] = phap.lvpd.pa [! leaf.empty] + patch$phap.sms [[plab]][idx.leaf] = phap.sms.pa [! leaf.empty] + patch$phap.lgbw [[plab]][idx.leaf] = phap.lgbw.pa [! leaf.empty] + patch$phap.lgsw [[plab]][idx.leaf] = phap.lgsw.pa [! leaf.empty] + patch$sm.stress [[plab]][idx.leaf] = sm.stress.pa [! leaf.empty] + patch$leaf.temp [[plab]][idx.leaf] = leaf.temp.pa [! leaf.empty] + patch$leaf.water [[plab]][idx.leaf] = leaf.water.pa [! leaf.empty] + patch$leaf.water.im2[[plab]][idx.leaf] = leaf.water.im2.pa[! leaf.empty] + patch$leaf.vpd [[plab]][idx.leaf] = leaf.vpd.pa [! leaf.empty] + patch$leaf.gpp [[plab]][idx.leaf] = leaf.gpp.pa [! leaf.empty] + patch$leaf.gsw [[plab]][idx.leaf] = leaf.gsw.pa [! leaf.empty] + patch$leaf.par [[plab]][idx.leaf] = leaf.par.pa [! leaf.empty] + patch$leaf.par.beam [[plab]][idx.leaf] = leaf.par.beam.pa [! leaf.empty] + patch$leaf.par.diff [[plab]][idx.leaf] = leaf.par.diff.pa [! leaf.empty] + patch$assim.light [[plab]][idx.leaf] = assim.light.pa [! leaf.empty] + patch$assim.rubp [[plab]][idx.leaf] = assim.rubp.pa [! leaf.empty] + patch$assim.co2 [[plab]][idx.leaf] = assim.co2.pa [! leaf.empty] + patch$wood.temp [[plab]][idx.wood] = wood.temp.pa [! wood.empty] + patch$dmin.leaf.psi [[plab]][idx ] = dmin.leaf.psi.pa + patch$dmax.leaf.psi [[plab]][idx ] = dmax.leaf.psi.pa + patch$gpp [[plab]][idx ] = gpp.pa + patch$npp [[plab]][idx ] = npp.pa + patch$cba [[plab]][idx ] = cba.pa + patch$plant.resp [[plab]][idx ] = plant.resp.pa + patch$hflxlc [[plab]][idx ] = hflxlc.pa + patch$hflxwc [[plab]][idx ] = hflxwc.pa + patch$wflxlc [[plab]][idx ] = wflxlc.pa + patch$wflxwc [[plab]][idx ] = wflxwc.pa + patch$transp [[plab]][idx ] = transp.pa #------ Soil respiration mixes cohort (root) and patch (hetetrophic). ------------# - patch$soil.resp [[plab]][idx] = patch$soil.resp [[plab]][idx] + root.resp.pa + patch$soil.resp [[plab]][idx] = patch$soil.resp [[plab]][idx] + root.resp.pa + #---------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + # Demographic rates. # + #---------------------------------------------------------------------------------# #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + for (jpa in sequence(mymont$NPATCHES.GLOBAL)){ + + #------------------------------------------------------------------------------# + # For mortality and growth, we keep deleting the tiny cohorts because they # + # skew the rates quite significantly and they are rarely included in forest # + # inventory surveys. # + #------------------------------------------------------------------------------# + psel = (ipaconow == jpa) & (dbhconow >= census.dbh.min) + if (any(psel)){ + #----- Growth rates are weighted by population. ----------------------------# + dbh.growth = - 100. * log( weighted.mean( x = exp(-growthconow [psel]) + , w = nplantconow [psel] + * dbhconow [psel] + )#end weighted.mean + )#end log + agb.growth = - 100. * log( weighted.mean( x = exp(-agb.growthconow[psel]) + , w = nplantconow [psel] + * agbconow [psel] + )#end weighted.mean + )#end log + bsa.growth = - 100. * log( weighted.mean( x = exp(-bsa.growthconow[psel]) + , w = nplantconow [psel] + * baconow [psel] + )#end weighted.mean + )#end log + acc.growth = sum( nplantconow[psel] + * agbconow[psel] * (1.-exp(-agb.growthconow[psel])) + )#end sum + patch$growth [[plab]][jpa] = dbh.growth + patch$agb.growth [[plab]][jpa] = agb.growth + patch$acc.growth [[plab]][jpa] = acc.growth + patch$bsa.growth [[plab]][jpa] = bsa.growth + #---------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------# + # Find the total number of plants and previous population if the only # + # mortality was the mortality we test. # + #---------------------------------------------------------------------------# + survivor = sum( nplantconow[psel] ) + previous = sum( nplantconow[psel] * exp(mortconow [psel])) + ncb.previous = sum( nplantconow[psel] * exp(ncbmortconow [psel])) + hyd.previous = sum( nplantconow[psel] * exp(hydmortconow [psel])) + di.previous = sum( nplantconow[psel] * exp(dimortconow [psel])) + fl.previous = sum( nplantconow[psel] * exp(fire.lethalconow[psel])) + patch$mort [[plab]][jpa] = log(previous / survivor) + patch$ncbmort [[plab]][jpa] = log(ncb.previous / survivor) + patch$hydmort [[plab]][jpa] = log(hyd.previous / survivor) + patch$dimort [[plab]][jpa] = log(di.previous / survivor) + patch$fire.lethal[[plab]][jpa] = log(fl.previous / survivor) + #---------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------# + # Find the total AGB and previous AGB if the only mortality was the # + # mortality we test. # + #---------------------------------------------------------------------------# + survivor = sum( nplantconow[psel] * agbcolmon[psel]) + previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp(mortconow [psel]) + )#end sum + ncb.previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp(ncbmortconow [psel]) + )#end sum + hyd.previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp(hydmortconow [psel]) + )#end sum + di.previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp(dimortconow [psel]) + )#end sum + patch$agb.mort [[plab]][jpa] = log( previous / survivor ) + patch$agb.ncbmort[[plab]][jpa] = log( ncb.previous / survivor ) + patch$agb.hydmort[[plab]][jpa] = log( hyd.previous / survivor ) + patch$agb.dimort [[plab]][jpa] = log( di.previous / survivor ) + #---------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------# + # Find the total AGB and previous AGB if the only mortality was the # + # mortality we test. # + #---------------------------------------------------------------------------# + survivor = sum( nplantconow[psel] * agbcolmon[psel]) + previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp( mortconow [psel] / 12.) + )#end sum + ncb.previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp( ncbmortconow[psel] / 12.) + )#end sum + hyd.previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp( hydmortconow[psel] / 12.) + )#end sum + di.previous = sum( nplantconow[psel] * agbcolmon[psel] + * exp( dimortconow [psel] / 12.) + )#end sum + patch$acc.mort [[plab]][jpa] = 12. * (previous - survivor) + patch$acc.ncbmort[[plab]][jpa] = 12. * (ncb.previous - survivor) + patch$acc.hydmort[[plab]][jpa] = 12. * (hyd.previous - survivor) + patch$acc.dimort [[plab]][jpa] = 12. * (di.previous - survivor) + #---------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------# + # Find the total basal area and previous basal area if the only # + # mortality was the mortality we test. # + #---------------------------------------------------------------------------# + survivor = sum( nplantconow[psel] * bacolmon[psel]) + previous = sum( nplantconow[psel] * bacolmon[psel] + * exp(mortconow [psel]) + )#end sum + ncb.previous = sum( nplantconow[psel] * bacolmon[psel] + * exp(ncbmortconow [psel]) + )#end sum + hyd.previous = sum( nplantconow[psel] * bacolmon[psel] + * exp(hydmortconow [psel]) + )#end sum + di.previous = sum( nplantconow[psel] * bacolmon[psel] + * exp(dimortconow [psel]) + )#end sum + patch$bsa.mort [[plab]][jpa] = log( previous / survivor ) + patch$bsa.ncbmort[[plab]][jpa] = log( ncb.previous / survivor ) + patch$bsa.hydmort[[plab]][jpa] = log( hyd.previous / survivor ) + patch$bsa.dimort [[plab]][jpa] = log( di.previous / survivor ) + #---------------------------------------------------------------------------# + }#end if + #------------------------------------------------------------------------------# + + + + #------------------------------------------------------------------------------# + # Recruitment: we must determine whether the plant grew into the new # + # category or not. # + #------------------------------------------------------------------------------# + psel.pop = (ipaconow == jpa) & (dbhconow >= census.dbh.min) + psel.est = psel.pop & (dbhconow.1ago >= census.dbh.min) + psel.elm = psel.pop & (dbhconow.lmon >= census.dbh.min) + if (any(psel.pop) & any(psel.est)){ + + #----- Recruitment rate in terms of individuals. ---------------------------# + population = sum(nplantconow[psel.pop]) + established = sum(nplantconow[psel.est]) + patch$recr[[plab]][jpa] = log(population / established) + #---------------------------------------------------------------------------# + + + #----- Recruitment rate in terms of above-ground biomass. ------------------# + population = sum(nplantconow[psel.pop]*agbconow[psel.pop]) + established = sum(nplantconow[psel.est]*agbconow[psel.est]) + patch$agb.recr[[plab]][jpa] = log(population / established) + #---------------------------------------------------------------------------# + + + #----- Recruitment rate in terms of above-ground biomass. ------------------# + population = sum(nplantconow[psel.pop]*agbconow[psel.pop]) + established = sum(nplantconow[psel.elm]*agbconow[psel.elm]) + patch$acc.recr[[plab]][jpa] = 12. * (population - established) + #---------------------------------------------------------------------------# + + + #----- Recruitment rate in terms of basal area. ----------------------------# + population = sum(nplantconow[psel.pop]*baconow [psel.pop]) + established = sum(nplantconow[psel.est]*baconow [psel.est]) + patch$bsa.recr[[plab]][jpa] = log(population / established) + #---------------------------------------------------------------------------# + }#end if + #------------------------------------------------------------------------------# + }#end for (jpa in sequence(mymont$NPATCHES.GLOBAL)) + #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------# + + @@ -2308,78 +2785,90 @@ read.q.files <<- function( datum #----- Find some auxiliary patch-level properties. -------------------------------# - q.nplant.pa = qapply( X = q.nplantconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.lai.pa = qapply( X = q.laiconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.wai.pa = qapply( X = q.waiconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.leaf.energy.pa = qapply( X = mymont$QMEAN.LEAF.ENERGY.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.leaf.water.pa = qapply( X = mymont$QMEAN.LEAF.WATER.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.leaf.hcap.pa = qapply( X = mymont$QMEAN.LEAF.HCAP.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.par.leaf.pa = qapply( X = mymont$QMEAN.PAR.L.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.par.leaf.beam.pa = qapply( X = mymont$QMEAN.PAR.L.BEAM.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.par.leaf.diff.pa = qapply( X = mymont$QMEAN.PAR.L.DIFF.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.wood.energy.pa = qapply( X = mymont$QMEAN.WOOD.ENERGY.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.wood.water.pa = qapply( X = mymont$QMEAN.WOOD.WATER.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply - q.wood.hcap.pa = qapply( X = mymont$QMEAN.WOOD.HCAP.CO * q.showconow - , DIM = 1 - , INDEX = ipaconow - , FUN = sum - , na.rm = TRUE - )#end tapply + q.nplant.pa = qapply( X = q.nplantconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.lai.pa = qapply( X = q.laiconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.wai.pa = qapply( X = q.waiconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.leaf.energy.pa = qapply( X = mymont$QMEAN.LEAF.ENERGY.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.leaf.water.pa = qapply( X = mymont$QMEAN.LEAF.WATER.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.leaf.water.im2.pa = qapply( X = mymont$QMEAN.LEAF.WATER.IM2.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.leaf.hcap.pa = qapply( X = mymont$QMEAN.LEAF.HCAP.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.par.leaf.pa = qapply( X = mymont$QMEAN.PAR.L.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.par.leaf.beam.pa = qapply( X = mymont$QMEAN.PAR.L.BEAM.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.par.leaf.diff.pa = qapply( X = mymont$QMEAN.PAR.L.DIFF.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.wood.energy.pa = qapply( X = mymont$QMEAN.WOOD.ENERGY.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.wood.water.pa = qapply( X = mymont$QMEAN.WOOD.WATER.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.wood.water.im2.pa = qapply( X = mymont$QMEAN.WOOD.WATER.IM2.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply + q.wood.hcap.pa = qapply( X = mymont$QMEAN.WOOD.HCAP.CO * q.showconow + , DIM = 1 + , INDEX = ipaconow + , FUN = sum + , na.rm = TRUE + )#end tapply #----- Make root respiration extensive. ------------------------------------------# q.root.resp.pa = qapply( X = q.root.respconow * q.nplantconow , DIM = 1 @@ -2392,27 +2881,33 @@ read.q.files <<- function( datum #----- Find the temperature and liquid fraction of leaf and wood. ----------------# - q.leaf.empty = q.leaf.hcap.pa == 0 - q.wood.empty = q.wood.hcap.pa == 0 - q.leaf.temp.pa = uextcm2tl( uext = q.leaf.energy.pa - , wmass = q.leaf.water.pa - , dryhcap = q.leaf.hcap.pa )$temp - t00 - q.wood.temp.pa = uextcm2tl( uext = q.wood.energy.pa - , wmass = q.wood.water.pa - , dryhcap = q.wood.hcap.pa )$temp - t00 - q.leaf.water.pa = q.leaf.water.pa / q.lai.pa - q.leaf.temp.pa = ifelse( test = q.leaf.hcap.pa == 0 - , yes = NA - , no = q.leaf.temp.pa - )#end ifelse - q.leaf.water.pa = ifelse( test = q.leaf.hcap.pa == 0 - , yes = NA - , no = q.leaf.water.pa - )#end ifelse - q.wood.temp.pa = ifelse( test = q.wood.hcap.pa == 0 - , yes = NA - , no = q.wood.temp.pa - )#end ifelse + q.leaf.empty = q.leaf.hcap.pa == 0 + q.wood.empty = q.wood.hcap.pa == 0 + q.leaf.temp.pa = uextcm2tl( uext = q.leaf.energy.pa + , wmass = q.leaf.water.pa + + q.leaf.water.im2.pa + , dryhcap = q.leaf.hcap.pa )$temp - t00 + q.wood.temp.pa = uextcm2tl( uext = q.wood.energy.pa + , wmass = q.wood.water.pa + + q.wood.water.im2.pa + , dryhcap = q.wood.hcap.pa )$temp - t00 + q.leaf.water.pa = q.leaf.water.pa / q.lai.pa + q.leaf.temp.pa = ifelse( test = q.leaf.hcap.pa == 0. + , yes = NA_real_ + , no = q.leaf.temp.pa + )#end ifelse + q.leaf.water.pa = ifelse( test = q.leaf.hcap.pa == 0. + , yes = NA_real_ + , no = q.leaf.water.pa + )#end ifelse + q.leaf.water.im2.pa = ifelse( test = q.leaf.hcap.pa == 0. + , yes = NA_real_ + , no = q.leaf.water.im2.pa + )#end ifelse + q.wood.temp.pa = ifelse( test = q.wood.hcap.pa == 0. + , yes = NA_real_ + , no = q.wood.temp.pa + )#end ifelse #---------------------------------------------------------------------------------# @@ -2546,16 +3041,16 @@ read.q.files <<- function( datum )#end mapply )#end t #----- Discard data from empty cohorts. -----------------------------------------# - q.leaf.gpp.pa [q.leaf.empty] = NA - q.leaf.par.pa [q.leaf.empty] = NA - q.leaf.par.beam.pa[q.leaf.empty] = NA - q.leaf.par.diff.pa[q.leaf.empty] = NA - q.leaf.gsw.pa [q.leaf.empty] = NA - q.leaf.vpd.pa [q.leaf.empty] = NA - q.sm.stress.pa [q.leaf.empty] = NA - q.assim.light.pa [q.leaf.empty] = NA - q.assim.rubp.pa [q.leaf.empty] = NA - q.assim.co2.pa [q.leaf.empty] = NA + q.leaf.gpp.pa [q.leaf.empty] = NA_real_ + q.leaf.par.pa [q.leaf.empty] = NA_real_ + q.leaf.par.beam.pa[q.leaf.empty] = NA_real_ + q.leaf.par.diff.pa[q.leaf.empty] = NA_real_ + q.leaf.gsw.pa [q.leaf.empty] = NA_real_ + q.leaf.vpd.pa [q.leaf.empty] = NA_real_ + q.sm.stress.pa [q.leaf.empty] = NA_real_ + q.assim.light.pa [q.leaf.empty] = NA_real_ + q.assim.rubp.pa [q.leaf.empty] = NA_real_ + q.assim.co2.pa [q.leaf.empty] = NA_real_ #---------------------------------------------------------------------------------# @@ -2564,30 +3059,31 @@ read.q.files <<- function( datum #---------------------------------------------------------------------------------# # Copy the data back to the patch. # #---------------------------------------------------------------------------------# - qpatch$par.leaf [[plab]][idx ,] = q.par.leaf.pa - qpatch$par.leaf.beam[[plab]][idx ,] = q.par.leaf.beam.pa - qpatch$par.leaf.diff[[plab]][idx ,] = q.par.leaf.diff.pa - qpatch$sm.stress [[plab]][idx.leaf,] = q.sm.stress.pa [! q.leaf.empty] - qpatch$leaf.temp [[plab]][idx.leaf,] = q.leaf.temp.pa [! q.leaf.empty] - qpatch$leaf.water [[plab]][idx.leaf,] = q.leaf.water.pa [! q.leaf.empty] - qpatch$leaf.vpd [[plab]][idx.leaf,] = q.leaf.vpd.pa [! q.leaf.empty] - qpatch$leaf.gpp [[plab]][idx.leaf,] = q.leaf.gpp.pa [! q.leaf.empty] - qpatch$leaf.gsw [[plab]][idx.leaf,] = q.leaf.gsw.pa [! q.leaf.empty] - qpatch$leaf.par [[plab]][idx.leaf,] = q.leaf.par.pa [! q.leaf.empty] - qpatch$leaf.par.beam[[plab]][idx.leaf,] = q.leaf.par.beam.pa[! q.leaf.empty] - qpatch$leaf.par.diff[[plab]][idx.leaf,] = q.leaf.par.diff.pa[! q.leaf.empty] - qpatch$assim.light [[plab]][idx.leaf,] = q.assim.light.pa [! q.leaf.empty] - qpatch$assim.rubp [[plab]][idx.leaf,] = q.assim.rubp.pa [! q.leaf.empty] - qpatch$assim.co2 [[plab]][idx.leaf,] = q.assim.co2.pa [! q.leaf.empty] - qpatch$wood.temp [[plab]][idx.wood,] = q.wood.temp.pa [! q.wood.empty] - qpatch$gpp [[plab]][idx ,] = q.gpp.pa - qpatch$npp [[plab]][idx ,] = q.npp.pa - qpatch$plant.resp [[plab]][idx ,] = q.plant.resp.pa - qpatch$hflxlc [[plab]][idx ,] = q.hflxlc.pa - qpatch$hflxwc [[plab]][idx ,] = q.hflxwc.pa - qpatch$wflxlc [[plab]][idx ,] = q.wflxlc.pa - qpatch$wflxwc [[plab]][idx ,] = q.wflxwc.pa - qpatch$transp [[plab]][idx ,] = q.transp.pa + qpatch$par.leaf [[plab]][idx ,] = q.par.leaf.pa + qpatch$par.leaf.beam [[plab]][idx ,] = q.par.leaf.beam.pa + qpatch$par.leaf.diff [[plab]][idx ,] = q.par.leaf.diff.pa + qpatch$sm.stress [[plab]][idx.leaf,] = q.sm.stress.pa [! q.leaf.empty] + qpatch$leaf.temp [[plab]][idx.leaf,] = q.leaf.temp.pa [! q.leaf.empty] + qpatch$leaf.water [[plab]][idx.leaf,] = q.leaf.water.pa [! q.leaf.empty] + qpatch$leaf.water.im2[[plab]][idx.leaf,] = q.leaf.water.im2.pa[! q.leaf.empty] + qpatch$leaf.vpd [[plab]][idx.leaf,] = q.leaf.vpd.pa [! q.leaf.empty] + qpatch$leaf.gpp [[plab]][idx.leaf,] = q.leaf.gpp.pa [! q.leaf.empty] + qpatch$leaf.gsw [[plab]][idx.leaf,] = q.leaf.gsw.pa [! q.leaf.empty] + qpatch$leaf.par [[plab]][idx.leaf,] = q.leaf.par.pa [! q.leaf.empty] + qpatch$leaf.par.beam [[plab]][idx.leaf,] = q.leaf.par.beam.pa [! q.leaf.empty] + qpatch$leaf.par.diff [[plab]][idx.leaf,] = q.leaf.par.diff.pa [! q.leaf.empty] + qpatch$assim.light [[plab]][idx.leaf,] = q.assim.light.pa [! q.leaf.empty] + qpatch$assim.rubp [[plab]][idx.leaf,] = q.assim.rubp.pa [! q.leaf.empty] + qpatch$assim.co2 [[plab]][idx.leaf,] = q.assim.co2.pa [! q.leaf.empty] + qpatch$wood.temp [[plab]][idx.wood,] = q.wood.temp.pa [! q.wood.empty] + qpatch$gpp [[plab]][idx ,] = q.gpp.pa + qpatch$npp [[plab]][idx ,] = q.npp.pa + qpatch$plant.resp [[plab]][idx ,] = q.plant.resp.pa + qpatch$hflxlc [[plab]][idx ,] = q.hflxlc.pa + qpatch$hflxwc [[plab]][idx ,] = q.hflxwc.pa + qpatch$wflxlc [[plab]][idx ,] = q.wflxlc.pa + qpatch$wflxwc [[plab]][idx ,] = q.wflxwc.pa + qpatch$transp [[plab]][idx ,] = q.transp.pa #------ Soil respiration mixes cohort (root) and patch (hetetrophic). ------------# qpatch$soil.resp[[plab]][idx,] = qpatch$soil.resp[[plab]][idx,] + q.root.resp.pa #---------------------------------------------------------------------------------# @@ -2615,6 +3111,340 @@ read.q.files <<- function( datum + #====================================================================================# + #====================================================================================# + #====================================================================================# + #====================================================================================# + # Find the site-level variables. # + #------------------------------------------------------------------------------------# + #---- Time-invariant variables (we keep time to make post-post-processing easier). --# + site$isi [m,] = isi + site$lsl [m,] = lslsi + site$ntext[m,] = ntextsi + site$area [m,] = areasi + #---- Variables that can be copied directly from the output. ------------------------# + site$fire.density [m,] = mymont$MMEAN.FIRE.DENSITY.SI * 1.e6 + site$fire.extinction[m,] = 100. * (1. - exp(-mymont$MMEAN.FIRE.EXTINCTION.SI)) + site$fire.intensity [m,] = mymont$MMEAN.FIRE.INTENSITY.SI * 1.e3 + site$fire.tlethal [m,] = mymont$MMEAN.FIRE.TLETHAL.SI / min.sec + site$fire.spread [m,] = mymont$MMEAN.FIRE.SPREAD.SI * min.sec + site$burnt.area [m,] = mymont$BURNT.AREA * 100. + site$ignition.rate [m,] = mymont$MMEAN.IGNITION.RATE.SI * 1.e6*mondays*day.sec + site$fire.f.bherb [m,] = mymont$MMEAN.FIRE.F.BHERB.SI * 100. + site$fire.f.bwoody [m,] = mymont$MMEAN.FIRE.F.BWOODY.SI * 100. + site$fire.f.fgc [m,] = mymont$MMEAN.FIRE.F.FGC.SI * 100. + site$fire.f.stgc [m,] = mymont$MMEAN.FIRE.F.STGC.SI * 100. + #----- Variables that should be scaled by area (most of them). ----------------------# + site$lai [m,] = weighted.mean( x = patch$lai [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$wai [m,] = weighted.mean( x = patch$wai [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$agb [m,] = weighted.mean( x = patch$agb [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$ba [m,] = weighted.mean( x = patch$ba [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$nplant [m,] = weighted.mean( x = patch$nplant [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$fast.grnd.c [m,] = weighted.mean( x = patch$fast.grnd.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$fast.soil.c [m,] = weighted.mean( x = patch$fast.soil.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$struct.grnd.c [m,] = weighted.mean( x = patch$struct.grnd.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$struct.soil.c [m,] = weighted.mean( x = patch$struct.soil.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$microbe.soil.c [m,] = weighted.mean( x = patch$microbe.soil.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$slow.soil.c [m,] = weighted.mean( x = patch$slow.soil.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$passive.soil.c [m,] = weighted.mean( x = patch$passive.soil.c [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$nep [m,] = weighted.mean( x = patch$nep [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$het.resp [m,] = weighted.mean( x = patch$het.resp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$soil.resp [m,] = weighted.mean( x = patch$soil.resp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$cflxca [m,] = weighted.mean( x = patch$cflxca [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$cflxst [m,] = weighted.mean( x = patch$cflxst [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$nee [m,] = weighted.mean( x = patch$nee [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$hflxca [m,] = weighted.mean( x = patch$hflxca [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$hflxgc [m,] = weighted.mean( x = patch$hflxgc [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$qwflxca [m,] = weighted.mean( x = patch$qwflxca [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$wflxca [m,] = weighted.mean( x = patch$wflxca [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$wflxgc [m,] = weighted.mean( x = patch$wflxgc [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$ustar [m,] = weighted.mean( x = patch$ustar [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$rshortup [m,] = weighted.mean( x = patch$rshortup [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$rlongup [m,] = weighted.mean( x = patch$rlongup [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$parup [m,] = weighted.mean( x = patch$parup [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$rshort.gnd [m,] = weighted.mean( x = patch$rshort.gnd [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$par.gnd [m,] = weighted.mean( x = patch$par.gnd [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$rnet [m,] = weighted.mean( x = patch$rnet [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$can.depth [m,] = weighted.mean( x = patch$can.depth [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$can.area [m,] = weighted.mean( x = patch$can.area [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$veg.height [m,] = weighted.mean( x = patch$veg.height [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$sm.stress [m,] = weighted.mean( x = patch$sm.stress [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$gpp [m,] = weighted.mean( x = patch$gpp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$npp [m,] = weighted.mean( x = patch$npp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$plant.resp [m,] = weighted.mean( x = patch$plant.resp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$cba [m,] = weighted.mean( x = patch$cba [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$reco [m,] = weighted.mean( x = patch$reco [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$hflxlc [m,] = weighted.mean( x = patch$hflxlc [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$hflxwc [m,] = weighted.mean( x = patch$hflxwc [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$wflxlc [m,] = weighted.mean( x = patch$wflxlc [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$wflxwc [m,] = weighted.mean( x = patch$wflxwc [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$transp [m,] = weighted.mean( x = patch$transp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$gnd.temp [m,] = weighted.mean( x = patch$gnd.temp [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$gnd.shv [m,] = weighted.mean( x = patch$gnd.shv [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$soil.temp.top [m,] = weighted.mean( x = patch$soil.temp.top [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$soil.water.top [m,] = weighted.mean( x = patch$soil.water.top [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$soil.water.bot [m,] = weighted.mean( x = patch$soil.water.bot [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$soil.wetness.top[m,] = weighted.mean( x = patch$soil.wetness.top[[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$soil.wetness.bot[m,] = weighted.mean( x = patch$soil.wetness.bot[[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.water [m,] = weighted.mean( x = patch$leaf.water [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.water.im2 [m,] = weighted.mean( x = patch$leaf.water.im2 [[plab]] + , w = areapa + , na.rm = TRUE + )#end weighted.mean + #----- Quantities that should be weighted by leaf area. -----------------------------# + laiareapa = patch$lai[[plab]] * areapa + if ( sum(laiareapa) > tiny.num ){ + site$vm0 [m,] = weighted.mean( x = patch$vm0 [[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.temp [m,] = weighted.mean( x = patch$leaf.temp [[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.vpd [m,] = weighted.mean( x = patch$leaf.vpd [[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.gpp [m,] = weighted.mean( x = patch$leaf.gpp [[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.gsw [m,] = weighted.mean( x = patch$leaf.gsw [[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.par [m,] = weighted.mean( x = patch$leaf.par [[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.par.beam[m,] = weighted.mean( x = patch$leaf.par.beam[[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + site$leaf.par.diff[m,] = weighted.mean( x = patch$leaf.par.diff[[plab]] + , w = laiareapa + , na.rm = TRUE + )#end weighted.mean + }else{ + site$vm0 [m,] = NA_real_ + site$leaf.temp [m,] = NA_real_ + site$leaf.vpd [m,] = NA_real_ + site$leaf.gpp [m,] = NA_real_ + site$leaf.gsw [m,] = NA_real_ + site$leaf.par [m,] = NA_real_ + site$leaf.par.beam[m,] = NA_real_ + site$leaf.par.diff[m,] = NA_real_ + }#end if ( sum(laiareapa) > tiny.num) + #---- Wood density is scaled by basal area. -----------------------------------------# + basareapa = patch$ba[[plab]] * areapa + if ( sum(basareapa) > tiny.num ){ + site$wood.dens [m,] = weighted.mean( x = patch$wood.dens [[plab]] + , w = basareapa + , na.rm = TRUE + )#end weighted.mean + }else{ + site$wood.dens [m,] = NA_real_ + }#end if (sum(basareapa) > tiny.num) + #---- SLA and leaf life span use leaf biomass as weighting factor. ------------------# + bleafareapa = patch$bleaf[[plab]] * areapa + if ( sum(bleafareapa) > tiny.num ){ + + ltor.si = weighted.mean( x = ltor.pa + , w = bleafareapa + , na.rm = TRUE + )#end weighted.mean + site$sla [m,] = weighted.mean( x = patch$sla[[plab]] + , w = bleafareapa + , na.rm = TRUE + )#end weighted.mean + site$llspan [m,] = ifelse( test = ltor.si %gt% 0. + , yes = 1. / ltor.si + , no = NA_real_ + )#end ifelse + }else{ + site$llspan [m,] = NA_real_ + site$sla [m,] = NA_real_ + }#end if ( sum(bleafareapa) > tiny.num ) + #---- Leaf water potential. Use aboveground volume as weighting factor. ------------# + agvolumeareapa = agvolume.pa * areapa + if ( sum(agvolumeareapa) > tiny.num ){ + site$dmin.leaf.psi[m,] = weighted.mean( x = patch$dmin.leaf.psi[[plab]] + , w = agvolumeareapa + , na.rm = TRUE + )#end weighted.mean + site$dmax.leaf.psi[m,] = weighted.mean( x = patch$dmax.leaf.psi[[plab]] + , w = agvolumeareapa + , na.rm = TRUE + )#end weighted.mean + }else{ + site$dmin.leaf.psi[m,] = NA_real_ + site$dmax.leaf.psi[m,] = NA_real_ + }#end if ( sum(agvolumeareapa) > tiny.num ) + #------------------------------------------------------------------------------------# + + + #====================================================================================# + #====================================================================================# + #====================================================================================# + #====================================================================================# + @@ -2623,14 +3453,15 @@ read.q.files <<- function( datum # (whatever/plant) to "extensive" (whatever/m2). Sometimes they may be used to # # build weighted averages. # #------------------------------------------------------------------------------------# - w.nplant = nplantconow * areaconow - w.lai = laiconow * areaconow - w.wai = waiconow * areaconow - w.tai = taiconow * areaconow - w.biomass = biomassconow * w.nplant - w.bleaf = bleafconow * w.nplant - w.balive = baliveconow * w.nplant - w.basarea = baconow * w.nplant + w.nplant = nplantconow * areaconow + w.lai = laiconow * areaconow + w.wai = waiconow * areaconow + w.tai = taiconow * areaconow + w.biomass = biomassconow * w.nplant + w.bleaf = bleafconow * w.nplant + w.balive = baliveconow * w.nplant + w.basarea = baconow * w.nplant + w.agvolume = agvolumeconow * w.nplant #------------------------------------------------------------------------------------# @@ -2897,118 +3728,122 @@ read.q.files <<- function( datum #----- Leaf/wood intensive properties , weighted means using LAI/WAI. ------# - szpft$sm.stress [m,d,p] = weighted.mean( x = sm.stressconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.sms [m,d,p] = weighted.mean( x = phap.smsconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.par [m,d,p] = weighted.mean( x = leaf.parconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.par.beam[m,d,p] = weighted.mean( x = leaf.par.beamconow[sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.par.diff[m,d,p] = weighted.mean( x = leaf.par.diffconow[sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.lpar [m,d,p] = weighted.mean( x = phap.lparconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.rshort [m,d,p] = weighted.mean( x = leaf.rshortconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.rlong [m,d,p] = weighted.mean( x = leaf.rlongconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.gpp [m,d,p] = weighted.mean( x = leaf.gppconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.temp [m,d,p] = weighted.mean( x = leaf.tempconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.ltemp [m,d,p] = weighted.mean( x = phap.ltempconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.water [m,d,p] = weighted.mean( x = leaf.waterconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.lwater [m,d,p] = weighted.mean( x = phap.lwaterconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$wood.temp [m,d,p] = weighted.mean( x = wood.tempconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.vpd [m,d,p] = weighted.mean( x = leaf.vpdconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.lvpd [m,d,p] = weighted.mean( x = phap.lvpdconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$i.transp [m,d,p] = weighted.mean( x = i.transpconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$i.wflxlc [m,d,p] = weighted.mean( x = i.wflxlcconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$i.hflxlc [m,d,p] = weighted.mean( x = i.hflxlcconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.gbw [m,d,p] = weighted.mean( x = leaf.gbwconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.lgbw [m,d,p] = weighted.mean( x = phap.lgbwconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$leaf.gsw [m,d,p] = weighted.mean( x = leaf.gswconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$phap.lgsw [m,d,p] = weighted.mean( x = phap.lgswconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$assim.light [m,d,p] = weighted.mean( x = assim.lightconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$assim.rubp [m,d,p] = weighted.mean( x = assim.rubpconow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$assim.co2 [m,d,p] = weighted.mean( x = assim.co2conow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$vm0 [m,d,p] = weighted.mean( x = vm0conow [sel] - , w = w.lai [sel] - , na.rm = TRUE - )#end weighted.mean - szpft$wood.gbw [m,d,p] = weighted.mean( x = wood.gbwconow [sel] - , w = w.wai [sel] - , na.rm = TRUE - )#end weighted.mean + szpft$sm.stress [m,d,p] = weighted.mean( x = sm.stressconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.sms [m,d,p] = weighted.mean( x = phap.smsconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.par [m,d,p] = weighted.mean( x = leaf.parconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.par.beam [m,d,p] = weighted.mean( x = leaf.par.beamconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.par.diff [m,d,p] = weighted.mean( x = leaf.par.diffconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.lpar [m,d,p] = weighted.mean( x = phap.lparconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.rshort [m,d,p] = weighted.mean( x = leaf.rshortconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.rlong [m,d,p] = weighted.mean( x = leaf.rlongconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.gpp [m,d,p] = weighted.mean( x = leaf.gppconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.temp [m,d,p] = weighted.mean( x = leaf.tempconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.ltemp [m,d,p] = weighted.mean( x = phap.ltempconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.water [m,d,p] = weighted.mean( x = leaf.waterconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.water.im2[m,d,p] = weighted.mean( x = leaf.water.im2conow[sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.lwater [m,d,p] = weighted.mean( x = phap.lwaterconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$wood.temp [m,d,p] = weighted.mean( x = wood.tempconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.vpd [m,d,p] = weighted.mean( x = leaf.vpdconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.lvpd [m,d,p] = weighted.mean( x = phap.lvpdconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$i.transp [m,d,p] = weighted.mean( x = i.transpconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$i.wflxlc [m,d,p] = weighted.mean( x = i.wflxlcconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$i.hflxlc [m,d,p] = weighted.mean( x = i.hflxlcconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.gbw [m,d,p] = weighted.mean( x = leaf.gbwconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.lgbw [m,d,p] = weighted.mean( x = phap.lgbwconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$leaf.gsw [m,d,p] = weighted.mean( x = leaf.gswconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$phap.lgsw [m,d,p] = weighted.mean( x = phap.lgswconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$assim.light [m,d,p] = weighted.mean( x = assim.lightconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$assim.rubp [m,d,p] = weighted.mean( x = assim.rubpconow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$assim.co2 [m,d,p] = weighted.mean( x = assim.co2conow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$vm0 [m,d,p] = weighted.mean( x = vm0conow [sel] + , w = w.lai [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$wood.gbw [m,d,p] = weighted.mean( x = wood.gbwconow [sel] + , w = w.wai [sel] + , na.rm = TRUE + )#end weighted.mean #---------------------------------------------------------------------------# @@ -3060,6 +3895,19 @@ read.q.files <<- function( datum #---------------------------------------------------------------------------# + #----- Leaf water potential: averaged by volume. ---------------------------# + szpft$dmin.leaf.psi[m,d,p] = weighted.mean( x = dmin.leaf.psiconow[sel] + , w = w.agvolume [sel] + , na.rm = TRUE + )#end weighted.mean + szpft$dmax.leaf.psi[m,d,p] = weighted.mean( x = dmax.leaf.psiconow[sel] + , w = w.agvolume [sel] + , na.rm = TRUE + )#end weighted.mean + #---------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------# # SLA: use leaf biomass as weight so bleaf, SLA, and LAI are consistent. # #---------------------------------------------------------------------------# @@ -3077,7 +3925,7 @@ read.q.files <<- function( datum , w = w.bleaf [sel] , na.rm = TRUE )#end weighted.mean - szpft$llspan [m,d,p] = ifelse( test = szpft$llspan[m,d,p] %>% 0 + szpft$llspan [m,d,p] = ifelse( test = szpft$llspan[m,d,p] %gt% 0 , yes = 1./szpft$llspan[m,d,p] , no = NA_real_ )#end ifelse @@ -3166,8 +4014,9 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------# - # For mortality and growth, we keep deleting the tiny guys because they # - # skew the rates quite significantly. # + # For mortality and growth, we keep deleting the tiny cohorts because they # + # skew the rates quite significantly and they are rarely included in forest # + # inventory surveys. # #------------------------------------------------------------------------------# sel = sel.pft & sel.dbh & dbhconow >= dbhminconow if (any(sel)){ @@ -3202,15 +4051,17 @@ read.q.files <<- function( datum # Find the total number of plants and previous population if the only # # mortality was the mortality we test. # #---------------------------------------------------------------------------# - survivor = sum( w.nplant[sel] ) - previous = sum( w.nplant[sel] * exp(mortconow [sel]) ) - ncb.previous = sum( w.nplant[sel] * exp(ncbmortconow[sel]) ) - hyd.previous = sum( w.nplant[sel] * exp(hydmortconow[sel]) ) - di.previous = sum( w.nplant[sel] * exp(dimortconow [sel]) ) - szpft$mort [m,d,p] = log( previous / survivor ) - szpft$ncbmort[m,d,p] = log( ncb.previous / survivor ) - szpft$hydmort[m,d,p] = log( hyd.previous / survivor ) - szpft$dimort [m,d,p] = log( di.previous / survivor ) + survivor = sum( w.nplant[sel] ) + previous = sum( w.nplant[sel] * exp(mortconow [sel]) ) + ncb.previous = sum( w.nplant[sel] * exp(ncbmortconow [sel]) ) + hyd.previous = sum( w.nplant[sel] * exp(hydmortconow [sel]) ) + di.previous = sum( w.nplant[sel] * exp(dimortconow [sel]) ) + fl.previous = sum( w.nplant[sel] * exp(fire.lethalconow[sel]) ) + szpft$mort [m,d,p] = log( previous / survivor ) + szpft$ncbmort [m,d,p] = log( ncb.previous / survivor ) + szpft$hydmort [m,d,p] = log( hyd.previous / survivor ) + szpft$dimort [m,d,p] = log( di.previous / survivor ) + szpft$fire.lethal[m,d,p] = log( fl.previous / survivor ) #---------------------------------------------------------------------------# @@ -3445,6 +4296,8 @@ read.q.files <<- function( datum emean$leaf.rshort [m] = szpft$leaf.rshort [m,ndbh+1,npft+1] emean$leaf.rlong [m] = szpft$leaf.rlong [m,ndbh+1,npft+1] emean$leaf.gpp [m] = szpft$leaf.gpp [m,ndbh+1,npft+1] + emean$dmin.leaf.psi [m] = szpft$dmin.leaf.psi [m,ndbh+1,npft+1] + emean$dmax.leaf.psi [m] = szpft$dmax.leaf.psi [m,ndbh+1,npft+1] emean$transp [m] = szpft$transp [m,ndbh+1,npft+1] emean$wue [m] = szpft$wue [m,ndbh+1,npft+1] emean$npp [m] = szpft$npp [m,ndbh+1,npft+1] @@ -3453,6 +4306,7 @@ read.q.files <<- function( datum emean$etue [m] = szpft$etue [m,ndbh+1,npft+1] emean$cue [m] = szpft$cue [m,ndbh+1,npft+1] emean$ecue [m] = szpft$ecue [m,ndbh+1,npft+1] + emean$fire.lethal [m] = szpft$fire.lethal [m,ndbh+1,npft+1] emean$agb.growth [m] = szpft$agb.growth [m,ndbh+1,npft+1] emean$agb.mort [m] = szpft$agb.mort [m,ndbh+1,npft+1] emean$agb.dimort [m] = szpft$agb.dimort [m,ndbh+1,npft+1] @@ -3483,8 +4337,10 @@ read.q.files <<- function( datum #------------------------------------------------------------------------------------# # Convert leaf water to kg/m2leaf. # #------------------------------------------------------------------------------------# - emean$leaf.water [m ] = emean$leaf.water[m ] / pmax(emean$lai[m],0.01) - qmean$leaf.water [m,] = qmean$leaf.water[m,] / pmax(emean$lai[m],0.01) + emean$leaf.water [m ] = emean$leaf.water [m ] / pmax(emean$lai[m],0.01) + emean$leaf.water.im2[m ] = emean$leaf.water.im2[m ] / pmax(emean$lai[m],0.01) + qmean$leaf.water [m,] = qmean$leaf.water [m,] / pmax(emean$lai[m],0.01) + qmean$leaf.water.im2[m,] = qmean$leaf.water.im2[m,] / pmax(emean$lai[m],0.01) #------------------------------------------------------------------------------------# @@ -3757,6 +4613,9 @@ read.q.files <<- function( datum clab = paste( "y",sprintf("%4.4i",thisyear ) , "m",sprintf("%2.2i",thismonth),sep="") #----- Binding the current cohorts. ----------------------------------------------# + cohort$isi [[clab]] = isiconow + cohort$lsl [[clab]] = lslconow + cohort$ntext [[clab]] = ntextconow cohort$ipa [[clab]] = ipaconow cohort$ico [[clab]] = icoconow cohort$area [[clab]] = areaconow @@ -3823,10 +4682,11 @@ read.q.files <<- function( datum cohort$etue [[clab]] = etueconow cohort$demand [[clab]] = demandconow cohort$supply [[clab]] = supplyconow - cohort$mort [[clab]] = 100. * (1.0 - exp(-mortconow )) - cohort$ncbmort [[clab]] = 100. * (1.0 - exp(-ncbmortconow )) - cohort$hydmort [[clab]] = 100. * (1.0 - exp(-hydmortconow )) - cohort$dimort [[clab]] = 100. * (1.0 - exp(-dimortconow )) + cohort$mort [[clab]] = 100. * (1.0 - exp(-mortconow )) + cohort$ncbmort [[clab]] = 100. * (1.0 - exp(-ncbmortconow )) + cohort$hydmort [[clab]] = 100. * (1.0 - exp(-hydmortconow )) + cohort$dimort [[clab]] = 100. * (1.0 - exp(-dimortconow )) + cohort$fire.lethal [[clab]] = 100. * (1.0 - exp(-fire.lethalconow)) cohort$recruit [[clab]] = recruitconow cohort$growth [[clab]] = 100. * growthconow cohort$agb.growth [[clab]] = 100. * agb.growthconow @@ -3853,6 +4713,8 @@ read.q.files <<- function( datum cohort$leaf.temp [[clab]] = leaf.tempconow cohort$leaf.vpd [[clab]] = leaf.vpdconow cohort$leaf.gsw [[clab]] = leaf.gswconow + cohort$dmin.leaf.psi[[clab]] = dmin.leaf.psiconow + cohort$dmax.leaf.psi[[clab]] = dmax.leaf.psiconow } #end if month=sasmonth #------------------------------------------------------------------------------------# }# end for (m in tresume,ntimes) @@ -3873,6 +4735,7 @@ read.q.files <<- function( datum datum$lu = lu datum$qmean = qmean datum$qmsqu = qmsqu + datum$site = site datum$patch = patch datum$qpatch = qpatch datum$cohort = cohort @@ -3883,3 +4746,24 @@ read.q.files <<- function( datum }#end function read.q.files #==========================================================================================# #==========================================================================================# + + + + + +#==========================================================================================# +#==========================================================================================# +# Function that updates weighting factors, and checks that there are valid factors. # +# Useful for when the simulation has heterogeneous soil depths. # +#------------------------------------------------------------------------------------------# +reweight.valid <<- function(x){ + xsum = sum(x,na.rm=TRUE) + if (xsum %eq% 0){ + ans = rep(NA_real_,times=length(x)) + }else{ + ans = x / xsum + }#end if + return(ans) +}#end reweight.valid +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/rshort.bdown.r b/R-utils/rshort.bdown.r index d8d4ddc35..0ffc2b9b5 100644 --- a/R-utils/rshort.bdown.r +++ b/R-utils/rshort.bdown.r @@ -1,4 +1,4 @@ -#==========================================================================================# + #==========================================================================================# #==========================================================================================# # This subroutine computes the split between direct and diffuse radiation, and # # between visible and near-infrared radiation. Three methods are provided: # @@ -47,17 +47,18 @@ rshort.bdown <<- function(rad.in,atm.prss,cosz,rad.type=c("rshort","par","nir") if (length(atm.prss) == 1) atm.prss = rep(atm.prss,times=length(rad.in)) #----- Prevent clearness index method to be used when rad.type is not rshort. ----------# - if ( (! rad.method %in% "wn85") && (! (rad.type %in% "rshort")) ){ + if ( (rad.method %in% "sib") && (! (rad.type %in% "rshort")) ){ cat0(" - Radiation method: ",rad.method,".") cat0(" - Input radiation type: ",rad.type,".") - stop(" Radiation input type must be \"rshort\" unless using method \"wn85\".)") + stop(" Radiation input type must be \"rshort\" if using method \"sib\".)") }#end if #---------------------------------------------------------------------------------------# ans = switch( EXPR = rad.method , wn85 = rshort.bdown.weissnorman(rad.in,atm.prss,cosz,rad.type) - , clearidx = rshort.bdown.clearidx (rad.in,atm.prss,cosz,apply.bx10.corr) + , clearidx = rshort.bdown.clearidx (rad.in,atm.prss,cosz,apply.bx10.corr + ,rad.type) , sib = rshort.bdown.sib (rad.in,atm.prss,cosz) )#end switch return(ans) @@ -98,65 +99,38 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz #------ Initialise the radiation with NAs. ---------------------------------------------# - par.beam = NA * rad.in - nir.beam = NA * rad.in - par.diff = NA * rad.in - nir.diff = NA * rad.in - par.full = NA * rad.in - nir.full = NA * rad.in - rshort.beam = NA * rad.in - rshort.diff = NA * rad.in - rshort.full = NA * rad.in - par.max = NA * rad.in - nir.max = NA * rad.in - rshort.max = NA * rad.in + par.beam = NA_real_ * rad.in + nir.beam = NA_real_ * rad.in + par.diff = NA_real_ * rad.in + nir.diff = NA_real_ * rad.in + par.full = NA_real_ * rad.in + nir.full = NA_real_ * rad.in + rshort.beam = NA_real_ * rad.in + rshort.diff = NA_real_ * rad.in + rshort.full = NA_real_ * rad.in + par.max = NA_real_ * rad.in + nir.max = NA_real_ * rad.in + rshort.max = NA_real_ * rad.in + #---------------------------------------------------------------------------------------# #------ Make day and night flags. ------------------------------------------------------# - ntimes = length(cosz) - day = cosz %>% cosz.min - night = ! day + ntimes = length(cosz) + day = cosz %gt% cosz.min + night = cosz %lt% cosz.twilight + twilight = (! day) & (! night) #---------------------------------------------------------------------------------------# - - #---------------------------------------------------------------------------------------# - # First thing to check is whether this is daytime or "night-time". If the zenith # - # angle is too close to horizon, we assume it's dawn/dusk and all radiation goes to # - # diffuse. # - #---------------------------------------------------------------------------------------# - par.beam [night] = 0.0 - nir.beam [night] = 0.0 - if (rad.type %in% "par"){ - par.diff [night] = rad.in[night] - nir.diff [night] = fnir.diff.def * rad.in[night] / fvis.diff.def - }else if(rad.type %in% "nir"){ - par.diff [night] = fvis.diff.def * rad.in[night] / fnir.diff.def - nir.diff [night] = rad.in[night] - }else{ - par.diff [night] = fvis.diff.def * rad.in[night] - nir.diff [night] = fnir.diff.def * rad.in[night] - }#end if - par.full [night] = par.beam [night] + par.diff [night] - nir.full [night] = nir.beam [night] + nir.diff [night] - rshort.beam [night] = par.beam [night] + nir.beam [night] - rshort.diff [night] = par.diff [night] + nir.diff [night] - rshort.full [night] = rshort.beam[night] + rshort.diff[night] - par.max [night] = 0.0 - nir.max [night] = 0.0 - rshort.max [night] = 0.0 - #---------------------------------------------------------------------------------------# - - - - #----- Save 1/cos(zen), which is the secant. We will use this several times. ----------# - secz = ifelse(day, 1. / cosz, 0) - log10secz = log10(secz) + #----- Save the Chapman function to account for the earth's curvature. -----------------# + chapman = pmin(lnexp.max,huestis.fun(cosz=cosz)) + eff.cosz = ifelse( test = night, yes = 0., no = 1./chapman) + log10chapman = log10(chapman) #---------------------------------------------------------------------------------------# #----- Total radiation at the top of the atmosphere [ W/m2], using ED defaults. -------# - rshort.beam.toa = solar * ifelse(day,cosz,0.) + rshort.beam.toa = solar * eff.cosz par.beam.toa = fvis.beam.def * rshort.beam.toa nir.beam.toa = fnir.beam.def * rshort.beam.toa #---------------------------------------------------------------------------------------# @@ -167,7 +141,7 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz # and 9 of WN85. # #---------------------------------------------------------------------------------------# par.beam.pot = ( par.beam.toa - * exp ( par.beam.expext * (atm.prss / prefsea) * secz) ) + * exp ( par.beam.expext * (atm.prss / prefsea) * chapman) ) par.diff.pot = par2diff.sun * (par.beam.toa - par.beam.pot) par.full.pot = par.beam.pot + par.diff.pot #---------------------------------------------------------------------------------------# @@ -178,7 +152,7 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz # Find the NIR absorption of 10 mm of precipitable water, using WN85 equation 6. # #---------------------------------------------------------------------------------------# w10 = ( rshort.beam.toa - * 10 ** ((wn85.06[1]) + log10secz * (wn85.06[2] + wn85.06[3] * log10secz)) + * 10 ** ((wn85.06[1]) + log10chapman * (wn85.06[2] + wn85.06[3] * log10chapman)) )#end w10 #---------------------------------------------------------------------------------------# @@ -189,19 +163,30 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz # 4, 5, and 10 of WN85. # #---------------------------------------------------------------------------------------# nir.beam.pot = ( ( nir.beam.toa - * exp ( nir.beam.expext * (atm.prss / prefsea) * secz) - w10 ) ) + * exp ( nir.beam.expext * (atm.prss / prefsea) * chapman) - w10 ) ) nir.diff.pot = nir2diff.sun * ( nir.beam.toa - nir.beam.pot - w10 ) nir.full.pot = nir.beam.pot + nir.diff.pot #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # In case of twilight, set beam radiation to zero and diffuse radiation to # + # potential. # + #---------------------------------------------------------------------------------------# + par.beam.pot[twilight] = 0.0 + par.diff.pot[twilight] = par.full.pot[twilight] + nir.beam.pot[twilight] = 0.0 + nir.diff.pot[twilight] = nir.full.pot[twilight] + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Total maximum radiation. # #---------------------------------------------------------------------------------------# - par.max [day] = par.full.pot[day] - nir.max [day] = nir.full.pot[day] - rshort.max[day] = par.full.pot[day] + nir.full.pot[day] + par.max = par.full.pot + nir.max = nir.full.pot + rshort.max = par.full.pot + nir.full.pot #---------------------------------------------------------------------------------------# @@ -210,11 +195,11 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz # Find the actual total for PAR and NIR, using equations 7 and 8. # #---------------------------------------------------------------------------------------# if (rad.type %in% "par"){ - ratio = ifelse(day, rad.in / par.full.pot, 0.) + ratio = ifelse(test = night, yes = 0., no = rad.in / par.full.pot) }else if (rad.type %in% "nir"){ - ratio = ifelse(day, rad.in / nir.full.pot, 0.) + ratio = ifelse(test = night, yes = 0., no = rad.in / nir.full.pot) }else{ - ratio = ifelse(day, rad.in / (par.full.pot + nir.full.pot), 0.) + ratio = ifelse(test = night, yes = 0., no = rad.in / (par.full.pot + nir.full.pot)) }#end if par.full = ratio * par.full.pot nir.full = ratio * nir.full.pot @@ -249,15 +234,46 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz #---------------------------------------------------------------------------------------# # Find the radiation components. # #---------------------------------------------------------------------------------------# - par.beam [day] = fvis.beam.act[day] * par.full[day] - par.diff [day] = fvis.diff.act[day] * par.full[day] - nir.beam [day] = fnir.beam.act[day] * nir.full[day] - nir.diff [day] = fnir.diff.act[day] * nir.full[day] - rshort.beam [day] = par.beam [day] + nir.beam [day] - rshort.diff [day] = par.diff [day] + nir.diff [day] - rshort.full [day] = rshort.beam[day] + rshort.diff[day] + par.beam = fvis.beam.act * par.full + par.diff = fvis.diff.act * par.full + nir.beam = fnir.beam.act * nir.full + nir.diff = fnir.diff.act * nir.full + rshort.beam = par.beam + nir.beam + rshort.diff = par.diff + nir.diff + rshort.full = rshort.beam + rshort.diff #---------------------------------------------------------------------------------------# - rshort.bdown = data.frame( par.beam = par.beam + + + + + #---------------------------------------------------------------------------------------# + # Last thing to check is whether this is night time. If the zenith angle is more # + # than the typical angle for civil twilight, assume nighttime and set radiation to zero # + # (true radiation will still be slightly more than zero, but this avoids numerical # + # errors. # + #---------------------------------------------------------------------------------------# + par.beam [night] = 0.0 + nir.beam [night] = 0.0 + par.diff [night] = 0.0 + nir.diff [night] = 0.0 + par.full [night] = 0.0 + nir.full [night] = 0.0 + rshort.beam[night] = 0.0 + rshort.diff[night] = 0.0 + rshort.full[night] = 0.0 + par.max [night] = 0.0 + nir.max [night] = 0.0 + rshort.max [night] = 0.0 + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Save output data frame. # + #---------------------------------------------------------------------------------------# + rshort.bdown = data.frame( chapman = chapman + , eff.cosz = eff.cosz + , par.beam = par.beam , par.diff = par.diff , par.full = par.full , nir.beam = nir.beam @@ -286,7 +302,8 @@ rshort.bdown.weissnorman <<- function(rad.in,atm.prss,cosz # between visible and near-infrared radiation, using the clearness index method (BD08, # # TW05, BX10). # #------------------------------------------------------------------------------------------# -rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ +rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr + ,rad.type=c("rshort","par","nir")){ #---------------------------------------------------------------------------------------# # Local constants. # #---------------------------------------------------------------------------------------# @@ -307,57 +324,42 @@ rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ #------ Initialise the radiation with NAs (except for rshort.full). --------------------# - rshort.full = rad.in - rshort.beam = NA * rad.in - rshort.diff = NA * rad.in - par.beam = NA * rad.in - nir.beam = NA * rad.in - par.diff = NA * rad.in - nir.diff = NA * rad.in - par.full = NA * rad.in - nir.full = NA * rad.in - par.max = NA * rad.in - nir.max = NA * rad.in - rshort.max = NA * rad.in + rshort.full = NA_real_ * rad.in + rshort.beam = NA_real_ * rad.in + rshort.diff = NA_real_ * rad.in + par.beam = NA_real_ * rad.in + nir.beam = NA_real_ * rad.in + par.diff = NA_real_ * rad.in + nir.diff = NA_real_ * rad.in + par.full = NA_real_ * rad.in + nir.full = NA_real_ * rad.in + par.max = NA_real_ * rad.in + nir.max = NA_real_ * rad.in + rshort.max = NA_real_ * rad.in #---------------------------------------------------------------------------------------# #------ Make day and night flags. ------------------------------------------------------# - ntimes = length(cosz) - day = cosz %>% cosz.min - night = ! day + ntimes = length(cosz) + day = cosz %ge% cosz.min + night = cosz %lt% cosz.twilight + twilight = (! day) & (! night) #---------------------------------------------------------------------------------------# #---------------------------------------------------------------------------------------# - # First thing to check is whether this is daytime or "night-time". If the zenith # - # angle is too close to horizon, we assume it's dawn/dusk and all radiation goes to # - # diffuse. # - #---------------------------------------------------------------------------------------# - par.beam [night] = 0.0 - nir.beam [night] = 0.0 - par.diff [night] = tw05.eqn02[1] * rshort.full[night] - nir.diff [night] = (1. - tw05.eqn02[1]) * rshort.full[night] - par.full [night] = par.beam [night] + par.diff [night] - nir.full [night] = nir.beam [night] + nir.diff [night] - rshort.beam [night] = par.beam [night] + nir.beam [night] - rshort.diff [night] = par.diff [night] + nir.diff [night] - par.max [night] = 0.0 - nir.max [night] = 0.0 - rshort.max [night] = 0.0 + # Save the Chapman function to account for the earth's curvature and find the # + # effective cosine of the zenith angle. # #---------------------------------------------------------------------------------------# - - - - #----- Save 1/cos(zen), which is the secant. We will use this several times. ----------# - secz = ifelse(day, 1. / cosz, 0.) - log10secz = log10(secz) + chapman = pmin(lnexp.max,huestis.fun(cosz=cosz)) + eff.cosz = ifelse( test = night, yes = 0., no = 1./chapman) + log10chapman = log10(chapman) #---------------------------------------------------------------------------------------# #----- Total radiation at the top of the atmosphere [ W/m2], using ED defaults. -------# - rshort.beam.toa = solar * ifelse(day,cosz,0.) + rshort.beam.toa = solar * eff.cosz par.beam.toa = tw05.eqn02[1] * rshort.beam.toa nir.beam.toa = (1. - tw05.eqn02[1]) * rshort.beam.toa #---------------------------------------------------------------------------------------# @@ -369,7 +371,7 @@ rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ # and 9 of WN85. # #---------------------------------------------------------------------------------------# par.beam.pot = ( par.beam.toa - * exp ( par.beam.expext * (atm.prss / prefsea) * secz) ) + * exp ( par.beam.expext * (atm.prss / prefsea) * chapman) ) par.diff.pot = par2diff.sun * (par.beam.toa - par.beam.pot) par.full.pot = par.beam.pot + par.diff.pot #---------------------------------------------------------------------------------------# @@ -380,7 +382,7 @@ rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ # Find the NIR absorption of 10 mm of precipitable water, using WN85 equation 6. # #---------------------------------------------------------------------------------------# w10 = ( rshort.beam.toa - * 10 ** ((wn85.06[1]) + log10secz * (wn85.06[2] + wn85.06[3] * log10secz)) + * 10 ** ((wn85.06[1]) + log10chapman * (wn85.06[2] + wn85.06[3] * log10chapman)) )#end w10 #---------------------------------------------------------------------------------------# @@ -391,24 +393,62 @@ rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ # 4, 5, and 10 of WN85. # #---------------------------------------------------------------------------------------# nir.beam.pot = ( ( nir.beam.toa - * exp ( nir.beam.expext * (atm.prss / prefsea) * secz) - w10 ) ) + * exp ( nir.beam.expext * (atm.prss / prefsea) * chapman) - w10 ) ) nir.diff.pot = nir2diff.sun * ( nir.beam.toa - nir.beam.pot - w10 ) nir.full.pot = nir.beam.pot + nir.diff.pot #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # In case of twilight, set beam radiation to zero and diffuse radiation to # + # potential. # + #---------------------------------------------------------------------------------------# + par.beam.pot[twilight] = 0.0 + par.diff.pot[twilight] = par.full.pot[twilight] + nir.beam.pot[twilight] = 0.0 + nir.diff.pot[twilight] = nir.full.pot[twilight] + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# # Find the clearness index based on total shortwave radiation, then find the # # fraction of PAR radiation as a function of total radiation and clearness index, # # following TW05, eqn. 2. # #---------------------------------------------------------------------------------------# - fkt = ifelse(day,pmax(0.,pmin(1.,rshort.full / rshort.beam.toa)),0.) - fpar = tw05.eqn02[1] + fkt * ( tw05.eqn02[2] + fkt * tw05.eqn02[3] ) - par.full[day] = fpar[day] * rshort.full[day] - nir.full[day] = rshort.full[day] - par.full[day] + if (rad.type %in% "par"){ + par.full = rad.in + fkt = ifelse( test = night + , yes = 0. + , no = pmax(0.,pmin(1., par.full / par.beam.toa)) + )#end ifelse + fpar = tw05.eqn02[1] + fkt * ( tw05.eqn02[2] + fkt * tw05.eqn02[3] ) + rshort.full = par.full / fpar + nir.full = rshort.full - par.full + }else if (rad.type %in% "nir"){ + nir.full = rad.in + fkt = ifelse( test = night + , yes = 0. + , no = pmax(0.,pmin(1., nir.full / nir.beam.toa)) + )#end ifelse + fpar = tw05.eqn02[1] + fkt * ( tw05.eqn02[2] + fkt * tw05.eqn02[3] ) + rshort.full = nir.full / (1.-fpar) + par.full = rshort.full - nir.full + + }else{ + rshort.full = rad.in + fkt = ifelse( test = night + , yes = 0. + , no = pmax(0.,pmin(1., rshort.full / rshort.beam.toa)) + )#end ifelse + fpar = tw05.eqn02[1] + fkt * ( tw05.eqn02[2] + fkt * tw05.eqn02[3] ) + par.full = fpar * rshort.full + nir.full = rshort.full - par.full + }#end if #---------------------------------------------------------------------------------------# - + + #---------------------------------------------------------------------------------------# # Find the uncorrected diffuse fraction based on BD08. We use this equation # @@ -442,12 +482,12 @@ rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ #---------------------------------------------------------------------------------------# # Find the radiation components. # #---------------------------------------------------------------------------------------# - par.diff [day] = fdiff [day] * par.full[day] - par.beam [day] = par.full[day] - par.diff[day] - nir.diff [day] = fdiff [day] * nir.full[day] - nir.beam [day] = nir.full[day] - nir.diff[day] - rshort.diff[day] = par.diff[day] + nir.diff[day] - rshort.beam[day] = par.beam[day] + nir.beam[day] + par.diff = fdiff * par.full + par.beam = par.full - par.diff + nir.diff = fdiff * nir.full + nir.beam = nir.full - nir.diff + rshort.diff = par.diff + nir.diff + rshort.beam = par.beam + nir.beam #---------------------------------------------------------------------------------------# @@ -455,16 +495,40 @@ rshort.bdown.clearidx <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ #---------------------------------------------------------------------------------------# # Total maximum radiation. # #---------------------------------------------------------------------------------------# - par.max [day] = par.full.pot[day] - nir.max [day] = nir.full.pot[day] - rshort.max[day] = par.full.pot[day] + nir.full.pot[day] + par.max = par.full.pot + nir.max = nir.full.pot + rshort.max = par.full.pot + nir.full.pot + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Last thing to check is whether this is night time. If the zenith angle is more # + # than the typical angle for civil twilight, assume nighttime and set radiation to zero # + # (true radiation will still be slightly more than zero, but this avoids numerical # + # errors. # + #---------------------------------------------------------------------------------------# + par.beam [night] = 0.0 + nir.beam [night] = 0.0 + par.diff [night] = 0.0 + nir.diff [night] = 0.0 + par.full [night] = 0.0 + nir.full [night] = 0.0 + rshort.beam[night] = 0.0 + rshort.diff[night] = 0.0 + rshort.full[night] = 0.0 + par.max [night] = 0.0 + nir.max [night] = 0.0 + rshort.max [night] = 0.0 #---------------------------------------------------------------------------------------# #---------------------------------------------------------------------------------------# # Total maximum radiation. # #---------------------------------------------------------------------------------------# - rshort.bdown = data.frame( par.beam = par.beam + rshort.bdown = data.frame( chapman = chapman + , eff.cosz = eff.cosz + , par.beam = par.beam , par.diff = par.diff , par.full = par.full , nir.beam = nir.beam @@ -512,56 +576,42 @@ rshort.bdown.sib <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ #------ Initialise the radiation with NAs (except for rshort.full). --------------------# rshort.full = rad.in - rshort.beam = NA * rad.in - rshort.diff = NA * rad.in - par.beam = NA * rad.in - nir.beam = NA * rad.in - par.diff = NA * rad.in - nir.diff = NA * rad.in - par.full = NA * rad.in - nir.full = NA * rad.in - par.max = NA * rad.in - nir.max = NA * rad.in - rshort.max = NA * rad.in + rshort.beam = NA_real_ * rad.in + rshort.diff = NA_real_ * rad.in + par.beam = NA_real_ * rad.in + nir.beam = NA_real_ * rad.in + par.diff = NA_real_ * rad.in + nir.diff = NA_real_ * rad.in + par.full = NA_real_ * rad.in + nir.full = NA_real_ * rad.in + par.max = NA_real_ * rad.in + nir.max = NA_real_ * rad.in + rshort.max = NA_real_ * rad.in #---------------------------------------------------------------------------------------# #------ Make day and night flags. ------------------------------------------------------# - ntimes = length(cosz) - day = cosz %>% cosz.min - night = ! day + ntimes = length(cosz) + day = cosz %gt% cosz.min + night = cosz %lt% cosz.twilight + twilight = (! day) & (! night) #---------------------------------------------------------------------------------------# #---------------------------------------------------------------------------------------# - # First thing to check is whether this is daytime or "night-time". If the zenith # - # angle is too close to horizon, we assume it's dawn/dusk and all radiation goes to # - # diffuse. # + # Save the Chapman function to account for the earth's curvature and find the # + # effective cosine of the zenith angle. # #---------------------------------------------------------------------------------------# - par.beam [night] = 0.0 - nir.beam [night] = 0.0 - par.diff [night] = fvis.diff.def * rad.in[night] - nir.diff [night] = fnir.diff.def * rad.in[night] - par.full [night] = par.beam [night] + par.diff [night] - nir.full [night] = nir.beam [night] + nir.diff [night] - rshort.beam [night] = par.beam [night] + nir.beam [night] - rshort.diff [night] = par.diff [night] + nir.diff [night] - par.max [night] = 0.0 - nir.max [night] = 0.0 - rshort.max [night] = 0.0 + chapman = pmin(lnexp.max,huestis.fun(cosz=cosz)) + eff.cosz = ifelse( test = night, yes = 0., no = 1./chapman) + log10chapman = log10(chapman) #---------------------------------------------------------------------------------------# - #----- Save 1/cos(zen), which is the secant. We will use this several times. ----------# - secz = ifelse(day, 1. / cosz, 0.) - log10secz = log10(secz) - #---------------------------------------------------------------------------------------# - - #----- Total radiation at the top of the atmosphere [ W/m2], using ED defaults. -------# - rshort.beam.toa = solar * ifelse(day,cosz,0.) + rshort.beam.toa = solar * eff.cosz par.beam.toa = fvis.beam.def * rshort.beam.toa nir.beam.toa = fnir.beam.def * rshort.beam.toa #---------------------------------------------------------------------------------------# @@ -573,7 +623,7 @@ rshort.bdown.sib <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ # and 9 of WN85. # #---------------------------------------------------------------------------------------# par.beam.pot = ( par.beam.toa - * exp ( par.beam.expext * (atm.prss / prefsea) * secz) ) + * exp ( par.beam.expext * (atm.prss / prefsea) * chapman) ) par.diff.pot = par2diff.sun * (par.beam.toa - par.beam.pot) par.full.pot = par.beam.pot + par.diff.pot #---------------------------------------------------------------------------------------# @@ -584,7 +634,7 @@ rshort.bdown.sib <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ # Find the NIR absorption of 10 mm of precipitable water, using WN85 equation 6. # #---------------------------------------------------------------------------------------# w10 = ( rshort.beam.toa - * 10 ** ((wn85.06[1]) + log10secz * (wn85.06[2] + wn85.06[3] * log10secz)) + * 10 ** ((wn85.06[1]) + log10chapman * (wn85.06[2] + wn85.06[3] * log10chapman)) )#end w10 #---------------------------------------------------------------------------------------# @@ -595,34 +645,43 @@ rshort.bdown.sib <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ # 4, 5, and 10 of WN85. # #---------------------------------------------------------------------------------------# nir.beam.pot = ( ( nir.beam.toa - * exp ( nir.beam.expext * (atm.prss / prefsea) * secz) - w10 ) ) + * exp ( nir.beam.expext * (atm.prss / prefsea) * chapman) - w10 ) ) nir.diff.pot = nir2diff.sun * ( nir.beam.toa - nir.beam.pot - w10 ) nir.full.pot = nir.beam.pot + nir.diff.pot #---------------------------------------------------------------------------------------# + #---------------------------------------------------------------------------------------# + # In case of twilight, set beam radiation to zero and diffuse radiation to # + # potential. # + #---------------------------------------------------------------------------------------# + par.beam.pot[twilight] = 0.0 + par.diff.pot[twilight] = par.full.pot[twilight] + nir.beam.pot[twilight] = 0.0 + nir.diff.pot[twilight] = nir.full.pot[twilight] + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# # Find the cloud cover estimate and the fraction of diffuse radiation. # #---------------------------------------------------------------------------------------# - cloud = ifelse( day - , pmin(1.,pmax(0.,(csib[5] * cosz - rshort.full) / (csib[4] * cosz))) - , 0.5 - )#end ifelse - difrat = ifelse(day,pmin(1.,pmax(0.,0.0604 / ( cosz -0.0223 ) + 0.0683)),1.0) + cloud = pmin(1.,pmax(0.,(csib[5] * eff.cosz - rshort.full) / (csib[4] * eff.cosz))) + difrat = pmin(1.,pmax(0.,0.0604 / ( eff.cosz -0.0223 ) + 0.0683)) difrat = difrat + ( 1. - difrat ) * cloud vnrat = ( ( csib[1] - cloud*csib[2] ) / ( ( csib[1] - cloud*csib[3] ) + ( csib[1] - cloud*csib[2] )) )#end vnrat - rshort.diff[day] = difrat[day] * vnrat[day] * rshort.full[day] - rshort.beam[day] = rshort.full[day] - rshort.diff[day] - par.diff [day] = fvis.diff.def * rshort.diff[day] - nir.diff [day] = fnir.diff.def * rshort.diff[day] - par.beam [day] = fvis.beam.def * rshort.beam[day] - nir.beam [day] = fnir.beam.def * rshort.beam[day] - par.full [day] = par.diff[day] + par.beam[day] - nir.full [day] = nir.diff[day] + nir.beam[day] + rshort.diff = ifelse(test=day,yes=difrat * vnrat * rshort.full,no=rshort.full) + rshort.beam = rshort.full - rshort.diff + par.diff = fvis.diff.def * rshort.diff + nir.diff = fnir.diff.def * rshort.diff + par.beam = fvis.beam.def * rshort.beam + nir.beam = fnir.beam.def * rshort.beam + par.full = par.diff + par.beam + nir.full = nir.diff + nir.beam #---------------------------------------------------------------------------------------# @@ -630,11 +689,36 @@ rshort.bdown.sib <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ #---------------------------------------------------------------------------------------# # Total maximum radiation. # #---------------------------------------------------------------------------------------# - par.max [day] = par.full.pot[day] - nir.max [day] = nir.full.pot[day] - rshort.max[day] = par.full.pot[day] + nir.full.pot[day] + par.max = par.full.pot + nir.max = nir.full.pot + rshort.max = par.full.pot + nir.full.pot + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Last thing to check is whether this is night time. If the zenith angle is more # + # than the typical angle for civil twilight, assume nighttime and set radiation to zero # + # (true radiation will still be slightly more than zero, but this avoids numerical # + # errors. # + #---------------------------------------------------------------------------------------# + par.beam [night] = 0.0 + nir.beam [night] = 0.0 + par.diff [night] = 0.0 + nir.diff [night] = 0.0 + par.full [night] = 0.0 + nir.full [night] = 0.0 + rshort.beam[night] = 0.0 + rshort.diff[night] = 0.0 + rshort.full[night] = 0.0 + par.max [night] = 0.0 + nir.max [night] = 0.0 + rshort.max [night] = 0.0 #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Total maximum radiation. # #---------------------------------------------------------------------------------------# @@ -657,3 +741,65 @@ rshort.bdown.sib <<- function(rad.in,atm.prss,cosz,apply.bx10.corr){ }#end function rshort.bdown.sib #==========================================================================================# #==========================================================================================# + + + + + + +#==========================================================================================# +#==========================================================================================# +# This function calculates the effect of sun angle increasing the optical depth in a # +# sphere. This allows accounting for the diffuse radiation at twilight, using the # +# modified Chapman function following: # +# # +# Reference: # +# # +# Huestis DL. 2001. Accurate evaluation of the chapman function for atmospheric # +# attenuation. J. Quant. Spectrosc. Radiat. Transf., 69: 709-721. # +# doi:10.1016/S0022-4073(00)00107-2 # +# # +# # +# Input variables: # +# - tvir. Virtual temperature, in Kelvin. # +# - cosz. Cosine of the sun's zenith angle. # +# - dzen. Bin width of the zenith angle for the numerical integration # +#------------------------------------------------------------------------------------------# +huestis.fun <<- function(cosz,alt=0.,dzen=0.05){ + #----- Dimensionless curvature ratio. --------------------------------------------------# + xx = ( erad + alt ) / ehgt + #---------------------------------------------------------------------------------------# + + + #---- Create the look-up table. --------------------------------------------------------# + zend.ref = seq(from=0,to=180-dzen,by=dzen) + lambda.ref = mid.points(zend.ref) + nzen = length(zend.ref) + ZEND.REF = matrix(data=zend.ref,nrow=nzen,ncol=nzen,byrow=FALSE) + LAMBDA.REF = matrix(data=zend.ref,nrow=nzen,ncol=nzen,byrow=TRUE ) + LAMBDA.REF = pmin(ZEND.REF,LAMBDA.REF) + DLAMBDA.REF = t(apply(X=LAMBDA.REF,MARGIN=1,FUN=diff)) + LAMBDA.REF = t(apply(X=LAMBDA.REF,MARGIN=1,FUN=mid.points)) + ZEND.REF = ZEND.REF[,-nzen] + SINZ.REF = sin(ZEND.REF*pio180) + SINL.REF = sin(LAMBDA.REF*pio180) + COSL.REF = cos(LAMBDA.REF*pio180) + KERNEL = ifelse( test = SINL.REF %eq% 0. + , yes = 0. + , no = exp(xx*(1.-SINZ.REF/SINL.REF))/(1.+COSL.REF) + )#end ifelse + huestis.ref = 1+xx*sin(zend.ref*pio180) * rowSums(KERNEL*DLAMBDA.REF*pio180) + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Create matrices with the reference. # + #---------------------------------------------------------------------------------------# + zend = dzen * round(acos(cosz)/pio180/dzen) + idx = match(zend,zend.ref) + ans = 0.*cosz + c(huestis.ref[idx]) + return(ans) + #---------------------------------------------------------------------------------------# +}#end function huestis.fun +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/sample.by.quant.r b/R-utils/sample.by.quant.r index 6a5e1cb62..05ea05f12 100644 --- a/R-utils/sample.by.quant.r +++ b/R-utils/sample.by.quant.r @@ -37,18 +37,17 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ #----- First we check whether a is valid. ----------------------------------------------# - if (length(a) != 1){ - stop (paste(" Factor a must be a scalar, and you entered one with length " - ,length(a),"...",sep="")) - }#end if + if (! (length(a) %eq% 1L)){ + stop(paste0(" Factor \"a\" must be scalar. The input one has length ",length(a),".")) + }#end if (! (length(a) %eq% 1L)) #---------------------------------------------------------------------------------------# #----- First we check whether x or v are valid. ----------------------------------------# if (missing(x) || missing(v)){ - cat (" - x is missing: ",missing(x),"\n") - cat (" - v is missing: ",missing(v),"\n") - stop(" Either x or v (or both) is missing...") + cat (" - \"x\" is missing: ",missing(x),"\n") + cat (" - \"v\" is missing: ",missing(v),"\n") + stop(" Either \"x\" or \"v\" (or both) is missing.") }else if (length(x) < length(v)){ v.names = as.numeric(names(v)) ix = match(x,v.names) @@ -74,7 +73,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ v = v[as.numeric(names(v)) %in% keep] }else{ ix = sequence(length(x)) - }#end if + }#end if (missing(x) || missing(v)) #---------------------------------------------------------------------------------------# @@ -86,7 +85,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ stop(" Variable method must be scalar!") }else{ use = substring(tolower(method),1,1) - }#end if + }#end if (length(method) != 1) #---------------------------------------------------------------------------------------# @@ -124,7 +123,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ , quant = quant , prob = rep(1/nx,times=nx) )#end list - }else if (a == 0){ + }else if (a %in% 0L){ s = sample(x=x,size=nx,replace=TRUE) cnt = table(s) prob = rep(0,times=nx) @@ -137,7 +136,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ , quant = quant , prob = prob )#end list - }else if (use == "p"){ + }else if (use %in% "p"){ prob = abs(a) ^ (sign(a)*(1-2*quant)) @@ -149,7 +148,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ , quant = quant , prob = prob )#end list - }else if (use == "l"){ + }else if (use %in% "l"){ prob = inv.logit((a-sign(a))*(quant-0.5-0.01*a)) s = sample(x=x,size=nx,replace=TRUE,prob=prob) ans = list( orig = x @@ -159,7 +158,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ , quant = quant , prob = prob )#end list - }else if (use == "b"){ + }else if (use %in% "b"){ s = rep(NA,times=nx) prob = abs(a) ^ (sign(a)*quant > sign(a)*0.5) s[1] = sample(x=x,size=1,replace=TRUE,prob=prob) @@ -179,7 +178,7 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ , quant = quant , prob = prob )#end list - }else if (use == "s"){ + }else if (use %in% "s"){ #----- Find the skew normal statistics. ---------------------------------------------# v.loc = sn.location(x=v,na.rm=TRUE) v.scl = sn.scale (x=v,na.rm=TRUE) @@ -193,8 +192,8 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ s.scl = v.scl s.shp = v.shp d.shp = round.log(abs(s.shp)) - q.100 = qsn(p=0.10,location=s.loc,scale=s.scl,shape=s.shp) - q.900 = qsn(p=0.90,location=s.loc,scale=s.scl,shape=s.shp) + q.100 = qsn(p=0.10,xi=s.loc,omega=s.scl,alpha=s.shp) + q.900 = qsn(p=0.90,xi=s.loc,omega=s.scl,alpha=s.shp) v.min = min(v) v.max = max(v) #it = 0 @@ -207,14 +206,14 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ # if (q.900 > v.max){ # s.shp = s.shp - 0.1 * d.shp # }#end if - # q.100 = qsn(p=0.10,location=s.loc,scale=s.scl,shape=s.shp) - # q.900 = qsn(p=0.90,location=s.loc,scale=s.scl,shape=s.shp) + # q.100 = qsn(p=0.10,xi=s.loc,omega=s.scl,alpha=s.shp) + # q.900 = qsn(p=0.90,xi=s.loc,omega=s.scl,alpha=s.shp) #}#end while #------------------------------------------------------------------------------------# #----- Use the new statistics to find the new distribution. -------------------------# - v.goal = rsn(n=nx,location=s.loc,scale=s.scl,shape=s.shp) + v.goal = rsn(n=nx,xi=s.loc,omega=s.scl,alpha=s.shp) s.idx = mapply(FUN=which.closest,x=v.goal,MoreArgs=list(A=v)) s = x[s.idx] cnt = table(s) @@ -231,10 +230,10 @@ sample.by.quant <<- function(x,v,method="skew",a=1){ #------------------------------------------------------------------------------------# }else{ - stop (paste(" Method ",method," is not recognised...",sep="")) + stop (paste0(" Method ",method," is not recognised.")) }#end if #---------------------------------------------------------------------------------------# return(ans) -}#end function +}#end function sample.by.quant #------------------------------------------------------------------------------------------# diff --git a/R-utils/showutils.r b/R-utils/showutils.r index 304a9a4c7..3194b288d 100644 --- a/R-utils/showutils.r +++ b/R-utils/showutils.r @@ -67,7 +67,7 @@ fill.bg <<- function(pch,col,bg="white",dial=0.0){ #----- Discard colours for those points without background support. --------------------# - rgb.bg = ifelse(test=pch %>% 20,yes=rgb.bg,no="transparent") + rgb.bg = ifelse(test=pch %gt% 20,yes=rgb.bg,no="transparent") #---------------------------------------------------------------------------------------# return(rgb.bg) diff --git a/R-utils/soilutils.r b/R-utils/soilutils.r index 7563cf0a6..b941f11f0 100644 --- a/R-utils/soilutils.r +++ b/R-utils/soilutils.r @@ -122,8 +122,85 @@ nstext.polygon <<- nstext.polygon #==========================================================================================# # This function finds the soil parameters. # #------------------------------------------------------------------------------------------# -soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd - ,out.dfr=FALSE){ +soil.params <<- function( ntext = NA_integer_ + , isoilflg = 1 + , slxsand = NA_real_ + , slxclay = NA_real_ + , slsoc = NA_real_ + , slph = NA_real_ + , slcec = NA_real_ + , sldbd = NA_real_ + , slhydro = ifelse( test = ntext %in% c(12,13) + , yes = ntext + , no = isoil.hydro + )#end ifelse + , out.dfr = FALSE + ){ + + #----- Decide whether to call function recursively. ------------------------------------# + ulen = unique( c(length(ntext),length(isoilflg),length(slxsand),length(slsoc) + ,length(slph),length(slcec),length(sldbd),length(slhydro) + )#end c + )#end unique + if (any(ulen > 1)){ + #----- There are vectors. Ensure all data are either scalar or same-sized vector. ---# + if (any(! ulen %in% c(1,max(ulen)))){ + #----- Stop the execution, the data are inconsistent. ----------------------------# + cat0("---------------------------------------------------------------------") + cat0(" Input data must be either scalars or vectors with the same size.") + cat0("---------------------------------------------------------------------") + cat0(" Length(ntext) = ",length(ntext) ,".") + cat0(" Length(isoilflg) = ",length(isoilflg),".") + cat0(" Length(slxsand) = ",length(slxsand) ,".") + cat0(" Length(slxclay) = ",length(slxclay) ,".") + cat0(" Length(slsoc) = ",length(slsoc) ,".") + cat0(" Length(slph) = ",length(slph) ,".") + cat0(" Length(slcec) = ",length(slcec) ,".") + cat0(" Length(sldbd) = ",length(sldbd) ,".") + cat0(" Length(slhydro) = ",length(slhydro) ,".") + cat0("---------------------------------------------------------------------") + stop(" Dimension mismatch of input variables.") + #---------------------------------------------------------------------------------# + }#end if (any(! ulen %in% c(1,max(ulen)))) + #------------------------------------------------------------------------------------# + + + #----- At this point we are clear. Turn data into vectors. -------------------------# + mxlen = max(ulen) + if (length(ntext ) %in% c(1)) ntext = rep(x=ntext ,times=mxlen) + if (length(isoilflg) %in% c(1)) isoilflg = rep(x=isoilflg,times=mxlen) + if (length(slxsand ) %in% c(1)) slxsand = rep(x=slxsand ,times=mxlen) + if (length(slxclay ) %in% c(1)) slxclay = rep(x=slxclay ,times=mxlen) + if (length(slsoc ) %in% c(1)) slsoc = rep(x=slsoc ,times=mxlen) + if (length(slph ) %in% c(1)) slph = rep(x=slph ,times=mxlen) + if (length(slcec ) %in% c(1)) slcec = rep(x=slcec ,times=mxlen) + if (length(sldbd ) %in% c(1)) sldbd = rep(x=sldbd ,times=mxlen) + if (length(slhydro ) %in% c(1)) slhydro = rep(x=slhydro ,times=mxlen) + #------------------------------------------------------------------------------------# + + + #----- Use mapply to run the function. ----------------------------------------------# + ans = mapply( FUN = soil.params + , ntext = as.list(ntext ) + , isoilflg = as.list(isoilflg) + , slxsand = as.list(slxsand ) + , slxclay = as.list(slxclay ) + , slsoc = as.list(slsoc ) + , slph = as.list(slph ) + , slcec = as.list(slcec ) + , sldbd = as.list(sldbd ) + , slhydro = as.list(slhydro ) + , MoreArgs = list(out.dfr=out.dfr) + , SIMPLIFY = FALSE + )#end mapply + if (out.dfr) ans = do.call(what="rbind",args=ans) + return(ans) + #------------------------------------------------------------------------------------# + }#end if (any(ulen > 1)) + #---------------------------------------------------------------------------------------# + + + #----- Define some prescribed fractions. -----------------------------------------------# xsand.def = c( 0.920, 0.825, 0.660, 0.200, 0.410, 0.590 , 0.100, 0.320, 0.520, 0.060, 0.200, 0.200 @@ -142,6 +219,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd slpotst.MPa = 5.e-4 # "saturated" soil approximation for van Genuchten [ MPa] slpotth.MPa = 0.01 # soil-water potential: field capacity (Tomasella-Hodnett) [ MPa] slpotsr.MPa = 0.033 # soil-water potential: field capacity (Saxton-Rawls) [ MPa] + slpotdg.MPa = 5.0 # soil-water potential: air dry soil (van Genuchten) [ MPa] slpotcp.MPa = 3.1 # soil-water potential: air dry soil [ MPa] slpotwp.MPa = 1.5 # soil-water potential: wilting point [ MPa] slpotld.MPa = 0.75 # soil-water potential that plants start dropping leaves [ MPa] @@ -228,7 +306,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #---------------------------------------------------------------------------------------# # Find soil class and sand, silt, and clay fractions. # #---------------------------------------------------------------------------------------# - if (missing(slxsand) || missing(slxclay) || missing(isoilflg)){ + if (is.na(slxsand) || is.na(slxclay) || is.na(isoilflg)){ mysoil$ntext = ntext mysoil$name = soil.name[mysoil$ntext] mysoil$key = soil.key [mysoil$ntext] @@ -236,9 +314,9 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd mysoil$xclay = xclay.def[ntext] mysoil$xsilt = 1. - mysoil$xsand - mysoil$xclay }else if (isoilflg == 2 & slxsand > 0 & slxclay > 0 & (slxsand + slxclay) < 1 ){ - mysoil$ntext = sclass(slxsand,slxclay) - mysoil$name = soil.name[mysoil$ntext] - mysoil$key = soil.key [mysoil$ntext] + mysoil$ntext = if(is.na(ntext)){sclass(sandfrac=slxsand,clayfrac=slxclay)}else{ntext} + mysoil$name = "User" + mysoil$key = "User" mysoil$xsand = slxsand mysoil$xclay = slxclay mysoil$xsilt = 1. - mysoil$xsand - mysoil$xclay @@ -255,11 +333,11 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #----- Decide which method to use. -----------------------------------------------------# - if ( mysoil$ntext %in% 13){ + if ( slhydro %in% 13){ mysoil$method = "BDRK" - }else if ( (mysoil$ntext %in% c(12)) || isoil.hydro %in% c(0,1)){ + }else if ( slhydro %in% c(0,1,12)){ mysoil$method = "BC64" - }else if (isoil.hydro %in% 2){ + }else if (slhydro %in% 2){ mysoil$method = "vG80" }else{ mysoil$method = "SR06" @@ -272,7 +350,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #---------------------------------------------------------------------------------------# if (mysoil$method %in% "vG80"){ #----- Make sure all required variables are provided. -------------------------------# - fine = ! (missing(slsoc) || missing(slph) || missing(slcec) || missing(sldbd)) + fine = ! (is.na(slsoc) || is.na(slph) || is.na(slcec) || is.na(sldbd)) if (fine){ #----- Copy values from inputs. --------------------------------------------------# mysoil$slsoc = slsoc @@ -284,10 +362,10 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #----- Missing data, issue an error message. -------------------------------------# cat0("---------------------------------------------------------------------------") cat0(" Missing parameters for isoil.hydro = 2 (Hodnett and Tomasella 2002)! ") - cat0(" Missing \"slsoc\" = ",missing(slsoc),".") - cat0(" Missing \"slph\" = ",missing(slph) ,".") - cat0(" Missing \"slcec\" = ",missing(slcec),".") - cat0(" Missing \"sldbd\" = ",missing(sldbd),".") + cat0(" Missing \"slsoc\" = ",is.na(slsoc),".") + cat0(" Missing \"slph\" = ",is.na(slph) ,".") + cat0(" Missing \"slcec\" = ",is.na(slcec),".") + cat0(" Missing \"sldbd\" = ",is.na(sldbd),".") cat0("---------------------------------------------------------------------------") stop(" Invalid settings for soil.params.") #---------------------------------------------------------------------------------# @@ -295,7 +373,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #------------------------------------------------------------------------------------# }else if (mysoil$method %in% "SR06"){ #----- Make sure all required variables are provided. -------------------------------# - fine = ! (missing(slsoc) || missing(slph) || missing(slcec) || missing(sldbd)) + fine = ! is.na(slsoc) if (fine){ #----- Copy values from inputs. --------------------------------------------------# mysoil$slsoc = slsoc @@ -311,16 +389,16 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #------------------------------------------------------------------------------------# #----- Variables are dummy but we honour the input variables if provided. -----------# - if (! missing(slph )) mysoil$slph = slph - if (! missing(slcec)) mysoil$slcec = slcec - if (! missing(sldbd)) mysoil$sldbd = sldbd + mysoil$slph = slph + mysoil$slcec = slcec + mysoil$sldbd = sldbd #------------------------------------------------------------------------------------# }else{ #----- Variables are dummy but we honour the input variables if provided. -----------# - if (! missing(slsoc)) mysoil$slsoc = slsoc - if (! missing(slph )) mysoil$slph = slph - if (! missing(slcec)) mysoil$slcec = slcec - if (! missing(sldbd)) mysoil$sldbd = sldbd + mysoil$slsoc = slsoc + mysoil$slph = slph + mysoil$slcec = slcec + mysoil$sldbd = sldbd #------------------------------------------------------------------------------------# }#end if (mysoil$method %in% "vG1980") #---------------------------------------------------------------------------------------# @@ -330,11 +408,11 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #---------------------------------------------------------------------------------------# # Set up primary properties. # #---------------------------------------------------------------------------------------# - if (mysoil$ntext == 13){ + if (slhydro == 13){ #----- Bedrock. Most things are zero, because it is an impermeable soil. -----------# mysoil$slcpd = 2130000. #------------------------------------------------------------------------------------# - }else if (mysoil$ntext == 12){ + }else if (slhydro == 12){ #------------------------------------------------------------------------------------# # Peat. High concentration of organic matter. Mineral soil equations don't # # apply here. # @@ -358,7 +436,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd mysoil$slpotwp = - slpotwp.MPa * 1.e6 / ( grav * wdns ) mysoil$soilwp = mpot2smoist(mysoil$slpotwp, mysoil) #------------------------------------------------------------------------------------# - }else if (isoil.hydro == 0){ + }else if (slhydro == 0){ #------------------------------------------------------------------------------------# # Mineral soil. Use the standard ED-2.2 equations. # #------------------------------------------------------------------------------------# @@ -386,7 +464,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd mysoil$slpotfc = smoist2mpot(mysoil$sfldcap, mysoil) mysoil$slpotwp = - slpotwp.MPa * 1.e6 / ( grav * wdns ) mysoil$soilwp = mpot2smoist(mysoil$slpotwp, mysoil) - }else if (isoil.hydro == 1){ + }else if (slhydro == 1){ #------------------------------------------------------------------------------------# # Use Tomasella and Hodnett (1998). # #------------------------------------------------------------------------------------# @@ -431,7 +509,8 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd mysoil$slpotwp = - slpotwp.MPa * 1.e6 / ( grav * wdns ) mysoil$soilwp = mpot2smoist(mysoil$slpotwp, mysoil) #------------------------------------------------------------------------------------# - }else if (isoil.hydro == 2){ + }else if (slhydro == 2){ + #------------------------------------------------------------------------------------# # Use Hodnett and Tomasella (2002). # #------------------------------------------------------------------------------------# @@ -483,7 +562,7 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd mysoil$slpotwp = - slpotwp.MPa * 1.e6 / ( grav * wdns ) mysoil$soilwp = mpot2smoist(mysoil$slpotwp, mysoil) #------------------------------------------------------------------------------------# - }else if (isoil.hydro == 3){ + }else if (slhydro == 3){ #------------------------------------------------------------------------------------# # Use Saxton and Rawls (2006). # #------------------------------------------------------------------------------------# @@ -542,9 +621,13 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #---------------------------------------------------------------------------------------# # Calculate the derived properties in case this is not bedrock. # #---------------------------------------------------------------------------------------# - if (mysoil$ntext != 13){ + if (slhydro != 13){ mysoil$fhydraul = 2.0 - mysoil$slpotcp = - slpotcp.MPa * 1.e6 / ( wdns * grav ) + if (mysoil$method %in% "vG80"){ + mysoil$slpotcp = - slpotdg.MPa * 1.e6 / ( wdns * grav ) + }else{ + mysoil$slpotcp = - slpotcp.MPa * 1.e6 / ( wdns * grav ) + }#end if (mysoil$method %in% "vG80") mysoil$slpotld = - slpotld.MPa * 1.e6 / ( wdns * grav ) mysoil$slpotfr = - slpotfr.MPa * 1.e6 / ( wdns * grav ) mysoil$soilcp = mpot2smoist(mysoil$slpotcp, mysoil) @@ -584,16 +667,16 @@ soil.params <<- function(ntext,isoilflg,slxsand,slxclay,slsoc,slph,slcec,sldbd #---------------------------------------------------------------------------------------# # Make sure everything makes sense. In case it doesn't, check. # #---------------------------------------------------------------------------------------# - cp.fine = all(mysoil$soilre %<=% mysoil$soilcp ) - wp.fine = all(mysoil$soilcp %<=% mysoil$soilwp ) - fc.fine = all(mysoil$soilwp %<=% mysoil$sfldcap) - po.fine = all(mysoil$sfldcap %<=% mysoil$slmsts ) + cp.fine = all(mysoil$soilre %le% mysoil$soilcp ) + wp.fine = all(mysoil$soilcp %le% mysoil$soilwp ) + fc.fine = all(mysoil$soilwp %le% mysoil$sfldcap) + po.fine = all(mysoil$sfldcap %le% mysoil$slmsts ) if (! (cp.fine && wp.fine && fc.fine && po.fine) ) browser() #---------------------------------------------------------------------------------------# #----- Select the output format according to the users' choice. ------------------------# - if (out.dfr) mysoil = as.data.frame(mysoil,stringsAsFactors=FALSE) + if (out.dfr) mysoil = as.data.table(mysoil,stringsAsFactors=FALSE) #---------------------------------------------------------------------------------------# return(mysoil) @@ -618,12 +701,28 @@ sclass <<- function(sandfrac,clayfrac){ silt = 100. - sand - clay #---------------------------------------------------------------------------------------# + + #----- If the fractions are vectors, use mapply to get the answer. ---------------------# + if (length(sand) > 1){ + l.sand = as.list(0.01*sand) + l.clay = as.list(0.01*clay) + ans = mapply( FUN = sclass + , sandfrac = l.sand + , clayfrac = l.clay + , SIMPLIFY = TRUE + )#end mapply + return(ans) + }#end if + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Here there is not much we can do other than explore where in the triangle space # # we are. # #---------------------------------------------------------------------------------------# - - if (silt > 100. | silt < 0. | sand > 100. | sand < 0. | clay > 100. | clay < 0. ) { + if ( is.na(silt) || is.na(sand) || is.na(clay) ){ + mysoil = NA_integer_ + }else if (silt > 100. | silt < 0. | sand > 100. | sand < 0. | clay > 100. | clay < 0. ) { print("---------------------------------------------------") print(" At least one of your percentages is screwy...") print(paste0("SAND = ",sprintf("%.2f",sand),"%")) @@ -755,30 +854,77 @@ soil.idx2water <<- function(soil.index,soil){ # Function that converts matric potential (m) into soil moisture (m3/m3). # #------------------------------------------------------------------------------------------# smoist2mpot <<- function(smoist,mysoil){ - #----- Pick method. --------------------------------------------------------------------# - if (mysoil$method %in% "BDRK"){ - #----- Bedrock, ignore. -------------------------------------------------------------# - mpot = 0. - #------------------------------------------------------------------------------------# - }else if (mysoil$method %in% "vG80"){ - #----- van Genuchten (1980). --------------------------------------------------------# - smfrac = (smoist - mysoil$soilre) / (mysoil$soilpo - mysoil$soilre) - smfrac = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) - mpot = mysoil$slpotbp * (smfrac^mysoil$slmu - 1.)^(1.-mysoil$slmm) - #------------------------------------------------------------------------------------# - }else if (mysoil$method %in% "SR06"){ - #----- Saxton and Rawls (2006). -----------------------------------------------------# - smbelow = pmin(1.,smoist/mysoil$sfldcap) - smabove = pmax(0.,smoist - mysoil$sfldcap) - mpot = with(mysoil, slpotfc / smbelow^slbs + slas * smabove) - #------------------------------------------------------------------------------------# - }else{ - #----- Brooks and Corey (1964). -----------------------------------------------------# - smfrac = (smoist - mysoil$soilre) / (mysoil$slmsts - mysoil$soilre) - smfrac = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) - mpot = mysoil$slpots / smfrac ^ mysoil$slbs - #------------------------------------------------------------------------------------# - }#end if (mysoil$method %in% "vG80") + + + #----- Select the output format according to the users' choice. ------------------------# + if (! is.data.table(mysoil)) mysoil = as.data.table(mysoil,stringsAsFactors=FALSE) + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Count the number of rows and make sure it either matches smoist or it's a single # + # line. # + #---------------------------------------------------------------------------------------# + nmysoil = nrow (mysoil) + nsmoist = length(smoist) + if (nmysoil == 1){ + idx = rep(1,times=nsmoist) + mysoil = mysoil[idx,] + }else if (nmysoil != nsmoist){ + cat0("----------------------------------------------------------------------") + cat0(" Size mismatch between smoist and mysoil!" ) + cat0(" - length(smoist): ",nsmoist ) + cat0(" - size (mysoil): ",nmysoil ) + cat0("----------------------------------------------------------------------") + stop(" Variable \"mysoil\" should have a single soil or match smoist length.") + }#end if (nmysoil == 1) + #---------------------------------------------------------------------------------------# + + + #------ Initialise matric potential and ancillary variables. ---------------------------# + mpot = NA_real_ * smoist + smbelow = NA_real_ * smoist + smabove = NA_real_ * smoist + smfrac = NA_real_ * smoist + bdrk = mysoil$method %in% "BDRK" + vg80 = mysoil$method %in% "vG80" + sr06 = mysoil$method %in% "SR06" + bc64 = mysoil$method %in% "BC64" + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Check methods. # + #---------------------------------------------------------------------------------------# + #----- Bedrock, ignore. ----------------------------------------------------------------# + mpot[bdrk] = 0. + #---------------------------------------------------------------------------------------# + #----- van Genuchten (1980). -----------------------------------------------------------# + smfrac[vg80] = with( mysoil + , (smoist[vg80] - soilre[vg80]) / (soilpo[vg80] - soilre[vg80]) + )#end with + smfrac[vg80] = 0. * smfrac[vg80] + pmax(0.,pmin(1.,smfrac[vg80])) + mpot [vg80] = with( mysoil + , slpotbp[vg80] * (smfrac[vg80]^slmu[vg80] - 1.)^(1.-slmm[vg80]) + )#end with + #----- Saxton and Rawls (2006). --------------------------------------------------------# + smbelow[sr06] = pmin(1.,smoist[sr06] / mysoil$sfldcap[sr06]) + smabove[sr06] = pmax(0.,smoist[sr06] - mysoil$sfldcap[sr06]) + mpot [sr06] = with(mysoil + , slpotfc[sr06] + / smbelow[sr06]^slbs[sr06] + slas[sr06] * smabove[sr06] + )#end with + #---------------------------------------------------------------------------------------# + #----- Brooks and Corey (1964). --------------------------------------------------------# + smfrac[bc64] = with( mysoil + , (smoist[bc64] - soilre[bc64]) / (slmsts[bc64] - soilre[bc64]) + )#end with + smfrac[bc64] = 0. * smfrac[bc64] + pmax(0.,pmin(1.,smfrac[bc64])) + mpot [bc64] = mysoil$slpots[bc64] / smfrac[bc64] ^ mysoil$slbs[bc64] + #---------------------------------------------------------------------------------------# #---------------------------------------------------------------------------------------# return(mpot) @@ -796,33 +942,73 @@ smoist2mpot <<- function(smoist,mysoil){ # Function that converts soil moisture (m3/m3) into matric potential (m). # #------------------------------------------------------------------------------------------# mpot2smoist <<- function(mpot,mysoil){ - #----- Pick method. --------------------------------------------------------------------# - if (mysoil$method %in% "BDRK"){ - #----- Bedrock, ignore. -------------------------------------------------------------# - smoist = 0. - #------------------------------------------------------------------------------------# - }else if (mysoil$method %in% "vG80"){ - #----- van Genuchten (1980). --------------------------------------------------------# - smfrac = ( 1. / ( 1. + (mysoil$malpha*mpot)^mysoil$slnm) )^mysoil$slmm - smfrac = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) - smoist = (1. - smfrac) * mysoil$soilre + smfrac * mysoil$soilpo - #------------------------------------------------------------------------------------# - }else if (mysoil$method %in% "SR06"){ - #----- Saxton and Rawls (2006). -----------------------------------------------------# - smoist = with( mysoil - , ifelse( test = mpot %<% slpotfc - , yes = sfldcap * ( slpotfc / mpot ) ^ (1. / slbs ) - , no = sfldcap + ( slpotfc - slpots) / slas - )#end ifelse - )#end with - #------------------------------------------------------------------------------------# - }else{ - #----- Brooks and Corey (1964). -----------------------------------------------------# - smfrac = ( mysoil$slpots / mpot ) ^ mysoil$slnm - smfrac = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) - smoist = (1. - smfrac) * mysoil$soilre + smfrac * mysoil$slmsts - #------------------------------------------------------------------------------------# - }#end if (mysoil$method %in% "vG80") + + + #----- Select the output format according to the users' choice. ------------------------# + if (! is.data.table(mysoil)) mysoil = as.data.table(mysoil,stringsAsFactors=FALSE) + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Count the number of rows and make sure it either matches smoist or it's a single # + # line. # + #---------------------------------------------------------------------------------------# + nmysoil = nrow (mysoil) + nmpot = length(mpot ) + if (nmysoil == 1){ + idx = rep(1,times=nmpot) + mysoil = mysoil[idx,] + }else if (nmysoil != nmpot){ + cat0("----------------------------------------------------------------------") + cat0(" Size mismatch between mpot and mysoil!" ) + cat0(" - length(mpot): ",nmpot ) + cat0(" - size (mysoil): ",nmysoil ) + cat0("----------------------------------------------------------------------") + stop(" Variable \"mysoil\" should have a single soil or match mpot length." ) + }#end if (nmysoil == 1) + #---------------------------------------------------------------------------------------# + + + #------ Initialise matric potential and ancillary variables. ---------------------------# + smoist = NA_real_ * mpot + smfrac = NA_real_ * mpot + bdrk = mysoil$method %in% "BDRK" + vg80 = mysoil$method %in% "vG80" + sr06 = mysoil$method %in% "SR06" + bc64 = mysoil$method %in% "BC64" + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Check methods. # + #---------------------------------------------------------------------------------------# + #----- Bedrock, ignore. ----------------------------------------------------------------# + smoist[bdrk] = 0. + #----- van Genuchten (1980). -----------------------------------------------------------# + smfrac[vg80] = with( mysoil + , ( 1. / ( 1. + (malpha[vg80]*mpot[vg80])^slnm[vg80]) )^slmm[vg80] + )#end with + smfrac[vg80] = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) + smoist[vg80] = (1. - smfrac) * mysoil$soilre + smfrac * mysoil$soilpo + #---------------------------------------------------------------------------------------# + #----- Saxton and Rawls (2006). --------------------------------------------------------# + smoist[sr06] = with( mysoil + , ifelse( test = mpot[sr06] %lt% slpotfc[sr06] + , yes = sfldcap[sr06] + * ( slpotfc[sr06] / mpot[sr06] ) ^ (1. / slbs[sr06] ) + , no = sfldcap[sr06] + + ( slpotfc[sr06] - slpots[sr06]) / slas[sr06] + )#end ifelse + )#end with + #----- Brooks and Corey (1964). --------------------------------------------------------# + smfrac[bc64] = ( mysoil$slpots[bc64] / mpot[bc64] ) ^ mysoil$slnm[bc64] + smfrac[bc64] = 0. * smfrac[bc64] + pmax(0.,pmin(1.,smfrac[bc64])) + smoist[bc64] = with( mysoil + , (1. - smfrac[bc64]) * soilre[bc64] + smfrac[bc64] * slmsts[bc64] + )#end with #---------------------------------------------------------------------------------------# @@ -844,21 +1030,66 @@ mpot2smoist <<- function(mpot,mysoil){ smoist2hydcond <<- function(smoist,mysoil){ - #----- Pick method. --------------------------------------------------------------------# - if (mysoil$method %in% "vG80"){ - #----- van Genuchten (1980). --------------------------------------------------------# - smfrac = (smoist - mysoil$soilre) / (mysoil$soilpo - mysoil$soilre) - smfrac = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) - fibf = 1. - (1. - smfrac^(1./mysoil$slmm))^mysoil$slmm - hydcond = mysoil$slcons * smfrac ^ mysoil$sltt * fibf * fibf - #------------------------------------------------------------------------------------# - }else{ - #----- Saxton and Rawls (2006) or Brooks and Corey (1964). --------------------------# - smfrac = (smoist - mysoil$soilre) / (mysoil$slmsts - mysoil$soilre) - smfrac = 0. * smfrac + pmax(0.,pmin(1.,smfrac)) - hydcond = mysoil$slcons * smfrac ^ mysoil$slmm - #------------------------------------------------------------------------------------# - }#end if + #----- Select the output format according to the users' choice. ------------------------# + if (! is.data.table(mysoil)) mysoil = as.data.table(mysoil,stringsAsFactors=FALSE) + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Count the number of rows and make sure it either matches smoist or it's a single # + # line. # + #---------------------------------------------------------------------------------------# + nmysoil = nrow (mysoil) + nsmoist = length(smoist) + if (nmysoil == 1){ + idx = rep(1,times=nsmoist) + mysoil = mysoil[idx,] + }else if (nmysoil != nsmoist){ + cat0("----------------------------------------------------------------------") + cat0(" Size mismatch between smoist and mysoil!" ) + cat0(" - length(smoist): ",nsmoist ) + cat0(" - size (mysoil): ",nmysoil ) + cat0("----------------------------------------------------------------------") + stop(" Variable \"mysoil\" should have a single soil or match smoist length.") + }#end if (nmysoil == 1) + #---------------------------------------------------------------------------------------# + + + #------ Initialise matric potential and ancillary variables. ---------------------------# + mpot = NA_real_ * smoist + smfrac = NA_real_ * smoist + hydcond = NA_real_ * smoist + fibf = NA_real_ * smoist + bdrk = mysoil$method %in% "BDRK" + vg80 = mysoil$method %in% "vG80" + cm76 = mysoil$method %in% c("SR06","BC64") + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Check methods. # + #---------------------------------------------------------------------------------------# + #----- Bedrock, ignore. ----------------------------------------------------------------# + hydcond[bdrk] = 0. + #----- van Genuchten (1980). -----------------------------------------------------------# + smfrac [vg80] = with( mysoil + , (smoist[vg80] - soilre[vg80]) / (soilpo[vg80] - soilre[vg80]) + )#end with + smfrac [vg80] = 0. * smfrac[vg80] + pmax(0.,pmin(1.,smfrac[vg80])) + fibf [vg80] = with( mysoil + , 1. - (1. - smfrac[vg80]^(1./slmm[vg80]))^slmm[vg80] + )#end with + hydcond[vg80] = with( mysoil + , slcons[vg80] * smfrac[vg80] ^ sltt[vg80] * fibf[vg80] * fibf[vg80] + )#end with + #----- Saxton and Rawls (2006) or Brooks and Corey (1964). -----------------------------# + smfrac [cm76] = with( mysoil + , (smoist[cm76] - soilre[cm76]) / (soilpo[cm76] - soilre[cm76]) + )#end with + smfrac [cm76] = 0. * smfrac[cm76] + pmax(0.,pmin(1.,smfrac[cm76])) + hydcond[cm76] = with(mysoil,slcons[cm76] * smfrac[cm76] ^ slmm[cm76]) #---------------------------------------------------------------------------------------# hydcond = 0. * hydcond + pmax(hydcond.min,hydcond) diff --git a/R-utils/spei.r b/R-utils/spei.r index 3d9be3db9..73381d870 100644 --- a/R-utils/spei.r +++ b/R-utils/spei.r @@ -128,7 +128,7 @@ spei <<- function( x # Find the standardised values of p3cdf: # #-----------------------------------------------------------------------------------# # P = 1. - cdf - # FS = ifelse( test = P %<=% 0.5, yes = 1.0, no = -1.0) + # FS = ifelse( test = P %le% 0.5, yes = 1.0, no = -1.0) # PUSE = 0.5 - sqrt((P - 0.5)^2) # W = sqrt(-2. * log(PUSE)) #-----------------------------------------------------------------------------------# diff --git a/R-utils/stipples.r b/R-utils/stipples.r index b2aac4aa4..8766b2db3 100644 --- a/R-utils/stipples.r +++ b/R-utils/stipples.r @@ -6,7 +6,7 @@ stipples <<- function(xleft,ybottom,xright,ytop,density=2,pch=".",cex=0.7,col="b #----- Check that coordinates are all provided. ----------------------------------------# stopifnot(! ( missing(xleft) | missing(ybottom) | missing(xright) | missing(ytop)) ) - stopifnot(density %>% 0) + stopifnot(density %gt% 0) #---------------------------------------------------------------------------------------# diff --git a/R-utils/summnum.r b/R-utils/summnum.r index 577474be9..e3c4ce16e 100644 --- a/R-utils/summnum.r +++ b/R-utils/summnum.r @@ -66,7 +66,7 @@ summnum <<- function(x,byrow=FALSE,finite.only=TRUE,neverlog=NULL,is.debug=FALSE #----- Second, ensure that zeroes are relatively rare. ------------------------------# - few.zeroes = ans$min %>=% 0. & ans$q100 %>% 0 + few.zeroes = ans$min %ge% 0. & ans$q100 %gt% 0 #------------------------------------------------------------------------------------# @@ -102,7 +102,7 @@ summnum <<- function(x,byrow=FALSE,finite.only=TRUE,neverlog=NULL,is.debug=FALSE , no = NA_real_ )#end ifelse )#end with - lognorm.is.better = ln.lnorm %>=% ln.norm + lognorm.is.better = ln.lnorm %ge% ln.norm #------------------------------------------------------------------------------------# @@ -146,7 +146,7 @@ summnum.int <<- function(x,finite.only){ if ("try-error" %in% is(wcm.2)){wcm.2 = NA}else if (is.null(wcm.2)){wcm.2 = NA} if ("try-error" %in% is(wcm.1)){wcm.1 = NA}else if (is.null(wcm.1)){wcm.1 = NA} - #if (! all(c(wcm.1,wcm.2,wcm.3) %==% c("lapply","sapply","summnum"))){ + #if (! all(c(wcm.1,wcm.2,wcm.3) %eq% c("lapply","sapply","summnum"))){ # stop(" Function summnum.int is internal, and must be called through summnum","\n") #}#end if #---------------------------------------------------------------------------------------# @@ -181,7 +181,7 @@ summnum.int <<- function(x,finite.only){ , skew = skew(x,na.rm=TRUE) , kurt = kurt(x,na.rm=TRUE) , navl = sum (! is.na(x)) - , npos = sum (x %<% 0) + , npos = sum (x %lt% 0) , ntot = nx )#end c }else{ @@ -244,7 +244,7 @@ lnlike.comp <<- function(x,xlab="nothing"){ if ("try-error" %in% is(wcm.2)){wcm.2 = NA}else if (is.null(wcm.2)){wcm.2 = NA} if ("try-error" %in% is(wcm.1)){wcm.1 = NA}else if (is.null(wcm.1)){wcm.1 = NA} - #if (! all(c(wcm.1,wcm.2,wcm.3) %==% c("lapply","sapply","summnum"))){ + #if (! all(c(wcm.1,wcm.2,wcm.3) %eq% c("lapply","sapply","summnum"))){ # stop(" Function sw.pvalue is internal and must be called through summnum","\n") #}#end if #---------------------------------------------------------------------------------------# @@ -258,7 +258,7 @@ lnlike.comp <<- function(x,xlab="nothing"){ #----- Make sure x is a simple vector. Keep only the positive terms. ------------------# x = as.numeric(unlist(c(x))) - lnx = ifelse(test=x %>% 0,yes=log(x),no=NA_real_) + lnx = ifelse(test=x %gt% 0,yes=log(x),no=NA_real_) sel = is.finite(lnx) x = x [sel] lnx = lnx[sel] diff --git a/R-utils/sw.test.r b/R-utils/sw.test.r index 82e6dea01..a58db67b2 100644 --- a/R-utils/sw.test.r +++ b/R-utils/sw.test.r @@ -46,7 +46,7 @@ sw.test <<- function(x){ #-------------------------------------------------------------------------------------# # Decide which method to use based on the kurtosis. # #-------------------------------------------------------------------------------------# - if (kurt(x) %>% 3){ + if (kurt(x) %gt% 3){ #----------------------------------------------------------------------------------# # Use Shapiro-Francia as the sample is leptokurtic. The Shapiro-Francia # # statistic W is calculated to avoid excessive rounding errors for W close to 1 # diff --git a/R-utils/taxonutils.r b/R-utils/taxonutils.r index 1a87b6d67..e4fc97b57 100644 --- a/R-utils/taxonutils.r +++ b/R-utils/taxonutils.r @@ -5,8 +5,9 @@ unknown.wildcard <<- c("aff","cf","deleteme","ind","indet","na","ni","sp","s ,paste0("spb" ,sequence(99)) ,paste0("spp" ,sequence(99)) ,paste0("sp" ,sequence(99),"cay-atdn") - ,paste0("sp" ,sequence(99),"guyafor") - ,paste0("spfg",sequence(99),"-holst") + ,paste0("sp" ,sequence(99),"-cay" ) + ,paste0("sp" ,sequence(99),"guyafor" ) + ,paste0("spfg",sequence(99),"-holst" ) )#end c unknown.common <<- "mato" unk.liana.common <<- "cipo" @@ -73,7 +74,7 @@ standard.common.name <<- function(x){ x = gsub(pattern="^quina-quina" ,replacement="quinaquina" ,x=x) x = gsub(pattern="^tamarino" ,replacement="tamarindo" ,x=x) x = gsub(pattern="^taxi" ,replacement="tachi" ,x=x) - x = gsub(pattern="^uchi" ,replacement="uxi" ,x=x) + x = gsub(pattern="^uxi" ,replacement="uchi" ,x=x) x = gsub(pattern="verdadiera" ,replacement="verdadeira" ,x=x) x = gsub(pattern="^xixua" ,replacement="chichua" ,x=x) #---------------------------------------------------------------------------------------# @@ -83,7 +84,10 @@ standard.common.name <<- function(x){ #----- Full replacements. --------------------------------------------------------------# sel = (x %in% "?" ); x[sel] = NA_character_ sel = (x %in% "abacaba" ); x[sel] = "bacaba" + sel = (x %in% "abacabeira" ); x[sel] = "bacaba" sel = (x %in% "abicuiba" ); x[sel] = "ucuuba" + sel = (x %in% "abirana" ); x[sel] = "abiurana" + sel = (x %in% "abirana branca" ); x[sel] = "abiurana branca" sel = (x %in% "abirana rosadinha" ); x[sel] = "abiu rosadinho" sel = (x %in% "abil fura fura" ); x[sel] = "abiu-fura-fura" sel = (x %in% "abiui" ); x[sel] = "abiu" @@ -96,12 +100,16 @@ standard.common.name <<- function(x){ sel = (x %in% "abiu guajara" ); x[sel] = "abiu-guajara" sel = (x %in% "abiu goiabao" ); x[sel] = "abiu-goiabao" sel = (x %in% "abiu mangabinha" ); x[sel] = "abiu-mangabinha" + sel = (x %in% "abiu rosadinha" ); x[sel] = "abiu rosadinho" sel = (x %in% "abiu tauari" ); x[sel] = "tauari" sel = (x %in% "abiu vermelha" ); x[sel] = "abiu vermelho" sel = (x %in% "abiurana vermelho" ); x[sel] = "abiurana vermelha" sel = (x %in% "abiurana vermlho" ); x[sel] = "abiurana vermelha" sel = (x %in% "abiuarana" ); x[sel] = "abiurana" sel = (x %in% "abiurana rosadinha" ); x[sel] = "abiu rosadinho" + sel = (x %in% "acaizeiro" ); x[sel] = "acai" + sel = (x %in% "acariguara" ); x[sel] = "acariquara" + sel = (x %in% "acariguarana" ); x[sel] = "acariquarana" sel = (x %in% "acoita cavalo" ); x[sel] = "acoita-cavalo" sel = (x %in% "algodao brabo" ); x[sel] = "algodao-bravo" sel = (x %in% "algodao bravo" ); x[sel] = "algodao-bravo" @@ -139,16 +147,19 @@ standard.common.name <<- function(x){ sel = (x %in% "baubarana" ); x[sel] = "embaubarana" sel = (x %in% "breu/louro preto?" ); x[sel] = NA_character_ sel = (x %in% "breu aroeira" ); x[sel] = "breu-aroeira" + sel = (x %in% "breu brrote" ); x[sel] = "breu barrote" sel = (x %in% "breu sucuruba" ); x[sel] = "breu-sucuruba" sel = (x %in% "breu sucuruba branco" ); x[sel] = "breu-sucuruba branco" sel = (x %in% "breu sucurubinha" ); x[sel] = "breu-sucurubinha" + sel = (x %in% "brteu branco" ); x[sel] = "breu branco" sel = (x %in% "babao" ); x[sel] = "macauba" sel = (x %in% "bolao" ); x[sel] = "fava-bolota" sel = (x %in% "bombeira" ); x[sel] = "pau-pombo" sel = (x %in% "brau" ); x[sel] = "breu" - sel = (x %in% "brejauba" ); x[sel] = "brejauva" - sel = (x %in% "breu sucuuba" ); x[sel] = "breu sucuruba" - sel = (x %in% "cabeca de urubu" ); x[sel] = "cabeca-de-urubu" + sel = (x %in% "brejauba" ); x[sel] = "brejauva" + sel = (x %in% "breu sucuuba" ); x[sel] = "breu sucuruba" + sel = (x %in% "burra leteira" ); x[sel] = "burra leiteira" + sel = (x %in% "cabeca de urubu" ); x[sel] = "cabeca-de-urubu" sel = (x %in% "cabela" ); x[sel] = "louro canela" sel = (x %in% "cabriuva" ); x[sel] = "cabreuva" sel = (x %in% "cabriuna" ); x[sel] = "cabreuva" @@ -156,8 +167,9 @@ standard.common.name <<- function(x){ sel = (x %in% "cabreuba" ); x[sel] = "cabreuva" sel = (x %in% "caca piolho" ); x[sel] = "mata-piolho" sel = (x %in% "cacau bravo" ); x[sel] = "cacaui" - sel = (x %in% "cacau da mata" ); x[sel] = "cacau" - sel = (x %in% "cacaurana" ); x[sel] = "cacau" + sel = (x %in% "cacau da mata" ); x[sel] = "cacau" + sel = (x %in% "cacau do mato" ); x[sel] = "cacau" + sel = (x %in% "cacaurana" ); x[sel] = "cacau" sel = (x %in% "cachixa" ); x[sel] = "caxixa" sel = (x %in% "cachudinha" ); x[sel] = "cascudinha" sel = (x %in% "cagaca" ); x[sel] = "abiurana-cagaca" @@ -183,7 +195,9 @@ standard.common.name <<- function(x){ sel = (x %in% "capueiro branco" ); x[sel] = "capueiro" sel = (x %in% "caqui branco" ); x[sel] = "caqui" sel = (x %in% "caqui folha grande" ); x[sel] = "caqui" - sel = (x %in% "carobia" ); x[sel] = "caroba" + sel = (x %in% "carana" ); x[sel] = NA_character_ + sel = (x %in% "carape" ); x[sel] = "caripe" + sel = (x %in% "carobia" ); x[sel] = "caroba" sel = (x %in% "cascudinho" ); x[sel] = "cascudinha" sel = (x %in% "cascudo" ); x[sel] = "cascudinha" sel = (x %in% "castanha do brasil" ); x[sel] = "castanha-do-para" @@ -196,7 +210,8 @@ standard.common.name <<- function(x){ sel = (x %in% "castanha de sapocaia" ); x[sel] = "castanha-sapucaia" sel = (x %in% "castanha de sapucaia" ); x[sel] = "castanha-sapucaia" sel = (x %in% "castanha sapocaia" ); x[sel] = "castanha-sapucaia" - sel = (x %in% "castanheira" ); x[sel] = "castanha-do-para" + sel = (x %in% "castanha sapucaia" ); x[sel] = "castanha-sapucaia" + sel = (x %in% "castanheira" ); x[sel] = "castanha-do-para" sel = (x %in% "cauba" ); x[sel] = "macacauba" sel = (x %in% "cauxo" ); x[sel] = "caucho" sel = (x %in% "caxeta" ); x[sel] = "caixeta" @@ -263,8 +278,9 @@ standard.common.name <<- function(x){ sel = (x %in% "envira cabo de rodo" ); x[sel] = "envira cabo-de-rodo" sel = (x %in% "envira caju" ); x[sel] = "envira-caju" sel = (x %in% "envira conduru" ); x[sel] = "envira-conduru" - sel = (x %in% "envira cunauaru" ); x[sel] = "envira-cunauaru" - sel = (x %in% "envira de caju" ); x[sel] = "envira-jacu" + sel = (x %in% "envira cunacaru" ); x[sel] = "envira-cunauaru" + sel = (x %in% "envira cunauaru" ); x[sel] = "envira-cunauaru" + sel = (x %in% "envira de caju" ); x[sel] = "envira-jacu" sel = (x %in% "envira de jacu" ); x[sel] = "envira-jacu" sel = (x %in% "envira-mao-de-onca" ); x[sel] = "envira mao-de-onca" sel = (x %in% "envira molia branco" ); x[sel] = "envira-molia branco" @@ -304,19 +320,25 @@ standard.common.name <<- function(x){ sel = (x %in% "fava orelha" ); x[sel] = "fava orelha-de-macaco" sel = (x %in% "fava orelha de macaco" ); x[sel] = "fava orelha-de-macaco" sel = (x %in% "fava paricarana" ); x[sel] = "fava-paricana" + sel = (x %in% "fava rosa" ); x[sel] = "fava-de-rosca" sel = (x %in% "fava saboeira" ); x[sel] = "fava-saboeira" - sel = (x %in% "fava tambori" ); x[sel] = "fava-tamboril" + sel = (x %in% "fava saboeiro" ); x[sel] = "fava-saboeira" + sel = (x %in% "fava tambori" ); x[sel] = "fava-tamboril" sel = (x %in% "fava tamburi" ); x[sel] = "fava-tamboril" sel = (x %in% "fava tamboril" ); x[sel] = "fava-tamboril" sel = (x %in% "fava tamboriu" ); x[sel] = "fava-tamboril" - sel = (x %in% "favera amargosa" ); x[sel] = "fava amargosa" - sel = (x %in% "faveira branca" ); x[sel] = "fava branca" - sel = (x %in% "feijo branco" ); x[sel] = "freijo branco" + sel = (x %in% "faveira" ); x[sel] = "fava" + sel = (x %in% "faveira amargosa" ); x[sel] = "fava amargosa" + sel = (x %in% "faveira branca" ); x[sel] = "fava branca" + sel = (x %in% "faveira rosa" ); x[sel] = "fava-de-rosca" + sel = (x %in% "favera amargosa" ); x[sel] = "fava amargosa" + sel = (x %in% "feijo branco" ); x[sel] = "freijo branco" sel = (x %in% "ferdinandusa elliptica" ); x[sel] = "bacabinha quina" sel = (x %in% "figado de preguisa" ); x[sel] = "figado-de-preguica" sel = (x %in% "figueira brava" ); x[sel] = "figueira" - sel = (x %in% "gameleiro" ); x[sel] = "gameleira" - sel = (x %in% "gapeba" ); x[sel] = "guapeva" + sel = (x %in% "gaivota" ); x[sel] = "gaivotinha" + sel = (x %in% "gameleiro" ); x[sel] = "gameleira" + sel = (x %in% "gapeba" ); x[sel] = "guapeva" sel = (x %in% "guapeba" ); x[sel] = "guapeva" sel = (x %in% "gema de ovo" ); x[sel] = "gema-de-ovo" sel = (x %in% "geniparana" ); x[sel] = "jeniparana" @@ -369,6 +391,7 @@ standard.common.name <<- function(x){ sel = (x %in% "jacariuba" ); x[sel] = "jacareuba" sel = (x %in% "jambo" ); x[sel] = "jambo-do-mato" sel = (x %in% "jara" ); x[sel] = "jarana" + sel = (x %in% "jarana vermelha" ); x[sel] = "jarana" sel = (x %in% "jaruma" ); x[sel] = "taruma" sel = (x %in% "jauari" ); x[sel] = "tauari" sel = (x %in% "jenita" ); x[sel] = "janita" @@ -401,9 +424,11 @@ standard.common.name <<- function(x){ sel = (x %in% "mafim" ); x[sel] = "marfim" sel = (x %in% "mamao jacatia" ); x[sel] = "jacaratia" sel = (x %in% "mamica de porca" ); x[sel] = "mamica-de-porca" - sel = (x %in% "mamonini" ); x[sel] = "mamoninha" + sel = (x %in% "mamominho" ); x[sel] = "mamoninha" + sel = (x %in% "mamonini" ); x[sel] = "mamoninha" sel = (x %in% "mandioqueiro" ); x[sel] = "mandioqueira" sel = (x %in% "mandioqueiro escamoso" ); x[sel] = "mandioqueira" + sel = (x %in% "manguirana" ); x[sel] = "manguerana" sel = (x %in% "mangueira" ); x[sel] = "manguerana" sel = (x %in% "manguerano" ); x[sel] = "manguerana" sel = (x %in% "maparajuba" ); x[sel] = "parajuba" @@ -413,8 +438,10 @@ standard.common.name <<- function(x){ sel = (x %in% "maquira" ); x[sel] = "muiratinga" sel = (x %in% "maracata" ); x[sel] = "marassacaca" sel = (x %in% "maracatia" ); x[sel] = "muiracatiara" + sel = (x %in% "maracatiara rajada" ); x[sel] = "maracatiara" sel = (x %in% "maracacaca" ); x[sel] = "marassacaca" sel = (x %in% "marasacaca" ); x[sel] = "marassacaca" + sel = (x %in% "marauba" ); x[sel] = NA_character_ sel = (x %in% "marimari" ); x[sel] = "fava-marimari" sel = (x %in% "massaranduba" ); x[sel] = "macaranduba" sel = (x %in% "mata fome" ); x[sel] = "mata-fome" @@ -426,9 +453,11 @@ standard.common.name <<- function(x){ sel = (x %in% "mata pau+jito" ); x[sel] = "gito" sel = (x %in% "mata caldo" ); x[sel] = "mata-calado" sel = (x %in% "melanciera" ); x[sel] = "melancieira" + sel = (x %in% "mirapiranga" ); x[sel] = "muirapiranga" sel = (x %in% "morto" ); x[sel] = "morta" sel = (x %in% "morango de macaco" ); x[sel] = "morango-de-macaco" sel = (x %in% "morango de morcego" ); x[sel] = "morango-de-macaco" + sel = (x %in% "muiracacaco" ); x[sel] = NA_character_ sel = (x %in% "muiratinga folha grande/amapa" ); x[sel] = "muiratinga folha grande" sel = (x %in% "muiratinga fura fura" ); x[sel] = "muiratinga fura-fura" sel = (x %in% "mulatero" ); x[sel] = "mulateiro" @@ -441,6 +470,8 @@ standard.common.name <<- function(x){ sel = (x %in% "mutama" ); x[sel] = "mutambo" sel = (x %in% "mutamba" ); x[sel] = "mutambo" sel = (x %in% "mututiassu" ); x[sel] = "mututi-acu" + sel = (x %in% "nao identificada" ); x[sel] = NA_character_ + sel = (x %in% "nao indetificada" ); x[sel] = NA_character_ sel = (x %in% "ni" ); x[sel] = NA_character_ sel = (x %in% "orelha de burro" ); x[sel] = "orelha-de-burro" sel = (x %in% "orelha de macaco" ); x[sel] = "fava orelha-de-macaco" @@ -474,7 +505,7 @@ standard.common.name <<- function(x){ sel = (x %in% "pau de rego" ); x[sel] = "pau-de-remo" sel = (x %in% "pau de remo" ); x[sel] = "pau-de-remo" sel = (x %in% "pau de sangue" ); x[sel] = "pau-sangue" - sel = (x %in% "pau doce" ); x[sel] = "pau-doce" + sel = (x %in% "pau-doce" ); x[sel] = "pau doce" sel = (x %in% "pau jacare" ); x[sel] = "pau-jacare" sel = (x %in% "pau marfim" ); x[sel] = "pau-marfim" sel = (x %in% "pau mulato" ); x[sel] = "pau-mulato" @@ -488,6 +519,7 @@ standard.common.name <<- function(x){ sel = (x %in% "pau rego" ); x[sel] = "pau-de-remo" sel = (x %in% "pau sangue" ); x[sel] = "pau-sangue" sel = (x %in% "pereauna" ); x[sel] = "perebuna" + sel = (x %in% "pedra ume" ); x[sel] = "pedra ume-caa" sel = (x %in% "pedra umi" ); x[sel] = "pedra ume-caa" sel = (x %in% "pelo de cutia" ); x[sel] = "pelo-de-cutia" sel = (x %in% "pente de macaco" ); x[sel] = "pente-de-macaco" @@ -496,19 +528,23 @@ standard.common.name <<- function(x){ sel = (x %in% "pepino do mato" ); x[sel] = "pepino-do-mato" sel = (x %in% "pepino-do-mato" ); x[sel] = "pepino-do-mato" sel = (x %in% "perna de moca" ); x[sel] = "perna-de-moca" - sel = (x %in% "piqui" ); x[sel] = "piquia" + sel = (x %in% "pincel de macaco" ); x[sel] = "pente-de-macaco" + sel = (x %in% "piqui" ); x[sel] = "piquia" sel = (x %in% "piqui rosa" ); x[sel] = "piquia" sel = (x %in% "piquiazeiro" ); x[sel] = "piquia" sel = (x %in% "pitomba da mata" ); x[sel] = "pitomba-da-mata" + sel = (x %in% "pocoro" ); x[sel] = NA_character_ sel = (x %in% "pororoca" ); x[sel] = "jutai-pororoca" sel = (x %in% "prapara" ); x[sel] = "parapara" sel = (x %in% "pratudo" ); x[sel] = "pau-para-tudo" + sel = (x %in% "puriu" ); x[sel] = "purui" sel = (x %in% "puruirana/purui branco" ); x[sel] = "purui branco" sel = (x %in% "quaiquara" ); x[sel] = "acariquara" sel = (x %in% "quariquara" ); x[sel] = "acariquara" sel = (x %in% "quariquarana" ); x[sel] = "acariquara" sel = (x %in% "quariquari" ); x[sel] = "acariquara" - sel = (x %in% "quari quari" ); x[sel] = "acariquara" + sel = (x %in% "quari quari" ); x[sel] = "acariquara" + sel = (x %in% "quariuba" ); x[sel] = "quaruba" sel = (x %in% "quaruba cedro" ); x[sel] = "quaruba-cedro" sel = (x %in% "quebrado" ); x[sel] = NA_character_ sel = (x %in% "quina" ); x[sel] = "quinarana" @@ -536,7 +572,9 @@ standard.common.name <<- function(x){ sel = (x %in% "seringa branco" ); x[sel] = "seringueira" sel = (x %in% "seringa verdadeira" ); x[sel] = "seringueira" sel = (x %in% "seringarana preta" ); x[sel] = "seringarana" - sel = (x %in% "seritinga" ); x[sel] = "seringueira" + sel = (x %in% "seringuarana" ); x[sel] = "seringarana" + sel = (x %in% "seritinga" ); x[sel] = "seringueira" + sel = (x %in% "sorvao" ); x[sel] = "sorva" sel = (x %in% "sorveira" ); x[sel] = "sorva" sel = (x %in% "sorveira leite" ); x[sel] = "sorva" sel = (x %in% "sorvo" ); x[sel] = "sorva" @@ -551,13 +589,18 @@ standard.common.name <<- function(x){ sel = (x %in% "tachi preto ???" ); x[sel] = "tachi preto" sel = (x %in% "tachi preto folh" ); x[sel] = "tachi preto" sel = (x %in% "tachi vermelha" ); x[sel] = "tachi vermelho" - sel = (x %in% "talquari" ); x[sel] = "tauari" - sel = (x %in% "tamaquarao" ); x[sel] = "tamaquare" + sel = (x %in% "taguari" ); x[sel] = "taquari" + sel = (x %in% "talquari" ); x[sel] = "taquari" + sel = (x %in% "tamaguare" ); x[sel] = "tamaquare" + sel = (x %in% "tamaquarao" ); x[sel] = "tamaquare" sel = (x %in% "tamarindu" ); x[sel] = "tamarindo" sel = (x %in% "tamauma" ); x[sel] = "sumauma" sel = (x %in% "tamboril" ); x[sel] = "fava-tamboril" sel = (x %in% "tamboriul" ); x[sel] = "fava-tamboril" sel = (x %in% "tanari roxo" ); x[sel] = "tauari" + sel = (x %in% "tanenbuco" ); x[sel] = "tanimbuca" + sel = (x %in% "tanenbuco amarelo" ); x[sel] = "tanimbuca amarela" + sel = (x %in% "tanibuca" ); x[sel] = "tanimbuca" sel = (x %in% "tangarana" ); x[sel] = "tangirana" sel = (x %in% "tanimbuca" ); x[sel] = "tanibuca" sel = (x %in% "tapiririca" ); x[sel] = "tatapiririca" @@ -565,25 +608,35 @@ standard.common.name <<- function(x){ sel = (x %in% "tatapiririca verm." ); x[sel] = "tatapiririca vermelha" sel = (x %in% "taturana" ); x[sel] = "taturuba" sel = (x %in% "tauri" ); x[sel] = "tauari" + sel = (x %in% "tento cachua" ); x[sel] = "tento caxua" sel = (x %in% "tento folha" ); x[sel] = "tento" sel = (x %in% "tento foha grauda" ); x[sel] = "tento folha grauda" - sel = (x %in% "tintero" ); x[sel] = "tinteiro" + sel = (x %in% "timbora" ); x[sel] = "timborana" + sel = (x %in% "tintero" ); x[sel] = "tinteiro" sel = (x %in% "titiriba" ); x[sel] = "cucutitiriba" sel = (x %in% "tucuma acu" ); x[sel] = "tucuma-acu" - sel = (x %in% "ucuarana" ); x[sel] = "urucurana" - sel = (x %in% "ucuuba da varzea" ); x[sel] = "ucuuba-da-varzea" + sel = (x %in% "uchi coroa" ); x[sel] = "uchi-curua" + sel = (x %in% "ucuarana" ); x[sel] = "urucurana" + sel = (x %in% "ucurana" ); x[sel] = "urucurana" + sel = (x %in% "ucuuba da varzea" ); x[sel] = "ucuuba-da-varzea" sel = (x %in% "ucuuba da terra firme" ); x[sel] = "ucuuba terra-firme" + sel = (x %in% "ucuuba folha grande" ); x[sel] = "ucuuba" sel = (x %in% "ucuuba terra firme" ); x[sel] = "ucuuba terra-firme" sel = (x %in% "ucuuba tf" ); x[sel] = "ucuuba terra-firme" - sel = (x %in% "ucuuba vermelho" ); x[sel] = "ucuuba vermelha" + sel = (x %in% "ucuuba t.f" ); x[sel] = "ucuuba terra-firme" + sel = (x %in% "ucuuba vermelho" ); x[sel] = "ucuuba vermelha" sel = (x %in% "umbia" ); x[sel] = "goiabarana" sel = (x %in% "unha de vaca" ); x[sel] = "pata-de-vaca" sel = (x %in% "uruci" ); x[sel] = "muruci" sel = (x %in% "urucu" ); x[sel] = "urucum" + sel = (x %in% "urucurana branco" ); x[sel] = "urucurana branca" sel = (x %in% "urucuri" ); x[sel] = "urucum" sel = (x %in% "uruucurana" ); x[sel] = "urucurana" sel = (x %in% "virola" ); x[sel] = "ucuuba" + sel = (x %in% "virola(ucuuba)" ); x[sel] = "ucuuba" + sel = (x %in% "virola/ucuuba preta" ); x[sel] = "ucuuba preta" sel = (x %in% "xaonoquito" ); x[sel] = "pau vermelho" + sel = (x %in% "zaguari" ); x[sel] = "taquari" #---------------------------------------------------------------------------------------# return(x) @@ -629,6 +682,29 @@ standard.scientific.name <<- function(dat,nafill=TRUE){ , stringsAsFactors = FALSE )#end read.csv nsynonym = nrow(synonym) + #---------------------------------------------------------------------------------------# + # Make sure there is no circularity in the synonym table. # + #---------------------------------------------------------------------------------------# + circular = which(synonym$accepted %in% synonym$synonym) + if (length(circular) %gt% 0L){ + toshow = synonym[circular,,drop=FALSE] + toshow$line = circular + toshow = toshow[,c("line","synonym","accepted"),drop=FALSE] + cat0("-----------------------------------------------------------") + cat0(" Circularity detected in file \"synonym_taxon.csv\":") + cat0(" ") + print(toshow,quote=FALSE) + cat0("-----------------------------------------------------------") + cat0(" ") + browser() + }#end if (length(circular) %gt% 0L) + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Replace synonyms with accepted names. # + #---------------------------------------------------------------------------------------# idx = match(g.s,synonym$synonym) sel = is.finite(idx) g.s[sel] = synonym$accepted[idx[sel]] @@ -692,7 +768,7 @@ standard.scientific.name <<- function(dat,nafill=TRUE){ #---------------------------------------------------------------------------------------# return(dat) -}#end function standard.common.name +}#end function standard.scientific.name #==========================================================================================# #==========================================================================================# @@ -879,7 +955,7 @@ standard.order.phylum.name <<- function(datum,nafill=TRUE){ #---------------------------------------------------------------------------------------# idx = which( ( ! (is.na(datum$family) | (datum$family %in% unknown.family) ) ) & ( ! datum$family %in% f2o$family ) - & ( regexpr(pattern=unknown.family,text=datum$family,ignore.case=T) %==% -1) + & ( regexpr(pattern=unknown.family,text=datum$family,ignore.case=T) %eq% -1) )#end which if (length(idx) > 0){ tofill.fam = t(t(sort(unique(datum$family[idx])))) @@ -1541,7 +1617,7 @@ find.wood.density <<- function( datum }else if (is.character(weight) && (length(weight) == 1)){ #----- Character with column name was provided. -------------------------------------# if (weight %in% names(datum)){ - wgtfac = ifelse(datum[[weight]] %>% 0, datum[[weight]], 0) + wgtfac = ifelse(datum[[weight]] %gt% 0, datum[[weight]], 0) }else{ stop(paste0(" Weight Variable name (",weight,") not found in datum!")) }#end if @@ -1551,13 +1627,13 @@ find.wood.density <<- function( datum if (! (weight %wr% c(1,ncol(datum)))){ stop(paste0(" Weight column index (",weight,") doesn't make sense")) }else if (is.numeric(datum[,weight])){ - wgtfac = ifelse(datum[,weight] %>% 0, datum[,weight], 0) + wgtfac = ifelse(datum[,weight] %gt% 0, datum[,weight], 0) }else{ stop(paste0(" Column ",weight," of data frame is not numeric!")) }#end if #------------------------------------------------------------------------------------# }else if (is.numeric(weight) && (length(weight) == nrow(datum))){ - wgtfac = ifelse(weight %>% 0, weight, 0) + wgtfac = ifelse(weight %gt% 0, weight, 0) }else{ stop("Variable weight is not properly set!") }#end if (is.null(weight)) @@ -2004,7 +2080,7 @@ find.trait <<- function( datum }else if (is.character(weight) && (length(weight) == 1)){ #----- Character with column name was provided. -------------------------------------# if (weight %in% names(datum)){ - wgtfac = ifelse(datum[[weight]] %>% 0, datum[[weight]], 0) + wgtfac = ifelse(datum[[weight]] %gt% 0, datum[[weight]], 0) }else{ stop(paste0(" Weight Variable name (",weight,") not found in datum!")) }#end if @@ -2014,13 +2090,13 @@ find.trait <<- function( datum if (! (weight %wr% c(1,ncol(datum)))){ stop(paste0(" Weight column index (",weight,") doesn't make sense")) }else if (is.numeric(datum[,weight])){ - wgtfac = ifelse(datum[,weight] %>% 0, datum[,weight], 0) + wgtfac = ifelse(datum[,weight] %gt% 0, datum[,weight], 0) }else{ stop(paste0(" Column ",weight," of data frame is not numeric!")) }#end if #------------------------------------------------------------------------------------# }else if (is.numeric(weight) && (length(weight) == nrow(datum))){ - wgtfac = ifelse(weight %>% 0, weight, 0) + wgtfac = ifelse(weight %gt% 0, weight, 0) }else{ stop("Variable weight is not properly set!") }#end if (is.null(weight)) @@ -2044,6 +2120,8 @@ find.trait <<- function( datum # Read data base to fill traits. # #---------------------------------------------------------------------------------------# tdb = read.csv(file=tdb.csv,header=TRUE,stringsAsFactors=FALSE) + keep = is.finite(tdb[[trait]]) + tdb = tdb[keep,,drop=FALSE] #---------------------------------------------------------------------------------------# @@ -2677,6 +2755,10 @@ keep.gen.spe.only <<- function(x,out=c("both","genus","species"),is.debug=FALSE) x = gsub(pattern="_form2$",replacement=" form2",x=x) #------------------------------------------------------------------------------------# + #----- Remove "indet" that may appear in from of an unknown genus. ------------------# + x = gsub(pattern="^indet",replacement="",x=x) + #------------------------------------------------------------------------------------# + #----- Split words, and remove stuff like sp, cf, etc. ------------------------------# ans = unlist(strsplit(unlist(c(tolower(x))),split=" ")) diff --git a/R-utils/taylor.plot.r b/R-utils/taylor.plot.r index f25e98ccb..baff7b1f1 100644 --- a/R-utils/taylor.plot.r +++ b/R-utils/taylor.plot.r @@ -152,8 +152,8 @@ taylor.plot <<- function ( obs #---------------------------------------------------------------------------------------# R = sapply(X = mod, FUN = cor, x = obs, use = "pairwise") if (is.na(pos.corr)){ - pos.corr = ! any(R %<% 0.) - }else if (pos.corr && any(R %<% 0)){ + pos.corr = ! any(R %lt% 0.) + }else if (pos.corr && any(R %lt% 0)){ warning(" There are negative correlations, but you've asked positive side only!") }#end if #---------------------------------------------------------------------------------------# diff --git a/R-utils/test.goodness.r b/R-utils/test.goodness.r index a940dfc54..f0306e704 100644 --- a/R-utils/test.goodness.r +++ b/R-utils/test.goodness.r @@ -44,8 +44,8 @@ test.goodness <<- function(x.mod,x.obs,x.sigma=NULL,n.parameters=NULL,out.dfr=FA #----- Find associated weights, and re-create the vectors x.mod and x.obs. ----------# - x.wgt = ifelse(x.sigma %>% 0, 1. / x.sigma^2, 0) - sel = x.wgt %>% 0 + x.wgt = ifelse(x.sigma %gt% 0, 1. / x.sigma^2, 0) + sel = x.wgt %gt% 0 x.obs.orig = x.obs x.mod.orig = x.mod x.obs = x.obs[sel] * sqrt(x.wgt[sel]) diff --git a/R-utils/thermlib.r b/R-utils/thermlib.r index 4b0689eb3..9f8213466 100644 --- a/R-utils/thermlib.r +++ b/R-utils/thermlib.r @@ -691,6 +691,32 @@ idealdenssh <<- function(pres,temp,qvpr,qtot=NULL){ +#==========================================================================================# +#==========================================================================================# +# This function finds the dry-air molar density (mol/m3), using the ideal gas law. # +#------------------------------------------------------------------------------------------# +idealdmolsh <<- function(pres,temp,qvpr,qtot=NULL){ + + + #----- Find the partial pressure of water vapour. --------------------------------------# + pdry = pres * (1.0 - qvpr / (ep + (1.0 - ep) * qvpr)) + #---------------------------------------------------------------------------------------# + + + #----- Convert using a generalised function. -------------------------------------------# + dmol = pdry / (rmol * temp) + #---------------------------------------------------------------------------------------# + + return(dmol) +}#end if +#==========================================================================================# +#==========================================================================================# + + + + + + #==========================================================================================# #==========================================================================================# # This function computes the pressure at the top of the tower using hydrostatic and # @@ -753,7 +779,7 @@ tower.press <<- function(p0,e0,t0,z0,t1,e1,z1,hum="pvap"){ #---------------------------------------------------------------------------------------# return(p1) -}#end function reducedpress +}#end function tower.press #==========================================================================================# #==========================================================================================# @@ -762,6 +788,65 @@ tower.press <<- function(p0,e0,t0,z0,t1,e1,z1,hum="pvap"){ + +#==========================================================================================# +#==========================================================================================# +# This function computes reduces the pressure from the reference height to the canopy # +# height by assuming hydrostatic equilibrium. For simplicity, we assume that R and cp are # +# constants (in reality they are dependent on humidity). # +#------------------------------------------------------------------------------------------# +reducedpress <<- function(pres,thetaref,shvref,zref,thetacan,shvcan,zcan,fthva_rp=0.5){ + + + #---------------------------------------------------------------------------------------# + # Missing data points. # + #---------------------------------------------------------------------------------------# + any.miss = c(missing(pres),missing(thetaref),missing(shvref),missing(zref) + ,missing(thetacan),missing(shvcan),missing(zcan)) + if (any(any.miss)){ + cat0(" Variable \"pres\" is provided: " ,! missing(pres ),".") + cat0(" Variable \"thetaref\" is provided: ",! missing(thetaref),".") + cat0(" Variable \"shvref\" is provided: ",! missing(shvref ),".") + cat0(" Variable \"zref\" is provided: ",! missing(zrefref ),".") + cat0(" Variable \"thetacan\" is provided: ",! missing(thetacan),".") + cat0(" Variable \"shvcan\" is provided: ",! missing(shvcan ),".") + cat0(" Variable \"zcan\" is provided: ",! missing(zcancan ),".") + stop("All variables above must be provided.") + }#end if (any.miss) + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# + # First we compute the average virtual potential temperature between the canopy # + # top and the reference level. Because of the equation below, we average the inverse # + # of the potential temperature. # + #---------------------------------------------------------------------------------------# + thvref = thetaref * (1.0 + epim1 * shvref) + thvcan = thetacan * (1.0 + epim1 * shvcan) + thvbar = thvref * thvcan / ( ( 1.0 - fthva_rp ) * thvref + fthva_rp * thvcan ) + #---------------------------------------------------------------------------------------# + + + + #----- Then, we find the pressure gradient scale. --------------------------------------# + pinc = grav * p00k * (zref - zcan) / (cpdry * thvbar) + #---------------------------------------------------------------------------------------# + + + + #----- And we can find the reduced pressure. -------------------------------------------# + ans = (pres**rocp + pinc ) ** cpor + #---------------------------------------------------------------------------------------# + + + return(ans) +}#end function reducedpress +#==========================================================================================# +#==========================================================================================# + + + + + #==========================================================================================# #==========================================================================================# # This subroutine finds the lifting condensation level given the ice-liquid # @@ -1148,3 +1233,30 @@ uextcm2tl <<- function(uext,wmass,dryhcap){ }#end function uextcm2tl #==========================================================================================# #==========================================================================================# + + + + + +#==========================================================================================# +#==========================================================================================# +# Functions that convert between pressure and Exner function. # +#------------------------------------------------------------------------------------------# +press2exner <<- function(pres ){ cpdry * (pres * p00i ) ^ rocp} +exner2press <<- function(exner){ p00 * (exner * cpdryi) ^ cpor} +#==========================================================================================# +#==========================================================================================# + + + + + + +#==========================================================================================# +#==========================================================================================# +# Functions that convert between temperature and potential temperature using Exner. # +#------------------------------------------------------------------------------------------# +extemp2theta <<- function(exner,temp ){ cpdry * temp / exner } +extheta2temp <<- function(exner,theta){ cpdryi * theta * exner } +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/timeutils.r b/R-utils/timeutils.r index 4ac0300cb..f1f00aa5f 100644 --- a/R-utils/timeutils.r +++ b/R-utils/timeutils.r @@ -323,12 +323,12 @@ alltimes <<- function(datin,lon,lat,ed21=TRUE,zeronight=FALSE,meanval=FALSE,imet zenith = ed.zen (when=datout$when,lon=lon,lat=lat,ed21=ed21 ,zeronight=zeronight,meanval=meanval,imetavg=imetavg ,nmean=nmean,...) - datout$cosz = zenith$cosz - datout$zen = zenith$zen - datout$sunhgt = zenith$hgt - datout$nighttime = zenith$night - datout$daytime = zenith$day - datout$twilight = (! zenith$night) & (! zenith$day) + datout$cosz = zenith$cosz + datout$zen = zenith$zen + datout$sunhgt = zenith$hgt + datout$nighttime = zenith$night + datout$daytime = zenith$day + datout$twilight = zenith$twilight datout$diel = as.integer(! datout$nighttime) + as.integer(datout$daytime) datout$highsun = zenith$cosz >= cosz.highsun datout$riseset = zenith$cosz >= cosz.twilight & zenith$cosz < cosz.highsun diff --git a/R-utils/trait.utils.r b/R-utils/trait.utils.r index 1d02412ad..da5675468 100644 --- a/R-utils/trait.utils.r +++ b/R-utils/trait.utils.r @@ -87,7 +87,7 @@ fix.try.lon <<- function(x){ #---------------------------------------------------------------------------------------# #------ Make sure the coordinates are between 180W and 180E. ---------------------------# - subtr = (ans %>=% 180.) & (ans %<=% 360.) + subtr = (ans %ge% 180.) & (ans %le% 360.) ans[subtr] = ans[subtr] - 360. #---------------------------------------------------------------------------------------# diff --git a/R-utils/unitlist.r b/R-utils/unitlist.r index 699717b82..9f336907b 100644 --- a/R-utils/unitlist.r +++ b/R-utils/unitlist.r @@ -3,158 +3,225 @@ # This list contains the list of all commonly used units written in mathematical # # format. # #------------------------------------------------------------------------------------------# -untab <<- list( cm = "c*m" - , cm2m = "c*m^2*m" - , cm2om2 = "c*m^2*m^{-2}" - , cm2opl = "c*m^2*p*l*a*n*t^{-1}" - , cm2om2oyr = "c*m^2*m^{-2}*y*r^{-1}" - , day = "d*a*y" - , deg = "degree" - , degC = "degree*C" - , degCodec = "degree*C*d*e*c*a*d*e^{-1}" - , degE = "degree*E" - , degN = "degree*N" - , degS = "degree*S" - , degW = "degree*W" - , empty = "phantom(1)-phantom(1)" - , gcokgw = "g*C^phantom(1)*k*g*W^{-1}" - , gcokgcbio = "g*C^phantom(1)*k*g[C[b*i*o]]^{-1}" - , gcom2oday = "g*C^phantom(1)*m^{-2}*d*a*y^{-1}" - , Gjom2 = "G*J^phantom(1)*m^{-2}" - , gmt = "G*M*T" - , gom3 = "g^phantom(1)*m^{-3}" - , gocm3 = "g^phantom(1)*c*m^{-3}" - , gwokg = "g*W^phantom(1)*k*g^{-1}" - , gwokgodec = "g*W^phantom(1)*k*g^{-1}*d*e*c*a*d*e^{-1}" - , hpa = "h*P*a" - , hpaodec = "h*P*a^phantom(1)*d*e*c*a*d*e^{-1}" - , hr = "h*o*u*r" - , jokgom2 = "J^phantom(1)*k*g^{-1}*m^{-2}" - , jokgopl = "J^phantom(1)*k*g^{-1}*p*l^{-1}" - , jom2 = "J^phantom(1)*m^{-2}" - , K = "K" - , Kodec = "K^phantom(1)*d*e*c*a*d*e^{-1}" - , k = "K" - , kg = "k*g" - , kgcokgc = "k*g*C^phantom(1)*k*g*C^{-1}" - , kgcokgn = "k*g*C^phantom(1)*k*g*N^{-1}" - , kgcokgp = "k*g*C^phantom(1)*k*g*P^{-1}" - , kgcom2 = "k*g*C^phantom(1)*m^{-2}" - , kgcom2l = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}" - , kgcom2loyr = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}*y*r^{-1}" - , kgcom2oday = "k*g*C^phantom(1)*m^{-2}*d*a*y^{-1}" - , kgcom2oyr = "k*g*C^phantom(1)*m^{-2}*y*r^{-1}" - , kgcom2oyrodec = "k*g*C^phantom(1)*m^{-2}*y*r^{-1}*d*e*c*a*d*e^{-1}" - , kgcom3 = "k*g*C^phantom(1)*m^{-3}" - , kgcopl = "k*g*C^phantom(1)*p*l*a*n*t^{-1}" - , kgcoployr = "k*g*C^phantom(1)*p*l*a*n*t^{-1}*y*r^{-1}" - , kgokg = "k*g^phantom(1)*k*g^{-1}" - , kgom2 = "k*g^phantom(1)*m^{-2}" - , kgom2loday = "k*g^phantom(1)*m[l*e*a*f]^{-2}*d*a*y^{-1}" - , kgom3 = "k*g^phantom(1)*m^{-3}" - , kgnokg = "k*g*N^phantom(1)*k*g^{-1}" - , kgnom2 = "k*g*N^phantom(1)*m^{-2}" - , kgpokg = "k*g*P^phantom(1)*k*g^{-1}" - , kgwokg = "k*g*W^phantom(1)*k*g^{-1}" - , kgpom2 = "k*g*P^phantom(1)*m^{-2}" - , kgwom2 = "k*g*W^phantom(1)*m^{-2}" - , kgwom2l = "k*g*W^phantom(1)*m[l*e*a*f]^{-2}" - , kgwom2oday = "k*g*W^phantom(1)*m^{-2}*d*a*y^{-1}" - , kgwom2ohr = "k*g*W^phantom(1)*m^{-2}*h*r^{-1}" - , kgwom2os = "k*g*W^phantom(1)*m^{-2}*s^{-1}" - , kgwom2loday = "k*g*W^phantom(1)*m[l*e*a*f]^{-2}*d*a*y^{-1}" - , kgwom3oday = "k*g*W^phantom(1)*m^{-3}*d*a*y^{-1}" - , kgwoploday = "k*g*W^phantom(1)*p*l*a*n*t^{-1}*d*a*y^{-1}" - , km = "k*m" - , Kmos = "K^phantom(1)*m^phantom(1)*s^{-1}" - , kpa = "k*P*a" - , m = "m" - , m2 = "m^2" - , mm = "m*m" - , mmodec = "m*m^phantom(1)*d*e*c*a*d*e^{-1}" - , mmoyrodec = "m*m^phantom(1)*y*r^{-1}*d*e*c*a*d*e^{-1}" - , mm2okgw = "m*m^2*k*g*W^{-1}" - , mmoday = "m*m^phantom(1)*d*a*y^{-1}" - , mmohr = "m*m^phantom(1)*h*r^{-1}" - , mmolom2os = "m*m*o*l^phantom(1)*m^{-2}*s^{-1}" - , mmomo = "m*m^phantom(1)*m*o*n*t*h^{-1}" - , molom2 = "m*o*l^phantom(1)*m^{-2}" - , molom2l = "m*o*l^phantom(1)*m[l*e*a*f]^{-2}" - , molcom2 = "m*o*l*C^phantom(1)*m^{-2}" - , month = "m*o*n*t*h" - , mos = "m^phantom(1)*s^{-1}" - , mosodec = "m^phantom(1)*s^{-1}*d*e*c*a*d*e^{-1}" - , m2oha = "m^{2}*h*a^{-1}" - , m2om2 = "m^2*m^{-2}" - , m2om3 = "m^2*m^{-3}" - , m2opl = "m^2*p*l^{-1}" - , m2lokgc = "m[l*e*a*f]^2*k*g*C^{-1}" - , m2lom2 = "m[l*e*a*f]^2*m^{-2}" - , m2lom2odec = "m[l*e*a*f]^2*m^{-2}*d*e*c*a*d*e^{-1}" - , m2lopl = "m[l*e*a*f]^2*p*l^{-1}" - , m2pom2 = "m[l*e*a*f+w*o*o*d]^2*m^{-2}" - , m2popl = "m[l*e*a*f+w*o*o*d]^2*p*l^{-1}" - , m2wom2 = "m[w*o*o*d]^2*m^{-2}" - , m2wopl = "m[w*o*o*d]^2*p*l^{-1}" - , m3oha = "m^3*h*a^{-1}" - , m3om2 = "m^3*m^{-2}" - , m3wom3 = "m[W]^3*m^{-3}" - , Mgcoha = "M*g*C^phantom(1)*h*a^{-1}" - , Mgoha = "M*g^phantom(1)*h*a^{-1}" - , Mgwom2 = "M*g*W^phantom(1)*m^{-2}" - , Mjom2 = "M*J^phantom(1)*m^{-2}" - , mmoyr = "m*m^phantom(1)*y*r^{-1}" - , mpa = "M*P*a" - , nmo.090 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 90*m*m^phantom(1)*m*o^{-1}" - , nmo.100 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 100*m*m^phantom(1)*m*o^{-1}" - , nmo.110 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 110*m*m^phantom(1)*m*o^{-1}" - , nmo.120 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 120*m*m^phantom(1)*m*o^{-1}" - , nmo.wdef = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(W*D) > 10*m*m^phantom(1)*m*o^{-1}" - , nmolomol = "n*m*o*l^phantom(1)*m*o*l^{-1}" - , oneom = "m^{-1}" - , oneoha = "h*a^{-1}" - , oneom2 = "m^{-2}" - , oneoyr = "y*r^{-1}" - , oneodec = "d*e*c*a*d*e^{-1}" - , pa = "P*a" - , pc = "'%'" - , pcbio = "'%'[b*i*o]" - , pcagboyr = "'%'[A*G*B]^phantom(1)*y*r^{-1}" - , pcagbo50yr = "'%'[A*G*B]^phantom(1)*group(\"(\",50*y*r,\")\")^{-1}" - , pcareaoyr = "'%'[a*r*e*a]^phantom(1)*y*r^{-1}" - , pcbaoyr = "'%'[B*A]^phantom(1)*y*r^{-1}" - , pcbiooyr = "'%'[b*i*o]^phantom(1)*y*r^{-1}" - , pcdbhoyr = "'%'[D*B*H]^phantom(1)*y*r^{-1}" - , pcetoyr = "'%'[E*T]^phantom(1)*y*r^{-1}" - , pceto50yr = "'%'[E*T]^phantom(1)*group(\"(\",50*y*r,\")\")^{-1}" - , pcoyr = "'%'^phantom(1)*y*r^{-1}" - , pcpopoyr = "'%'[p*o*p]^phantom(1)*y*r^{-1}" - , pcsat = "'%'[S*a*t]" - , pgc = "P*g*C" - , pgcoyr = "P*g*C^phantom(1)*y*r^{-1}" - , plom2 = "p*l*a*n*t^phantom(1)*m^{-2}" - , ploha = "p*l*a*n*t^phantom(1)*h*a^{-1}" - , s = "s" - , t1e3 = "phantom(1)%*%10^{3}" - , t1e6 = "phantom(1)%*%10^{6}" - , t1e9 = "phantom(1)%*%10^{9}" - , thkm2oyr = "10^{3*phantom(1)}*k*m^{2}*y*r^{-1}" - , umolcom2os = "mu*m*o*l*C^phantom(1)*m^{-2}*s^{-1}" - , umolokgcos = "mu*m*o*l^phantom(1)*k*g*C^{-1}*s^{-1}" - , umolom2 = "mu*m*o*l^phantom(1)*m^{-2}" - , umolom2os = "mu*m*o*l^phantom(1)*m^{-2}*s^{-1}" - , umolom2l = "mu*m*o*l^phantom(1)*m[l*e*a*f]^{-2}" - , umolom2los = "mu*m*o*l^phantom(1)*m[l*e*a*f]^{-2}*s^{-1}" - , umolcom2 = "mu*m*o*l*C^phantom(1)*m^{-2}" - , umolcomol = "mu*m*o*l*C^phantom(1)*m*o*l^{-1}" - , umolomol = "mu*m*o*l^phantom(1)*m*o*l^{-1}" - , utc = "U*T*C" - , wom2 = "W^phantom(1)*m^{-2}" - , wom2l = "W^phantom(1)*m[l*e*a*f]^{-2}" - , wom2oyr = "W^phantom(1)*m^{-2}*y*r^{-1}" - , wom2odec = "W^phantom(1)*m^{-2}*d*e*c*a*d*e^{-1}" - , wopl = "W^phantom(1)*p*l*a*n*t^{-1}" - , yr = "y*r" +untab <<- list( cm = "c*m" + , cmohaoyr = "c*m^phantom(1)*h*a^{-1}*y*r^{-1}" + , cmoyr = "c*m^phantom(1)*y*r^{-1}" + , cm2m = "c*m^2*m" + , cm2om2 = "c*m^2*m^{-2}" + , cm2om2odec = "c*m^2*m^{-2}*d*e*c^{-1}" + , cm2opl = "c*m^2*p*l*a*n*t^{-1}" + , cm2om2oyr = "c*m^2*m^{-2}*y*r^{-1}" + , day = "d*a*y" + , deg = "degree" + , degC = "degree*C" + , degCodec = "degree*C^phantom(1)*d*e*c^{-1}" + , degE = "degree*E" + , degN = "degree*N" + , degS = "degree*S" + , degW = "degree*W" + , empty = "phantom(1)-phantom(1)" + , gcoday = "g*C^phantom(1)*d*a*y^{-1}" + , gcokg = "g*C^phantom(1)*k*g^{-1}" + , gcokgw = "g*C^phantom(1)*k*g*W^{-1}" + , gcokgcbio = "g*C^phantom(1)*k*g[C[b*i*o]]^{-1}" + , gcom2oday = "g*C^phantom(1)*m^{-2}*d*a*y^{-1}" + , Gjom2 = "G*J^phantom(1)*m^{-2}" + , gmpaos = "g^phantom(1)*M*P*a^phantom(1)*s^{-1}" + , gmt = "G*M*T" + , gnokg = "g*N^phantom(1)*k*g^{-1}" + , gom2oday = "g^phantom(1)*m^{-2}*d*a*y^{-1}" + , gom3 = "g^phantom(1)*m^{-3}" + , gocm3 = "g^phantom(1)*c*m^{-3}" + , gocm3odec = "g^phantom(1)*c*m^{-3}*d*e*c^{-1}" + , gokg = "g^phantom(1)*k*g^{-1}" + , gpokg = "g*P^phantom(1)*k*g^{-1}" + , gwokg = "g*W^phantom(1)*k*g^{-1}" + , gwokgodec = "g*W^phantom(1)*k*g^{-1}*d*e*c^{-1}" + , ha = "h*a" + , hpa = "h*P*a" + , hpaodec = "h*P*a^phantom(1)*d*e*c^{-1}" + , hr = "h*o*u*r" + , jokgom2 = "J^phantom(1)*k*g^{-1}*m^{-2}" + , jokgopl = "J^phantom(1)*k*g^{-1}*p*l^{-1}" + , jom2 = "J^phantom(1)*m^{-2}" + , K = "K" + , Kodec = "K^phantom(1)*d*e*c^{-1}" + , k = "K" + , kg = "k*g" + , kgc = "k*g*C" + , kgcokgc = "k*g*C^phantom(1)*k*g*C^{-1}" + , kgcokgn = "k*g*C^phantom(1)*k*g*N^{-1}" + , kgcokgp = "k*g*C^phantom(1)*k*g*P^{-1}" + , kgcom2 = "k*g*C^phantom(1)*m^{-2}" + , kgcom2odec = "k*g*C^phantom(1)*m^{-2}*d*e*c^{-1}" + , kgcom2l = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}" + , kgcom2loyr = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}*y*r^{-1}" + , kgcom2loyrodec = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}*y*r^{-1}*dec^{-1}" + , kgcom2oday = "k*g*C^phantom(1)*m^{-2}*d*a*y^{-1}" + , kgcom2oyr = "k*g*C^phantom(1)*m^{-2}*y*r^{-1}" + , kgcom2oyrodec = "k*g*C^phantom(1)*m^{-2}*y*r^{-1}*d*e*c^{-1}" + , kgcom3 = "k*g*C^phantom(1)*m^{-3}" + , kgcopl = "k*g*C^phantom(1)*p*l*a*n*t^{-1}" + , kgcoployr = "k*g*C^phantom(1)*p*l*a*n*t^{-1}*y*r^{-1}" + , kgcoyr = "k*g*C^phantom(1)*y*r^{-1}" + , kgokg = "k*g^phantom(1)*k*g^{-1}" + , kgom2 = "k*g^phantom(1)*m^{-2}" + , kgom2loday = "k*g^phantom(1)*m[l*e*a*f]^{-2}*d*a*y^{-1}" + , kgom3 = "k*g^phantom(1)*m^{-3}" + , kgomos2 = "k*g^phantom(1)*m^{-1}*s^{-2}" + , kgnokg = "k*g*N^phantom(1)*k*g^{-1}" + , kgnokgp = "k*g*N^phantom(1)*k*g*P^{-1}" + , kgnom2 = "k*g*N^phantom(1)*m^{-2}" + , kgpokg = "k*g*P^phantom(1)*k*g^{-1}" + , kgwokg = "k*g*W^phantom(1)*k*g^{-1}" + , kgpom2 = "k*g*P^phantom(1)*m^{-2}" + , kgwom2 = "k*g*W^phantom(1)*m^{-2}" + , kgwom2l = "k*g*W^phantom(1)*m[l*e*a*f]^{-2}" + , kgwom2oday = "k*g*W^phantom(1)*m^{-2}*d*a*y^{-1}" + , kgwom2odec = "k*g*W^phantom(1)*m^{-2}*d*e*c^{-1}" + , kgwom2ohr = "k*g*W^phantom(1)*m^{-2}*h*r^{-1}" + , kgwom2os = "k*g*W^phantom(1)*m^{-2}*s^{-1}" + , kgwom2loday = "k*g*W^phantom(1)*m[l*e*a*f]^{-2}*d*a*y^{-1}" + , kgwom3oday = "k*g*W^phantom(1)*m^{-3}*d*a*y^{-1}" + , kgwom3ompa = "k*g*W^phantom(1)*m^{-3}*M*P*a^{-1}" + , kgwomosompa = "k*g*W^phantom(1)*m^{-1}*s^{-1}*M*P*a^{-1}" + , kgwoploday = "k*g*W^phantom(1)*p*l*a*n*t^{-1}*d*a*y^{-1}" + , km = "k*m" + , Kmos = "K^phantom(1)*m^phantom(1)*s^{-1}" + , kpa = "k*P*a" + , kwom = "k*W^phantom(1)*m^{-1}" + , m = "m" + , m2 = "m^2" + , m2ocm2 = "m^2*c*m^{-2}" + , mg = "m*g" + , min = "m*i*n" + , mm = "m*m" + , mmodec = "m*m^phantom(1)*d*e*c^{-1}" + , mmoyrodec = "m*m^phantom(1)*y*r^{-1}*d*e*c^{-1}" + , mm2okgw = "m*m^2*k*g*W^{-1}" + , mmoday = "m*m^phantom(1)*d*a*y^{-1}" + , mmodayodec = "m*m^phantom(1)*d*a*y^{-1}*d*e*c^{-1}" + , mmohr = "m*m^phantom(1)*h*r^{-1}" + , mmolom2os = "m*m*o*l^phantom(1)*m^{-2}*s^{-1}" + , mmolom2osompa = "m*m*o*l^phantom(1)*m^{-2}*s^{-1}*M*P*a^{-1}" + , mmologos = "m*m*o*l^phantom(1)*g^{-1}*s^{-1}" + , mmolokgos = "m*m*o*l^phantom(1)*k*g^{-1}*s^{-1}" + , mmolcokg = "k*g^phantom(1)*m*m*o*l*C^{-1}" + , mmomo = "m*m^phantom(1)*m*o*n*t*h^{-1}" + , mokg = "m^phantom(1)*k*g^{-1}" + , molom2 = "m*o*l^phantom(1)*m^{-2}" + , molom2osompa = "m*o*l^phantom(1)*m^{-2}*s^{-1}*M*P*a^{-1}" + , molom2l = "m*o*l^phantom(1)*m[l*e*a*f]^{-2}" + , molom2lompa = "m*o*l^phantom(1)*m[l*e*a*f]^{-2}*M*P*a^{-1}" + , molcom2 = "m*o*l*C^phantom(1)*m^{-2}" + , molosompa = "m*o*l^phantom(1)*s^{-1}*M*P*a^{-1}" + , month = "m*o*n*t*h" + , monthodec = "m*o*n*t*h^phantom(1)*d*e*c^{-1}" + , mos = "m^phantom(1)*s^{-1}" + , momin = "m^phantom(1)*m*i*n^{-1}" + , mosodec = "m^phantom(1)*s^{-1}*d*e*c^{-1}" + , m2oha = "m^{2}*h*a^{-1}" + , m2ohaoyr = "m^{2}*h*a^{-1}*y*r^{-1}" + , m2okg = "m^2*k*g^{-1}" + , m2om2 = "m^2*m^{-2}" + , m2om3 = "m^2*m^{-3}" + , m2opl = "m^2*p*l^{-1}" + , m2lokg = "m[l*e*a*f]^2*k*g^{-1}" + , m2lokgc = "m[l*e*a*f]^2*k*g*C^{-1}" + , m2lokgcodec = "m[l*e*a*f]^2*k*g*C^{-1}*d*e*c^{-1}" + , m2lom2 = "m[l*e*a*f]^2*m^{-2}" + , m2lom2odec = "m[l*e*a*f]^2*m^{-2}*d*e*c^{-1}" + , m2lopl = "m[l*e*a*f]^2*p*l^{-1}" + , m2pom2 = "m[l*e*a*f+w*o*o*d]^2*m^{-2}" + , m2popl = "m[l*e*a*f+w*o*o*d]^2*p*l^{-1}" + , m2wom2 = "m[w*o*o*d]^2*m^{-2}" + , m2wopl = "m[w*o*o*d]^2*p*l^{-1}" + , m3oha = "m^3*h*a^{-1}" + , m3om2 = "m^3*m^{-2}" + , m3wom3 = "m[W]^3*m^{-3}" + , Mgcoha = "M*g*C^phantom(1)*h*a^{-1}" + , Mgoha = "M*g^phantom(1)*h*a^{-1}" + , Mgwom2 = "M*g*W^phantom(1)*m^{-2}" + , Mjom2 = "M*J^phantom(1)*m^{-2}" + , mmoyr = "m*m^phantom(1)*y*r^{-1}" + , mpa = "M*P*a" + , mpaodec = "M*P*a^phantom(1)*d*e*c^{-1}" + , mwom2ok = "m*W^phantom(1)*m^{-2}*K^{-1}" + , nmo.090 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 90*m*m^phantom(1)*m*o^{-1}" + , nmo.100 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 100*m*m^phantom(1)*m*o^{-1}" + , nmo.110 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 110*m*m^phantom(1)*m*o^{-1}" + , nmo.120 = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(R) < 120*m*m^phantom(1)*m*o^{-1}" + , nmo.wdef = "m*o*n*t*h*s*phantom(1)*\"|\"*phantom(1)*bar(W*D) > 10*m*m^phantom(1)*m*o^{-1}" + , nmolomol = "n*m*o*l^phantom(1)*m*o*l^{-1}" + , oneoday = "d*a*y^{-1}" + , oneom = "m^{-1}" + , oneoha = "h*a^{-1}" + , oneok = "K^{-1}" + , oneokm2 = "k*m^{-2}" + , oneokm2oday = "k*m^{-2}*d*a*y^{-1}" + , oneokm2omo = "k*m^{-2}*m*o*n*t*h^{-1}" + , oneom2 = "m^{-2}" + , oneoyr = "y*r^{-1}" + , oneodec = "d*e*c^{-1}" + , pa = "P*a" + , pc = "'%'" + , pcoday = "'%'^phantom(1)*d*a*y^{-1}" + , pcodec = "'%'^phantom(1)*d*e*c^{-1}" + , pcbio = "'%'[b*i*o]" + , pcagboyr = "'%'[A*G*B]^phantom(1)*y*r^{-1}" + , pcagboyrodec = "'%'[A*G*B]^phantom(1)*y*r^{-1}*d*e*c^{-1}" + , pcagbo50yr = "'%'[A*G*B]^phantom(1)*group(\"(\",50*y*r,\")\")^{-1}" + , pcareaoyr = "'%'[a*r*e*a]^phantom(1)*y*r^{-1}" + , pcbaoyr = "'%'[B*A]^phantom(1)*y*r^{-1}" + , pcbiooyr = "'%'[b*i*o]^phantom(1)*y*r^{-1}" + , pcbiooyrodec = "'%'[b*i*o]^phantom(1)*y*r^{-1}*d*e*c^{-1}" + , pcdbhoyr = "'%'[D*B*H]^phantom(1)*y*r^{-1}" + , pcdbhoyrodec = "'%'[D*B*H]^phantom(1)*y*r^{-1}*d*e*c^{-1}" + , pcetoyr = "'%'[E*T]^phantom(1)*y*r^{-1}" + , pceto50yr = "'%'[E*T]^phantom(1)*group(\"(\",50*y*r,\")\")^{-1}" + , pcoyr = "'%'^phantom(1)*y*r^{-1}" + , pcoyrodec = "'%'^phantom(1)*y*r^{-1}*d*e*c^{-1}" + , pcpopoyr = "'%'[p*o*p]^phantom(1)*y*r^{-1}" + , pcsat = "'%'[S*a*t]" + , pgc = "P*g*C" + , pgcoyr = "P*g*C^phantom(1)*y*r^{-1}" + , plom2 = "p*l*a*n*t^phantom(1)*m^{-2}" + , plom2odec = "p*l*a*n*t^phantom(1)*m^{-2}*d*e*c^{-1}" + , ploha = "p*l*a*n*t^phantom(1)*h*a^{-1}" + , plohaoyr = "p*l*a*n*t^phantom(1)*h*a^{-1}*y*r^{-1}" + , plohaodec = "p*l*a*n*t^phantom(1)*h*a^{-1}*d*e*c^{-1}" + , s = "s" + , t1e3 = "phantom(1)%*%10^{3}" + , t1e6 = "phantom(1)%*%10^{6}" + , t1e9 = "phantom(1)%*%10^{9}" + , thkm2oyr = "10^{3*phantom(1)}*k*m^{2}*y*r^{-1}" + , umolcom2os = "mu*m*o*l*C^phantom(1)*m^{-2}*s^{-1}" + , umologcos = "mu*m*o*l^phantom(1)*g*C^{-1}*s^{-1}" + , umologos = "mu*m*o*l^phantom(1)*g^{-1}*s^{-1}" + , umolokgcos = "mu*m*o*l^phantom(1)*k*g*C^{-1}*s^{-1}" + , umolokgos = "mu*m*o*l^phantom(1)*k*g^{-1}*s^{-1}" + , umolom2 = "mu*m*o*l^phantom(1)*m^{-2}" + , umolom2os = "mu*m*o*l^phantom(1)*m^{-2}*s^{-1}" + , molom2osompa = "m^{2}*s^phantom(1)*M*P*a^phantom(1)*m*o*l^{-1}" + , molom2lompa = "m[l*e*a*f]^{2}*M*P*a^phantom(1)*m*o*l^{-1}" + , molosompa = "s^phantom(1)*M*P*a^phantom(1)*m*o*l^{-1}" + , umolom2l = "mu*m*o*l^phantom(1)*m[l*e*a*f]^{-2}" + , umolom2los = "mu*m*o*l^phantom(1)*m[l*e*a*f]^{-2}*s^{-1}" + , umolcom2 = "mu*m*o*l*C^phantom(1)*m^{-2}" + , umolcomol = "mu*m*o*l*C^phantom(1)*m*o*l^{-1}" + , umolomol = "mu*m*o*l^phantom(1)*m*o*l^{-1}" + , umolomolodec = "mu*m*o*l^phantom(1)*m*o*l^{-1}*d*e*c^{-1}" + , usd = "U*S*D" + , usdoyr = "U*S*D^phantom(1)*y*r^{-1}" + , utc = "U*T*C" + , wom2 = "W^phantom(1)*m^{-2}" + , wom2l = "W^phantom(1)*m[l*e*a*f]^{-2}" + , wom2oyr = "W^phantom(1)*m^{-2}*y*r^{-1}" + , wom2odec = "W^phantom(1)*m^{-2}*d*e*c^{-1}" + , wopl = "W^phantom(1)*p*l*a*n*t^{-1}" + , yr = "y*r" + , zscore = "Z[s*c*o*r*e]" + , zscoreodec = "Z[s*c*o*r*e]^phantom(1)*d*e*c^{-1}" )#end list #==========================================================================================# #==========================================================================================# @@ -170,156 +237,217 @@ untab <<- list( cm = "c*m" # density function are the inverse of the actual units of the quantity, so the integral # # becomes dimensionless. # #------------------------------------------------------------------------------------------# -i.untab <<- list( cm = "c*m^{-1}" - , cm2m = "c*m^{-2}*m^{-1}" - , cm2om2 = "m^2*c*m^{-2}" - , cm2opl = "p*l*a*n*t^phantom(1)*c*m^{-2}" - , cm2om2oyr = "m^2*y*r^phantom(1)*c*m^{-2}" - , day = "d*a*y^{-1}" - , deg = "degree^{-1}" - , degC = "degree*C^{-1}" - , degCodec = "d*e*c*a*d*e^phantom(1)*degree*C^{-1}" - , degE = "degree*E^{-1}" - , degN = "degree*N^{-1}" - , degS = "degree*S^{-1}" - , degW = "degree*W^{-1}" - , empty = "phantom(1)-phantom(1)" - , gcom2oday = "m^{2}*d*a*y^phantom(1)*g*C^{-1}" - , gcokgw = "k*g*W^phantom(1)*g*C^{-1}" - , gcokgcbio = "k*g[C[b*i*o]]^phantom(1)*g*C^{-1}" - , gmt = "G*M*T^{-1}" - , gom3 = "m^3*g^{-1}" - , gocm3 = "c*m^3*g^{-1}" - , gwokg = "k*g^phantom(1)*g*W^{-1}" - , gwokgodec = "k*g^phantom(1)*d*e*c*a*d*e^phantom(1)*k*g*W^{-1}" - , hpa = "h*P*a^{-1}" - , hpaodec = "d*e*c*a*d*e^phantom(1)*h*P*a^{-1}" - , hr = "h*o*u*r^{-1}" - , jokgom2 = "k*g^phantom(1)*m^{-2}*J^{-1}" - , jokgopl = "k*g^phantom(1)*pl^phantom(1)*J^{-1}" - , jom2 = "m^{2}*J^{-1}" - , K = "K^{-1}" - , Kodec = "d*e*c*a*d*e^phantom(1)*K^{-1}" - , k = "K^{-1}" - , kg = "k*g^{-1}" - , kgcokgc = "k*g*C^phantom(1)*k*g*C^{-1}" - , kgcokgn = "k*g*N^phantom(1)*k*g*C^{-1}" - , kgcokgp = "k*g*P^phantom(1)*k*g*C^{-1}" - , kgcom2 = "m^{2}*k*g*C^{-1}" - , kgcom2l = "m[l*e*a*f]^{2}*k*g*C^{-1}" - , kgcom2loyr = "m[l*e*a*f]^{2}*y*r^phantom(1)*k*g*C^{-1}" - , kgwom2oday = "m^{2}*d*a*y^phantom(1)*k*g*C^{-1}" - , kgcom2oyr = "m^{2}*y*r^phantom(1)*k*g*C^{-1}" - , kgcom2oyrodec = "m^{2}*y*r^phantom(1)*d*e*c*a*d*e^phantom(1)*k*g*C^{-1}" - , kgcom3 = "m^{3}*k*g*C^{-1}" - , kgcopl = "p*l*a*n*t^phantom(1)*k*g*C^{-1}" - , kgcoployr = "p*l*a*n*t^phantom(1)*y*r^phantom(1)*k*g*C^{-1}" - , kgokg = "k*g^phantom(1)*k*g^{-1}" - , kgom2 = "m^{2}*k*g^{-1}" - , kgom3 = "m^{3}*k*g^{-1}" - , kgnokg = "k*g^phantom(1)*k*g*N^{-1}" - , kgnom2 = "m^{2}*k*g*N^{-1}" - , kgpokg = "k*g^phantom(1)*k*g*P^{-1}" - , kgwokg = "k*g^phantom(1)*k*g*W^{-1}" - , kgpom2 = "m^{2}*k*g*P^{-1}" - , kgwom2 = "m^{2}*k*g*W^{-1}" - , kgwom2l = "m[l*e*a*f]^{2}*k*g*W^{-1}" - , kgwom2oday = "m^{2}*d*a*y^phantom(1)*k*g*W^{-1}" - , kgwom2ohr = "m^{2}*h*r^phantom(1)*k*g*W^{-1}" - , kgwom2os = "m^{2}*s^phantom(1)*k*g*W^{-1}" - , kgwom2loday = "m[l*e*a*f]^{2}*d*a*y^phantom(1)*k*g*W^{-1}" - , kgwom3oday = "m^{-3}*d*a*y^phantom(1)*k*g*W^{-1}" - , kgwoploday = "p*l*a*n*t^phantom(1)*d*a*y^phantom(1)*k*g*W^{-1}" - , km = "k*m^{-1}" - , Kmos = "s^phantom(1)*K^{-1}*m^{-1}" - , kpa = "k*P*a^{-1}" - , m = "m^{-1}" - , m2 = "m^{-2}" - , mm = "m*m^{-1}" - , mmodec = "d*e*c*a*d*e^phantom(1)*m*m^^{-1}" - , mmoyrodec = "y*r^phantom(1)*d*e*c*a*d*e^phantom(1)*m*m^^{-1}" - , mm2okgw = "k*g*W^phantom(1)*m*m^{-2}" - , mmoday = "d*a*y^phantom(1)*m*m^{-1}" - , mmohr = "h*r^phantom(1)*m*m^{-1}" - , mmolom2os = "m^{2}*s^phantom(1)*m*m*o*l^{-1}" - , mmomo = "m*o*n*t*h^phantom(1)*^m*m{-1}" - , molom2 = "m^{2}*m*o*l^{-1}" - , molom2l = "m[l*e*a*f]^{2}*m*o*l^{-1}" - , molcom2 = "m^{2}*m*o*l*C^{-1}" - , month = "m*o*n*t*h^{-1}" - , mos = "s^phantom(1)*m^{-1}" - , mosodec = "s^phantom(1)*d*e*c*a*d*e^phantom(1)*m^{-1}" - , m2oha = "h*a^phantom(1)*m^{-2}" - , m2om2 = "m^2*m^{-2}" - , m2om3 = "m^3*m^{-2}" - , m2opl = "p*l^phantom(1)*m^{-2}" - , m2lokgc = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}" - , m2lom2 = "m^2*m[l*e*a*f]^{-2}" - , m2lom2odec = "m^{2}*d*e*c*a*d*e^phantom(1)*m[l*e*a*f]^{-2}" - , m2lopl = "p*l^phantom(1)*m[l*e*a*f]^{-2}" - , m2pom2 = "m^2*m[l*e*a*f+w*o*o*d]^{-2}" - , m2popl = "p*l^phantom(1)*m[l*e*a*f+w*o*o*d]^{-2}" - , m2wom2 = "m^2*m[w*o*o*d]^{-2}" - , m2wopl = "p*l^phantom(1)*m[w*o*o*d]^{-2}" - , m3oha = "h*a^phantom(1)*m^{-3}" - , m3om2 = "m^2*m^{-3}" - , m3wom3 = "m^3*m[W]^{-3}" - , Mgcoha = "h*a^phantom(1)*M*g*C^{-1}" - , Mgoha = "h*a^phantom(1)*M*g^{-1}" - , Mgwom2 = "m^{2}*M*g*W^{-1}" - , Mjom2 = "m^{2}*M*J^{-1}" - , mmoyr = "y*r^phantom(1)*m*m^{-1}" - , mpa = "M*P*a^{-1}" - , nmo.090 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 90*m*m^phantom(1)*m*o^{-1}" - , nmo.100 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 100*m*m^phantom(1)*m*o^{-1}" - , nmo.110 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 110*m*m^phantom(1)*m*o^{-1}" - , nmo.120 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 120*m*m^phantom(1)*m*o^{-1}" - , nmo.wdef = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(W*D) > 10*m*m^phantom(1)*m*o^{-1}" - , nmolomol = "m*o*l^phantom(1)*n*m*o*l^{-1}" - , oneom = "m" - , oneoha = "h*a" - , oneom2 = "m^{2}" - , oneoyr = "y*r" - , oneodec = "d*e*c*a*d*e" - , pa = "P*a^{-1}" - , pc = "'%'^{-1}" - , pcbio = "'%'[b*i*o]^{-1}" - , pcagboyr = "y*r^phantom(1)*'%'[A*G*B]^{-1}" - , pcagbo50yr = "group(\"(\",50*y*r,\")\")^phantom(1)*'%'[A*G*B]^{-1}" - , pcareaoyr = "y*r^phantom(1)*'%'[a*r*e*a]^{-1}" - , pcbaoyr = "y*r^phantom(1)*'%'[B*A]^{-1}" - , pcbiooyr = "y*r^phantom(1)*'%'[b*i*o]^{-1}" - , pcdbhoyr = "y*r^phantom(1)*'%'[D*B*H]^{-1}" - , pcetoyr = "y*r^phantom(1)*'%'[E*T]^{-1}" - , pceto50yr = "group(\"(\",50*y*r,\")\")^phantom(1)*'%'[E*T]^{-1}" - , pcoyr = "y*r^phantom(1)*'%'^{-1}" - , pcpopoyr = "y*r^phantom(1)*'%'[p*o*p]^{-1}" - , pcsat = "'%'[S*a*t]^{-1}" - , pgc = "P*g*C^{-1}" - , pgcoyr = "y*r^phantom(1)*P*g*C^{-1}" - , plom2 = "m^2*p*l*a*n*t^{-1}" - , ploha = "h*a^phantom(1)*p*l*a*n*t^{-1}" - , s = "s^{-1}" - , t1e3 = "phantom(1)%*%10^{-3}" - , t1e6 = "phantom(1)%*%10^{-6}" - , t1e9 = "phantom(1)%*%10^{-9}" - , thkm2oyr = "y*r^phantom(1)*10^{-3*phantom(1)}*k*m^{-2}" - , umolcom2os = "m^2*s^phantom(1)*mu*m*o*l*C^{-1}" - , umolokgcos = "k*g*C^phantom(1)*s^phantom(1)*mu*m*o*l^{-1}" - , umolom2 = "m^2*mu*m*o*l^{-1}" - , umolom2os = "m^2*s^phantom(1)*mu*m*o*l^{-1}" - , umolom2l = "m[l*e*a*f]^2*mu*m*o*l^{-1}" - , umolom2los = "m[l*e*a*f]^2*s^phantom(1)*mu*m*o*l^{-1}" - , umolcom2 = "m^2*mu*m*o*l*C^{-1}" - , umolcomol = "m*o*l^phantom(1)*mu*m*o*l*C^{-1}" - , umolomol = "m*o*l^phantom(1)*mu*m*o*l^{-1}" - , utc = "U*T*C^{-1}" - , wom2 = "m^2*W^{-1}" - , wom2l = "m[l*e*a*f]^{2}*W^phantom(1)" - , wom2oyr = "m^{2}*y*r^phantom(1)*W^{-1}" - , wom2odec = "m^{2}*d*e*c*a*d*e^phantom(1)*W^{-1}" - , wopl = "p*l*a*n*t^phantom(1)*W^{-1}" - , yr = "y*r^{-1}" +i.untab <<- list( cm = "c*m^{-1}" + , cmohaoyr = "h*a^phantom(1)*y*r^phantom(1)*c*m^{-1}" + , cmoyr = "y*r^phantom(1)*c*m^{-1}" + , cm2m = "c*m^{-2}*m^{-1}" + , cm2om2 = "m^2*c*m^{-2}" + , cm2om2odec = "d*e*c^phantom(1)*m^2*c*m^{-2}" + , cm2opl = "p*l*a*n*t^phantom(1)*c*m^{-2}" + , cm2om2oyr = "m^2*y*r^phantom(1)*c*m^{-2}" + , day = "d*a*y^{-1}" + , deg = "degree^{-1}" + , degC = "degree*C^{-1}" + , degCodec = "d*e*c^phantom(1)*degree*C^{-1}" + , degE = "degree*E^{-1}" + , degN = "degree*N^{-1}" + , degS = "degree*S^{-1}" + , degW = "degree*W^{-1}" + , empty = "phantom(1)-phantom(1)" + , gcoday = "d*a*y^phantom(1)*g*C^{-1}" + , gcokg = "k*g^phantom(1)*g*C^{-1}" + , gcom2oday = "m^{2}*d*a*y^phantom(1)*g*C^{-1}" + , gcokgw = "k*g*W^phantom(1)*g*C^{-1}" + , gcokgcbio = "k*g[C[b*i*o]]^phantom(1)*g*C^{-1}" + , gmpaos = "s^phantom(1)*g^{-1}*M*P*a^{-1}" + , gmt = "G*M*T^{-1}" + , gnokg = "k*g^phantom(1)*g*N^{-1}" + , gom2oday = "m^{2}*d*a*y^phantom(1)*g^{-1}" + , gom3 = "m^3*g^{-1}" + , gocm3 = "c*m^3*g^{-1}" + , gocm3odec = "d*e*c^phantom(1)*c*m^3*g^{-1}" + , gokg = "k*g^phantom(1)*g^{-1}" + , gpokg = "k*g^phantom(1)*g*P^{-1}" + , gwokg = "k*g^phantom(1)*g*W^{-1}" + , gwokgodec = "k*g^phantom(1)*d*e*c^phantom(1)*k*g*W^{-1}" + , ha = "h*a^{-1}" + , hpa = "h*P*a^{-1}" + , hpaodec = "d*e*c^phantom(1)*h*P*a^{-1}" + , hr = "h*o*u*r^{-1}" + , jokgom2 = "k*g^phantom(1)*m^{-2}*J^{-1}" + , jokgopl = "k*g^phantom(1)*pl^phantom(1)*J^{-1}" + , jom2 = "m^{2}*J^{-1}" + , K = "K^{-1}" + , Kodec = "d*e*c^phantom(1)*K^{-1}" + , k = "K^{-1}" + , kg = "k*g^{-1}" + , kgc = "k*g*C^{-1}" + , kgcokgc = "k*g*C^phantom(1)*k*g*C^{-1}" + , kgcokgn = "k*g*N^phantom(1)*k*g*C^{-1}" + , kgcokgp = "k*g*P^phantom(1)*k*g*C^{-1}" + , kgcom2 = "m^{2}*k*g*C^{-1}" + , kgcom2odec = "d*e*c^phantom(1)*m^{2}*k*g*C^{-1}" + , kgcom2l = "m[l*e*a*f]^{2}*k*g*C^{-1}" + , kgcom2loyr = "m[l*e*a*f]^{2}*y*r^phantom(1)*k*g*C^{-1}" + , kgcom2loyrodec = "m[l*e*a*f]^{2}*y*r^phantom(1)*d*e*c^phantom(1)*k*g*C^{-1}" + , kgcom2oday = "m^{2}*d*a*y^phantom(1)*k*g*C^{-1}" + , kgcom2oyr = "m^{2}*y*r^phantom(1)*k*g*C^{-1}" + , kgcom2oyrodec = "m^{2}*y*r^phantom(1)*d*e*c^phantom(1)*k*g*C^{-1}" + , kgcom3 = "m^{3}*k*g*C^{-1}" + , kgcopl = "p*l*a*n*t^phantom(1)*k*g*C^{-1}" + , kgcoployr = "p*l*a*n*t^phantom(1)*y*r^phantom(1)*k*g*C^{-1}" + , kgcoyr = "y*r^phantom(1)*k*g*C^{-1}" + , kgokg = "k*g^phantom(1)*k*g^{-1}" + , kgom2 = "m^{2}*k*g^{-1}" + , kgom3 = "m^{3}*k*g^{-1}" + , kgomos2 = "m^phantom(1)*s^{2}*k*g^{-1}" + , kgnokg = "k*g^phantom(1)*k*g*N^{-1}" + , kgnokgp = "k*g*P^phantom(1)*k*g*N^{-1}" + , kgnom2 = "m^{2}*k*g*N^{-1}" + , kgpokg = "k*g^phantom(1)*k*g*P^{-1}" + , kgwokg = "k*g^phantom(1)*k*g*W^{-1}" + , kgpom2 = "m^{2}*k*g*P^{-1}" + , kgwom2 = "m^{2}*k*g*W^{-1}" + , kgwom2l = "m[l*e*a*f]^{2}*k*g*W^{-1}" + , kgwom2oday = "m^{2}*d*a*y^phantom(1)*k*g*W^{-1}" + , kgwom2odec = "m^{2}*d*e*c^phantom(1)*k*g*W^{-1}" + , kgwom2ohr = "m^{2}*h*r^phantom(1)*k*g*W^{-1}" + , kgwom2os = "m^{2}*s^phantom(1)*k*g*W^{-1}" + , kgwom2loday = "m[l*e*a*f]^{2}*d*a*y^phantom(1)*k*g*W^{-1}" + , kgwom3oday = "m^{-3}*d*a*y^phantom(1)*k*g*W^{-1}" + , kgwom3ompa = "m^{-3}*M*P*a^phantom(1)*k*g*W^{-1}" + , kgwomosompa = "m^phantom(1)*s^phantom(1)*M*P*a^phantom(1)*kg^{-1}" + , kgwoploday = "p*l*a*n*t^phantom(1)*d*a*y^phantom(1)*k*g*W^{-1}" + , km = "k*m^{-1}" + , Kmos = "s^phantom(1)*K^{-1}*m^{-1}" + , kpa = "k*P*a^{-1}" + , kwom = "m^phantom(1)*k*W^{-1}" + , m = "m^{-1}" + , m2 = "m^{-2}" + , m2ocm2 = "c*m^2*m^{-2}" + , mg = "m*g^{-1}" + , min = "m*i*n^{-1}" + , mm = "m*m^{-1}" + , mmodec = "d*e*c^phantom(1)*m*m^^{-1}" + , mmoyrodec = "y*r^phantom(1)*d*e*c^phantom(1)*m*m^^{-1}" + , mm2okgw = "k*g*W^phantom(1)*m*m^{-2}" + , mmoday = "d*a*y^phantom(1)*m*m^{-1}" + , mmodayodec = "d*a*y^phantom(1)*d*e*c^phantom(1)*m*m^{-1}" + , mmohr = "h*r^phantom(1)*m*m^{-1}" + , mmologos = "g^phantom(1)*s^phantom(1)*m*m*o*l^{-1}" + , mmolokgos = "k*g^phantom(1)*s^phantom(1)*m*m*o*l^{-1}" + , mmolom2os = "m^{2}*s^phantom(1)*m*m*o*l^{-1}" + , mmolom2osompa = "m^{2}*s^phantom(1)*M*P*a^phantom(1)*m*m*o*l^{-1}" + , mmolcokg = "m*m*o*l*C^phantom(1)*k*g^{-1}" + , mmomo = "m*o*n*t*h^phantom(1)*^m*m{-1}" + , mokg = "k*g^phantom(1)*m^{-1}" + , molom2 = "m^{2}*m*o*l^{-1}" + , molom2l = "m[l*e*a*f]^{2}*m*o*l^{-1}" + , molcom2 = "m^{2}*m*o*l*C^{-1}" + , month = "m*o*n*t*h^{-1}" + , monthodec = "d*e*c^phantom(1)*m*o*n*t*h^{-1}" + , mos = "s^phantom(1)*m^{-1}" + , momin = "m*i*n^phantom(1)*m^{-1}" + , mosodec = "s^phantom(1)*d*e*c^phantom(1)*m^{-1}" + , m2oha = "h*a^phantom(1)*m^{-2}" + , m2ohaoyr = "h*a^phantom(1)*m^{2}*y*r^phantom(1)*h*a^{-1}" + , m2okg = "k*g^phantom(1)*m^{-2}" + , m2om2 = "m^2*m^{-2}" + , m2om3 = "m^3*m^{-2}" + , m2opl = "p*l^phantom(1)*m^{-2}" + , m2lokg = "k*g^phantom(1)*m[l*e*a*f]^{-2}" + , m2lokgc = "k*g*C^phantom(1)*m[l*e*a*f]^{-2}" + , m2lokgcodec = "d*e*c^phantom(1)*k*g*C^phantom(1)*m[l*e*a*f]^{-2}" + , m2lom2 = "m^2*m[l*e*a*f]^{-2}" + , m2lom2odec = "m^{2}*d*e*c^phantom(1)*m[l*e*a*f]^{-2}" + , m2lopl = "p*l^phantom(1)*m[l*e*a*f]^{-2}" + , m2pom2 = "m^2*m[l*e*a*f+w*o*o*d]^{-2}" + , m2popl = "p*l^phantom(1)*m[l*e*a*f+w*o*o*d]^{-2}" + , m2wom2 = "m^2*m[w*o*o*d]^{-2}" + , m2wopl = "p*l^phantom(1)*m[w*o*o*d]^{-2}" + , m3oha = "h*a^phantom(1)*m^{-3}" + , m3om2 = "m^2*m^{-3}" + , m3wom3 = "m^3*m[W]^{-3}" + , Mgcoha = "h*a^phantom(1)*M*g*C^{-1}" + , Mgoha = "h*a^phantom(1)*M*g^{-1}" + , Mgwom2 = "m^{2}*M*g*W^{-1}" + , Mjom2 = "m^{2}*M*J^{-1}" + , mmoyr = "y*r^phantom(1)*m*m^{-1}" + , mpa = "M*P*a^{-1}" + , mpaodec = "d*e*c^phantom(1)*M*P*a^{-1}" + , mwom2ok = "m^{2}*K^phantom(1)*m*W^{-1}" + , nmo.090 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 90*m*m^phantom(1)*m*o^{-1}" + , nmo.100 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 100*m*m^phantom(1)*m*o^{-1}" + , nmo.110 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 110*m*m^phantom(1)*m*o^{-1}" + , nmo.120 = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(R) < 120*m*m^phantom(1)*m*o^{-1}" + , nmo.wdef = "m*o*n*t*h*s*{-1}*\"|\"*phantom(1)*bar(W*D) > 10*m*m^phantom(1)*m*o^{-1}" + , nmolomol = "m*o*l^phantom(1)*n*m*o*l^{-1}" + , oneoday = "d*a*y" + , oneom = "m" + , oneoha = "h*a" + , oneok = "K" + , oneokm2 = "k*m^{2}" + , oneokm2oday = "k*m^{2}*d*a*y" + , oneokm2omo = "k*m^{2}*m*o*n*t*h" + , oneom2 = "m^{2}" + , oneoyr = "y*r" + , oneodec = "d*e*c" + , pa = "P*a^{-1}" + , pc = "'%'^{-1}" + , pcoday = "d*a*y^phantom(1)*'%'^{-1}" + , pcodec = "d*e*c^phantom(1)*'%'^{-1}" + , pcbio = "'%'[b*i*o]^{-1}" + , pcagboyr = "y*r^phantom(1)*'%'[A*G*B]^{-1}" + , pcagboyrodec = "d*e*c^phantom(1)*y*r^phantom(1)*'%'[A*G*B]^{-1}" + , pcagbo50yr = "group(\"(\",50*y*r,\")\")^phantom(1)*'%'[A*G*B]^{-1}" + , pcareaoyr = "y*r^phantom(1)*'%'[a*r*e*a]^{-1}" + , pcbaoyr = "y*r^phantom(1)*'%'[B*A]^{-1}" + , pcbiooyr = "y*r^phantom(1)*'%'[b*i*o]^{-1}" + , pcbiooyrodec = "d*e*c^phantom(1)*y*r^phantom(1)*'%'[b*i*o]^{-1}" + , pcdbhoyr = "y*r^phantom(1)*'%'[D*B*H]^{-1}" + , pcdbhoyrodec = "d*e*c^phantom(1)*y*r^phantom(1)*'%'[D*B*H]^{-1}" + , pcetoyr = "y*r^phantom(1)*'%'[E*T]^{-1}" + , pceto50yr = "group(\"(\",50*y*r,\")\")^phantom(1)*'%'[E*T]^{-1}" + , pcoyr = "y*r^phantom(1)*'%'^{-1}" + , pcoyrodec = "y*r^phantom(1)*d*e*c^phantom(1)*'%'^{-1}" + , pcpopoyr = "y*r^phantom(1)*'%'[p*o*p]^{-1}" + , pcsat = "'%'[S*a*t]^{-1}" + , pgc = "P*g*C^{-1}" + , pgcoyr = "y*r^phantom(1)*P*g*C^{-1}" + , plom2 = "m^2*p*l*a*n*t^{-1}" + , plom2odec = "d*e*c^phantom(1)*m^2*p*l*a*n*t^{-1}" + , ploha = "h*a^phantom(1)*p*l*a*n*t^{-1}" + , plohaoyr = "h*a^phantom(1)*y*r^phantom(1)*p*l*a*n*t^{-1}" + , plohaodec = "d*e*c^phantom(1)*h*a^phantom(1)*p*l*a*n*t^{-1}" + , s = "s^{-1}" + , t1e3 = "phantom(1)%*%10^{-3}" + , t1e6 = "phantom(1)%*%10^{-6}" + , t1e9 = "phantom(1)%*%10^{-9}" + , thkm2oyr = "y*r^phantom(1)*10^{-3*phantom(1)}*k*m^{-2}" + , umolcom2os = "m^2*s^phantom(1)*mu*m*o*l*C^{-1}" + , umologcos = "g*C^phantom(1)*s^phantom(1)*mu*m*o*l^{-1}" + , umologos = "g^phantom(1)*s^phantom(1)*mu*m*o*l^{-1}" + , umolokgcos = "k*g*C^phantom(1)*s^phantom(1)*mu*m*o*l^{-1}" + , umolokgos = "k*g^phantom(1)*s^phantom(1)*mu*m*o*l^{-1}" + , umolom2 = "m^2*mu*m*o*l^{-1}" + , umolom2os = "m^2*s^phantom(1)*mu*m*o*l^{-1}" + , umolom2l = "m[l*e*a*f]^2*mu*m*o*l^{-1}" + , umolom2los = "m[l*e*a*f]^2*s^phantom(1)*mu*m*o*l^{-1}" + , umolcom2 = "m^2*mu*m*o*l*C^{-1}" + , umolcomol = "m*o*l^phantom(1)*mu*m*o*l*C^{-1}" + , umolomol = "m*o*l^phantom(1)*mu*m*o*l^{-1}" + , umolomolodec = "d*e*c^phantom(1)*m*o*l^phantom(1)*mu*m*o*l^{-1}" + , usd = "U*S*D^{-1}" + , usdoyr = "y*r^phantom(1)*U*S*D^{-1}" + , utc = "U*T*C^{-1}" + , wom2 = "m^2*W^{-1}" + , wom2l = "m[l*e*a*f]^{2}*W^phantom(1)" + , wom2oyr = "m^{2}*y*r^phantom(1)*W^{-1}" + , wom2odec = "m^{2}*d*e*c^phantom(1)*W^{-1}" + , wopl = "p*l*a*n*t^phantom(1)*W^{-1}" + , yr = "y*r^{-1}" + , zscore = "Z[s*c*o*r*e]^{-1}" + , zscoreodec = "d*e*c^phantom(1)*Z[s*c*o*r*e]^{-1}" )#end list #==========================================================================================# #==========================================================================================# diff --git a/R-utils/vcf.degrad.r b/R-utils/vcf.degrad.r index 0f76b6082..4d526a2b6 100644 --- a/R-utils/vcf.degrad.r +++ b/R-utils/vcf.degrad.r @@ -89,13 +89,13 @@ vcf.degrad <<- function(shrub,tree,bare){ #----- Create vector by classes. -------------------------------------------------------# - vc0 = tree %>=% 0.75 - vc1 = tree %>=% 0.50 & tree %<% 0.75 & bare %<% 0.20 - vc2 = tree %>=% 0.50 & tree %<% 0.75 & bare %>=% 0.20 - vc3 = tree %>=% 0.25 & tree %<% 0.50 & bare %<% 0.20 - vc4 = tree %>=% 0.25 & tree %<% 0.50 & bare %>=% 0.20 & bare %<% 0.50 - vc5 = tree %<% 0.25 & bare %<% 0.50 - vc6 = bare %>=% 0.50 + vc0 = tree %ge% 0.75 + vc1 = tree %ge% 0.50 & tree %lt% 0.75 & bare %lt% 0.20 + vc2 = tree %ge% 0.50 & tree %lt% 0.75 & bare %ge% 0.20 + vc3 = tree %ge% 0.25 & tree %lt% 0.50 & bare %lt% 0.20 + vc4 = tree %ge% 0.25 & tree %lt% 0.50 & bare %ge% 0.20 & bare %lt% 0.50 + vc5 = tree %lt% 0.25 & bare %lt% 0.50 + vc6 = bare %ge% 0.50 #---------------------------------------------------------------------------------------# diff --git a/R-utils/wapply.r b/R-utils/wapply.r index ba6ab446e..eac3503b6 100644 --- a/R-utils/wapply.r +++ b/R-utils/wapply.r @@ -12,7 +12,7 @@ wapply <<- function(X,W,FUN,cyclic=FALSE,...){ #----- Additional sanity checks. -------------------------------------------------------# if (! is.vector(X)) stop ("X must be a vector!") - if (W %>=% length(X)) stop ("W must be less than the length of X") + if (W %ge% length(X)) stop ("W must be less than the length of X") #---------------------------------------------------------------------------------------# diff --git a/R-utils/xy.density.r b/R-utils/xy.density.r index 0c481378e..faa53c275 100644 --- a/R-utils/xy.density.r +++ b/R-utils/xy.density.r @@ -169,7 +169,7 @@ xy.density <<- function( x zdens = 100. * zdens[[3]] / sum(zdens[[3]]) }#end if (method %in% "table") zlwr = zignore * max(zdens,na.rm=TRUE) - zdens = 0. * zdens + ifelse(test=zdens %>=% zlwr,yes=zdens,no=0.) + zdens = 0. * zdens + ifelse(test=zdens %ge% zlwr,yes=zdens,no=0.) #---------------------------------------------------------------------------------------# @@ -436,7 +436,7 @@ xy.density <<- function( x plot.new() plot.window(xlim=xlim,ylim=ylim,log=plog,xaxs=xaxs,yaxs=yaxs,...) zupr = zlim[1] + (1.-sqrt(.Machine$double.eps))*diff(zlim) - zdens = pmin(zupr,zdens) + ifelse(zdens %>% 0,0,NA) + 0. * zdens + zdens = pmin(zupr,zdens) + ifelse(zdens %gt% 0,0,NA) + 0. * zdens xyz = list(x=xdens,y=ydens,z=zdens) image(x=xyz,zlim=zlim,col=ccolours,breaks=clevels,add=TRUE,useRaster=useRaster) #====================================================================================# @@ -447,7 +447,7 @@ xy.density <<- function( x # Plot the main panel on existing box. # #------------------------------------------------------------------------------------# zupr = zlim[1] + (1.-sqrt(.Machine$double.eps))*diff(zlim) - zdens = pmin(zupr,zdens) + ifelse(zdens %>% 0,0,NA) + 0. * zdens + zdens = pmin(zupr,zdens) + ifelse(zdens %gt% 0,0,NA) + 0. * zdens xyz = list(x=xdens,y=ydens,z=zdens) image(x=xyz,zlim=zlim,col=ccolours,breaks=clevels,add=TRUE,useRaster=useRaster) #====================================================================================# diff --git a/R-utils/zen.r b/R-utils/zen.r index 174061bcd..9574bb81b 100644 --- a/R-utils/zen.r +++ b/R-utils/zen.r @@ -143,21 +143,131 @@ ed.zen <<- function (lon,lat,when,ed21=TRUE,zeronight=FALSE,meanval=FALSE,imetav #------ Find the cosine of the zenith angle, the zenith angle, and day/night flag. -----# - COSZ = SLAT * SDEC + CLAT * CDEC * CHRA - cosz = rowMeans(COSZ,...) - zen = acos(cosz) / pio180 - hgt = 90. - zen - declin = rowMeans(DECLIN,...) / pio180 - night = cosz < cosz.twilight - day = cosz >= cosz.min + COSZ = SLAT * SDEC + CLAT * CDEC * CHRA + cosz = rowMeans(COSZ,...) + zen = acos(cosz) / pio180 + hgt = 90. - zen + declin = rowMeans(DECLIN,...) / pio180 + night = cosz < cosz.twilight + day = cosz >= cosz.min + twilight = (! day) & (! night) if (zeronight){ cosz[night] = 0. hgt [night] = 0. zen [night] = 90. }#end if - ans = data.frame(cosz=cosz,zen=zen,hgt=hgt,declin=declin,day=day,night=night) + ans = data.frame( cosz = cosz + , zen = zen + , hgt = hgt + , declin = declin + , day = day + , night = night + , twilight = twilight + )#end data.frame return(ans) }#end function ed.zen #==========================================================================================# #==========================================================================================# + + + + + + +#==========================================================================================# +#==========================================================================================# +# Fast version to obtain the cosine of zenith angle, when no averaging is needed. This # +# accepts either one entry for longitude/latitude, and multiple times, or it takes the # +# same number of longitudes, latitudes and times. # +# # +# Input variables: # +# - lon, lat - Longitudes and latitudes. Either single values or vectors with the # +# the same length as when (see below). # +# - when - time. Mandatory, one point only or a vector. # +# - ed21 - I shall use ED-2.1 method (TRUE/FALSE). Default is TRUE # +# - zeronight - The cosine of zenith angle shall be set to zero at night. # +# Default is FALSE # +# # +# The output is going to be a vector with cosines of with the following values: # +#------------------------------------------------------------------------------------------# +fast.zen <<- function (lon,lat,when,ed21=TRUE,zeronight=FALSE){ + #------ Constants. ---------------------------------------------------------------------# + dcoeff = c( 0.006918, -0.399912, 0.070257, -0.006758, 0.000907, -0.002697, 0.001480) + #---------------------------------------------------------------------------------------# + + + #------ Ensure longitude and latitude sizes are compatible with times. -----------------# + nlon = length(lon) + nlat = length(lat) + nwhen = length(when) + if (! ( (nlon %in% c(1,nwhen)) && (nlat %in% c(1,nwhen)) ) ){ + cat0(" - Longitude size:",nlon ) + cat0(" - Latitude size: ",nlat ) + cat0(" - Time size: ",nwhen) + stop(" Longitude/latidude should be either scalars of vectors consistent with when!") + }#end if (length(unique(c(nlon,lat,nwhen))) != 1) + if (nlon == 1) lon = rep(lon,times=nwhen) + if (nlat == 1) lat = rep(lat,times=nwhen) + #---------------------------------------------------------------------------------------# + + + + #------ Find the day of year, list of leap year times, and sun hour. -------------------# + doy = dayofyear(when) + leap = is.leap (when) + fracday = hms2frac (when) + sunhr = (fracday * day.hr + lon / 15. + day.hr) %% day.hr + #---------------------------------------------------------------------------------------# + + + + #------ Find the hour angle and its cosine. --------------------------------------------# + hrangle = 15 * (sunhr - 12) * pio180 + chra = cos(hrangle) + #---------------------------------------------------------------------------------------# + + + + #------ Find the declination. ----------------------------------------------------------# + if (ed21){ + doyfun = ifelse( test = leap + , yes = 2 * pi * (doy - shsummer) / 366. + , no = 2 * pi * (doy - shsummer) / 365. + )#end ifelse + declin = capri * cos(doyfun) + }else{ + doyfun = ifelse( test = leap + , yes = 2 * pi * (doy - 1) / 366. + , no = 2 * pi * (doy - 1) / 365 + )#end ifelse + + declin = ( dcoeff[1] + + dcoeff[2] * cos(1.*doyfun) + dcoeff[3] * sin(1.*doyfun) + + dcoeff[4] * cos(2.*doyfun) + dcoeff[5] * sin(2.*doyfun) + + dcoeff[6] * cos(3.*doyfun) + dcoeff[7] * sin(3.*doyfun) ) + }#end if + #---------------------------------------------------------------------------------------# + + + #------ Find the cosine and sine of latitude and declination. --------------------------# + clat = cos(pio180*lat) + slat = sin(pio180*lat) + cdec = cos(declin) + sdec = sin(declin) + #---------------------------------------------------------------------------------------# + + + + #------ Find the cosine of the zenith angle, the zenith angle, and day/night flag. -----# + cosz = slat * sdec + clat * cdec * chra + if (zeronight){ + cosz = 0. * cosz + pmax(0.,cosz) + }#end if + #---------------------------------------------------------------------------------------# + + rm(clat,slat,cdec,sdec,doy,leap,fracday,sunhr,hrangle,chra,doyfun,declin) + return(cosz) +}#end function fast.zen +#==========================================================================================# +#==========================================================================================# From 16b9d15134fba707c562e9acf788a1e550a076fb Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Wed, 21 Dec 2022 13:45:53 -0800 Subject: [PATCH 02/62] Revised branch to remove duplicated files that had moved to different locations. --- ED/Template/Template/emptyepost.sh | 3 - ED/Template/Template/gen_obstimes.r | 194 +++++ ED/Template/Template/mled | Bin 12678011 -> 0 bytes ED/Template/Template/monthly_ascii.r | 456 ++++++++++ ED/Template/Template/mrun.sh | 31 - ED/Template/Template/purge.sh | 10 - ED/Template/Template/srun.sh | 33 - ED/Template/scripts/COMMON/bring_figures.sh | 150 ++++ .../scripts/{PBS => COMMON}/email_reset.sh | 0 .../scripts/{SLURM => COMMON}/last_histo.sh | 245 +++--- ED/Template/scripts/COMMON/reset.sh | 436 ++++++++++ ED/Template/scripts/COMMON/sim_sitter.sh | 360 ++++++++ ED/Template/scripts/COMMON/stopalljobs.sh | 228 +++++ ED/Template/scripts/COMMON/transfer.sh | 332 +++++++ ED/Template/scripts/PBS/cspost.sh | 306 ------- ED/Template/scripts/PBS/delall.sh | 245 ------ ED/Template/scripts/PBS/last_histo.sh | 516 ----------- ED/Template/scripts/PBS/read_monthly.sh | 807 ------------------ ED/Template/scripts/PBS/reset.sh | 424 --------- .../PBS/{sim_sitter.sh => run_sitter.sh} | 2 + ED/Template/scripts/PBS/stopalljobs.sh | 191 ----- ED/Template/scripts/SLURM/clean_scratch.sh | 88 -- ED/Template/scripts/SLURM/delall.sh | 251 ------ ED/Template/scripts/SLURM/reset.sh | 398 --------- ED/Template/scripts/SLURM/sim_sitter.sh | 156 ---- ED/Template/scripts/SLURM/transfer.sh | 304 ------- ED/Template/sit_utils/plot.region.r | 633 +++++++++----- ED/Template/sit_utils/plot.status.r | 394 ++++++--- R-utils/amzbr_poi.csv | 351 ++++++++ R-utils/amzif_poi.csv | 351 ++++++++ R-utils/colour.palettes.r | 410 +++++++++ R-utils/entropy.r | 142 +++ R-utils/time.to.edge.r | 130 +++ 33 files changed, 4318 insertions(+), 4259 deletions(-) delete mode 100755 ED/Template/Template/emptyepost.sh create mode 100644 ED/Template/Template/gen_obstimes.r delete mode 100755 ED/Template/Template/mled create mode 100644 ED/Template/Template/monthly_ascii.r delete mode 100755 ED/Template/Template/mrun.sh delete mode 100755 ED/Template/Template/purge.sh delete mode 100755 ED/Template/Template/srun.sh create mode 100755 ED/Template/scripts/COMMON/bring_figures.sh rename ED/Template/scripts/{PBS => COMMON}/email_reset.sh (100%) rename ED/Template/scripts/{SLURM => COMMON}/last_histo.sh (75%) create mode 100755 ED/Template/scripts/COMMON/reset.sh create mode 100755 ED/Template/scripts/COMMON/sim_sitter.sh create mode 100755 ED/Template/scripts/COMMON/stopalljobs.sh create mode 100755 ED/Template/scripts/COMMON/transfer.sh delete mode 100755 ED/Template/scripts/PBS/cspost.sh delete mode 100755 ED/Template/scripts/PBS/delall.sh delete mode 100755 ED/Template/scripts/PBS/last_histo.sh delete mode 100755 ED/Template/scripts/PBS/read_monthly.sh delete mode 100755 ED/Template/scripts/PBS/reset.sh rename ED/Template/scripts/PBS/{sim_sitter.sh => run_sitter.sh} (98%) delete mode 100755 ED/Template/scripts/PBS/stopalljobs.sh delete mode 100755 ED/Template/scripts/SLURM/clean_scratch.sh delete mode 100755 ED/Template/scripts/SLURM/delall.sh delete mode 100755 ED/Template/scripts/SLURM/reset.sh delete mode 100755 ED/Template/scripts/SLURM/sim_sitter.sh delete mode 100755 ED/Template/scripts/SLURM/transfer.sh create mode 100644 R-utils/amzbr_poi.csv create mode 100644 R-utils/amzif_poi.csv create mode 100644 R-utils/colour.palettes.r create mode 100644 R-utils/entropy.r create mode 100644 R-utils/time.to.edge.r diff --git a/ED/Template/Template/emptyepost.sh b/ED/Template/Template/emptyepost.sh deleted file mode 100755 index 44654274e..000000000 --- a/ED/Template/Template/emptyepost.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -rm -fvr epost -mkdir epost diff --git a/ED/Template/Template/gen_obstimes.r b/ED/Template/Template/gen_obstimes.r new file mode 100644 index 000000000..40df2d2b1 --- /dev/null +++ b/ED/Template/Template/gen_obstimes.r @@ -0,0 +1,194 @@ +#----- This should be called before anything else, don't define stuff before this line. ---# +rm(list=ls()) +graphics.off() +#------------------------------------------------------------------------------------------# + + +#----- The user-defined variable section. -------------------------------------------------# +main = "pathhere" +histomain = "pathhere" +srcdir = "thisrscpath" +polyg = "thispoly" +queue = "thisqueue" +yeara = thisyeara +montha = thismontha +datea = thisdatea +timea = thistimea +yearz = thisyearz +monthz = thismonthz +datez = thisdatez +timez = thistimez +lon = thislon +lat = thislat +#------------------------------------------------------------------------------------------# + + +#----- List periods. ----------------------------------------------------------------------# +n = 0 +period = list() +n = n + 1 +period[[n]] = list( todaya = "01/01/2003" + , todayz = "12/31/2010" + , times = c("01:30:00","13:30:00") + )#end list +n = n + 1 +period[[n]] = list( todaya = "01/01/2011" + , todayz = "12/31/2018" + , times = c("06:00:00","18:00:00") + )#end list +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +# No need to change anything beyond this point unless you are developing the script. # +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# +#------------------------------------------------------------------------------------------# + + + + + + +#==========================================================================================# +#==========================================================================================# +# Function that converts a chron object to numeric years. # +#------------------------------------------------------------------------------------------# +numyears <<- function(when){ + yrs = years(when) + lyrs = levels(yrs) + yrout = as.numeric(lyrs[match(yrs,lyrs)]) + return(yrout) +}#end function +#==========================================================================================# +#==========================================================================================# + + + + + + +#==========================================================================================# +#==========================================================================================# +# Function that converts a chron object to numeric months. # +#------------------------------------------------------------------------------------------# +nummonths <<- function(when){ + mos = months(when) + lmos = levels(mos) + moout = match(mos,lmos) + return(moout) +}#end function +#==========================================================================================# +#==========================================================================================# + + + + + + +#==========================================================================================# +#==========================================================================================# +# Function that converts a chron object to numeric days. # +#------------------------------------------------------------------------------------------# +numdays <<- function(when){ + dys = days(when) + ldys = levels(dys) + dyout = match(dys,ldys) + return(dyout) +} #end function +#==========================================================================================# +#==========================================================================================# + + +#----- Output path. -----------------------------------------------------------------------# +output = file.path(main,polyg) +#------------------------------------------------------------------------------------------# + + +#----- Load some useful scripts and packages. ---------------------------------------------# +isok = require(chron) +isok = require(data.table) +#------------------------------------------------------------------------------------------# + + + +#----- Find the standard output files. ----------------------------------------------------# +whena = chron(paste(montha,datea,yeara,sep="/")) +whenz = chron(paste(monthz,datez,yearz,sep="/")) +#------------------------------------------------------------------------------------------# + + +#----- Find the time offset, and round it to the nearest half-hour. -----------------------# +offutc = round( 2. * lon / 15.) / 2. +#------------------------------------------------------------------------------------------# + + +#----- Find number of periods. ------------------------------------------------------------# +nperiod = length(period) +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Expand the times for all days. # +#------------------------------------------------------------------------------------------# +when = NULL +for (p in sequence(nperiod)){ + #----- Current period. -----------------------------------------------------------------# + todaya = chron(period[[p]]$todaya) + todayz = chron(period[[p]]$todayz) + times = period[[p]]$times + #---------------------------------------------------------------------------------------# + + + #------ List of dates and times. -------------------------------------------------------# + today = chron(seq(from=as.numeric(todaya),to=as.numeric(todayz),by=1)) + ntoday = length(today) + ntimes = length(times) + #---------------------------------------------------------------------------------------# + + + #------- Append times from this period. ------------------------------------------------# + when.now = chron(rep(today,each=ntimes),rep(times,times=ntoday)) + offutc / 24 + when.now = when.now[(when.now >= whena) & (when.now <= whenz)] + #---------------------------------------------------------------------------------------# + + #------ Append time. -------------------------------------------------------------------# + when = chron(c(when,when.now)) + #---------------------------------------------------------------------------------------# +}#end for (p in sequence(nperiod)) +#------------------------------------------------------------------------------------------# + + + + +#----- Write the data sets. ---------------------------------------------------------------# +datum = data.table( Year = sprintf("%4.4i",numyears (when)) + , Month = sprintf("%2.2i",nummonths(when)) + , Date = sprintf("%2.2i",numdays (when)) + , Hour = sprintf("%2.2i",hours (when)) + , Minute = sprintf("%2.2i",minutes (when)) + , Second = sprintf("%2.2i",seconds (when)) + , stringsAsFactors = FALSE + )#end data.table +#------------------------------------------------------------------------------------------# + + + + +#----- Write observation times. -----------------------------------------------------------# +obstab = file.path(main,polyg,paste0(polyg,"_obstimes.txt")) +dummy = write.table( x = format(datum) + , file = obstab + , append = FALSE + , quote = FALSE + , row.names = FALSE + , col.names = TRUE + )#end write.table +#------------------------------------------------------------------------------------------# diff --git a/ED/Template/Template/mled b/ED/Template/Template/mled deleted file mode 100755 index b80a599a1144cc9fb2e46da04411aaec6d588ce8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12678011 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ð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%0DSdYbVu0kk(5JO-n{; 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≦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≦3|zgmF*!Rjd(B!Bi5Be0hW*&B+ARg9aH^W0mX^96iTk*hB0T0N-1KI^1 zT&0l*Q(?Ag1Uw*D;K7cc8n>X|1*8#tztqX|aM}wRc;I|gJYXW=L7zd~%!9cR4`w3f z0k4S%GF$M#LKz;s8Q#DG53UsQU{>LQcEE!fj(M0-T6KMx(CeCqy^2aa>|>Gc^#QGb z2mP-~%{HEuz_ z3#c07;n{f}j$Yot!#)*PJYXW=LH{RcGY{rQJeY}?2fQX8$ZWv_3uSolW_SY&Jh)QG zgIR?K+5rz{IObthX%!EPdR_ByL{W){H5TdefL6f6n@TxoycR#0rhjA5GJYXWYJ}g8$m>XRm%tXusUK0;ww%~zjy!zSg_JfIcu@DC9W!zhS{Wv!jzVT;ld4`jCDfu#Z-kcS7f3p}_=BM+v+ zY|{vMK(4@p9X~a0LHEaL1V2x|KhMLhztO-0=cD2Q69Er@AMs#r#DkfLdBAJpfy@>> zuuz5vZ-zIpz=JD=JeXB@pdIjFhGQOfDXrpRM6YWeb}B0Iu$x7?*9Wu$9u7u4%%C71 zwrQK;VXt;49>{FP14{)wAP)~{7kF@$MjlLs*`^WjfLwtGJAP{1g6@y2#&}rG^Ki>0 z4Ls~tam52B0v`S@;=$aA2Qv}#fY-zWnJsu=p$re+3~yk82UiMtFstxDJK(_#$2=@4 zt>R%;uWKF-D=P7@%pzSL&aQcU{&*N^MXy9R4#T5^j2zYoy#DlpJ4`w3f0k4S% zGF$M#LKz;s8Q#DG53UsQU{>LQcEE!fj(HgV*P4d`y{>uKqNv2fHs#bjpcU}&`iO@e zD2RtO+0F3KQCi}G%vL; z9GH zA|8hHyZG=hui6X`8$eZ^RPovz{6`J9(JK19yV#4;bEtCCmzUb#RE$P zJRlDbXcu^Jl|~*+h1sSN@PJ%_2RnXh+=A|ptHyYEQJ#m3pW48~xQZ(tFcDlIUK8

w_7NuMcxdtF8}|dR_ByKv9W@ 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≦3|zgmurtrYb#HIrVOGTz510seI4k18+=vG= z5%Yl8!~>ZvcwnIn58e!KV1Wl$3VATA@IX7@!3@VdtSPPH;jmuUJgh1z@i1_o7U}YU zR=~q|L_BOlK|Cy)kNEk6(h?73w&H=M0v?8NAs)~!@Zc(qJeUfzO(Wm|xdIP%{M5Jw z-5*zt@o;sXhbs>?@WA<~ct~fX>G{LAM?Co1(DMgO#5~|N@jzw^9#|;DgEzw)Sm42x zLLSU2Joq{B{^p)P$XLb07QL={*rBMz!-R5b9>x^~Je(Qvup0&Ouvy#8^%+X#DjxRgb+YAp&+MReHvlS0474U#OJfL0R!BrZ0FcoH-M!*Ad z1s?49sc{RsKdu_%;kG;v7vJ8%!=j2S9xxH`@U0OK=0-f2iI@kxCLYLa!2=6rc<^R; z0}DL3Qpkf@g$LRJ4`w*#VbdpT9*(G_=3z*CN<3^a0T16C@vsdA@vx$`Gdv6{ zE%88RD;`)X-~oAfK)b+$t2FXpD$F*GfCuCXJlOG5;}&#(oJR2cVL8vkg>P!$f%8%E zfQf*Ip@;`_BOc5|%mZE%4`jCBfrT>uuz5v zZ-zIpz=JD=JeXB@pdIjFhGQOGFV9z{7u!cvwS0 zJj`mF;bB#~6Axsz;(?_C9*~Czv2yDinmX_eRPj|(8;)SK<`}h#f>*UTq&b_zP@4O^-p~`Nvr3)cXZFn zX`@G%JD2?T?SprYPU}8^%14C*9!96W)|t9%^yt5jZvFh&;C-WmpVP-azRqkW6v%2o z;o#_bOWSXF`l&SmH@eCL zPs91sXIwUB5e*M@5=e+m6nQd&}cHbF4mE!YK{P-0A zbc#n(e13|bnBpg;_{k~0FvX)O{@E0drFeUapOWGoDgMP2|5A!CO7SnJcs#|wlH#YO z_~|KrW{Q6;#lN27XQlYrDZVttm!)`TihnD`zn$XerucuRcvp&lH^t9O@f9h4L5iufpN%7ZG{Ph$M9P_Ui4`HjX7lSE2CB^?O z#iynCVJUuiice4RBT~FE#X~9nmK1+$iXWNcZ%gr}6n}e)zca;WrTDv3{5>iD-V}dd ziXWBYA4u`pDc+LeA5QVs6h9`#Ka%3%6#rO?&q?uPQ~VPtJ~zcbnc|;H@#9kb_!R$4 zibqoXgcLt9#TTUb$tmuncr?X7m*TM$|9py{lHy-T@h_(MsVTlF#TTb|JjK77;-{tf z87Y2diYHS1>nXk@#m`RhZ>0FL6#r(5e=Eh$N%3=2{5vV$mEy}&{Ja!DKgBOd@$MAA zFvY*0;uod(suaH@#V<|q%Tj!GimyrWbt&GP;y+07bc%0C@r@~-N%6~5{E8Icl;T&W z_~sPwl z=@fq^#j7d)T#ElQ#b02%c;Ch^9y>O3QD^GoojsqLIR78@JtyDQuXd)s(z)c+_b=W% zFm}m9M~@xWH*sTA&t1OYoKKHUz4*x3)bm%yrY>C?o%+I|3*M;`eXIYNpSj^aHY2_{ z-#1V2&9rZ>_stEyxzRVdx`Wr7<{N$U_rCcD-(2S9JALz;zWFWNJmP-ee9AYU_RVLs zIds9=L+ubxos>#v>eP?==Hc3>=rxx4m{<7#-<+edtNZ8 z=!>U*b@(j<57~IlK|THY;;BFS(K`kn^89b_Oh03FZ2HorvFYb7k4>v>(=R^KnflZ- z-qM-gv-gi__NDs1_JY~Yd3(kcZoK*@bqdC&7bX>)|0Yhy&)#s#KW)VGo|V(_Z-m6&h)`qHhW$?s~;`?MmeKo;-AzPx?vj?SKYP8*$iN9U-%r@y;1bhoh8-*8uF;~VbYKJ}ilt#9w#zVgt~ zqaPUCx;(n|j+OXDmKJKk5C^6E_Zx zy?p428-M7OSLmOyR}78rxnslFc}tgnRJP~F&U^9P3!XB%bxmu0y)&&P2fw6efs50p z+&p#4%R9&J7(MUq%RhhrWAu~G*wiP-1`lniu=og&x#m?3RJNk`pSg^w%T%a$s%zjY&l>MN#^SK`%=-hD8TIYuC z?;N{f`{B-^Qy%q5b?C@de_j2c_Qj1?U!habnO>mDYWKz)pKbB9ow_|=I%RD772fhQ z)beQ-Rp(iA<2B!`O#K9QSk~_tn|kl)*7uAKE_H6d_n~U}#w#{;j@~h-)iz%9Fg>bM z`#XE?80y^q$%l4sc!FBBw(7mis)R)Gl?&@rP`>1%_^U>2fTaRwv`hm{T4~!1} z=jhTEI(WzVI$5vKKRQD?SFhBmni-Oh4W0AebNPSV|Cs*tEu?R0Odmb( z-Ou~kv8{KHZvE1jCTaSj#qEQ4OrP=x=TDuox1%5Q&U^RepS%Bu7^JBqV}oz+Ox;0q zIBnYp-|n|No-p;;hj#|wGkV^k%XL2O=RM8$5p}bNl6jh2QL>`o_$XPW%qU?-M9Q4r z(7D?1O3v@W0X7e$FG}q22N&o`my%OH&h3nllJQ&mDWS=|l-Q|rN{}AC z#3*4=b)GekpOP==kx>&RAJY2|QZl`#!vNRUl1((XqGUwD@lmpavR+Dt^oGvWPHjZV z1e*s^@~m(9MyJG%UXDfu6-?Wcq$_fle~&M84UQNp6?JZm05B_Gj) zq$WxZ>HP;O(f35^W)CI1Y3|j-x=`you2}`gN68#zH~uHzOt|hzlhR)StZS=ju zA{(dVf0JY1ac$QXIQ)+5%laPSZhbd&*Z+g>xO6pr-p`G0U6uS%-E*~Xw9dG8>Wr7# z&DBG_-)PMS8paq8=_22@n=)&>XJRFbwi+(uhZ7&>l#vBf$6C5n6hO_4J z!|`4{RceCc|LXk*;n252H*@N`KaMQZ+zO5X?K?g=hLpJujwL@=TTq`~*v#gEaEzS( z4GM=HwBWF#9$cUmT{y<_aIC$$9}ark3x}OChXd&Z2a5_0);xYV{#nnMn&5c7-hU7d z!SQNNT@A;pfFu2^KA?Ta35PP*eSfti9i6K!s81i<%;tgLU!C)?3>@DOKdal(LkWj3 zO4O4sCC|=N^4>pfphPn3D6y{E&+155l;~Y3(dPImnLAC^8h%#ar}rPEWO~mWt*$AV zq`B24kXZ&C2e#GIn3sPmyqxNZy8EX=I^iUpaq8=_22@n=)&=$ zJRE<2b3YvPwigaNV}1!iI>EuBYB*~iKOC<)Mb;YNnAZCb!ZE#P_|G|YmoDn`al3aw zVHb`q3JP${>$K^1*fz>~;aK}$cCL1yKE2Rk^FTPhS$7)$pZxGKU%1`d|HH@pboqym z`P^OJ`QE#{cF=;uj(Tu`R;au4c9-|2JRJLO>VadI-PJuvZw-zKi(g@9Y|ocZQD4_} z`OjEy^paB^wegyb{P4K(4R6tpSIeELFOP0r>I}ZGbNeSAc$fE;C^o=x74=hJ>P)TK zUEa_6UEVvlZ#`^xd2iQU-p=4#(k6KE9hGln|B?RuE#z-$ z&gUlYg`KTm=jX{m?%mIK20x;kyi=!4r+d7gzyECR+Yc^so0q;!KSMSS>4yE^$nz7X zxNm>Q_VYe_`KP%%&2RL4@Ds<5>4C!BeIL`Kt+A>5?)$s@(i>mWvn}2@^r`g5H|e1k zZ+z&pY>(WxSr4^{@B6&RkI_Rd;xGOeTS-3tsK4>wzvKx|`Lf5GzUuMQzvl6yjva%o ziQi#B=nZ`}ozzB?w42QX34MO zo|K2<12^=;L2rBEuruaxAf4b~Q8k=3j~|Xt2ajL=^})w4Q*YIkWAmvY!Bdxo2cNpwm19NS?15vB=2kbBmlYfz97ibYeQK2OODukNRWCihZer_L!sI#I%+>O5;6KP7Jp z9>4tMgO6XFk{7I}L}B+5vaH}ZDWREo%(^6nlu2DGmLM|$cq zq|9}2EJ;V_Y76T6trj*9gyUPjQJ=clK?@E$YCW%4E7Vhk_P9N+i*{czCRUO4QG zIUGnQI9OB-XU*e>AB0-?77R4`_4~~T^^nuyZn55>~dy$?DDkU$1XR#V8H(V=%t@pI(1;+f^%f; z8HYRk{n5kI-y}=JlTWe|+->-^}^uZ+-I}zWGkyoaLME^38Yq=8$g= z`{r%FdAo1kVVg%h$<}+s1-^N*Z!YvrN1H1Ys?Sn zAOF;d^WSWXcK^g^bm~r?ad!4BPE z`t(;maq9GI^$7r@d)6Lu`Mvl5*g5azy9Y~MAXOjb!0(*u$>zp4Od~n{*p25;J(fS= z>FoLPLoWZw*woSczsvuG=hOTN4>eqa*$%n{pTqMyd$9W)|MQ(M=+Adn_2)Z_{P~VP z1ajcWn_p0UiTU)#tDmex8olK7`XH`3rX2ffvsJsQW6{%BeXIh1TVw~-x#5g!AMjT? z@80*2#(R9X>iw~)HO6+U4rAps361Jcmh?9{->yHe(jUZ(4ZcTDZE4Kdd3Wg9?JF<8 zcl!;eymIvDqHazNT=B!B`s=2xhxEvsN42lyQSB@30qqm?y!P78c}v=kT|0F7^8H(S zGPjVqC1rZjDc4q+JaykOI<=T&^~BwO*Y^oiXI!fj^W%Il!?CM=X+p9vO;)ODGVA)SlWLkimY=2{yu5ju{2=Qsiw)S54r?jn+86?-`|Cox#iz!o+dwtzG<>mdZx*o_D|Cz|EPJIzV`Byd7A9t zr__ucl}}WG`&ghpS)k2)}5W6 zX`)yC(`3VA)3j)(bN{?w>1Gt2z%)^;X_~$X+p9vO;)OD zGVA&U6(pFZZTV?>+;2BelOIIiG}$UW(`3u^Pt(meG*8n@^!~{^O?L3p>Fo4O6TRx6 zCL11`rX74ancA<9*Wqi^W<@73O%!XI#;#A(G>+Kx!A;tfrpZ$mNL@EgNEW8aN;OSp zeb6PCrl;no=`%Z^<$`}Lt>Ow&$9CooMEYnmSM2WgsS5z}9bYg3vgPhB8&-83Otm?kULG@125mtdN9 z<)>-(H=3u(52A0HY?YpAGN=91^zBp4)ASI%fAUU~9sG1UJ3Z4xullFShR45edI_g< z|FUlP@qN=(Cp1kPRIF)w*LBtRO^E6HCaILBX~6)fLyr#O+A*L&xHl=AAx6}nv*G&_Wg=w-w2I*^~HQ=Zj4 zO@0u4(`2jkOp`6sKTUsjb@Mds(fcRwG}*!HN@r)MXPW3$|1{a~_?6BI_Rpj%ouU(% zrhQ7+H0{_^UFi_hl}?+|G|gJ-0;%h!3CY4VSt(aKYIUV!!!*4$KTZGeYt7T-2hlf8 zwo1=5*)sjp^z@fCPt%k1{>eK{cJR8=+1crtCVJIBO*T9>O)FNgf6ea@%qcp7X`)!u z^vy3#({u!}>4OKfDNU27E|9uznvg6^la*?k%({N>2MMNWB|l9&pV2%`eh_`rWUKT{ zlP%LfP2V-yJWZ$S{gZc^?BMm7%+5~FG|{X6X|mz5Y1%T$>D<5Bf2Lbg_6bZA#hRw~ z>MsiI$;vQd(+5|jQko`DT_APcG$C1-CM(r6ne{=JV4A*~pQi74TJtpdLG(?NtA4=b$b8gohCbY{VkE5ot|l;SN+pu!(-DlZw32j{i*L>MJFl`b77?31 zIH^r(nml!Z)OFK@WMP`DRMTYE2VH_`dTf50uKMNXY4U^Unw_-AH0{Vw)9_Q9r^yeZZ<=hCo@p|t{nPZlS2j=6!}R{i zJ5B4(PR}&atNv-S;jwAzFaT5gSA3c_DLR2^qFB>(*Yndf?Lch$;E*<@Y4X$sQrArr zl7(rqQcaUt*Jny1!8AQ5KTY@iLi05FLG(?NtQ zsiw)S54r@?v^PIZH$A0!n*1R8rpZ?6nI?1EKTWT>ym^|Y_5R5_O?L3p>Fo4O6TRx6 zCL11`re!;w`?vZ1rUQyjV45h_G>!jmnx+-R^qKD3l%~m37f4+HU*;n(W~9M>TeKdZvk9^-q%x zk4@9&mvK5T-KWPYt4ckAQKC|#bk^^rQQCsi^uZ%iDUFh+E|9uzl#ncpl9g(d%(woC z9|=ZjF+WOQ`Pt@C@`LCbC0nIulx&&)QQGo9n@4F#@1MM*wC?Qmj1s--8>I{O`S0-V zZ$_5R5_N_Ozm>Fo53620mhrE6?>?5on8ozDHc z{R!Qqq7#@ViZxAt@mpz{<`J7dxLcdjGQsiw)S>thv>V4BwQ)AXz- zH&2rvMBg;oDm~L=%k)pv>wmL(n*LbtpS;s#2d~dNv$NAPP4udNnrwJ%n%1n~QvO=+ zuwI_PC{d|Vx^!n6rGY&*N{f2CG)kVjK>31({9;IK=`zP-xtvfqCqeQRzM(KiCzs8Ml_NVr*`B$YOMJF&y z6l;`z=r__Rb$paIXj2*`PhB8&-6$bh7$qy!D4F#^mtd5J^P}|6^P5M>52A0BY?Yo- zGN=8c^y8N{kJ5MP{gZc;?BJ)<+36W2det{d*VypbSEapnI`?n#pX0_Aoxn6vtZDk> zC25*w5Su=@Lz~hxdFleG>!u0G!ZcZ_rpc`9kJyo5n#S_ebk)x^Pm>=+-!$1OJ=0{% z^iR_lpVd4~AJ+RP?=;!LPp7lfGfniWf0}G~Y?_wrbnc(1oVVbN|(`42MU4m)4IzLVK{8aNa`9bteldaM-P3E+Jnsz_4 zd738l{>eK{>&{NkG|{X6X|mz5X_{aFG)?|AWmwS(OcTYLrpG)ZP18=qrVnn>rZi2S zxX+p9vO;)ODGVA)3VI-KQ+59x!w5@rX{2=&C~R~djI5| zCOi1)bar~CiC#5K6T@TEbihvM{>}bf_-;ifFijL|nm+TZX`1E`n?ATpo6H?|j zrU}WyG+C*p$*k+Yv_gVux-CCVPyUJKY4U^Un2!8_riotlPm>LgP1CBK&i$MG`=&)jCooMEYnt9Lo~CIHvFU^J+LWfrQx`~GH%&+u zrpZb*O=f-2C77n={4}kd(>G1}e@pk6jQ%g*V*~3x#^Ru@GPP^Th#^U8oA7gQ+KI*^WV=P{pKE~pu^~YFvX4A)5yp)fz zAhZ4$3rp_(7>k##{}>B9ct4RH{a*^l4y6wnq2=9a`lj?T7T4JD*fedshSPcJUfpTh zpqD2wN>pl;p7+aXltxg}ekh*S^kSvUnm1>mCx;{V{2}Wt? zzU)oQXZ>jNDEUG3jgqa>GfK8h|0q52mzqautKL6(N68Le|09o`ot{ymSAC;&jSY`| zRXS`1m(J;{(muUBfl;DTqx6+uNTalb()7U@ZAzo$sSBj88zm$QqhzHTCG$P#5{%NL z^P_a;W12_F52A0BY?Yo-GN=8cbefL6>Bhikcbv?lWCySRh2G9i&nVHWzEQeh&c7-R zUCX)LKjMFzvZB-z7$u4|N^gEj8l_E$O&?sAN@G+^ zN9mnE+&oHt5PhR$tMrVLIqe^%cl>_-MC+}CKb!Vq%l;~C8C|zU2V_%iV8Gxz% zbN(9xTNItZG*PT+n%thIX#z3*f0x>nrpZ$mNL@EgNEW8aN;OSpeb6PCrf27;>8dTw z)8q%yH%+!m&or6S{%N{?ta+NQ(EBIvG}*!H^H1&U^h^`I>YpYX9-F3FE7(8dUz>I* zI)Q1TSkrX=&!uTPfS5kHPn*&-dFleG>!u0G!ZcZ_rpc`9;|P&pnkMtpH2j0j)8q%y zH%+!m&otRG{nNDlXPc+#$MycnJ56@*)9LK=OcTB8pC%g~o2DanI`?<{j^(_f6PPB7 zHBAp4P1CfBm_CtEo6H?|jrU}WyG+C*p$*k)W36Wr$UX`Dwd%nMUn*1R8rpZ?6 znI>DNf119j(>zUIyzpe6COde2BB7m~o@t_2{nKQ_W79Nz9j9~ufZwqkP;>&*M6ssn zE&AY5`zy?Ci0KmvwPtCWJavK8b<>1oVVbN|(`455iG)ZnP4oF_y6OMp?(XB`D$4eO z2U;-l0F8)P5V2yxKoP^Mfr1vKxY1OjqQ9u1RbGsW7z<)m#9&)!3}BQBRT29ji$M?~ zpad2nyhtM;L_mm$7*rqvVni$vk^Zjhx_6(KNolgs3PU|jESb=xRA|zz<3vK1pr-q>H68w%xF%afph;aEO==Tr>VIoo({jug zSCbZx6AATn98KJ-P?PXT)36fCt@bIrAEO+am<&ye53On%VKJN`hf7M6g;p5qX=2HQ zCZ$4?ZXIXHu>>_uW^0<-F|NrL5ol5uN0Zuwn%;d#T+;!VFRmsn9%snu={TCWSD_~1 zk*3Dge4OP`(=>+Y9GaL6O`9*OYHDIJoYRCVDNPnyVW_8xB@>#I3Qf9ooYTY-)U@Rj zncuhk(GGD63#~BJ)5MYqO-h9(-8#-`VhL($&en9~+_)xNM4(As98GEy zYP$EJxTXr`i~HWB#p9eNJsn3A_bSvRJkqpQ3FQv^NpBZMIW#dDnpQ8YYFfu)IHw7h zlqL(UFx1n;k_k;pg(lrP&S_!^YC0@i)7IO?HQ6EpP3q!kQkziIngipSPQiR}HEHoU zr%6x8(Zsz9H3^S2jVqx%ZtqQl80FB!WN2zTpsHzt#c)m&E-6hGT4AWCi6s-7lnPC{ zb)3`064bObThs8%3ywnO$TGXxSF(hoYSPI<7nbug_?v%nwoq0 zILjUOxoHZ~IW#dDnzndTRZ|O#;hZK^Nolgs3PU|jESb=xRA|zzmy{+8tuWNn z#F7b3N`)rfI?icg32M4JThskp#x>a@0!`}TXi}R{)7rh_ntCu_TuoX$&S}!qaWrwS zLQTRWO$}e;<1A0v=cZ9a=g`DtXj;-z)zrvhIHw6!QkpEZ!cb2WOC~fa6`FMGIH!pv zsA)7?)9Nkanrsn)CUtQ%sZFTq18piQQI#>+nG~trcWT6#?dYV`=p-HLGq+7>1O)No8Pi1R5uraR577=Jt7e|xY zgqn7ELtN9Qm@lp-Egt7I>FGF{xL2Vj;gP0(C6veQcL)%g8AZV z(&BMWlb(*FiF*}l5*}$9Q$l&jG!0;sLlcvsseiYsrg0X-IZe2vG+Ahcp`Ip|OlVRn zH0joHP7_N|)BJ2r7tD%lvPA@%)Wy-HHle2To8y{RV!pVVw0NA;q^IL(;$DTCgh!g@ z_3?3*m)hs1Nkr$+#AIlC_v@>gnpq4-HK9sMlZ93o>SKEdgY!QJbb#XMQO{nP)uZ?S3kNM(i z(&BMilb(*FiF*}l5*}%qQbM`Y-kU}+%AtwL(6nY=Ra3*6(lm_elqL(UFx1n;k_k;p zg(lrP4s2oxYFd-6>A2_Pnrsn)CUtQ%sZFS9-D~2SR%5=nn!KmuXyRUlnuJH177+mc zJ*g`u7%mP}|;Dm3ZVab^=sP}5+xrnysbO}2>{UnXT#ef5tW0A_7h7;%HKvP}9z@ifh^e z^TpMq#pBE-Jsn3A_bSvRJkm6(gz_T$Io&#pa%f^QG(E6=Rnr)Y;mjsnQkpEZ!cb2W zOC~fa6`FMGIJ1c*sA(cw(<%RmYqCWIn$*S7q&A_ZKh2G6x&!mY)uhGa%qBe@M-%rd z)FeF8H1{k%&hjFAZ<;`K4oyskrnRrEYMRGlII{^=QkpEZ!cb2WOC~fa6`FMGIJ1c* zsA=|7ncuzK^Y3v@wunHJx;UEDCe(D%c5zK-V!pVVyr<)6;$B5G5sx%2B>;TC$=;h< zFv_8c$52LMsgQG_hntlTx8cw~jNLSc017WosILIpbC@2fr?M-%rd)FeF8G@!>>ZZJ*DG0LHd$>f&fpn^4o^bK;ur#(Z%#Y4Ls4r{ieiUWJ;3N19sC z=Ho06+u!wV#3+X*CPUNtTURwLVlf=sgiA`3g;p5qX=2HQCZ$4?ZXL%qu>>`pl&xvQ z<8e*4h(MFNIGWTZ)HJYFTvI>hi>pbC$FWU%I*umpRj5gLq^U;<63#~BJ)5MYqO-h9(-8xQgVhL*M&(<{XXk3#mBG9BRjwZDUHGSfL z;+o!#`QmEQ;&F15o{po5dlhOD9%&j;Lb=s6t;HyZCMHAEPFqwpjj|XHZ^9*|$wDg( z^)#_$LX%RVNw>f&fpn^4p4FO6&32J^+$q{ZX#COsWT z6Zb0ABs|j8wT_Ro+-jejS~1F@iOJCPhnG|}b+Z_L>WfQClZ93o>S$#J!4W`oHfG3@V{K zXg^u$!6=6&CPUM@&8nJ)SPVb)#U-W5LMsgQG_hntlTx8cw~n9svII5#Ia|{W563mx zA_7h7;%HKvP}60zL5?Psh>3y$Ur6kKUW6lu+)n-ys;mD2FB{L(@lR zRW&vIuQUx~I;F`%D-88Cv1CG%QlUw=j-UFn1T{7MHS@cd-4Dez*&+f>>f&fpn^4oI zH;rq0ALfgz$$L7EChk?JNqD4b5drj;=i29{CX8}uVlp)Cyh&A4$uu?MlG0?M6^446 zSTdnWsnDcb$4`A(f|_>B*0l43aZR>}K$E&Sn$#xLv}Z$H({`9It|l!WKlRnqaWrwS zLQTRWO{Z_;YXyRUlnuJH1 z=3dChS?(}R6Nt{CiOJA(?DJJk^H>Z&^+lDGCJU`F)YHV02~A3cCfz!I>dO+;)Sa!V z_1?H9TSTBqT^vnn6KeYGztBDM-t+;?7gv+_bR13Gt5B2hNYhdRz~84cO)VJZ(8OeD z+I6a`sf)$%Q(s(Cnk=-!P)`#}CNwD(nsn>G6M7HO*x)oEMHN zDNPnyVW_8xB@>#I3Qf9ooEOd#)HIN->HNFmnrsn)CUtQ%sZFTqAJ3wDMAPpuUtCSz z({VI$uR=}2BTbzI&|97`P0bkP(8OeD8u&+5(^3}0dEvOEG+Ahcp`Ip|OlVRnH0joH zUN}oo)2-Q>-g#$SlPx09q%MvowFxy{{S3NCG@Xz6;%d_3abCEdj-!ct6>1V5XPKJoXerU4eidEvOEG+Ahcp`Ip|OlVRnH0joHUN}oo(|ER~hTG$s zY!QJbb#XMQO{nQ}lW|Q)VZOMUw0N8suBYQ@;$DTCgh!etlu%x6nuajSp^3@RwEN$x znkHEc=Y`{v(qy3(hI*PulcuSJQ4UQ^hNjD&sA}qAF`O5UOG=Z4Rv7AOV#$Oir9zW#9p{C! z1U2oOt!cYk;+kv`fhKivG^tIfY3MKL9?`T8^TpMq#pAqiJsn3A_bSvRJkm6*gmSZ; zxYLhO4oyskrcX~)HI1+s&I`vSrO84o4D~dzWI~ftp-H!n^TJtznmV#IjSR;%*&+f> z>f&fpn^4mi9*=AKDCUc+NsGsM;d(lbChk?JNqD5G@f&=c<)x-+4AD6>F&Ucne5|Ue ziN$bUII5&HS!ji!o+g$|Xi_RP>DF;xI7?8|@!6Wbctc#1Eh5mQE{-O(2{j$~D7r`9 zn|8*0aW#2Q$I-;S3N;CjG<6U_Z@I@b&BG{%CMHAE-~Lq9)X8EvFC3SYCJU`F)YHV0 z2~A3cCfz#D3ug&xTAi(FkL%-_Y!QJbb#XMQO{nSLe?<3)raxi6xSF(hoENUA<7nbu zg_?v%n${|zJZhS{Fv_8c$PKKqBNrU@3qdEvOEG+Ahcp`Ip|OlVRnH0joHUN}oo({Q$?{%hizY!QJbb#XMQ zO{nS1563kfi}~Ve(&BMmxSo!qiF*}l5*}%4{w5!1xy3Y1Av%X9CPUNSzprX)VKJN+ zjw&fl7FuDbr->yKnv@Dnx^2}3@ zaW#2Q$I-;S3N;CjG<6d|Z@FZe7Gab_6O*Co9}iYFEoU*D7miCxlZ93o>S>TSTBqT^vnn6KdM{TXc_TdK~k`)uhGayl_1oM-%rd)FeF8 zG^B*`YSXkDqa2!;3{6*$RW%K>7|sjFC8fziD-88Cv1CG%QlUw=j`PAyKnv@Dn zx^3y$Ur6k2H-b zq1?Vln*9aa>ZGEVRN^TmB*@}7=EiF*}LT0CGUUM}L(?=5%RyHXQIIVdq1lvdnY zrBpIXjku&JS!ji!9wnAcP*N%=>DKXg##w@tnkF;9Z~63h0VQ>DD5*_I>Fc+| zDSaOE#igXhL(_Qa%k#8I5Zu0bL|roi{TR!E-6jj z3av2I)5MYqO-kh_Cg$Q36ED=XN4BPQ-;QgtMFg7E#nGfTp{9R57$rcf4QWr;)+Ju^3b|bn+H2v#_B5Ts(@rg-K$I-;S3N;Cj zePU8VdE9=cGJ;VKO;ZSmrrUmA`_Qx&TibWlFs4(Q8WdV#sHce~6PlFD4^7O)hbCUA z>6mOyv%eMBWQzzisf(jYZ9+}=T#xP%P1j+*xbIEg({VI$uR=}2BTb9=RPnb}Oj8p^ zIW#dDn$D=yJ~xTTRgJi$G?f%uVW_8xB@>#I%Fj*A#pfnosHrDg)6c#c*JO(bG^vZD zNo_(+=Uj*G5lvshd~r2t@%Y@Nr{ieiUWJ;3N19eEp*(EAb=iqg4oyskrqZ=lP5mr} zvvzPvX|m7?Lp@C_nb4$EXwt3YtR0r1rt`Bkb@j(J*&+f>>f&fpn^4mcLvc+9VZOMU zw0NAg!>x6HLdU%dH3^S2jVhr$W}lnZVU$A?lcDLQ*Hkr)u^7(U!6l{1LMsgQG_hnt zlTx8cw~n)RSb~~{vNi2+c3hJ!BG9BRjwZDUHNE0z=pK1*`p-{`tVxTo{wN zC8+7XY)yCe#WmR?0!`}TXi}R{)BRVWdqmR>m@n>ollOESP28(clkiB>QUbv5@Y>(Y zY{4jpCMH8u-<4HOT`Y#Pc5q2)vd{`cJxwf`(4eF#Faj!y6!Xr%sdYt7h`xL$$qa2!;3{CBWRZW8| zhJRrNmy{+8tuWNn#F7b3N`)rfI{t+fmY}9B|DO5X%a$|Znrsn)CUtQ%sZFS<^NP5p zMVK$HCM_QS!it`bqltSJY7!o4np8r$)y~=(#wdp-CPUL!msd4Su^9e^6DAYQ!jqCMHAEU6)ohEn+eJ3oE#!G+Ahcp`Ip|OlVRnH0jpy zFRZWxH650%Y0X#Tnrsn)CUtQ%sZFTq!5^V}ltUAfq3P?FR5h(;G5iZFxTG{$XoaDkCYDTSQYtj**6}Z_umm+N&DL~y zPh68NBG9BRjwZDUHGOv=u4x74i>pbC$G@dnx?)S*JO(bG^vZDNo_(+ zM_wG)bQtD~t4WK;zp$dG<7nbug_?v%nwq}L$64;Q_oi_~=g`DtXnI+>s%b8Z;lxW+ zNolgs3PU|jESb=xRA|zzxx#yX4P#7kUKnk=-!P)`#} zCNwD(nsnFR7vM}8r$$rcf4QWr;)+Ju@O=E>3#O}AmbxSF(hoOr3H<7nbu zg_?v%n${_y++?4^yD`e4iOJA(4*uN@X&PWLoOp>#N|S|F80u+a$%H1QLX&PCCtk7y zHH~I#+WPZxO}2Z zVU$A?lcDK|3#ytXSqvv$;*!#2p%sRDnpiTSNvY7JTgQo)EJ00AWosHfDXz&D5ol5u zN0ZuwnwEYquBn9i;%d_3apI+(j-!ct6>1V5X=*v2kF&hU-kTaQ%AtwL(DVvi^xo9U zVmR>p1a}C8(+KnauBAE?XAYWQzzisf(jYZ9+}2W%tNe zx|eDXrWWrrTv~8*X~p)>*<4ew(eQw)x!*d!M8cy21t#`D2!TR=DHytvkY4*AJpZ0T`@DI5(9y({Y*{7El zj^f&WdegG8C!3wfW=1wwBQ0q5>9xqVh3il3XzLxWmhId2^wP#*Odi_1?di)Ne{#Ql zhL^0`cyKnv@Dn zx^#I3Qf9o{9ZUqP}7mw znpS@*uE`b=Xi^tPliGxuj^SUIiM%(pW4^eWw0QhpxSo!qiF*}l5*}%4!Y62Ivd>N9 zh|Zyj$1$rcf4 zQWr;)+Ju^R;n^$^O8a!5nrsn)CUtQ%sZFTqv9F_hMAKcE zFRmsn9^Y@$({VI$uR=}2BTeg+P@b@_bln)`(8OeD`tI3PO#>{3?>FI+(qy3(hI*P< zGNDPS(4z$vKYSKgiA`3g;p5qX=2HQCZ$4?ZXMrmVhL)x zGh0)~$Ksl75rHOkaWtt-sHv+juBij_#nq(6>_uWNX@VXfe-mY}BD|H%CA<<&>UHQ6EpP3q!kQkziI6Q{>D z-Glk!YSQ9ya+98pqltSJY7!o4nunjU;k{|fezG!&=p34u3{Br(Rn^qYVmP@8RZ^NP zw8BtN6H6vEDHWP@>o~cIC8%j$wx;7g6xU>n2sEjSqe*Q-O_#1j_sDzGIhZf5ChzGu znz&b?CgG8$E&{;W&i1*f6{8%Qm<&xzS5!51vlzbLgiA`3g;p5qX=2HQCZ$4?ZXMrm zVhL&*c`Eb0Y3>K&nrsn)CUtQ%sZFTq_^+aSMAH$NFRmsn9^Y@$({VI$uR=}2BTa)! zD3|QdbUhg5(8OeDdhKadO+ze(a|m!rX|m7?Lp@C_nb4$EXwt3Y90Hc0raxzEy8Zoe zO}20!`}TXi}R{ z)6-u@_sDzG{g^MVChzGu?@ipRP?PXT(;@=EcQ5U8QxirxG%*>PesD@vQ^_W^3B>J#kI8h(MFNIGWTZ)O5v{;+oFGd~r2t@i>P- zPsh>3y$Ur6k2I}TLb==Cn>sPdp^3@Rbj%m4n)+D`=MdnM(qy3(hI*P_@ z+V2po!zhO)CPULM%d48kSPbV7;F8j0p%sRDnpiTSNvY7JTgN#BEJ002WNZ57lDH;Y zM4(As98GEyYTE1baZTG}zPOsSc$`C^r{ieiUWJ;3NAFE@@jKo4O1IX&dpUvV9GaL6 zO^mWtZM3FF`PqyOG=Z4 zRv7AOV#$Oir9zW#9p@0R1T~$Rt!YCkuE`b=Xi^tPliGxuu3Cof5l!F4d~r2t@qN{& z<7nbug_?v%ng;YZ%Om#vrsWvr(8OeD>iTR|(;$oC90FWYnk=-!P)`#}CNwD(nsn

7eZIUJe`{*JO(bG^vZDNo_(+Cw0d)9f|qkYSQ9y4uPJIqltSJY7!o4np8r0 z*fb4eltUAfp=r0zR5eYp7|tQUC8fziD-88Cv1CG%QlUw=j&lfDf|@$BHGS}~xF%af zph;aEO==Tr+V6z8rdMOWxSF(hoI{|e<7nbug_?v%np%Ir$5~!y-yvwkD2FB{L(>z- zS2ZnSF`PqyOG=Z4Rv7AOV#$Oir9zW#9p@0R1T~$Mt!c|cJ* zg`u7%mP}|;Dm3ZVaSj1XP*Z=lrW@W8*JO(bG^vZDNo_(+*L)(b>HC;3t|l!W=Md=W zIGVUup(f#xrV%BSNA3GfYca~9iOJA(d{EVRNP-Psh>3y$Ur6k2E#$@6q>` z8%@(VqH}0sGBmy6xT>bPEQa3;N0pQ&3#~BJ)5MYqO-h9(-8z0RoF%AfBwN$Y3*(w> z5rHOkaWtt-sOf-X(LM5&?zNaNt|ss4IGVUup(f#xrcMIrEqB;gx@L@WXks!nJ$-al z(^3}0?}g)%(qy3(hI*PpbC$M1#f z={TCWSD_~1k){bHlqXEn5JovPF&Ub=KT_2+$zu4ua9mQFEVRN=oB! ziwHESi=#y(@{u|?(Y!QJbb#XMQO{nR`51@NQ z(_@$~t|l!W=Md=WIGVUup(f#xreP(NyX-4nKSnt;F&Ub!>a1!SVKJOTfJ;h~g;p5q zX=2HQCZ$4?ZXM?kumm-AXKQ-r8{(R55rHOkaWtt-sOiT47uWPd%okUa7LRiX^mH6e z+^bNN@JLf5&S%7X(>i-^8bfprO-zQSlipv|)Wl+aSB;`dN|S|F80u+a$%H1QLX&QN zmX)BUGqW`{EQo8eMFg7E#nGfY4K?+=FRrNz^TpNVJsn3A_bSvRJkr!b0KMfwdvBVD zQ4UQ^hNk_FsA}qDvA(P3;*!#2p%sRDnpiTSNvY7JTc2emsA(Wu)0NF}O}2WD&t4WLRt3Dk^6Zb0ABs|izR*$pXVed^{80FB!WN6y(?y9DBEY^3` zQe0A+EVRNW z7LRjG^>iFf+^bNN@JQ3R63UJC`%Qxw<9hCHQ6EpP3q!k(w&By z7Qa2N=?$1Kt|l$MuljTxP28(clkiB>kRE4wseKAxjZqFwOopcCOI1z7EY^2b4=yQ9 z7FuDbr->yKnv@Dny7gIBf|~Zt*0jf~DFgi32Hh%TT}nsxF%af zph;aEO}f)i)9SazHFaaYxSF*1zUtF)G;yy&O~NBh{d%0`Ci_aa6r&uPm<&w^A6nJ4 zmc?*>6D}!D7FuDbr->yKnv@Dnx^56A_7h7;%HKvP*d9>aZP(+ zzPOsSc%0v)r{ieiUWJ;3N1DczP+n`A1~AH@iOJCP;#;bk##s#KH{p`fWT6#?dYV`= zp-HLGq+7@NO)No87iDXD_T_O+wunHJx;UEDCe*YA)*k!Z^vs)!tVxT<`AvE{jwbF^ zs7ZLFY2GD#oaIUT4#6a%b7*2RG~IY`RZ}yI;ru34Nolgs3PU|jESb=xRA|zzLP&N@`$}R zwPKV*6O*B-XJJ)SH;du?CR|dQEVRNpc2ZB_LG$!jB;pVGBh1>KvmNa zi{bnxTvD1Ww8BtN6H6vEDHWP@>o~uOC8%jCThkU>#WmR?0!`}TXi}R{(~{P>ru{Hq zTuoX$&TrDwaWrwSLQTRWO;buJueHCOIf79RO-zQSP2W`2)bJx|8pd==lZ93o>S1V5 zX<9@8_-#4++|-0o4oyskrd#%{YATtgMqE;wEVRNBB+ z_TJQjQ4UQ^hNkrks+zi34CgoDlG0?M6^446STdnWsnDcb$N5bxK~3wjHSNFgPa6@} zw0PBD=d3(@lZJ-2qqm%2TA?zt=LDM6#nGfTp{9FxNB4-P3g(OZ-lWC%RiBQdiCZ3O z5*}$9(Bmw(nx^F#<HjJrh_qGTuoX$&TrDwaWrwSLQTRWO|6&lahBJarbdi%Xks!nZLv#L(;^nb`AxW_ zG+Ahcp`Ip|OlVRnH0joHeiKVj)3e!{+Na{0Y!QJbb#XMQO{i(R`RE?`O84UHimXYC z$N5cqI*umpRj5gLq^U;<t|dI*umpRj5gLq^Xkt@UI=(=cZJ*g`u7%mP}|;Dm3ZVaefm^P}4ElnzsF0T$3##(4;PoCbbDQ?eHpek7(Ky^TpMq z#pC=YJsn3A_bSvRJkqpI3FRsK?qxSdIW#dDn(p4ds%e15aDEdmDNPnyVW_8xB@>#I z3Qf9ooZrL})YOx$>9(ihnrsn)CUtQ%sZFTqcXQ*KZozzUHEHoUze!KW(Zsz9H3^S2 zO(>zk-kTaQ%AtwL z(Dd$CR5i7-7|w4(&y*$$tuWNn#F7b3N`)rfI?ium32GY3*0lRXT$3##(4;PoCbbDQ z9kngGN50Z6#(Z%#c~8gD#JvhN36C@_CxG5^r)er-ltUAfp=q0!S2gvp7|w6PC8fzi zD-88Cv1CG%QlUw=j`N#Xf|~Bj*7VS$aZR>}K$E&Sn$#xLw9_`|9?`Tp=8LOIi^us* zdOD6K?p3Hsc%*4q3CH%A7Ov>W%N&%L2}<`jRVj_I5)N;|B}K_XD-880v1EdhQb9@g zjl-K*f|Mq+DShKlaZ0v`fReg6l+-4q^v5}IO1ERaxRkVb9Nwg-<51#W1(X)|+rOIG zcmHAOxTGjqXoaC3C6-K3QYt9vzHw|5OOR4?Hl=?*>`+>yUme(& zzdB%xSoN=lhK41pHqJSF7yPFZ{tB7yY^wC!SZUU6rM^D3IcwX~N-O?2=cKu%=Wd>b zggL7|`9Fw`P-MTe$wjca?f?sg~^9_Vm)mVNCXJ`|V{D zPwuzRFqVGmp6z`rv}_#Mq}BhuwDGpK1tX<7SM+h0{twX{WG)*o^(`L4`_W$>I`+kl zi}xA+%bSjSaU(AGeB6d7c4@fvCvA8ouK2G@j<@08amDb=6KvS>84d5~w&7ePf_$aOz_Vn6t{?|0TvCoD_pQ+)CXW8(=vo$=p--Zw4 zirg=J(}p{oqv222*zg12((u`HZTPM8G;H~{4S$U*a*zM64V%u_@Y3(u@Ld;Z_{8^Z zcsBkyTmKCUhCjU6hVS^HhK~){@Qh0|-1$-)-hwM~Km21GZp0PC z?_6QSg?IA-crC8@uSfjMhEup=c+QXw-*l~p_grVglPem&?B_Q8 zDXs|axY35s;)>zdZ?fS&H*0v;EjCY}5R|FsSpbaN*#c;(# zHhlf>HN5#@8y@!u4L5njhGkq4yy#Ch{4=f?e&taczV0y%Z+P5>ADhtdKYy{||30DN zK~LFm99QIi>1i9j=5HEaH)+EU|6Rj>J!8Y~{X@gnf7sB`W#?~6{(PYC>T#@^!ZEQH_WSmy2gg@`j&=IoNL3g&(md*|4#!;SVmh;oE+w;U5QVc={z8zV=cZ{sLFzF8#3$XJ4-2_ph+w zTL(3K_$M~}>XjP4`f3~Age!87{Fx0KuF>$jLpFTNwHiKnoefW|Xt@2)ZTNFsk=uEr z4PU?&!}D&k;li6Wy#E#(e(_cfUvZlauf-L?M~v8T3Reuzx!s0uxR}8;?uMPLPPs6)@W5Z?lYq-^z4S#|wg4-Xo;UumY_B~|7H~wD3 z+aI>!34hS=rH|O~$G9T6^d}qQ2P7Px@u&?KJf`7okK6E*6B=&zgbgpj6~Tu+Wy1+v zFiQretYkiC)#^IH`?C&>9O^TZ^eJd2lLH-f92!6 zJZzUg*k#-x{nrOPg#u*)ZLS-*HvEAQRxg`e=Qw>k=WrQWS}we+u8 zu>t#UFGIqH%`SZZO%0oTZu?T-Q6uer$Bwu6eR{0D58KrD<%v@7Q%Bv>*0*y0@^@f2 zdygG#Texz539sj@T#M}+!grw>4*5A79&&@)E*LMZ`153`7ms0m>F8N)E3Q{6{%qLY zwn@X2d$jdkJ--L}ZGC6XU! zv)(sZI%~Q9O5|8I3?&Bh-S$LE~%%F-qFr^L^eHo>0~$4V=Pn@TrLY+5?2yRm)YhB;?`0Q2p= z8(_G!V6wF0G5j&{;kH>DN~?xX-hN5%&Fu^BX`l7L+xoUVqiy4G`@-SFd$;_?vd5R4 zHT#UV=Z5vi#NFF^huat2+&*hP|Co3N|Co3N{+Kx2cqsmycv@-UZMe3d*0gNw$z~_A znUT%aNDG>MS}n3|;f52BXzQJ%|l&x#vP-J6TGN4iG4 z+lFtuY+T>I;HD*Wt}r-<^zC~Fp4*|l`)=B{@U~?S>B9Pd|5g{y}StGQ~z1YM2lQKVe?(XJ~NPPtMx zT``!h)ReAH$#%8topD#Tn$Q&+d9KtbaP|AQ#$Eja^96Qg4{42d*LTJJ%5c@8ZL_a~ z^YA){E2hHLHxI43>cj+H%~j2mD?i$G#lk69%BCv@)0LXi)!J-Vcl|Q%%2pG)Vk6I$ z8U?P-IVA4tOPDXPD{V90uefO6756K{)mm+vx$45}9IluOS0#KW+df~d!vtL|Rn3$u zKiYN0!YNnErYi>1m73Dk)!D92ULSX5s|j7Pk>^T{0#|KsiM!eh^96RLZH6l@+IPkM z%5XKVZ8KMcc%8!)Q{n2xgKMrPFhN%Xs+n@-N4u_AIOR&&bj4u0Qd7Db&33iZFXFCj zHK8ju@?5D=;A-PRaaWIHzQC@u&2Ys<`>wcO8Lpa_aNEq)6hd>jVk%r+y|Cu01ru~N zsYj7=uHVx>8fRdMex1Z8yhV*=j;pY~;C8qrlZq4~)C|9_9<|${x}h z?XK^N`<3CUTia%?7U6XcS4@SgPaaTn#eZ6Xu3A+y<;stCU9oV=m9puI!E~jjbk+DT z{$4}f?=ze*9Cu}_30<*~=SqzNSD$K)yLvC?3+zhUjQ1-p+IPkM%5XKLZ8KM^@j8bq zroz>{H`QDXV}h=Fa4q$wT=~(iD;7? zT&Ypu>a4xuu0DtP0=v>S~De&S)@XIP5~y6RNT zlq)~lb;ZIdSIVX<2Gf!uDEF5 z756K{)tI);Tn*rL4p&TttEo5CT#aLbuGXn$%9S7Ox?1s{3tDjvR zcV(*yU9pkpN{s?n|Joz&>JiKr*p;>!uDEF5756K{)p#ej&0G!Qbq-fdg{#XK)Lczq zg02QsGv&&Uc3rV>%9XO|iotZHrgSx!?dro<#$DNJLRW0$xl*IR)fKzPU7d&d0=v>S z!xb0pyW)OjxN62f8((uZh0q+Xm{fHtf(g2s)T2nb@}pf>ESz$sY`S7FU8yNu z-I?ub^TD_)TTSSSjXYOs6u3IJIqqr+<_qk~9umHP6}aMlWw`3rw%PmDBD~Jwim7n5 z!|Q9VmScjhT2(XU%8zzkv2e>MEySn(|xGP&t=!%UzS85cvI`}nlSG!=oz^=5-c)#MJ{r4;G zSB9&8ZJW7Tiq|<@F%_59R0 zrKWT>lI`m0@5Ei%YC>0R2@`z3YE;dXD?i$G#lk69 z%BCv@)0LXiRl~nCzc2dcbK|aTHK8ju@?5D=;Ob3t;;vqU`2xGrHsk$@i}qb{zcO5{ z*0!0ePQ1?Him7n*)K)cD{g|Mu4%JM#@}pf>ESz$sY`S7FU8yNu?U?QAv2)_CY&D@P zHu7AlQQ+#YTgF}e2J;1WrEP{QF4}j+{mO7Ps%+m{O!_|Pc&0Hm06_3RkzzuDKe-1YLEjX3CWx?Yd&&lq+S^6@%$YP3h{) zY*(j$E$+%z6S`s}&y^Ylu6{8q?&`;wFYx=7wi&LtXx|n0E5p^Kw#{4(<8=;KOogj2 zZd!9Sg$cSEQq7brKiYN0!YNnErYi>1m73DkK(?zrSI1r1YC>0RYNlNI(XJ~NPPtMx zT``!h)ReAn&31MFs<e05D zs}8)*;fkqn_1J%K=C;mNTa5|2Dye45l^^Z8V&Rl4Wz!Xd=}JxMYCPN3sVm~HY&D@P zHu7AlQQ+$F7viq&#(aTYX`A7Si}qb{zcO5nXxq%yTD;ETim7mQ{=aLkMlnHG{i>OA zuHVx>8fRdLi4@uBXLa*=j;pY~;C8qrlboo{zg)h4})z(l)~t7wx;^ zer337`UtnpT#X|%hbyMS)qDO`b2S$ebTy_&k#glnyRKL`aT^%2pG)Vk6I$8U?Q2I~8}e5c36gWe;hMcGq{s{mO9Fsckb?&3K)|6;t7=@wu9- zrI?_rd8(OmuHVx>8fR+Be(P$*06!*=j;pY~;C8qrlZmH^g22{hx() zrESLh6&LNh;(legTBmI@SKWA>!xdBE>V{`)t_CncS6!-^a^*+6u2?wbO4)S9V7gLM zy6VVwwbK{lu52}-D>m|6sZrqS#(%_J{Sfm7e!tQ-!xb0pyW)OjxSG(mnX4hZ&f$uw zaCOo%HCL0EpsPXEOu6!-T~{oea;0p#VlZ8)DP0|(?drDA$6eWKLRW0$xl*IR)#v^m zcXbrz3+zhU3|CyV?~41C;i_dRx6NEN;B^jHOogl6Cu^=+F+o>TdK4*Fezfa~g;TDS zO;-%2D>bF7)!D92_*~qTttNEEMxHA*3S2GtTin&lF<)R;_K?bF7i?Us9cVgU?ttNEEMxHA* z3S2$%RNU1sF<)R;+Gf08anZgj?pKDZVQrha>c{IGu9yl}=RR3;HG&DcTCJKXSAMkX ziiK0IlucI*rYkk2tKn={H+08c*=j;pY~;C8qrla9PsCk)1@i@VrEP{QF4}j+{mO9F z_)%_~xf(-g4p&TttM>kMyE^WKxGP&t z=!%UzS85cvS~3xLwIAjS?8+Vz&TkJ~albNLb!gkn)jYh;;fkqnwdvzESDl!ktGTL~ za^*+6u2?wbO4)S9V7gLMx|+&%we|6FSGJna6&rc3)F^N@>#?}2Cm$`eD{V90uefOc z{fhgQ;cBh6&0KZibq-fdg{z@I*Icc`1YIpv&6F!Y+I7XkDObv-D+be*n$p#_|H=Hm z=+8b8cV(*yU9pkpN{s?n*ZwK)>VGj`;P)$SGhA`ezANrmhO2RHo4Fdq>m06_3Rfrm zvF2(56LdA8nkiR)wCjq6Q?8UvR}7{rHKnVTY*!!tc-)n(CUnI{o+~v9Tz%$|xU2t% z`2xGrHp3Mc?YrWBWw>ho7`M$_O(8UgE2hHL{PCKr7EI99BxzX_u9Qtz45lkJrK_%NSC@Y*?#fmZx?&^Gl^O-E ze)mw^)h(DWuq$md-mkc5|NV;lmEmeg+h(p-<8=;KOogld-_=|VV}h=FR5Rtuk9J+L zaLSdk>59R0rKWVXGTYVrm&RS$YC>0Ri3S1g=zrEI!lFkPuBU9HP@_2N-+SGJna z6&rc3)F^QEwz0UYH)6iPuIwS<{Hwqf_bbCyN!wc9kDHK}IG zl^^Z8V&Rl4Wz!Xd=}JxM>iTR~7k?=3%2pG)Vk6I$8U?QY^P9Mm06_3RhR&S97%%6Li(7nkiR)wCjq6Q?8UvR}7{rHKnVuY*+96 zK-`tBCUnI{o+~v9TwQf<+|_q6Utm|-X1L;_eOKJC3|C{?Hgh$A*Ew7<6|TDOsks`* z1YNCD&6F!Y+I7XkDObv-D+be*n$p#?*{(LcKkmv_6S`s}&y^Ylu0HYWxT|+#zQC@u z&2Ys<`>wcO8Ls9X!)-HHlL*b>im7n5(`e0AGbZS2LXRTl%8zzkv2eESz$sY`S7FU8yNu9h2?q+$C{Wwwllt8+oqO zC~$SiNZi$Km@lv^dq_C{io4u9Rob||eZfsj=3KE-`<~%yk+#iTHQ{v*S4@Sg4Y$=? zl`z5gt47sKx$>i3S1g=zrEI!lFkPuBUG-$Udhm|6sZrqSxnIOx{Q>g@ zcBO5``xO`MyW)OjxLS?>T>ISKiPt$?F%_;ZyS3)39}{%dp_(aIezfa~g;TDSO;-%2 zD>bF7^Rrz&R*Ji_)r79t$aAGefvX?i5_k12%oo^|wi&LtXx|n0E5p^Ow$0wJ*5P#y zS4@SgkKJ5zHHHbgTC18VSAMkXiiK0IlucI*rYkk2tD$UHXCEGSWvdBYv61IWjRIFk z-xPQC4$K$Wm9`nKxM<%M_bbEI+~c@y=4t|=Ib1OnuI3KcT+PD-U5)Eeq+I#Yt}7N! zxl%S=F_^B@l&756K{)lzMn zxoW}d9IluOS9krq=Bf)5bk(eyDOY~9>xzX_u9Qtz45lkJrK`zoR}UW&cV(*yU9pkp zN{s?ncV8cObq(eV>`L2=_bV>if4|~>Ww;v9wwbHtc%8!)Q{if5rRHi76Li(BnkiR) zwCjq6Q?8UvR}7{rHKnU9H)eic^z^sHUD;|vS8U|DQlr4ts_WveK8^VTyV5qp6&LNh z;(legn$)(Lt6{v(;fkqnb>Ou%S5ugvt0C1)x$>i3S1g=zrEI!lFkPuBT{UOB+VkMJ zD_c$Iij6#1Y81FyI23pFI?NZ?m9`nKxM<%M_bbCy>&Llm=Bg2|bGTwETuuJ0=4ufp z=&C_AQ?C4I*A)w=Tq&Eb7))1cN>_(vySo3txGP&t=!%UzS85cv`uk7gu6~R80=v>S z!xb0pyW)Ojxa!finX3-G&f$uwaCPz3HCL-KL02W!Ou6!-T~{oea;0p#VlZ8)DP1ki zc6DlN+?A~+bj3!VD>VvS{qU-|tFL3ez^=5-aK%OYuDD+ru12(N=4vfo=WxYTxH|I6 znyXPv&{e-`rd;{at}7N!xl%S=F_^B@l&((6cD3vNaaXpQ&=nhbuGA=Sb<|Jdt`=jy zz^=5-aK%OYuDD+ru9~{IZRTnmp*dVJ6|S}!tht(t3A!57qe!{(qg_`loN}dXx?(V0 zsVQBp&31LyK5m06_ z3RfdPuDM!@3A&o6nkiR)wCjq6Q?8UvR}7{rHKnVovt6CMSKO7YCUnI{o+~v9T>bL0 zxT~LFzQFHS+Gf08anb(!756K{)jDmPx$4I29IluOSEpWDb2Weoy6RHRlq)~lb;ZId zSIVX<2GfxzX_u9Qtz45lkJrK_j1UEQ`v+?A~+bj3!V zD>VvS?Kcp2^=ix)*p;>!uDEF5756K{Rm&&1ZRV;0uXDI!DqKBram`gLCg^GkEz^H5 z)sJ>vv2e?Y7~^sG|v;=#5RR%`a0 zRWHZvl2se#oP9W6a6xQV>K(!P>}~k}t~$+HJXktw_E$?Q#^;>$%F-pXKz7cm^M4S> zwG#8dwa>=Vg2~c~$6iu;?%}ps8%nE&PkwEC-}?sJdjHkF;Fn8g-M+YQ_Ko-zr_#cy z!+U3cZQ0}Pz4(u39dt(Nx%G3<;G{j;`_Q&`eQCkJ+Gb51GN)e$Y~$tCsJZeNAcOZTJtp zv#(n=@#I1K3}aJH-LJMGwXI-Md+++Tjl;~VJ(4Q9-hB^jTX@^DKa~0w50!dvZR=Y( ze^{Go;`;GAhd8D}+(8%C#EoEr_p@3xQ{wz+R~!qc#3`H0V=%?3Da9?y7I)Du^~KqW zLUC+1El!=H;#&VVE^Z#?XOuYYKK{?gtq8?&8|#Z}{3JKi#El^`hd8D}+}QVP;+il) zaie-bDRF+ZD~^Rz;*?Es45m0WrMM%r#qIsN`r>Rwp*S|17N<^8ara#i7k548XOuX5 zb~s8aDvsM&UtEVa)5Oig>m1^k3UMcWuO_Y&6BIXBHB;jJXjdEyr^G3n;uuVEYD#g- zv&9Y1t1r%06pCZBX>sZl71w=!TwEvSXOuYYKHlTF72$gvx3Rvswc1P**M-+P#4#1( zn!Z~Tw+<5&w^TJ#;{0e=91Ew!DVyRLOmS*Taci>0y>qAf;%r5sI5wLWr%q9ETYe`l z?%8k8Fmc*_h~rj-;<%0V#f@t-P23<}=McwKh`VfUP22<~C~iPCQ{wz+R~!qc#3`HN z7))_$N^yhP;vRZceQ~y;P#l|0i&LklxPkNH;`%W^qu%4R`w+*i2*q(5>x*mt6gShv zO(8OeIHp2e>D-#Q7EDmwq#jU8oFDCqW8suIWm6o3DNao(?#^s+pWME_I9pLDj?JdU zsZ&(kVc&|2+XM46N}N4A9N85W$8D@Hu3MXF;uhg`4slF{xIdp$6So`_6xXVnDRF+Z zD~^Rz;*?Es45m0WrMQV~aZ}sX7iTL9#j)A6ICYAO8~mn zvA(z=ZKjD^jn_HEF%{x^zEKl5j0uYC!8QGTUO(Cu$HFOb%BDC5Q=FPo-0V#OIbncEz!9N}RGOj=>bCrW7|XTimwW)E8$f3dOP6v^aH&iko|OTwDX@ zXOuX5b~pemDvsM&UtCF>Y2xPMbq;Y%g}9+JYvMXEL2*sErr+cIXjdEyr^G3n;uuVE zYD#ejWsAFTPJMBaitAL()O(yC?TTaJlsIKm9D^xNO)0K3TU^Ul^~KqWLUC+1El!=H z;yQZc;#x63qr_?VA&y%SisLrc7dNKOG;srXokJW`A#U=Fnz(UHP~1AzOo{WOU2!a& z5~pm6V=%?3DaDWi}#h2q$3TAVsX#XWU;T-<$_pHbqp`w+*i2*q(5>x-NB zX>O*8n?z&|aZH7{GgsBbHDiL}CiH+(;{0e=91Ew!DVyRLOmS*TasAoi+8gVOvlWHn z*lb#yIz`2;UKtnHjrkcR&Ym3(8jFhKHr5x{rOh;Pt$3Y798)2#c|}cJHzp{qMKx36 z{AgDk3#Y^>o8lNuacW9&mt~84aI^a2Y(=3sHk%fwPEm35zZw^}CFW<8IPE^(m1^k3URmg)Wi*8g5s8|W=fnN?TTaJlsIKm9D^xNO(||9TU^(y z`r>Rwp*S|17N<^8al>DUiyOfFj1s5ahd6FUD304$U)+>7)5MM7bq;Y%g}9}s*2FcO zVB&^VGbPTCcEz!9N}RGOj=>bCrWE(*Y;hYJ>Wi}#h2q$3TAVsX#U1(OxVXbGKcmFi zv%|4v*!)l&x3RvsMcPag*M!$O#4#1(UieZ?TnQ6=k84!TlsG@y701FUamuDR22-4x zQe4BPnco3k`QjfpmR8)_w0PBD=dAp%-^jETh2q$3TAVsX#Z7%NE^Zw2GfJFxAMbJ8 ziclQ4vA(#~+DsGIiPt&AF%{z0exW9=9}^VUp_(aiezYr&g;U~`O>qpSI5nlX9ka!4 z^Fn=bwxUoRn@x*Tr>M9!%j4os!TgL8r`?A*Zbc}L+gM-Rs5aBYt;6da;+P6?`+mMA zZVVF?w^lV%;{0e=91Ew!DVyRLOmS*Tajn_n*8Qu#I9pLDj?JdUsZ&&3%gJ$Zb1^@o z#A){-j$09m<2Ke8H}^B#OcOVO$QvJ5N@^c)UQe1boxa*&-FV0pJies~Baq1Km z*TuN!#_;!Cno2iKY+5?2yRm)YhB;?;V17o4y)$_+N zq0e!unG)wmyW&_lB~ID;9LJ{o9LJ^~HnO*@{AOY&I=UoucCO^RI}w)%@1{ zOcJNv=jS+VOel`qSYO;+d`+yq$4wwIhd8D}+#>wOiiw+t34M;!14@bWqg`<NSZJ^Ms` zakipR9GgvxQ>Umn9eNZIH;i+EW|TPXKHlTF6`?q8V|{T0+DsF-9ItbTV=BZg$Dx%b zZV(d`*R7fo8lNu zacW9&b7y7#%%SPA`r>Rwp*S|17N<^8aZN|Z#Z7%|hKbYeLmamv6vu6>FRqo}LaKg0 zt`VOD@o4{_XzP#m|hzPKK3roG2?;B^jhOoh1ikJQAi#stNcR5K;c zk9Nhea7vuADUQJur=}Fwku7eIN9v2S6@}v1Y+9T;Ma7jq92eJu`57fnyAN^PiclQ4 zvA(zwZKjD^i`O~CF%{w_j;x6r#RSFmt7b}^AMJ``;gmRKQyhaSPE9H9_-t|4JzQU$ zttb@7X4B%-DJt&IABu~+6Z11loOU1LxD}x|Zex9MP52pA?W^iIB6EmiD#We)U`^ay zOix)~b%`|b{c%4HW zQz7p9_tnG=V1nYhR5K;ck9Nhea7vuADUQJur=}D)oGtE{2kMKn6@}v1Y+9T;Ma2yr z5f`@(^D|1Eb|2!n6`?q8V|{TG_^-9EszZ34LmX2fuJgS$ag&&!xIxuSiSwgfaV(q? zr)-L2FvY1U#XXcQ?wR}Qi?bDl;@E6joH|9t9r2#HxPvf1qr_?VA&y%SisLrc7uWJR ziNmR!E9W=hbq;Y%g}7%sYT{ZkL2*-hKq+y4v@4EQ@FXV}=wwlOkzo_q@_RG};r~Ur(U6_shxZ(Gh2e!rg;LOthI+1nzCA~MdFSw_D z)&pzp?D`C1=e(qwTrjISn|8b@#U3;r0bLx6fMtU#GAhiep$$ z!||%Pwx8CtZ0yNqC-T3~U{!D}k|(ep(bhXzE&G3`uO8Yv`?O_`KY4&1zq&Ucr9C8^ z_KQXPr$}?Zs;my}-FH)-z4|cDUd5rYI(v1ww#`nFF5z_!S4@SgAHB2Yss|IinMJCZ za^*+6u2?wbO4)S9V7gLMy4rSj=J$DXNQw}@ub5~Ufjm|pS(J>nf9m4d3c>e98)3g%D2_Tbz*|z_>1`I zvuXTjR~!qc#3`HN7))_$N^xD;;x_+feQ~y;P#l|0i&LklxXTZZi#r$dGwQRxb{}tW z+=@^fx3Rvswc1P**M-+P#4#1(-nqCYZXG5lZmDXf-sAjeR~!qc#3`HN7))_$N^vW* z#jUxmzBpS^D2~mh#i>(N+}jU}i`yIXGfJFxAL6(bp*U`1eQ}HMcc*G!Rh#fShd8D} z+!Ke^#Fa2XagC~(66Z&|;#fE(PT3U4V2V>yid&a0Zs%L;i?bDl;@E6joH|9tJ$6W3 z++CQTQR1}w5XY?u#c>mnvA(!rZKjFq$Lk#8mo8lNuacW9&O`BzY zH}`|r)fZb3STcRa@~ohd8D} z+=l&Y;<_yirXVw+{88Y#o3BNacnj%PMxCSp4l%h z?m^7YC~?|-h~rj-;<%0V#SLmR?LDpsuXBiFD#U$r-w3#Mu z1g~?5V=Bb$xpz%m1CE)ZxM9^yiSwgfaV(q?r)-L2FvY1U#T}C^ZuV96#o3BNacnj% zPMxCScHb*5ZX3+cC~@}eaN-*_KNQDptS@enHq*p4;dKsiOoh1H-&hk@!UV-Ns%A=@ zAMJ``;gmRKQyhaSPE9GUCtKV%2kVQo6@}v1Y+9T;MaA8=XI$Lnn4eMNwEK9E<5q;? zxQ+G2t=49mxK6yzA&#jKcibCl;`%W`aUH6e66Z&|;#fE(PT3U4V2V>yiaS4B+`P-{ zi?bDl;@E6joH|9teQb}oxVK||Mv2qzLmamv6vu6>FK$$uY2w!5bq;Y%g}6-@)WnTp zg5uVyW=fnN?TTaJlsIKm9D^xNO(||DTioTB))!|h3dOP6v^aH&ihFUlxVXnKKcmEH z_aTm35sKqB))zMyr=ZsUtU7_n9O9S?aThe##LdG5#f|F$rNsHst~eG>iBmSkF__}i zl;ZBo7I)Ak^~KqWLUC+1El!=H;=c3xxVW!kenyG2XNQwQqT;xX^~EjKX4-pP3ts0C z$5eK$Gv{{WxG%9EitWj8-3R@FR z>_j)3TCnjuEl6YiiV-wb&}fKeT$ZNR*whkDt<<#Dnp&^{O|l@8fFE5DH6qFisI!8) zqK0UZ{NMN7*$>#=B>w)t=lMM`56pSboipd2x$l`fcRuzG9S@apvNbb~#>_aWlo=Nq zJmWU}HF?IVJ&MmbRu;`TsVQN`oiQ!XijQ^faiY{ujn*D8&vGOil< z8)O_eMaI2;LOA2vP{53<6rV$7+=14y8Ar!MWt?oyjH59#PAX-_js4D`cYwp&p)yXkX2#K&87Gx8;|d4QxOtBx&p5S5@fpX;q8TSOCCs=(k4c(PlbZVAf2RehYaJ~EC?5ub5v z#^f2-BaNvtt_k=XWE?j|#+`dqIOF^%V8%6w&!PIb1Fd5-j*f@QIN6#RM`LE3RLYE7 zFnGo_Jd`}+)E>oW94m`voYa&s1xY$4!xO+m8rmTqX*balJy&P#Jfib!^7b@lY8jTQlQm%#4#tnQ={nXWTJO$umyv zQGCX+vS`LhO$jsZox>An+&Ywht1?b;hnYeWW*nO_dB&AVW2%hH0saOV$4!xOcR0cs zSB?T^T(AnGj93d8TUkE@{Ch^6rXXdEShmrQ^Jh9 zEhBNp{SxKhs*ID?M<2(gi0|XrjL9>uMH*9OTqW=~$T)6_j63T4;f!lV0W+>bd=8ay z2U^Ew932mpak4ctj>gP5sgxP#A3WpE{C)C_Q+pJjajYzwaZ*#lj63{$i8F5hxNlj; zN$Vry*c9;@$7W2PafURe%D8smZ;)}^6dCtSdN|`kC}765iO-=j?m+9HGwx~3w2)}>hKEr8t?J{X^^tLGiujCU zGbYct+&kEqD&s7`-yq|-DKhS&!@?PthXQ6?zYsK3#vN!Kn{jkJRL05H%s3h|tSp*wQd7c=yTFz>%4!>AgHzrmTzXUEJ&8+GAgQGs@li9!>z^*J`&P zqV3&MobtL>=ey;|V*N|^K?da7RaL9utnz1rSxoQf^;ax}eL zoBTg5W&c5wAz?10mD=<*m#f6xZj zpioa;S!L|XQ}ZC5#@$r(;HM0-|9iE8b=u@Fi^DBm;2D3fHsI68pUG*Ewwco)1y6Zq z|G?BuK@UY=Ft=T_*C_gex2+QG*k?ss`a|8q8+tOv@VLi;GB0w`|ftp{<%Z6pY0T_ z|2@%~-xuv{L$nVl`htr;6z#NKqP@ObwA()tE&CJEUZCg;{`ynV?0ZC8{+Vc(d@kDl zFGTxGpJ-aYXdhAZ1@He#v>*OYw5|I@yX$MwP8<;JMT)*)<){I&=@<>s7hIJh+EuBd zrG7`WzftrBFGv&ZGm5@o)1jid#)!6ktZ4VzM4Mt4Z6ifr@Ro6+9sNDgeBT%C>I~5i zJzTV>DEfjkGe!H7qA&RHQKFr5v}ne7(Y#rroqnunZ&36F7aS+ramS0c?gY`UogiBJ ziK4Bb=nGz&BiaB(U+}S$MJt{x+Q(Bw`~4}R<((?p+Z27lyH6ACq|-%vX{u;9O%v_# zGemoqqAysUCz|y~qW%3$(Jq`W+UGMw`=d*=AD<=K4vM~DeSv7FoGsd>b40tfP_*&q zinf}fFF02dZA`IfZRd$L>wM9^a*OsziD-oviWa2k3oiMoXj3l|t@mf5Eu1OZ@fVBM zP0<&;u1vIXmx%VvrJ`MSnP?eTh}K2X7p%TYv=hoj+xiR9?){}``Ex|uMS-@SE82y> z5-sf-(f&<=`mPo2i0ef2UoYD2H;6W^QnYOp$hs=g&be8%ee*QuXtVDTZG63G-4y7F?h|dY zN3@-bMf(jO4*S&F{kyaz=)_79@r-lM>g`XAAX+eI6_O0*{_kgd;&Hm*ao z4V|LR?-K0?t3`X00)5u=qPf!MxphG>VsDcWiZoX6f0ZQ@qZ-g#Rz{T8jeNVI%6n()PJ`n9lL$pmn(H4Fv+8Mh=dzYdw_|V6q6@4Pw{*Y*Y z`&6`FekPjjbJ5m)A=*uSBF6O(3^X)o-YyIyEVDHIJ*{?kDQ0DK>sR*_>-*gL^}d3Y z8026&$V0V(^(CGsCbVH>Ts%8sA$ou4F8>ORxd%2DFt-e_}!n z8fu=_j{8ZLf=;?9=n_Yh16u9QkfsOtnbCH+{@9|;K3Yq86(gtD*u>Q=)Qj2+JZ=Z( zYkNUY+clxsvq+4KruK1|N&DyB_NR=Jl(7A*c7D#zt$)&aIYzgdch>HL_IcO82UKFX zy(J;7J9Pqwi$>~Y;n8iMeUS|@mDCN`m!tylGmzw0tKFZ<=okpcd5qFt_bfKn_P(j5 zyr_A{-p8w}+JJrD5!&BUu)&NXSC@v{>8E5^ib8OnrD8y=ACg*cx-zl3qG^on0n7#`<TFUFi z)4Quaj+w196FWvW$pvSEHAaKc0>!9sS8Mn)^saxNRx@NVLx&Suy zj7=}l58HLLrf(~nI#4_rPcm46{i%iRyf~qWe30-uxj0eO&DtGHpOy5zwjfO3fPK*z zq31j(EZone-aZ(460=DjJ(4_DGczmC)nK zqg8}Fnh1IG20!vH`^{kFNz5jB^hokp&CukXd|_hpzK8M=NM2s*f#jt@A0~PEFpVY8 z0zIBQT1CjCiIBG-DS6-Fk@xVegOMjOo8-|W$zwG`lQ*v3W8{cjIRp$F0 zaouJQn=^*ICg{T?&kxgB@*1GWlSiuvc{CC78j_NC2+5l;Z!q#CW|KU6Bzdf6X!6p| zL;VTPd7^VG!gP1OG=)c^Zs5r z7WaH1n`5z0p(c|GW+VvoEg=))w>57Suk8lcCMN2>^VG!gQi z5b~y%SFv-ir zrm^JpV$*o?XcZxkCPH3&Qu6RVmc_`uelYSR=5V(OkJ4?TnxVG?u&y=<(#yDncGjguFmf^5pL3GuI48p2TdDM~@_r)eKGETAB4X z{!-xyne}(XT`CxC&KUCAp%0V15KLpqYl9w79<3te(L~4#B_$89w_1!Ze>E6+60=Dj zJ(4_DGcE-w|le}J-#*)_rJ)S&TMaZLxkT+AvOZq&|`isHHlbB8N=#k{HnxV-%&NcZ)VwGJ%qDsC zNb*?C(B$1SDKU9BpnL?9S9TD2InakmUO7x-$;*ZwPadrzgWJ z4o05DY?4QhB#+e$P2N!_CMIt*%10o12Aea6ymsirBrgQhSn}GS$CF2^2zfLS@>0K> z?5ToWD!gAZ7oSpV{Oz$$ znaFp<-5zUVbH*Hb70`!CUJFcP$t#B*PadrzI3k~~&3 zGf7W2+Nz5jB^hokp&Cuj6m$`xCyUnFCH}Ht-HY*PzFCY3a$*YEGEO~j*h_gx-&1wS5)Jc-#Pj~+=Ls~MWS{W8sNJbCZSG`k~?yteUZ&X{hq2Kq3` zYlmqpdDYP4$)i<-Jeml3O-adMZO7>qoL*(8r1Ngk^inmi4Y_a^E#b5TA5yUl(! zXAF5g(1%H$MaI|BO9dY`jVF&*5%OpvmLsQcmKG=+ct*0bm+q*PlIXfk(UNNo;+Gb$fJpn*PfI-G^52h^hbk{Co!Ak(Id%YHA9oP z6~}d=BX2FrM<99iY|a?+%AgOEyat%Yl2-~no;+Gb$fJpn_tN0xmHcop@+4-HJbEN~ ztY&EPPQ-k`iO4$)qO-3#&3;AAbG89&X^;w8u~EFYlCSl zd6m%P$)i<-Jeml3>4zqJ7%Sc8CAou1(02|b z&j)>& zf#l^e7h{gRH0Z-5FJIC%dYxy19#0;vBIMCT$jePi9xj(H#mLsQ zw>>2>c^gnZ0?DgkbK-Lxn6j~rQ#O`D50fX8H6A<(XLQQOdYGC=UK^)u)Sw?g-bb9W zkya$HjZ-$#M93>lN}inaj-MPR?<4!7Lq?f1Zte%KoN-fPHp!z$lE-T7bt_?^O@34J zj(bw%$631?^EC!BUtF=i5v?UE_F}u5o(GH@Ah2Xx1ub!r=A62f9U^$C-lH2Q8c;czy7hmqc9miiqPm zH}LvkFXskcA6)XPh{D%Ie8owD*9Y5rMa$i#c@w*~E=ls9x zgMZ&CqWpakhjYf?^}&}o0gR4z7p~9K8Q`h()|Min)exS9-i+v8t7VqE|`#Q znLiG^gushIUW603{()Qn7@sRJUc!vfQSGo<`(w21r}o8Y_um$)EqeT`m~{_66sxs* zW3>&lVm0^0{R6@41`dq>uHET290z)HC3e%EW4(9PN{f9`odst09GfnhH(fM`N3_Ol z(XzavHRsZy$NF1nnqHSL>#Tp4b#|YxIkj)h$|c02*AZhlVIZvd;RJtgExgp4r|O&6_ToW1DD= z*`j5=D_V0dG*WjGrdhru7}^>&O$-(b{O-W}*#EK^ObV8K+M@#NQmfkIDK-w$_M3RdBq zgpj!`s(Z`6gx`q&%${yt_*gBRd}be4*1J6u4?FWYOhqkCRlIkr)){UscgiyQUDbf#FroFtcYgF7 zK2YO&1VZzAtKp!ay&b!LKpVQf-UXP!9Q#WHo)0hdPB{r7)<9*eLU3mQ8vvL7WjE&2 z`uKK>$IIZ&Fgly0JsNvK%v7K5r8M@AUcgg&o7>yS8a}gMYW@7rU2v2-fz4O&>=gLb zx(g?yJ>fDet5~&LpE)5NKHDUs!U>txX#dXgtBxDx)-Rusz0$Z|p`3#D-GJOUm%$aR z3{l0__@)X)zUFPr!GW^JKCX_^c*rPcFr}SRskbA5j$P9~g&FGthu>Yh5L2_0Wl2H3 zt_gdqvM8F4Er=Uax_f0MS|pr^Xhb?BvDgYb?8e;iZtx4uIQ19RmcBZcjIuA9Kha|8 z+<82LReQOr*Z&h>FEa_V#TTq(d1J?)DxJ;7q>qJ8HRXqHv! z|2=R^UYT&ddFRKYID@+L6D2}Qe5%AAB_@v+lPOA^qQnoBI8}*UB{r%JHYxF{5}TEH zO^Mebv~KIQ5G2F+0S<>QM%U>_usm{PM~v_MFECJWv0CFhmP~%QvJ7TLQ`e(O)v;7? zvGLn|fdNpJ-o>poZ}=c93wwL41iC1ZOig}U0db`b5?34Jx+-y8IbrwF zxRzm$ReJ>niR(s2pMbufMB}>9yI{sxi3`JHX)=>QP>CeI*mw~&C1|S$!mgt+je}+J z>{%AAZj+`vCJ%6y{f=rJvc>ibUhl*J+_I8ABfPdVxsca(*g&K!F;0o^De-*>9G5*f z?r_PBlS^|u4@jJ;l;Eibe9HMpZ#JMA=>|HpMs86X7*)HS8P^77bs#lm(-{9$-(4Fl zmeCf?BS9Ibzk55r*`UJpcGM(|6G61%pf!VN0z?ozl`<9x1mP3W+yh~FK41{sA`(Oc zl=vW6qw!?mcC#Z0CE^jc8kk>?gRew9-nloDU(wV$kU!1S$Tl#R_a&t9<*?@{jpy}; zQ>#BwNVo=LNEzV`4@&vns3*2(NRUzpi7jFrmpG&|!=9rd{RjIAs!~;EZQLiBRX-SG zWvIYpOalZ}!rE z^CL7{B96wP;fLmkZD5?cCm}~yg*`{pW-FYkkTMg6WTwquksgUcx&!qL9THo_`1hv? zLwYIfIT}(iLJFT4bjR#|Nt@Qe7^}b)kI7gWAdhenMGcxhs|FthsyF80Y~yL9VT34N zNXHY!ii`)h#Gael2CF+0Uc%WTmDcf69wG3mo!KIyIS<141ZNvhBe#eIVSy4K1Zy)T4~Pt7kcNtvHxCR%shR$O&pJ6>TH`Rz;oEpS{BzKQf|p?r91 zZLw!Xyn?U5XCdrBILR|iHHuYPwl z#y;FVoPpW!#gqGsCvPlH87NL!p>e~MH;Pld4M4`ShVvOoNyvU`&n;tlts5%TmodiT zfwjf8-S~>p4*QZ{!wKUJJ%O)v*e!w(4?gXSJ_ZJX0RnBY{7b@%KsC-ws?y2z*6F=W8#_@?fZlpI zX+Y@`P=g96GeJNsGXu&7tYAQ65D+TjF%!N+u=mZ*Ot>me`7Z(rpwjS>RO0F2(JeUj|%QCaxQb1w)={s&6oqZ(|6xYAIfJK%_WzC0dkaM*q^Jk!TW0+P%_OlqHCSWo9JhfI@MOL{frJ z_^CTU45Ks>20rG>FxUY`!eE(kQ}Qs%B#bF4jEV$du*~cdDgmX-`t!mCm>HH2D!Uee z=+4Ewoa(vpJ-xpq|LY$-#A1MFBGclH}vJa;AKCq zd8gq+WqZ+i*Pdmu|Mn-i+t!JF36mXj%e7phPOX>5^CgIyWsC(KMGxS#j}42lYe7;n zD#Ty9^5;+Bk7fADBmMOPKEd?O_J6l0-QODVH%a=(#gp-+$h|l!54q=1jGmf##POqq zd*4D&(htS0j>(dgH{I&6jK8aO{_Kp0c)f`u3ga^l%yFIf2Jc=$#i*Q5xFGm23xjic z!iBq6(2R>-P~r#YjKrAt%I)ZFm4muXZchho@5t0@zsj^P`3;g>TfKd> zTgP`$jql!fH|~c^&w|}^d%V2+Qlj@`4|!_{yW&SdG3<-I(|%Vxc~7x-?C;^5yH79L z?AI80-F9jzIocq!K&LcA7A5C{nunKy_b0A zYIwroPT7GpoSP4S3^UYQs$<)z4N9HobR31R{LXgbN@)* z&9zHn^RkpXn>FL$x>={(nRx#ze44&G=V>snNOC=02|mXEx$FXzaH^d zs{EBF@W(QJ|}h6FXT%&f5qu!nna5o+uVNgdLy zqBHi+YSXW1Guj_WT2sH&)TU}`Nl+8Z%$iyOr7Jb&C+bQqICGbztVN~m$-2^Z}mXJo@{jt&%CB z^s7*O2|{6+dBpSp$`P|^UZg7x9oUs-N4nBGjzw3Riy<>!fj~d{$$Ivqa=Q}+9K4|S z$;H)4$z=2qjqC*3?O@c%-V2woINblmVK{nMb~oEnccZ(>m>~U)bT*rL80)hPTvgY@ z0{vb%(*|JEjdT9VSyLKoi4Gcc^0_Aq*&JHK1d&6`n{U8l2G^%>uP+$O_a_Mp1> zz@G9>lY8=N#NUp1(496J|2twkubJJ`uQu#U%5mmLUoD|~ROlWFT^o3wSJm3|D+2Z< z9q_`7X}PL)dsgtA;MV)_Y1+|+`W|iL$9T4pvT61Eqo?}D?78a|^PvWt(756y+&HRz ze?QJY)ETf_7Y81>HG!}CiY%DE*1n_yU&h9#ljVj=^oGXCfk5PWrM>P&^zLrYGTyjy z>+h=&wkHcg?&fTHks<8d&j*-lJI^xSa!R;)O#E_VqFY`sVc5p~v3|sXXBqFd4&{eD zV)yAz{G1o-M;ss?VJ*S##Kr>~_@O)TGdk9fIPfeh8%8{GT0=Z=Cw^9Kh-n{j;8~_2 z4Tst<$=Gf=ONyVWSU=*xvy9KahVsL6KK6_5#LvmGe#C)i86RH_P!%m%74m_O)yopo8ym3JzNGIRROL}GOL)}F5*~S30>?=Oe0Sxb zvx;Wt*sTE$!_7B1jzO+=g6ISnKU1WSdqNEt^KdL2Ja}i>6hwsp^8qu`agO=;#swCS zt+KcqHL9`uG^xE&69>AN($JRhEfQnny%!|A@|q!)uT_<|$hN4)VzvVy%T7|2w*nTj z@|&dc&$MXeg=Xbw2EL1-K^iZ5rSfSre}?X-nS5z`pGS|2mmfccKpEROQudT8W1dCI zu2*HunMm1WRmS5ZQWj)@o@VBHr0j83#xBV$n|}>#*gu5zA832)c)Y@+W&T*KtfT|J zy4cCC3OuO0kVfgc+bz4cMGK|-n2tiNb_aVf>hOUMU;OWSJZdVPU3%0s+}XjDp#`tO zrcrBo0I>aqh~x0F2y5__%^K8#ws* z0oLpcjIyXTb#oU&U zZ>2p3R%_G$TNT24Qogwb_{e=1JYdWHRiA3p_tNt7Y}cWzDik~dg;V=> zz0)cCW#0UWzVg#1_f31%8)Kyh?V@f!*Eb;y%s%!w;rt>ZnSoF+q7RC z=w3?WjQf&~wR}?RK2>YEYy|%nIF#7C>sV&ql&An)fV)J-T+|wVzbPAU4ju4*)1*fZ zdcUa>n|1b}9(Ih4)bJXT+RR%G&G>^JbyteFmtx&%`Z9J#h$$U{`wW-~$d)iV9yaT0 zRNK|%&{l8ErtoUVYqh@9wAuikQb_NlO%7BVy(RsqqsOh6_>Ignt8s1z>udXp`bXL8*1`a` zIj|jj?E4r-n{gm66z8ItKLCifWqefUs;Dro&y%Rs!_4kF-Z{&LOSs|5frpLTTX76n zI_2OU#lwXTMj+JS-6sBS!)G-AZ6QJ(=+xk3RW24NE@ZyQsBP>bbfNOtl-=9`+l{ zN@nCLK5mcMqCJ(m?rnQd60#kl1)gEy1LW&dfIWb%s?-nIgzF(RQZFD@1|TM(Qa}Un zIiAw>#*kXs5AlTB(t;Q2c?@C8G(ecAL$DD5GXa+?yKK`Ar8$6$rxf8m&AMDbKKljC z1AI=|<^#5$0t3BK1H{Twh#s}FjCN`zU*^Zk3JAYiSqbRlO1!rUXogV(*sBcc0oSUn z8vtR~1QAdxTL631%2u_q4Z=_>+W}uvD}8EZ4@5|<^aJ`;y}f{Dy#c^}WnchqR$GSv zQExwl#UY$naErcIR(jKTw;pW>k)~E=0&Z1XW~-Gs5b0`VE?_{_n+Iri{rP~I%0L6$ zsSHX1&9*KB%uxpAfQB-th#FJ^PE!WefV-7JP1K+sFkcxo0EU!7Q`DdZ(5(zw0Y6s; zZBc`Ez%pgv1MF7@Jy8Qc;2dSp3%E}i1fm88V5Kq$0a|__y!Qk0RZ6s?#lR_08KeQG zDuZ-Dz7z|COu)s;AR91E8RP(R_6Qi{0=6iFJixKaARo}ILIYf`3`zmhl|dPx+0^BL zYn4F-V1_cNj2ct}`jtTqV5Tyt2jm+Fh@k;+t1@T;9Ip&o0L?UO1vHdF8(_9FXa_W7 z@BxODK@Z>rW#9)iJ@f+ZQw9OR9A#htnjS)csfSCl_5)5)1{VB$#`KT|n63=c0p+ZU z_65vUw%LGu^ACZqXyN0W`H$-xyo;S)Sv+{bGp>u1PJ#n5P8b36|iuItZY*&+adDRN*_zO68$Kk zS&N^g%Agm}t+o!Z6#XbfsahE#R4e<{O3Q~h9MsA*z?sT*I-qprXiLCyWsnVMHcSp+ znX=7|mgWJPt&tCCdeEY<6tF@$D+4s0l>^o&XBE-XNRgTYt2)7tjnN0BG)$0cbi40oE&L z{eY%33x3w77)nyr@AwV3RV?08^DgY1E($ zutgb^1DX|A0H!J1%4lgdpczgLpczg*pczgBV5@T01ZX;I0nAm-TBD_HfTpu{K$9;Y zAafO>O*!%dnvQw_%ao%)wA27J9fbf*NBw|sWZ8{#v~rXN7;aa<8s#W6TAB?gj`X@5 z!1laaY0X?+z4Li*!uz}?Cq2hfZm7cf&9@Mn!7 zWsn~=&;YZQK`G$p%AgF;q@)}$M;TNAnhjbB*spA>qop-~b5u`V4`?=M10Wi-31W(J z)BJc3+;N{A11EA@*2{7|g@!JAu`fZIGv;mra+oJ|PKyv`o z16ZN_`T&)xLn?_Kh0k z0*2c+YLE{Y9&iEHo9!DlCj9Q6X4qy_*tD+2@Yb7c?$ zG{=7ZfB|J-3E{|725Eq1XOs@OTNz{m?o$TYfZ-DvV81fR1vGic1GL;N;p9h4H9)iR zO99P;rVP+@Rt{*%ly0X2&~#P_n4_FkM@wq}O=tChrn3e>(^(T>nsU|xXgX^JELG0h zqNVMCrZXR)>8uCPJe>W2>B?Czpy@0CSgo8H(b5p0>8u|x+&6q0ah3*{t(>I;n$9u- zTa>fxXlV|h=`0t}be0EbMwSnltDI?orn6GO9_6eoT3QZhI;#LQomB#w&Z+_Pm9rW^ z(^)-WNI7eWmNo&J&RPIXXRUzdS*8uJR5@!0%v5J(AE23BJ%HuPzz;ZH8T10mJr~?0 z0K85a7=YQzAOsk0U%(n=V8I=>3CbW1(DaZFxL6rv0_G@#Y(T#2hGQrPutgc<0!~o| zd4S>e1zfHSG{9VCPzq@7W*OjGWl#<{O&L@Gn!8yExS0leT{R%?I@D00&xHu6EgJx5 za7+B^Ppxc$Fx1LczQ9A!`+HE3X|GH3#!E>#BofYr*tg4^Y0lB5B) zDg(|1u|OGQ0-8wY62Q;h51e~S} zvH|_dASY^&3z)AA@&Gq0gM2`<3JuV$4EWTcR~eK6n#7g^mMMb@z^%%l63`^J8gPy> zr~wQpgL**ILj&M-%Ag5wr!r`X8ngmdD}y#bLm9M34Sax$ltB;RZe`#HG-K!mY)}RP zz>qR90L>UefKAGvAMkT!V8P>raQ*^5rVP>n`;|c^pxIE_fNjbk2XLP<$OSZG$OC*% z8RP?6>Lh73Kr<&x0oN*nGQd=2P!4G3WCfsK8B_wMDT8W2^SG!13@C$oz_H4pA!^VB z7*Yl;fax^AD*%A#uG=6iM@z!C17@g|KDDw3B2BII17<4My@2Na2LRKRfdM#P8H50N zFCXsvS*i>yc(FQL8KeQ4$(jy0O&MeYPEZEffad<^0Ol)$T)-S_qG&_z;z)EFM4LD61)Bu_+)&tfkg9gAnWzYm@#?S&-uMAoN zXDEXgF&Kbt${+-&(LitPC&V>cKYA;* zG7Zoi;-mw*m7~mPX*QsFr#1)B9OC2xnpX>XfIj6cAJBBB0X8USrP0zdK+{<{py{k4 zT3QL{SI(*dO=mTLo0YTrXlVnW>8uIRbk+iB4t!bxcPeLXfSLEm(bNuTUS#+H`;|ct z;CN-=4;z?Ij_`6kO2&?ttPcQYD?1}>ho1qlR2lRGPEZCGJTNqeSZRRMlmVZw<|qR` zwl()a9?&X-9F$H`2DyNy2R?DUTp93rWUeycGf8u2N&zdCK^fpQWl#=iCRGLCB4tns zn5PV?qXspA4a%S%aE3By05r3%32>=0XaUSu2CaZ**0lk)DuZ^wLS^6sGU*&B`Dfut6E*0Ge%< z3m8xad4LZngM2`<3JvgcWl##(qzuXck5oNYIbdp*q(%kcQe{vHXtr53V74--0c=qQ z^-+Tcz$wb03Ggu*sM$<#q_(0YPpxbNY?YOb?SNS6gUDAadjOwMEB$I^FNIne0BlqB z8h~a)h5$>IK|kPfWxy95OoKGQGG&ks*scsR0nLQU1}s+wIe^cp`f~vhTpq-AY9(Kq z@u{sfK(k>=0p}?LzDl!J8I(s2DgbMgK_y_1a$gMy_caiU)yjInm(?S}UMm*|q_iBgposfe-L>MQu;izz=AqcrRd!@*4m&{ThH3tEGPl0h)gMqXrhd zTV(o80~7<@n+}Mb$%JTCKKX*HWuK%#j#|kVl-ktFJit`0#4{W~lLo%F)UFIlS*i@m zq6X!FYn4F-;8mqJWYE6V_nwWd%#r%1XdI<+>Ws z46X)nhBBxJG!vwOrOLJ`YTE*+DcjblZ5v?4*Ft_fpxMRw0B0)Oo~W%K@PYke+Y1;T zegT#%TLaKHAO;~obLi6#c%3q^;8nG?${-EU><-fb7bt^Fz#e6g4QLJqasU@AgIvIu zltCV#8ACqcQe~h4`jtT`pt(b3fUU})9B{KTr~ovRwGwc-GN=aZRR%RtgL=T{ltBaF zR%OrxXmZg4xK$SLMv+wpi$dM`=OPN%rLfek8QjWo50)NVE^Bc9 zfJ@gD*5k2G5@9=0gyRGeS=l0-$BA$q1L3ib=hAT$i}Z=dqV}SxJ9XP(^zO_-6uRq7 zsoi=`8Edyq5aF08ab~@8i9~i53h@I31lRF124{z^J3cM#vPc^jdu777V(&A2kHFY? z(cKo#K5*AMl2Tl|@6f7VkM*hJc7U&W$BpvXS^+!x?gDnC1z4OEdTdR=y7hF_soNGy z&DL3{15sT7&G-%ccGcVfcKKR?V)ts4c^qBGV?)PrxOnwgui_5d{)G~c;|-QufAj}B zJOpcX$9og;KACTVHp=6?A1g7%tli^U41`d05w?3oIBG>?)rgq5P=xa~5w2SyJl6SK z+K6@MlepWXyZ(VCNanpP1iegz<53Y=kBFGa8)4x3k0M;J{j|ZJp4v!X_VkR#CdzTCvW!u+SA82vJ!jx_{JQ{Nn;yX zjeXMiMn9{oU4!X#{Z;?jb%DJ080Rl;d((f!k6F*b{`l|3I88dHY0 zFYi_Mdg01bRaVNf@(Psk`I;)5fijQvm1CK*FJXy%UoXP8PK4vx*(}UzhwwPo zap~;g(nYLW7vq$I;}8$dk>K`UOM>&Q3G`xr`}cbgS-+<6OuQ53g&yZT5w7`kVZE74 z8!@WAO@!@M5e{XSbrUq*@djMz&NsPq5qlh8quk@Xj7!%-ZlO=y!g_S)IU-z3X>5In zOB*qw`?Cn!!y+7i5|PzJ;hAWo5A>xXTo=->m31Sob4A#GCBjk9Rkpv1lJyq|-SMNR z8QoP}y57XnX+$Y`f7r4-!>$!BD1LqzGZ9UFYxpe)M z+vyYkD%ClUmC9W`G`5}zMYqk6HP)3PY$vPeekNMh1Paf@cYh(#jixJ)>je6>7Kvg# zN`!5?2*>4IWxGw3Ebf!;u)&4yoXVx^Ni01M+IpOSginv_S$ftdrn4U1sf%!(PGjq1 zT-yHHCT(|utg$^H!qFjxSxYE96VF%CT_?ijrC;k)qF5J+uq_keSjSbiouXuMpLEBq zaG^V!xpW-?=N<=bJTzerr)+6cHWBpjlYiQ0it<_xGZj&|Ey&`NCV&M3lXj#9c@J#$bMYmH$_pU^@jZ0fl zio!AO63tXZ13EGwH_BSqPyUH8Ao)Ba5ce9w^nfs zV*C7S#%;Bh$a((tmDC(Jipc8uk3@HuROh@ygzI+twf=@n8!=k2Mucsl2*+(AvTlXY z9oEG--}8*1J3sW`7cqQZq`U51^1h`jaN}{9yk_Ey_sI!)CW89WXOJB0@mxBxxwIX_rE@%& zuA{KTfahotj!Y3*4iV17DfEfYDtDJd)2;t}7R~F({!tpN=S^pH_e2PM! zIQ}8*zh~kL5~S-eMr5sIEROTIv@K%xt&~gW1zft^SR%S&5n1PoaGo#1roF*+jv@+u;u-&z=$=>6X^TkaQTJf! zm{vzh?~&-T8L8{TXQb_RNIbTg%r)KdwiIT~RncAbG~Ky&UWF*E+qrZExU{{)rE@En zt}R$1y1%G+T0}USMPxlB!ucl(ePRx;5Cz0C)V00e*o} z-T636T)$!My7f^gAond1j?FMb{=FcY^A!q@>n!;9SY2G&rgQ215tptXVu|y~G%Ak6 zRh)m2GTQ?p9KREhwS+=<4KN1lU2v*9&S~P0F1G8o(QG;A&RT}li9J9_kDv%4wW17d z_D3nqsuIn)>x=g+^De@c7{>115;KzJBL<9Q`EbB9qmH-r3q7fIy#0%TZT3zX*aqH! zm{FIHkyN3cTF0g`$GM&6IG3x`;C39wx%f#MhrHu7bDVqOXZ9OY8(9;_v#jbf{3flD z-tFTsNQQe3fLS>#$2YQej)3WPuKmvOjZ$On8vKIIU-j=@CI2VxCM9!+k?y#g3oz1^ zmKdvAVw$uB8blf*Lp1~j`fP}4(hz8ma67<3RTt*!zmk0Zol9FQmdF6-W$Y%N!jXpY zSQnPIUE6V{aC&Lv@`#bOUWBbqgyU`zS$B$XE`abjmT+lX%p%=&+V zs&{zQ?0!lz;A#=JAMBH(<}9H;tMX2+a~9mqyAOT1t~nb$yyGEU*5Z0jk6tX++wwG=jmzFgX#JU1^S&dr~SbMDLuQKYxxOC)j={%WB z7qM0)9SH0*mo{SEQG>Cgc@k*`?Btz0 z-L(Z{q^|6ncoMN*`8T$M?cRS#bA+Ct$ojLKW1Vu2)m^tk)2$2tPHyhSrpDjT!6?1u zI*jmn$4-sXA7oiz3r6_71*7jLwXrv5Ew`I77E=pxe<-;aV`HI z4NipOvHF2Mj#scAV}3538@P1!a0`$11rfG2A{-tOS@jgU(<X! zv7RL&YX*hxd`-G}=NY28{wta*7n*Kebu?;sxKV>{y8$b7 zr-tUyT~%^Qu-^U`p=OF`j;}>zJ%~b&H51!=obRx1mxb7IJh81%g0fyO!nQ<&V~mKb zDHIrI(W}RKqG+z4i{{FPhVcSpaQMKNZo8k@IR&eA*WpsN^$>)M_UV6oCxoM!wCY)m z+heW3_GS#OQhLU<35#sMPsh@^0!y^jJ0ctdBC-}x=uRh{dz`n3<~mh0S0yyvy5>=~ z&tlZ4+fHXx&Qz?%*a79>>t2b#R(%vT$2AgG)?q00Sj(`z$5F+l?E!lBSXYa%ZD*M? zl}p!&QslT$L>B8LUy@DEUyJ7YuV}70&~UBB7#w3!AI8dmMO4nmuv&NBB7s=#5|*u> zo9K?9L&!XC9}OOWPZE3GOinkLwmu96w>zo-7|V+*^YKw9hKh zTz`V*p6zOX3^7=@V_B&8>kge^*ltISy7PJl=K8(_VcjXhw(!r=L~}*U`Z?@8jt*97 z+oq~qPQ`T_mrl17*^U%p{qQge=2>dGa{_nDsnjuALde=Bh0cBm`;x7AsT`AgI@Z8lt!pxt7JFSc3Rkt9i`o2fhfCkM z_f33g3Ex@5JWxd&^^KbMCQJ;v-@f=LJY?RxCBcnj#el~)mv5r^ln^!<+ib`t>2>Ka|IB{iruwwz{L$x*GWIUz zmQzB|GgHpR(BS#v>D%mg-zuA=o8jUHx5SBi&X}5lv14ij3D=w9mCg39;Y~67q7auk z8|>@WTkJnujSuhe#=CuzL>b+EaaN*#9ogyU(H8ccW--p$VZUS%q3; zJEVEew%<9ngFBC+j1D%E{gU1GvYqzJx7aU#&z>Vc)1}Kx)*8KkV)I`6i@HA*FK8&2=g3e z_Zy}(6U?|$B8jH7|A3UHNnA>2sFa={TTb!o8F48c4tjQ9$@IPUCDU*fTQYg?dEShU zrdN^tIIz$2rgmT-EczRJw_)N2%-g^N{0;pLPT%03{;7R&J~F*f@53>UX&iWz@6l%W zaR!G;^3@#ufqLc^1hWN#84Mv6sHq(=7aYEVbEEaGcWW&eBG>UqVhqx`s3U3K4`CoH zFxp#lSLe@sm9=&5XfozVs6FR@*Ua&#!4qHG;_cU&O)*!qDy);=yBpL6MY<-0sVRQ{NCKFy_dnndvqZb#^@ z-dA>5=1s)By_gHJ)|Xzq+8ABv8Qa0%6cy@YJLq1+P_=U4$qdGDW;xkM#+G6|4z>tm z4bZ`O))Xl(+o(IXs?Ra&8EY$Kyqlw8uyqA38@!yXsep zw6{T;$98r9b~t>tpv$sS7_+)j!0#J+9OnXgoEn#|V7@}udBYDxMHL4a_gNazGKGgILnBvT<7~^#{7~2lU6x_Q` zp7TrwVPXQlyyOdXdFcggdC3;)kgp=Xv1<~@Ql>dWm}0KVIX55S8LOfi8;J_VRY4w2 zo2@%6*ZSrZUh7&9G>5cU-ytoR*uH!lvXDnufgEBytb{Dv2Uvs2s zG7`d+DHx=W%O9dS`J!6W!-FV_Bw;-kt)U7YDU-0$RzS=Lx71%HQ zV$A-%-E=c=On0hS!2VA8T;=Af7jd%%c`(<0%ST9yaR>=h&~3-95ft5+bq>N%#Wzko z2^eKEgE&r_H)bs3oduL^!2dOK?Q>tj|Fv`N+g_e)-_ot6lHI1MA?fd+sIR` z+6r;w6tlhRKS+;pH=prM1Lsy%8_=X(454!h9xvhH{yjw(Syu9H4QHm|7eh-9J~Frx zuQt^671=L%Vd_Bbem2k7g=4x4^+k;wJ{9csMH-66W<&89^2sr@T)lB22M+EbNkg%L zH1im$VyoHSl9rnI#TLq2K8my&8W%XjOV6jJ@Q$*FS zOJ9YYyi;5K@#wxqviqav9j0e^d2bCu>^Y=(r79q^0cEUE_wx7=Sn%*J5>`QTQ1MHA zit@oXg@zRzbRe%k!u_}hR*+@%Z?ZXB_;v8}8d`9RedY#x&V&_mlW$h9edc!i#V^_~ z-hmr`VrrkH)*(`~`=_|QSB@H{C95Iq*`5=w2{nY>qo&vzCMBss!_j;5iP9{CH3_V$ zw((HlQP3%z_|P44KaJ1Ny9gcWjaGN-`;@ksN;)oAGHVW`$9e;n$bq6ZEJ}P>%<^M# zML;hK;Wq5-#V^p8Hv733G9W!OUug5pdto{5tb&*ENCDiLOw*@z5LRu}X4jQU3tRi~ zOvIjU8}(ZX$Dty!z7OHCWpOzxq-WG|qp6#4@l?)@CV4AG%&M_Zx}rfZY0+jce~p#9 zXD@n9Dqs8>4L#4jHU|Pdm_ByJ4BpeN{VMHj-0CE*+JNr!=s!v26GS*p5s`HUgvXZ8 z<*XJ|PHR?P)MlSl;CkBIn*kga4N6GmF)G`s}oLF0E6YunRxGO6<=pq$@k0(+WEi=yIodQm%#9e-hzB&+N)8kv9*QCc4dMZ>BphfkA!5)X2KX@K zN=}Fr@sI)o^uw-oeeYRD7uXAN&cYYzHr2ZRWfpva&ob~I?&=Lu~v(d7)s8PjCV782>631HLw91HW2L`0|)fF?XOqoP6h9h7-P{ z6`xx)Px$^@ia7*Wf)bqTv-WRhKZQ@QV9vWToGee>QgvEae?CrZmI7p`4`=^oxlnW* zayd5;MYq1O^F7P1G&<;j1CQ-LxX`Fue}}!>x)M2v;{#tT{dm{dZtLHn@^5ON$8p=S zFxo_;DL^zT(v4lVZfh1){-L!!){M!p^3m!ZWUzAe30>U^m4D>ypQixdfx_)KDVtq~ zc3WQu<{$U?6&N5quiV4QS%X2?Rt%p=THQ|E!FmL%L65X`UEd!2n$@GR*n&;gY#fCZ zFBgmnjoFKn^VETY+I^#R=Ms#DaJkdH1MPxT!Hj`-ptri?9fD0oCp>?`ei#>>u%+mP z9^CY5fHk+nAnxVUx+KtoV^nYq)CnxRU)P6;NkcgF$aWpR*DCKTlEk`AWVOzR zOXrIhP1$jqv-$FiR`@t}J$_SAjZ(Z}szJ1spMU}cRipQ>QLj?)WfkAM-j!G)FFzBAv2;0gF}XSghnPKnmKWyIaX$ZQyg1 zvd6}nwV2@zTP29DU7~wTMVAAUgQH`a`2&tzdSG;q9?7|6Cw#Up93DQ=$WUkXVlLN` zUSl+Z>+Crw`aEupA3H#h2Ecs4>%RAq#n|*id|zd@i#N z&%u~q8rWRW9s-q`cVVEDFSfe*l@VN*zPVXgeW{H|AmLUdKv6 z_344mn(vGsb-;%QQt*oJ!ho^=`rC2sIq{87TuCv$?xGNdeC+DC0NQLe&1BbuQpZ>L zdO#{B_disd{FRpCDqvO5eSHpGx#k0}%*B0L%`?BAw+ArR!+>H|NK5$&AFT3YK2Uy| zO7GY3p{yD#X7v;!AUeZ`Pc(e5iVc-As{ww4tKoNZ-#He%aXiqCX%Gvh@3Swt2?j~% z^b4InMJF8{Oef2Z=kBO!2Ir8@SC1f_vp$W|*{kTRC!O`i)H6V5;2=877$xSvf-vbU z2NXI}U@s?OoRDu_n8s$U>Da-hG#mAfSqRI!Fk}?JQiX<{#Szyv8v;K-SRU7FUC-jH zI@{1%Xd71-H1}+4dkDd$xPAleJn!P@dl9a}c;^)SRzu>6v+oaw)oKP2Zhia+5GCoa{bZE!2sXzlCC~F7 zT;ulrCVrE&puL7s;iKj-i=ITDRR^o}lM7ab&m_Honw}L@V)TX79J`?5ys{g@xbp^{ zS5^a>=aoQH%y|Vf{jv(--l+wmvg-Gy+nzmivtof1pLqg=dpj4gll&_ z1c=)Ip~PAdjwd19y6c}1#we-17SOCcJGS=7$DrF8!^HoOxbp$9vZ(t1!rfI$)@Mmb zG)OE=@`|EJk_)=4yLvC&3#4dR=#N@8DlI}WQZ!^)sL+TQLg^ua`iWN zUw=PJbMuI??~Jqh4OYPk>}B=Gh(`4iDtp;7LfuceDbRX9HgaKe)vkYza_`*Z?QQr9q9U6BLw zQlg;k8W-GZ!GP}*z-@C0!XHf+lFlU>)j#c)?zl}gh5!8(LsH}XERssPum6rSa`oRt zl=_#r;Exsz_!$B9FC_>MvHE8bjp{Gxwtm$Vo~-(Vv5hLFhC4{+i6??lbM@@MW*Y

zezT>WfBQ-r6 z=q6N4L5SACswo|Ny2Av9I`lHdWfK-GTP57ZcYcp)dhulSm~3U-uc=80F#JP2+M%*7 zclDt%oAEaBbvm}KLj^>YD0WNvb`Nb>eAHD?qWD%76HRG!duIuSq=KT;EZOdi<(8$9 zjk?(oZyLEW+y$+NooZ$57LRr)W1uVJCzfn?p>`-EY%gOM(eTl+R>p+9GKRP^_J~n3 zcKo(O8Pe~#w%Cc>@CUAp-&kfhsa0EsxiZdiW%PjqI+UTus0?XA!n7;nfV?tBxH49r zZg33jT!tQ_GKQ#(k5C2_`>JI&ICK?smSP7fxf8`kQ@BxV7+-gxm=Yt3N!1a4`O`g4 zLCYwp%ak=v{!}phk@B^Xswuhdh2F_Me@(@P&n0bQ)up2_TKoI8U*|HxrR5D8Y5@L% zc0we%uD61c({=$`Q_5Ree6rpK#X|^?TMSX~%EO=x#HL~!(lJy~v+Sw@T~HXlU3!(y zk)}&uxON#g6)tT^QCh?)Be$|B*iHt-!82vTt|1K0enL+OOlsDqrq)tRrjUi&!J39P{v)8 z1c_faiMY`x9n*~o+37xAT{Y1!M_aI>j3C@`q(S@eX&s^ci=OhKohC>!HB5v~sGc(l z#qog?t1cQ0tR9N<*TRao7Qyf zm9@r){wuIoa7|a zKN*yc_s8^02WRw|=vVX;1j*_RSqLiEuxFPD2K=7dS(OFF(}_e}l^JRi7+hVZa9q1CiT$DAcgZN)Y8sXv?Ydt>=Q z_d10ndh-`kv1?jVr8}=(Z{~8Y0$>i%A_vzjNCX!wQXecgd$V%Gskczq`p}B$#*#(n z3ubTSE>L_bQChLbxCh;$TJcVME7~gjix(&T_h1gxNSzv!_8(GX{MRK`(ms9xUUF?o zb!p3eXQ(Z>!|^JS9WRz2^k)ZMg;%*VReDW$?S_ir;>BEKW5~*D2pcOE{!7&__NsoV zSIt{je5PjK6`!Ih7nd3vaQPrt9gRAar_(nTevW1qw4MzYSHIP(dQUH`@#a_X;PhQl$v042J?8tua!@>4K?XA?{u#nwJH2|$ z=L)W6{>EjK7-+;ckE=TAgq^+Z+_&*uqUJ4c;eRN9F!r^v>TZUTV8D|+pkhTSU9?V7 z&KVQ9F0?5bZ%o8CBx3OPEH2+smoYAjx(u^3^hu7*ri;xqZsxkoSIZ+d()Q1ldkF1n91Q@-2}!5qb(`i|^Bzyciod280h7ah8_)EIo{*F!g64{)vsQTv zpT)Nz`&gPTvKOVfq6zEl)To`m=0Y?Z_m#CXXDLO%ld1w{h_iNwS5m2IN7>vO0%_SG z8%AIXT%2>X9!ky8{!)He2ZlX=%b@T^FsBbAGb8bt8e_2a-^mnxWDjrmV%_4d}UN$sa z#@Yl0zyt1%@(72FUbl|EmqCgT8-R1TOYHLop^!67d1!KhM`07K6++ zPF6f#G(-U{)PyNkv{gbO)=X2{MyR26R+PSok2;vDS!D9t?+j; zc@K)dOq{*z;w$?2HDlPw**Vtj<7TGx3W~0!Lziy%m*~Z{eFIym#dnl$|Nc8c(Qjty z-8BaXwGtwksfY9`-7aZUD>_F#c)%zjFH>Iv5DXdz3ahaJEf61Ietmo%@7g?|z5DL6 zu949~seH}S{O${8qVB5oyd8%GNCE z66)Bsv+dJ51rsy>d65v#{`*{JI}5_m`k+te56*3-qc%q!cDr@he##bg*fJ2;sk7X9 zT<1ntE^45vj=i;n3e;OG7j^EcuBZzZ=lW@SY53y(9Xe?xTCZ%qtKgze^^UQ6)k*a# zzmr}&bG&-x4I`meUauTUS}@3U%9Xkp| z9dp(j6=aM@b=h^cX9R;!;05X!nKl3MUYRwQj9u-*qTji2@NWo{nZjz$JM}N|Cconi z+liqN$1tp?aK@;@8@67Z>~(K_6K5i(?DQr#$^6(l8V1r+)|oM~=*-j9b>-eL9gEuS z4SSJKMx`mgH<9NK@Fu_DO@32(?$u`-E4=eIVOu@C(OwEzkAay?2b~_DprGed|ioyS#;4L|<+RCSxM7;S(#R~6 z=oF%#k`USvk2rgY`)+bm1brWE)hDxws-{F{%BNW|p4j=yK|WckS~B&j z#ikD22t+D0U4PKTb|hD5`yPs7uGQ3(Uq7_eLh`6(o5d;417U>`VY z;u3lHW^Ne`W;7NdfJ)G{atQTDtsF+wTKUE?u9g0h5hMZYXay`E2%_dCi1yq(ZdRvh zDmvN*e%3W@{Ak^%_|kq_7f%1VHOru*S-*r}i@4vZuil>}km~dpc^8JuRDI zPs7i)rxluddc#Idwx>Fqmjy-V@g)ARcSTd|UCkNV1Anxu@ zRUNZdtKYP@@~^3?Q`0!rW4$wCZGlZOk|-_QS_P?9h+xM)g?H)rwsia%6j|xmbC5l} z{UrEG`sipm-BmSk6*+32xS}tM4{bHJKJfVhjO1o%(sT510dpTSqj8x*rU6LD{=$sv zK+>Vou49p$-pb7g;$=jU!Zl(UvwPXgq*VQNLZMN##;g|j}Ez$^n^ zakGI|SwqpR!IWrxi-JaMj6h1q9;M$<{(v?W9t?hlfNq3Rj=|v;)g9j;;XM2vC!9a) z!lI*GIQU4yiJ87@UOxlr+^=0an;3SY8Br&OHR&wL>@Slmc$3TBiQ}ye`xVEP-tg@h z{>p`Xy6Oq^@@i*z_|fuy*pj`Q_RbBGTb9p*o>dr2CE_8W1U}{a5Jf|p6P^)%1OdTOi>8Eu&KfF?N zB1{QtVTx3T+F1_~jZle-#MqGxcY(^fsCjpHsd5twhMLAJ=Fl6kc@>jAI_BF2<qH{E(%VZpL zj%4he^6GmBg`d5MNrKrU{YQ`ybMJXOQN_{Pnik?Hc7hrumU}DjWmaW854$51elX0W z#AXYMpRi!S0}A#$on+zfRIw zLWwxv@MT}lXy>L202|8 z`(>nR%bk&1Lxj!W@dImlGba39q3=~U|UZJQr&1zT!&dAe*6=y0OuLuf~;z1DySW(Cx3}LgtxGmQc(P^w=uxqoAjHL z{$otnISO=ID$f1W^E-;iW{S*VkTBn zv9?r%fG} zu~FfFO_M#g!oZA$=~ze^gDJy=f1=bH545(F2T$Vd&ox zX9tcBSV&Cf8_)I@)56k@mmR-$=1iVM&2gEN?m>BWkUEsJ|4XiWiJiKqbG&Y>3LiHo ztNNY{gA;8sF3$4xzskg?B|ab%7rmsoRGM!KhXa2wO1=aNub-g)uIi_80KSaiy z?P}FF*2Ns5m&t1QdM>RO?gT? z-j&xvbcV|NZO`Qmv+`!U^1^P)Q<_Buh8ZFoLqA^2pRK zm8vFITulbr8<=R|`1@fMtT%WS{`kNi5jNTYy4?ZP)(t>PivTKs28G9n{-FW%`lmYs zRF(rszWV{_hh)eHNUy?=^bAnK0BUpqNfnS!L8V0iNd??r0DT^Sf+gyR5eXY636@N) zZVtc@eTl;GM+dO&B*9CM8j84(PN+qXi~!~SQ~rh?m|%*5^t=OU7;-TmB&9{JCnIFl!pwcup#?b#T~!-uQynft>JRVmaLa*~wUTNfr>+s7?IgTztv(TaV_T4u13i$&jcWM`VlOwI!!?gEhRQrQagZsN7PR#xwz6p4N;e^oZdZhh@Q! zBx4!nHw-gSz@VNa8LerV1W)02DtqkcBeE@+q|Z8yK1zvX;uNCK%Xt21TF}tFOdOpp zXa1mW6#rXFQ@Fwj~paN8u23N(DwV{NYhO7B-#2FzCzJ z6k{%#J7E&cC@mVt7Z9~6M(^j^)%}eUo*m~GfBtwL_buYHh8YGl+@~kF&wZ9z%u_hB zSC8P$Ht9+r4s=~XzQXMmavpeG$bC1lR$8Kp%44J2w4n`r>lS#~xHmQ3v~D*#SKVEGw6 zg?Ikr>c~_gQ={okb-iBVHb!1zvMb%B?4Ihi$}RUFs|Z#oOAoSjy8&FV&_qhY<{6za zsI+L>Gl{58dsaRLMOqBT_GwSZ+X}y4L3l7wHiUT@rtpTc6-4u%X+&+_^VEA+Gw+#@ zoA>OB+RuCO=5bl;B`jTNBkVYkZj<&VY+&;68VmG+q&BG9B-0!ZAw$hfB=JfZ54ss=cvPtphB%cDQwqFPmkeNR-U7;rHN!Lvd_DxczkJOJvB z@<<={Z0~zCv1XnFhVDXW-*%{k_Ty;cXHYAw?$<9MlBnu?qUpivm+C2V(h|N>Nt?%K z`eXE1H`kKu%V21=6YWEWk|MPO?-%nv~xrmG4M725nA;AlPXCz0rs zW42iXQfAw?HH$1*GMyl7Ia!!cQ8^vi2p+oX$OKT>`vhTP@cq^{(|;1npCvCL4QiFJ zZfc(;C-h0@S@Ol+2bd+Rl-w*?kcF>cl)~QYBr(bJSRfj0Q3>!a>7`N6)+-x0_7*;P zEEEZr%-|U#Ql>=o1G>X5p3!uPt0Hw9nl9m;`H#>W>FOd~8s9k$np1K4nSrK@Fl99C zfM%`45=^ZIl}(Qpsnyc{qi96a{wpc}b#LKmI=5WY`2AvR)Z``Snbt!A5J*f>=dFAS zFt!UsZ{>r4(oB@rL_j+jZ10b`a_=-J!0AY~4`fv)WACOigKTpMkfgAln3>}-9jG5d z9D`80fn*&l)Mi0OQ$6}kA6~N`pna4?wQU;>^cL=jOJZ{K)D=SurJ3Yqc<#&B$-Wgu zr(q!0!V7D9Y!?<~iP(-*=?WD#b4}}$w9BhG0R_F209$hsU~41++)+wSZ=;wL$|C^~ zX?fKjn2tKtFX(t&lEGv`eE|$12G8sHl+&T-^VEIMr$~v7u=S)5C;(Jlc+hdi_K);e zmloS^C6>?jza$N|Uxi^sJKKLjpLAyXZ}t5EY_C#sY`+Qwg?lb{Y@Y~bmEiCN+-p-f zQ8i(R#7WiR-ooPtvyv626Mniac&a z#akJKmUYyB@VRzR5t|c;rsA{0Wc=Y|oC5>DolcfSj9B$5Vs3fpzs8}5qY5Tg4aF?| zV$S;?q{-^`MCOb-)PXvE95hcBu0$xCGG* z+e$NTR+MjW3OW^3mY6OCOd96|8L0s z1Zk4Nf<|WU$zX8-7M|%~K^srb9gcVX2H;8gZK=#jwzr#zZ%FQW3e>Gj1(SP?PQ`Yo zf~mdA7`J8soY0+yXu(MsE`_Q1xl5Dr*Awx|#bEZ_1q=t3i#UsdT#_kbGKSU5iYZ3O z`e_P+Whx|P*4RejwExn?%%x}aqTGMba|!--W^hGg;hFwPrz+AXxv!Dbk>eQ~ctkY?A=k#hAxoQp)g7H;rGmSRyH?6@w+% z2k=&22F!nxeQ>_C4V~wMY>3OCxf}7gRqg-rj(g=G6u@9j1DkbL5_@$@shNzggPOF-UZ;XvVsn)txIMPOGS^1PMLq~a?Q0Fj98rALX%sn{~X zO`a8MhKQZ%f55o-Ee8n+r85hh(4(c(Nl*wqCb*H^s#)D zfauOzJ+LiAXei<_h^oJ0E~Ors2o^coS3-McM0EoNv0q;zI2kDPgp$~D+T;>r-vScL z8vv9l)`$aAu0O*$ZItX?{{XMjI_vmsI{t7XQ)m-6T5Yc<1oIDFq;L0ZpAg)1Xfx3X z!7Yb2=^O3A#?9kgI=(LLx2ED5gNIKA2}L}Zh}m&D_Gf9|+*Ay659>jlJ9yfEY+NQa zQ=83i>$nUBpA}sCTH#s#v7;5CJ8!J?kHux|u9**W{$uXAOkdk)qYXx>ye?hdPVr~8 z&A8_YdbG|z#vZ4NC2DpmZXUQHx`i_$gfoe@?&d317iSJrmx^Yg-OAZ^2wo9Bg4d3)<%s`c2g0lEMtHScgcn|Ngr7@A5#gtGA^ewE3P{Z7_xSOA^gko~ zVy&P2`b7i~eu19y2|t&_9tfY{)qV)C*CPB7QQHw--T@-QPazr+Ue)IaZy-T<)hogq zQ2#c<@A_C*!mC{n-jEhwA$Udj2;LP2Z&v1aB)r;ggjdT&c;O{S_#3DwBK-6&g#Svh zBm6eL=r}_=n~xGfy2PD^OE_82V$I3=8g+TH546B0VTs@_C-N^qSUl9>*I{_PTxeTND9$C4)K zYt~X=J9~VX<(to`5CMt_a zKSQLK?j?8j>k_8;>htoR){*pIRU0H6il^^Y0--H?wVQ(>Kw!AY%h zLjOZo33ds9`G=|*68j+`y`SlBtpG^Jx2H9guMtq9zW|^J2T!cV01^E&sy4+mnF&BX z8({1{b)4AXU0ut;BB3(4qRH4m5gna{4L*@5Z4w(;K^px*mX#UJ;G;P}roXXBGIM(S z=>I%>j?DKsh{Jr3!!Fd6Q4?VbwSm#!PzqB-(62CT=9of_a7@t~rtpLcF@+~w&^J7x zsXVx%uE0O((AMv2gVW9Tr!5Ne%rC$2k?xt|bUymmm|}q%;%DX(v@^wQJ+bz(AT!RQO`Vux1YyJ!0wBi}0!mCF0K^mqPprlOF{V(p z9|}{bpol4~%=c%Chx&G93N;a?P#a(hLn%xVLBGPF&oPA>(Sa$13S$c4LQEkv<(T5D zR2DJC>@JdG%z@oA#c)3Q*O+3G8iL;ef_A1T)01C2+JejodzZ%)!<2}+p5T3$LOI10 zWwbhCin&C^6tf8{HQX)I>WO*N^P);$$0$Lj}MH5jmMI&Lv6apZ} z6aq?2Appb_22ZTU05PUewI2#osGx``tjzakie-JeGKHE5Q>YCvg`pIth@f9#(C3&! zjp)D>LWMDfa3Q7;nsQ7rn#v-k7@A@D=%n!bSgd=di1E?C#uRf=w!##qbIr{uW=I3e zxN1RWnu2_$n4(1N8wuWrDU?%8(M)S2rqBsdF-0H3h$#d>jwu9`m_h)EDGVOwlu9dVbDXh%*X9{@_&6gBvB21w+z!Zj3m?DCHg+ZTV3N@kwQwSBt6vBm=LTJh{ z#iyz4E)uewaqLYYyMj&VhYNZ+jyOPA?VtjFO-g8VN$ilaV0er9rRIs~eB4xWuA3Py z(#&uT0~L9@(Gnvb+!Dl`II_-62ueX~V?e_7PJo zymQ1PLgEAc2yU8K`tbtT`rRF8xXem2oRejh5`1 zqlGocy{tdtx}M}=X`=0OYq541fJLQHm_TC6?A9ZJgDY@wIYl#Pp{7WuuZHO!Wa458O@KSqQtL}_8_ES9v`1yB8-mrR?aUG zN+$;MON8pPf>frU((hZ)`YunA@E9TC!DIV^xNS2wqlFm`KoB^6Bg2X%W!%P`v(yi6a4dL(Tb$UT z5bt`O7+_y6?LQ+I&@3ZuTQIm~^fUwV_R&i%ynFOwh2F}iQ8ucgR2*XMOvK$@CDVJW z3MHS_%$WlLkm3Fz{uwv08i?5rA2Ryd)42fOCk*f9w!M92trIcwuw@g2|U6T z0*}y6zo2N=mLQ15EM5R2m|AS`31sEWpHUNC!de) z)A}~VjW{6Hg##Xb&v8J$8tPu-h;|Mzn+0}gJ8?j?GTk2s)Y?X`J9z;IXoEN6fEw)@ z(|NSn%kIP)1;K5dIbaou-Ee@C*?Kr-xhNjYKP9yA?o(P6dMh`<0jek!=TK>wh`VDS zaDY_>YOUtL4vTQe#)+38Jr@l@B4&W#tO*T@5T1;!a~yDa9tZ5oa=@;34tPx*knX?% zu88(^=jAh?zCd%--%c!|zHNC!eSs$GTN7i;gq4oecZZ|)Y-cAdqJD2RUexcc){hHr z=`E~4{TfmKqX_(69HzptOq(~a=sDrd&SR$hSGaDccZL6QV#_Pl&-RLKUH2kqpAOo6 z-Gc=Mc0x#chOn^z)wo-DVJ{M1&+01(*CwLLJ%5Hp*z*2^7PrBQM8~x6XzjYEW;yx` zmnq>Evl#MnxHsUCZ-8gE;2JIp;9U2IYcjKo`PYYIGV|X9KH!eIstg}LSUcvUPJHt& zGno-OBg2`e-{4rTHxWx9%pHoq!;?E)B<&nn8^`%6q6>&drZrW4Pi2RjG-og~#$=Q; zm^tY#RCO}kkf9AaH;iSbQJ}1e?UW90&7OlJXqwb^XEGzJ0?cW;n9S5pqgXm*HzqSH zV1o~2GNVevhl;>?Jk{A`5P2pSar{v2mTAPWN7F}Y)NjLW=CdFgi<_spIKq(mAw zzjlPi2H%DeZ(*sex$VRnwl9Ivj6FCJf!UB@8>eITMV(18zurb}cchjXv=emESeP|O z&}1QNj)0a|HR8>U^JZ+_vZtr=yoD*#3ENbQ8-2Zn)l$_4CZd=Zx$SjyV>H1;Ti~j4 zlXW1q0UFC0=GHjBLiMVF2iH|J)FyE{z`djm5yPx28jmG+;2}3)*Ork#S-lVIm}fjU zh{Wq{E`>0)ciu{Da$a=)&FbtUcTy>xsW_o98EZ>qE-wtdO|qi7m#sPg6>1W(?WtIp zDqW^ld(}U)^{Z(uBcLMycUIG(o_WnWlvzF%-@=2ltBYLrWR1~Y=8n?DqjBjz9^&_R*`cei2h=>KBk88B=Z==g4_F zCoP<$0V2s_Ega#;#a5&FRigf8eaRV3OUyJ8gbgJELto@9v zX1nWtHXDe}waR2EFu_7$>YnV#Bf-xMQmYEnKJHh}r%?4Snh;5;zmGmBGwj#(Sg{bI08Ee zyO|@X^DLcnJyR!MQ!zXxa@ds@HU&=EVb{NS*MCjGuz*7ZslMdC_2eH&{vGMk=9zc2 zo@dhoqmx(jBZy|y+F86`Y6-DMEw|qxF_cHGZR0a1_2c|-I=y!SD zPSko>)apnh=2%#eF*S!i&{?d}PNrs|$#-^&UC0D|AV)iWKCZ^qJdsDA5>jCS(Pv`j zSe!f8b)b(h4t@UEEq!2vh(0E)1DjNLpbyM(Wl!{ZC5@p(9)14mT^|S2&}U;;`lPt% z@{ZQS^WXPGlhfbN7jX` zGo@m!-O%Yx@A_}JezXocslE>VD1|HWJK!hPs7~QffG}!vknD1hh~403!HrN6l&uF# zd9iOp{vq?X8vZs`BW`HQ84jn)tPbX|LvZjUC8s zd;}-B`Z|$GaMf{U7-;uyKE#bHdPw-}dpFr>`#P}g)1SL?5F^H! z!DO$H-Rlbfyh6J(loOlU#eNBc)s0?mk8rvXqLf=c+hkJ=lU9d+v`$TRZ3);U@;e*lYVZ{EBQQ0T@jRA83l-n=`A zw>}O%(I50?!4r+^VXwlg3tE?QgI;^O7$9to<(97P3}MUE)~|HRt&u(aQ+sYbJN9v& zi;f^SjV+_G(L~*xmzg5Qn|GF6az*yxuDihDVuT$3`p>d7!F~>tOgRU^0AS&%(gPud zs0k)DVdcn01-nR;$5J;h%7B2#$~47QHZN5B&@SN;L20- zV}wnU)jG5z=s-<}h6rUw2m9kj*d3huej~JuS2jIi*P7_4l;>U zoe%(Jfm3MX?z2~|zDaS4pqJC_#^kPAS;6ZFf|<8zrlIG+K#SO|b)F_4on`R{lZt?; zJ{peg-J@{)S+i9q;RvWA4YU*y(T$cQGLwIgfHY{i>%zN&`!Uu#@%RN3kGd`%@%S?0 z@pL4VZO3>wk22<{o1s!TsDvRAdmMVm%Ekxn+9{@q!>&9y7_-VB^9SqYyJzl>#1=kL zozf#Sryc-oyyoQ4ZCN?_*(49#PQOT!a&!sz(*FoZ`got6z*S}&ha{^Thvc{LGdS3J6@UdM*Tx&|e-D-sBes#`l}KsN-KJus3ftowj=-FTwT<0eZQH z;}4@I4Sn6$G?JRyJF_>hFVC&Fn>5)C)m^s>YDbG=8Y>O^*x)p?OlmemFE;}v%1p#D zEQi`)9cIXyVWi@ZF)Op)9^1mX{6w4^kr{O&HE?G}`bt+uO6j7NWV?jnGy&#hHg}2R z9ouxu37pqsZzO)LZaEOAQjFESl7vXcHgN(EnS~?UW3C)Rua^WlE12_RmML?7#wffY zRk~y5EA%0~NN1-0urRr21Jl2PD{KJ%p$))4)Bt>&2H@KmfY-y`&DjB18HT00&5$hR z-n{-blvQx~Mc__oiGa^R{!kY3%$VwAY;#5MMaE`k29rO^$h^r$Xo_KK(6iEH-o>v# zw2P%Z+fSx4Whx`n$i~(xo9E$mGa9%S{+)NH^9~=lrnSJ8XU%I3JO{;>wP>O?;4=h4 zohE8H;mfE=i9Ju#Yu9qjq4Z?0M$R)hFZuM-$~|f^0lQw}qfDXcrqFWh@MJ2svAndz ztGR{jt*bZco9KvFr|Bi+kjmlxCVJob$5q*h-XgLKDk!WkTOYn(=veQTmEOFB25#TP zxlM^{MQuh2V;XnvKN`0fvW;7vqqJzb-TGg)%`MXY>uIgEC(lI}@}#$Lw1h^@zV8<^ z(@vFcocVOC7z3b%de&O=;D{QLg2(sV9>WO z;~M23Y$yj0kJ4e`Pn$lZ|5<1H{mW9g7e*WM_jYYa8Lq$DuKWTk?e-Pi2C@#}EK$1j z@tMDdW7IfG2Yz@{pwf(ppWq*DRYq=FO{wJO4+k%T>8Pq&bB*?*{du<4vOc(F95-f3PxnNCZX4ZAYL;d*&~j zF7hGSt3HEo^KFljj%hn-kV-mGsJ6^WfV$b1x?+YtzzUw=t-^sgZa$fl6!*wKDXzTU zqhi|u*J*mNFudazEFPfvvz+4%G$w4*jy_w<;rX9raYx#=b`eNh%Ue+EG$=f3!D=n zl?M#?g`v6Jw4oqeTF=RN=L#-U{{}fKYyR#ne3W8(Xx1VFV}=7`4MpTPOKH*_14bj! zMFL~(PXS|b9vFQ@z}CBU=--?jsaXxn?Nd8M zq(lEDD)Z0Evu~rk9aWaT=??whQ*a!fj+Rn{^K^6!fR?Y(V4n4}96puclz){`+)lIW z!qctM&OxSrieReB2vg|o(*Absw3$OY)aQ2aDwR3bW}{r!_p3*;H);=FM3j^z1kMhp z_>W5Q2mFj6FQ}M6uY48s%7=8yqc;VYuacSN(qS2*wOMleerFjA@oVWX`X#dMt zlnt+M#M(E#%Fni2d0_2bVuky1%J8C>AEu(Z(UCGdDE={h>K^(1<)o|iFV`D5x69n! zEjrP6V_$->wl0#24c!f7V!eOI>*_-IS-ah|fZz)_;1byv97fOn_?o zkAiU8+JCbDG#ME8Ixx0VM1HfB7WJPNqSk+|`Uzk(=YcWM^&bV{<9Cr^dtQc+&%u*| zs9n2=TL1Yq`8)QX7W=ez2xY1NC=6?qC%^wp?c9HK+jn07`DvxRWE6dIn-j~-_5SuK zQIumS-8n?P*PfnY;&= zt!F_S8b(8h(HWGIk5Q!^;do{?(FHVtS;#I%vGB+rYdgx~kpyqp3ASf6r&rAJpcAl5Ifp0EpLmYeyh%Of+FZd72>%*53 zShOiqJIpFvp&)$ezsXRNmtllus8bMbB*Q%qbSBsFUCH(88C;Iki3mtNF4v>pX%xf8 z|I1GJ$qLYandjXm?ht(`d4qC7kJ-`+%9e;b`=OlBDerip}D zHCA*oPc|o*|1p&M_e}3FC(tpSNDMM3Sa^_Rn#~rDJ|;z%ZZvy8?N$(<#Env$2khZo9gKJ=B_1`S>fgc z+!S0j-@%8^UvH!Pt~Mj1A;1qm_bi^&iMEEiXd>2;`p~r zp?fhl-5_do5cQ$7e2A2Gq=Tr0=zKx6?iR|Mkyl|KtI&?8heK51?7R#mmcee;3HPl= zj4gj(3Jp6=Vyq+HO^m$-Gfbj1iLI;{V>z&!=Xcu07>>rXV$A805nA!hIWg9sC@Du0 zL}Kg|qA7pWr!6S1uwd+P3kHAOf}@Tm2!HXa#Mtxq<-}Oa54)SY3Bqt=*hP#LcAC3I zB50RT-(l|dElLmHJ}x_VJL*E7Q^D}ZkZvRI)BTw&^|?D$w?r0wl|+d+E>iujq9*Bz ziLoa+46>)IE*;Ev`ri{(V+N+Z^q=LJ+pk=l@KT@%>#_BeO``6&(^X^DpX^Q!wuq|AhS)~O?FiPizZ+vE8%sD@ zn)X|8CXkNbpT^$XubBpjGJ~Sx;)gG&E?~#Lb$n(Fit)M`yu!%wWpw1Sk!DdRgG}}@ zMiVg6WxyX{2}`C}P&bKy%lB9sCM;oDnF98wELgD!lBBqHg82`);LbiZ_RG}iJZi|k z>Uq|muY3I}wO6}uRlfTkmKk|w4buS-* z&apDq>@J`v-|~+3PpTMpw|du~2akapfsfuoP_ecbjM^z6z*jvELTc3DWDJN+EtZVo zAmrS(Blp!XkkrtNj$=F-?{h+uy`O!hMTpJQ5G07*$%=tvGG`bL?LFFpH@B|~u z8UC0Owe4$tUntnwN3jct(T=vLrT4j(HsxA+-It@5HgWq=(RX?JAGH)y)pOVM(9)Sp zI<$2B|D>h8JGIm`QY;u$w%ERWTcY%WFr68CuQ%_LVqxx2t>DCLMdqSU^eWF(4Bb~z z+UQ;1M%$BB51?D(Sb;dpx|WbM`XG>$8PrEeD)nx7$dFW{PLznPGgOU+DbD*6s5)3^ znncXdH2R-m2y|>JvNM+0vN?zy0(Dc^8CDL@xV;0q&PoPL#2D1$7z1w{Pje@xSPnyd zF^2f917m>S98=)xdg!UHw+5BVr4vZ(Yur~!r>$I`D6L%T%}X($MlwnA!bt)SMJ>Wz zh&NB(De>&~y?YUWc$dQ(+TYQwZ2>CoF=Pt&ym(bXqWZbLjFSG~)Ad;}_$NJl-EK%d zcABzmDtdFnU0@zhe5*PZ^JQ1eExhawhz`Y^uPmF24(00z;d2maZ#3WhpEgk z$ev+OPA!JDszlhPqLK&*v%60F>tsv0uJyEX^G(K$*~u*&{Wn1xNl}SCyczmWC$Sjj zj{8a6#ZbN$dUD%QlQ*mxY07%HFk{bFJ7OT26EKWKy9@<6niOHOw{nLY~c zQ-09KD@xX=a*P+ed6y8`c@Wgl!}&a*TbDT1-l+0G=+;xU!BP5<%2Em5yc4?5_i^%J zIC|11hFEmW1HMV*9<2%(81LCAi)}qb7b*N4`6VV8`i&m#t0Bqx~$1y0HpvI4R0gq#PHQ_; z2P`1q>DTsD{6l*>>PH0O!7ph}GKpxkwCa9NV$0(bTdtx_gU=x|UL$Df2`VTUezpZi zz23;xS_^NMV_^1wNMou2UXHcwSOd)B4Z^xr`vWQe8TNK@^_Pr4DyLAf&8YE@<$kV) zbE^wdYZtMf^Vu?I zPRic`we5$27=;Tj{$q-++~dv8nsha`x+f#{TaHw(1_A z`S)b$=F2~wjNR*xS-@^5Pcz>{tDY|1;LX!WYwYn$Z5Kv~U(P1}!1e&P>}&u#Rey#d zWU|`Z7ywlCBSj~*g0U~r6_dVM-beRz2cv#O8dq(=Ay4NRpy(2i%Fy^r==@l8X-2{? znoBAv4>`)?g4ZVCQ25)tAkg~`n#bWh8nbLFI)XRhMQ{fLP6ld>vTSFo=;iek z$u3sA{?S>B`SoRdf*Yx&!AT!Q6!L&M4ZrNHF)3ZHm~M^!>8oO)QCAD3VECmL4E~D+ zMGXY-`kQnVhVikd@yJZQtzKCN{6J4Stf3whjOqRs`SCEHv}sS4jKKy6lnNYQO1PKNlV#7 z(<&4*0p{hii6Jfgnz=;Sz?-2rY^mAPG82D(W`RA`O|zhOx& zGY*kszzP=w%pv^&VyT5P9!!=#ICBTn z1ASTHe9nHO@Jo!&-+HV(GqKkt-nTYaX1?3Iyn0g%A}AM0t$M##KYJ3H)UAb=c$Yq! z*t1UiGeq}Z;?20Pz}xuPf-6$q#ztb#^Y;WyY2SNae)$q_?-uXNyS?*wdglYp-@GYr zc>ONDwb1K##jP^X_z@+NgNPYvBulr>yl>~Y4_?-1DJxq7wjNQT?PXQ?TT+-z&={}! z7RlVe?gU4z{R7Cel=O&%5&f8P_a9lFnL3o~|Bl%pO7s;aL>=;rI+P&tanI9Y0%qFh z7k-Y9XX~Ndn^JfL8B`zic!Dw>haQjbTSrO#Dr&J^fihFLJ+|MM%uXa#`tZzc?EjYU zdjOoRv2r=-v%Y*^lSaoS%SrL(Jz^7KM&rP`Ve2z5Bh}vC^LSu4TvlYR_^7eMgIQK+ z9n5qQZA;y8Ak-|2B=*4H!K^7b9NyapGe~5a$X+-A=2e#!-57cOYgjKO}kZ z$Ml76rR5@9y8w|U?8JhG#p|r?N&i7Qdl+3$o6MYP?oaJ@T7E`7p5}5ycTFuz-Ik?^n44 z+Z5g5qjhr-8*RzVSzUduazc_*vt&gfT>RG4RLjHOZd|S|TIY_?>U>19>WZO5*uJ+R z;t_nVCWBjs>Nqpg#hNFQ!A(PTKAM9%8rx*%y^CZ1Gb*&;J=3I2rNgz zl3NfjmH5X#cR30GBrWQQfamHK+H!GYd$Y_i|C6eG-$r-bN7{bQ&0azMso2F!$7ilM zsvr@cwLB3_K+kY(85Lu(`ME@VPb$;*oMh&Ey^_`IdMg#<%KPZ{xJvDRaD`vkj7?HA zU4MNN^YVu=>p7QdxSDtpbLt&e9*G`Q1)sZ|>2)j-pQ(apQo~1sF(;hv&zbw4?VcJm zSDv#UD1tG~*|Gs(T}6;;F60>Xxd<)!p4tKc%=Zoeh%^1ZAD`Kbk(vRL$b7*7i3b%6 z-pc`#2(BuV>LT_w;9LbbC;Ek_?mSSK07Kxg(GJAUTIJ3AE$rPo+<9XaaT92`I=k2S z!#(ZiqdO6I&td;}#66`O;{KZY^N71}F8E3W4GR<)iLXrjt27>#L#w0l>ZtJ5uC8&3 zZb<#54y5h@rhk>9fN9C_})!nE%x*`7s9m(G#WdAA$jLPQ# z11`q_uHMxGu}3DT784wgc~HazQ@Sug-Jg13g0~0!dzs)N>d$9_5}1YFKTv`7{y)ka z>Axxfx-dah{%TjRl}m_s;~!I8Ut_0=jx?U3FIvOz_4b z|1KurWCr8=lhmKb1h-CcOfbzc0p2zLI7CsC1mio5^zSgPVtAYz>6;koo7^P-Asgw_ ze3l#OyD&ji{%Tj?jF(hAbG<#OQDJ0n~a%|0a$8>1g!d%F4ry z{tsnG|C20pB6FUN{z!sV9Y_DQ2Ar5+Fa2O`2N3jd+Zd4ub#{@k>_MtO@ z0heQf4j}HI35Jy9hJzVm0%?77{#$>^a)E8X`7N}x(`4{vrtkkACU7(Tx2Qjl2^NNq z33e%P!@(*=KkPX{RQ_sL-Hoav%LE-}{~aYk&yaoS!+`;p8x9!1TPf-dzm06sAHX$dkf`x6iFaYq!AOe{ckWqRQ_sL-Hoc_{g|Lf$Ubx? zFyL}b;Obp15ckgnAGd?w#ssswNP^pc-vbl0u-5gtL{eCk!6COCWbvi_My)S47l8! zpaY2epA+=$lVgIe{#Spvq6a3}#x;rmPDyZ#pw450K6bvQ!H(HDCTRZOV1lUp)vmf5 zRmb}=L64Aq=uBY1<(QxYi2G-P1F=ob`dif!q21r=qTlww0gsqz%m0o3xAW4#%?eKe z>HkhKaF(FX69bDy@}NO}L!+@k9z#F$u^=jcwX5z%)$x8z&?96Y zIujUhIVR`;;{KVS09h6>L04z0*Z;~f!4pg_JFO2lE8+iWC#bU|aI?b6f;x{0mOCa0 zE%;-L0&nHsMEo)KggR=9_M((|5KYl3>0Pu zKe?3e=wSbC{Nz$D+C|EZ{Nz%;$kFuHYji$63(q)w)wIswCzmo7Q>WG{esU=z+DJK% zpIpii?!Re0Q&;0;%Q=MY?%&zA~*)U56mYr~5e<|p3D>L#9H=0D9PPeZW;4j0l&itZ!CLx*#o ziZPQntT7qG0H$QXACv>i6n~2doeZ4$06^wnGF=T z{@GsMb zl~iHt)A!N2YSlBF>>$7=;g_9P-y^;s*$BriX#(?M#fopK5%z%hU`Xh%2L(8Au3kR~ zL>x17s1(N?76hHEv2Ko}F7B7jrp6w+>y)83OVTHaKdnoh0eVA}h z7qelb@gx~a`t~9^^~p+a*oI)hFDOBef2MqyajY*o9zYCVuYs>URK2Mp7+e))d#WNB zZt+TQ%Jxd{ydAG&@UfvHwu$hVHi~?SGA?|Ej&v^&HmNf`K%K|ltD-meB7I9mCeh0~ zuerLhH#v4!1fvdB*_8K21$Vzk_3WmoSHu**jDw#_Z|dKIvG2|>P}heC02DoI3pc4D z^7Qsieui(OqGK@6Ie(pBD|>4mr*6WY4na_}wZczx2w_Syq^w-ySIVmD+`H+h2{QV1 zDg9=2Xoz!NlP##5VnO{>y{f;+9_%_tzwS~cWn|z@?kg-XJ8zEJ&C#p+`TTnGAH1!g zp!%I&TqO%RtKaE8>jbP&GWDu4%TS5TtTo}cU%OEDDVh4|ydmZ8@B&g=2OuD;-@*QE z0ufqO{KaF`bL@L%uWRm55Int(Le2MS_(?ub`dnpfC8pvq0 zO@WhLDMd|o(HiTmgq3Ro(Y>TE$61Cy%!wEE-_rHoLhVwMK4AASHTA+R@M=l%k+d5= z+pIn(@ie$U3Er@0VOqwF_0J)Ao+EkqI(-Dfc*Q*{UoBHUR z*-oX`+r;+GbfYcs>hP`pmUYi?N)9)HX{^ZxJiR#b<10%vTH_6S7-udtctAaGpb5+j zun3duC>(0H82(F&XX?>^4M8-YjPgz1f+gVvxNa&QX1Y#W^t(Vk zBaJcFG93vEOBcy9Ygg7BtlioPBQ7{eHJKsTZmhGu-TbtBc&nS;+uc8LbMkSlgRqd( zs29u}qJj9fA20!MDXFS-Q>v=+fn;!_CJD*lhnjSxgVmZjB!hXf;7SH-Wto)@ekcwnOoHL%i~lWc8n>&{qn*n%@v4tM?Mq&QrPnCN^Q^>;8U(J7`f6d!>BK zKhjlymo+Xe;dmY+tWMN=*B9$c{~xJ%$Q{0vF$wu1KTpa$lf2n z=Ls&pJ{P<@U$rqNN|phuLzRr_pQ=g(w_HAiDiXm>mrqlONw56kq~dSG0wqTfzfo~) z4)uH}k>+%8_bhz_W9?uSGfUrb%IgO4I*yO&EHX}<`ub>)@L68mtQ7D3RvwQeY~j1V zDaWO+kHG*dUHXPMZx&>L8hs2R12}uHjJ5Wx%+$~I0%A3}GV{%S<)v?4IVoNBL?YgX zHSfb%$(>@2;22qO_bGx0mqQwaCT1#Xuzcq7lT@5*ARba1O7wFWfC#7!03%V7`oT&2 zHu|<Hl!{`n-~qg>c@L*@Dr z78Pj&a|6JMrUfKHUV#D@1!9V+GoG)4yDt<6!krNOKQ9z!fbAvz-cH2szEDU@MPV}j zUYh@d|GYrCpw$tSVKj%{7pN3{sgm?HsC%5h=49;d3sj1DAsxkCNy(V3Qm2-mL{Z19 zoTJGP4@C4YhyG`rq#JumYlTT~UQ#^ZJLowFW^HlE!xyG&Ssx3GKhDZr`iWkhm?Xy^ z7r-B{U-?z~6G94LAB9blu}1-YTROP?l&C2icym8ZGj<{VZaOyKxF{XF$%XMv>HTp` zzldX+(porRMEX`Yb^_J6IdL<#i?|uay#GTNH%lP}LS_kp6E||6ZQ=%Y?oQlLChl;Djh59OzFc;`c1j&3SVRmFC%)8<( zNtl~@k}&U%wnIUCy?K!zMQcT1t>6%CM(Bw-pY>LiTf zNElTPsssuWMj*CJ7%^Q|!U!{TrksQk(j;LNwo4f0%9k)IMPGI&Vf1xY!nBu^l`tdr zBVk532_sDAB#c3i+iBObRTk6>8MJJ%1;!tdgz3N}A5_9bP02|ZH8(3^1imDUh3_X} zB96HvnUgSGjZlvKQBM+P zDq-|-X9=T%BMBoD4oR3@gdbeO=&P)R(U;vxn91)eVW#9s7;8mft>A=?n)HDsi~x!x zjNtj_CCnrzVLo@({v}K!P&o-R5D|`OSuRxi^-Br5moRhHj!qQvt!BA~9VLvACJCdkUBW0=zJyUJJxLgS zos}@{C1oYdr2R;kNlwBDlQ{`v&<9Ht(6YG})C(E3Y`O);ACZLVz$713!bDBUNf2DR*kLi`@g?i*E+tYbD8NXG90_d%7+2_8L*NpnR_np=2^k9&M6~RR% zQ@rCV_?dSHpEl57)FyU*w}W%X{zu72*z!f@BWxEnqG8~wT-b)yJ}3EWly;Phwh z-Zy)!>R794yQ`|Co2rx+RW*?4BdY4xDat!3ud1aLcu)xs?zyTlR@Hm1sv+G}rL?H3 zVMIe!b*ieW$g663g@5t#@Q!cv*s7FOHRK0IkP+QfrL?H3(L~=R3!(k4rOgrDK;2YfN+?%Sptc@XyYrOh-3lD&&?0N?41F6!N zVTCqtp&VtPftUm=(dZQkrq(CQa)P3(72K^iIzh3cT~Jg6rw=jLIG>-Z$;c8FnW{P$ z?aE~j;IOAn+erS3T?EPCPwJUzx51MPY?me-{8oY^9sJ1YT7DvtLC4-{J)A?AhvRF& zI(MRat*p41n!F&{Q2jPB?Yma^8%J(k_sS7#h!>Q{c5T^f2e)fOIfBqp*ipQ|vjARs zS&(T6`3nkdPA|_;hS;VGzh+;z=rRB%O2|7-OpAT|W91ca)5IhpAS>uD- zFDU~eZ&>U2;O5g%kKK9*f3aq6!EFCCY017AA+ zD0s--_2z_IvouziFjlKPWxJ|=bS3it{?dpj+P?QHgi7{`zG9{CUCi31J}-qar+K| zcl~dT&`oJvNXX&x9(0cXunV15EZ}{X;*P+~KTGKVtMq-Qe=m&@MB%sp7x4pUG!wa@ zu6B_XVDlXLqt;j4%4b2nD#!hbK!HI7TZE9b|H#DP&aaDW;Sren#fib)Ul-EY$K!GD z#Mpm+UFa0Qq~kA%Ww;hWSn5Ai{Sl;+?F}&W^2FGkmNgyU1GjubW%7zMxQ?AZNdz{! z^BXFi7kl`7&(dPId_z@;wI;;wwm3JirQ>_kG5Xk)ORt6i{q#$%C+f#|>A@ZuYId11 z)a){jTPEdI$1{duQ^9J@ zMiRkVO-Aq@^4UcEHIsr){P~$F;w;`Hw-tOcd&QiB4Av32qJJUk|ejUN? znzKxRCxY9*D??AXnp=6lD=SMlT0SE>NWPz>D)>3QQV2V{*}^A^pS8%kF45J_9aW3y?GVJs@7t>8mpb12fs|}W4$2?wSI}g9Ula^;aS&ugqhHm$2M0^RB;$OdiF!SQnCs zqrTsYSOK{=J7NMMM-AudR121=c4V6xi|>BK%~!>XPPRRTSo*545y`d*vD?2YBstmk zv}7B8cZ7&TU?!mv5%s#5VnXar%jrbhB`UHz(RPUnk3<{eA>uA}%O$Eoyn|@7cviH% zz%JgDOUIWH^iv?l(a(N_+nEp~QTF%4gfyU|jJMBWHh0Iwbs@y{8V zD++q$G0}NqAn*EW6KiidCVC~uM7VG?1Y$noc0pV(7+EC7(%d#-L7ki4t%#;~ZUM(| zdt5TE4aLewnBMilR19&ZYo?uGlU+&Weg)g%#{aJ&*p^7JCFA$m+-}KSgUjh9Vl@UO zZ~>kPHU=O;EWrk=FCcH!OC;E2yc`L(5&-%a1e;3A3N{s$FW8vOO)}2>pdyWV++_33 zfGqohlVxfsyl8E3YN+h!+AhofKXYdT9#wJ0{lF#?5xPkQMGG~p*iwTE0*VbF(V)Aq z3#g!=s90=EEp06#MMOnHD7TkI+7d-8Ep4^+ZM9+x8YzK*C;_bke&I(I6?G$4@e2?w zd4K;icQ@I5=tkSVFV90}cJADnGavsm=bkxp=KJuDc=0>pWuyEB14I^kSFEK2L=_q~ zhF5)~{Z-Bj9?i-c-~bErg^s91F5<6@U+;x%xwOM+pC*BpS0U84SKnTx5n z8gVhp8E`QbnZd>2mfumqjX79~i=`%txR~M%Tnz4Yek>dAB_SXF6?!o)w$;P2Ep-`e zOC1E;YBW_&PsEzBEnD}(^JW{{O3fFRx&dm6_B#E9y3D3ag#n%e#SGMX{=b--OcKmS zh1?t)6`E^vEmr(!tQa>OHjrvdq5f!HbZjdfvJ~nY;HdN@8g*jY1mAYw8cgsz&vFdw z=oT2(@*l%LG9ws1yu^M~WHc4zU?;wedre|PSi_#2h-lsCGJ#;TVX&XsmR+dR( z+i|s*A&Ko!LUT#XHRpB_E{4?&DkO%D(>Ni6A#bH*FYWFJvRA|IzGN=F18aI#GMC8VjVHpQB>v&-+VGHN@-)9h2USBe>Fcb^%i2EdF&c9S)+ff=2jAy}#LPOwsI zBv^?u309(tDW|r!C|Hfpfu8YkwZbX-{#KOYJ>B{=lAw@^Lz_*EG8qctr;m!P*c6`k z9a}thH%LybWJxuFFHAKd#cWpY)~`f=B&U@HA{c3_c%_XS!V)dDM5H8pX1x$k%o0DU z&L_zUSHZVqrBdiBwTlak;{J-WHH+kuknclwtIt-$iSvDS+u7<2J`C0K-StJNPU4xq z2+@MB2%hg{M9)F4pOVBeF~bH26@Phz2qS`p{v~#SkPHbX(|t? zH82{JhtvuQLkf|LOdcBF5wgd3NY93T>DkZ`U+}^1ee+Ws5B|jQk&z92#6Q~%moNK) z=3j+r$WUFg?4fY>7n%IxFEODeeD||)f4&5ps9z;%2Z3lJBNX-LOFUxhq%dB*E9x(| z?>cnfCg?E9YSd>q($iGnzIc8`%d3~r8kos%jhR?E{BpbdPhvG}yZiQWR~C9BWlU7L zoOjuK3(u2|8FH=U;tCZBcw7ZG^SsJlqy zoQaTxmg}5lg!&?jncdJwnjl9JUlo&Ls*&9g>W#DXj;0vzpQZP3|7mtZ@z4{I;%Cin zXm=MnqL>G3mE!D%j!rWc*$wUPW_Cj#IJ+U~X{TD zL%C5VJ_$+i1$sm+i-s^wt8{%+slEXy>qhx^7Km6>GzCT|Vh=Y1RsgscV7k>zElE7% zG4c)O6>HNy1$8TnQ8Ri^b75-fy0_&6yezc8bQPnPQ@T}N%Hxw55u}-`jk_c+r@E+2 z<0>>YsJPZN8;+U~-*ihSlY{#K-Iy&Ey;xxkBoQGjpSI7iXl|(+LK69avSQ)Q=QE8) z>wUjc*#M$Slb3M|Y>L6P`si1RojIx4djPfYC`^Vl?@&xU&k}x-^#l9`q`f{Obn8Xd zKOxMD$P+=ISNz&=f5mv^Vg$bw@$AF4OV5%1ZR3MtbgSI+dfg@lmL9`Hw~p8AniC^K zw^`g3#jSld9flWZI%rb$lx;|Z1(9Y#q#zbbSkINb?Ua`?igImKA7#vjGZSNuODQjh zB~Ej*A@5kthHW+*3=vqcF$|mGFe_CsedcC{0g-R7BZ8*X(3E}5k|We!-bjvMUrJ3G z!M>EjXz_#5;(tRjyH5>Mq;EmpFTRmxIYZe~$aFAv_7#rhJkN1WTbIfQUwik?oceIZ zF3Jo9mw*YqI$0@ZxgWt|F~YZ3%)dcADCXZ3@Sv?R|EErkbhr2nil-%VXY2pe@u2Sc z@nT#}-tG8PqQ+d^uB;`X*W=h=^6iBLzDP$xyhJ`-%9NVVuW0$z1K~jBOyg+zzllja z$D^g}=H76M30zkq;N$u}<@bIEC}4b47%QYoksnT#iHA$8A((v5#4*vSFT6+3SzSl+ z6(X|uDzk4nxfu0V8oi;~5q|g5QT~L|p;6cnLd~D!upY4?;(t@TF&i4`4?08BZMZ+- zjG^$lyPY0=L#+5Y8LWMnt2c{zaG#|($)b za^7FQPE+v^>)OX;dX#~34X;+i0lZqH*=0eOQ)2#G^}(6_{k zKhO=(A!9fPi|ZU@D;W!Kr>eTssY)G>L8)CjK)1UyHuQWy?t5@|4jjwyK#fY4o>3RM zN;RLbku6R*npRq8dlh}i6;G6PX1dr#z4{c!wW(2+`-Su}(doyjZ4np?583NhqnM;> z6embfSC8^%jT;C&ULWO88#k25Uf{ofRH)~;QK3QO;>E8aVen|YDPg+zg}twehW;Hbc{e=gQUnwz zRU3m#Z8H{&GHIks6A>H6*V&cR;U6>_lrF?)b{Rd|Xc&k4)4~Ha))0)sYfN}3k*9`- zI)z7ux`(61oAtFtwLlIzCyu{XoC4D@8`4mENc+@XPPGBlQ)iZ5Y0xAE5}tHRAGl*hHX!- zdh48=x_25VR&`8$tX95mNOuf0mwUwT=+50SLT3VzJrV;JfGk59Xy{G zW4!u&(2RKKfuQc>Fe(jtBxnnjZs!G8Y0Ismc1+xxG);8e#EZ}|o4`4H?lGYCx|!9q zdc(iYVF(L{ag3;7>~`$#H-(SiIP8)}bnW95^W0&Ggg!)zbpN6l!^3x%^&J=sZDYRQ=+4d!>PvQ4DU4_{ z6*^lDdB4R-!{%<>|FvpY`(-a)(5Vot)B^FsPKVU}LUR%VXh3-G4YZ~aU9JI{G}V3{ znhKiIq#j9=#40IWMd8?FK%2henKrJQQlNC?-0QkXi*=mEx@?G8L~O`Fbse zw~eS+Cp{t75Dadrd&hS_l4$q7yGkHkBV&_=i5@T&Hy`c|=EHV+;CU~;!;9}E##J*m zLx$|hEBxcm9Bx@XcOt`6zutQaC#{&(hZmlQ*%Q*LSXSMQMG{0zXVcun>RFdL0jMud zQvw0#nm?ETbX2piu$>o+4^}$m^Dvapag@(<)YEbQ7Ii<}x;;3=p@R@wm3-6XMBR28 zhd9(OWZ-HI47 z9+%|90Rp>Ytt|8`lD|7bfZbhq-iy45Af!4Y-eX(`t^yHoR1th#)!KGBpD4NtD6~?P zbLaM%nNs=)f5PwxLi%tFJz*(3+dI+cW6hO7^wBPFgKlS}KWkJ(Qvfr9QF>`qqNj;J z+NLjl#Xj>N%Gc|?xx%<70?;eGZ>k*=zIX8Mo3?54P^Z*22|r;(GsU3O6SH#KC4N$0 z@>F=i5lB-8W6bgy@K-UtSX{??F1 zb&0hN1sM52Y|V8y-&`V>X`?Hc-IdnJL<3U$o+A^T3Ig#bp6GHK%e9J@HirhddzqKI z@w{E_je7s&I64}ft7g+op!+t;ovYMj;--a(ho)Q=iHBzKr}!=H!22s^>bZvFLac!P zsmS4!Ff%AYZ@tZbH^zXR5@y=)Qp(Jr6s~6Hy}}8jO|1QamDW@?nsRP#BvfggQSz|c zJD}OF4J(5yrqv0kV)&am*nzloxs7&JcN3TB$eLiZ=~~wbl{TsU)%hZx=^!!i>6pL3 zje7X*$0DI=`H@&?4ATL2V zBs3NAylq0$MORB`I;~})Df!#~pwRUEt4#$B7;nqsg*bV(LQ@6BHWQk(ke5C}~MQP-U&`~`wB1_veT@-k(|N?S^u)2? z?4_sAPFq`qDA9NjG-fA7%^hM(NBHgqL#(r~9kvK;CP)dzhQJRIsR;k)GS!5>xw{5^ zW}#}zkla0ae_v`+)dS}-Y>lO=lNw1?Ll0-3IH{_+`|^(_I;m=WgH-i(%0#VH(jZl( zjWrjXn`Wi4Nf%ORuTWN60P7v?*-OM`|P2~RS|b$mgQrE;|_!@LKPnmD#*Le#KOQbtQUCTl9~U4n(T znXR%)V(1?$tt@SoIW1DC!jW*hXlI)mz356&%D(XVSn(C9W~cPjHkr;`$NafJ(b;&; zCrgxKYfNirN|eH^qLC=Yrpi=zPTRK0rs};>iQGRr)1>!e#Sg%YCe(IP0lj#DEJccw zrHY6+Q3_>JZGl~-@{h0`g2fch2+L4OBxW7lE^(e&TV8@N&fvCz{jhHeN} zs>P_*4-sW(Y!4AtXe`tNb~m@PxWxVv`=b{iZTv6^1X5xL+hjN9rz|Yr!3TEA!qNty zG?cQiTsd0h$-=U7qGI04aV{825T5rf#xCwX$>6YT*Ktn}SDT2iV2IEo_TpDC1PDyu z2!_GNhz&R%YK($$j3&zBw4p*}BeJO`T4eQNPHev_)jrHA*+l=5W)jyVA{M=d$NB3%b{SSi!E-a9R4F`qTBCQE3@3wf(%WTN7hR_E=s5J&t1X_| zm)~V_^cf~cAFC2FL0#q`VeGJh{UW0^IJC| zu4s8eSeFD7UK7E(1!WW?BJ+u@D6ZY)2;cn{MnpDYFpjhklWH`MOezf;Q`Pp)(i+ED zVS0)@ii!CrNnC%C2kkbgsowmtBre--Yp$l6zT`hBab5QOe?{UtlwzAnTz?po5`I2O z;+jD&)I*mjb8|ISN0M8UxPJXy)3zXS^-WjWMu}_pIY!4b1cAi0kZ3D)JBh0Y1Ss|& zS5y51h_zYb%CC#IUE&hJQxccJk|A-e?klW+KA|hW?r&P%QYx!ktiZG??UPkjbNhY{ z^4cbM<=1tB%xvW@kp(+hFvPk{a#z4;f|SsLA?i63y)1xp*ZR)%gp4q0}jEl7f zTYF<`S!pjPJ>uUa35+ehK)Hp7hu=t7hlG~HbACy`81e6unocT4X|{L}Pjos|gW%ui z)Ln_mBsK_QsJiyy1}<8De*uG!AST1%i1{n2AjY>g*-O1gOF2k`CaWy;jrGxcUP(P@Rd2Yo-Dz-%YERy)bx z;K6F8IKzTWha|OKqUdN!9(C>l*nE_W0}NIWzu4BZUby1B+Sb!bTD;UX(6!9JOAR0H zFE~<^AoPs%=N>6SVxhNKBh?8KD{-cHKLf$yu9kD4`R8$*#UO&oRaPT8>`$Gr111N; zK1Sc)W;9cSfJ9t(RKNPN(5BQb--ohh@Tzyy-CW5_tcF;4-Vjyp$clN-fYP^|D5i?h z&WL!X%_0qw6N5)$ZySsQ1JzM`lX{rwbQUTfm5wNOB}Lw@#>Bl>QBcj$d~xE|TWF?c zsKFAq;-Ncds2}3a%KbtSq6xq=ZFtE#DR?gHq^nd4kIa%u)=5_dtMGF=tli2 zb^-a~*^(Z0LlDELRt@)8A88$d8jF5@dL*;JhMwQULvBVOFuIw64YFTpASvFe!``7S znoTs)b^%dr8DLEyN3V5Q#yq$X{_#ly*I=HvP2jqE@+Syfc{ltA1+EXbH5F3+BPy=n zQEW4TYru$X1g;L`Lg3mxyhVZQW|CVGdXmRAYYPHbjmr5fDz58z5jrLl1Oiu&*6Vfx z*PUDce-gMleHMXB07(g40#6fx%ed&LZV{?C-c0QirnU&>p0Tj(kWQaV;QAcoeX78v zokCr*3YlXdvn>Kwz*ZIvu`ZLq6)>J41%b=)U36V8`u{-S>h!q;u1`iqZIc#4LotASgwlv9NWZQ#pvvRVusJK}1Qz<1Cw>gu+t6Ziv zEA4%$khNJaLe6kD3#)n6U=`YeBy{B+kb*ww%A{<^*ib`!njb5EnVIKYFU{7EK&|Cm zFCj}^p|=8A>I%IXO>|ixSt`yMx8g0f-0q)9qmSi;&RnH9S*pSMTc&yYFLn2^r(7=? z^}bP`xr2mR-lgh=C*$`M8u!XeVh zLXP!}Oytgs7q3gLqN1LmEsRx7sOw3AwjYZ@CJxyr`k0L|)W;1Q`oK=_i_65|ogUexfcQE*WVb^3hM!HONL5I@t&T z&Bo6SH>D_|9mFewa`diTH96I$?I1RcKJMIXCb+UNk`=$2Fl>SfX-UrF>6FtZL_!tn zEbfDK2P$c_n!t2cfOKP><-5-E8%+wP!55pHl?x`t^h;Zr5C~2NFHH=!h~F~3!shHw zn;?>TM}!u*NrQE!dMH}_k9hHe%_hpg2_|VX3KLC0+)&rApWypp`|#W!F@sDiJ@?y+ zRcxBpk)Jq1)z#j>pz~Wtu3>)`e|QB0u6}Y3y3ZZqG4EiBqhrzqc~eLV_gaU$TzYPO zjeO45khN+=MyH4X=L|72NvczQSAF ze=MiXvEt6L)9zQ^k7#Mlch@baW)y_(qn@{3J_yQgCELk6x(sf+eeQlv^=dar2iuts}m2r=24|xrfV5iut*X$Up9=TkwXv z2|jDyaBGM_abEQCIq2;gyy32(B!)(0CKOM0(`&yVce=FH6#?|^IdcknF!mic*CSkI?(D5IUu5}eaBSiiCWPN33Au@}*&)HVqAOk8ujNkVY@=m@$-%xLAxyMx0 zTgN-jyz(Xuh?o-p*Ow2z_j*33t{f5fZo|Cid3WjAktwx=~{&`StlM*R4@5|)D(y@cGVjxYotsYFY z`0=Q#AR2liRWX-jhjvpBwZ%f~o#xmPL!~ECsU+^e5HYYa+(Cz;q-|n|h?U_qZ2az% zM3rGHXd0-fe}g10sdn-F#1#@47cQU}UXak0`GN^v{tc$tA~OxtkYG8~cPOi{HGW$x zR6|R#GGsNoslmkX23LJxVt9k(IyPs_#L$K??*B$~s8LCAy~ZYn5chmwH%au(jl-UB zzVv^v1$W)MMyT(2HPcFNt&<#0{l@(PH0%ehSjzF_3I21V`mjg#u%-TN&uYZR&!rE-2vyz2Amkh0i5MSDJ}(^btMis_bBwc z-lD((XOyBD!1)O;8gPE75}biu>%a*aVV?mw2hJ04KF}2ZMBrR=?SBq9Q`ZN;DWuh( z2Ao&FX~21uAOKFeqHPAwzt^=5I45Qg92uDC%78W@CvC*h7(C9>qyax>X7bqqgb4@p z`x6ip`&JCu2= z6)&j7@A_30qowX~Rwb68px)%FHJ<}Qag5q^+8|haZc42^W!{t%^VyQCt-H}6wAL*? zFY-~(8`kG;@wv|}K4V#Ye&ZIO1w-7H+;cjwhmVAij2+yr7aj5&4Hf1jw)+*#b9942 znYIj_&N7tGFlaRCgv@0KQ*12V`G6gg{|O)(`^c^oh|KsuvxcD1jAdx-4sUEDgY79+ ze4};foU05(e;>@8#qIy*Xvw4OKZF9bg?WeD6QwiJq&^^rsw?bEY?C|3EU0Y?Nta zkcm@78Tq(dVq>i2qp5$!j){r_w$-ZY@!{#kXqf;V%fz-A$8JLFNBXyRw2F#98tyOd zsCxWCt4{M~&Fil#QTEk!{EGT%v-Q&(>AO6(x)ZPT&JMLzj%+GxMFAVLE~p|1&pVFt z;#}8+PSLd1yISFy^VZ8HmxO-~4n{Asq=xsD?%7ytN zF8ZtQ&T%ZE`VDs2RC~3n$7ycR;p5bJhG1~c z8QzqU{YkmN^2)YPM-cA3z-3&0figxy&z|WII^j%j*6{xE(4(=Em!|%fS)f|b1G>O9 z6$PLXVoh}eg(rU5xS1@JIaB(>m?)h6TQ>b;xSJ&y4#Gq1a4pushA*O6%?9RVK)jEuwKUwiijJ=})zPM4Qi-Sy& z(Dud{dxzTLgkpaEAy>OfY;L9@;u}%-A)jm_XRb` zdxuH!sL5tnM66uG6ZUPE5pctZ{jf9Uz~~EtCn-P?n-vkp$?Md?<}|35Dhr_E$WL{R za@&!gm5Kr*Rg7JP$bdtOE|m2ntpn>HaA;zNtRAURkHNmw))bm1^`WzeTi!I9hASg_ z`r*pRIqd*Vm-LB;UW=7HJN37q+?vEq7Szd=FGhf224@#vYNkg&i!sqYR0R)q#$<|*txz*|>w_4p`aPk8?rnSNttJPx+-b8Y9iD(IaFLADvgh~K(7(rCB zVTE>4OTG00GdBCAve1^)WT`IVZFq5b-fw_{>|xS&0(dhab zdB^?nk?4URl6SSYoOiXf-{Y0NR8GYnEWWxCBN#{!o)@B!h_@C0YRret<{coR-iQ@f zTg_hOZk%CYCdOX|p(B_o;PJ>r|5G{DnNO6|>jJpoF5s**V{+Yy9|!W#R=ovAR4YtF zG_dC)qL}VutZVCQKukRJq1K-<8fLb!#;B2J`u&HT;Z6JgX!$R)tU5$5$8{^tRX#9x zuJT1fPXm~fxykc;qvN4BVkI?Ge@B&SfNu@RjR{VY=tH z20c&rY)ke2NWS=vQq8zMNe#mn7>0si7~bfX#!GXr`rkXj;pM#syp-CkZR%D3HcCnN zra?TAsOU|psJY2hm`OR;eNl7EKZ zyP1>x)x5d}!rAj^>LmYC^OT?sB zuDtCnl&7@7$NLVV<|O~^e^K5v`9E;vQpCKVP~g?A}Pe$=tm7T#$U-s&ps z)GI!ZAL^#1jJlV{w1Bsj+kqE{^TVjsNI&ZXJ~~ZC20o0DZLlBVuu4rQQQN zd9^F$$7g%$Aa!CKFWW)tM1)v)o(%MHSjgG*;1re>ug`P0j7CD$q7GK2{CxP~vdUHj z&i$0Ks9Jg4Qa2kiqHI+2)pyZQ#rM9*0rbVT6RqPjHM+jeW!l-Et@5(R%3$|FR*oGM zk`N8?Sv2S-+s7HiJDbQCdn_U~+G9Al=e*6sQ-4VZsLr73%*8il=(|oUfYx5v;zJ19 z>M_<{-cegd6)(;gCHR8M7pX?$BGD+iem+#h{Cuceh?AUv;R1sCX6tbEXq8#9hjnzQ zVqWz?7xW?s&pTSfp?k15u?oJ2wXR6eG5OF+kpN%bhd&yxB1g%ILHWF2M3iCemtKPh zl?G$Ly+#)Wz0NYHd|Gk|SO=|EztU)6IUx}*ZBx`dEKY14-am?UVv42-uF$5W8$3j( ztCY`WVkunxBV|%Q=p2?Z#zRSU$r;uq{M82Akkr7GDm8}7CY-e((#{uRjI@LctcAX{ zFmt_5#12k*@p8-cNVi-wSo$hbPenpok&x9>EZ2{x2P}N|;(XVTMk9w&xEr~{jLgG= zkvpD?GXjh@_w;_(*BwTG-Uy@4dVdSU5?(mDr;r->rHF&nUj#_4l^3DZZKAgbsqxfp zqI0xT2e*kb=<5-p3b5Ual;2-NR|3q7(-0j?3{47Up`{T_`|T+UJ>w4PnK2o&>JFY7 zP**M!N%Lf{z}|EUs4BTJNJSW6P~KpwfYpwG6x;8Fl?B@5Vmk#=xz=_dU62VXi_d2wyZtegbYC&bh-Y^*s)FMPzPb5XC4WK$aG3czI{|&YN?aBaLRS7Uq zl`JH@GUF!SzFft1_kFs*K3WZGx+H2ud3x#x>D* zP0U#Jn&8#C_=@53^J?R^weh$iP`4LZ09eRPkE6e`mRhVO`Kdun;kEG~&ahKBW?a(T zjrrcA9csVV2(@lyttz5Qhu7eO1%_svwQH4DPE@K|PMKvJIsL447KC-P=YKT;JALZ8 zNQt^VIAK0~_`WJ2g@ZNuR0@cPGEFcFRoVQK%C%GnL}gqb#($bn5{Q)u5Ni zA)B48xmW1LB2;C0yZLxmsVSbG=;YR3juq(n-e*v?cEB&9Xo=&3mML;h0o4n-n0KBd zAJUoziJk#;NgVAm>?FhL(JljkW!Vks3~XW9*3oE^8l#rP*jDFm{Hdu+S&&pWBq|6# zrZ_|KMb1!+=1%MBrSAO1KK%ZPbTW#%Nb!P`RWY}Iovcb_QL_-lTG#I7OQzNhc467i zVs1gbiN4oIzWjzejZknZnVwF{U5lMc-bajt-7eTc5S|yNuQ4Z8&qw)g2|ANWrZ2sa zk%Rt6#Ca7}_M+jG4m>mfCmvr8Pcz3ZGeMEU#!(Kw;Mvf%PgNf{aL2Vlt~>x#>lTQo-9fl57HMJ57H*SBok_C zYOp#6gY^c-QSOKC)I!?epnFP@gW@Sxt}T?o@wesB9bWi#RDXe}Ydah4G?0!|E9~Ji z*Da@sWiHV^by@Q4*K#2hir$I(vzxGdWE6Nccrb5{Mk86f!wFFaDBCfa@Yl5ZoN?5h zLSr|@4ULP@T6}$&H|xWm0%4;(qk}xL&{ja3&W3+&yigvPdRKZ(%T9H8vld)2Se^@u zA7W_HxmAi9^w&l(&L4{xw^I%A5YHC0Qw6B#M5o{X=cjqoZYXly;MT^k zEzhR9Mds`9%Ne|E5=Zsr#KQC5)4=;H)w5A=eb86fvqR5QU=B1Df;&}-GIh8XNunu* ztNVJOzu5K&z87RFU7@1m-uoU#fY2Bh>= zUz=j?I}kB%i9P>?R;$!)U*6JXmT2FId?0j`wub#-650INLDk?%dxlPFbFi&jsy~=Q z!}Lk`tbM7h3m|bemR5rS)35 zbB?eH5qlG2m{H|dx{j+5wQTr~C|+EsQgNNa5uid<2C773se{!|C)7=8)Dc^B;h7fj z^+7-A!ZQ}C2ybxj8L@%H!t-8m3sul3_W5R-7L^?IP$qDkn#GnSPLmh1{Hh>z6zh^o zACbtt2=s`2)FhW!SESIRPp?ZffM`iBQ5%GwGH=?o6G-@$Wi|AWZ^gGcRO?e69NGKg2$rQn z)$UBzK5FQ2n-s(R?uBLEgdr1r8$RP>?s`$wMv;;WcO$}06D4D7m{c>Q>-Vo*BpqD& zhTKT``hp0D>=$mnLg{8_53v)`1Ji=Z7OcG7g6bIrv}ZPfe_l})qno4a^e$l!KiDU+ zvnyME>khH>csPi3eJF@@UKd32Rx1)N7+mGT0V`a1+;SHlbEgaQl#bA0%McIbKn`KRJ8M1+W2Mk}j%sSEhzc?vvwQt%=?3+~0&MKm#V2bY0GU=AzTV4x+-)6Lk=wISHjM(jhAa}QsL zUtryHfY<%Jef$ldP#c~%-}r_N6gx$?>XaM%ZdN~DUZRN~FK4XWwwfaX#_ERcU9Upf zx!lYu=W~`?k`ax&5sfVZ9ix&kWT4QeWRPlez_->!I3ZBH-bO0FsBR;4_<6sjTQCT| zMZrATR0VVBKS5gjGm^IJgq9kl#xUU41rgUEwN34mSx;i-n{aprgM^1P`(o{jqKT=? zH5q#ST8FF>IxrbU$E*Ha&%E0&pVh_NqFycDNi+c`a1`_+rgouaO~!wuuC<*?>u^eT zKVSO9e69>+Qqgc*7e82fy}^OY{Rxa^>z?}g72 z3cv}`g1m2%VcM6%y`&)#6fTY(6eG(fWg)sNPy8ho@lT)Zc9ogy(zJ)~K7C@$pVTWp zsduj2=q+5xhXiW2+&f^cG4G+MzaUq8=yAf!3B_&Lg{jIkYm zrnM_b`n<{-X0O^57)3dHn{lMF&1%mm|5hu2l;UU5uoRXZ+J%ab96cg2?Z|==i7`hO zB|}li3f_Zkzw5vF3oDp@O(xd7N}=1Tk-sOZV0;~8NKHJ)5R6BpnF8zpHts$ zA71$V&otWInvQnfaNzB|Gom;c4pd<_9vT--H4Q???hsejv6EEi9dj+Ex5e}Mo7>S6 zdRdkN*z?zKo|7~E6d~tAVsL=x_`i)ziDgU~!b+WwW_g>?k;QI&kHg7D>V%Gi>fW*n z3p(#y!g*rWpE*Bg>?v})e$Sh$AL0fDT|=(qe-ZDomxqMMylvrx&UagQ@f4Llq4R_G zYkcSXEgaYRE(vjhRE@xPvG$MxZ|F;vi6lq?WC z^&-0RX5!PwhI@%M|BL_dwSulITp3LUXhM%^mhQUpEOo;%7g>rfZXb8daEo6Qbj>bW zQPA}=(kN9!PRT6~`9(bn>`e{1$UAVO9V=eVtXNZpprX|c*@w54lzfjF3cXBH*7+Jz zQgd~UF7QB#&z!J&yP)%*D3cPFF1M+6VXPy2poIy&o%}uJk;NW~p$5wWmOgyArSJ{? z+q5vilD5$9rEcmLB<4Rk#>#0in|4a=mtPsE?l zQRT#ya--C>KTmL_(?b~&*K9X;I*DP=b7W$3d!8iXNm=10#=eP=iL@PhJeIg{N5t#W zGm;p)GvdX1=2IX})28(-kX#w@X7%i5ih#17MX^MMPFBar)hm`r=p=c}8`HB-%$v}2 zV1(FE3aO23EbAH3wN8qR&SR1#-(HAtTE1bT)`Gg%e{D_pCFHc+gddAgzw7zRklBO| z|H~%mh-pI;dN*#u%s*NawzO-l34h@UO}I%JGMiAQC;zKa&=J3eCVVf^XcPu4w_L4>Uzd zS)E);O5ND+S(}eglUfAN-ufyH+YW*zZBFRPXKXVd`8?qHtKX>2JJzcSPUYryZV#}% z6bV!aoDJvtGf51X7)!dq9in}W1&7LmBjkR{sCX~_a!!%Tw0x$nGIO^0GJ$fo_-xDK ztA}mbz-3H&Tef;PJ#E{ve*@l8oyT~=tC(*J0jGI!r_X|&3y!!Pg_5s|=TvB0wOC(r zBH(KFGn5*awaQWz${k?ihPpezdXB>=9}}p#>4Pu1aevAM_B8JIynv@%=bMos-%N@R zOugSXVp`M&HFCD|!1SK7$!9Z6cO`Lk)lm2;8(GoNwus*;j7jnJrQV>QyM5QA-jd>j zjaR#6%-NbYGOw;osvSD&vT}#o;jP?G5T5sCB!Z}?dw(8Rn?qZ9vV|v7Wm-_V#Ih%r z5!l^@Y~vA)dRz*;M>iNY=~!n??D`jT{F5=qUrv5Dr>~V|z6!&L!-9l<(Xo1t5=zA~ zcSIM;CQ(WEi|m*`>ztviZrUaY>Dz7AIRj&U?{fkJ{oa?*?`I9w5s6TehDzF?5 z_3DJ%Y;X#$Pu6TSBS)RR`h?RqOBZ3niN2iKI-gj0-g*j%dk=8%ifcBVd8esZ-QHxN z9j3k`0Qy9pH}b^A(XA28J4=-f;Zl{z3{(~9$HY|S_LV|M}kS6{5@!f;$1NuAO84!rlyah6eMbn0l+o#T`% z&h3VD*fYU+eJj^^!Mjuci1C6o(szyYt&whgK8+V_n?3+u;Kt`M)D*$^a417s`33D% zZ!{#!Mzr#b7lW1W#fAifH9e`ub?vvWH8xPl6WGB1z0KIbA4&S3t@4?|*(1{5nuyG? z$~o(7e6)cU9CYo54STTef1ZP`we%cpKsH$J(A`PK1~}-NapMZ%{adsVLB*lUqq zaK~O1rMFc#3yCOU6pSu*oRp1Yuh!c7#>ZZ5pn<#^pJDsgV<>B8VSV7A9W-F|~Dsrqq^#rV-lVb(>FMl#Cn4z}X3HXVkfK}QB zqX}AO1-&doMIQoK!9W5pA?gEG5Fz^MtU$Q}RxngAI98yj7%u^=K$O4=j4osXWrG!1 zYcp7Z<^~-;PK{5q0=V&=7g*i~R^T$OzCalpv4T#GSb=JR6}TW_O+`*HLaeDAGUdnT zUfBmMUHM{9*-IM{|NB^WT-6uk zJ=1rmHkJCx6#3eN@fI4s;b9ECO83?<9ywPIT)X{**K*b@N3pXi=NsJqK7iEHDh?my zl-|#o6Ers%@ycQ%dGbU~o%t4r$mpbDMR9LSL?^+nL9ggN!|9CMc_D}U0Ak*Yp@&h@ zZpDcAfR4k+ZEzg5Fuxy#s?K|7&&k2!@^!3{E~jjwFB6q#QKByqok%p|UBfY)$_UYz z_cGt;Ly5(?#@mzs#+BnN-I;4R664;}&InWuUqlsg?*PpXFWf?lqxBoGI9gbP5eWk{ zj2-og0!r{Myd&a`-A#-Bt`1>GC*lv=uI{P{&-=cqa}ug4CGTPLsd~9#oPZP5eUazY zJ)Dm@G3H&f1hbnyIMG{%%}qaYsU6V}=c4>U$=!KYf;qr)gVJ$`*v}Z@m zyK+(7do7M@U4PgP(O=YuP08>HxjVu?eICL{*1l>1zfZ`kx{i&3FIrM~Lf&8aB{g>L zj;LQfpH@UMuO+bEVm$gEh=ye4T3M?{_^6#t81t#xA669&RY#N@s$8TX(f>=hFzyD5 zPFWX~<~_be8;a*fQCKj@OmvR(`ooq{Okx=c)HIpEj)}+7Z4kH4^>RB#{fgc83LCvL z`mIRvtJLcsQsYiPVQ0=RcBBgOP9X*%$)Ks5T~oES?3((IYlEiNu(^`=0KYy%Q){SU zd8vSj%GA zBAqTbBZ<@NONQMME-%-#oAfZOB|e)X=Bu9ykEfr|AgG^C4FB{A>!%7~BNAF?z14?_ z@tbStEpDQnkasgN>#07$q+ov`b6R{XKby^_1vkxW#x|Z6n$FCOgCikBAk&#iknFZL zivQPP%hHpijPf-}qW(%Z@VfL_b%fqmH8x$scdyhmU~XvI(ADV~Q|9Fsc-{NbTha1| za!c!L=&{}5IhWeUu^|}-P}t67 z63*}-?mY>#r=Jt|9{oF6>e>Gb_u3Mze~^vb^e=U#CPn@sg~=8 zuq?yRtRFhqH-s$;ETRK>jd%K3V9N%cW3@2Y>Pg9>L$!zJyvamtwT9=}1Zz4L+o`qg zN4&KtwO(<&iS=loG#6a>V!_I!1$XVRzyz5+d81yxPq%OnMla^~IBI=0?5At~>yqz} zDk$K4DIkx;MN~2ROWVGUgBd{&}l% z%!-ol(wJ#U2ahHx78+bgQ05=E|7$FJGAQ{I?`*7CjbN@a{tow-o7dg3#L^t;T+!!h zR{}>k1iKFM63WSnwPrRMBgLK9zoE|$JNC}yKOGpHQ0E^i&D)H#SfOLL_p4z|P3}HwCM0xzbxpMhRncp@TZT$a0_yXY z+H6S7jeYK$c+BQt26epaN;}Xdcl11+pCVD#!6FIp*5w zIeRLU(r((&RQ+a*+qnL}>`?u+kfuj#CMN50IKgIf2I_YA9G+8mD6Mf61tZl!*dPci zy}!4*CQ-44?#mb=Id&io14BBaLguU!&UrN_dBL6Z2NcR@gpGVdd1Y4KKv&+57Rpl^ zz)^WgqSK1$-$N+R?|l0);_+?_V>TvZmurxhC%?bB)%wO*eG^=LyIZJFX+eGah|X1g zzxuQ4``6bS>YL!|t5SVc$&WU*THmEs-)vW34qec+zmyi#mrr!D>MN$cHB+pLhG|w) z=6$;+xv2H3rdd_DxvC0Us7h%;Ro#f*rmAZGlmV7mu3fciS8ej>)+?K9mDRe+#4($; zOKHJ8=tb1#!8ufB^D>sWeK(u~*9`$KK!_DkK$q9_#-bAme`7^Aetng(PwxMxVFppZ zh$PrhF9jPb`Ve$_vQCp@AW`wGSYqPQk@A`oBjr1GM~Zhu%6IOLcsrurLrfKwzD7tz z*p7KGG2PGFbu~Zsu314}m_$!BSi`G;6E{-s#?fzHzoF7s}Go&{%D0Sky*=Yy28;$!aqdv%VnbDq&GMsPU5y5= zf#WZ*`IcBtYH8IIG&5rwHE?`o2spk`BEV!C7WD<`|u%L$U3j^MT1GG80J30R>I5(l-32+7T*%C}- z+y$RVp4g<#%!PPp9iR7kN02~y?G@-^7k|KgFA(L}OJdNx)BH{y%0EP+(WjJWQ=NK7 zDleGOMydC@41ygbWC?Vv%J;h-svuFJx$2C894h=Ct0){>AY{d^ulyLvor3`{x-joK z7xs9XkP|QESiN;A2#?tx?zIccr>6s`g?nu-3-?+tfFWkqw!`Ra7nfqBLB_d+aqINU zkjAeG>q^7DcJrz5Zn)QLyfR=W<>Sj_{VNBB$GjRI^MUeg&}$Esh0ooHV0>JSw{G1_ zdBwF}faQ0RkN?F1Ht28Px}tu4X~~n}g@0h+%lvO|as2~+=ZzkYp9pc7`gJ97&SWf< zti_Hr8MOhXpdRUWeR$y!_QXk+P8)_$Ya*rZ1Wez=O%rO%Kgh#KjziZ4}WtJaKQelsl52i)<+$4biZ?2|ae^tN}}`1e;0|7qu^~f2bel4Z5$a z&grxp&nJC*8d5FVl4tKDZ(i(6 z+?rAoo;w8IQ@#%zT}2K3BulQ}dNrR2b7wu6Q~nW0BR-^|e%^)m@NwV|ehu<5#EVbb z8(z?l7nqXAZa~)mVRxOtD6A-Ym&SXy&nNII`tX;P>94$lt@*H$e@7FsgWAnHsjOu1 zo-gmrx$Zd7Sn;gT*gc`ni229d%TMl>`Wbh)->xLCk}C7QS$8KRiMxFuH|ZcHY(JU%T*_t>JSY5BGY5`tzs|obo|) z%r~v>K|iB8zoB!00ZyNwxYSyznh1m33-}gMD=M#@};Q;SYFJzOQ|_;!+~?aYqU$Ew88R zFX%wmcYgWqYQ|&Ais~Fr?@W4+Pum42@W8s>@B03cJ5lM#Cbwb{?|ToVy1#OnekPWv zP~5%}M6vDJ`)tWlJ%}e}9oBAE|B@b4n5WnEruiRjuR*ysvI1StVWr3 zmy#mIo4q6Io+8#yp9lraq|0*q?di9z-zKKN9kM7rJ9+K{3{Ck4SzLer(W~jD@kUju zTn&#urSb4w&o3LEL`%bS%y%Hl4bO4EB04IOyV@VnjwYu^XOK}BE8dtIof1k+jZT^0 zdG%EfDswPMABLX7i7xFg^$N=Tu804PS?wj%Ipx+xbovnRhhv8Nhf0>J@4^coWY921 zRi-lU@woT08=OhtqVB=nHe^3KVkhP7^Lso5Ybbu;z3{QR!S&b;tP|U5^D#Gle-6(N zgvY!R?)8Lb<!pclJ=*y;0iv8GFtzU;%xXZX2CaH*N1$<C0 zy5pqX^1B|fO&N(;JHEXC%_KW=VyzHG4a`n&Rq zS}0FxsR>Wiz+mU#qn~VYQBPwf1SDR;2~C4kT*e z?qIc!@7hr7^RCv~pjL&+OIojWr`0;k)jG6=T9uZ<22lg|&zI1OH?5)uaBra|z^x#; z``%WY`My=S%vCtLg$k7x4AwZJHdsZfuw`6*Y~|hQ%A43ic}fc!Fqx=^6jzgQv`PprV58-()u>b+nUNobLMBuF~BGKGa-c>-X)cZ%k zZ1BX+?+9Y46D5X~ygn>31|gu?n);>@nd{i#~Lg@?Ut?dn%kTL0h~-lc!b zZPXdu_NctcIMl9rzsV3pREl@Ig5;em5Cd>)IRzJfzCU>E)!sEV!q(Q^_iQ z^2@gU0NT63?|*X@HdKRG5+rv_iwn!~lD*eHiGjBYipaBtJKp5GQYHuDfhoF4%-a*ZJ^fbU$>(y4Tw4Fm!0ZOeIX}Kg5WC zm#^X&g-UbES)QxiVDn;>Q;X`4f|IZ?ma)(69 z_vM9ux~w0C`MD3)z>Vs6*sdMcGRy1cGI*}gJwc(bxk4XnD0FT^p?u7CeQ<))oUU_W zUNxaAlg4xi8dIrD13f9(d;HF_p({mCiZazSq*9xtf@_RjapHEfosJ_F3j6Y_zA6e-m+!aiocOJ z+g9WSOiZfD0R>pR($t(DK;&W zPVZ!9`fZTuYsKkIvhB~zG%Luo;p^#4%`c5RFUT~ZXFAiwW+j~%WO~0SooRBjOr3*F z3*<(!wF^s<|8TAA$z>TqrslUaJP>4BjZ?26Q*)Q?zYa2u;iz(uskzVStAb2#V(Qnj zQ_S;%96yEG2E{b@?RR33=_qM?T+^DnDC-<#x{KiqGBtOHn|#Ezzl6~aGDT#NsO_or z6nKD4vZYH^)hxsBT!yM3!(?TUvOHbF^~!)BD9i#Y^2B2Nu~mwHNG46LcL(3xa&-xEHX3qNCm+2L^p}T{RYNFcE#nnFF*K46+QcWzeQsuH5 z4OL#x&U2G*G{1sPhH*qCfyEM+cV!Q_XH)cSM5^dRo?s7nKL_stN}T?VdG%`^q26E* z_#N)hq@45~@MR~J(M)Hqf<-09g%JXCmbD|i@C2E7_+ytiZtTP1eK>sm`bf#v@WOv$ z^}%_f2+KWo%cBXR^)>O5b>W5cWz6DZ;wUEX+cG45T*|-JsrI5<<9xTqx%D%1@hl&F z>GqwNruNyBH>o||Sg!o~+F5{Pe_YS3}8tbTzdn?SXaVlrC zY>TbzsK=dRpv^XpT4@_j6fAGtn|n$=d6|CQ=)`34t5?ZOj1j^nkQqeBmq5vap#NMu zSs*%dv;mjN!xJmosoRmV_%>4!OP;$5Pz_r$s@M%dy7NVf`g6EHw}aJLzAtyAzo3I? z<))hs+Ry|%cL0NM#Zo%kM5Ax8U8bk1B!YwG@|VNYx<&S`Cv#4?qPvjKVy3CN?hVwm zr{%{=YQqb1NoUUts){#9%3tbW2Cti>jV@R#G0ht^&uvjo{Q&8$;v9ApzL9%l_#0(6 z7Eo3`_?Y@uv}9Ab{7>j_tLzOtNb9bLO;bOpt0d8gTR?rsBUQS8n+k zpwZj}vN=5O2&z;+B+B~WQ4tr@a!?Tz?|Nxt?qMRh?rnDI`)#Tlz@TIcrpfiMq`@TL zfLVh{*4SBtNtv?*({i%51x&T%&mK%ka%Tai?PSXqOgqR6n2Lmi7hd`dU{bdmn5>8q z+p_?Z)fs?EvZvOEZ-Hsx=vKjWA=NhnQ-nkVlPxP*fk~|rnA8lw zq@SM+Opokq2~4hd*Gnld{f?Y%0+ZIGiO`odgk~snw(F5HX9=OnWNizCW|KdA2rVOb z77$uQwrnA^guFmVwt2~4z3>?zq;59|SrPe9W&t6qGk}n26-d-HAS83HM(fedXk7JF zmB<{W{3TnD*6}mF9z7E&U&ne>$9h!Scs;7^hhGfjs2!|FY=W-SGLc%3ZggUqtw$fk z3_=T8j~22Xtz$i^)q1opTz(|gud?;1i&ikwSda2ZGzfi+rZwhm4%VYLPVKizUvBKg zvhZcDM{1QIq-Fpi{Y*n>WO_Z)r6a+5v^l*V=_aR!^~j^j=IfCw-t|%nLKjO7T+@d2 zND%4KR+9U&Y;TX5OT%4UP?izJ2~47q4|iMSwm=>*T3?kpfA1yr^Wsv$2B8Yl>LMG9*(gw*W@AuD3eqgg=6>I@(xS_Kj{4G7g{Lg-LT zhV)dGv=u^|p{jT*A5yGB`igD53c0T$))c;qeso4N2yNCXv^8A57$ci1_f@2Ii!@fD z>qs;RO*cE8Y*rz)N)S>rfRKKEHVB2NvN?oY@vfIr5PAlWQ~kEJaTOX0eOW_joHAz% zA!W`ILJ_jI1ws?apFMng)cnWI|{Qj;-`mm9!N?*$Q&KPj3dHlpuE&)i+y(29anG>PIBIRY4EY-t|%nLN}7L&8yHpq{gfvR6t|0hLAF6385Uawgp1n$e%rg29i4q z2=yXcwh-z=ULZ715V`>=tj(*Cy4@gTMSQ&RDzwEY^opH|FRj>5b>E^yb^}#CCpqu+J89->aB3|uU zeXT?}RE+!W(7Nc>eO%Ge=pBx6phX1U35>x`IT5&}E8vwRSS1g;i*O!w!*JB~GAb03rR17QgFOp);GU zLWj9k=*wD#`Uk7f8EzHYi&vtEw~tk5NTXHA6~EYuPeJG(*JL=yE~mA*8T2LrC3j5V9irt;qsHR%ZYq z(W=>{rU9YdnGo9WqMLiFqLW&M&@ifR2BAJA8ic;Ch*w($ZBCHm)J@BRoLUt@ zf>kqskbb7Wg|1CQXk#GA6+}z+rIp&(sPqU|ip5GE3(s5ef*`av*kpZ?JG2nws$KDm zt@w?(-!wt)XXI=%gycFcYY54iSk@3y<}4w!gRE_V&_42K520@KXBH63CtJ1P;y&>hO0 z?JA_qSwd(DS=$1k<>b#ELR-k41%ztImMw(j#udZQ*~!xp!P<-;^||oF`+vJH3tgPm z26$xTBPykBQ=p0a10E>1Q4x4^UPgjT`x;Pw{4vz$a*fBr}$J0l;pO1d~T z1Mui)8a!<>^65{N&2@3E_!U-sN*C9WoNWZpn0}Egku#>l#4KS`He_N}m?peSY)g!TV!G#XJ~~{ zTL4MEf#eo`*gQPyDY52h9V5;41czx!YQYTd0PkjR26t_5Lr6=iw%rl}61qMvKHI-T z^QEGT0in75&Bq3WY`1N${6@2-BDHOE%eEG_Z7N7KAj~4t+O|zJ0|;u-a6h*LI8Zc= zgEraTbf&uI%Y-Yse}~i(@%mO^P*XRUYSurZ+x2VaGENrP8f z4GHyLkLlO{6Ru>RQ@CyTC>^Az)W=_v4B^3>K>ICXt#K~eeO%|EE-8qZD}D<1j4 zd7s+V(ZyBL+SRlMGx@_-=whmV+sX(3iZ^q-ykU>OoI}Y^mJeP}LOZ|n3Or$u@Zix~ zj^6y0uJ?Y$`I(uux4wSQx^`aYN*;$RrW`IGHCIuixg7GlP9@3*N6ts0Dlej6-aB{$ zIfEE}KTfxx$50Cf3?}gM%CD$~6tC-bgsW<%ex+TRmvZbQ zF>e5W)u7~^H`sxKpwfu<(5ll|m&|U4-C)*tR#xv}-gVM!5 zO|k7M10Iw<3HSzu(e^*9%yX~3IDHZ@C~fWRzBaXrm!79SzirWZIpu@D{eAq}OeUZ?nv{_z69*t2R0RR+_5ojA3`b!Bqq%{px}?a;M%G$QKN$n>Rqgl&r zEdscWe1y)W^GffZQE5kn$6>$^y&Ef(3EFjnMrplVbRyA${y3}HGHzzhyEsOg{N0!F zYJ+d=(_Z0r&+l>`NuGiB46EP}_oxp_%RfGm!*zN4kJn+k_?xBSQ4iwjbYI!gyUUJ# zkAs1mO3Pnsw{`&((2H;GQ{DA>{U3WdC;8&Z=d0rq)xv%9rMoY}DNdmo)~LXmjH}$1~j40JdCiN&g@KR3cYGB5p&*!c^k@@sj4&+dn=F`VID0vINnNJrG zBu|=hKJy8$zOP)%H0{x$*~?cpdHF*3@|X3p_sg>yzr6Y1jcYEZ=7CLKE^;rwRDXX? z@{tQPlU>bz-fMSOn|H4G7oB&mxwt#MJ;UPdvCn-nw46*E}HjC-!3m|cT;{q>KVHgRl|*YzG$ z95}%1M;tOXO~rfR^Yd=LygFyCTve{wGW{z!X?&Nf+^-q>3R9^t?@GetzT|}rbV283 z->p`dH<=e0__!`Rbv7XQ%WD`>pXMvEo2Py<2; z_W%k31R@|tK|K-FAPC_i`9IG)XHPcaWDjk>@B8y3J9Fkd^Ugc(ymLJ>?;w|=etQcB z3`6`F^iElDVW#La7$E!Tu_dCi-H;Bum#oY8crRb6W$(H?ZphyxwQdi=)f4-V!f&^i z&`NkO|3L5e7UEsLUd!I^z5I|KcL{oq!Wx({tk*_1Xu-YO1Ov=x=ab2r$!F27+Kd|# zRLMPxd*UBo;yP0Ab+0L?=?WWBHO$)xPzGE~Pa3~Y9FN2nJ_xF7Q6V<#ao@r3^<=+a z2=Mad^sai)Gi7-fh#&#h=sgJ%(R=xOm#@RYW8(%8Xq=)7*i-lic=Wg-Adwo^JD2IG zG#egLY1W`x8*ZlAFPmu|R%uREX@1vdGgD0n5oV2dyw~+S(uLZ5GAij)z)SzHUw|UID1#j_(6w7S!2et_PlYl zeeLR&E}-_K9Yx~7y@6161MlVWg+}l9X+3%c z(7y6Y+W0_d^dVkLn_v{YoJSLF$*6%rRJnxge6VscSTU|TZ#-1wu23Dy8_js_!~ty^ z&L_b}WDE0i#ocA(?){0a%@^oxXl|di{_P_7QjtG9hR97{om95e(dvc;bPMGtVw!de zttLc@WTYO?Xk`9GTKC^J+!7Od;W@j90cxE5;cz-%h!gHd{`7|QBiVIJXI{@fXTk|U z#$R_Ajiq^}{~o<=HCvTaJIOM@y$ds6kWP}rKQPm#lVli<%dx-Y)OIgAYU6LW(W1`- zwXlJpdfn=BNp)lq?IIT$UGiXWp+bVBQ)bzgazX$ibWD2-N$@t2-pPkhgg!D>`ck#ZusvW&#MURejiE9c|;5BY+gne)OfN&|z5nx8{^}IHa?&d|E+W19cJwk8Jvt^mAG~7qWZz@VZ)pU*21T!e^eT+? zcwcR_qc>d9qr;In$1m`@IB0nhc(!15;o@jg{ovp@4 z)i5jOUNy|R?M4iPnGhgWR3_tj*PHvZQ@ zl_!}`;!Lu9x8p3f8bYwCi6t^zovwzfywA0LUKob{h3WFv*Gh0_T#CHt-F|#ut7ewT zn6tD9X+xPpbdBFUg4~qLi`LSq0u7L&W0p=0yeVT~kN#HR^=_Zt+e)=UQ7tj4(lxFi z)yj5MYZX;GCRN^7D^$OGm{gyOpjxGe9J`-rlPX=~a#C$*N3~f|rDIZc z0V`AwK12!pDT1n@s8*U(=^F0?Ro&E%YCPVcwCI?+mjG`KbznB|jUVAOOTmD%=Bz_c zK4TTMq+met713r#`Dg{a3wJ4X<6Nt~x-sl3rEZ)P_NSV^ed|-MrA5+yESLpTROn=` zU9=ksCr3@ISkmgNs%e8wS`5S3lB#XMTgPk-LRx)l*2JxQ{391@j8Qt|WQ!z@R4++zu41l#l--jI8$Ai3w%5pTq0Zdk&$a zx_X#oIq?FlS)?F7<{=d@NQ6moAQbx%Is;6O1IMMemwQ{>-7ZB$b;WofbuBJ_6)P~M z>Qa}Gy5gnOyzs@P@*NKc15uZ;`j@B%BCAto_Gw648HHDI!m@&RCLzSEAo=j-!D5He z`??9?1(DfJ;F5Y$lN{EQ>dEc&WD<(5dMJyrRZsd`DdHuPu~LMMM-@^8$JCP&cuhSi zgV)rPa(GQWsesqilS+6+Pk#Ij^V>0sCg9$-;CKc0HB7j{mnXCksEu!m~W<9#YkAa#Y(5nP`T zbi>k-M1uLKB*ev2vN&^6;6U_ga701oJOBj|A)TTi2v_5=Z?UAipEG$*=Mj2yAi%*@+|Ta8(#$n+XZD=tn()w5xd=*Z=|S5{ z_a@$rS9tDu5YL_wJ3J}t8KDtRnBc90|B6opX_{5~*?LdP0hosR7GtObo|LcQe2E$0 zK3I-|ZRb%ifqeBg+ykg3Zpjh4aVthh(#0V1RHyM>^x2#zHQo$P$;FdG``*OScPK6% z#d9kcWAGH_;%-4ka-m2$^0Hiu^MIGe^#>%$Zr}b)lFF_%O5!+0K8EKGrpV2Wni+|0 z6!=A?yBR5QHX~tO;3K%41Q*tzZ@gXns|wdf&bL?N_4{4wF5iY}`N$@1!lB0LP0)og zJ+I#vF*ozf7>83;SofLrRogk$bUb5Dl?}%znSP5kr)nI?Q&=^|Vw5|at@nsC^o|j( z)*CoX1z%KyMSfhpl#g!4Ta}4kvrTsi+dDmuiFOjuLz?FWMeLGr8510{Z!3ehKl`@3 zUWMKIZjZ$6wQ5_f&@XKU6%O0z8u$O}Neo)#MeDGQ)?PuCj@jH~!aJN)`vQL|=k<#7 za-{98y605RL+PrH5TM$PPzAh5qY@4+48dCk?>$VT{1tNkc5Ex>4T|$Ls3bY3YrMGt zoEz;p=e?yMMJL>$!aJT+pCaD8Cxm7qBf9ZRe%-ElZo&YeeK+2Oq@=#{CDI7jcQlhE zho+=iy>MZMVJ03Auh~i`z-!K_lHkoJOMh*g*slArTH@I7pkb8CQABFFDugf0MkWVd zu3UpFzBF|s4_@Q`foQO#`J4~!6LcxOib|2U@1SG*y(wgsK+O@cW2=00_}ZmcDb@T%Auh79m5wI zk~Rkpvp`(kiF`22gY`N~uv#wbYAm@1y0?RsMpN-GUk4Oj)H% z3hIj-Y@|v$>XSlsN(52z{SKmbFdXO&sA}z%EW+ghF_s}D+}gt{t$oj{tl_{CW-wwb z@b>t2%9aduXg?N64=2Z$ZIzAWplm7XMH(Da+0x-Pl`RuqQ`vm*in87G1(dB#S7s?& zAe>r7+sr|=t5gVIn0c&(*HkvXG?lFeUgOA5Aioh2LS;$S;tg^@$5fs=ctzO;-wXUb z?eO&qPshYJz$?o31LE(Gz_ZXgArRIw3tTW(DU%_Zh|Cvd>sMN=lx-+nZ#6Xv_HC&F zer>Du(QG3(zjpI$E30!ONR#zC(XIu`nNzQx8mMHU(QTE?RIIR;$;ZFyya;mSbQB`B zEdlGUx$%ICdKoJB5$eSdQ}j*nih5Q5aDuDxCTzGbf%VX($d>wEU9dk*KSTeq7I$xU z9X`=c@@{Zx{l>w6xKqsdEA_3gze3CtX;0hPzru9qtYPD-$ z&nixYw77o~(yu2VTHF!u3jCgh*9AAaCd7%=GMWVaJK`-Ye;Z%^U>iiMJyKs#ld#O_ zgaXK}4c(T2OCgJCdqTrqwKb{BmNJ!s29IydHkj4aYI&*Ug#)$zg$;fC#?U1t7-r+0 z+co1pe<=38tdKV*E9CE#6}rt`uq^gL&tq#I^yJmLaJ%JWHT>DcpHC5vL1I^-^PuOE z<-Q}!U?LDBl1KJ(1!htLDI_P;O){FoTQ-08M5=-=WXaYMA(o-23 z>gs2P)Yz`dRl!>1iJK6*ppvE`;socR%PV9{RiOwE{UMp)Vq zX30#Ys-qZBSuwz6HKUm^7IzfG7miWiE{&RwVw@k2VYG{}vZEM#D|WZ&BM+GuP?e$- z_MM4cj@Q5w&>z4(JC8Or()L>6;l@maol@TmeuA&@GcI?zmNs-6gfD|gXVH83S;(UD zR@K6b4;=XNVchhW-7QON2MsnsAJ~Et3CepoOvxV9GzTE{A+qD-))ORioG3i~g`g(+ zq}eg0sRX$m<9APj>TManhoD#sWG{jr6I73nr_tneE>4Ko=8KG9e7ISHh#O02J>af)5DFa}dEif=1mJJ-Oc! zl;j|%2MDTnXh1Rv8t%aOMFgcefDV@fcVPVB%K+t&(rGkBs|og5%4e@vuMm_^$)5(r@dPJX#blq`VFcAV z^oKtpDAOJ8>g;)oljQpOVygGD;k5@fyu=Lj0w_v*^)5k^ilT#FAjsv74*C^A&6&|b z0io0fAfsc(uOtX2nxld`5!CQ(bkIk$celvwi-SRH=!jXCl&L?oxK|FUyF))6z}FL;lY4sLID%`oW6*dSl)kgYhQscA*f+fbkMOs1C-)GX)8fh7Ra8b zN`i_Al19ZIqzfhT6b1AkLFo>ZyaX8zlzI@9<3Q=ip8zUxptPBwTnErw1ZA>?j?%6c z5tPIhItpkELFJs*L;>AQP}!E~lrA7B*XlLwi{(%mKt8M2um^1Dkzl16JV zrV&)q5SEjD4IWKUjsxTA1XVclZ*N%>lHQpdt%oUo5W^l;i+M;fbJlu z+{&FjPuCMvv>-Z9-3ZFGL|{+Jm+p!66)B@UGQ1XVeJdJ$CN z0BZR?K=lqh?I3891EmE7H8=>fgrFJ+(8B~JIq)=ypmYb&r3BSFfKL1lpfU&0c7m!L z7=N3f6bCtl2&!}dZD4CSF%-+G;!gPWf z$hd&)+sykUIWisvbQ3{&7UTAm5(%nw05ydOvV>_*X+1#|4wU{vP?{wtdrDIYs&b%o z4?*b;lzvQ5jRU1~1r!$+rhNf_RSZfMd!u)+wF3GgI_NcmnmQx7D3j(X1l67q9dsu_ z!>#top7Fi}rCaTjJ;*~)lEYB)OC6xx9?^MPMUc;-Sjq{ibj*Ob8l6&Cf@&-|*;D!gHnEnv=0>NqoS*~;O0x-ywYZcXA3(f*4`kG!oCV>uXZY#BjHL?6&j`*3tw^DpHn*u#Xa04gAr!imh5?ubs z=~3=Zun`metH3wU0+i;ULhA@hb^y&GsL}zHPf(G=XP~DNW;B#E5YHXUe8(ULx2v2PQ!|&uP!~63xWxvjq*c6xbaN?QI z?{S^KG=aU$2~urtEz(2q3e`hd*o|&X0m-Ed11E>T$;IFVdmh)!*rT>`RpoQv7A^|U z3uqJS{MxpF_H?~m5k9&B8)yT1;@qF&JWXuB&tX^e(=!*j-~qdLAW$|6!Gg87O6a?f zBP&RPpNmM;a3g72DVe&0kGwZiOz)t2nWuYr!+bvkv4zln-0I*6& z*zQ{a(*Q#ue_9+aWZB`*-K{U8B(OCPJM`XfQ{HQQ+USONWe=Y|U>u}Xoxp-V^06v# z_i>Rbjd%p{5?XNs998g8i&&O?K=1hp1cNICQg;O1u=#PEn!uEeqtAdJ+}&Al{QM~| zLnZtLYZ8JP-%Xi;O={Sv)~XYWSb(fEc7<3#3H%+TL}@xgeNO=tF+s7(q#YjV(?0V} z-9H@1#Ifz0Hz~rdQl>Zy(#3hJ8RrME7u>*xXWZ%YV(=Z@bSmcyJSp8~%TuTZ5Kl_t z%korOCr>?Jk*C=Wc*4H)*YJdcd`;JcV3}mo4&CnxJ^uDo?YM<>`v;@-!z+p055-p5Dro zr?{Q+RLB$6;OrxL3h@{;^7pYkjm-C?^xP}n(Iw!i5ni8`T@K-#l+f%-#B>j(oPsro z7BAkBb%@qYyl6c1xO3q}v?fHmQbG%d3kTheQ)!+&^}Jf1X6MV(71zqs zoDzAu`Z{@fs~k^y&kvI7T>2R>tQNXGMnBV&y@N(TrdM3AuC^WwUDo3&pWTC#Kb{%f z#;dL9b9mXlOJpyxyS~rbO~-v>cEVK6!~uOa>;1n=NzI1klGyKh!}YbS))v;J-w>ny zF8L?@VV`Ph`7in4daQqpZ|bs|(NLv~gX7kQCf^Vfx}zmy`NT_oV_JM;H#S^@RJ$+f z1sdA#8qT^QX3f;hg#N5nE`7k|?|kCQXjVJSQ=8>@gLYio0G_bP+5NG_Pdcv4#wCbj zYe@~enzetlvZDRt6ixyeE5?0zODN!q3EkF`acp8QME8wZ>%-NFW9vv_%`|dCCe};~ zbAuD#NzgD@R;z_DeR^pwoPhpTyf_ck;`?Lj> zJWB(^kg!PR!&yCXLP>A}+U$6>5kCQrwj@a&3X{bNrHE5n&+W6?Y@QQBi;xZnXKfJ% zfiTRwh#TsWA)LG_2TidE7~l@-?z5>uxI|Jb@L18xBQAPY4LnX%pp+FiAs(GVvskB`CUHs|;NYN$0mm31 z+%Sg4O(h;q<%UTa_qB3^Bf5o~!9pd%eV(CPL{tlDTmy13@2Qs#2S<-U(Bx+nyn#^n zQo!V(G9GD^3zA|R07LS@IpfV= zK!kcJH30lpAt<1Ss1|Kl7Td^S3C4q(;<&IGZ8JDYKnOX7Fw@`#r^({X_R+zSI5>*a z!W4MHa3&mMcP=?4Ig3*^_NQ`6whR|IRVFpTXblCc*f!O0nN`HuwTip!Ds=31_-pdP za8f|aHjGD@;>g-?auX^~O^cL`nLm$6t2Rnng_F=yn8KiK4y2ZkzjCBlf)vY)W4~k` zi3%sWfSu2&=`t0g2ht6Uz2a93(0TCepDwl5=k9qqL$o=`00s5=J@O&VV8;9&yi?ON z{cDKcug~l;2~XZ7qE}ieYdtOpFXfpI+$h`ROKtEK?1d;A&_GDbpce|Ju*MIHMWiG{ zBvdX5*N)hjcWAhgW~^Owko z-t{~!@azfmXu%vJ#s2Qlkw;}t> z{c>OXRk*xU}^_<5ptSgw%5*^t5}q_Wkg zheQhF|8YX=o3Jn5;zTc`M!*&ybfX+H2xiQ+(+QOgG{4bwLi!F}^&K`kA#t^1zGYvA zbz(bu0(Et;sS}Wfr4vGpI`Iv3VrZ*Qyl?8ndQ&IXLnmah9--FWt zUD)b^BK#m*zh^6}#UQQ6l~jrkaA}yS6oaW0B8Dq**3JWEScXZ6N(UOD%4?P+rB7aX zLhJ8F2B-zlhX@HQ5DA={G2ErkHtR_fWWoU;EJC}tAQBN6WAr?0&r~^3AE(^zC30AO z9S*7ETs+RiCtUH(r$kui)b*|Yv}CGhqqy`de``#|XBD0*c!^cZH+D~ESH>79)2Fu%Km-Xn@$g$+H1ne-~*olAOu z@0i|Rp*KmW35~lR84zGJq|IY51-XWn^qUhDz z&|{d%Ujw|uNw3=7q5Mt=y;+K$VMC8$CcP$jrG7ltF}>IuSl=oXy=EJF4C|@#>%zjq zdtUH&G3er3slKODjh9GmYdOQrR1@Ic&r~Zq zfnEP?nE8Qg{64wET=tbzyT2%HS&Bqzn@fh7Wt9f6l-2SW*n4V#7F5qirWcjtXJJ3c z-&=J)e;1yEUo3e(JogrMYi!{4#2N8eHBfzkYNNGMwzPOZ9PbNvVh&uvo&i_kqM7#0 z_zmpipreuAV%aC1d@w4bm$Gfg6rlvbfG#tRz!;eS9^X0ESMa$9op@)&Pe&_TczAsG zBdak&gGtMaE^)bz>@HZHu9AMZezQPvIv;8nG#;i6Uq%mQhlLii9cDxq3@oV2>MluO6v;{@@#SAM+-j_N|+I1hbqA-g@#>Kb&4=Y%rhH>N)R z3?6#d(d6h#pyZaimgU5f7h=8Ih?irHQIDBG&}GapHj*lkFU1ZJ>9L$5T?vW?XoJ?^_hl}%8J{%nIUO>Y` zrxd1rF=ADJ2_@x8DHW0_J3M#J7IJs)@Qm7QmZ|5SEuNIZ1dtu*NeR3ei$e9>xg2bi zAjtUFqtCbyUpSNaOetkz0-YD@FIWWupDay7P%vY^=PG&WnbsY7 zZ5(qNa;{-2SB2`tnNu!KX{9*-rJRMN$VteZmYf@qurX8#NjQ`EM z=e8_#AZMl-A?Lb>+Q|7q7D;qDhpSk)esx%-vbE2>EvthW4W5D@NVC)!(6Dwj4+g1z zw8D?3mJJ$gcm>^?1MUzTV@w1w{10F{=*ItLK{uf16#7_Y!;RQhQ{ltrT_PGRG~#Vq zs)1;#Ua@VehJ&K9O>*A5mQB^_aP!k5%^Fi=Q+10L_-m~3)>vt(Xd$|gF~iu%rfQ%T zcrDf_01{b7Q&o$ob7I8^`5ZPmo@w{u*A!jbh6fFlbVpdbnd8Ispbw^5bGYh-<=82g zvM)j)7XHlch)Ztz0X2 z%oMKW>J=MOJ(MQkIb6#^M>Gn7Q@UeTs4rjy3>{$XaL*sJ>Rl#egcXhlEVmYbRM%a0q`%|)5(8iC-Ukd+`SuON&<1D;bLYs!8bb( zQIM1&PRPX+l(HhdGyzK^k9F&Kyz6rq>xRP_SzD4KPGK2hn(7P-u8glQA$eq#IYALH z``}rUR&vkM-^xTF?gYS6&x}M=FR<2xxc*T0F03MW=@0d|4m}J>`9uA$hkE6~>y^(E z$RN4NW7C?Y*G3JrEif3ze97^T3SQmI?7_ixavY--m|y zo3#TovW}yQjaoM0ECvUT$Et9D3k;5rS{BGSI&R(2P%pVxG8mfN3$6B=iOGod+6gnp zYbR6;!uOrgg0JP{K=7P_vA6-ko3Y9>?NL-5Fv-k;YiIdLF7eqT8M#80jXQhGRD9Wh zMVggRIOrt{3i=n{?wk{?O}5>H0^{eYKvHtUo093YN!v?gO-L+!vmd zTF<$)cw+R`buhbk-*SJ(YEQv87<>!u=U|&f(MGtUjhs9a&unFEmiGUg>4iDVU9@*wCSl!8Ut=Pu&jX50f3_bt@G5XV$0nf0*Q2$&CQ5QuH4}Nq}i=B8Eyhp%p{zoe zFSXg{KI$v@!UN+lyx|uE_JRhtuV7h%*;rbeRi6RVpzGF!%8ec z<<+nqB?0urk9U9DFGJ9Yb*O7QAM_mC5zN5t9w*n2`vl+5mObcsqCOsvwRqTshaDUn ztz!wU3uNqg;(GKW!ip@6-jdOGR<_m%bNn0pEi1C!n*bU2rO5#*-fHF}TN@r5)SA5+ z2RzdZFo9|$;xk9py40;UMeNhF%aNZPR#L67h=qtRICNlii3Q2xaj!$`RAOmCr!`)F zV{>_mr{h=F-m%E4mnJY8DpqEn%|lEz;5ACB?6F`^3TUGUbC0Nv)yLPyYa=$sySL%D zD;8M&8MWg+4`rPd6B^!v<#xcH_#r-(4heM^l|nO43bGzpIvhT|>$C2z)3D?oTMhQZ z6WfUOxBfC`O;&T(T$?#7!_t{a7~F+7lQZ+P55kt9J-sZU*IUt>WJ8Z(y%fECc#}x4 z`r8ia1%zI@qE}=?k71l6gTE4ZdvhlL80fW~$&UaTS~NpN;d%vKqc)+#nfyJH>OCse zGMiKxW~N#WZzfZ1K7d@@FA24-SJWdVZ8m?6Q5~oEh@_XV(yOpZk6~tdmGF*WdPPW2 zmxb8ydc}B^%LX%-bd66v9p-Yfr24u_waO+{hM8qw1Fw|*xy+?~*-saGm5N@i4LydL zrh4n(&1Ei@H-TQUFdiW_yhVZ5!=cqWcpKo&BmP|GXJ$LRq40D}d=tF+#D97=@Uz15Z#J^4a>+SII$}Aln6Q2NY8S&GIpW62_RW)K`?9%kr)LIttfLiR--C99D?a{Z4V}=kG$RBJ z)UaLs_kHdoKKDlSJU%oPuvXzqUBV$IzbI&mM7VD;$9F;nW3PC&CE9Ek z9Bi*sqb|Sp9@JjHo3$g7eU6{ub*@c*0bithE;o|NVqg# z@L5_RJ;oW`Xe(K9V=hd-r*K7r8>|N^VzW#O{U3G}u#$tQTJ;ACT+#;2Cu1(aNdNCv z`nwdgOrS`g9^+YsnrorK->0QtXNZmc$FG-(CQmzdq~&V z+_}U0*IkmGu9BT(lPtqbvE;)m^{-RM+2|qkN)){!8+r^g+rtug7fbuI4`S&hjJLLj zWq6B5ijIjdhj%6MotU5A?eG-}PshYp!uuZao6iEiZ##UI!qYL^&l-3?ApTY2`?tf_ zDm)z%UkC4A;>Qu6)ec{;@N~lMIlPC6A4t5t+6O?zyRcHp&p?DWEd}JkFta?G;FalPi0IbrDi3R)#lP2Cu_Re}CufgVwy z8WTjVoZrSS?>Yl7$+IzXJV!XJiBRtgP{mHG+0ynk+b99UOeJukf{PM7YGC`#n5!p#vk~)RtR7r|^3U$G7c*Ra zWK;D_GP>;3PO?82J9o=5UiL5hypy-8m~Zs#N`9zt%l;nN0N%^u40TVy7yb(&lgSCO z+4_i!V}0)9i%Nj+Q!_}LmBHPOgS43$+-hlTxEpKF(Qn*$Ruy zU^W__qj32Hvl4dh+#M&*f>Gj#CZi+gG=^En6`aVjKD(afsn3>44pxSItR&rELP2pd zfkb55qc0(4uio|ip`orX;$@PoG#$owqfXh{A>XF2@l_`#+r5`E?Q&@925$8mjIBer zXvHrthM)#(GhgmOL4EfVYItd_EWB-Fd{hLjw1PZt`Wo8?-J3zfU-0?KF5fCL7|BR} zFk(ZZ=u)t9A?X`$2(8(S3nB%3P9o1jNSiJ6_1U?S%x)&5eMtJB#JJajewPClZ4r_( z%TC(H2oS~WKOQjy+SiPkr8P!G?Nig`0MoJvha%}7HLhQPG}-6?AdJ126^!p>}@3@g|#NTQqjPESgo`Y zl#OSEj+l}6PhG>^wcNU+%S)^t#WVGSPfz;ds<0Ojd{Api1MyYb3Ze|r`!Yi5h~Sy_ z@>a4{=hJrJ$VCua$n*sw{v*p#`S9s*C01wr;j8g}j|bn873$3$@@AEK=phel)WauW zz<*@5dRRkBf$RruQ@mgEmXbCRLm<|-h| zDVVxCka{@iULC+{SE%n2B_|n=1vPw$^# zU6Q*LH1YPiYt2u(%1>Xnx1j%O*E8|nHL;>X-h#<%VqMRiwI*>wUddfb}Ynvqge67tbzm8kJ&UvRN`Z=>-U8=%I-eVkJ5c(MTVJyIA z5KWW5gl)L-ryHMiHTFhB+8WL#&6tXCf58_gQSn-vIN9jlcmSo>ie~d*+%D+Ph;G+h zH2$j%nw8kN0%&O(BP+GqB>$U8^wX8bv2?Pr7ld0IkVbzbXo>VeXj8B^&R7pPn-KV= z?TBmwWe;@mNy#6#oU`0qrRE z0;bktZNCR>tYcyNL%(|?7Vjr|uzNjA>-r83IruZ0#-VaAU@c|k_POzG_Nv(D@RRjy z0_cL?vT^(U85^ItvkyKK^zEVbpMkD9s8Kzes}Os|*F8>Q&+CbstcG0ddLd(<*- z1iiC5rq^5O-LL5Jwzc;37-rIIf>-!k_)&-X?JM;16uo8}dJHq^@%oi=@;A0)di{mo zWJNC?5!&;|Fq2*aysn!-?}Co$WeL3^MUU6Jw5P`~lOAvM$RWM8yE@EoK^ipi- zG0dcw25$}NJ=rn65kjwA(c?WK?fGMvNso7jBxiu$RUOm2N9fH}^n5n-7-rHN4sSl` zeYms3{N6A0suaCZHuM-~(#wIjf%LSF={+L!Rw{bAHuM-~(#wN4vp?wF*fG8FLa$EI zn`A?eVJ5wNc*{wzaYu*woh+R&rtNrZ0Iq}q*o4a z4(a(jrdKTV4k>ySHuM-~(yN5GhV+hp*kOKW3O$$Fj#yCF;) zT@}4r8+r^g>D9rj+P{wJy)N{U6uo*IdJHq^HNY$F^I4#`G#8vkY+S^Fx%L|u-!8ZX zcZ}Df@8>Rxt8r;dV={i)-A7`cZ*4&LgelW-bmbUNbDWFW9S5rz;iii-Ck+nHV(v_m z^R3*h!tV#}i2O#uLWo zm3Y$6#2HU>QZeT0ExR}3arTHqt zD}G#npeDhKRd}WhhlyaS#+31{0**1D4-YRfhIM!;4-ah)FS#*(TOw1G`+8$6$7x(0 z&R<^-&it4S@!)j^E(Js`>JSwP)Qb~pfP>$h?w6sNkz%=)dYoBVL47iWATXviGNhojVsXl|qrzH=^)F{2xAEcHTi zSnuFh`)=!>;jxdn*nE`bjAuCSz}^Zm-@`c)zKZ+Y+c-ZOTO*TNjKRr$;byF9kWbIE z)wsziFm^k654yKuQ_gjPRD7RTR|{h|06@d^*E=!xFuk}_v$!)mHNnL;opnL|T?PeH zKMCqOK|%dR^WE`a>c%0Vz7GdNQ*cMl>P~p1n4mt&@w>66xae%+tx(FweZ1al)bgF8Lj%&yxB6V7;qnu-5fFB|Hiay9S=!hW#3+AsrV4 zPw8ZeJF`Qqmy^(lOut|CWy8i_#Gvq(jC;I>Mp;F8QT&=vvZ|EkhNHITY7koqb)#MPs(k}*i9Shx@9eMX#sD)87_JgvzxVS=*qwx^}_Zix?D4-4oRROi)n& zz4`7~F!keh_4XL*?YF4684>mNK)ZT-K-JqmfsAiXv)+E$w%!IqT`y$4ReVu1#RttK zW1^YDq5dxUrDoE#G*cQq5ja}4hb}lR=`<)pG0EsqP=8~R;F{85kdh8TkdFE8|F?7$ zUzCpcARRI$(h&~zcg;-2(Y2)0T5lm8Rc|*twfQMZDxGr0o!KdeB2jHVgH*jG2=&%{ z_g~lB_PW!q-ad(Xdt~BJ-`Hbh9=)kqZ~g8Mhv@UqBwK;h4ZhSr(}$(RKa;PasJ3U) z6VQK8c8BWI&!p?sdt7*n)+64RT8r-hp~YvjKQNwLg8o&PUfw@-HG_EQS697%oU9tR z9SUTWawy=Lc375VWk8^YE#VD}I@}(e4`<9E><{Cd1uVsawqmTjj0%d%7 zB^RJRKZ!3STEF`lPw)5ruRDky5qTLfKHTev82o4a4sG|9>~~(COmcAa(qA_Geio7P&P(ZH4{e!#%>_5LG4g5)Z^wr>L)|>nU^tj z*>}Aa)oSKtWCF}xM&{6XU%=PF)ct6W=3XGfExlO8i7ql>uoioj5*USrT|3VXJGUc= zsKJNLh$>Pd1W_WH;ud!{hgSc`5@G5Q5+M_mh|0n17w~mhA~M8+MEK5)B> z9tEYw>(AlftVNI$I{Go+=1lI^Q2&elsW?F(^E7PwuVppYLN#>scj|@Fc}Ykjp#L=u zj!$2j!Y9wXFZ|0s>*P;8gbIRvW!Mefj5w$!n7dcer|LL1Z!;X*xC5b|;h58>@)ck? z=;ABDLpVzY-SHPJ$5((a@fBbQR_)h%ihqjmq57=Lm>?=QrI`991c}e3XQJNCx{NFg z)#qPE#{5SXiWRrDKtmi5(m|h;wBR3ay_gv-gj;P7_ zP@f#k*g9_KzAJFR3@}0n<#Dr%09lb7h6*g0(TEKwZzYR%L0oBLgcWBcMF)3m(Rt_6JD0@kgL*mh$t5 zpfl8uJje(N@HGnEKlYf?j~D6qQa|<;yvzEB*BjyVIV|cyuc;8&7IQIRZS^8tz5&r?td zqe8G&Avux_m~nOXUMQGMH(}K`IW$zK1O-ov8@f+9<>*qle>E22C>6bBed`=9ySD|^Bei@m-fcP>pH&lP!!`JA9 z@NTY0y<6yPL5U<|{6~p!%5jQB2%6LFcRRo8dg4n;8x@?F(>k=j&z#0`@9L)^4F-o?r4H%$Zmd611YIfn1;6-bb z&Y++^GhLoN^ERPF`3|a7oX$2K;33rO3FmT5HQhGaNlI66r0n-bKv4$}Ifaq2%BrEI;zsUp4& zWbEYIam%qqM56kz#EpGW6pp9hSLkioqmzAPHJlTlyA}f+>D-yYfV*xeK$Hj12V)9h z=6jaN3R;P756x7u%B*`gAhVPN+{G%V?wOKvU&exXBs@@$J?j=N_Cn9JNhsUKX6*Zw zqmAGBm+hCb4Z1%Gq&E7;e#=JFzv+ZI?)$fk7=5H!#G7#-R~0cjuA9@46%_H0=&B<2 zyK7NYRb+QM zqo$sO{WT1xeh>prq|9)DTG90D3rN!MULM3}BSrKu2p5u$UthxbV3DN>GAL*%Ue@LC zmTM*-z$!`D<`$Sj{F8d$G_Th8Cfa9XAqO-JGnYfrPU7WZO#S^Co4i{8>&LBxxf8RP zhodG-3*jm7OX{V<8a{^|*%8jW&t2y`vKur?$*j-agiOyDX)w3UR4{dp%G<}#xjD=R zwhIHbSVZG@moiJYy5}p=WXv`oDb(Q0aEL~Wz1cHu9G)9@LFug$K87WEl<=3TgtrG$ z8~of5_n(&VW`D?!0v?S5ZZZovja;e%PJ)*OoB$WuWC6QW0jH<}mg?DBz^srf+*o4?vfFFDvXdHI{vgCB} z{wAg_YXGQObs}js`PXIgkA$iuP$q1R|3o~-&p3!^oMrU?mSy7{aT+4DZeARYqBLGe zz!u1#V!7A~f4bb5ia<5$$u5UxV#qVPs<8(^l7|bh)2T5RKk{@GG#h;!SE)|WGwnCB z_-w-sq$iC;+uVFb=2h$JnRXd>58FusgN01$q7sNbr57nimcS6~18tm%A9=c%rIU*v z)NDT*5mox0X}`m%1*>=?%QdVBy3zvmk+<?cS?a&I@ zf#9s2=!#aVs_Jaj;}nV(hgX)=RsmfCz3-w5VMs8WvGK)Eb~yM#PnQL>5AnHw%*+C= zS%U>!0|1-Ao7G0=H~i;f#eHN|c*Dbl z@;0mOv_1TEnK8Z#lx@t&CK^K)tHYa=ab&Pyn7b_^Eg~4-6FfzInUvD!wnZY;BLPSQxKQp75P2!Q=Sd-7->UF?<1dZDk zti3@4ZV85-iop_zY-C{YV14oc%#TJSy0W#&tFe82#Oio#t@dNvZ5{C0!cu4;Drw!s zzP_=mWyk^p4x#QB%EWZJFLh=-Q$)`^GoI;TJQ+`x^uFg{R{q?gSvY4C2#v)0QTJZ_ zM&VspCL!6pssX!nAz0)brWTCxvOW{%=1866hSYWQr$!*%LN@o+8M z6i+&Pt^W=2;EUdQt>R&dA|9qk@sOo|M?6nm`X7qtSNDX)^H=z6#luzWNb#rzZ_yrE z;Qrqi4^tHJFg=QgEd4v;xjPw0w(yCI3*$8bPoPG$X9=q=0z5OeqhbWL6*5A`N+dpW z;owNUA5&z#+pxPSA+E$1!iVc1N+v$)S6dQrdJ6W9rk}$V6)cjS!_^kBcaE&InCpMw z`v5IAq^|b4w_^$8iSR}t%m*7c-%e#D;eXqVE#FQmCFZf z5CItQ@8=(De$0LkN4?!x_YAm=A*scknJnieotZA?ot?>#7c<6zTI{?<<)=}*GA{Yg z<#X*_Vfj1&pRIhj!b16QQHJv23JfZMtdIU5$cM>_e3&lfLw^1(`CN4Ie=Z--oniT8 z!)Gg>GE;x*#VtOk4(|V*Yq;KX7yujwaf`L zpqIn`#d2QNE*`v!eP8J{vnI?KBW(igL=Mh!<7~+20TBY}} zO7B6HUI{aDQl-r$OjhX~6GxjY!+acBMyG>OqX^2~gk{_=ip|}q?w$PZ?@&hbyO1q> zc7qpN3P<9dxXj7ul)y)8*1G_Cfm- z)K;49;(oM?_|A!`=?N6ZkAFtJ-iyL`6h0J2gXh_DDFtbzARbi;v1Tb?O%PZ3sKwM! zkFx?eX^Ag5Y2X(Hav>*EzSQCiljwTpHQ}#VK6#=DE|j?=Rv6T%8Ha>SDM9vkMaaIH z5h42r*J7k$BW1^ye&6MW7S*= zV)Rxtm)0;zu0*#i_fK8Pkr}EGhwLpfK=rBZKsfV- z5XQr@l1fQHsDeTuL#Ab(X)aj^m+?RLIpcei-3#wzT0Sw0*)p{G5EiJh8&;28J3 ze{6I$?%xdUZ&}so$EdZW#N01lj$kMO)u3%-@sKC?tzD2H< z=>^Gnv+zAg-McX5B_2e|uHh!0?0ke{zfg9~S<0=Ay#<@^d%uaz{2xdeJ)I9+XkP;@s< zTj|QmxZ>`Ui(TGOR<9N`DcOTQB*=Ia_x#x8zt0LGJOCCXa4xn2J8fEchPw9sQB{@`t7=qFr7~j>Ib=5|mHLp9aOz1SeU=WS`q~g6cZz56#ZtJc2Ua;jYe}x39Z0 zxqi55*oBkT?R!>}(prM@d1HMPb$*?oNk!2?&k*GDMhD$RP;+K4aVakh6GOP+K7SC1EzN%jh179G3w!~=Ik~3?-hUQ#WIL}eb{={xCAi^wP>xa) z{!CCs-{_zT1m!tYm*E5@uy#sv_KiU*K}o#jJPJ=|5Y(_KI_Q&lfKnVNEhebS0@?HQ zM}mq7l4ivoG)^dyrzoHxLFo>ZQV22}D7gvBaiFyOOn^!pC@mx?*8wz>piH*WQCil= z2})uc9R)OmpmI)ZqJXX-sBBAgN-lzOt$xG4SazNPkk9Hj>_Pt`Xp#e^-w{-_A*^)v zlpZ0dil8W3FqohUOPKbQE+eSHVXX9h96;#~J$5}oNe%;re-hMuY4plDgP`){Fvz|W z9!pS3Ls(Aspe%xN92mcZpel!9^|4qcw<~&bTM0^Y096uHWP$99MJFi90ra5ov?DrC zUV@t6iZ09^!qY#ZgO0dCDP?|i&}M=f{vHO|=k6_n66Qq*6%kb702)J(%K>yVLFHEN z?0LF?prQrQc{gA+wSO~ zvk98yP_-Ik04lR6*^6Q&K}8lNd(g`S`7FlmK~E7>=|E{DK_w29(g><@0Cgd#!U6QT z3!r)jo|X|b$$`==f*Krz`D=n|96&!MD9M4Rs|iYX0L2qj>j2u*@)5Ma0aQ&;l>_5{ zA}GZ{PU8uxbN~$_DBppn9}!gUz*8JS!{3PBCN!J`DCKX_LGKdedow!d1%k>Q82=SP znGPZd5R~B1eOxIZD>?ffv=c!U4xo>|2WV1tICu7xst77_0R4fWitW)UJw{L&=3dc8 z_?hz?I0-EO3og%fS^pwF{8~oN(f3OB`&mgu)6RtK@DVF zK=y6sAc8Wp3(+_TyvvSdV`<@2TIckinkVX3PEbYxtMMZo-Cj_@Y|Z?iIX{gmG?O}AFKZF!Ac6*JO7 zU}?R>H19lu>a2wtTdKy_hXHbJjb4G*5|pz>IkB}wrDN)-v~-}06j}kr32{a1Qj`a4(d-(jYCuV0|AYV-fVq) z5R?)up6pfVeS(HNEW1%~egVqp~Vtrn;2fa#AE}DN;EcT$M2^!@IKQK8+U};LHP#G`nkfs{%G~hOb2!@Ls@C2s3m5yl;$DCkA+N!~)-&ub>qZ&~c?AxQ zcp+rD3i&G>-bRgBB`Rb#oH|4^iawm=TFR|I*yzYzJ@qK)>aI550oB$Z*r7TfQH>bp zlXnV~_(J1<=)&*hE7ks@srz}g!qNnGgh`~+y;bWH;1xQD@VO8B)1Gd?7r=UB{x=`B zJlwO}iBDbUd#m!v`Itl(p0fMkxDZWErWBT4|mW9d10q&HGn_L}Ez25`yBK3*Nd0w2vNpJ#MzbD}s@1dym#G&w-sV7IK zK6M>U;e!XJW;AUV9*!O}d3ZYC62L+-A&I}d#7evfUL^h}<-9FU;)`&Q_$)ZaFiHGZ z@S2I&{4pZy;l!WLHzul-pRrOdvPpT>Vk_mp!;6%cDyLqY#AR@h@^U!F){mI&Kf-IK zoMW4Ek#S<1qo=VF0)Db9MDm9uivpnl5!V>fPr4(BzA*?l+T7^e6ovq-UFDKa`_8((k?UNRm$gB zDVN)%{A18DQ%+VXU#FZQ;w1KggOvNiF@7m2p9Qa(a;9y{<;IMyBJDpmhx1%vlk(_= zR?36mMP~0%PM$c4cfvu+cfm2f+Q~d$3$K}SL#bV!D~#?c<(^i`m8~h~@B_C-YZA*o ziS<^g`^@4dLZ)W3cOQj~eUETdv)8kbAzI>N;`Dr8y&n$;_g;g!xY6(iv~GNF_=U$* zcugMjBdZ`zMpYUUKM=V*b0jR6s#fksg=^kt?}QoZw*g)-v=a^)3WQ?COcF%3pKr9p zt>W}N+=^3-^;?M$@W=N?LPm7v`hZucB>TSzQ|kzJAz`Z=VSix3zvKw(O4zS0nEgOQA5h4`9B#o^HA zw*kA#5q1Y*od81#-+hoJyxY4}nkk-$`#p-nEM>EZc{-U_KkY}c9z^!5d$Wj-d@Mzc z+v!D`IDs)>171QO-hpEl`La)AS>~{8_X`B#5MC;7wEx)eK29BAlEzb?QwLW13r?Ir zWmI)K_=b7&*LIzCL(HPStp%3`uQ`4B^=DAJFs^?>|Bi6OfRpn?Ureds zL8+-L$XPJs>nYFSTtXerB_K-?+oj~fESvrFQ}?H#i}Eg#^B!XoQ!e=g<5ZrL#yGJV zd$Q2zY%)iP5r?GXMqCzdcoGM|i*|LWa()R1t?+PpO1uq@@j7}SJ@JR|h8tU3v#3nX zsC|Eus}F8e4~&VMeeowQnDwI?^15=<;t%Y_q@gju5h5N4#;KD8wh-FvcyYug3?M1$ ziRZTg87@!CQmR&%DNnQ0)$Hw%#|F)HA>_(Q~8d`jgh|_&MOP~HWFT=~yvJIp61GIeK z&1*%CJC+P8p$Ud*`5qDFL^MoG81r%nzPh^!9-Fvh|EF?nd~Clu_;{Gyo%rqWl{lBY z50?j)xwlPSt&Wr9OiI63KsdDc`ed9V*Ph<*)8tqRjD1|ggV)0{7GF~X*E9Va=L@?;}X(SOh(l_~18+-+Ov6~U~LxhK8L4ql)fvuElnn`KKEP`RgMTC0P zhqLK&S`0_-VBs4F)C<>648S}iY=OX7%=Bw09++!lQTS5Vz+_7x)b(e0dDP#s45!UE zX6do%*;?$DL1K_=#1>d{T<*)*G;V7<+a65siOXSMTquP`q=DQv(AiGTn26s0d{_m^ zKLOqd*++xt@&cy`7iCJd8`k(CA9sz>7eZ2`6^h`@OdtBln<{C|H?*(s=d~ zv((-DAmsjd%7%5M={1u1R-qJ|LaB%p$}yg06hmt`0StYCVHen{9O2h$$r8&2XAakd z`9_0Be*LLUe(h)=)WZv@tj8HPU_Q>)V^!clj(`Q+|4 z;pd4fQCdnklh1~5j?zAjq{ea=35~BjLGw9!;Ut!ZwvuYX1L!T;R2qKFKGPB0$QH9>}M*7?@18YD)rMTH2DrNF8ZQGGF4R zMmkDck`dR^770HMZK0_IXp2z$Z<-gTC)y&E+Gz_DiRh0AQQE>6)RwH%>W^0Kvb5!J zQlz%b#ZzSSVhN@A8YL7{TOx$gp|-Gi!p(~k&K&alUula7huWfq6QM0kjoKm-3TsPt zzNsoXc&pl$T(CfGNn;sXqnA;5va}@$kPfvafiHD2OlN8fjY3%3B5_YcTWB}}+9K5c z8*O2FqAfzHowhKM2yG!mX$xPRzP9{vhovpG=SOPG6g)+0i)5ZvsQ4Ns6jNIwgwmn5 zu!O?eqJ%St{Qg(kBEq4zDB(nC3sa-Eh=ju0BBoKHFdSXhp+5PwFGOdui*C)BeoZ+- zJkt+jJjRH%c(N2Go;uM{^Wx%5WmHTQX7M%kq%`9-8QGOeTy2|g+1KIW?zb>N?c0Q# z91c&s&8N{60T_Tt%McB7gCbnN0eU2hRYBb0G`MwK_y5@Y^Z2-mEB_mBBMTH_(K6s5 zz<`nnqD01sV1ouPQG*1nAc2zLL}U!nj0q755DhUzAuIyfpr&bC1T<&@1WkaT5IiVh zYXcU|DzS@QECGe}npI#HvBZAfpHtPA)ap+7&hPj9@jS1`ua|XB*FE=Bbxu{Cs#CXa z-DjA)e1W-K>Y(_H9S@4tandud%`dp;#3wic#?DvL5irbQl9vfnQ55yenLgq2YP5Xk5Xy&@g9HtUv2pvwXw(Q5_1m2I)5d)MdtOI`1TKB zo#LAK(GO{McTlXfEV|&KDKk8?PFd8Oh3T%#h5$gOILzl1uRiCqNNjph9d#7DD_--a z9a=K$S1-I6+LU5q9$vK)b1Bw~?|$KSTFIDS58(tbzOa2{uZ4m2$9`rZVBTrHQ5FLD zBE;f0ZlboXoEkgP2o`s8Rf{LY46E*!Nn@|s87J?!*2C%vpOCgs9-aIXOtQEYdEx^* zukpgg9r~3gTik(GD;Br#oA3B6u7uX}{oK6UYhyZ!>pw8s9UO5g!_t&Od_s4_LGjr| z)v=`;Fx)+SRK|=p;Z&g)Pd*^Zho%#C1)Fq8QQjjmn`KBmV#Ux=n0X(Ne7)s+NZy5( zZ+zi5W2d%%_C}uch`qq^T?A8p96PeltpyQFxu{C<6ek~iFUWf`?UNSG+txR!`24qK zVrFcKd1xDEtnjLondw#cypV3jLV6w_pSM3I+*J$q*jx#R zP~g0*z;})3jMV5~^??Yh`KhhXJm zaGe3%X}5>?BWw>%RByrAymnHmm8d#CWAEx%-9?{$zEGQ`n33Ss$7mc{j8n)R-+hN7 z&X+m%0k_sN|K70LNPRE1L9uNrC`fqK?bwK87tKaGJXPNSK-EV$^Z(J4X(X@L#h%AT z+jtvoW5wslE$ZmPZJdp6-Da2xYhC%q+PtTtMC6Hi2jWogQEzc)a}89-7H)A+oNtTc zl;OWwuYemH`9|VwL?gjQ&tfB&$w$wsAzB{T$nrQev2-VF^lbd_i_}Oiu~Nmh-;qYb zmk8yFM{9*vS-dUGh$_AS=LH2Ox?KKMZ0 zVphg9CP$K6KlN1_!wn_;;7rew2nWZO=|T(_U?*@#V>GmfYhxShP^) zM6)}lsXp(Rvf5=F@h2zyDqpbRrYN_AQU&3INMKhQ_hfB+X=#*)0(=6cmX+f0wM$E@ zYV($s7Q_o*TYGD${o_sHl>ra~HE$}$cfBO`0?Rizn%H*1Z`W?clka`Bp7~*Tl|Gk& zy++BY(K56{8~yV3hVVCP-rNu_D!lL8XR;Q1?6eKxqXzlJ#fTc$N6*ElCsJ&S{Q3+AIXqq@4EQKog~yJj-J8Acod$azBwA3lfCQWw+!od9-lN}nfvecc@Ng-{k1;t z@3g6S6<46QjDbTxynL8^pz%KU`{E9+^ZS+|$;B@yFmhc=SL5xiMlNWOO#HfT$iVci zX}}CvV*}F{!_Z4E?}707ikUMC;`zm|y%<`VI&fh6PO4YvVjwt1{x1Gf?hhtJ|&vUV{oV$o4&PEvxl8GBii)G0iX&}Q zeNqV13wqE&U#DnVmJcN6KI4KS!31yfw7xr0toS^v~m< zBOd=Pxp3>y`g^yQX$!!lN6eRinOdI(7}m$Ll|CN7Drp! zp~_iSKUN<}JLTLSL1Wxfl*t%Dr@U#f1Q zL#5SC$b`eW$e=!NlngE@?bSu5CZ$8V$|=*TohT=Tm%kUy`dH3)+11nxMZ)0uwyA=3(D-g`BrUoTjQJV64sVUUvxf0gqU2g^3a6owG^l8Cc zWXIgHPiiWptwrsouSwnK^$94m=_m)vo2CsCknW9=K*PYb25e69g{32^^Vsppx@E^> z@$*X6Saei(3F2vcVn>X~H$c`b{bF>QJjL|AH`_Bdub6Tbm9AO%>A}Y%+pIY039)X?+xK2?xQ4}{LOv%)m=`kIWx2&LLNJ8 z2rqp`LNg@9Cplg9$hxh_Vp{b)$~@}9X6$6PY%!pjGgQ(eI3^u4RVqopc4F#~+7O;u zx>zu&aTrxXQc@Ii&YGpKA8dDXj6TL~^LNkLi96>k0H|o5T?o;Mg)@kNiq|9Kee?{a zZ*;A+iF3qo4AQs}mf}5y;l}uXVQIHYjUdB8O-gD+k-z|pj;%h^OmD$*tfoyuTT-qc zEnKtoL&_Cy{6IPtkU70~1E9m$heo_n$yK0`{E(`mKzWuw94)_t$0jFJ?wRwpBU-u< zH5M+2#_AQK^wcHhZCO|TZZxrd3!gLL4B&#ga?O7G>dK$yt3+k03%+yr2siD|JSK_| zw|uDNZ}FjlW-$wp9~HAdcT`9cxDV7hYGY5q{)HJ6$EVlj@s%JxD)KRKe11Ymd~1Lq zRxPht>I<|!vG8P*{MeukR)0=&mxV5K>5Mit=%iCvjR-?i3H;{cfa)E+u-N*&y7Ko9 zODx=)FGL)YnDO1}`0NFTCFXpmzWi-Y9sWWs4}uaiYHMP5-*z&tv$6)8z=RIQbPu5cwR14umB~9MkTNB$!J+XvD=~pZozV;dZTf-`l z$JG-tt_@1z@=t2Z35sXeGOJ#|bLMWUYi51&xFE!=38OpJGknhkVnvCbkWi z&*gGWtey1S5#H|S~ z?-d*%+wzdLRW+R0{@X}#i=^le&8DNW+{SYKVs(7p0=0uSE~wYFI=${!`nA2Ri8$`-op~p(TLAU%=jK(*XHA77t~6z3evw@6Wg20$s=DbAIRmJ*h#9c z-&Du;;UhQYwdI@m^)s$l$Mz%PF>c^n*;b8pvHQ7PtAOZP5bciHk0QqxDt9JBKHl~{ zb|oM~Kk9H9QkQpfNx2|c9bXiFjt!kFH*u9m?VP%JWFL>)S=(U`XuO_B?=?dweTR=4 zs26bB=uLe7W}gph%kPO14cd9)d=RXyK5vk(Yxymbkr-ppjMW6+(efqTv2SX%h!X#% zUZ3kZvNsaj=Z)hc?VF~Zbj)N}!h=qL$-Sp0zHr~_Sml%)BBV!R|56uEsLD9fbzgc$ zES=L9%1Mc|AaZ-g<(8)gJE;1Iy{0d{5XDFH>f4CFiD*hwTu{U8fHL(AG2IDv89CB~ z?b&H?*b5pwFDcdhmYZl9Zs>fLut1Z@W%W!Em?bj@`F{s_b!Ro+xThT zPZLqbe6rNUyEgA#1QM@}Dkd$O#`YsQ+r4A!MvOr6(CS zPROs%oUxxKzxWnSH0Zt>_uVkUw2GO`yY=zqgd%x-X7Kj<@`or~oy}`DkM$S2AzsGO zh=;%m8+hvTR@gw39_(xRRD_!ZxB;#{udcKpnEAAUCEpw%{H1J!C*UAvhzv{$VVz_GMPCYQ3*9P)~aM?(t;pD z`Di{(G#}c7<|1kk_2uXWf=Yb8X3i>Co}HRccIP*eVs>ct_O7zr&et@YO46L?*b}O( zMl^TyN=XgsLG4C!+Vs>B1x*(<6XF9+dF|kIt%tR1W?LJtE^XlRn$|#=bZcTuBbZ)9 z^&T;O9vL=H-^#MxN>TcP;G zwTu*9^L0ITxD{K@7F5%}%lHLM1%$g^`qo0m9(Jd*?`Y-kG1bjg%(tpJI#(aq{4$1P zGRjvq*!GeC?kU z=F!7j4CzxUzNUu>N?rWGf@mHg|K$qt7`@~5qX))j6fm*Q|G1I{;zkD*kq~bVGNB-L z9WmFk)81DxqUE+0L02Li*UDlv&%%6^+A65JQ4X-(hk~Qzo)HPYPb8?-2I*vhASg~l zk0w8*D9|sGc<^Z6byCB-!`I1$2wl-1_VF2d;Gr-JQw>B z{NG2WaSQ$8mn-6{TXxzgACUr5abInDN`6r#RE+frk>9$_k>4KDS~bGAw5Cy+H z(i_zj^O+~7NnC6pAO5;-k>Fy-iOLNqI3^Bbu+C9eJt`r@Mr{MHG{HWsn9e) zdNl6e9Qm!=9Qo~07pw2Ylp5hQG90(a8pa&Og+=oyThXGSeeojkxS~Lc>4Lw%Dq7o` zY<{$GokeSk1@~d@HCUhbI#r;E5IZOuM0<_GkE*4ngF$9}?TX+O3i$uPe~i@=v1W?-HH#F^#XHFST0lX}6HH{LZ>W>6Z27uQ6#qh?Y-$vM)8O zz>=WsY(m4@@~4708EfH2{pI=);89x%*c&qA8c2O#oJSbrCm za{XI&iv%%(0zE9JI1eLyjLG=C-=8eZi(lSLDkgaaXVN0g`Oq{AcO)K?s5?GH=yGs; z_B3t1RRG5}+<-`IZf*JFO!ZIT%frNS|5L9IUDxyyX%P-?!!;(ohgQdSJ0x-Hnow=| z12hCy@^x{sU0irNahZL!cuCTQc5l1b?=4wG3)b42 zOQaI}{j@gkN#dhF*5|#AJcYKnuAJwHmzOY4MyFT#{~n5m_-QZ-25CD5{HENNX&~VWHfaXbHa7{I#20gb>%NAm0BRcon1OPqQJty2+9Z$P&aEKR0=PFn})l`a>4w5zYl%C5O8BkwbOy zB_j&*PO4?5rq)@Tn0^kQjbq?1-w@jpr_e^=w#uS^gljq?F+OTNqeIhlx^nP& zm|tLnI5yJ=$3+`tpx0Rhibc9AWDys2(()B_`cXcbcY#8`XkJ|7TwPwf2BEsVLoCXY zjkdmDR*AbPaI;mO_G(}m)X)e=VC14DW*zs|#lJTx0;H@~U^j=EP;iZg6f~~j58V~} zO`e5NK9wlyOEkS8s8xZM@r^B>?U%PJ)>HjSYsGY!QXw5Prnv2~*Kk8ncVSZ%m#jIc zpt?P8lnhnbSQ=rQ3g)F`Rcj{Tsfz33zp+Od%=f7s7f6!VZ`^~6LmHUB7GM=u=jYm! zi#uq8EH)oNbKEMn(C|NA~LUh@-bqnqbpZ5oz zGuD;g7fFU#7U6L^bMyR$xo2vcd@pY?*bF9igAM30w`td2pwcwiUL^7HqJJDpeilyF z#xENor^6D)?VzKSk|Gl+;F^eLnvmYgXlkMI9+yo^!AZ0K5Scx5$I$4 zC~ea{vG@3XWvom2S+E=Xz~bGDHF&xYg5&WHsbWeEz1R(+2NvMt8>-_ypM7xfG=;SB z4m~%8V?NTZ5e`qR*o|9m=RcoRYL{ampr&6^#z$Cw#&M6pwoeM4H!}UQnE94&0C}B?YXJW!MxK3@Mz3^?JhFNGNRlecp@pdD{MVxguz2yW(a{G$Bs*aj*}UZO(Dp2r;oH?A*lgrHC1O zSxn6H;t7#5AJy8@<_b)yT;!|a$Kqnf`xfef2xt1%V7Q6K^Aeu1M{VAFgg**xfpzh* zh0qGK6*V)670tGQIvogykGNj}(~NyIpJrgDr3h-y9`$+m35wVi?cx?ChmUxjp>X%I zGP=GGkHbq}0{2bgoTNtPIkcjiC507bK z_Ar$;N1^M>@7!<@hTm&yaIA-=1jZYx!$%Ad8lw*Ll&Heu8aQGc!eY2Qi-xPiGp8w> zg>J!JcdI854-?Q54qH^5_mHAu16_E!ZmeJSMgqT+Yg5E6bWV zB&A=|K7V9E{VNBea858$p#>D?-G4a1nz#0#T`~FEl+?gdH?)hf{u??|JQ+RFQX=4e_wS>~I{LlcAAno*trM46{;j!-+@ zL&|3u?&Fif+`J_Lqi?6eT7|C~KnY*#;vEWUD%x(uK7FpnV#WgGaxvqeRg>Bo@np`?FAX`yWUCtIBKrOmU| z&tB4Ob>(--?~Qh!+WtwwN!xzdb}O+Hm-ge*`X2-NVH;m(SIX{6`5r0J#EmvuPC7rK z!EN4O_Dl8`vkUh>v|{jRQn4`uRA1y~x3~ECWMr+|SbS27v2ZXFyNBHuLy_1MQMPNu z-mi^qs*Rt~tk|DAVDkMbvFsU5wRvZh)h*k~P6>F6XqOdV-c&!5t@?L@KEiquVC*wF zwKUqlkSADd)+AQX`;=wLQ%kGr^G+=-;O+Csz*fQyewx@yp|K|Tps#k3@=coA*XCK= z%$hvcwc}UUJD~OPbF{)!AHPUN1NIy(b3iZBynJ9w%A^onTXn(E9S&ny31Db{Z+(2V zHul!XFKZRaTWt_|mkEJ4JJ`Bk6Z?8iY@h1bzCd+5DBTDY@8R6S*4}#uwnUf>z50eV zMbuMi!56y~fDw0(e!1*z!HnzLhKdT>5{n9bBB-F}-BO_!S{<89rb#%;Z@X5_23q)0 z26_xe`L!*U^0$cOt+xB~F4OH3%3toFLb@~WCf(@DV%s5rY9qyoM4gBd5FyR&@nxyP z_V{MkFRg|zKUw5b*YvU~vQoRk`%+`>_&L(HKJOf9TUUNN*-h5gtLgQ7W?)M-VcQBH z8JMO<%x0ZPtOB$B6J1rEnYxm;T1#^jLy-uzVr~Tc3@R1vv^=QNyIl`Ab(-+%VI!Bx zg`m30=B<_}7Oc;^Ov0`%;)Q=YSL;M$*wxxq`SShQNxyvh%6m_0($)*r9-V>}qnp)b zc;BQhrpGgEOXZ3-vZ!?he}5AfvDg2>4Kqeq;PSgE4F75ClF_{T>tfo(GkH%1!|TO6 zFD7KZGrHi&(eSEDK8$OJwXpvr{^Jqm1;dCGUqd*>8wLxW3$J>P7bdvWr{g5plf{lG z<|L=FC+o-|B!9Q7-$c>L>3-wi4|V6FnA@`b2${dne6#3_IOY8CGb3!EXHB5*6Sh#@ zN-yKhlfJKO=Q&@m(kF$Z{pnB8a&(Fg54pL7$LrBVqT?gIHPOKbX_;9JtkfmlUYEGi zbQ)MG0k?Pk%1&5hx*=2;Cta=Vfj#;hJ~?~*`K_V;GJ`aDz!F`ZA8*<;uu^|nUI+!h zx)Pa+Oqnsm?1aci2p+cQ^!1z{Ci%(?`5q@Pg6fj*gcSjCr!;Wl4%EB_|nl$EObnt)GX*tkurXYPzK5l^8VB9evr9 zR+~1R1ia~noau%kvz?M7un$Pdn^sYrR7UYrC^oQCf34Nt`FmsrGi98LDTv1$guOHxL6FOX+s(_PG8 zbhnOyT7uhUiLe-b-Qs-_9FrGbGAe*$@jhha{sYcjxTcElRQ;9;3$J=UtLaCqw24+6 zStR-9RMT69(u5@7Ouw#8Z;9bTAm4DN?}RPwz)TAhC=_HEpcU@}0Do1GAo}0PjAqJk zu#s|scq6sJnvsenKb9fi;p9bBpWNCB`=+WY=xGfd6rXOIr~6K*Mvb$pgEH*H6Zn;4 zg4+=6FR&})-Yw~XMSMY0uyraTphbX zBv>qgk_>?{2PoqESqNF{XWJmpNHf)G-S7lXYtvn-Z+*Y*AJuo6WtZrt#v;ktJyW_` zy1pgg>$?XQy?P*P%iv)*CpgBXJfGb#6#MgHbtkw6f$Y-tZyB~A)-M(;* zKE+4p-f1^pG2*8_y2sDwc45}E>F&s;d+HXv5k6}J^`#A;xCK35G~#?k-1&-Sg}?8? zwaL4j#a768{Kj6H;t1qIqaD;%~X~9&aGcW2*vm zRw;C|%YIP%KdA%zZtFys9lMjT{D(7cc$u#`a##L`Jk~!Zyw~l&+=jn}Bm4@V{q?MM z(Q}YZ`+ArPMUtieowHXq+blp2*G)F9qAEy81rycx2NnU0X@Jy{iN~>!D(TJq4V~03LL}BE$gZVPS)g z*NF#yo1=qVF=QRYnR6+p>dTy0?KRPy=kqIi4+EjB%5=aQv%+cgRrPS1o7q^ zhOLr0zjiiS4P|ImX6Dr2U_Z3zAI`Ww?6el~<{W`Fb8dya%qhLn<{YuxyDHM=6carE zUjPRgz<~o6@#Y+bHFN$C@>%`Ol7}al^E}@=n{9tVx^;e+U%AXVYDGwlV30`in%w4; zfH!9Vi#bOjd%H>>gKd#HhgYE0ScX=WW={PLf^M#d4z}6o2(HwEmNBQbh&N{lpJ?Vx zBA?kh3+(o;sV(!f_QTl!(JhC#@f-UBtxsHnNxp*|GJ3lWf|9toz^1W zoF%Yk&SR0!Y@HQ$dsk!HoMM710as=KS2|!3Z_X-MGiMRB`_^LTi#{BwT$Vkq1`d)rWGeFA@N?{lw!@t2G58{zUToCAvN8}{R2WH*F= zSXjs}d6Xq=9~iH*Z}BU9_SRV)bdl=_U_8(qQ?6dq*}8mL+y`R|x~3220W4TBQ2RGEj>h zs)(8vXu8m`@cP@Ogl*z;>^TN%O2TuL9$wRhy&xX4-*Yo*eHO?f@ z<;NT6@A(xz`x{vsXM;0$3Ed`={A{YZ(=mYroVnMP!D8+T2n$kbY?ZJ{nY;1~6m85f zOanchX|PCe@C67oWeAkHjxXXpN(HQWlpT=AqnKjp8fmuMyPDD-MNIJaZvbw|0FF9f z5nm+@uvR7g$Y=E^KOP)+&}*(Bf|fm7*@rN0&wuAvE_=3G5fW8cB$BMUd`f3e+fxGG zo>5qg*Z?Va_H2ZGS@sN0L#wt7t(u)ZMS_pCO4pGg(CE|_@%C(jHG2*qFMCR{v^_iR z_O6z+J;emS6L5D1aI*sz@%C(iHG7_bd{%qT8t@)E9g(d14*37bMbi_a>VS$!e#&~s z`23ox*z@nZ+q8Q3Cmh}7ZbxV7_y0jpS>Y#!tGI2vW?T7{t7aQ*xJo3^IFekEyJjWe zYc>T-%??7?-ec2O*rGT!yUnTCw<%);>}ASAPZ0@r=|rG8L!g)|0E(o?URbNyw^%e( z%}TL!&9>O>U46*dL|aU77lQq*8Ng*+0a(P>Y=vYs(Y_G*tTnsf?g>5RdOwvpv~;39 zEBTeno^4iy#4r|#BnNZbQv%+eBe0Y*fOyX{3R@|A_Md`Q9T{3B(E)pk1P^LuurouT zk}Cj;czagCnmsQ?-aHSArR~{mw|AwGF?)&$mJ7Hi131bRfJM@tN3ybKHS$^Q`No|S z>^aZ3&uzXs(Vk;p$!*VGD?(xni$sz$uE^yei|rC8dYDZ9OE2pO}dn4na^gBifhTme`l z?Rg|Cd%k~O4trjFN2ceQhIaqR^ThMdNsTZW+#-D5%{&umA3Hj{>gcS)=8%;y(aZ=R zNw!Wkc6v@H0cY$)3oI(MLi{|u4faAAds-_h4`-;{M$p4j8h?+bZh}J8>>tUHX<{}4 zrU=E9gK37f<&3{-c`nG1Z*lS>tP)AS6?VDiiEEIL7oKz5$mW^PsNLMvK?yWZ6b;T1 z>R1M9n?n`xrRadQQv5*jxn@3}q_n8AJz3f!w;s2gB5N;8O>yM4o0qtm=x`iNXrJgb zrsf6g83~`gYt||%j@r72_RvR?y;G|wJrYa6_lGiVDqv;RZql$DVcJPGL^rXsFXLgucun|+4dWF8w{-d%c4Vq*mh7gg8OmBURi;p)3OhuS zW0_SGO^vVbfyuL&2jR z7_nip5$*6409!!u9;Frbnr{I3d&xIWmR~XwX&>04T1N)9>vB`ZdR)*^)0`}Vp?jVUizV`96HovdXstQ{e{$l6hiT$fncV5LD(t(Bp&bXJ;Qpl^ijlS%($yIfwhu4$^ zPig*9bTjPsSA+Lu;f-b}-b>I^9lKH_XxlqyhGUjt$sbICmMj@6%`4Cf+j0RJ_HFyC z&~2dvXAsOI|C>wsvsN?6NK!?Mtd&b)1Hch9aQ3nFQ3Ute)s#IJRW|e`ir9h{NzR)Z zE~lHS1bkC1hQ+QW5MQh^*x_?2))!jTOg=qle6=C!#@t~fH0Fv1+iB6WA#=>-3aD)m z@4h-Ds|nFdTGh+dOwL|w&1C&WoJBJAxz3n-uG0V%F-~svB;eI+gry)&ko52d+Z02+ zZ~R>9J#gcAF9^9%GeAP>i3amj+=7fqvxh67ig@*UB`fu&|0DITN;>tv%Wk2m>Ww({ zDu9Y4m*!Sa0$#mJSPD`F@#;lk=SaOnPLO(U-LP3bEgtfuc?5y}fUKmVegxk+3l&Gl zA4Pe=POjM=9Wh?bZpll{U3AZcTGTz0yz#9!nW{=(|NS?zshhGMmXI%ILr`wNDgm!< z0W9k35!HUqALzkhtBq&JQ=q|&PTS$+Mf|pjPT2S51DCQ;887_9xOw`A?B=dsJheCcZdhe8u8*;WtV%|uyA#=)6mq>S9 z33ywiV6nxZh_l5IY|oF;t>HN7_QUHpSABnh)2)hfN;lEqhgy6r%Fu1pp^Eq_AA_|j z|Aypq>Gt3a==RY2*>vl6&AJ3{7fD_+^=a(pnJxlOw{>N(=vD!#bh=f-COgn=`Ohdt z&v;|CXDB5^PDFkpLAw_DdNTxCWp%;{2&?8ANZMeV)DXUhydpn6u1-%(`t0_u3h*rQ z6BB$xz{w2YZU-!qZVRy17Ct#W$E^3iuXkSHgOP0JYOx#=Ary`z>vEe*0^VE&u&7i7 z@#ZRqJyqta`6-2N%_wxSGnYtkIHl}w%MfUGT8VgbwZNLWN|DbrSBKr+RhBlFnBY?_ z4t8b$cQ{}XZ>~;QGuQpdXAKfgyv~{HrWe@Ey>i#5(REp2qRlVCZKL1qA2WMf{%kgL zcG~uwL&rk*I#dyF&J?Vf^Hj;_ z>aDx|h2FaVGuiCbU|A$a>B^C0)6~6!>1~=4aQ3=#Ox=E9We7)6;p|lad)_(N>zL$?;LfGXm5pR~f-?vozmvu=?*_|NDy{N$!hot^$X ztpF5*!;2mc-NedCc-4gS={>TJu$zVy&7!bJV-9rL)>c9{I?2ux7-aiDk!|Uym}x>nZHRlcFTV1?zpr zJ=MM_dFqR*o1Y;^q<8~I%uhQYeC>=IwrBg)g2Icpc{mhaeQ4H-tFV&ScSe#eQ)_LF ztF@X=S7pa{E68zk>sAnJl1)O`2C;OR z8AQ}%HW$4=%I&KBC4u7Qm$aJJkb#&|m@5-P2Tv8^trBa@5F3pbURY?=M!fu6Ni=0h z3;{5-r2`u75YR6W;~em*RkhRqm|x}Lbp3*l!mCcDZdrV>>WN$RZ~}|!rhU;5er*+V zKCtbJwxs~n(hB7&}}?So>~_PR~IWK;Ho2`hCq{5zTdTSuN;I89YfJO zmZ71V7$((?lUmxpuCd}@>_PjHAG5i{d#;+`=Z&~k{(|9wQtzl zU4>`wc&py>n!oi7mfy;r4j=w*b-3(af`sRfsUcF}QvQZ7>e6H3GS0HQV`y6V@FBg* z{RF9;7xqbYeEtE3vGkL08K-P5eFLetw+tW7=L(koJ^cNRyf(b_;hON=+fUgtyrQiv zqmioJ-8}qlbMrmSk=P#iNAKo!Njlag*63+6%|QZl&;_T}3rk8L#1C;v*tS&|{G}!h zar1Y&RjpJY{Ue6&cRa-s6{H1ku?pB9*aZ`^!9b5QKoxOob1O9^Ydas*b;z?XqIev2 z)S*^_rh!v5xCklr?ar%l!z$`pwn)kiFTR@2vCit@-*7AKV|n3~UHoic^y}?>MGegM z6;*`*Rx2u8zk^lIp2u%}W+)Oadn6J*e0@#0j3Zm#d4m6&R69$!7B0IlT=pJzAEb6T zPqt{6{Ya&D-lcY~Fp#D1hRa^1MqWhf6>5if@0Y$G{{9E5oqHnTxnruGyRz0!nd#|w zxGnrs&e}=)EdrCk`W9Yqt=j>uQB zDy-(U*Q?HVLq1-(_DkcnQ{_;j9#u5>n5Dj~wbRqPxpwX>$kswT%~d4&$d8qPYjWB^ z0=|VNVJTt?vdEQo5Vlj^EOL}edjS=bZlT?V-_?Z6S6dPd4$;D7kMmJ##@0eRVL%m0 zuK-9htpMztOS?O++N|9xY(#EfR4`LbZUGHt*4elTHKX^oIx{qoUrnb`8zp7;I=eD+ zW$JBSGz}l2PCtJLsr6?W#^Z(NM=q=}>0K5(oLN^RL8IHt-Q4AGeyn}b%hQx+Vf&&D zcnkd2gX9CG!P9;@lj72(y{P7%qFG zI(+z@c&^7dzx15|+5AP8{t9Ui%9A}y+Waq*M*AP3myB?8;{$5_574tdmapQ>iaW;W z8flO9{XvdCSo#RA>oMgxn;a*Nud0)qTMjYTr8U<`a=3R&!??k_E(y4XaYGXl6#fbKru=n=kVi{`J(r%C*r1$!>; zSQ9$uoj1D$n^0lQlT2#m8U&^>Pkl#+9l9jN9ss~Q2M1ATgtaj|v-mGas zuk3N{?uK5qyBj{kyq2RIJSNOsipV&!wt^hVeheU+xlG7MX?__jL6Z&q%+62pr+yy7f)O7nOnup{zCcYm5w-!j8H+~JjF!Bd*YtAI6q zPs)u~VR%gruQCgs(mY;O8gKX9c$J2CoWqM|!BZMTnwmfZY^W1`pZFxFzEy_T>hKz~ z;3;jk!)t==xf;Bc!i#dJZ>{E~6(h6!B@(<`%zUyTL!g=4DU}GFLIrGr9TMR6lF!}% z8?AuXxB|9vLuP|fnm1q@tX0U%ALmrK$?%d6uOkbd(mY;g8t=l~c+G})m&5DMf~Pd! z5qn_m)tPGW@Ez9spuRUc$G`qdNQcYr4wv0eM_uDP>ZE~!bk}j;Oxl29Km35w(iPMI4ndxe7`nFh_di_vY32C7(o)STPQSuNYh+0EQD3SIwaD(JQp?%6rV z-TCQfb(`~U>Tyo85_vbv8`o&FtK9t)hRin(=F0BfAq`q&eAJy3AO+6uf8}BWubhy$DwljDC4axER!?}Tn zsVl~K4x#j?A4NOJlAc_eE6+kcmzts#{`wI78Cpt`FP>|TaBX*JJcqR zDjKvSm33(S#_x25`TWbdKeFlW^%tk(g8#DmiIZ&g^UES17kpt`>PK0w>p(0m9A!4&g@~&%h){q2z4HdXJt_b35s2J92 zXwUD-mY0RcZCUJW+30O48tljNWq(OV4OO`s5}}}~_b9Bz1zXv2=hwF!M=f)x%^p=W z_!|p@S!<}{604zU+^-t?IBRUsQfDo7h&>h9l_ z9WKI=q+4pM;df~-n_8-9u$PuH+w8)4OYK1yP(|__YOl0YY_N$1wX7Qc;bPNpw|uAJ z4roY|EaGR)$`4Q4hgP=xQ=h8M6wP{Rx@K7GaW38uExO&V9Pv0;=jU&Mt6WEDpj)nR zx9rl#E#b1qIjZ;%aQG+!foDIs#RUSdgG3s&0L zAGr3n$ifR0U8)@D_CM4k7L>a9748$)XRl@eM_K>zm@P!6yy}_WzYh8P_2UhB@swJ3p zG%}4DGTLaOZUL!sEkpZ7EIfFHCB1mzR(a#?t;ufg(ync5Z_wa2q_Vc3WB$uVzI1iW z>ZciC>P3I}xJ?adz<#c6bFPzG)Wq-b z+>ey>pLA`zVXqIuXMfcqh3CU(?_`m}hICiSh!jTX>xvXOZYZ*L&}yMNw&-8UdLaMH zU(6aQASyFrtWj7WDXbgw5yGgWlUrx|C>GB?VGAfgWbNbRtcU@?%n6&)`~)k+4hx&G z?UNgC)bK_eUI8~`;wjDJ6{YcBdM9W3#tiRGhgX~hPiY>n1lA&k3v%OyXgZO#V-Bw@ z3!c(EUInb_dth$70>him=#Tv>v*0Ps<5i{cHoTov-y*{+a(K}!cuHesRQ2BgTl5<| z^5wbliVbhJ!)wffr?g!hUK4EfpTPT`@JhIIV#JUlbgYi86AAt@g9xB3L!g=4DU}GF zLj`PswTR&?$!BkX6;{9oSHM#mTR9C_X?RN=UPl%@rFp#0G~U1G z#;Y>CW{20E1y5-2wK!nTgagl?+G}A^4+-bT) zPwvQ9Uz2l~@i(~PhCB^0JU2LL&MDsrm%YtIo@MVjcQeAh8q2?r>4K)`fBE|@qPxHT z36Ad`D($uaZ|WCmp21y;U2FAsaPI_RTIH6$Jv8XpovhpD%ARro2GXmAZu{RMVm9JR=y ziZEGMFD-^`6Y8mk`nykWN%#ByB8OV(QALCA3$-`{wZx%{_`Y8Td!bPGKtAih{NVWq z$ozAu3fhpK_pS)=L{Xgpy<#r&LpUB5C9r=yzl_=0<|7;qWQoI`PyCk~h4a;ZX$kqy zzpDmPRQO#6(BQN`o;a}{e~RqXdTcgD{7&83*G;L%gkK%iPF+`zi3vM(eLZTYuGQn# z2VC*F~Rok@CO~hA=c5C$s zbpZMGtJrK2&!0|D(t67F^cd=4Ip>{FQ73VY%E(`APBZ_ux7`HxD3Yhzz0WdE6i{ZO zg1_YK4ifO)p$L|;73&t)WJ+L5eoEOsJrG@z8M-t$T}1YE@{Oxi3U#~)jybl+Tu_}yaQ^5waLeo$ge*Ro2W@v0*O(3Nq+CjNlo%V zWT%>D$eAW!RWOn)%5546c+-r+Vwy4C;#Ad!Cu@=;2cX1oh7#Sb35)n9*#m1$a^(9m z%_;b~bdwx$rYS>Bc?!|sW~BOq3{>p}qZA_E#juqbqtJ|9U2Q~P=P;gkfN zQEwQ7MV%01k$+{f0QL&CpLm3VHX7vkfY-@Yx3TO;_y0z*AeV2yw(i7K8Gjb@ser0 zH*8Jt?g`b?=I}a&*BRVz*LRc@9)gWFXi$Rp-NQ#LD&k}`T!?5!te~9IO>4x#<)8q2*QT{zax$t^3@J1Y-h}SoOHT!*PD{T2Vs&sSg zb9lYN>kXdedVewlZ`9$5c)YPR-k%KbgLlU9QVy?Aczr?Kt{?gS`1L_|J*n%-;AhHj zC?h{@{=sM>-hSExWcFKteAcPXiyhi{ba&0lx0V;;g?9PwzAQzx;(^(Baq{ZFYMaEY zLrIf|deUaTe3xftR}=HY;Km*|=hu%3)6(fEJJm@ITVWHDjU*edpW?sM{Ye78KQ+Um zPYZd^@g*waD z58s(EJsEYVQI9Gbyz`wLw*1d?+>?x5DVB>pcFBVcm)+qasY}}^e$aNASn9q7 z(XYS2E{yxCHfJ>vZ?%rJ)m~s_Enc|e1k@sj+UQY5gSALyZGlZ^o7Hw1-Y0Ff!sGE9 z;j%k}CBK_A`jupDSjCoEqJ>O2rYE-~)x zc-kGP{2|^X+9YTu`4RG2O|s>Rv~LTqnz*U5Pi=YpHN7UXimYwM3@nsYfttC_qcp$U zBnn$8rSE%|Lh?hKG&As;4R5)_YeFOwPig7b^k8jM6wG-A>C|ibeHupZupwDH{Z5aSE0Z(b(qxZntifl=4yrkjX z>hOBA;3>`H^`-HKp2}Iil;I6Jykr(UrFpy*tUVHF%Z)c^c#k{0!7O-6^LRtBrf)@V zydlFIad^X7@Ra89M$&jAPv+Ej*zn$TctI9CrS0vidK7kK6-}@+H{OWhjXAurEO<)$ zvcn7UZcwrCs&eB6hBuupr!>d{ZkW{9XgW&slO(-{X`7NppFrPH?)09WdlFr}bb2-= zi3EqekHA=lKry$gk3!rF3oG>wR_baBxSQm0zFCHf5Y8a7w$c@_j2kiws5D<8dV|X< z_%IbPJ6?g|RXe=OEO<)ucvWeA$WhZoI)r!?Pz8(^&iUkl#)De8-7*t>$|x=)j1ZEAIIuzWZ^AZ+QB4yj5|jOc;~2%hjIcC?;N!i z)|}&)zKLQb208Bfwb2K8k!shH24Pcjre8WJ$3$Y?uW^pAKFhP>{G;$@`lrSIv)A)% z;$f0CD*pXhH!A8uN^r>qZdBBd38P{iyHuts-NS=Kl{iO``Nv$RL0`S#e9ZjZY?nzMa(8s2P&*PI1UX}-U-z*_%%_>r7=-G*1@@LIFr zDb3@xrSZ^NR1dK#TCDUz;zXZWwJ$rovMhK?^LQ0$ zyu#dg1%@~3@G7(5Db0JBDp(uw);*{Ls}?POPD9-Ezz=anFQ$jUxi$nY+SRVV%=FrZ zz)@z~1Nl#Aw#`2cDC?eQKzTZA*wAf@+=(G}Y_S}jdyQWLZjeX}!&2iTkb_*43}92o zQsbX}1B3Qttef|-M*w+|?VWrQHmMf!nJu?1rl{%V&tAK^tAGJQ%Wa~;lSr+3iyGdir6e1bp$wU@1;$baU|wV6FIzRQ$$_;-_5kMSSrG)5Tw8#XsZK z@!~hR;urbiiv~NW_|Lzl!;}t3)b{=A82IrAR(EkxWBshZx`(-{KlR~!+71%%b{K_K$Aui|swG69Z2KwIGXLw?p}-)=NAW5i zj36)K4;qZZF4yALd|Ur}cx2oTMRs#n9}QI1C>n&3>MzbfZE~n049|+)nqdpB0riE2 z*zFH)NYDS|S^vEIQD>TeC$k`N?j+NkhU`?+lsMB2GLeZSkIQWu33$^C!BUc8-Qo&0 z0&7pPb}B=OvJ53UoGC^8Q>;!{dy2IaO2iAVe_`A-70xszs43Hk2JbHbwK4;>*P)8| z2djOsMKaA@$j1v`eP$fB%ArE2y3DUXO&&{s(b-h55J{>^f!^r75b#>1_ZFC1^bK^A`-r)|f zAq$?RxgONWWt&z7_vF;K+3=biUQ-r4rG3@A3E0^ROuBR9wHV%U4zDE(p3?lRr4`m@ zEm7gMa_7WpRS`o3(<+hRs+SRH%MfVec3g%C8?S5)3U=^n3iwOOXK&CQR=^%tz)o(+ zY|u*c719lB6@1m*Iq^CT?;3~KlLb#{9R+Pck*pTP}O2)9)N{17PSu=iO%@LGYFjVg6#iL@UGc z5$%iS4(N8?T3y8L>~uQ}XhusfRb*1Zi7O@z4FyakCF3>?7bPs3K6J9o%UQQe4Y_S^ z4UFU*r^brKq$(O;I*@=HK5l4)r7bi;{I2n4SnV1Qp8Ya)H=MEUt&P!fZ79`ya4aD< zcy&HPBN;*+49qg|`g~N}Jj|PF=+|}WSU(uiwsjNZtem}Dyx{v!6 zME5@B27tjw6gkiO)%|Yw%x^bpPyeic_dnzObkAlV(dz9?ceT!6ZP92kch-FW^CEtl zum+HT=PXo(Ra1Dc`@&~GMM94L(TpCEwL^X#i^XXhQRY&zf&BNG_4=kaVMHlI$fs7o zT7x|Kj+`B)#WHx#FKk%`7bR4fCjrZj3Im_2( zc<(#B#w>VB^W|%TwGrj)+;|;^7jm1yo3r34&EvJen!fwy#_Ke^84j;C3!c(EURxUP z)l^P>yA7|{;dNxeQ<~ol-U(})!T&QiUXS6GI=t>IcuMmlKo6{q00#-Lmpdnp07)Ko zFan4KS3ZwGUxq+0x6^h+{H~Ec*kO$TCrLj02#~Y_Ho5{PxnYuf0Z(b(fGJq3kSlM? ziI+0GqaEI07CfbSyrDGSlH7QMhS%cohO^))&3CvFSnF{4;H^LQG4ms?pO@M04)eOh zr@P%9`r$mt;7L24vIE<-yPS8Pb4M(H=ckESzXn3~?b$*5G3K*Ad)WD`_aC*q{19-I zck^>n1Nj>tV2qG!%^w^F@^L3P>kX3EFT^blcrAvPa(K;I@Ra89TGDt2=f-O_yaya!YZg4E`3F;Nup_JJ{U6AAudl{o9MJB?1=!RNb=U)CzVLRPcBDcvHKXrKbH#OcI~;;={u;N403$grkeo^ zc@h86z6aJG+MiyYV@A09zqt)(e}72x@1p!;Z?|dr?ho4U$;Z!phimKeZb#?%{3XoH z+ZQdqPxJHb^{y&&{FQh^v%tob`RKx454yd9&P?b*8!w}t@3DLM8C>6bqIh&q2I`1I74hrm0c@#I6Ub)`0p|UP2a!kKrs!&Dt!j_x z>IG)mL|6Mxu7Py0rCQT0-l{AAmy?36@~pK~V&zPf5w%2;ol|Qmy-7y`u9ntRz+#n3 zh~I2f1#74B{APPpFUwH9VZ4^a2A68Ft|C*&*{1;#aaM1H?P6JvuY-fBMqg#rJD2F}HB%buNnf%SKIl<`(Ap-@oU#dRVx> zjpenKvTFF85yB-BXB}lX>$NP4v954IRp4(u&i#DE|GXqyjAeNLB*yB&Vesq|=ffms z7=N!x%%T_R!~^+*I58?yO>;s_Bq5(V0&6~S+Z!--cAwvC8O(MW1eU>MJf(RbJql|+ z|BmZ(;`JF`nZp~)f~Pc(7sA&W-if*Kl7=_W;T3ShB=e+5 z#aZx_=J85kt$dGOms8(C!>e<6Wm)i)=J6`hcxUCt8#25`hgX>ePibYY)~jIch@Nle z#v3-gqa9u}3!c*aq@w}WCLJ&S1${@jbK<0~;lg=7!7)R+=|p3#?U0LW*F zwS5k+BMY9=e243VwGQ{+;H|%Ut@Fax&s~gV4te>1xEM=6GGZ*}xD{i)gL_%u3_|vU zbb{TE*zC>@aQUnh9)X(qDIJnCkbmPnj1m@K^$2c91o0kMkUEfmE-5PZ`aDtx@_)@w z{agQjl3JYdD6ha=ZDNQlBFX1+j}H>?3cYRIRAZ~<(OY>Was?M9wS%wLdHL5_bX(> zXTPrEPBd8)LN~XuO_v=$9Vi`1F1*oCd~`{fb0B`yO%^5KOqS?`MelCN{=yuvI(=MQ zkH1xj$vO;joiOMni7q`8L`cNXQ3}NVN%E{^#tR?0%S@&l`aA9BE}d|qIf|WhvLjOc z-5IDw4poH3Kb4{w)^=U5FVTzSKP>$7*IzPQoquB+BWU_F#lPlPE^G8SYp8*9I#F(G zNWfd8&sif0S>(!*f-Slb?e?BQxqCCpUE<0u;;o_CidkcC%FTB`%3e|fGHdiXYiQuK zXQ0sFi%9h+Gf@3BN5or0Gaj?Xv%7(s|5m@Y-iKHGjWX&D#}&gW?3Ct^at5e)S_Zf# z(*S&u$u|cH$N)6KN?5F41@S#13On*s3{de!DRd%PrxhA>3U$2f6cP>gr-1!K849&L zZ>S<(p;lN^Xlvy4VWKHL=+B2A5V}R)BA$N?VT9Dx*~g~t6Isifz@Sk!HTcy*g$tA2*Mk*%ff8_oe({f#(vJH5K1!6Cb%ZjhmFn^RZBtJ{%Q zcW2~v1o#wn@A%#Up-p$j^Z)&SK9{bePS+Mn%Xvn*b(MhEwG|d!+aO-o4%i;)y5tMe z^|dwQRXgT%?e@Bg20z*bT|?isA$qev=ybY@cwM{Gy6%O1R$ZU`uG4j2LW|E)uLYK6 zqLb2c(7;Voyjr?mCE#`KhDFyNh}X3jHgp`i9$O$?Z%K~pT4eZLJziJQ;1{#ewKzl9 z9;d5_*R?mT>w(B;)%Er7I9<2C<#Xv;;&kn!w0y@Rx2_WKx+Y=KH3jjy4#GA`*VDF= zuB&ez*R{;)+Us={4bIsaT`Mwl?Q^<{cwLieU4MXlR$VtXI9>mf3_nM`RytjWC@uau zx2_WKx(>sl>j=c_8o;Kc>-k$s*PSQmTIF=@^SX)#7w?3w(F|QvPFE4H>tI^fpCO-B z*KNJ7=YGC6+~9N_rL=s`CAY2;@Vbt{qHE}x&AJxAmK=|+SLRFCFj=Qvaih~U>2(zi zuH6w`n=*7Aa=MCmU5C@Uo`HN;UH3T5)oVYmrEWgzAiEE4c6xU6{Fd|Pa_cDpuV)V| zdiFvNmR~2dgl&_a>!wT3gUL3nXN%Lbl`Se7Lq&suV)Sgy(6i|+LlyCQHpAMGa}n}c z^;~?Y)AQ|{{;8gAPR}GI0SnSw>RK@q3t5bTKbd?HVJ{*r9ddUiNH+q|Bl z!3$c>>&(!z#px;H^=wV+c`fo;_56Ol)ALK_lTPIgzG>lA+3U00={ZbEBgyTPIeo7L zyq+UckPW4fTBqkIY}E^KGK3)Z-$<2PEQf9XGdDk0pzpl zc|x7jbJyGcX?^xNJ;x|1Gw0lTO2F$G(*8*n10a4estC40bH#kq^Qs9`rKHnS+rZRr zMT4;POl9cV>GTxwdUmJvd|_4&J@Ig}VqIt$^$g)_n-N^vJvU#moEM(gB6LpEJh8xc1M+!Yf|8oXpxk+jQ#o{M{`i$$lYV)x9LvPcg6RAPxQ5H&uyY3p-8{xwDl|B3a{E5 z?tu988@8Vxo#tMo-6FiINR>EcCg1iw3+#qB${Rs9LstY~_RSs)tb^p5NU3BBPMrJDwR{rG2wg&DCo;CI+cj z0-xOGl7KhY5G=|KL;RTvo1Gh!dWQL6Pm4hkb zH*A)v-^*s(As;Wi^e6WDDvK^sc5_#!j}AqHw`PJmn1Nd1P(^&3)K+n`<2vNC+VSXv zohK~4KW)2NxokIN*(CzBXW1pU?IhrBHwufMV~}#!_d@ur5!vq3&#>Kah6decJN=y{ z+ifK+M>1rpoR%Wqc2Q|5+dWkz+Z}P=xa|VFxvR(9PBi#4QvIVDs0|KP#M`b>s5*W1 zOyslLuIwP$j_!L{HQm>~(nR+?{RkE%W*vUki?%o+%JB>Du_vwJkxiT43pd{WUigP8 zL{g-!tg^J3T~R1K{z`Q`+xFe|U$*T#yyBYGINwco)h~GE^ylOGulz#Q^bZH-#wF$v z${2DY$=SE&bdeJ9)l>mXHB~|mbk$S^TlI5HdibZm#H1&XZQ36+8Gctc=8=mO4UP(9 z(q_9b?iG67fF0S*#L{4jSwFs zG{N>r&*MIko`;fcTF+LeXOGuYG&osng>4ynCY_!lUe8oo&x4T9s^?n=Iz6u(ke=c5 z-aOAOV61-0m@UF9o{DRM#R|?9hxRJQ>by2MKsPw7_DAR*0|fHrP-Lb~yTD z+2M4uP1_;m?9l7&AR3&Y1;D`!I}AEIh>`Qv(M`(8l0`Ay^#z(hn=1xUeA%V zp5I44tDb+4cs+ansh)w;vzL-ak~7xj?7tH5diKGhXA<%)*MC#6O{&ieKQcYZHm&EV z(=+My6b*jI3SR$MhMs}bQ^e~zn%46K!BYSXg_Uv|b9!z<1>j>Y`!aYVuQ z&0P&rV7{@OTU`lwb%$V4cNpR)Fe9*is@5w%l)B#{_q4i2hToO)>WT)}vVzxNY!}Ae z)tFOP#H$-(h1W)aGmy`!?jBXHTK~YyuIk3inRI9!aSkuTbk_3tj5xMZE=SNQDwtP__?XQp1g(UrU=x0xi6ZWXX<6%fCGpMo8gnNI(J z!M7^I0L^ZRTO{mSQ48#68dy)aWx%$j)Sp_ih{3gnw))q=9f7Gtz|8~A5-RGA6ET?e>opAzs z4Lj9y8%F}(IHRzrF$P)S8b^r6^uWa!XYUO%&Q~Y6m?3AJLEkt;g9WTO_77(mr@%E1 z5pSHLbmRCU@>z}Zmxaza=WhQZooZ7!@s!FlB`_LsIyO*+k>p@*9VOs(Y=lL}CWxON zG{d%?h>rE|NyiCK0HVPUSZVAZ&CoG$4M4=}IGSz%Uqe2tjt?!6j&Il@ zm8(k#tK#_!wsUP^?=!tGDT9$OIfV=Fu`%Sg7dv0VHuiVfd??3WoqNx>)^=)}u7c^u+(4e4EQ5QrV1U0?@ zQGxuw-*fL|H_Hs|^Zb9GhYy)^_Rg7e&-Z&@=FXivGk-xh`G;e{3gI7t5V!`HcmC|4 z7bxhB2p-G6?4i>@LvMx(=q(VszPCcndI->c-GqK$ZW4N-f?lNS0;Ta^n4ydor9sb9 zj|)7aq8gHIBJjy#BBRTDf=9o3-Y%r8mDbYyEbjdDdtr*8g~#yCu5Mk~_j$WzUqLet?f zn}0U!E$Mi+NHzbt8vbu@)9|l>BJJTns1Wsvfi@JWFOsllfCid@2vjf-gV3Er9BK<0 zDExv93`l7Ujfw%Ut`L;QxtRKkHm5V7DnwqgLU_yyaX9QP8F=RGWQDl>0kc97`t`ai zn1IxSwTBi3zY_p_k*t_)S3m;|zY8khCm?hMFrYea1pG5TC;V?x;I}IHehr_}7@Gn3 zZE5fe6nqL@0SZm{N5I|^{=d#j!r$MN3cnCdl0BjK{)5AhDEQp~;ENR6!>56U-vbr! z9eAW#!_R_RPWWf;B>d;x$@(8t@VT&%SIDx!a2%!@qwzHOMG8KJhVM1uXT#nS{(L@@2zk*Mp;g_25b6{@?|GCjg_!a%&-|AAOUxn0z!8a8ALIChZg7)xfpy3xm z1$-}rhVO^!xe4$`e@6JnrIdcRf?uvnpVByw6NNo#@B<1yg@#{l!aoxBmhhh+m4yGR z`%+8)??)>5bCG&5_>O=K14;qF7iqPJPXi4<02T1dA_j1Q=J8A@M{!&3JpJK!gs^o z68?*4B;h~%r&Rdu8vY`r9t?h=g5L-LzDSQfd>Ux@&BWbN*FvG-w?g&a4ESe%O8Apg z;1?~>;YWxY=Y0shaxf0Hh470$A^gt{PnLeEf*;iIDUFGkS&RnK;5RGy6dHbu z3IE5iw}ijs^d$V}?@fjO`i~U+7m<1}_~i+>Z&mOqH2gLb{!d_U34iHnN%*Vhr^0W`Qt%^4 zJsA8N1-}~re343f_%zV)d!Pb7KEY;oeOXY;3IE(}gg+X2oA84Qexrs@X%u6gF-DdY6Ju zp`j;C=*Pj{5_0=6hDFEQLP4@6@q~_(2Fgn_dq!LHHLW2tN;bn{7U!;J0b`ltw9L3!_FF z{2m3LLc@3P;RW7c^uXQ{e#h`6{QE+w@Si_K!5@#*gTe1s@EZXD?>n}KPXi6V87knn zK7NLDOZaO}PQq{cLn{2I5dz!(^+-J!e2;?P z2>^JRsXcreX!u=F5oiL!yv~Q3ApFVi6aJ_a_yr1nT*Id{F2%%Pv@i{Rfr3w=;TM|l zhrr$v{@Rn0@GrhQ6@E~|uSe>^;1?{&}Ob$l@L(hW>=pG2&?G-=`68a_Y5&CfCYqtAm+;?>C)<6cf}havDUHi93mC0QgC9`vDKvb(>qp?90((pN8-^s|535aue>zsS zu-(r@>cQX#75q{Fz$!U=_%zV)15g3K973V4&grw>dn%xSMUuDpVGJj zvw+dYH24(?K81!~X~I7h_LlJ9I57$Tq~E8)FGUFuemPPP2ESRsuLJ;Jq|_ch4K(~3 zsDK}Y(D3V_1_}S?U4*}}BMHAn!SB}aDUIov1&p?)!LL#9DKz|`34a9aE#bd;LK6PT zccsGr$G$BBKZMkS!EaOW8v(!2T6U=}bMOM_pp;8SS$jVAn&u(yQ2(UXMV7)*tK(GLp#ACY=6_;Cfl4FG(R7JK+K z(C{Nr0Y3(z;m4tRZU_9SZxQ}$-zVXBD)R$I60?BOt~B_~3OcpLAGyPX-{3qB{QsL}Z#@ck0d7m- zBRuxFX`pczLIv(32;JztP-DbBV422l>R^;Cu}k{u`Wb$u8_iq_~ayitVY51{!B6RNxFic-8e>IaJRb zz@9H~sd0X=N!_FU;!1s!@?$6s&QHHk$-Og}jO9YRq2ONbyjusTdzde5{rB@4 z0Yy;h2P7zBPY?|>K>?^Bs2oC%aVnsC?*u_}Hjtq6kgrKlxgsc_pK7KwZo-sbv?7h5 z8az@&+95PSK|W-}OS=nTZ%NSSKTS6Db8a;oI`3gF`(B;o=OUH;+|6>&zlkt-D+(Z1s5jc&^)Nwi)k;@ zfP+3y5*Jj&mFt>CX^e+ev_8$NM|q_#Ou@FCA~H(uNB%WrSU1|;iAoH zUJI313SAsUP^CCtguP{PTzL$O10Q-GzY{rfRYC3LfGKO%ZZWmGj}K$zJu~rd+is_X z6b|A!3p|w2ZrexEK$l28RM6T8F-~#O47G+Ovf(vW&1D}Zx#&_{v;Y@xuu>ZDVPYQ+?Eco~@3t&TDFyId01y>s)sS-f=nq8OsW2D7bO< zJCS+zaA~07c0vW*E(l!#6Hp_ByLCO`?)-gnty#B%>&2tqgiC4c#6(=QCk<{~byXCH zDiS-PdRd{C)827K|4ErHWly1=+mII|_-TKSO!U2VdoqeFIk?HMqo6cq)2lnptD(G7 z=x?faL!C;mXNlL=-N~ZNQ(jB8S4zW8ubwooJ<2PEE=mX9$RI_Tz^t5QQU2j5Rg|vJ zq`#g2BznE^ov6jGdmo0Xmh5xc{orl>jPbp_y?46i?Zw(Zb!x&xB*$Bpw^u?77wuD>(L}pJOki)0x4~6~<7SZxFj|Ivjg=V)9s<8We*jv8I zV)!7ki)Rxi*X{*Z&jApx&i-5-)XaV}(RF$DqH(YKGx#E-TanHez`8K6l$^fEuw=MW z!qcAzEVXAi`FX&_d5U2V#3fr=j{eD>O&aL>8iR@&7Kb=j_asnT$>zj0z}}LEJ)p2t=o(oL zRcho!OdFC-VldfkRcz`nPMN_v_?n zO0l*32C{XeW!;M@whZ*gSZRGATjomzXrO!ZZm3|Z2jU!Emp;NP82<{k2F8Ico`x+; zygO`Vi~hK$&Hn|5dVw?39C>0zIntr!>C6gj}>M&1;_WN}(C^Ko!QKu(#|X zug#r^XF#17Y}?B9riVct3l%5+jOxSX^j~)f&I}}REJEsE26N*GPJ`sR7 zZrGDZ15IKcRFLR_I7>HRsHG(F_0@oDq`|GhfE4x=n#3SfA@OyYunTo3N$gf6_WM@) zKVTK@N%LB-yi#Zq8=(q`x4_<#M30-*jwBuRQ94PRueT@3F9DsX>8%`-q>?S^B>nlf_9S@~NtJ+!mxI`oL<3Dy4OEa6gwTCf zJ=7kORQ@vH_|xEYDL53GB)-v4NGg{p!oT3Uz$B?uk;L~^k|avwTv$Z|XPm=#P_9O)rNo|0M*OAzhL<3Dy1S&|1LFk$khdPHO9kmj0 z>eJxlDL53GBo9;}=_r|Q41ACzsZo){ca)MON~0T-bJ6BBuLa60g(j&Gs*n_ey(LM% zJlrJdx41&+PtuTI+mqCyNa_SkyvxL%BpPUvx}buj1cdIB45+On>8qCjr!@^uk%B{^ zN%BG!lD?8TyJg#xB(*7$`1V$kL}|PVt7s(6t6zDg&?J>Y6_WlN_Ld|~{1HiNaK8Jr zdEK9B_fC+Q;-wq2$9VUNJufuSy!1c?FOJXpp5@DenjkOlM0p`R3)!08N?hS|>$zu2 z<0H)MMLW}QM%3Ihg~k~(=boR1y(P}evoy}dYI5#zKPTrhUHASKN?nXEx}AN)G6$YV zn}BNG;QVu&vRj0?)wZ;G&o;9UL`+=3rv|m`Dec?&E?L%E6qc(qwh*H$8s!M zFhfQNMHu<|B9F!oIQjKmX~IAey4VX9g!&=$%STF~wzPoI`W2w6P+azn5T+R&lML1{ z<1d&2j25NsZNnQG+SG`CQbdOHb798eJb{?y;+3POb))i4={9~wNB%TNF*u5;vX~T? z3U><3EJyJh4rM{~U01HgD89k@=sSGcE2A2ZL=AA&T?S7LIW3=Tanye2ojWiB@*Ms* z6aIgk*qwm_+Qgp+JP{UgSC|_SHP$@YW2S+|+zb_%TOhou zoLiyB?gHjZmlE^shbMcXMupjRSTY>l@qYa}|H*8ylPC zD*nnhHV(1f-@DphyFd4iSNC+VmAK|D!THCxXSMqA#u)x+S3h>3!)S2++NnCQFqn`I zY#x*bXYG?rKIknQ$Cc7s)ytK$W36pvqk$&AQC&GVLyT9%w?J)VWqUV5;#tpo9H+0oahH3igMA%!Ns9I7<1=U{I`eAxgH?>tpbbC}LTgIE1GmGQOz z-0H}1&HE{SG&moBMp1MoVwO|Ha45X~y8zL0{w8`=>dlJ^{Ia`HE>)Zr;7T2HGxnU( zKyy|I6_vFJ0;R{B5niZ`kASnsUIZI~G&agnNnk|bQuY;4<+<+1F!$Jy(+F%P$K{IS zh(5(q8bQubR-}2YR9-1G$2Cxe<5Jk$aJ+d>Y)lzw_^&iA?JZ7l0*d+Q87&v zrSS_+G}fniZB$+0fQ2T@a>2c+gSNG%Eyg(j*Mst`35vx5yeho%tKqKJxXq9~2i zIEUDp=Cw_ErO-r0pbAm@F^gtH)Zh0jqIR?@qRziEm8j2W*b~*Jh^hxvUu49q_T3c> z%og^NQd(%;#W^}y%rHFkRL_I6@|Puy&MBK>}3bVG`CXA zq3-2O=i$@vL}XVQv~FCw6o(d37{8he1M3VEl3~5du)-okrs)hTsXm1aADjw*Mp}kF zlHpL?!*0p&NtI!ZMTSh%83v&aWrhXFkZrf?ieO(M_elOt4p}_)wQIVje|jA` zS8s;Ot>a$f*NEo8L9An@oMXFj@rdWw>?NL8;ZAo+%?lUB$5vU(Ls z{!MwvZ&b{#dU3CD1fn^xdU@seup1Qw&jur&epDylluZL&z4D-|ubwL!Vt|9@|OQMcl45Dh%AUVDhdkRfd7E~eXSU_sXS&TD~c|Hs(q7s@Y zN@G_HUhC7mx|LT7O;jFKA*vnrHbnh;w<79mU84@aES0FC_+>{_qaw-xRJ@7Io+uh< zqPn4is2&JC6m@j>_TEOKzWyg5HK#%HC`c5Vr~;@$)Yq6UY{(ghs7<0;6j6pIiqcpo zlZt6x`K@n6L7|B%f+|Ek1bZ8ze7h7;xBN|wu(nK1CF%$KvLmWZ5tRj~copG#+uno* znkY9^gqR1R=Se+KpCeIgo&ZsiG)P_ri9!?Qhbly^k@>@y|C%H!rikj+L{S=lhgCG5 z=CxFLrO-qLpbAlQVQ)iJ-nTwn9RBg|a&b8CD>MjR9L_VKG&p~EvAhxOV6Rl}RCEO} zq2P;5wWo^)nyzxFpsNBx*Q-jXJ4x4H{=s^ZiEPb!(xu>M>19)t#-p4QOr*iD`B1!4 zX!t>>0>2veHt>)6M%9xO0?D~_SM6w=6mTIk=)Tn|6~oMWQPnpyN9h%h-?pb5^oNs2 zIAr8>)X!15rVe`PXF>eD5^vE=zB!ZQ3XC4&uHR$I&u*OPDCfvw9jL^>wC1Y=M-EII zta`2>)M}nrZ@38O=`0+nd6Tc3RH}g~h0$4Idm?vBhTST|dW#I1rZePMX%{d<2QmaS z87f8d(lV|=j{LGUrEwW@KJcXNkwe06tU17|xL>nvW;D?CCJ!p=jRykDaX3UTfExTg zqPhBU)QEz#D4G!~j3{(7Yk?}w>}r`59Q{hNnH9>xO+iG=iBL*o9IT>6Xms7g&5?lxdp za1hd9V3G!vq(NZ)jgSU4LDEJ(#>RH?{YesP6bX5{uc0)~##~}Fm_|Z;mw2VnBy>U* z5)OmCB?(V`NfLI*(%7m?&_@1nEH0D?|IsD|zZ$8$l#9GCmvUhwb2Y8&?k+}tz}$FD zu~7&-xb0`p1`RYDMNq+p7ece)hw7~b8^uMweoP zLbH)D+4v3*2W=2gY4i%H9m6)l5qSG34p^g!1sI##*v{?fkl zs7GkNC9i-CbRID*Y3?@`26Uz!t|~$t>T_(%qc1?;(3l3Q9QT89*+F64ca3f5(JUDn zD#K2T44I}g?1CC&hA&UzJC8RtCb@2r+?y(p8=D`ck#C=CtK^#fy1-0Wkug z5qZR>LfpGk&P2`!{w&v`gYLXfU5m1AsD(Ow1|RfI*J;oQdOGIhre#gDtWc<*e`XH!q{__ZH7IP;XIXL&>};o=?v?k zN-a4V8S=zN-lLAI`kzs=kRwlQl*aAI`M_Q&OAZMaU<8PF71>u88tCd$2o;4;1feh8 zyil_qLv;zY*i@JD&&*TGV}DY;=V=!m{N&+QfyH((u;=Upqk#@A4i$lQLg;7Ax}dhO zyX^iOyUSCMx7l6hiT|bosSlwrrSbi<=q^2JBzkwNP8dRWmwu>n@>mOd%kJ`q?a7nJ z3V-U!y6@D8!QO?&nK#Dq9zHNE3^eXrcc@chQ zr)@7r0}Ve*y$Ih8p~qW!P(AYi|LcW>KRTrY_bd2C8a}15mos&xY4FPxd|Q@?D0+ebh^dbawtWN*G(GiD!AT>9qNf>ZOC9KW?LpF0lrojkt>_78dMJ%9PPz4@ z(bJ;nq0scSn)I~7-iDqjAAz1D#s{;3@ZRGvYHD!4u~0EF8Owocd$L{kdZF-=<4@Sp zcO7QaaPqE}+ZHVVjt60HL&terL5Eyz-QzPG4lX19_Rv;-+sJj#6-Qwi zMeW`@UHASB8k6Rqegs!myz(KqbIrf~^z-)g8?yU`m>Y9HTtfR27xTjW# zzRE3%j2F(a9l#Zdzqs;OZsCt<`r5t%Y8Qw3v+2*9 zMxlWVGF;728128X&Co9y?o=5zT4cyHonbRngBk8Bg1^$V40|NQ=P8V-_8A5wL-!lP zSer$LOw$=gp!P7sdCagpEyFBSiQ>>=3ge^8Y!OyShND%6ofa7~jZ14#ce|j<*O-68 z46Td2Qv7+9zl4Q9rk$?*8BiUM1Hj8?+xn{!euLC#Yws^8 z{sPLM$HE`ej#Kd!KrNuZA@GNGKpLvEF|i9y`ESSJN=Gs#^x;^yWP})QqLJ}y-XEr^ z-ji~_xlsbSO$AbJ5eUPS%m4lt8FU zAn~+7xWl->K9EicB>PS24O%P$VVdqgTcJw-c@qLT@G`VZvJQJc+E@-XdK z9NH4;#lJlp8V1!oh4qqKymfE5CUvgderWHSA!~Q9#NxF-;*5v0&^xVtXQBI{y5`@D zPSK`<8^U6dVzJVqOJbU4u?DKJSUAeIdUT7wV&yMr;g4y$kFJL*XQ9NI@Yj>ZShqS0 zQ5X|&C)@^rV-`=N6}lQ&WZ06-uobGDg|26YSvWGaQ*xlf6^EXuFkUOQ&Co3w-lH;% zS!BpGjW7;X&O-aofWN%74Be99VhUr1eTE*%uuWyyZIL0<^jW9}s+@(w%#iivz|OTm z{4H1h+^B{9YC9?^(+X52&4XIcN;;nY3ex}-VlV6|@|ArN)Hqvw_!8UvizNTJ%HN9v z((`AUu5x~;Qsq_@S~Xm+1Qhms$cDQS9{agUHe4F$hFbuYF+=EvTLe`a?&SGsxc)SZ zrHBCb6esD14mCzjCfiI;;_Bmzw|!VsdNZac_q)Q@Pf(Vs*lQAu{agFkX`o{dLPad~ z5MC8aBh(m2%;7L%52VHJ#SK8%Q|JomhblL9!VhzV{dUTfRJk17RH+x=QX0R6RkR|_ zYpL=|p-0#Os4^vWHtcP>vdwS#9Ch!x=AVt4YEv=mk&$o7h>g;t*UQZ%M4z(CjA{BV zXd~}Au@D|T&9D1pG~2q5%(o;5TYRTA+~srl8y2=9 zgp!6uts)k;h+QP~7A}ZMhDy z7Brwbh*@~C=S@Ts`ZDEnv)`ASpPOZo`9pQxxS0^`L4jt57rI&~Gl zv{-lE0z`Ab4Kas&#V5?~GvXB{_TSs0fo6u^a0D~_%;P1BnE=!leueGGKiUNN@te4H zwe&u#2m&gCZrta_Diiw%XrLqLfr5{cPf*G@_Vfj25QhY6W6=rO>$A$N?YFoez6UTw~sl z3RU!HR;ahfF2gecbvIbTj3}7pr~+6`W&iyt8fcgmP!UiigoarI)x+;kt^Wf6#L@r+ zl|6+=(NYh!^}lJ4sYOcw)f-SSD^TU}(hkJ_e$=XnBJxmt*nvJCZxB52!F2PnGa9Ja z7iU35>~4tDR4jQ=w=G00xrp8JK`)~dv6LVJ70V$jtYT?Yu_SggmSX!@XrN;;pdyxT zh(Z-h57cVLQg^paEYlfF)p9eIQOm4isZg=R;0@>G17GxG@4X@jV(EgK z$5_6rvx%kib;R<>QmY6GR0M5rF@kjmMqobAMFU-{B2W=Q3_^FosDq4;kq)QyMIxC@hy(IVNA>=a_}DX$Q^@x-A@1GR<77S6MYp<2Z-ezjE$o$>%zxD=fxUKniuIL@m=`=9Q6DrG-hv@Qz z>iGjuUw;=-Z>UT512y8msq|}AQz?yGnt(c(HuSB)c#V}FLiYoe9KrD(1&QqF6l7WAzsawWQ5t_+0A%j8 z35I||Mxl|Fo5-$*y$!N~MD_`n#2+xE>{Pdey5A?VZ|(1x(Lf{XfeK^}z|m!v1=Y)2 zLd)(XvXS$WW!9x`33)X#N~8TgAWNj(67nl#6dGBniL43sHptFh17rg@2tNQ>L?P=G zWb5pa(Lf{XQpgezcy^NgrU5m^dx2Z-AhJ^zCfi_4AuH0zD2*MQMvJE*D^kcPG%~M= zY#Horkd?=QESHBKfUI62YeQ_l$Zht>XrPgCu?yhDAkI_B;!wRrc9Ketc_5CECDfA*G8z*iR{wbh-}(}$#&*f$ZBx0z_U1| zF{2U4O4E>e6fz2ptiVJz682WL(b(9I5*tjS55Q%p<>8gsiMnWyiv}834ISZGeh59W zP!Dw|asBRh#C78-NnG7(d3c*HF-oKEUf}9UTOQu1a8YPn%_gpCu(!mu_Z2CzuX)LG z0J0)^C@$QHc7ls-`$tx3VAe&btcwu3|7e9;`UsFcd@GS1Qk_KRRS(@2=vGE){8MK0 zWJj_t=BZXjp^vS z*YmY%50u6f&NmjOv74pXrO@oUO?LBPZ^Q1YRX|oBvtrj!W4}_whOb=MkNs$%kp-Xv zSvkb{irosRp5Fu6uWE?wH?Jgn=WaFj%hSjxjk))*MWl`WdT^ZtuM`@Y!$fvI>}`-4 zD}n5hsCmtK^fD`qr3z!kK4NS>@Vdyn=A?nbxVRE3qN#znOkoT{Ex!vG>uzQ=Uq-iK z9&stnmtdI!ClIGImb)#lIo&FP!uJ_L<$)2H*PJxaEEhpV1YU@7Dgr;$@)ksJ2qI|6 zS=5zeIZv_d)+|#RIh;!Lq_J!$mMJvL-B9IB@xI*z+q{_cJHNBM=Il||oNmO1@8Q`a zqk%@22NlRXJVYTYfa)N(!*3$8-&G`AhC?CC(#R-{QHV5}m4>WKA*0a95+<@k?2tY2 zk|6uzi&nKJp^$ZNCbEI{$Y`LE^*{wO2jJ*7p9R&!GP~qPB3pS)5}6_Xn;aS$rBQ|{ z#%Qok!KhrLzHFgl}x?7OXom~x*Zre3z(^Ofq&D2+QY$rz2Ny=*z6kWpx4F%#J(u(w3Edxej$+k6{~ zJuxl)*rQeeTNJ=Hgov+m+rQ471{z=lDvB<~LsX@VLv6Ve02j<9z?)K5m$oW^-5MaJ z@mEeSwxt1VRRAe8z%~=$buy**>4DwIAOPI{ufJR2@+w@73^Gz-kBbHxS2I-LYJt!N z*9tXp2XHN~BCb1bN>)j~!ewY&l*VdI_eD$7a5XDj6dG5HiR*ru9<;zUez{ahUyBv8 zO8KyFxDv79P5ky>6Q_YjRs$8tf)ILAt{!SRzb3x*1|nPVK(d3Z5&umIjf~RRiK)A2 zPdB$W}Eak@*#}E{%-R_%V@{rXj0Q$S5?jpowg&-Be#_sUX`Pv_jUSrsoS08$K6e zKRr(ajjRYNka;0=ZS+G;aC-iQaLL;j*k!9H- zdwPi=+kd+ivKEERjo2`lwns(-jVuo;ka-~Vq28?}o6rnp8% zXQXnSNd(8zkA0+|DF z%##|_5kz+DbwpOYAX#RO3Rz4eqcrAWLNMB#hRm;!QD|hPCbFrpw?y{Ci-PRDTh()V zB}VE;+}>qNIpDIWewr+rb>QL(lYGl&slaHn>`3-21-Qh8R|<`{5ULEku7SNJ-Xj#=bLPt9csX;9;=0+q zUd(8ogroz(wkWWjQn+*M!O}p3?NWuCfY60&KrQ?Wz%HCauos@2JUz53un}Fjl*Z$j z9gMc6fh|&nOQFGf&BDDI_Lg9edqE1fq>5nW%Y1Sh*mZXTLu?H20a$$tGi4ED#Z)e5 zcy6gIXK2JDQ~egFfNrMg=GY81wg9*`<=8GSs1$!O<*&uUAJeqIR;Z39_^Y$`S0nz` zDSt5we@xT<;!q{NG4}p~;;&2j>$dR6H0`ek>bPda_i?r@-g@!3P5CSQ{y_eiru`K` zjnQ9|y}w5B*RA{oE&MS}`>UtF1@Jcs{`k}>Z~Ehz8RzFeK{Y>EsW(e5dsQxN7A!DL z=MsS`xqNtpEekE;FKe09qD~8cOw<0lph~IVYwxdB{0&t892P7vP5a9-S(sq&uTA`U zls~V9Kc;DaeyBApr7sV+#TyZSBb2{J3x7=0{+gjmssGL1UrhWJY5pwybte6F(cc2Z zcM1HN?VPJV4qD=I$)Q-~kgzBrrs;?csFK6yKeA<@Q~Z@Ge{PG2nWp{aL6s6;Xz#B} z{7qN>N-g{`P5TQ#mH4LE`%8$w3gxfG!XMMLzgDPwS>pS$Z1Ec6uUhkG;V+T&XF!z_ zUu^HMTl@tze?J`9Z@7_W@&{G$&VWC*bCx#Sxzqh`+If%Ua*xWzV-YpebS?#qdI4D2 zbC@j)4xFWYOPZCxatnV<)BY-;N~u3??=MUIJ*xb*S@>g`_7{OF@%_TypIiL3DSzD- z{+Ooy^*}A+kmN9Xe|h3>x#rKJlsw5&DqtzG7QJ|=Eq@;I7gzqg7XFx~fWPgb+43bGePaJ|jd~zOtNNZL2y5)AmAb`|c6SR-Gu$K&nmU>A93mJX;M7BJUp9F)>XC8-psrzH*2yc!zXB zdCFhh!XMMLzfP!9d8+OGWr@F`%3qg-Kc;Da3De(Ddw*{6SE&3M7XFx~{dJrEHV&}G zn2F(xE#5-$SFZdOSomX__E!j1>dOLqe?{VNj`CMz;g4zBpBHNO18983_Wr!$uSWUv zTliy|_E!qkPk-M!Z1MWV-#q0nVBwEx+Fv=;dGzzIG1e1p%&f`6sOIwxiEG< zE*HkfAcorUkGr{EcHSU7`DW7vx}^)e2Mf{B|F>d3BE88mO+#*jDv($1$5lKou`RB# z^Tc1X@)yAY>He6e{l%b47kGocKaco(RQZcr_+y&(*J=7Y!QNki_-j-Cx-9%LP5Voj z{xPzwg zE*h9Kpit2@xgqqDmprKT3lMmH0K|$}cyS|!^!=Ytx%{-W=Tq9SR3_>GB4iqF;x9a( z5`i$T$LwM>3wu(Z4~$_CyGIB;Zy2X7S3*vJz2&^&ClAX5oHt*xjQ0aS{hoc;b9|1> zG0h+P*k8NT>krK^NnndXtHb$cXt&I)uIg~kgEr}^syQ9b`=Kd+_0WDb>nfz( z3az^8`pORH9B5O1b++lAO zG`PE|!+8xfmG4c^l)nnv$q|=Bn{`zccrJnFtGepO4(FB7R2h{*Q)M)fY1dbx^hZOx z^v0{f^99h9zoI_v6lluxU}z=3y6U>6`t3Ccb@1n`pu5$ZVem0;Z zvyNe~P5FCc{;{j7KKF+@{d>ANf#usnP%CWTKhF4ixXs@!+izw2HMR%F#G`FvawlVQOH8y*jma%B zrTVDtaU&*gh95C`@7FQqzwi*Fc}}+fl5Lx8pW-&>N!dOj+g3?`Otz28_7T~($o8+Y zeTdtfzlh!}+xsP@w2`@7EZY*Zt9nEdd znW7hBdmw|vYRh15lEGYIkk+XT<_d$UK5Bb%t9D{>#znUw=Xd?Ha(s7g!6$h9v&IA; z*}_lm?2F-(JCo{ScMS5u_D(0S){A|~IYiGM|dKGqqS4dX19htLTAFlO}MOOP)R;}A{ z5q+I)@2j5+#>B(Z{Ow-}e^u+?DUN;s^=R%pS#*ztPW*TmS?*so+jYmPxkEr639bFq zq~VaaQ&?ctdcPqvOn!%ChFQ{~%}je`=-0nBj27BKcI_t_hrGrPZYMf8FuqcCa_D;d*cLwd8%lPQ zDvDKr@gA7NA!L*+fWZ&`1Jr{WvitJhl5xlel2o-r#s1B2B=)DW9B52a>b6y%FnQ1B zQL)Ljuec|#+&KV8>MBypBPWl2rD|tMD52{Ki{3Koi3ocU4}>2HyJRemNeTP?|1j*- z%u~Z2r@}5p*v2{c^ZizCXZy85N8}n*Q2fYw4nKU$*RNYQKIANI`p^+_ezxF4M~AZ; zTZf~~i?I(<@y}Nr8up^>8i|CzJow;w9nM<(KK$(=<2sxhp#AfSC(bjzbyvY}u5&7k znAvprXFes6#@l-5OR(n7^YzZtxpOIY`d&g#6MRvJ!{eiu$6)AN;cx^ebcl{P&npg% zzZuCL&TFw}AS`iM)`85s#Uoc;B_T6JT zoJZks&_2F6H0BSo>qcxHj_+~QC~EQ3FYIuhLGN8}T^P#$4Lo%?pZN`zhtz*GK9oNS zdpev~iT@`i0@_b;5VAQ|d~HYi;cx#PtdBeqYH?`Ls}Q059PBl+fchoxCKIHmA4ub~ z6R@}Z9dqw!?#1iK6a~gQ?oGU5?k(xR_bKcR<(EoU=gD@2Y*?uA0 zyc8Rye)$-$Fq~ZDiTmGvZKW5@G$00W!g?3fG z#gT!e4(IF8_-{vcDE}qsq5PHDb~xY0wjAkj*(C`dU^{BmTvWw%(D2WTlCP6pf0u+H z5{4~+YP|SY9yi`IN3GrIaIQizv1~h>0i>aRoQHdZHz4sQG@o`z4h-0QmO$q}w1oU0 zT^)41G<*4Bezx=F*n#F7pU5_H2|g4TaX2dZW6+t{vlQ)NTqys-eM=onGH`e(e;`!< zGN`c?$7FdY!`cyy9a;6#H?HX`@%PR*cuhY3-o>>avy2TvHM{Lsi1(!V=XW?yLE5PM zLeRQc^&Iu9I-I+y1&@c_bl9PLS{@pI0W{RtqhSv0ehBny*s}8qjfvn0_BMI2g3R|| zPssUeZU>c!?N6}>|GXjRPS|!h4@atF+~5mB&TO&ztE7&D{%GYsF#iUAzr3r{+u^K% zwtn3;Xk7E5)$Q2s4ds-6z7%7@iLxE>-BS2F#ktJUc^He?$Rrv5^Fw2PjQt39talm3 z;Jr9z{At*BIQRA}b%5{59nQ64eJk)sGH}VwQCn!tE#vt5q>=CXw!+pw0p~48Il9LA zNOm~7p>4yS6r5QL_zE#SSzo1-tQRhU+@I~L(e&@XTRR63s{)WNp9c`aDdOu<% z7>=Dg@~I7>_7iIP)P4kQVBPX97iN6pD(mb;nY;75XVPO}15yUoO~-(N6#)e_xb7j0 zDL6v-KKG6VOA{_!l{p+op|ct@9)n$V`SKFBQ z&%x%ko3Ytmmw|VhVEUus+C)hMral@l1=4VPx4g?F(g-dmhd%M2n()_dLt0{Ts6Cqa z{1X(wmrHB06Av|fI(;)Id7|5J23fk1rxEV(MFw$ezB*;%AAL9m9$wjg|87i~1+nu0 z$H6a@;~MOQ)2h#-I(M5Lth->6^(m)dzaG8ANmU1ef?8&o{c;Fp;i9y^UL>fD%d!zYl5S8 z1%Kqa=088cI;tR|@+}Ff*XXbf?Cr`R3CTLFuP-FCzZR4p~JUyyB6{dS)g7#DdwVR$+ zeQb@cMLe}BPu_G-OwgYEPz7C$ji*-ev|M>AP4~ovLd7`daC<$w5z}clp4!AyTzM)_ z_rwGp6P8%?PNk=9+pN(=#M4IQsWROY6SSuqsDkb{Og~OOs5^2nm|g9;iae1s_?Lj$b_WC{GTAl}c+J6SOD3 z{J-T}guHjFwWm_?l(|Xnc(~I&F+qFEgDU0xFB?w*@#I#XJn5d8pgk2pO)#bk8&Bop zX|VECnC^)Q+EWo!H>=KZ^dvoIc%ka`K1|jO-ZTKA*PuR44sFA)IDW||**gZQDid1R zi6p!-tBV59DMM7Bv7Mcq0Tmr3?nDHBg0t?4nD^>VJ;QY176rXW+4q-(zW0aTLCrXB z$SsyVeuW?_P{_Rfk%bmAp(M1z4`GyS;Vq2>&OuQ$u=F!WrT7`G{FL_hgZDTgK{Ld6 zlS!%VO<0$Ijd=1ZPvz;Jn4mpXK$SZAFL>IX4akjhV)Tb`DXH(L+_kei4|6Hr!~8g9 zJdR5f|0D=DF_%)#mgvX0M;oz3B>cx!fa~n1k!mk6eMzTxFa2Kd{X; z{UcY|PFL;-VaKXfoW&4G;Myudl^t7!s!pb0$x9!V&}ursg`f0z?gz|}a^ z1kRCPd}-oa&T3;u>oQR44`B*kP1)0Nv+0;dNXQ?R?$|TP9N;3C;Gz71k#5U=J@L4z zDyFHGqywncoK}~R3ucl+=IACmCz;@tu7%F8Q%L>R71-s<9o;0pHLox1xafcHYj~P3 zp?ETxm_JohY%(!i5>hBWI1}XhrKRPZkhS4@gqZ`4$aTl1%rYg1gd>IP*k`l?*X7?F zz_lbDoNH#%k83*DT+_8J*W$ZB*Z(_T;JTl$KCTCyD8SvA)K*O7toXSwk!;7B2_~RX zD<-o0m=LZToG+cR46n!^P>qlM9pb8sVmR(w9_s~Jp#?ZF{xzJndDp>iAYgJ|wy$!(B^Xeg^n;g0Rj6JK7 ziK7}#}!U!<7vHX8Omjt$J}sAl-9;@(hPb=l>heeq8C!E&h)fTsZ`t zFF@>GnUO{xd{n)H6Wop>a5cgk)P)GIIZu?T5=8uiPQ)IUq73YZS!AHDNfEY!OrqFP zwBTYli?Zb?Fy+msaOoTZ$}$B3psJuz(I$`GSoKaxXzNAc z>_tS^zoJQYi8Uv zT&bWtleexn?>NC#04v$6tuZ5`LQ^KVjfWYTp+I=BsMx1%_O1NF>Fa$BgCx8(^6VQi z7dB}ddmP_#ZsEbXYzl7%Jm1F3G;5nbeB-uJv5Ugv7A;5l8Fv&-$8+z~bh6Z)!CQea zJg$k-IBzWXPr?3aIE?$lo4=6#VP!WuEPhTJ*WV63(YPOyc8FtO_%_^6W0%JR*h`0} zOD`Q5Gzk%+F=U&2I8TPb8S>h@9Wktx7-nokYUV+Ty!sQeJGxAFW~u+CVcc7*8^%q`rzi@9By^G+?NVawu*a~zVraQXm$ zhVi4bO|ou}sT77Y$O#* zc9SB;J+Mi!S_TYd*-a{xvVo@ZDpKDBH(m7K2>;MAHJv-96AFid(||u$axx~K!!TJl zZkGVNBunRi{TF#bj=BPfgxj36WXH_Rrs>jt$|Qc~6O(*$r))N60yz=iz8UG05+DYD z)3zC(A}d;UCK1EJt$qt)_l$&OpREyd1YZUeft9cusL>Nz*k9lZYdTyyufdn*nB&aMu!)EEDBtkj994;e@>>_$Pz@m>epHJh z1pZEmoGnWopNyJNz&}nhy6iMA6q~B$z@!_EVDiExkPD_F(Q_9TDp}VIY1D&eVhZ2~ zOOSXLOb+7nNYQOeF|$ZieWk=BXj~3?qX(vwn7uB%fLVB%P0KN;+;I}#%zWbs#6{n< zQ-=rSaJW%+wd1E2;Kq-uE(5&~tdYvaJK=>R@WyeVb^aL9l!Tl1;+5=|N`+YG`#FPH zhxg#4R$xKGG+cd6*@y`iCY6MzY%{KIJ{O~+SKJJ79X5-&2Qp^^J_`pqXuZhXx_Sw% z>=k4LyRwZXvu@wkP{+J*;wj5qAv5sMvR4oj(*~NFd+>_AJr`z73}vnu{4rZrt_-$Bo zgqz*|3OT{jr`n#ZZ(K7vq z=5}Jx&s7FCXv`l8YPkOlVbb`lSSju2l}{GL?MJKap|76j{MRS z_+SOg73p!LgHO$@W)a?-R9WPP-6#_^8&+3+a{=1-ip@V}SG$KsIY;3*pR3@rNhGY;6_^2R0hLj)YkJ2wlU&o+N;(KA z`}!Ln8y7Y^u%irpU0@e}1>QssSB_r6`!C2-Iy}flF_rg~$Psr_kRts84nlWy<*-7` z2Qsp3sQ^g*1b@$|!HJNij^25-9-QHq4E~qQx~qAZ z7MX{c6xxdkDB8gQ=l(@ZHb%Y9iJ|W>?Ia#nZpn-e#j$LCO?*(#C->P)@KHf;j^><99iJC7DnGy3F|i?g1b}CC&3)8Y#S;qP-sTmt!87+}rlCeOGV-JQu6h<2j zrluKmios$E<6fOtS4v*fRbE}#&jyUsGA*yAt83C+C9o&7kXvJt_QVQhMm-6w61IrKiu5nz8FM zg}pPy@=0Y`&}T`_cvV~0q*y+uEDQTAsTmJz%gPkX<;t?C&yt#Pv$pi7SiYhxy?vI{ zj49f(CB<@`vh?>^QZt5V%Ze1sjmomL&yt$)-FAgNm}0qESqAznsTr@sk_}XyZB^^r zrYy_F5-$^>-Q(Jh9j{rIJC$99wxcxe)OPA5qWpcU>?*Y#rSS{cHH6u-ncns)s~T-Z zX`Eqt!yRzbF7sJ-AJc+(&&iaa;nEg7_nH>j%A%eY^~UFh;=-Mh*Fa^_C>3i`qp=1y z(oJ!0MfX92l}$6fG#ig=3y!Kxi=oP*g%&MFowiVeT!nmuvS_76t1(Mk@G8LcFAv1qibL0K!{-cf z6ZQqxS^+h)4hZ4Ax8&$#YP&&!e0#v4C;tTzp$Ib5bFk@7x&8$kiN2Gvv}7&CFDz znVEVt^XYGRB{UNw6*Usr@iV#^_CIygB5vG+f`~}Dn~7`1+$O0Evj*Mu+YhmH_YF`T zBUabNZ~9&$z9{d*;M6xN=39Z`81Om||K0NroKulH{+nB$hZvcO6o`BXe`wI5@@xEI z5XQShP`L+fh8Y&q)^5#+wzvjotW0Dc^2QOJqhfchbvOoKIfUeC>>qqHR(HaNdN3$>9=5roVQJ3rmS}cdx`~`GHd%jy>;S znh~>%VP979*tqMSTBH?+;*&$~ow{<;s5fd8hfSXKmH$*ccM`)4;;9|1K7zmQ4GyZl z8Xt7rbUdb_)?k!#3NBvD;yx@w!H}Y)IdgLF%Ozvqt=i&SN?MA;Wf{fcs|L7M#~ibL zuItuvgO$CN8?eszx;3>c4`BkPvgTm*>2+Hmce+-uuXkPX4i=)WbzQLq7htZkglqWp zMlQHr>l%Jd<3O3_8v9n&JE5=rvsU}YZgAC}tcJi6WeEc=bN&~il9q&l&$2_nOrXjietf2h0qSbp+)~_aenD?7KPMy^I4IE^*2bcRZpbTzrR7$2Cg_MEqZX7<_ zbyQ}1mQn_`=P4z-y&lHcHMqT5lt6qo<_9p9)y@bpVcgy+k;X8kwW{iY9hbmgrkPc? zWF?NZn{3mK${fD3C37rA(hjrxIebQ@_=eKyCKZ1ma}&V=f95733DfAD*4wLmTAhmm4YB~lu*_QMUcgnGO)c% zDcS7?jD@luQIeD~LQ+;Kk@lxdXO-Q~ti-W)lijY}sLX{jW=_hK!|Z+zQz=tUL7560 zlnF^DWlKFzld`R#tW#0;>9Kv3-8N8BHgymw>%f&}yZ0$l#%BvK=lLn_QHVNuPb`J9 zmghBPZAwu`31y`?T#)&dGO#_Mll+}EmEB}yM<`xqf8+gB-(c4YGL6WuV)tgu&HA|q^>bItv#Isdtg5&-!il8`L-U5W%%?z`04M3wt4VoopjT~Y?UtC>?3%KZ&h?z!+< z68eng{@Q7(+;2ixiQgl?I8x-WsH6vS{)%1|bu52(4yAp$zaXt2vz((hc~Cs+?mWtU zOP{K5nVao>*olhrO)2HR$*SBpnP;+1JQJ|oH|g`%&`s(*(^u}Bc#23bcZrAPzNvtL z)viLhZ_wr5a>D;X5GZ%WiOw43jz2hB!>4BWbr2S9Nzf#)0 zeYqbeqY@eW247^kn=2>!RCS8&YwsgHit_f9a&NaPcXc-7IGHCimV3KC`3`MY=iI(> zmy=w2xwkVOmV0|W1FMap+*j#xZ$1A1APAJZ#9(HPa>rT=mU~X)sgl1lpyXg_1lTcV zf+PgqK~qE5>K?jDjY;@p`p`{sR>!Fgdq!;HiCy=;xEfLCwoOt7dRX~b#33iRgsXZK zj&L3e->UR;x=&&L0cY&T(yHUg4u651PD#(riK8~?D;gG4vQ)VqhF3ILZnxmLV9Ij4 z`|+!K4o;y{pdh!wx_lFiwY|IVoIY5W^-&|*d(_GOLloSXI6?EI%@ehjfh|b?$~Amw zJ5i8Jx1dp@^@TewLtb0*F@PxO%L-@wWKMzqm0yfNQAXz@=wUmD3y}QfN{;9&qh}={ zfKy%>Pks0cpm=geZxXsS`RgMdxgOKx=l>N4De{NSRmbO_k5eU%=O7Ayfnk?QdhW2_ zNLMON%9?z0aRcf8VDSHIx*0d=E|mCF>8?Uv|9iTv{3hwnzr8?!IHxE%)TDc4u_Q=W zNXqdSKz+|0u}KK-qg$ww>w#6(XQTY`x1ncKCpl-XxF~y>#rpZl%qQU7C9eDo=W%|x?Wh*r<``*axX5QxpWV!ovKf#$2mAi%A?Hrt1LO`N%QxDk0^5s{gNs~{zZ|Czrf!tw+JnG;mk z8_rTC2MUQ`qZ2#xe(qo zKy@}g&W`CkTwd|HWYIC{FV7Jzp~8RY&Upm8biLYfw%>If#trP^2kJh2sPw9{U8^_` zxr$G8R=$hJ`zv>1^B$;s&%gq?ha>|$?EfC-9`AUvj(587>wW%usBX0ULh?8$oI&Kd zc%gK*CvlDu2(opHUlm6Ncf>>UWKAbmXL4HUgNOr@3%ua3&PPAGTXN&$8cT@}Q+g9H zeVBW=K5gA2yOXD_zB8D<-p5krL608I*C(h&b_fAC)bE(5F}(LO*3rE(+jVseCEm`A zT~p((X{%h9aq*ZWm?!l$T*^Es@c+h_@G;CEF(F|=Axki$I?ErzbQ=lKbbQQZh_^LJ zyi-Cu_jI;qRR5OM;9@nN%Q@7^CYD>rn{F5#{C}*S4_sA6`v0%WZP|j(rNF4L*j5Wm zH+DgD6O`+MT?||L1}?bdkKM|3TU*J{b<6T5V4m<6+e&MtEn8Y{X|bCY8VLTqWL9XV z_$PxjI|L<_sTt+(^Lb_tTu$b9|9pMPeV&TFuZsV~zf=4-qn*W1k)nL7_?zR- zQ2hBw#V$UE8!5fB(C8+`zq_dMC@NY7p7p?5lTq@B%C>tcCj6-QG35)Fu`wUtacn~$ zEVyyO>I2pvwTKT`wQR4d`LVr5$)0Ks)xSmxY^zqEOV~y|(pGdYxkN{J8~%|$m1~QF zt!SsOBiSe7pOq69kQ5VM z$L?hpnstB?yEpA(&#r{qd%xe}rs@F?oF-<%{}xlaldDmN$P}FU-zrOlDoaFnS=i6Q z3Y*rnd>A!q+cFF}vt{n`Xv;9g9?LLdZ_6-ey)5(7)5L^j&K$GHGM`}e z;9F&hsFbq6GCW*pn~85fqh+e>)X4Q%rr}FDnE%kJ+#+XgV}Rh-JznJFmi~N|XC5V;)0P&IfAxV%#vd zl)X0l`z2rYF&=8jz-vps>|5+E`Lf@PizV>}^)3fIRe^M|moH3GMiA-%`)7#+>`OP>@R5MsJ@?PlP*iQ zWm>E=wwWb%YUFw>!~PPMk;uI*BR%OEEi>W!$}*B-k7XFKmt`dJUY3bFO-xwk%rSc` zvprT@CbTT7?}ugVve=f%x@Aylax0$k?CNU-mZ0ZfhdH{vXE9_`bsjd&dDq15l9wA) zV9QTZL+`C~^g9Rf;mc2exejCN+>XCtOK_p=-s{W2Vb7l9x3 z-WzQH!CPbo@YjCt&BQExs&jzb<-$cb_OkIiQCY?f2W1!AnskuZ&S$=lO>CPFcW-Zc z0V;f6h2Vg8Lm+G!1TKPyZi82rIcT+rp}TsxC<#wpDgkbWTb*4qu?K28RK3$J{;AXL zbYqUJ=wmav8*5k+hE&;e$B$TXH&$pqk)^^9x-*#x6+ROnm`OgwpfmX!hL|zg5XkbK zbSX|}aEU!HPaa}`o8i_oU(u3{@X?uUIBh1G9c$}R$z=PF?M(7xQ$3js zL%xz4kfoOoc4zXhP?3jfC0>I-#{Ma;)R!Qv%jNj?Cex*tP= zndW;LNyl(Y(s<~lKHN!p+aatD^j!LTWCzeSg zi=+m`%CM}F+sCs$^h0r-c+jTPdcdWhYwN_+FXJfu@Q3HxjD7_!BcWM8Mc2t_^7!78 z1T0OUL$@E>%O8IflSe$9r&b}XU>`ofc9~hD!ZOj%mq*@!NaOpxgJlXpc@Zn^M>QYE!a$bsV$2rM$np52nf>0t z!M7tLk>^Q9^7m$yNB#xDnd@8oW|a@bmnyI_Iz@UYK+W<(W4g&A`T@GwK>sm&Q?M`p>_*!A2OZhP1B4(vcKkJ!vN z1(zppPKWqm#Ad#E`G?7y2SS{)9lMdw*~O=;rtdCyA4+R={m{KGrPXy#6ZZGMxE339 zkIhK*mCKt&vdZN>B3b3?ts>>}4w9^LdDV!#*34%fXd8^z#>>lM@P7NMHm*K>xVEJe z``7vUEIfC69_q(h@zyM~Jyf)e0eCe`As%^K$Dok$Ws1Ein}H!C3twlVe2O6O9zAqL zWwW6AlW-X9*oMk}3hI2QOYvqJYvh<>Y|@Uo6ffm#z(vdnT*Tawh>Mu+*BqGP80RDd zI!`?h4|S~KIM<=ZInO8G9_Q#6p$-@eHH+iiM~`EiJBpaPjBM4F@d!n(C^Vk{wSfG! zYruCo_(a81Xnq9LspQWlAGW%8`e}-%(7X@oZ1Q_+z(+XvY{gS(J`ZZq2jHJ0AMM}^ z6;Gl0DNq+M{kzG>Irt*QQ)qq`)Wzh-kss*b{fej1{Cub@$X`T$h=Z?CJcZ^LL9HeK z(JSDS9ekDIDKx(v>NfIg$)`B@YQ`;5!vhq4^U~ZsjR)MU*>c!~zdVM6APZO?P zEXf6`FrIsBB6jQVf!L2AqGMo)%%{xN%Q?LWmQ_PwL}p)B19icNZ7yq$Ohx#*0rkYq zQc1RwU*t<_z&p(YwRnC$-7KSrH8&jPIDNmi0`a_S1|lDLfY>jwvu?TVPzFBT(engM zy19};)bD$PX*$5TQ9O6%B5>e#b+si*U}Q*l+AqqN@C9N#}`bNdyy zTyvDxGnz{Yc>wH?;;J=AY2Bx}{aj1a$L&yDjpit=2{y-@5}G@zxCYHpT0hd9qqO?l$HhCX?DUcq zr@jVh1}Lph{-Men*RO|5Q5-)D$@W5NZP8rUXFcUjSDZ(4l-85rI1LP2mhw$EiHV(i zB`(Wh>{vkSvJg?8Mk}M!x?QKeIOOrV9F=ywPMgvi1I~MDbGms4o>}AUZ8H-){Rvwj zhrr3&@~P^lVHETY>>TLBYapl=RC!A6FLzH@ukFK3tcmXjz)URuGc*r*k?G(qjwx6L z=1Sk1g4su8U`VfkDcB|r$Fr@Uqimu!51l>Li4kzTHxoC-{j!^il@;0e5i5c^T=;= z@D+-u(EK8(L&ztP-|6716i=b~U!iyk%`bx5z)RKy@;MH^O7Rq$UkI3=3}8wCBK~f zLI)qOcnZxYKux55W|3d);1d;3q4^O|H_lCa`3Ahe4*kgG(QFEV)8ZQYaM)%;wdyg3+f8;^T}^=@P5TpXnsD_TJm}1w>kI< z#Zzd05!7wu6Ts^$s!Vf#M$*UMF)P}MB)w~D)#M>f=2jVj+&&=_h;*}({?-Ij%?tU$ zM0@_YUouqblXzx;(t6=p#kGW7!yHmvw&p0Uc{Ud^&+JefKkv1sxpc)-y(@!~!^ zy{U?8)*PjEV5zoCXAf7bxE9S(S}$v^iraj2z0Fpfr8!FLAyxKddHIe>n_H?l zkLD z5bH>GdWRI3tvO0-p62+jHk<2ET%P7Atx0xzA?r6s6<4S^N^7{yh16S@;-+Yh(mGdj z{*eATY>n#wG*?9KFzz+u6*tS$ol2AxI^OA5^GP z#P5OZ9d9WLn5gm=X3785lCA zVg;a4`7}Z36@X@_dIg{bs$K!Gpvnrs%L!Nkko1*NLJpIK!+6)EG|O6KHS+IV0id6r zA=E&X6@Yp7V@8o9hV5AaXh10PNul{hsImgE>#yJo9DI}FDKy^0`gb(7_ifoJaji$)`K`D#cT1emT?> z^25nzIrwVDQ)s>hY8Lsk$mclt2E|ioz7c8x`CX5JFL3Zpil@+gGt@L*(LY1}RtMjr zcnZy1P^U8endGNB_)f)BX#ND$+2qHPFLv-QeiIGtA42otP#2KzPky$8_b8r1^RZAD zlRvx&e5r$vS3HI06QJf?2>xaA3mkl+;wdyg0_qB;Kac!E2cM>R3eEeV){>t8~^Pp}ce>wT34!%(F6q=s`^;YKp*k8b}aPUQnr_lT?sQa1z7V@hcykGGYnx7A~ zgZ!i9YaM)r;wd!02x=Gk$>cXV_$tLyXnr}>4)DXtZ*%a~il@+g4b(XDXOZ9O;2RWA zq4`FrL&)#KJ=}Hs9ek7GDKy^ol3qx`7Q_VQ9Om_W1-F_f4CBS*sG5IU-9uhd;-)3#!N zsp8X@)^PG!4!&CP6q>Jr8b|&t@Op(XBk539`OwO1TU}Y@!(PVj74jT)o0)+wwofjMDml`k*1ZGIBAuD~!3Y(=dO6yjIRfQ}xrzp&?F-j{{VeujB zeCZ0CuQ5uizfSG^o>L}EVHFyqw2nNa&V`U&GC2xcq%lgXQDF@sH$w^(R;4jY>u(Bk zh3p-=Rbk6DMrqv*Y~54|=vj-YMhLz^NMYp@D0Tof0<5O6MgZ`YN4(qc!=B>JR!3?; zI2MG=02Ry7Am6ZOpX{XyY_vft*5QCkk?-ZR!37FzvOy|Vod)^tHXB^1z-AkyVlC8Q z3*Y*o`2O6PHt0>f>PiuI%h3)l33+Z5=rK`Pb^4a$3e zbc#C_7;A%6tSmc^e4mj9_bV{o2B}y-)S$d8QGC|Gdr+B2-p{1LfeM^rgH)`4YEa%B zq`@HyEV4l=mZ?E`0geWf6*$WVsaS<}iXkmLMS*@Bq+(qIkQ1(uRr7Sk%@+jpZn8k;W*k4ZwV-HhKf;1F;Cd35)Q)lCSVyidrmE zea9TK0LjQAe1n>rhAhI>Dr?{e@S#ZzcL7HSIlbI6A| z9+!z%JcZ^Hpk|TZR|Y=9!6z!7Lh~b_7Lb3Qe6)j4Q#^&{eNd;8zlVIBgU?nxh3501 z&L)37`GF3;Q1KL+p8|CO`HR8-Z;uxYk>moMxZUQhDL{YX>_`}*_tl?(%2h@@4x%3~ z2!|?<7sPMkla@V?7bHuvl}+f+dOco159^1`Grwz7Zwlgh*A%OMtyyB9_VEG+S+Cxv zZq5O7F4SqEN>Hs zK3-6u((Ke}Qd)n}T^znific8ZRrS(0{g+5-eN^w5TQCjce zHnG$%UtOT50=0_E)*Pkvistr*TsUn~T%P7At%o%i`gp-M#T9Cf()x|&LLV>KskkYc zqqIhYJMH5IH|&|i#|w%8t=o@?>hS_Pt#fqRp^q0FQfbf9X;WGU{ik`npl$J6@?b4q z)`GR1wqLB}SLfb0$}V02<-r*I@-+%e?IhXe9|EFUIHIfe-hFUmSscLdkONO z%3gxo!?Bkjm3tLbjfU(c=)hsTYYNrJ-uyVjo&6yF><2`lHduJ5>e^qS!#IkVp%bbK zgyQ%V_%aEzvIy!5?#_L14)`tyU!`~o-GMKMD!X|nk`Mbw@ARt`Poeo5s7*}&O7am7 zzCrO6ns0>KLjL4^;G-RUlj12f-wd^r{8sXD4!%Y46q>i7x(G;C&7Xkk zA%8phAr9Wvsp=g<^WjkA$zMx8*};1hPoeo(sEOpyCZFQq;}uV#`2?tGR#Zzd0 zIn)O76Umo4_-e&dXubw&6ZtF2FL3Y;il@+gBh(i1C+`8j(7`t;o(QCBN9g zw|PeApMzn%OF2k*kOOYHZ0o@NS%8c+UO@~a%YNAVOo z{aC1p)_)RPoen)sB$lR@7>@xIrv1yQ)qq!)NH2z9QkbyK27lyn)g91B!4&g zoen-*@f4cRgDMw*il@;0 ze5h6A*OEW#;42hQq4`BntI0n|zRST^DV{>}%b_-qpGZDTzW3KNA+1(Ch30FZHj%%Q ze1wB~qr3cl@&xfmSxwOw;Jnq}Z+jBptJ>M3%4 z<_G2O1F!OR2|@R`+E!O|)2*X}?pSDtN}fs!x*tN=fjcXpZG!fA_!Fr?_jw3Ce_RVR z541P7WsM5DKS8L=T{5;vGm%|742cRZ4Oeg1IvsjYbHZdcik zIUk?eV8$?S@{Ww4`*p-rh5QFJRmf|gMa^6=s;xg?wRB6&^WPkBnKAFew;T!o1n((x z&w``9w!#-EzFg|ZSJDw*b1SmXJU#o?9LmTNNS}Fg=c{jQ+m@PT-qDg}-e!4gSp%kf z($`4TeWL3Cvi}W!U9M`>Uom{~&ub3YA|WYot9p6_?z4CQ5H@as_WX0tjk5avk)L;u za^C`o$4%15JqOY{JWB<>37UZy>A+9kMBr-(@Wrj^?d9w|MVJ8e}?L zrh75M)6Jo72y?)TUmZYytMl3yUd-!#;K+}G47z8**X3#$jX0T5gKow#=g&{I`XU}q zk+FSbF1)tu{lhMKB~?aJgG|ree*_tH{|3J&?|TlXLN2t)lP4poL8G8TyduO0_~kz< zz8q8M@|!!e%5Sr>%I|1VZ&C@Yx}2dQ=Of;p;x63I_DZ|Fxrtg;n(1zaX1eDdXvJak z5WXA}=%9PjW`;L{jDt4qypn5!?#sX+NwoGfXgohz^4d38;&X*})d$^OlCmqUB=zg2 zR#(3naWu=*0=lfkY?Tn z0HwT8%NQ-Aw2Tz#akp-p<7!Xj5qCpl!#ucOV!Geca-WvFwR~I4m$ZCQ%X&zuxRCSn z{*LTE{50ran_HwC{d{+etL~b!h6UZ3@VPN_397_+rv+tdM3rQ~FX{XWbWbI_T3m;x z-7+%hz8@M-WN-+*Fl+(}9|JA*>|a1DN2tsHYDUoAwzCCo?5wn)`x+d><$5ta=)M^m zPUF!=>6`u7zxFXo_aTVgSuRRE;5I3-XV9;dbleYpJ_1{?)}B=| z<`smu-^~<17Q!=VyprzCLUKKE5rlk8WB_pTlWB*QM)PN_{F$aC6 zj^(~f$;hjej2S6;^9=0=PTu`qb$m+|+FAb4FSnwHI1?r|;O{m3;me{E z_u-Epj~{w54-cO1bU|Ihx)e9x}w)o5pOWp&xw(#BS`m7m(&O&Z0F-De|(c%kcbPmBj zC&&|#NYT3d5yUk+Zr;e2esiOoO@s24bmuA=d83js<3&ad_y@Ae^EXOKw+Z|5Eb}TE zb0hNG7KIzfs^`M*>?>q`k&(17y*%c!+t<44{kyKy<6Q*S4%T>(85!@qsMQzIWBp)T z3%pzy;|9FHxdr`wS|dFCuc90JeGr-}9v$33(fY&hGSNo-EZvO!>UH850zPFJuIq5b6I+U4$0y zu|ty?+8;*{lUO%0v}K1Kn$s2_zk*;;4I&(fsghg~oADTWY47@7~|x!qjHn=cPy1;RJBUZJFaj`)f>x zBXT2pWlVP)@R%^Bzs*_Zy-nWw<@3VPht0rep$}sk+=5o0(TVx}pjI4@4eQ!T)T(g6 z&gfRx+~r?g6LfF6xmC}34-IT}{ZHlqw33tgY6gYb;6A89_ow*X|EV8I?1qNK(8EWK zw}S4bU($)9mbtL{y7c0#x?outw5p5hM+M8mq4`?>CoNbO0j=?)r!#|P9%#?sw<{%B z#>c*X`hq((SQZQIz7cO+6D*5^HtoEA*W#uww7SA#q&yHBOBO6kfHwH4!O(_4qg`+_ z7h3N4@8M|4&@L_e9YRMy!?g{LkpfLlud*~~F4v>!!LoGG8q@KnCm&RZEG4p)$WbCs zi2?|GmV?E^w>t{OwSXPRYNF? zjg5FvTP*9&&DvrY?3u1Dw*39SX^Z8Jyb^Yz#U8x$25qtCb1JpPP;1&^djfah+^(a^ zl)2_TdG%;>HO-|=<+d)-rbsoPXDkR(lYX<0io=Gm3DINc1;RR4~dq!k#0%Nh_5 zpEdDN3=TAjt1@0(l`Z00k|?evo#I-?L&AhyAU6_LW{Yd32QFo%&-#2+ryADIdz-YG zHpeg2W-3a0Qk&_K(npbhn(3SKs-dxAee}px+DxxJnyJln-)Fz-ZKf03e%i}S@BCw| zHq*v06116KxULmRDl`2Kq0F<(|I~kBrg$l?ZKgzV*=9-;mu;qOaoJ`n6qjwLBDmN; zcs9;)t$lXak5O6|vUbH;QT5(hUi2u-o#^Tug=q_>%5q+I{rw->d?W7vlQv(Z?;^l7 z-}&!c4UOjeOY;@O&B{1v>YRLfOnPtAmF&K$m+5ZbUXG~Ah@g(mlMxrym`g@woKW_I z6E+q5AwU0qGYhbMXjp!+L#0Ptl@;Pz5-+YLRpMHvn%S~yajoPbac(wQtgL-IG+OMQ=pR92V@o}IH#Fv)+57j6WuKER zQfRxeb&AVwY%V;Nj_(yIV=eKB%WiD(;<6iCB3#NuarsB|Ia#-02XaUgU3~Qi+CBQGE_V*{B-+!sbO2)r@|3xa#bmd18}3Cq4BOdz-26C276P^zoB(5S?a9J^KQE zPTraNApB^i!3D-Ba|zA#pPML6ifWrETU@q@3dLocs7PG4iTvWSO;iDwGSNM&$D%i%{C>xmWIkMmt^mbi*)Zr^MS@MyL~T>@y>K z+v&>Ne%Z@TSF}He=(LkuO6%tI0{pa{>~jzE)&Ja9RZ?c#R@LINZPg$y+g45DvTfBO zF56a}aH(^p{+?)NktbjLq>6RQVikK2!H*VuXO>%AtjM%azF&;aKqxIXYaYUk>FgG4$*73A6>u95TSK4ZH1ai(n`_GN!!V+oE zIOq|VZKQZ{*+xnfmu;jpaoI-7hD%vy1z)O;jZ=+eFoHDHAO^a$&t{Jek*Hbz2(Gn8GWxiCphJqD}Pv z=6Tvg2{S6RiTYOs^y#*E*@Mv7jB0PcrniZny7>R~GSRMkYP5-H4%K__e!3HWG?CI& zOM3IaXh{uHT-!`d;RUzjUiifx-KQCzmU(!^z(D_dN)xeCQ) zx2htzRI3`kC%j%+=c{X3wY1K|8#e2~&h@KYZJoL2UZt(`LSdS=&L=6C=o1f%p_rVp zRc(FoXT1%Slb6%WKns13*am`Gdb%ci+H~?~_Jz!&SXTJgFJ$c5fL{t~8>m8Dwt=d| zWgDnkT(*H4#AO?(2`(Jng%Uxq@j%cvYH&;I({~&^I6s46n}J}1f#_*0S6=?l(Y>x& zZvN<@QK8o?|F6hQL<}|-2-*UIEd_#S7Q}ygq0%D7vCYsaF53()EK7w1cI9I)Gk58jtdI%hw&iSjB^lmzlldtV< z9OJ%%UQOqztuG_4GLCDMDaKI)dQ#F$=$QY@=2Iwzw3|e#Vxb_%%9y9^+T*_}PrVT*vn@ewB`&=8PYUi^_54 zLb>hDBs}6?;HsAVt#XHpdzEXsxNF@mao4)4;Fh%3_T*)jPAj$#%eKH>q|@?62?)f^c1aa58{W`69xSeI> zi{+TFMLI2BS+R^2IxW7)Zk)NwHD9O2>oAtlf10%NFok4VCv;lb;$GnD)M@#|y~<_j zw9>>~>uNboS~WVYJlvF(W~I~07B^a!PRl25G%lT18r;q@#$tSy_NCMEh#T!orxh-4 zv@e~OOWbH*r%7v;PAe9VFG>5-X?etr_NCJb7dP6MPRj+iGhfX*tywxPPK%^{>9iVk zT2pjdoJ2|cI!#(5FeXU*(rG1%8|_P{l^|}kFP&DrxY52&lNKNNVp=2Ix_#-i62*=7 zrPE3fH`~lU5!&JZWD#E%x$Et5c`t z6F1tIPK#p#(`xBXYYomO*V;n-c;z=MP|&yP`tsuQPoRyTx9C^CKG&DeKED%@&Z~gq z=jG|=TQ``c=gk*K*7+?rmk=UyYfoj+f} zbC?UBj1<#;0ry)Je1Xp+r5=0{o*DQCI%apqGX50pq&oCY z`eqmfI7GomRJOv`{r^;g$Qlp$n8eJp)BzD(s)JeTnBOQz-X`Xhhw==|qZc!F3l(JZ zGyb#z$lJxA%@TNnriNu|s$HRon0k@&%KL;~UrH{npcf+VrdKPD9Qox7l6qbTHY;o+ zlX@IJzFShmPqyG|V{`krVyoBAa`&B3%#8r@yRrhwb28T-cEb@R*CSNw;xVjYk-Ch- zBV>SMCS)a7MIo1Pf&{s&NXeB6O3E@a{OhLBjfBbywG!ZXOrOeGT3O~T|%CEH!y;_|LzOJ{A|xCRBOXOqXloi)klB)Q>$JZ`W)&ko5O3cz%birkt6pz;ix zYJU|GCadf~hOE^R8{dwXSd*FM#*+YL5vaVfOhtJ z4sw(+E>ST8I$Mpbck1Egttb5#2X1m^LK(h3|n$OAMwZb3qfnBZ6ru|5NiMl1eLh zxGw?=(}QU~?$<1ItLM9`m%U$iyskEs|T{_|5H%!)MrR;S}P==b3l_DMA>vY;jH zKvLNfkb_?q)U3%9cY(OEy6Z30AwX}1YA%|B-*nSI6(Z;_!Y@}~%tgiGJ%5&X&&IFL zi(foS#p8!aZ+>^s`~^_c&E*wJEL38V5{pI5uYxF#>x=11d2!#c^4WdE)63KQMx>W# z_4SyKH~bFUrvJH#ziS)un{LkCCgQ;+2w%yDXiRWorms^I9DM&W5I57e{@_`@K#A*a z0xd@Ir8PJNcIiYQq}7dmeD}M4?ZbC8qXcOWw?lm924A370@c@%V|^v>f6rEr2MwfB ze7!NTR1jn0g8RdfjxllJ{T`8v?~kP%T)L5mHU=-)=n=VaW4y@48xti<4dK3#8>YX~ zp80>46uuH1Ys}^O;KK(o(PJ5NKgV1ZU9o#|Urx>@M!tNl$e3MyL=HGST;!m`BSa3> zZhY1=-#z@?Y|c}SG`kdci?=1j-RQK^&_G0TjhhDsU5)ieQV z2UI~Oxu21=qXOZ~z=fevkylofBvH*G!CD@AAZNuYXDZe~A4}-5v%^^pr}CUY7wGAc zN0tHs$yyG=V}?r#`Fo(Z;!jWF^4`Wp!7`s5B~OjTEP+hdSilv`2b5AxHbHP- z6#X7*RDRnaj$&U_+cSI%Z2%9p_v~jw^*3PO`?D=*`rLlD>KS|M;W+X0kHY@)Ti`hp zJ3L>3MAMNSp3g()KNP_|M-_g+JxWG04E`}mB00}0K(S;(w>RkC!}#7@R%mtwo( z_D_Z$6MxNGWb)j!wXP;?^D|?t;dE~q&8@^fn5W|kYK>#e$o}_$k31pa zXCam{%g!XxGK21?B+lK4Q;~wFkMXa2BVkB>)c)zZ3&Yc7x3a(C-0Af}_vL?R#ZhS7 z(%ICwZSk`|QY(bt2np?k_7FlZfiLzG-pkMhDE!I$T3w&Kkp_cw&TMss&8&D88;9?o z!>%c2FMM<^?B{px@2KvB{fvm5hN~japogErhDP|f%we0bIk%oF+tQ!mUvqHT#iPAz zIbrkGa3fLDj$>f~z6GIAab&s~7MP9K?X~?GG2k7Cx4DUTwDO*xmcdU881?I^3hP)BZhEWdP$dzQT;f1mmIWP#NX!oBz1BdnF;Y_HWpy#j@f}VO%Bg za@vM{o2$8mQqQN3vdp?>2CRAhxhqHc%q6^s;C;2=;ipD>(YpMjllFxcIxbL)mj$+Q zvX)++9AK%vC5QW@mk*J0drLm(gO3^)pO;bgaq%TAyx=Q=( zGg$@QFYK`y-#68<+VPNBzpTJ-Pt8cj7nqGdTyjJCkdOWAV7^?K?*lJBN$tnfaEQci zAM34CcXzdWIK!)8PVK&2(uidmuI@C_b++2WS=r1njfzo?M*W6{q6Ni_*b`gi^mEtOBMuB1OaM4@+IA4d$PCQ< z3UisWj0awV%U7QKg{vObadYRX!^mk7I!BMY5J$0#*T&jLf!BK(GA=Y^E<;?dP6kHAJK%qzQwG{)$9vgf$%SHQbk=(bRA55ZUAGu9j^Nwa)m zy=nm0n5Q=K3e$LqYozu37)H8@@z#@iJ0hyH2(FkMxNsER$y^DSujE4m-|}V)z_+}4 z&SjO$*@ka<^F+hvzIloj-{L#|Ueas6lAvcTAKvnlQvRednE zJ|`l;H=q`u4IpwN&gk}-l9WIT8V4&rG7eE@^fMB;)({bp?{=J8?;H8n^jCc5m-v4A z)ZOK zn_P_?um^KunpR8qJ8udLI{qs69PBLQC~eZLQfD0d;S8DX#-7deMbM+2vK^1-r4~LgWuHf5hWn(^4vFYZPYC z_YjM1vXTad#|K8<$CHhHU*eCM_zHg;jf8=f%sFy#+{hialu71%XiPYag=(zWPD`$2 zT_MJ&Xv@<+L=+f0u9DS6k57#JchN|XAi9N?{4xFNm`h~n3j`cxb4RQrhoKw^B6!~+ zBj;Vp7Oyek0MD}z>5`vAfOcB@U*0jqh0XGr#iK^5J#dZ-6!B$zctq2X2D&lccGZCfNVW)CGwHfR+TqvWs3 z${zQC$IyrHeCAmc3kT$&Xh@8x0e$Ln$%#&V?!Km->g4?a2h6yDK6?ke%i~~#hzrQ+ zyNoP4Xx1g{yse~F&fWn}0hi9zu8EN2CLf z5u=AB!w$HUJ;GIp$Btr+d@HJ?)hJHHFqE_dse63rbi2<&^l)*~4lt6%;j@D5gf{p_ zZlC_H&)n(@q)55cx(^1k_c565MT?2@=_R0HtTvX>@FYw1q0PdO{GWHoD1d&{7@QnX zxmb^}XY2Gg+LMd~9SN`+hhKK zl1F=bMD&b-Ds+O~lgLea=AL10*3)*(H}#}F(|k*hO6J>aLFl+S0vP#`iAWOpa}N|* zu-@3x;IeL+H`_I~JVJ)`G3CiJa*aI)ZZzfNyVB2jv-s>WW?UV!+CkECJUEG)?v;F{4y+Uz6HSSxJm|09w~;%jk?Bm> zGzO>6YT7rmWJ}oik;kVmXj}b%o%8WLRDyfB&iU_4PoHyCVNZU?7)QEGfm}29cFxcJ zuAJM=!8~BM1~d%a8l+vQ$*+0xyV}C0dsJJ9{j+Kd;goC(2OnWSb27>(iNraxhNlYJ z@_+(_{~LAeHIH?lCf#-Xx>R!aY4Uw_X!qARB36^sX_8VBdYYv4K23I~pYzsto+gTiFPLY*&E3@>GJb7Y1{gXD!HYhTm?Fhrvbxi|4HcY9>0=q*IybQj=b@XQsH2j;JHsJ_TNCgzNUowP&-%-Ch_Lr9U1E_))ycC*ty6_jy&CeDZ~b8D9Q8qR3WdZfSZIjb=% zi<40p6+bOZX8F{jWuT^(ECVg(Y8hh!>VMa;qU@ zvd`SET6sC@FM~Cv<|8xC=E8|o*{$$XRo3H|ZBJv0d;C(!p*!kRd~QAK3=0|(e<1u- zm7QD98ngW)>RDgfCDpZFvNCrT>Z@Kp6)IyE?-urqSr4xG+bDgVI^g)j(n<%)aZm{! z_j=V{hqW>U)51;o$(Jn}+$7?O2(aJ7Np=+D)93J+v<2qN=aox-gpA3UI`GKwh$;>6 zLV#LCKt3F)W+e}CRuWK+4l{_5*@>vfH^|UX`d8!{!^Of`><9Y52E92`Wp4|l%3g%Zu*#mD8D^q8 zt4LUK6O!fAXDg%#|7!MR)vLshJhIQ7^$;f0tams<>iV4usr_L$BN*lVKd);}9Ruht zj2nh)I}jc1QEo`q5~-`RMIhogP`5>>&2V-hM2 zfK|xT$%tAdv1!%ND&5_lj97!dE7sueh$XY;A!6O6Q@RZLlr(Fl1aR2}phfoClR{a@ zwpVmtg@v%Zt5$TE7QN=xqu!eAo35|ZbDOo3CqIJ~?t7vqjrP`!TW6(m@6XIJ-gS5s zHPu^l#XnNUtjn1;e)OvY3zJiMVWd{M2VjLPkkWA-Rwjo87Wd~0B^I6WA?voAaZqw< z**m|iLBDS76Wm?kTX23b7VEi;f#o}i(e?KqkG4~5yA-iyB^oCF%@0~ zNh(~U^wv)+S{(wOY%2RU_@ICtH@+MKCPxkb7TA8Px4!0*Jt5RT`d|8OY7|S(awR`? zRCMMF3x)OcXU=dqS9|Ojo%=CptfBeF)ti?~kX(ZP9r}`b4g+f4kt>XPk}Xqju8*H- zN>O&aFM4tFgs%*@YStU2yKrDQapL%nH)G+RR!5|v{B z3_|!K90WV)`%lb0BbF|+b|Ib zVohjT7d*bg#9=>$C-Zm_p9YFq(+UrKnZX@?gW5RC4$1uc6M^ps9^vPAv23+fIFy_X{<%zm-<8Y5Y zJ@ttPq@H8SA&rte%q&?I?iKUJd+2f{2dz@rfGW80(mWcbBt@3fT*X(EHAwX}p!#I} z@^v_)A}YIEzyy?ZTYGj{L-9a@5tXzswEQ=EKn6sPLh9`aAq)mOP7rirDxjw+NPv`3 zwjf}0#jj989Bj}ZVU)Jjy_@|zcC+7sX3v-FG>m4u#|aQIMw&gYJpQJOxdc*oquq@@ zPD+hNuZ#VIjIw=f^s1oJ=%vW8>QFD1zT1DsYmFgNSfa6*_i&vjYDhPBEe_L;SHR_W zg!oG&DWsA2k@8o~eM8pBCS&ehC}Qth2|cYID=JtGQL}59Vc2KWRI`UZpns9fGX`Cv zWHuQS-o;2OZ5j(W($;a1 zd6IJ8yNJhRj0q4qn4#xxMf5$4(5r3#7-oUxV>V))Sk0>W3Lw_Sr)AQV2YsyM0J@z` z_;S^R-P;kSm*CO3@Ct9;HMxtBY)=ag>u$lE%x>A@69?n`Ip$loC~iRo${hZycScws+Ce%3kz6#5ne74u`m}_#&?&W zYA87ob>BbQhug#4jteJ_wg-E@b0c(^Yx@y4n((~beh1FW0W3#(IrwC12tm4adnE7p?Ak|E{Uk}ZZkxjG(W>xiO)7#n#5w=#2EH|!paO9lqJ-#;y_gpr3yz4*0 z{i+?k`zaVe9WK2*PI7cCOipLqJxn)o&LI8vNc1?nQIk5Wry98JZAp_7gUV)u5X8>v3_CSwL0y&h)<~T z!IgA#$rK2mS;yTm_LRLg{E5F|--WD+Wt#8k`Fe)=rmnv6X7?J^MlQj~jf&zJuE+Xu zVUMYE9W&b22Tg+E`p(5(v~O&mn2qNCO&{Z-OD{&=OTOtl<3c+kPD6>f|M_{N+qe-C z!MG)gQBRUliwpN)n8D()s}qwfXgE4rBNpRjJq!&cP>2FqON(Z^@V+IvGRG8QC06yV zh97Xh!6fm-B@-sX}ZJFh2PhNBM>*&$z z!dEOFjVZABVc&pc8IxmVp45wzE={uwvi9K{M$3xy*T&qpaipI95W<5Ro;P!ndm z3z12)uUyqqxvHgdRZIW-4SV!Iv-=~ZCUz`y&Vtt5elCiz#7w35{Ydn~JxsyV`Yv`6vR#d6BsJglpIfxoZeabyd9 z1I!VWeL)m`Un3&Rt<`|a@U-3NKX!kLdGZ+aF)Miv7`g5}zkw}s-ZOGz-lI05(U`Co z&r1!yx5^kizR4JTa|?>Rx=1BFr_9gH&{joIif7^w0frg5+H*#;roMpW+ z;ca7Z26BWMOhOs!1RHXUUsTHBb8@Sg6_y{9eSKs!q((fI%W5-nwqu3T$o?EJgR4MP zY^=&fgff-)3`Sn2BBOs@CfUYea+XQlgveEsnQvU647i9n%-Lq-<|1qRjojOiwXL`v zYa5Go7`IZcc4!(}3w=70*LMh}EfWhGN4BCWm#C^m$8PLfmM!c|H2;0e;*n*~7T{Rn>M)`m{l^xmP7&pCdB;X$1UUi!e2VE)U!|l2)4K5@1 z4iI5Ijg12`J0T~FN}mbDK=)MIdv*0(*iuYk^2^`??+Lqtw(N0 zh2GSRbv)$rH3%bbpOJ7|1=iM#{DY|DYK&h-&ignjEcAhqkl{B9unu@zi}eblCXBB( za@I=?qiR{N31zGpBd4rT2_6|PIdFC-Dr_=xA6j9$wj1qsmatM~yV1yPGjdj{_$wuT zLd=-kScC6k;^d>2^A1`SYVZSvoK?yrE^x-6bcv>b^6~ zHoGmT!4)p46d7F6*yX;k9%Oz0^5`l}p#%%|HC4RpkEcV-4P`sFU>#KZB#Texsf}49o2M`T7p_p4 zWN{e#*W-In@dEqEYq(%PzE@VKQY(HXgT1?E5-(b(CCl91@C+*{t50j9m8cZE}SM{be(npafir-J>sBW;f|%5ZAR{U2z$qvaL~xzg`O0VFlQPt z1joc|1efMH@8bFz>r)fn9)%CGf@~hZ-XDlBn3D;g7*VQt#^51Rp6>Ok zuh8z)Mbe9C2KIWlv;tktHKDcqD(gSAmc4as9$vIe|L9|C(W*~zlo?k^W2T$Ql~Uh7 zMo_Qn#&wb=uz153VerzBad3e~5Bmb``7?ELm_9v;Vi?)=oH@?b$e_WR|xAaH2c3|YV!pk+)rU`)!(!ZFrB%GeCK znj;Zp9iO!Sx4KMk?YTdH5g)XWi<1nqyVvZ#fj-`R&%RhzeWtoSFo?ZI7v@e_?62#> zhqLL9!){`_3-CGfwx9GH62t1PV;j!o=$J)XnM7rEsXzX%jueDLihX#27#KfY8I+XhS+NAZc zSAbV**70a|uXvss4pl7@V=?BNx?();gLjGH1G5-mi$s_t5l~CwDG@a;PcxTsF2!ph zT>|DDPxr_XV`6Yb93;AKHacG26!I%st15{x#-!*vZheM1ns^9F45o+{qccfWbZXIJ z__p=1FcXC_ktpq`T8T$K?~9O0VJb;zh>XOsm#vPaWFldbaHx$VBw3CMv~k7CPe!** z!XYvPKgSmEFL7HY4laCH{EZ^L1-y05qdzN8sh{$vcTtNTcQ{NY>7nl6j_ktnIBt1J z9k#g;cg-_Tq^IIh+qHtXN-!!)Q9|*zQXCfz?QgE02b78rTADZ!7LfLUFS}uKH80M7^T(Wp|EH3>}(d>2F z<4Jyn)o9$0>Mqq0aVtuhoei0qs!v?r^41TA-iIE>WNfV;p9sXbD~lBJ{D!#;$x6+Z z9YgP{Cr4@={?CVCOvY9sXGnU$pCFCW2T_LO2a*~}ws_Wm(%1Zq=Leh9cXuwKOCFh~ zy>-oNexdv8OmmkWlQX)vu3=dcMfXH3b6tQo0xfP?yfTL;Y?&*X?IucX2jI!FtPt&x z8Og($W&G&%yU#L8e|3pmT-YlUk=LMR&~;!NbwMRD=v(Dtg6j{T6zW;gGMW{I4M<8` zaIL}Mw-^l1Y!xq{P9NNbVC^g`?91oRH;o^8*qFvjv2s3delcBNF%{Ie!$rBvFp?pRvFmD<{+Z`plKX-efiF2Fk$ItQsg0t64KphOB0VK#5x|*JOj$1<{60 zSSpfbBV)rG81>ilvNxxBjFJ2QnR^%bsEe!re<4{#V7rMDrATaAiH3%#Eu^R+kVv8% zOpsbafuiyg<+0TY#emeRO$lk;XI-SNX>DuzOI0lGBbBz&Cdeh>7C^;-%0*Oypl*mt z6y+i<{NJB5-_3=Kw$K0f{Qo~*WamC}=FFKhGiT16Z=WT?J4X-JE5k6;FwiN zmdXwM>Ld_bSXm#OJG(!69N$cntY$K* z=PNL2V{pO_^e>=?{!5G=OqK5=Cygo&H$w|?vM3I-8*;P&0mNyc3k7`ESxHoI-kpvL zjv_q|R(y+D86R^-xyy;@Q%1KiyzYNs>MiKkb?PlMP){@U?qXatj}lKk^~Ngsv!-5A z#XmTaTz%5q^Cp~>_dU&2zWHR=<6!2-3 zYlK$(dF6xBiAmo>VCgwi2j!78p(+2_r`BFPRNnRasb>LRL$2Hga^Yq#cWzdlbJLfY z>uu$@3^J}pNhfiYr%HQ;6NmYf2VV@&#J9-p{I=v2{5CB4@{;x)+@K}H*cEZaS@LM2 z?ckO?+S9qi*zvY(a67p8Gq&5>&4 zm8A-2$;P$>ikOg|^7$=o{Hoa8KTPk0JlBR@&*iu_0@t}(^bV|2dsIpX8W9)c+TM|u zBe4;x1X3Srd6QggP_r&z&7G>&draPhA;UGwV~!eY0p9WIt~YgTliA17g66S&kd~0y1;O-|Db?v&qfGdn zc5V8%#WxkXZy&Dn@d|EnGOxBfU0JRyT7f zj}EKSY>ov;?{r!H8XrXWE~{H)=frTe+$8?&`C`|Vvf|@G&R=#Ndxsat*&-A;fWQ^1 z^}i$cDpXXLOXzP%H9?ttz1@}Eoo~4*%{>=W+Fn{58QWg#ovQWwUadR4T3`6=TJL{1 zUaRquZ=T^!iyYQyBrZ5eeV2;jf&*XbSof`d)0v}wl-Ww8 z7yfNFHpSs4^b|}oh$swwo@O38@x<1@xSTs}hL+hHcj1k=(& zP^HM!DpjY#s#0OYv_5m#r_#N?o4^grM(~Ovn@}B`z~w$&GQGOW=z z@v?wpJx2QxB18LenBh@EV-q&>LRIe|5d7+bR!=ZyNp0~JuCQ^|^7kIX-IoygCfZ<{ zP`PwJ(&UXuhuaVb?;}l5#Px=P$DpNKD3kkTz@eOO5_s1t8FB8#L?MsXa|_7vpR`DZ zWA@x4*#Q+CILz8;7Y~2cNKVg$9%lIB!%^31IP#Zjpxl7gYB2NLO#;TJ!5z=8rJ%Ho!f|z^Ot!WL zsrZ6A#lFg>EALQj{-P(SceXROwGKQfD^GFjRpi91(nY>&;8hWiL81h#n&S*I&M<*j z8E0&R3zyACW`YjG^f-IYkiGb0@Xw0f!%n6Xz^yGzGFTv>A6IGS<;K-L_P^6%wlo@2wCG?bG+~g z<*c9ar`8*&{)2*(t1s!O{`&Un$A4D!15c=4{Oqnt`ItDoaCn_?x>V>qncwy^{%RP5 z&l)OWo5Lyr^BT2${EYKwy&JYhDifi%DW5ci({>#uIQZKt<)=^r5|pI z4zI;n!%FyO$5P6L8Wi%Oco~$um!&g_y}8ARMigT-{o;)0iu9U?XD*65w1Y=e$-HMv z@Vucvn0ndQ8HH!B5fk&T!9iN2u^M34sSFZ#^r;V8{Ir)%wPCZyW^A*z90Gy`%jySm z2>!^7)vec2;gzn!k*BG!*QZrD@PrCYMZY2qL>Xo}urgT2SH1m3J5r?Xe_Ev2#M#&) zyAmsvNs9huSshPa%6>J^FkicO==R~@QXSO(L|NSfseSgwg^egFr+DMyP&yC{EWFxK z`e!-X#|l-v>UOOD@X$2_3AI zA|DzUXGt@zGDQPaZ;GJ2KfeOxxcBGSd*V}=@FTk=Z0A2`aXYBoSi^uFdP`qtKLiq(0= zAaz%aB3AOW#oRsVD4IksA0`N#a#h~d_jaqH1o9x%R$Ut;z^TNiSH)$ZqY{`zJpR&zSo!WF& zIpkTJ>_8doT2i;1^no1-IdLFP6uU69hBILfA6pf+wJX1v547S2j^maUb&NPSSi?N*``)p~9qwf04`#gDnj}hM zD+CwbE<-zb-S$gEuWyv@3Aj3GTXz$$-u?tqsz3T_@*`Rrhq-;YPOOuv)$amAJ++` zjqDzAGxiYX&tAk}zhvNms6lOu^u`%KZ<%)jNX_}53ex{EPn>M*@m>wSn z4gR}hAtGB}5cd0Slu^QiGezf3Sk&u%TeC0eVit3K;W|GY-%hsZYXWGbbSpbcMv*G> z-{-pV?~nW~cSX;ZD{{jr%O664q3-ZURrq({U;5a>d6wbbbg4zW0iRfGLhW%6cB~WgG`}wV1ecwWCv<2=_O!jPk zSM+Zf&&%_`bo}{s$8xa0>>ogtd`mjroYXJ5&z-jak=J(cL ze``43OvX3jPhnoI2d=iHy!NCkJCcUt4QFTbOTMq-H2Onxn)ztWcdc2cDQf zCk2xpaO79*k|wC}VA6mpHEt81DzzM2Yn&vc$1kh7|87+S;UTB0%E=Lyv?3T{Ps+hx z2=UJQ4iShBga{`M03Qwyy(?9n@Day@b_CD1+)hpKJnzbQRj_gt61(7k7R2Rt3ryV| znTETVYPng-8LQ1$hb}8yw(dEhf_b}D!2|qC5R`ag1y7O?>SCWW^rLsRMa+M;UN^`U zdzcJ-N82=Yd3wYRQE(g|5Xe4@UqUIHO9=&@<9B9{;_$1+rsAhZyFSe447u`mTYr%k zUKM|inSW>%E%?gLDXH8r^K%G@qiPFbjIXtKJcQ(f>l@x`qGKN|@6G-Ob3q(n@TnR} z1M&}Txw;o;A=tgLv4iDo(Aq<^RqyM>56&FPFkaupu4RsH$JB~Xhfh|kc#$g=h zqmvVnVg>KqbzD~C?rcDeCHGB)2-8>lt1_+%?>xN{y$R@ z6{d%A#e0W1xfQ&3H5k*TnKV?EN3zW=je{w_P0Mk zU;%&CNEbxhOP>5g^)}9Dhbrr51{xD9+lRTA7jUCok4=vul{UzjbTf~taAVw5(2LqM z#(E!PLwsf!8J&P|!m=3;)s-V^)4n0RiEVTmnjl-y1VNTMiS}okX0Sgyrahsm2q!LarOht(jJDdevxR`>U`6h)2Q2k*<2RCS z(#NuV*cS%G5uC`pEfy$Z-Iwa~YLQ_})R{xudJQvMJhEZ3M778^s(EB|JEv{NR-Qd0 z4zRADd@ACQ^PMZ%$vLS2kl#V5tPl$1q`ChfJ9k$SkCT!Si)^47Gda8nnuRVS>XbXA z$~bU9rR#*=el^Tk+d8sSCGoOeZC1hlS3bKEXOCe4WI(5%A1?c}Be1+`J>S~PnMcte zM!lY6<4lO;Jg7t0E3J15g>198>-f%d*EkBj5_WK0uMMuAPTOwHy&nY;-?*ZEgWIWN zt2B)9t^II_z_lkM;B4(fQ~a;JQKxa6*;9P&Qm#K*Q=nz-M01yn)_mSyU&bc#u-&M0 z?7Bx%i(lwPZYVz#oekk1PYV8|h8~A_@88Uw-|=@=j)^AcL!ircb0;mUBv7sS%keWu z(&CA&GgemKzAMkm+Iq{%!H-AU)5fiQw(sNZq0q`dUGvlSoLBOd((LxMK`WKrq_!b5w&-}`;^le6nYOTqq}-og*X%2)#DZax|4F>eei2eqpy(dQ-;;?X zWAc*QT#4l6GQ7gB+MWvFM)lbuTzjrV$?R#Ptz`P|UCE@>aYRIN$0(W>Ej|+X9jOJ8 zl>hWHWh-m|&3468$E#Gz^)8h4N6Q{~T)9|vZdYRVtxBZIz-uL{%>N3G!v0BkBK~m- zk~+(|{?WL>xfKjUksi(ME#lE!5%1-YnqN*I5Sd?wb9H3U0+B3|;jLFkhAa^4xw_Y& z1v+HpAKF@2`M%lC+omhvJ`0-9;EJJQ*aG8h!MR^%tHLt1p#F%-8yENvNQQ(K)}9%^ zM;>m?M68*T@N2ZNzvz&htwj}UkSOg%q9k*9$)*^tIPkhe9M&6_tC(z z!u?xiJrZ+SJ2{eM{F4Y)DNA?D!C09Fkm;>mC{F)_TK9krssS71$1CR{*9q@PzBMheX0@tvDYY4gPHg5oyO6PU4L)vUMZ}6-NvrbuJ2DAy9t3)j-5c6@uW9+`L%h68ButD*_a|26@bF) zedRfYMezFCUmyAY8kBtVI24C@56FEkPBV9qIFoxghhrk4G&C-7RGS%~Iy|GXINUfY znpmk61Zju?xlenC`!wfu0X@;vwq6_z+z01I znZ)f2g_%Uqw9hTV?3gFWq&pkzef;_ZSgl;InSkx4W0DuR-DYs^_+E%u$PUH(%09;- zC7Onpg3q`1V$&H95V4Ko6OewHk9S8XSoyYed%yl#~_)CsQy z$Lpbn+tvjqY!yRjWM;pB$pmKh8a>sT^r~$@#2~m{Ho64e#9^gDOeHvrcNiIOsOXDu zj8(dz;BDI2?N*+xHBqGvWZ6Ka$Vu?+RJ~(grG+h~hRMAvLy(X9nyS|T$(qAJ7tNl5 z%?!pv;_9yIwU&C=gxB*VujfgIUE&>=JPlh3Ry+imi4FPpAXJXaC>f^>JcCz1Pb9D^ zBe27XW#`4kP-K3=a&4?QoY*Rp$yht_=&8!+NrYMD(b}dm<#@h>#w?3>Wfz=t4;`u% zk9Ctk>g`MdRx)juGz;L_TFC<;!1Y*SN%$>qVJi%?yR6pGhfu7GuUTci-MLWJw)UWK zApJutPOJbH&qtY%ZTtqeN>i8vpikSC(tZ^dm3ROk4@~s5>dO z*hL0HUZf;`)he#tTkw)5sa^k$FT<)!eHJyt{aBFsx?FM2p5UC1$>*{5kcpavp2F~l z7=qMZ0L5@tcYmyf0y{%`FBtty= z-y^;I%pmEhy-8Qpmezhm+C%D{*wEwJ`@>5p>9;fyoEwB-(xT4jq_?)&GA`l-kvmNl zoJ;9dl;`1S4et*{_NZ2C+aNaMbMAd@1WKCuDV@*H4dwjUjK}rNUv}OFbs?7GDXjp- z=0KybZ9;D&33dm8d$MestT)Tk0#OSvyODc7rR$3^4itIawc50c=V=f+@U3r90ERS)4BWXJJ5kEFH_J zQdjZww5+rN7^bnc8jCSGSvD-~ZJQHPu@OCPGp=5L+4Ec4dycVLOocSB=#9aQO#u2Q ziy6BU4E2eZeu>=JNgB&6E`6Pj9`uodz>BF_vL2g^$XpHcAbpAB&{wv1U;aT(yq=jcFobQ*hvS>w^PlE~aONO?tfe zIarAv=CX|O;Ffphleu?=&%T67t3Hc7rc1x!$Z92n*2ZH$XTqCsefsnkU@dT~NNxrw zP|#c6L=5|}D3#Gz5d3CgIVmqNzTl-H_|2J6;#j?`-`|M-4{@v|V>C8{#*wvjfmN5EU?39Pe|1i~u*kg1p6iUQ89<-v^a&Ij3hF)@zwu9@xrZd*`x zy9?XcGu@LZQYvkV{WMGZ^Ch66u$kA>r13m?QlKZ$$7WhuX>*9JDQis;yVDFkmFFUi zXVv32w{w!y}O!8Dkc#}iPi@4C^~{*k+WF_vJ(2=L4_4*cHTn(fp^!WMsz zTNjz>WU(G5;QwnLT|_J5n^!nDknP-4^JtCNr}OCdM_6^~ZaTJ}WB z&XC!VnU_$VN5=RjBpUH}KJDT#1TvmlSSu=xZgr)T;h!{6)bV_*3<40h6^P2B<%F=8 zReP#Q0Uv#_cR1I0nO!DN!`c>_7U}(*1js3xZ@E_^-eDZ&zu%eLsL1Z8GW-u^xX%23 zkn4q zF%>R+^kU&OB@xuxUW+x(sa~=4DWv*{tYXNA+Z&=GmWu#O<0)D(f$a$D-p~bS=|hl6cfncu z1;hwvyTRFjcAV+5Vr{5$L)q7KEn6>jDc#6YnItE^GC!YqX*~;^_qHOGbsoca0~%Lh zr}RYTQ{mewJzY*EnqZ)IfC&+U8H1ui7TCpBISc1*S!o*RB7uS3|N0r5Td|93;!0{}DpD5r_)R^EF;vnkNg9fO!UR8g)Lj zqP(~yeTqfjM&jDY()8IA4#xNYx~`co37n{;;H0Ofq+rRPqNGrm-Yz|jx~e)UDLC~2 zNl)X|nDjK_|KEY7GL2gHy%m!+jumeQ%Pt5ZdS^baLwz|U$vc{NN|VaZCP{8TfL_G& z%?Psl#*e&AgC(w#bqwMM65C=;v|>)_i?0|J@8hB_2}Qqm46%Oiy9ek?P~{8;pMgRvEjM1M_X_*EsjEUj)874$ z))`x6uC35KNC0NGy*yKxk->*sWl`0wab}7=do>SJv+kWg+cW? z1`77J&#J0C-Fv#>;Y)EFxeAS1R2Lz)L;WK)8&gkk7W+`xlq`+zaq(!P4MkD2DeQZo?zI$d7TY&S#91a#rNnP3+{nhd%R zkuF?02B>sJ>D_%WG0=tk0QJHpN;&z~$J5c0F5J6c)biv1SWa?p%de^9T6I&$>B6mc z8K0Lk@H83S94li-Y9O8lJWaWlmeJ&@Gw?JICbZ83c)yzo{_L;uK{Yx>W9emn z^TG9}=_m@m>L?UrO6y61%gB9lM@2KsBmRfJ){OF>XN~&zAQ)@Zr~v9SVE02yOY_il z6t?ytjFnOfZwdm}Qbt_1lTM;7uFC6eX7;n0;rU$Gbyadl?Pavzu)N-W14fH-?%7@H z(CYSnT{Gt7ZAr;(A8ZrfYP{)w8a>3BjLL%?c6N&7h8V|+x&eK~_!$>{qyV*;m}H@G zuM=ut$pC-#3nFPUQm)1S^O4NRWZKtYHS~{0>bq@JNTR*jjWq` z(S0MAPQ569WbNRW!Xx7!lq@?(PhlnLV=3kXi5!1gi$c-+c`$kWjJq$_#cAILU7T_y zZi!rIUQ{}gN0An~VCCSSSG0$cxGuNoGsFGO<9)39{-4%r>P1p}`gxtDtNEi$qhwSI zb*Fr*NlEJ^CFOe5nGWYRw?-GaHGF8+SH41<63*M+{uL!?6n4<3;V!SToSD#iHpe(F zSX|sNi$gJ`GLLUz79FoI&Z(c#5W?ypSNDpFU)prKzd7W6@!^M{3#z@jzc_PYlcXc4 zkEB>QBXGN-GyG*Za3zxAcLtMWE?T%h;21$90;Xv)O(b)}V~+((KeT&&7}_xuGz`jM z@*snfYdHs!Nyi&!ENZ=v2KJoawRsD(z9^dY1?T@%^E`zyjKrI_>!9mRg<06wg?ddM zY8Gw?D%>}0d}Vw*cDazvR@d;K1dH-w`1l_qqH8u`+Uxf=kiamn3%Lu}>45XvvC<4-`kp-sdA`4$0A9ws~oGfg~@s;({vjC4Q zq5?v?NrIxapOJ^9N&U#B4YM>;Ls~zht|*KxV@Dp`9CB~Sg>N$#zUGaqbjn-yC#61SAnMvp-%Lj_OBJ-bg-ke`Me8ht}oF!eRYw~L!f9U%i;i37pkA7oANBH9W+DKWyj_`T; zwaX{m*b&xS1GN^vnwobGyZ)tVJl@fQSa#_NJCr2?EDI+WLPib2AOFe?TS<+I z)MHPcp^8zGgQ2-PY^49dTALJO2b<)d6%SxKhD;4SUZ%cD{&OvULg0E_J<8zQjdYm5 z7f3~*_4O^dP{R0C#J$EJ_783Z(i<^$FzG0NZ3luk9ixdG8u>{sT+Cce5>zytFN&9gvtubzhpHPKCt-U+rHRePG8Lifo;o=k9k(mN;U08dI+WF0su0Jd#Hd-s{T|0+ee-6h!S##R{thaUw zTs!qAwo~s0vT(hP;$Yf|_?Q1(&y!}}S67dE^@;n+!GrG_;q5Ce`BV0lAD`2)uXI&) zk}m}-iddCl>35BQsl=31N$#=V7a6C*49gupT$tw$nA=qKEFGWUrG1aeB3qSU+9KT=dZW)I2}Tq z3=o8^Qhe6IHazaMUB6NMq&lK^Gil$SgrMPYJA?BjVTMr&g_SC!JbZkA@`2 z5m9zAb;5g*w5eA5gazaE5+FD@9HH-OO;* z1XN9uowfD6H)ucdWIzf!@{C}IJD5+Yqn-BaU;V0+Ch`!|_3JgHTHtDKRI5Cs(Azwr zqV zbErTc&-T9K5^Qx9a31=SD~y@)c5`TG`B+a~VK(m)5$9;KsE1D5xW7He>eb%{Ln9pZ zdIzDau%~Ohtwj&-geSO198XLZo>!u=&4B>!VR#aioEk%L57X2>E%(R^LL=U(FT;No zp^n*N_%ht^y6kl5>B2s2wpg*#=kJ&;xjNKz=76Wc!|Trqd=|*m$IjQoyFGe%mvS!t zB246B$0Ir6Zo@=wmr_1SEq_dZc@5l8aH3 z<+YkpH zLE_zDXCo{Gk89+lKcG@@;2DJe4Cg!^_*DuP)1VYI^wSh4e`)90$<}vwl!T-|rO&QQ zy3_d=`>gtBJYA7H`}4c?(m)Ggh?Ve~(4n2WX<02b`C{gGYxmlzQ>S(?c_by#a&DRA zU~8!LbMY{zQ^Iy7^W2OkOaLNzuC}O?KU3-Cb7NQwxAfM&)4vmk4(eh1TU?|6RUl{Vwqx&o4|lB90sv&X>QSZ$RFDt5-xIT_fpT4#wbV9@{sjG%3WfZimy2pA>;(9}xQcl4f z9nvJOPj#KVNKSI^YUM|?R_$7K*l^qcdD`$>NqK z^cLo$oq$}zXY$v$ne4#%2%_zwh$=dpKy=h66-WGcXNIP1;KK2RCidUQ-xh;CLMyGQ z@*R-x9QodpkDUkxg_fCy$b_cjoaK^I>q+oTSoQIqRNu%!4>8}Pdo+*h*#+GH@X}_u z6MXmFk&XT@XEg&`TE33r;XwU2cqSTn>`VIXGghxe_l;D#Z$w%DF2{64ovOq;lXF>n zf^7q)|Gj64#ky+*%iHA|L9b2XHRzy>c?8f3uDa-RAg^9b>n1l2O-TuVzS+lKCK6cq z6mM~+tZEk)PvOy&q#zaVbSv}g-S72riSkTtR`r~0$-P_v!4G|{d=~PP#Jh(fOJ3_+ zC0VkUsOM#^>0TgFfxcdV3F2$z6`Iw79~kU)S8(1BILWR6CKv;!iylx=#QrH5DordCEPvt9`9hGl+*HuuR!m)J#4aEEr;toRmgN)qH^$wB@PI8 zme|#LDFu4F0x6vfknxlSY*J(_71Xt#3bAIvn=A563#IFM3L@g_z-}(z)ym@TwY95K zZaY3$G1u+*c}lrX+ij+~f7Y2c$!z0i@8a0+U2k!-y6pFsIG7v)wzOVB(HyTR>kW2& zX^5ideP&TZMHc)aEst&DXLUvRczx+)vug4tZ~Xp-kq%bgVu&fcRbPnFaZ6`TJu%dt zM~V&~qQEERr+ic3lVGICKA0sXv;6QO6t5@a3x!|03bNLw>niUl;Gss5;>=#?LtBTs znf>8Qw8B;*o{)B zP-#?;IzOdkQ2a~%Tm!f9QIx_OjsVLDF+yu`FnXn8?vo}SF4*}Gvh4#NzH-4G5gzv} ziMmQ^xXG2YjB}HH!UscNv)<$nRfbvnh<}av*ZF+Ub7+gs$0oqsYCh=;1FaUKXnnL= z=W9Kj*9?y5gOm8?(F?(W?&C89OXkOpc9$0D0(DIVh4tWs^lZysGGDeI*ceJ~zM9LL za%$?Sq)BUHtE?bdl-|2qh|^<+j8Y1fkdY%#>TeUttFI-kLb+E}um`Xf*aJB7T8*Wj zUBNjYah=C^Y~q-OcY4?jR{RR;Ko~Gs9|-A+Kao;z+ge}M3m4=aZ0Kfm*I%;&^ zWGMx?@vb?dX<03Xi+*p079e)9tK3AAi5;<0V8$^NiM4Fhj%zd9)GDQ%mbH9|;mJ$@ zw^OB%eH4;-eE<1FPEc$yr>DEix^J{b<%T8YNDb{GGG!dH~*Ee3Y9St){Z zf22;e%cAbT?Owjs`o3ui6`dLn{3sB4v;zta=H#!TsADCn%FpM)e+wM-0F= z2*V_S?`{=3o}$_&y+rs;_5lMdx2IzDJ6n1lwy#Z{0#S#&OUMm?3NCJ-BdjV@tv|DP z`;&6Jyd16GWBN?9)b!bM1{N;X>j54QwDER8-*Ku36EkZ#Ypvl=Z(3w7Px|f6VpZxO zSC)JEdo{RfH&!519TOL|`2BoFbI=m?RX3Y!O^3Y{t&N>;2gliE=UXP$ z$4FNEi;M$Zb`;DQ(GO-+*=GXj$iv;NBh@(Y26f~ydA*K2X{qT?%lW^wBSv^L8Qnl? zAFOnXctkLL3E*}R%u%F}2ZD}ZwjNrirK5vj;t>N*Aec>7=oADaimnNT*Q}`D$GrM% zI{uMW#5)}4Vk;E3Cz8CS6IgMwHQ^%lo|cY>o(Psf;r0^$A|3yd{>SOC5Q>~7U3@$I z?|%2cTX`r`L<JVSH)7UcvjK<=F`Ads9 zna0$|L#Ly$?^vNuG!`GsIE~p^fI)C8V8)tYsh(uahpVt!y7jPS`Qf@D;fW)jdt zTYDXo1T*S&8gqw&fH|gNdA`nv#;nQ8bLgUHWzOfDpD$UtwD_nHRSXpP^mS=&sFfew zVTVTrov<8bZd6tgFp}kDVY#QgcsX75tX5)-SXo(MhX3P!v1=aIuv_vjP@)bbCpO>M zI+${CvvMh)bNP7@icHw6Mc>K58jSVB6?(yh=$9fNnV;XO4_Hu9A5hUdu@91>Z(W+E zrCfK{*L67*Gcy8@eNK-*ZKS=o1y2!Udh&K65(k_^OuKeyrB&wcw%ywTrx^&n>hugT z%S^I)y-V#|S%$AWdOs7uY2b!t`;nkAh=c?Xg&{ zPqE`#P1l3Zl^w$fZI$bky9|G#bqbB_`=nDNqP9~vLhTt@o5*X8crE-^VYNV`=p3E0 z5nZAOD~50?2P^*D5XpAITwn$e;B6hwOE*rat7 zZJVBUiy&^sc2O{7qgUzJhvr<|9LU+G!0Bd!XA9(Cp9%T|`e)1pWjXCk7$z{g%m!s= zHe7b(GiSq4uWb8__{U)@6Q2=Q)4wqztS_gV5p|Aux+)X8yCkOpstNNcm%h`1&6L&$ zB0ROp)#=igM+K@1PU5DDHw-2|v)hBEKkr+B*_=x0$#@%M^av}RvJ4!pav5`@bsXll zBqQo|%sWO84@IYcf{wrc?jh3g&yXc%6Le| zhg7dbV4`D_1=aabK|S&ETZSII%Wq5m6g)g~r~?nKsuS=an-OqSwc_3BIl&obxlF&a z;@!Lu+|1Y9>yl*q(!y7fkFxpqzyC@zZnA&emS*e@+|XPcp1Hm_{9UYo-@3igUqI|l z)5DjA!u~}sHT$F>kmNs(01vm%S`9s(-fI&@tkz#1f3vgCXuw%D0|{eNO7#~oX(!#Q zJVJppX_lqt%PR}Q**RNDSq4xe8vV~wyF@Gb%XRJ3=>HZCe=oNuWp0p~lK-#PW^&5P z%@RH?dKn{n7x=Mqca(g8y5@^m)5{)UNmp4#ZFxjwQa{dKvfyOV(MJDo2$)RXzof~c z*Won!|G_W%U|8J~J{tXH)FlCVqkkjy75(fMYziL6_v8Q7x1rI026^~L>Z8Qb8+@Nw zoIqblU6ftf=)V9k`G@Zri&N^Go-gKq(!NL#$R$%KdLNjb5ZH}O&TyPEh5iRgVY~tUGoyCFQ0iMR7h3*{S>|`2WJ>2l+ z`plKS&-HtxHWb*edhn#a?RnB)_dF?wU!($(vR;%YKX~ImF)x5Y41QiE{>Jnm?E-_8 zhWJa$dfZ@2%KnXW13_0)vaEV0=YB=G(I5&4r}Cuk_hQngs)697)Tvf*Qr0Z%!h}5n ze;>7{Hz27a!^ikhPfGT$C4*yW$%Qd;O+r~IIot5?*b@%L=Ta9amNpZw1(Hf*rsxv* zhOiQxR4R~4*Te?=4XlBN7!3?Yu6X16m3a$8-Byfe{<{L*A)avR*iE4Lm%scEj28b_ z=VX5l3E|WwbRgE_OSe(i#MC6~&BXLE){BW*+YL<tG1=$Rvm&^x zujW_3YEevX*$c!xOH6s|*Vm80_r^dIU^;-xlkyP7XfHPb`lQ5T=J)4ACPp0|9t3DjUnywdXo22zzFaj_SZdZve|^smK{Sm+@- z`!x@e+>rtj7&D!lnxh2J(W+k1iIL9DN^t4f6)rtja0+n$mjFzjz-AzmCuO{{;z^JbrwYE1H?GYv z+VsaMQ6#?Y+xEC3vOb}iA{e)?`Rlct#EQSI2zb6PZ}8wfBSPWSG>TXqd6VC2LJXOH zF>qKNwd;XnZ)iY~I8fr~8C ze|Nl7H1%76Ou2-ntXCj50el5Yl*76;b?Py4WUC(Q7tMd9e*IiI)UWc&i7x?+|9Wy* zhwA_FlU{jr=zANy4wdgc`zj(*@+e{*nta7G>(!y5DxwZGm)tyk1lOS$Ft~MlafFRT zWaj!t|LxQ;b?V!!*dLISv0_2J6yMsk%ZRI@zthf6$YnjJVkufR`j61TNe^8`>NL7E z>7nk#&7=hDKEB&YeQ4E8Qj3V=#U;KU(#E@AucemPiIYY{qklCuuT5J_-0t;Q7ybDo zl-))fu0$3kP_riA6iWR1SKk9F&0X#18vP?&zG032YEqy3T_O2ycd0pz{yHo1`MgH| zU-1nde1Mu4;e%fARRG_hmw!!(`|!OzViNi8#y8-XNmn)cmjhMS=U*Gz=)Vi!_j1SQ zi%I0p0Gv>xe?N}?vFY+rghBlStumB@O15z9)V zyjWU@W^hw4cW(N8kU=;rjqJGD_0G-Ru6RK4U!#n80&gn?Ps**T3Qy|0svA%GvtClx ztF*0{>~5}lzg&~mbb4PjpC0AcO@2mdFS~<{e(eDcX1q2WL(Gl-Wiaf@)?^U3lxR1^ z53qfk&%m;jrH;4tGbzOfDG<)q9t$`30X9!CucW~Lb_rSgX;~5eb@Bw0(%;7o&fUcs zFp|CHQux3J`S$V`Yd|wIF!%Rc?z9Uq2HEJJ?{;;*3fZ8T$VJ%1gAxA^&u#X#P9ond zmyblOOV<9N&!4W@ea~EGkN*aWb>zQJ`3FV(*WfPXOE>WpkeoZ1oUKW!SFu9-7m49y zdQNC%?FE&sU$1>%)A7M=WJ?aMM3szx?<(s1MCBi9%D=F!>~oZTPeZo=lwfIcWzu-2 z;H)>5?PqS6@t&*F!MH{Vbvs;@11CZE8Os#)BvF_-Rdsu*F8v^bNp&l%wiPduC3_E1 zN~XF2p%ve6x#%lBo_cgdXl17?d5jU2eSSNI`-WEh;}0Kf5#OfpMV69%9LTw&IX_gZ z{#{V{4r%^Bx&;o6$B8>zZ^8mVhKDMP0h*Kt$kAG;bpEywlR8T=gG05u?-A|qE%NAUhh62g9LXkACZx5Hkq4wi9bnt50Z+Izt3JQuF2h*&s%bN zw&+Jj6Z`Pd;en+{fVs5bN4FMz>hYNAoBP^;&J0!Ino$(oTg&i zg*EyuSxB2Hv-jQa!%dy+-1N(F4+QUbPsez7IxX^~@g!J-$*gS3!q zI+A9s=axgJd2ZeyA#)ouFlorz=D%6uv=;K8J7jIl3m%yoycv6s`l9`~V`QHu%kldW z%wXFgcOunOGl~}+gL%BVUl8OD@ftm%+SjYW!)olfN^j#eH+pZo5QU~jhs+0AQ+iKoqFscU)3^)W&8=n+Vo>iwCdEDMeoLS;W+L)1Wi>AT zk7ANbOv41y*hWlWfX4xAC)dfg-ng|>gXaxcdm8~H@$b^YcJf+(Qr|EiZQNHc{jrSH z_Y^^wg42%h{5&5^N&G!8^GD-$P-p+OHA^KRo3@EM`>$O{fOL#E^GTnY3#Y zXyZYAMxYY7=o*^7dLO@0{Bw{Sy#h6&fm2-K+L|S_LR{k7h4^TA*xLG9Yk1h&^?0Df z-UchO!0tsk4Z%5o!OH!Ip7}I=WCg!bCaB(kU(}f->P!-KCK+`m8FeO=EDTocgI99; zpI=lPXBWr=9_V0ENC?V9E8^UVE9KeT&4%ha_>j$p(9(7`Q5$C+g{XKgjq?cmY#efu z!tfjU6>oQ&`9*APni<8y@VleK!(I>}=U43IgY8Zqw{=XX3`#)r=-D_Q9u@9y1==%T z8224q-L0(mhg>MT8e4nH&z6?j(SYnZik3uFtvyDChnO$_&?|)(zV6BldO^rnT5t1F zqEFHCIAa|h9`u4pptZ;7aH9DN$zY8QctHfCf_=_eo3RJj zjFoeZZX*`4aaxfFCUo~KrId}@b+m7hopx2&|1FmHirj}Ynz<*urXu(D^W{koN%+RU zKZq627Ar2~@Sq>jn12)G-8#&ImLOWT^B^;}q4mP}5~}6Net|i%D!-`gs zd*pL!u_swl&QrDh`Tk}lEn~!4=i$QL`s^h#wVxN*BB1So5;-gP!bdW4N8`XN``ZnTxDSB=aod#ehnuBX zvKv=VHdY76aYa2%OHI8Qax2w0y~@Yq_Ij*M0ABmI~$5Tt1SZfbKJ zabu4L$D($EvAA)E-5LO=MjM2-^hHCISZ zjCUxU__5k%&H{(?$5R>d!0psN^IVX&p*1NK?qhis--~##(EDRyK?UpvO5_vR&dBQK zz%`+mOH>JTv))Qr$2=vzIi_Hw*-&%VuAj0s-Nokk$=@X6Td=CxcYW;}?C#H5r!&WF z;wG$ZRyXlIOv3*1>bsnY<&BlPCCn%H6@*0ZPMA)<7Y{# zi}D3Uvc3c$Bq1Z45I7q@Hu;G5pJ&lGQYty{OInbyVuZQuH#`||;t4WfzHx}K@rJE4 zFfxHFNpPRFx;(>^xOR=M`Qq~8o3Jh)<6+@GCoj%A$3cYN>P?99Xu>Nt=!9Y)8F)9n ztzz0I-q`RV!q8bZKW}=Ou}z+93xOAkdocLJFLlP7+ z)d{G_sUO|%i@j`-NtQ#KNouN6Eo89IOG`q?cu~#^CI`MwrLpHJXM8Bh|G^%kL@O41 zhIpW|z~FjngHf+7fW^|YsSx)_=+0d;yw85#gXg*ghCO2>cetU4*m=$Y)0s=iw?Ua6t0qW zw(FvIT+*Yc;;kTC)1=g;)LB^ho+fk3llT=GxDStF{BzY}BsEaAgtk(z#tB7oM^Jll zBxSZWlD(NGiz9)a77A2Yntz!&>7@>wO9V$G=MRYM9#gr~q@CGQP zv>YmVAQUc{9}3TWBow}{25uu#FAm%H*^9%``4*~r#GL9HIg#%I;C;;nktISJ1`~zF zU`A9e=SOd3B7b>xa9zDG_TXzjfNCcc)`ud6EKbRWZZD%W`3hNeWIF-*i?^roEG8x{;xNpL1-o!^HDLyhuHZn7#VhD4&65N5r#fuLth+mV-;~@6>(z~v9Z$dMr^KVhpz$uPWOog(b*hM?tC>m zh8K&|_t+O`8rdW8hV)L9VQ=PR9(N*~GZF*}tc2X$B#8Jd&5lvgg2O%VY<8L#0+JKU z;McSy_=m}vJD1yec2ceUar6_#YWDzt%r@keD9*a!{FXgV_vknF^o}2({#z-?AZ;#~L`aV( zLd#bu+~&ePg5T;)^|9}FF2#M5EpSOUw1FdRLr|7++AHqL>XEcZu^WgvsF)WDf_=EC zO5#}EhqGeF;R7PLCwp+Qbp)HWtj%v5fY_1`JoYN<1m!A zH(N-(MXEuyVyYx2_M)DTO3j?*8x4;Bs|9RHxp@sje$y{lAO`Gq?SB zXz=5$ol5=B(clH!|9dp}3&0Z%dgOEh4LXu)r@e1`nLUF2RNAZF_CHN~H#m0m{{?3+ z&iO79ncuPnVhNr2Qc**5_o7Ue1T!LB)bM8aqK4hXd_qD(QRW9l4R7Prdz+u4%&ppj zh#&Y$GT$j`*wbB1y1poLC;KH<$SN)SOaa^X;zqT{_^iDHTte9jqjz`fSk@nS+1mqX z{nswS_~L)r!r!Qc-zycnDV`C&Q=|1?nd9sK!bGm)JJx?r^loV^eT3p#7OmDlB(^W( z3XlC`VyuW-wfd_+TKTnsv4#3wTk=`<`qX<>#8Szdf4s5F%CG$Kl|RPnIBn-KQy08+v-#uRq*&&v3AJBm1FmoGAmEV z8E}^!y^w9bcj0Zi3Q_ly@c`}D8Te+}&__TZ|- zvfhpU7zy!AuX&jcuIizrk3n!esYUWG{vBMEq@>5vI+A{YU;kE?e+dPULCnsjvoWkv zcMfrdgX{T(?ITrpqaKnLPkm6S=eDQbqtv`F#8aP8YI1w(B&F8$kEhluHPD_qT&cbb z;;HMqrlyf<0EMEBITMhhI9jP9#o@yF zn2M=cL(RAg>76eYqA&$eqTvitSi1t{X`hv@Q}3;;>ZI)A*z>>ZXy`H|(VbxE)(M8m znl`|ozEJ1-I1DO6J@vHRI1JEVVa&mx(j73UPRcgNLckEJz4F1!-kkUS z!r>vAui)PYBiLot+f_FTTDRswwkx5w+WHFxLSW<YVgCZ)IGn<)f0^eNd;A%ejqhq&{ZH;V(5a5waST5YC=sPVVibk!29_QwmiPNoXB8 z2|evX^DRr@D;5fT*>VPYS!C8AB4JJbNf+64@y{h(c7bU-R^)E=HzOiFi(V{(+FQ@0 z@h9-;Gk1JgSpqdrnG_6Q^5D&QkZt|FO>l>}HDLe!gvu^638zY7sTUa|XN8-0VzAeJ zeoGQSLmBrCQi$Esdda_+-;}G3ej_@hjE4x??%<5c>{ zKknm+(>y)PADj&j(+lAfzCUVFUHEAdM3i6Kmf(YsQx+z?p|@ikRnn+NdJDc#aP&*e z8XX{4bSGRKZh)@C_HD3yv(wET@qja*@%b&$AHZ82&b`1nLva}QGzk3IkhLeUv{-|&%l|S{U?qECMVBW5h9JtXtp%74 zfPf*78a)^W;su5)o%0PGU>Ig0e=bgJeyw0Q8?OgL+9_dBYq4kkEExRJ?r%`%CykYt z6RC;k`py^T=Pe+lx0h3n53a|g@v!b!^HiX!Pr}vRLYcYQG=gUQQ2YV$|C#dkgl zHN2S^YIvt-DD#t0LhcqnAeH0~r`x$_kiG7*E!T7_o)T3{nByo)I5N1tD14aBOyVf) zSF3&%9u@5qRU<{2hp8m0N@ib4B~z-b;PF-AZACfT!pjv3&bv{4$;g+?D7T^88}5yG zM{f#|w#>Wg42`czG!QB2c!_}JurZ{A(12BoDP{EqbBjw{XV%4T4pMB&0wwcUB>cwc zDSZ|wt)y}bUz}YqAhS^T^4#S#DcKunKcPJG4}d}t=D9QoJp2@I}h zP8KD+9QyVr8f5zRbz)<8goL0#CH|!jK{gaTt|&@aPnmBY@p4~C4)9c|c4Kdk9PS(C z!4nGa3QbvJz2Lhn^Dco}kkLI%cD_$kbm-OMgsn*M1`sX|Z{{*=~hG9w)K8E2_SC#hvfPkrmnaz@*g-ei(EeHvah=V6mB|wT33Y$Z0P}#M`Fyh{$ zTX61MO#Evjlaj}awH(?>N_{9{$F;$yCnb-$E^Q;-`n?ct{*SFHu7k)RtVK#r5{aROz^tM6UjBW?R7kn{0PC(ks*DrO_-EC zS!)?#-!J$9Tj}~(Y^}_3Z@JO&2YNgfJh@K(nzxC*9*f#zEGU-zCcK$0CYvJr;>Y+ zTAc79?LO1DuPRD-BDo1y?KIQLk&)hmFv&X@5@_S|6Tx{Ki7XD^P_C-20E4UwOM*|o z4$+CAu8lmL>|lIVa9wWAy>?w>S+Z&@$vhg0j=i#5apZ<_wjU1^MeiL3_nSFi#66$9 zqW4G4eK2{w$_AfqgY+IwR!8wHOTG+`&2XA}GKIyU1qMF~wBk=f)9C2V9+Lh(tmPotb>9XMuG zqPh>gF^alt@d}BNxqa*L+8}CXYML5mMVKWC`&C1^yqSkf5)N^}KNy}cb0I?JTK=%J zWQqq!n5S!6MoJeKM@njoBZUh&{~_=!twHeFRGhHB1R;6CmZF4z*kihxZH1BkXI&HS zKNPp$)#3h^&S1vQ5jtl#nxXdvMO7qvB6Ce1msJO4ie2 zJ$a0WM2um>)v7$Ufp_zTeaZoZqi36# z{`C~A-#3Vj-D%r{z)$dh`s$ZXj`r0rHcYEuZ)>$U91BfxYq)0jFkAgne?fMD)oPcp zi*@ZH3%^=)Xb0%t@edLcUS###wO*^=o2-6&Sp8Dclq>Vql5cOQwfQwOW|n$b{l;5Y zjas-?(^?od@n*;3$K;FI;`gXq{Q3!nw)idUXXs5h$V}}gjDyrhc-J%iGz>6+eh$0a zOTw|@gahGH*1o7#Io7^rrqy=Vz9yzwEtHifI3iUBP9!QgSp2s0U1=7-8=6`C`m*@F z4@G7eZNfAC%5fpxp4&UMpsbx* zP*%0z!=(kc_`L&D>)C1X>! z`%KSHi(fyt_3$FB@Iegy(*G880Q^iG@N8rP%CKN61){Uj8yeL|b z*iA$;#!5cgZ#^y@W!daE-@H3D0Up5%XK92S=k~iySz%fIgauYF*0V-d!dhGMp6WSX zEhQXOuP5WB*vDG^`e}8<^Gv^x6+=p)oh9>(AWPFIu%2c`Uo6Tz#?H;iLJ^1F&=Sct zqnkOfwx@cEv|w>P>sQD50Sw;f3OaZEUjaTL6Wzf=K_qEP-EP3H&PV z#aaUIWBDs&`7=ZpI}I*x_Om9c9j_~)@ZnI-eNAZR*eYn9vSrXXnp?Lb#?X#8<{S;q8_ObSFKJ6M*YQ=s{D$|xP?EX2FyX_J@ap`{$4aJf zTW$AAjtjDiKMO{XhM{6G=&X|P`V#cZer&{+up^XkgfBbv?N-+F_$sX7+req%!Gcs@ zmzbjCjn_r*DDjo#9J?->7@G0?$mpaI-3p>3j~C`N1%LcA>JLrX$ySQ`se02SoF(dRaL(E4wA=p--q|w#gVXGK5Ot@K zlRJjKI3{~3wjpi#Uphbw=f@D?IpT4IB&qiqhn46x^?P!5H1%E^NqmT;tA5nvGeK>* zdW;>;mxs(*l4s7M%W;ar|77{Q3?FyWceER-_ILRD!NO1;rS z)t6Z)eX@lXNX3d&$iG4$yj+)e~*P0C0WRS zuZ1epEEKrkLea}Clu~Y?syqv&&aqJS7z?G(wa|je7Rvgug%(Y>kpBS-RhC;Q@Shfn z&bLs?gBGf)u~6zf3so<+5bsJf4h!lnl=U+UEo!om|6vPNHd`q03kyZtER^zyg{piI z4*HkBworAFh0-6j(1J7zW&PGdizFpx+-odUnP;KEV-|{zu~5nr7OI+Tq0}cWR6X57 z=?g8ipxi=Pf3(n|`Gg807ZncP5aEM)Zw8;1Jn%4);i~6he|6h!w3;Z4x6u*p(^f5ygb79x$hRwo4Z< zYAE)?6NvDtRHYN)g`!LH2y_u7cK0DjJWOnCfAvhbqQOf)B;t%N_i45OrggxeA6(xK z>tP1KgEfX%+EUcx!J3Abm?Rtz*2@(WuF5c{y01&W498&oqQR;v+hNskpA4%&ij6c_ zQ|?&4i*;g)gSCf)b&E;&LsOzcJco3^-wxX#-=_lG^@&X(8~#&47wnUJ@BZ|obu;ooj_0eH$cCf zs)hAVpl1+8r}A(-&?hSfp%;#JXcmgzW={2Zi>#iG6Z@~n1iGqh2R)6z$)F3u*bBcg z&<{S_3G}}I2I$-2NGE{4o+v;U=kh@J(LSJydjWc13q^aFQ+?PXtCI-D+I}a{Rb@Nq z;*BSRE(l|1JJ54FgP!(pfIge5PXPTkq5!=d#{<1aG2yEDIDlSjq3A+$svoh)>cu#* zYy(|Ywu3&Iz{#Ks!q_)|ZCEc~+6n8r2!^o#1zHbR_n>O%`*JyPa&N5cOVB27V`Um% zuLpUSx9Tz+dNAHX(U3XSV{l^k)ClV;+zz^rz{#Ks!q}s~66pR#b)1YV>x-t`;0w;X z7IuJ%_uxZU;nDTqAXA{MSU#H)q(6*+9hUS6i~;>M@iGJ~;vMW+#Vy#i9pLX6a_)b= z_g8jPJCF+eRlbDh&~6ZqEDFEKK35#bbR5upU{n^ei(sSMEJ})0<&jvDxw$B_sn}E< z5<{8WkdpK)NqDI!^Ti^h+*1r72DpZT;t?fN_Hv|ItZI<|!(6xsPu=u}^lp<5IVY?%xM=)c*d}S%U`2u{TPY$IUM~26yNOh!zjFZ;PK%4*L;H6t<1gPQz z%lx^-)*yB1+e=pZj;|yZ1TWQl3lz^MwcM2`U+~gbtVoNs^tm3bXPW0LJ;?eT8Cu%2 zww#c)cRXwF;)Er_W zU!s~X2(=Ht-=BAQ_hT_boqA4#ICFnUpdd1HBwY`}yXv04KqS2t7JfQ>`Fu{D*L*x)F-> zA6gu_cj)9$=8lrge-7RNcGQ!Sgk2m#jS3Q07bjE-0epTVvP2L?me=rG5HZrB>*^en z%6c2F5{KZjfCo-YDg~Gp^-QY5=p9#dLrW@Y(D@*H2=ir; z-ZonA&ZK((sz{&nd4$BI>aIz(o4>=FQ}1?AeLhohh|Q@3np1B}59^kT5}9JbjCWK< zvF`*gec2||ZYFf{EkiV+ET1Nn=3cYq)ZA-6A*&{oWo1Gw(0Jv;4il<`JSLRJIyfg_ z$5lg@QXMfA9bZ+D6V<#4R(y?{){-e}Tiy`WdkfSG3bBALuhA^&_()YVUyCv&mS)AX zTHr8lniq=sqVvY^<{jn(O27W$EMM`r4@mXJlx>Qlzj)>jsgUp~pyf>(wffk(-}AIp zEaE#o#~fdx?ZFD&=!T-UL9ct_h?+gVq@3vqQRh)V>{ydE_LBiczEH)QwET+YeX{xN zWpM6hpn%ZREU#??ODZu5zg*kHf=J4&#Aep2%JFpl{*=K7;V7X>YO@_;@S%A;5P|fy z%2UMl0+skGwMWoAkOL74Z}a{_Z;{&+VimEnUaPF-iE8H%eCT&PxF`xArTQXl588nT zc{X}u1+vE7!k>P@`C-O5U zu^4GbPV0=;QPITj>J(KR%{yL{b9h#Uu5+RVmq|Y$lyI1dbp-KzcPXD4fFABEX-01;xSs452p;VP8LjZ>vCOU|`G zvluVKTPp{BCm6VP?<~A{D`z|JItIh=4VRTjcuLCX#k*)TW!qlujg|F2E;s0Up-Q%mQ zuKfRmbHG%CPokh`Lro<*(KwYU7ij}RG?8=Q9HfeEY{6z4^@|-^({PcQqKzc6JbgHr zR?;#pOfwyv(kZmGUos5{Awe_&tOoHCKqTHz1T~^UxJZ8Q&)(0;4XFM8|I6!@v-h*_ zm$lbkd#$zCHXwr($fuQ1AB9E|X1;FvM$orRP^Ast{-RL%mNL`5!RM%ShnZR0N+%1S)MOc^G&jR!L7IP$FD$$0dthXcDb9f@H>W zBuxW3zs_K)Y?K;?sj)dNlEsRJha{9Z6X+QwQ^6mnO(hPzEO~2#sbQ&+$tzc@`QBh8 z*zgJ|y%E^0%%)r@u;oU}!SMWn>SKhgOm9&RSlH=e^t1hm$#yFxl@Sh{sjg^FD^P`o zp(NGXrb7XE57C^%3}qV0!-4(uM$HUMWnxPaK4xv4adf}LDx$Jd)Nl|E5fp7%!N>y` z^uR2j@t%%QAPQ5lpp9K2ZRUtzC~yY`;bz4rdv}ij%kNuo6F{yS^Pb=b=v$|b0nuiN z0+vA-uxcxTS~I+^Nq=)w{ulv5*P#i12`t3_$Lvfj#xR~_Sh$8Fc?A+-cc+7)LYQ0p7f*U9a(VSFOR(6iV)qPyv9F5PVb-B(^E%Agb74 z#P@jC8jS!vXjhN|v5QeKptY@PV~#*n>xqkN{`?_zhsNqKHT8)7V_5?r4zvKHfjD{8 z!)V}ub_I7;8y}o!;&KAqMDs=BrV#Lt!YN#-$Z6{Jsx^YhD}bR@8fSp3PT4KT+(60l z;AAhd+(1W~DEN#Nh>gA4`ZH2c13@4Yj{RG5C>JG>$e1M3{vsH5Pu$|BexYG4cgj2t@u|iq|G8QzU9=PHb@9xWj`R>)U<=esR_Dfkrf{P|xjpN$%C5$KF;X}pf zCQhh!fL9RVEYlPAQTGEjg>d5s6Z4GpA{zKKyqiwWUymFYc}|VL%K4aOI$OyD@B8z?Z26Uv^VC@CJfNzP10;_yfB|lxeGG=L6QHMr18k^e{&3%8t%&7Yg&y38+hJ*8u{2A*M@Y{uV5w~VwUa}xR}{(%1r z^zHZR=Jp?P^`_T|t4EwPyGPu%zPta45mzTQ;-*u9?h!{W*x)R_099``1eM`qz`mdq z$~C*av-tK-4yj{NPsgCi_Z#6Uds}833~-ujg$8#I7V{2<}%Df>S!MR z(vJ~vh67I`Y7FxjLRtGu9|JDxq>K1CJBh})u8 z0b*-RI~JuEg>z0#Weuw^R2P6c^#w{x3Cg#KS&;P6Ef`lo=Q!hv$?nYY!Fl8Jy;X|H z+iZ|Ij1WEwV#Uc}L#?q&y7F_)g2z{PO4Og(ri#q%23X}sj(TE$@I1bgDThV zVn@IB6#cq$Cv3nI=w*OgnT*k2h2`)XC;I~=n0bVd;MA$H$S@}A&eIBdlApp8%E-C@ z&TW)cD5I{09HLgKPp|<#(xHD*E_YqC#rHcYuEQ~HX3q6*Yb1l?$Td@0?`&57-Sj+t zMs8~9#jK(#%7Eg4w~;8QPs+23S+;8KI%SqJZN8&f+*6e56{j zMOj^LVqZ(n-RD%cfXUhHDk6ls)n%m7b|=6yimAAO&bvGj=fktW zQV?^iH!rWr|+n=#p<1ivei1x!DvF$}vo9_<+;LT|7#%>*=Ys$GZ=t^~jSzx;++u}#dX7SkGdT+ zV=qP`Ov__m8$kEA(YtTVivr9dL^`KB;RP$L%`8v4cV~bSVu>?G|^@pdd#< zB4W2CD^F^Ae(vk!NH;2fBvWJZ-9?uL!&|k6^cQyWUyjE9HJO4=b2IOR@@0&h7K@y( zCV=DaJRy+9-rV&s3iNpbYl}E{g5G^x$4(1g3e2aCPEo2xyK*pe%$b`-L;7u6Aqr>Z znA_g~{LDd6*6I0|rI^(+D3x^Sk;_u;n3d|27c{gm2Ekgp{`Jy})hK0x;g^We;;>2g zD=D!geZzzlCPLJ({6VQee(41O{*$WCe7ETv8x8h5_ho1C_t_pi1DEb@3*otY808`c zlijz_I0m&ki_e2NX#XxCFL+*pYvH*YaQlLF0+0pX2{;CbGbxerJq5&v-4}>_O>hjZ zd@2&VZ$LPQb8H*QCaGdzTe$__S`LMgKpe_76xe2=8t^_7rel!{wIEsn>PY%@bb%>| zr64%x-#|E^CkT(^m|ew!cNDEi;6>{Ojd1iy-O6m`bYo)4o)yqz0yrStkO}U(W&`hb z#ERPy>MGWYsT3+yDGaO9=EoML4~V!sqp>>%(9-7x>>3rIByGqgU5$BO#wAc6f^(u@ zbZ1@?WWC@$;F>C9VcyQ&GM(uB+}8l|G$T|ma2E~h3*FCQYemp~9OynSfX%pZT5QfW zf^Os?XMt|@z(6<6*7ytfQqy!o1l0K*{Ut%U59$JNyFDa;TuUNd5Iyq}e@*zSAU%JW z0%QOoebFVUc+(@pQa#fd7QT9tfPHe$xFiAlY#S=dz`l*>4g0pD-mvdi4d`EDK>vIL z`ar%u+e-PAbrOB%KIbg{#@`G0r5Cl&2Z@V%YRKK?l+WfPT>ObB8J=#V@sKAga4i4d zr%o({`b(qzo@1oSdDhBT`qD3F5Inu$2(o@51#_4bFaSQPhTW(L2UC0OT1pHD7tAWi zGO`mx_x6^ZT+T}Efu}QNC#u4yntj>H(jM6fD%NM0oeWFJP9m2j7HN;{Wa-~2J25?p z2A*S_mZ%lymYuBf33p-OGh`BLAr$> z5%wPTO7&N=Mmw9FhJ3otDgVmHU`UAb;Q*+=efK5m+dq7pnBBR1oW=8yI~>|){j=qN zR=9Z^5Gv|IRE90V-}L7||B8hv$(9g`AtCfUt$54^=UZ&phxmx(91)vTL`jJK*-!zZ zC%_|}-KAL?!mUlxG=f1ze85Pl?9hD0@m(k+1s>pRa!T%>v(C`^ zfhNv1(LhH8MM?}_3A%ez8+OZt71pX4jAP*>7NC!VdH#EwSE&ZEk*OXkQ8I{DWdaQk z01dZ9VxN zL0?1+nXyo#bwWsZ#spX+ThyOvvHSr83?XqLb7mad z-gh3ojD-hy71Da{m|~i9fV(fW`+aT@2cGBjJgVV>BM(2Dlw@@NBr=Sj{8too%HKFG zk&4X*lh*X~%-p^5O3sLYQ$?uu_=euanEc+V6`x&9nJq@8nPR@zyBL$-TQ%;pi!n?P z6tNP;T;01Elb;obr0Z-$(yLR3HH9`*qL_mVdyS3B&$NAZF(p77VC}qe#hCow zs$rj9jNuTW(UB1w{PH=JysBP&NBye-?JQ8xB<}~tZX!mJeF}+bDfWY!EG^jb{Z=d2Y7>SKv zz($KHt+b3E@N?aT;F`27#~E_c8FJVe@+oH_o!h^Hc`Hm&rjNhS8Ok9)ef$sPvPq72 z)F?HR)~F$B9~)8F+hDpK4s4@66{bD#lcvNXpBqRcpAGGX^VpaIUy@e66b>x)TlG4v zYK-PSgVBWBKuu|x`Uy_g?~nmia#9CjLZ^-Y-TY(ujF)LZe3=;8dGjs#vIZ15LuK15 zJ!^WmZ;-Qi9TOSNeQNGE6Ag~IPbV52_Lkd8LX#hcG5<$;H#|xgHE5BX9cc8!MC0%R z)}u6r3M0?!~-Nmny;vSRYx%S83 zC1oEj>X!-eu~qxwHn?H2@uNfK?>JmMK4zpTPUUvZAd<84COEqv3<$-(krIMUv2?A% zT|LH|^YYZ#XtKS2p5ff>K^I|x1Gh8Z4K6beu003i(KC8@;>${P<(gnUcEmQOQ7WaK zD1ASayJzk{k2;D#W3)T^r@FSCyQlP%b8uC;=s~-E#w8frZ2!oSv`1U^CDiLAI!&#T z&bQxiP|A6SetFLFuKa&1@10kfU$?1!rLyT_sjuU8^5yPkv8r`~OAKzw0n|aHLxTFq zkkJYC5j7n3k(Z|>)JGKX-Or&uB8<^TePq3_J|bkt?$ld-1ZspewmlQdL$UN-xgl{Z zuh}rf+jr39#QR_mAJ&q^4#1-ad6B@W{2odbD1DakY4kvxW$zdjlA+VKOZJbNC0t#p zeR+dVJxK_f1nzU8hZ~K3jhvm>djK{EUsh#x%-mY34?I4M{W#=(Z5$L=CSH!c*~Zx- z2{DLpoW6>O)J~G&hw>9ar*fY5!t#wP04%=l+J)5xXW36+C&(HMhZiHF z^c5rAm?WZJM(r@{M(CQ`#bkB&8rrI{{ffY@Q4PC~i)M9=nLJ$se`GWR08Y6UHuJUD z)z;i1Tea6_)UMcb3m%!J(qrj&y%_R-QN!RwykD%*7CJYKkp6{4ymo$ zjd2U_*HtF^x6_UDmytNpoYy1XR*jV9hJPx{T)G{U^9JonVh|X+tlGHAU#oA{z>m2{ zRRQ}qjZc=$duWauYZHjap!rTx>pn4LW_%@>ADfYstd8h;^P^CxNdxqCj84S)hlzQo zj_y!^cOBv%hG`*2tP4MeL`Bj}IK;Ca6`BWkqm zKyi@(v4t6C96^acHskF4@z)xCBChiX=ocE&i1!zbGolB0JJA5=(?>PFBKTB!Xh-~b34wch~PHGB!cpb0wxDJDpe z6)8?NphbQZ7<@K5K(y?DM!|bjjbTTMcz;xDvD-l()j2k!r|8S0OYolwW`NdoWkjFZ z`-_HzEs`+5<41g;0aEf~bIlCDM6v3A0zTRK7|<8P0T_rr1Zw26NfHh;A-(JdEacn< ziUKDzVTUoX!7cz9>(38+2~z}ou*VKLkHQYicin}hJG-8Y>dyR0jfKasa4IrhGc4kf zJ=|n)fbM~fG>FM8dvKpw@}6Dto?Y@#h5%9fQm%THcP2ZPcj(Sn@xb#vqiX)p#arV> zF)w~!-5iA<`H2a4mVJwKO_h>^GdqdtS;!~TQ(~O?OHe}U)GgGA8(k4`@2Enm+~MP( zzlDFelD|p?LrlkvNIpLEnK@|tUG=rC|2IjRV(3XJKC0_ynD~7QH2B8(;T%j|Ty>;g zxbg8qqPd?pLRgDSf+MO-8!JN!&dnb&d;VphWqk=6rsP(P&`H{<_z`{KD*lKyd?5y0 zhXd05UPqp9ho8%$?j0-iO0HrIB$YQf*q!PK<+O#$-|XP=Z3z_Vv#$PlnDMG?;Ku)m zIwf~Omha0j0}6F93LYLcz-Vxm zeZ{nM#)wH!GJf?tVF0NGQ5Xx2?GvMcU14@NuU2``s|dN#8gx^gWuMX-mO=~jt8K(L zy4`nHIZLZ3N>t(g z-$sebh~mhohAFY}TZ~;PlmdvPlr1tX6@TEb!Z2p#>#>dRU}59#C(yTNAsu^Fx6=Y2 zNfXsjJ#VAzek|lo2#~;EW>N~b%dF+0s|o7}yW7K!hbJP32=7K!i(D=AagoM;AS`V zMsI2`RQ_a2o|}3J6htXB6h>fT*O@iVT2bzBtbqH$1t@tOk#Q~yyfi_|lP)t}&>&QS zkkOeQ3LIgs|G;`@D<2HM?*QR5opGT+hBMilbLlA*JR-TXmgKwF1)RlM6yCl;_mSK? z)HQrmY}aq@*Y!~t zc(~D<>vw&0qU-b5^mP4>6@I@vobnN--@MP_0t|kqQR0x^Xoaa8YM`gz!~K4*w3iVA zGjAyB>3g)w_WcU={WVzkTkl41y}pG5!=}yrY#hOo%d2By@FZIrznnPk*f>#p?6UHM zNqO$JQP1af8TFLn!HYH=;I3D5w3r>FUPOsECS3P_lfqE>XnRca5gIqJSnm;gGBCEo zahRZi;59R9`zD9w|-gK4? zqzRNLm`U88G+g3U!geq|EU{+DX7HS)*{Vgeu^^P>7H@Tmmb`dv%cLQZ@3z@T2THXthEy!gtgj9(8JLF>tWfw3!YfF)^Jpx`!4@7~mtO(}HC#)uk2b ztS4pBMd~{$mGjc3qqudeH`4%;L>!CK#@*^=rEwy>#an4c0F7TD*8oRfFo?Pza%7uN zGi44%m-wE?T8KmNWcTi&T%;Hx!DDwEB)X!p_+g?;*_C=vW`1nu*yOy}?OnOs7AzDr z7e-}aLRQc09C8Ef*elV%8%*sCrWPA0{$xf3;dUIvi^I$qyK~?J(naWuCSCoX8W@sx zYvAs*BF5PCOEWBpcZ2849?qda?diLykhHd$9gFS5Qb{320#rb#` zu<*AI8-|O@)&X&7sln9Wi9mD~kN!lg8B5@LhQMtIZUp8SK3flZZ4q>;j_unE??5bqLQ2b+4{f^(Jku_^BvTVB~& z%2SwM-V(gcD(~c=bC!3?l-Fv@t2#@03iHcbf!DO}_mpRjvyshz=!y@Yzpu-fbgdK0 zh!hW9`NM-y+@1AxpovZ5N4kxM^RWSg)p<{_+hV8x`;9=s-2Z$i2~)XcSW!mtSL_2x z81gnAUbwDE>a2U%K8e}~J0fkuFG=iVkGaA)S7qby0L0Mg`n)Dq)AR?JSU;*A`;MWg;8Cw^c73DiAWlhoK} z(JUUPMbnXp=(S?BLoh!7od1BhzZK*8hJCy~6025ou`xgJ=R-Hrj$l?6Rp&in%5Tcg zN?AK0p0v@ndPY_nB{wi-A!3FtJRgd)=-XdJWpHLzCXF1X{^QTit2_KX)-j1js&{!C zJM`&Bvc}OFoJkww1YrNYQd#2TXMR(SnGWu1+pe`9D_NU*Y-1*Q^S#PALENuhNRX3V zF?c=IJJ(bUo&;Dp*-Ho4nD3>7N1E^DgS9@KYnBhrG~X)+YyCObtQ?$XzE=+}G2g2P zCzbhMG{b!NYKHml)eQ69s~P6I zS2I4m@04vuVv0NJH6&a-t=7mV47)HQ5whZJ-pCNTV-wiY;5)Z+9N=V8V9zDkY-ZM6 zf>mTM&;({x31B&i2tZ=>hEY6#RUP6h{>ME(NIF`n5U!~HGY0V68-X2f@E^Yc);$j8 zE>bel*6H9M+8U1iV)R{KWKqOF9D}KNK@WhF#$1c;wjc-gZ_r-g8>UxIXz4lyHB~m_ z#J|$6b1K|@vA+ne!frF*G@S)(aHG~iymQ$c=mH-rDkKU`AFJ(7 zq*VgOp02bR{|>*mc$I=SiAsPiW0WJsNn^huiL>lA!$OHQ@7qB`S2f^Z=+=PM9`NvN zd@yI&tV&FnMg4Ybinwq4SkmmZ@nz1Ua}f{Yglabi4;W&kj5_E~A7Vsduyh5wOYnAb zvX9rF?m_<@23_{xhWNu@?l&=2WUHTKW`Zfz7o%Xa#a8eY{~!ZeBt!xlt;sY)TBCGL zm2%ADZK_i=H?IVr+pSkPNf7p!xIbuz8;oM4o2b0o z>l>~Rz*a8;?`$k2HJgM5*d2iE?eTBkw~vcn+taqH5YUF=n2iyM!h3>hX77V^JwW1) zysoF}Bg~?npo~?o)ec&`%G6*;sJbG6ldUy_J!ez{GKZ#0rO{qCCAN9pGr%ZQw(xt< z<^h<2!(YOO(`B6%X57a7)O?M(97nVnl7Xc7tk{0jShYbVoqGJSuKGe6;VRYn-~yfm!Z0m?ht0mJq0;KW0(b6&eVz0p1iL*jdNHEN4GG z&N1apx8)U{r96dck|?hT@7>Hwe6Y%!*AG)IG?;3OocNqe7bIYkSWPtV{K=KoWRbzZPe zt94$nPMdY!v`*YQhpnTB7Rmmxbvi@kjiXT^XhiWT|Ier3X@zq?Dg8N|PwmLzhqs%Z z9w7wgx(Ep6RyW`{%YFp^1k>?que%RD9BtI*M2i^7Y}NiL%^uHq*vhFCW9=p{xK3tT z#SfgWE#tnyZ`8n{KwE&TN0Gq5f9DG$T*=KEw(>5>Ua3Oe>Mc(edk}88E=8jMoLr>@ z#m(HNPD2j%hBGxbBu$UT55u5=b_}QT4c1}avHf}FPp0KH9vV>K?v2Lske4+(OPg&J zh(15inpghDd3iZVb`aR?STOh|cjn?CtfOddW9diY-~9BUBt4?{lc4z>B5k)wZgVLH zWgDGxkE)cxaJCvtKR)!J+t{re(~G^i;O0ahU@N{1Z_{)job!BwDL5h!wr}rcQdX5?sI`CG_y|n(c#rt!-hnjAinj>UN4Z{sD*dv*GTijQWI!!}1Nf?>|9%YG zp|*}9BKHlfR%3uBKxrD@DX|S#wGbn5Wh!ruEE+V4u^+TVz=PVI9*sfz^D?Z}<%7xy z#ItA+cH74fni`lfC=~y<0R^x*o?@+}S6roW;vLN(7t1?JA5%x4c=RC-dY{oDSgvXu z>4*M`^o-bsRc6HA!y$B+ll>`=!r#w{{mH)a1yn_su2QW$Hh6z4@58=^?2mhw+ulhg zWdAF~zswEH1}XLil|n83KrP+>8ol`74SWy1 zfn0T(xBNV<>U?kMs%HR%$!_Z9yj;H8d^n2_)7Zq+8%*P4oo<9<7(oJY=XwMC&f-hK zFy}znOAW$aY7urB6lDJmOJPH44I9A{yd~OT)*fMlS>A7h$)u?OyPWt1>F4A(t~3>{ zw-r{Mr9y@I6|TU$L>1;zA?w3*hfSe{@cPxJ{_1S%(}VEomGZ@Zn#R_)hz+LK)+U~G zzpZW4%85zsafW4Du|>q#ZE}{qOhD+q33vX=Upwy6P+*LsFR$VTgNZrgA*g9=N5^-m z4QV_+K)QYvJ7Elj%RA9|ZopUIHs-rKXmU(Ty8N~C#MjKv*%2+?F=~f%JNFHi-yk5v zNT4ykv<>Ao0J8-}=oaVBILgG)*o^aagNdM-FIuhQ7PMcHL@&QV(1G?;+Lu9+x5+c) zHdba@)I^u@(IE~*4C;;mtp z&5&mP_oC9gPwLB;vyS!~mFA2z6q)xcEaN8Q@ft?@cRn~L>9@g@*JjHbNz?k5r!YFAm8q6*7cciB%0p9bUx$ zN%0?F>7V>#HeY2kF|bk_k&^f$X`@_I3o^u#Yr7fsvg;;-M6dSQDhGC1B@9l&19kYqBP@!k3JliD3tQ%`t_ z!Z#AG8$NVH-^>o;F#|X4E!qu7?PyzxB!(oZ*Xz7_JV;cahyk^zz9ziZAm=R$Ifwu;u*f^eaD1qczg($%P9hsgt%I~QWsMJq%e;Y!36mJ3lr2#BTO6hyiu8)A!Q?Pa2CZ!con7i z^C*f&iU(H|ad>Tf0|R`#hv<#Dhw`LI9mL3LPN%KDG~C(TRn8AqwVIiit&vzzPCH&+>^SeDGSyLL3ZOlSsR^XT@uR^2hek=&r+ATxg&Zl6<`dBXw&snA$VAlsW=uqH zfmZ~dr>+?j$4v>OPMqe=8B5>+%#BG^Z!8Z6Wu&WxbpjvRMpW*l6W8;pZq(p*m$7`J zR0F1YS!1UJA`^>3O^Mg?GOj~^cI*<9)-QVP*fKs7rMIfnJ*BspZZDtMfJ^Dqyt~Kp zV33-*+}Nr_^TCuj%*1z>n8xRnz|x6jCj08Kt-Wec(q1(vsoI}}OARVe70^n-D+6Ha z>cnqHV(nOMf-1ZLmnj)rg{$U6aVU3JBP8rta~)jNYb*Izjx7Qlsby@oao3J5!Ocex z7G1i_8Pu`s1+L~jNDb=PH8%M~`(h9i(_&g7LxL1OF%1{exWK)8Fu=m7tR9<54)i!w z*+dydj0W29uO2JQQquy`p}4jTQ~{`n{rz&56odrYsRreG&4+crYU9zCKpvw ztGDZUkTSfH9PTB*g-R;xn}J)yibvrq ziuR#ZfOBYJd3sH zsw6xYVsh-V(tYHpBF7Rle7;^K><+DaOnI5&O&7!N?ojR>Je>C)nlyTnh{u9-x7MJD zaPEr{Zx)erq(S;G^dR4rk{9pkpj(}XHj3NGojTqPMaAuW&idgTlmSgG9OO+cKCbbv z`B>~mtL<|RvP{T*o<|;Hbws??$(jR(HsWnaF4AxX-iDw|F2u{!9f8tbovh)Fz;w}^ zpvQet)ZK+*6}o`Yz&n$@(N`95VLGq;?c@Tdpo#Ahc}_u>`6gUp`i9Vq1jw*ElKXDy z&dIUJKcf6}XIHLK1a`{xFmT9QX_`CTBBCkwwhN}K{Tdap}cYk&*61JBiplpTqZ*s?*ou*w6FZp3mfzt0|M$C@r znXM0^H$riudZPkzzI&s?E2IZf_ zR9l4)P+fr&MfciWRbv94^yS7|Dz=m#GE%$hSB89x+`PdXUsF0K$s4$H9768S!2HR1 z-++OSsB-;r_tU&@Y+ax9PSSS=Le|Asxa2AY`OI}gsy@{SoZQ$B?|tOK@=xP4 z7ovL3UA;pW<(XrDdFLQ)nq0HZ@5uW`-Z#D*+*(J06hHEt`_1X*j8d1rO&4O7FJx>w zNvZ26zStEXLuS&&V~;k_(VD9z19_f<^kItD3fIL?u6OE zq6fo)PeEoA-u_9gD5c-xM2aV8nv?kLV*m(NnrS}Q2__vpF6j!my5=Nv5v#5vg zy(N+_PI^rPzHT~Su**X3$-K={A&Pi&XJbcN_qRS_fzK_91mCmV-iYb*R>fA^j(7Pn8a zJfov=HT_o=08-voDHNz0K~<$H9EJ}k!#bJP$+Av14oqjV0A?YY9p=uj`$EWjVhMu^ zmv6#arYht;rp+P2+50pccyUT>>4fW;YzF+XX2m&wd_ucMDDXrGhZzh!R)r^C^?tq- znhd9J!dlf(-h`FKk01IKXJXZ8hnB8rqD@z9AB1fGcFO>TbG3}+`lB{x`vO9tMJ$V z2S1ynl%_gv-UdMUQ33vSt;;?pLkdtOy~X%XWPkSXVxybi?0)U3=ZRAPR%KNe@gUA ze7|f;2u(1+`Wvi{!4Y*XYRs!s&zxCpPWCH#8`UxA=~q6<+w?1Z;>}bFrt_XqC*gKB z=WS6J6;Ul1H+?01-&XZk!3O4$Bs$sL=A8A0oP1~2GuY#36LWO0^YnX$OM1xJ_E#}P zchkhdZ4V2V9>RbBPX3RG-AUW;{Sbsqz<#*|svq~mHl4dKNF;334+z*Vm%xWks`^^3 zH7Y+1PgM1N8g?eb{JnlBD7#V%kZ&ISfW>tEEAX^tVN-GPK0e+jzFI4j@BQ=#YayMq z9}6jy50E?LOn%jHJe=!SY2k_;;7mTqF?ZyfAd~y{7)eiT`Or0=-*htmpXp)&Nd05U zyGs(Pqt!~u5e>ARd=Y1MHbI^0r!V+zZ_UrllTx-wdetaf3^Sm@saJ^v6L=MNk@aTc zZ3dynzjgqIkZr*hfvja#sBS77Vj3f6l&K0^U}US$rXGWV^#wAt*?6z*sjm3qlRd== zc>5IhRGQD;NEElC^tWC0scKQrIe(-n9oSc7ulBQ~%xZ9BH8x@mjwHUMS&uiV_$_(s z@NycEw*l|rpT*^E#w)ysw*~Jj>iG@jrKlk)@QjfRnUPGjBRP(K(cL~HsW1&1t9p{U z{V$v6a+~wbHwBJ~D-g`B!bS}`bJH%bRM6)uueHdLpg%yi1@vq*U3hd!BW?#w4MboFb=>yL?<=Bl}7BIGC!n0?(V z^S&vPWCcO-t_$axyiais3E%fu^`?G9zao;@D4|{CgkmcP&$#ScWM7qHL(_2L8~sv# zL@D)~`(-Zz9O;0ZL<>$8eXJJDCMf=(pZ8|v-QF*6nid(nGn_=;@t>N!!w8D!`FYP% z-e>yd?PNj$@NpVqF5>VNPxsS{bx&`#h1I{%FI&~cbg!vWju~Wn-1d{f>hTJK;?EAY z1GZdwU+I^(A>HJalW6YdF-KK>GePm6`FRVK_sxEJ%WPgbiM->#e@uCoDDT((ycx=S zxL@AsHm{sS-bLqkDsQ3kUhd~@0|4qj?w2>y=9QDkduq37bGGunnri#IT6s_P%iADG zVy)sN@-Aw<)AX01_-{lWU7K%oeQLjag*Km@ zM7~ouL5*==Soyx}w{;Y}w)z^QaEkdW1!v(kKA~41pIj{2+ zNuKwOQ+Zp3 zzv|$&RPMe7S0Pa6^a2ZIqspM%mYclg>o(Ji{8&jcMO^CSe|YR^Duy?I^7C|5>CVK0 zLm0ZejSDRnYz1xh$ASt&fl*ks4e$75uxj$lYycVk27L{90-{<@yy%l22}HjQEX!25 z(pDHhON9#aE9}5KT@_Znq#dV!h2TKQDt_Y~AD^?n(WbrzTVLl{>Qk6sUlMJ9bClU!0(h;u$JedIGFXmUhfyfTgDOZXM#azSv85c zYsGso+`Kj?VIOLvnCjVmTyM7%upya7;lZ5RB}9e-Cv@0QG_tR>ZVq|-E()a)x>hLO z5|rKJO`A%1U`}a~jm#cL!@8Q9Dpu(Tsk3-~?iL-soMlg9^S#ee67G{uU$j-{uJQ>_ z{lms2sH(+?C&I8J074aE?vfO^onB0>$#=Jj z#UwF7p1U*OjpxB(gqM&X*qw)%9loOXzh)1p#8+>(fn|0Z0Q^;32wU@5V)TN8Zpy7V zpqUisuE5EM0hj-R!nXGdFA#p7_r<4o<>l^NaE;F60b{0w;;gOk`LA!_#9kxpz`DaBoV) zeJ6hJ)j^Ibwd(Vz9rgkea(rnloyT0E8YHeWx;5D9<|WLi_lWu$hG`x!y`-#1)NKYq z!@(^|vq#;OJNi7QvIatQO7VtuBJ-q;1Z%kb^dRTQqFqpS3VGu{iL*O*y%Y8}XNd!D z*gG;uvN>xKpIA@JO2KUk-YCgx`@`^LX3sm>Vf%lPreyfmdPiC$OyfbN!` zPM$Zg{PckN3qHFx;4SIUw9igQmy-@%{n_d0F7viDOVW!_Z253e**so`J%qq>4EEBj zB}7EMiYy~x@K$EE@(szsJ0=_`$|jMhfq$OGF`BWD3E|mCicA|zch^lcmE^uLMtjH=d z!OOE2lIs?4slhJXAzmjsxWG;QvMOk!5$rlQs?==K3wlIzssSo;ecvM2=#!)+eo~Re ziKLx?Ceo~o4GHr$CR8o8N zmV&^R5_kjg-z0NEPYtE-HjXtMt5zJN1`EJIxLHVn&F1nM%mOx~cl~@VluxQ&tD)J{ zydg{WoHTvISPzhgn6bMt8hBY_snusEi+Nt2m8JxmwM@bVPpu~B%B(mOJlPGV=QRaK z;gx<~=;0^LE}6SdYu#CPDI$D}4M+JXQWXqS1(ioJ8))ismVK<;v_&<@N}77C(w)jh z{D$1)q4L*^wZ29sfzaEyl_d#gc_Zcr+6RPUdBG6YnU;Q4;qDRoo3k5TrGT;2_Y%l^ zfzuTHF{Y}AN*i=~Nd#UupLwA{XSDqIkBoI!* zSfR#z_i<^cUV-7FuX5@77I*w){wE>3istSveGfuQFa1C(=)u2^1($`~XG2&9hRVT6 zdk1{RBTYdB4z$L{??|L!4GKHvR%%nhDh1Mx_9+_q;!7+;(Xclogs=roKgY&{P~75a z;b4QO5gajzJve$>rf{^`mm==Fj12dG$}ayFHD2>iVqa_tQM6GK^|`w*h1^|8vcSEy z=7^m@yyt7GEaF{n5HBQAILG4Nb7I{WH7b8Q9k7+uzV5Tr2@u*V`SHfwTVV0+zxBqq z-}{Vu46+S#aU;1ReFFvxw{yF%)vpI=C<8rSSjzQm(heCv-2pxvk zoIIj`DCy>zOA=_A+%4}Io_X8x1t7|X1Utp89L71>*4xA6o|mXlk-aK}$!$f8u}mA0 zjpH-9N8HA(C?vUNO1jv*( z(5pvJR<$Bs8)**8;fFu1Y6&E{wIi8DXW2`{o#Oz#+;nWA?O4l=FP?FLR+vA0t$5!Q z-~Zd&yU+HIC$)<&{SFkCX3w7OujuSIfoOMa5e)csIrIefO^GoZ4r_Hb}`s3_RdiT4<7fEP= z*$@eswbw_9 zjQn~oPOuY}ccqqoNc^-!{13i<`i%JUEmAc}nm5YZJY2(G-gWnb!($I5m!BTED7C!l zv}=P8UF>c!@rTYYZ(8XGB7{!M&pK5;VOL8XC_3XK=eiEgU3JjKUAbdk-do2VqWn&G zi|{Bi>VfGr#JRp=xaMcU;HHY3D3^^EEBmD{Vk!2B3iTC#`$OBdA1eLoe(94~JYXj|Fke8>u_AbFRF$Gt^?N_-BxPOO zFKdUDN``FH^cDZ1pFU0LH}p$isDiN!Vbkj?KGjd(M%DG3`=wvP$|8NCO|P%`=l%3z zYSwS>m%ffQq4wMK`idXwuw5@x`e*v3Uue^>Mbk_}tMpHp^z&!bztAsj$flib%hp%? zQJXfq{*``d7fQ4jiGIzRk+0byC;$E*v zjdLPWC$aeVdqrwc6OlSS#lO}oQX`m%)OjdAx>uxzD-o#^Q2f$fk?Lj%Dj7Z*Qc1zZ4| z9Ebi&`v)C4zJHKW6EaEc1ic7Y#JG7IGp!`6i1iHW>?2iCm`{1l#%n0Aw>Cj)_)?Vy zqs`b?s`B{z{V1;za@H@RDk0`-eL+($#EDLFJ#NBI!k#9^QAN^@OFsEJh74TmXp&TI@5tVCJqf1el@=FueYAF&XuOl zIkwK4v(%}uEEX4oz6Nib`tS&KZq4Wx+nkH?y8dpiB0hFN+J^1N4vRzoYWq}VBph1U z#SF0n?|u@<9>s1rL{*}NtXR;kU7`>3vN$w-nJ6JEu?u?(Lj~vs9y?gz{x!sd#_p>e ziWg1_dnGAe>WvbJ+zbwOW8)~7;-?#DOUO8t>lqT*Tx)PdV6pc^itWC4)6w9T@u=x? zjeQg+9&hNse}~r{o_8vWK={17%Nxx?d1s%wpZum^l->UiS7GObJ~T4xgYJ$bf3|QI@{3T zx6t|{2!CqKWQDtVud{zA9L{^41ybq5J>6LPDk+-bw35=KE1mJ(hHCd~7qHakq6U$K2(HCOI0ce&yI?=BVOP zCZj1>z4-#$!}cHXU4CMKQ@P;Wv$V*}(l|RyaSdQURH86{mOAj7S^DMwG6@y^CSi%4 zB{}iqlHe}wmmo#N4d){qUk@$~?{rQ34$}9ch}xgh&UJRMT5lTMVvj|2XKAp){0289 z8r)t>d+PeNXQ6GdoOnnLZs?bwmFzTFPL2huHoQv(R>MfYQS#WWchml!!xnJVZEPpM zXd?FuVp?Su?|PMH;c@3tP(=L0_yX+1XooOG7B@%S(|L6)PS#JgQX`!B>&FYw5Sw@YQA=?q&z}vW zs~~pI01V9JBRZfQXYu*)x8RQp73e|y}KY?MFKo*`sQZU7q zFgoykgqYg@;{z3FF%35isDuZlA~~yXl)OXNFK!g;E#g(&X!vbsE92&_U}pQ*RgT*V z`#iyQ^L4#@OOcx@28wdlAFc1&=_8Mg&4LvtwA;|l(8nW1yB445k%IRJb|o-mGACEO zhTnAHS0%^=#xg1rt{!4+BkqH(J$x0Psp3lmcrWhQD`A({9A1OLcrPgU>nT%;gIAi1 zPe0YfVDO32;LZ-0>0*UoTOnj2UCXf19XePu)4UCtZ6vqq?A!p_kf~c`(*heZYjC+b zm8pT_>QJUelq*u18c=cMK>bgJa*mXbAB6Cx0M9O?>F@8rFbU|}fmY6u=E@6Z&Y z5Nw4^A%y!8EE``G(d8vrpepGlQlwrgKJXe-6+Qevc*Of%uK;Y&?>-r7JcJd2y`jdF z10>b6joR;2{0CzNuE&tTa(pa|-639s!~$J;+j&m*ZkeKhH@nIV?y*+1fpWG*V?%!8 z+`bL-*wFwc*7tKG|3^G2&efMzEC66r0H=f3elF7q^+8I1S}!oB&6E}P4*BLx;BLsw zS7kmR>)O6grC}`KLG;LZEDhhH2}%AlX^RdR9~K10UrWiubnE|~q-ZQ-mwfpLq!_M8 zCH0VG>a|z_==;DK_xRKq|Zq$_2$e+`~Lg(2t z-YLs%<*i~)_@y6I@?!k7Pu$v>=v|vatky^r11vyIoAO~&SxOuyjf6p^h7tSL;5Jn% z7n7Uhok#8WK#mo$!t&gwI4~FD3%jSn-p?gV7lRW>iJ5vZx?+ULKQAOE9Qe6J^6}KB z@kw5_3hdhE8aFTZ#fKWeq$-pAT;Ece;PM|F%S)08rNwu4k5t%O)?Lls`ZgA(UbS#v zr_IZ3Ez493nLn=ns#=3@N!GN3*CeXkgQ7_r!vdIwy=f_tKvO7Zrkug_Tz93sr74;aOto`mnM-sj zHGFaLFGbien!~FvD^m*&ET~I7&BV)M%|vf{GWK>QP{;F2M&vo^71kA{_c0 z_%OtiC;&jtGl1XC-jGYUvlIKbWM|q-?hvQInbsN3eX6t-GqNg`hO&pMNH$PYo@dMR zOnH#7nq)3bYAkd$kYzaSNpu0e8VXcvJh*SC@o*N)Sohf^D7tQ#yRHT-?JOI-OKI$# zDEA<#ryC~7DqW7t+p2>e(>MJWb)#GOS6z+GjPt4e zX}yADl|we<9b*fHhCQD*{+wm^B6R0@qPD2ZCAxdegC|J5yjgLdSmLrUwg^@v8a7P;zEDy}4k5dB61BO(3`{05k_sImMl%xUFJD1WI+(lHV_@hK|y5CW)1eQ`F z!T%f*iR4ri!@|GmXhm%m#02#83_io&gCSHRqF%wIh%5b%W|{VsxZ>E}D5nRyjtn~N z%}NQ!Zr20D;N@N1D!wckMU&d~?0`UCYzfKS(J9`T)+EDncdJ!I)VpK4VFuK8z!Q`R zSgunsfO@&weZF+AD&8Th5-qKr1ZP$|mUDfxeKsIeoSFiHq8Uc|i59b0-M}t_&Jl+E z`RDz!Z>PpiwPAFycxNbZoaXQ3zcUQ2M!GOhzvUc9ZB!^O=R+BYNzIL~a=uBgYbE>z zYa(|n-eUU8k%*`3^;%fii-tluD(%5Z;XrMt!DSEf@^AW}`1OOo$-Taq>7Lsh_A0d} zhIy$G2VBu$@p7%1O60gXt=edU!`f4b_xodqB13Gs80PqwjZ#!v95+mMcJm_e8a1fh4u`0D^e4?SKyAz;d zc%{Lzid+d=aV56mSnKRtB!hGr02w{u8Mm1qzJBpHwYAzu{dKi?bRI6UQF->S1sc78VyJV zzgk1A0UZ}E9x@uJ897L0Yx@sYujFtZ4(y_|J1LDtl})4ys2+ck0(iNZ%*;UtwUA-( zx~W|ERpN95Vks&T^A$A|yD(Ag%+%h+rkY|)Y_X}PSiohRz9}a)o!o0^UFroC(O`?9 zL262!zTEjM!o{OUlQwM#-K{RO1r4d4`L410DF{=s^=+rd=|Pu1L|Jb-GTStqdB`cKSVJu zm9sONvop_4r%|oehaifEDvWoF3Q1!=E(PN2OdnU(;1KJk3r6r`pz&Lb!gF*Md|$oB z1O@l2|MYvdGV#t)PGi28I*JZ+fUjOi`{|@^<@;Tx_bvJE=lm|>3&&E^Xq^pH@2u}v zQPeo-8`0`nf$I=3odBK#G(99F?7ke$IT;Of63i!~LD%FXDQ%ID!Wf4_27y9=jTBVW zZP+h0Fy5+60*InN!|>4;J@NT6K&dzIn9^;e4vPYeHPb;XcA4JAGSVYCt&v#pYdl@V zq2;HMoR$Lj0$DXHa8r0S=(0#oC(%Dc>*P*S(h>rb37i%S<`uZ-lZ`OmeBN!dNx=JLxC zse|_UBF$Qn360H`qn*`Tl`U`1bLbN>fVW|Iql{;cFAnD%pBl@!J)FbC)}tR|OU-xB zBRrRIlKn8>4G{e^_FTflvGJcLJRHmTR=zukEQIm6oas}@J&pGl;T)cEJ}Fe2bG*Pk zk0SO^rpZ3YenVIr3mjBOB~&*E-#1JSJ_7mP1m~)Qyc7p{7hO**b%044Lf(UQP+BdJ zaLx0-iD3sF{{iwx*&f0CN&yhK4z5_xPe0t|3Ygv-uc|WdCO+0ILH+!R#-BD-M zc(a$0?D7a^ccnLbsca#p;yf4hysDY`kwtEH_n5!6o5!%s>1$O3u>j{1oTeZ~aLXpf zCueH|ukK_IAq^L}5?i?0P&>3;d8_K|4kNmOE!7el66d4`FDBN|3GRND!jnJ=7m)eq zMJ>2-(VR{x&}uGs&~aj7;|SIc5X{wH^=ZCLQ{0IayE{b;7$tCQ(Td*jD(zOo-jJSp zAxh1}o86PGJF!8&YN+lHp(jJs5QXeuaXNpDihQXxWD6UEAw&FalgLW#SGC5TSslxqhqLIXr11}ts4JDjtF zhM3kQh^g*YnO4x66l!1$TQsx@;wsT7+r(&!8Rq*$LI;|yIL3c#5; zL6xf(syL{UGLmR6^aThE{dFN1(*Ne^R-LoW`^Y_#%8Y);jIeWaImrRGmM zc#zRY7`<4t%Akfc5x;yFTDP_ampPMqD&Qm?f6$2z;Iw!)&dqKxg@0(aN@-%|xj{#Y z>Rxr*m8yQ53mSqM48eSrzPY5bY9V}PQ~iEZ{XR`zT-7kCt>jYmYe=mQmyj0FT(4*^ zRzoa3Dyh9r2FBRM|z;#v06R#FTg(py_;96|9ZbylE$FT+}&K{-Byne$Ps zdLhT|9z`QxTSg)B5qtPCff<`?n` zfK`7Tg}~MBudUPoovB{XHhF#BnP$B4-7U5atCW4T&E8*IX$=Q|KfAns_Vsw__U|bBOh0=+t)-DY z+2!@Kk5l$<_}ND&``wAY{}1mr_^<>-w)oeunK*g|ecw7!uA*oK`gPXXIva3^XvXpDY{Bc-*=p0Y*)(w+Q|EQ2PN#C<+uX|d z=00cz|C&sD)$^i^TaAepFwW9ST{kqAOkkB86D|l=hmW7|P?8m5_!1828K0R3C9#GD zO)6vV$;p1a3|5bfMH#D4;;nX0R^`AaOy+tZJl~ly__^`2t&JU&-54=Bq{ORa42WmdW7#ItC$h@&B34=2 zG4q?`YXsyUoL_7H>tl(#I_p4)C~kH zXnzAg_zIkd8feMz0*a#@a7`Ov)z5kz<&;M3t?Z$Z*Am6&(}vrI!IjtGv+=zxdSA2n zj@a}cyu9OqPvW;dBgUJ|sYt=s=gn2Ct43)#{%7LPA?7Va8!>NVp%wGCf=v!*CX_p=d2pw`Bxw+tp9SB~H%zBC0Z&Twf5>9XRnD z5OKHPg-r1ryUClVKN$&FQQzI9m(HDH3@+k9cntSQol_>A?J8j+zmG@M?yoJi!t#hZZ_;395 zuL@}e8K&M?r;z=K^y7d^2{N@imHO%bp!BKz(#QKK&gm*#3S&>9hK!Uk_R)y)?mSzrNys_S3)5*wtUxFMWwk zzh3jr6LLzw*iSF>vGt?-rJrQe&$i|3D}I}wUN=|k$M;L0jV(9YBmFYU*H`>XlYahp zM(rryBJ(!vnmw6-?2$s+#W6)ioQU3<5uwB^t&$=dm|qEyPmfbN*e1q_g%rqI!bu@@ zd~>rMr7ev>dtWuZ1@W-&!1MPj2mxS`v>yZk&$#nL#a8T9JK_on7?StZO zz0@U8ggk8n@}VqD0*tRJ9oqcHsSe?&hd9Dl@qapZJ4>kUjH@nxT01wXec1nYbybC8 z^R7%6t=J{_O309|G z?@airGv6Z5}Xp3h@NgzAGYi3 z`bOuGi~WEnOhBcY;gsit_h|?cBopw!P_o#l>j(Z)2^U|;q=mdYhUv|+*i8;v2pv5Z z&Gqn@i#gc&+JKvW)8LHjp| zRg1(@xV;J*NvC$4o?5M=y-GA*?7j8Dr3%rM(l&k2q%F|2Md%9}9>NI)39mLnq5to1 z?K3lZOlW)W|K{__th4snd+oK?T6>@UT>GC8Zr=*wz89l5P^0dfbx7YJuLP2nt&7>T zX1xNvA}u+1(|Rp?MR1nujTa}$m1O{0LQQn}n_rwIVOh!fqAB^RTaEISoaRQh)gAt0 z!}$K621`dHjW4guNMosdesck_0Gmz$fi&89Je)L?xW6=(cjlAEbxs-`M6YaJHncPp zA&`c=y(5hs0Ho0c@K?StSQ;~oayp8%Odtt8`RhXRE`O93a@pF9Onl2U(IdcSO+X+M zt;HTrCQ962CQG*DlgS(>li`r8Y;71?CW;Wqq=-jkG6sN5iUI!b_6?TFd?%CItW5Oe z-+gEn!zbOSr|S2)vsL}f^J1j&dYUu^mh}y+rJ%AsS9=T3)Vs!V0)u*K;Xjb!DQRJ! zq;ro$@Z6<6iZ?Ubew=4u8>}CO19hdSrw6Jk7N{vt| z6LviLimQ%g59bs1Z=J9^iC)=S^yHA$Q4s=R@8A((cNu8$0sf@tov>B(Om+OD6ZUMB z;S5ku{)KPP3U!}^STkZMel@QccCF5cq1ENH41gHg1e_Q;cs!gKl&ZfN&VDGL7=G%+ z&_ndf){>#cpa_8&dU-?)A&Shtzu^G?obJJ5xWkE|Eh`2+`Q>jRh7;gEBZi8eykgkC zDkFw5G>ha@e86c4V@V(8-W zaAHuZ{$e;y!^uHnSntH(6TPyvYiKbjLLi179uY&YftHZkm5)9*SPTyu%B_ z@FoH{rcbL-^m<+aY`#AufblMe5&!}y6L12k;PG$*P^$g{`0%ED0(is;AWHPg){dbC zpa_8gYI#HeQw_9C1Na|#cCY~UI6Ih{ZG!dWpZUft`VI8&)|(+P`mvTIxwmiY=x42a(PX)Ki()`;?Zb{*#oMt1X**se3bmGR~##eHvVE;26|9&}Km&xI_ zhG?>SUO@Z#EbVI>xR_$0Inr*gUTh?v?8uRAp-MZEpPL3ee?ke`F9+^9#aVu2eHk-d-DMPtfvM`=mjUC z#k9;$LVEJQy}zG?#{M^K=)hky5?bt7SSW_t6V1Y$gqHGnI0-3Le+gaoKt2f-xHfGW z(JNakhL(^b1QKfH5ec;c^vwbIpLueyghseFtri<|64H}D_4U3IQbm3HBdVxD*K$VC zwS2s9;DD~>R=pd#Yx(;=N&9szE421DxNAB0FByT)w!UXeJph3>2snYy<52?7KhkrR zR;e-qcU{ZJHE0_26&)7{oamLUo$nxUB4h;4BOj4A11%i@|H-|BKO$#3fk(3@sVD!r zSNWFyMIAn)=C#ywI4_SFzSoiw!(x}uLV)Z}Ah0_g4<`nt>Mw>zHBK5NhEYxookXu} z^@kRNA_QXC!6RbmGSK1!{9R8B7Q-ol-DSm4D=~Dvf*9_`0yAPzE0#wLv+vD_VYu}@ zTS5TDP$b~QFows&i9xCQi($)}d}5gB#86E1%GTDQ#h?g*7)p3V4C4*7lmYzhj}I2Z zBqxT7tQhpB!(-T7v$~bDf2*1~@poSXKg-Xev8!x7 zS-<9@l`hETC7kb_Mcmwd5W#&o^`kVs)ifM&;+EnE$8f3K8Hw?~m8`h+5 z9aIj0K}9__q;^hb5?JhZxp8lf$A1YrG@&+a^w znw%=;Sl5I$yZk9w21pkE_bcz*1Y%xGiHS+JMe3Q!KQ;nljjWkhhdvsV5y7p zn!|2$;9?hZuY0%D1s?CPZ4Uc_1LIuGmG0eK7x-($>t6a>hiP@gGgU=70T+S*k`Yin;yl3msRkEp-VI<=# zJ@yj9<9>xAW`H_^!Z1{T8f3tDMx(;){B2XGfpm$Z7BZ0TaPP)jf^^8Gn+9-qZm|`DM)A@5!a?(G3mh5wN{RkY_lx*l6r^VrP&5*P@7TmiVdX40FZM74Fx)#4M?tB zX3AeO#%4C}>fuWg(*dcLUY_&?qw3Zq+iU8cq#E`}d8McS@KH=8+KfX=JrLszY;!t{nc+ zBeOy&Pxc(-zv`f6lb&vE1KI%k|HdSq^%;nyIokW|?l)U8I{)`fc_<%VjhD>jtN#<0cD2eT6zmiRb&bH$!ty%7<#Nn9;;Ak-y47m3Z8T8wt7h} z8QD@65hQ!{%i>~B! z>do28S0)Q`Q&_OYY9WuKPGmpKE3>luVOr`@I9<0snz(mqMtnh`7L#t(Br63)7lz$6 z1N<`f6q^b z%=HS(wfI>RM{Ay36&B>$#^Xfg`t(i8^{m@-xnARPtq5`z^d}FU>vfiEmCLmwPp%3J za_!`?O1a)(xjy&9T&^=*uF)V@LBIXSLzZ=xX1Q%udJmRK}2B$uI7kF+xnIzLho*SBom$@N3Zp}nHBdb*hPoSsW#SdYbe)bs1 zVPdJ3O6qr=VmD(Om&x_3cXUn}wyN#qXG8ZDZPA%4PyG_QB9+Tk$7u{<(}8*i&U4@w4%9htrURY>R{^5!h5MdWTo+CFsZu;o*&1nFB54Nfhn^{$Uqd9{BcB)IUgXtgNh zI$w`uDCdGc{REkrQ2xl}?1O|-WJ2*jkV!azrC0alXX!!gV*pFD$tVv?l^M!8mR3>D zKu`Ht;^-@S^5=>1JW`rA1WOZXLk6()cQVSu(tl+r=U6JuvecQ6C0*kJORp3 zonJ~tw3h=|`b>V7J}{W2#gx-Ysp}nB`tlGgeQF4n;(Ue%u(Xm{Y@n$G z;D2lror<(lGR1>tQc;=AGdn{>@RbzXV-@pa6N<{0r-&L%Vu2lE*7 z1RTufk*qaB0%$M<2R1^YR|@7Y-6#%}BFjNN$Y2hXm%nN4tdP@APd@E%9!3VU9xdcE zm^*gnF_@r!qa9kStMMNo0r*>YFNyS97~Tt6g{bGI)mBwgc(djes#$aQJ}689??^U1JeMgtJXl1JYo3%Y?r!} zBCD=qkiqIwUj7Hxn89Qi;c~|zIG_Wb;ebbR;DAQ*;=n+YRw?~|aUAfN;{aqZ2g=L; zx3-MIgig%U4hIIa2!Z7@m~T9GBnBe^_|1>zHJIfY$~ob_&s> zV`)r2mI8y>qF8yplK)9Qhc_5W#NV?$FH5gyDCbz3Njdv`36i6eyUbvkA(Q8Wu$ZxW zpssm5qApF20yGbbx@>Zk2^TQ`=X_*RX{E@js{v%Nx|El{{Qd!-q^0>eh(aRZpo~Yd zu63Xu00+|yG))Kiqm2Wl$Z{|qWH1NH%Rd(moOX)yX-6Bq)&3)}eA+o4k!Q5CKGXRe zRGlRN|LvW5wR3fba!xysK-95xW6UFr!jdH7eob&dELEzU zZeB8V#kk`3#3aVK-5v|y zJ1(lIVJ@H&^sYF$z`ti^mG*de;tO9^_>JLA5qpXqrySUMQ?7v;Hx%F(NGwNg|1^wn zR7#8orL9V}h&yv;#+KrkHw8N#ed=RRgv=?a+v$rCnB+W#c;rowZ}iuAuhE?~gN3Dr zjh-XWUiiC5pHO^7d-o1STcSl4=J6H-V&(J4=?wm?OU%t_t41i65mK#Hw9>9<<1=ix z?5e557aDh65t$jU7E6r3FP+>cXU*nam>ThalEe3njn!?Kusc>d$Kv9hAYpOCb6niU z^-ybHbZT{S+i!kg@L2Dff7B8_na*fMzKY9pD1IUK<4n2K{tOdDpBJJ7ps z*l3S>Bi^ISHgF1B+R1r)a#HawPMy-pT^$!*oVup7Ah^3D9_A*xtuvp=T#6)rbxHG50@n}gt+eNQSdtj1@R$8j6)Wr9&>ANa9e%~olpdurV z$lcsm<{}bL)J-vaSIsyQ#i&j7fBRZL#Wb!I8Ls0Dv?E^oYDai1$!$~5U%(w1;cbC( z-k=Mf5kZYE33S(;scwo@DTl3QI{&~oVEBmqfWX~p7I9DiB_eqd82>} zIeCu7@fB14hVJDoxXpy-lp{WF`XGnEO*tF^mjeNmBQjDBN4AeeJJZE}676vD7@z-E z4U~gAYW{6i*R0OCiip6Gc;W2rs$qpY9XRF@!+vStoS$0YIb#iszRJMZzZw|X;4qhN z>`a&7&23g)r%O95DNBCk+`k4l+>@y83_=Y z#nrGfQN)YLg7MI!;Z$%_xDT@xKOX8uQ6DV4m{Rl_CHfkGwk`M!lV}(ls^QkyDC8oHb0%kKtturzNgU zr{Pur&9QR82b=PPSrrNQ7NUJ|>ddLt$uoPVq|W?&O?YQ@az+nkupw6d+RSG%4Xjsi zv&?|>$~%f%4E(>Tz&Cvo&#A^%DaR`BJ`iIUwpTTtJI1(I_!Xo;U|P9gCCXEN>5^A` z{~*U*h3@-+>Xk%-TSI+2B$XPz5E7WG6|;P+)^F#+_Dp-{7V!qRclt#8H7~nrrG`!i z?~tCDq$)`XQeR}jCrw+XL@rZ~t=UI|*M>umKwWR*^~b((2^=fTH~Uo;6F;h7VpUEt zo%Wg*LS4t+0g<`Cfd$GhPhj}Qq~JSixZe$ju=385Oq37_pSyB5Sh`NFUnxGYHsHmG zcg1=a-jGq6Q!#2%8g!@E$X?l?5zCYzCD@eI#I+YECr+D^nzfdOwQWjrVx8Q%;^{A= zJKERkKDyK0bMbN$%S|8W%O1nSX!wBqWJK=9xf-75t|+33QO(BqOlN&-w$-Qga5kPQ z->MlD^%Uq-K!FLC*?i+MIZX)I91C@1hx!f4HTuwzctV@iIPR)$y|ixB`!#lIPxwSp zvq(Rfd!(9rEJd(0HXS0Be{ZXeiFlFiV0MBG?qG@m|It6u#l^#qm?Z;TbrAa9G59VW z6IpQXmDt6ar&x{KJ7K^7jT^qBzKTjCbF;2WaxY#rDqGFcaQ_9B%y(7EFzl2~`QYzq z1PFlbm}~UV#%S`KzD=4 z^-1E%(Kje+d*R0b`qTGZQ`7$Ao1A^yq_Qg>?T>CIq!y}>QT)`gSUPJ=^uRj4065iM z8s#N!FdEl!BjP@8MEoo_Z@m$jzfj>EU)mNe-OMG5+}efHmo3r6?psa_7yQh8CvTtm zIv&N_@C#n>E7Fs0=ge1F(Ciq}H+WmLe9KLwUl2XChR2z&qXmgp?rkJHuVoY~Z1TPm zHXEVab6+Xvn3A5t{daveOq0kZOD$Tov-xIKMgNoEq}a~n=(A#P_`}8ZrmT#KHkJF5 zx>2pDI3;^9)p-h%ztz;04Qe{D2I|*p)iKUxnjIvci6;w}Jt%$8I)Ty` zj(Erx+W$rn*cTo6D1p)Bng3;2sAiIZ)_g{>sJtstfFJ;KvTU-+`wA(7e^f ztagF_;lPa!^lmmL*0`9TcQH?M@8&pAI+gus4An`tGsR=}xk`oWsmPrBtuDD$bajva zXn0!82Hj(I!20)&J?Y;%$Hqb6nn}H{j#yH@f#qX~R%4|~!AWk{3R-8$G_LKa01<=1Fav#Yn+Ca%$%s}$J{K1kJXMH6vd}zt5luq*E0LhEFJd#%t z{s)p56Zs@BvV$aVuCvVMYc&cSVDqgc86 z(n($%AbByDNAk86>%T8~F_BO5B0EU(MRfC=>$ZU8T~lPkKt*c@`^T4@)k3Y{IVmFJTyZ7q^AZ;UYzxn zyzrqVuTnb6ivw(4%;k~1its;Z=fy-m$&2hD$&aBiagz5b(QNTZ+R1>l4>19t)#V%%YYV^3G2 z*s#T1(hDbaf=un(&fk$}XAcK$z93 ziK8@?JU&`Cxq!sjnH&}?Md?b>U@QZfgHiKq&BTzo#*Bu0H8HX3x(ENx`3*Oav8jIz zk8Ls`GdYo&Bxt?QSzcA@^rn}|CUI!iM>Tp@S-1e?17s`DC<&F33FMl(^|Hwyedt^` zU|b~~Cf8Sb@o|TA8Jp&gDwCT{FqLceeMrjzEmA42J59Vy%}dHm`Vct9n|0cu%B^o} z#e<6 z1Ai0vEdP&2>sT^*4o;Zy>|$Q%q*xfI&0X@DT>1vh%edqSZhgU9KmPVrKXB7*vk**) zq`YDtYrL-xV`6s)8D8dHS2heWe5HaZ`l|3s%{FjvR!#UT!!PkBE^j=aIn2<7nmg9@ zC@20pjMmcAh@_#i&1`8@tQnSK0=X@~wgx26dEfm{gful(nVLAx=A{a!tmK%(ernmp zJOG3Pq7K9a>NpTR`MDJepX@u(?ZER6>~r8uh!f>32R`n=Cma~>z)lx)mjk;U*yF(C z4qWWO6bGUX#2mQ9fma=P&4Je)*zdprK>kI(!Z{XWWQ~Es|8U>}$5_XGPiR_Lw#poT zEqx&_v(OB^x*D1{R%cIh!RlwrHJNR@Ul}!!u63L6rvj9GvBkZAoO*_l1;0imXjm^} z$v5!Xj}4a{1<4-V;x5q=`?UU>b|f z-1YR`_tli|jLbb>88Dee^mzG>$o!9kCtsP+w&wW{xzjA+M<;CD`UdvNqGgvp(M*!f zZG#N8K{?m3uu$4$nWxg?GhXT$56LBqWj?M-UG7bMKec!o?=SNvau%ayHjkHkqdptd zGgZHzR3#qf8ZMyrD2i)Z$xBI@!4?bDC}l*ot4>b5lsg~lfS1I=4^jL6uc{H( zB|XKMUBpOYZ1k&(RbD(atkSDIRNiyTCu{1s0xltfYC`z`C)GhEi;ee|BCIEVAj0W9IuTk?B|@a8P$xp9rq~$~E)hfjUuB1qocVI`9~seTNSG8x zH*IXBHM24Uw;*AOG!Pfpc>Aj~h;0x=*)EhJ-jF zg#m8_?&1@o&8qa2s^lp>z)Ds;s*=|P3tunW!l$ix1*_7^>!xwsq;{E>N03x3yiEdf zgt<+SzS4;ICgXDtG9fK&--%iip%D=q_5tsp>v-4?xJ?lp_;aS~xIZ%IKdrDCA*eZW zLimw|w>TlNZsFU?@CN$`#J2V-^ZBL^yM%7O@o~#1`1pytm{)Lob!ybx)yYxcs!m<= zwk95tM7?%%l=oWcgJoY^=(EzF8s*9(S9*Mlze4F>rfIX1v+|2`?z0i=c+)&9zjMa* zViedynX`q(fh}m0NMz2wz!o%dnze<6FgBzuEY?eWl?ymq2$?PD+7C3V@OQ8U%|FW) zCP6}+kirr43=6jhrtk`|g4tJ0;T5+AI@lDHRX$U2bX!C>X9~iyrXViN6dpMeQ&5M~ zzx9#9rVz+Lrr=}{n1YkRP^KVt1g0Q9%oN1kQJR94KEEkg$#bSqmNSKADtK~9g)@bP zfhjZ)nlpu^U|CaWhOr?{VX0oG5*DZL1&e_xDEu8vVK(_>OhKGr3XY&>*io5+vdU)) zj&6(S=1f6Y))d5rnZkOuj2yOAU}iPse=FF_Q_a<$nN}f?flQ%Q(p(Ujf|J2erXY0$ zrXW7d6vW+8nu3)+zbRPBbEe=FZ>>THW{oLCohh^irXUYPIa6o@%bLP67#q?QTJ@4~ zhJZ7LPElGAn1aIJ!4wt}H)9Io1XFMXJ;RR56qHpyQ*d-!L^o#&!m_3yF3c4697(HS zD^}Nc4sI0!8ORiz3<6VdG8oDfq>jK8#D|%JxI0Qyu+rx@1uJ>Z6rAGC6pAowOrh49 zLPuZjK8#D|%JxI0Qy zu+rx@1uJ>Z6rAGC6l_MC&6Um+mIbEZ>kFUlD-kDD64#?;OMr9Zq5{hWlcd`m?^w=B&J|9j-bYN4G_EbEY6HYYO7ROrh+EO<~;n!KM(%K&Iei5SW6K!BD0kbp)m$ zKFk!v-BFr?l|H{ISjlsyFdO1_xPblmY7Uc27TQF0qCvT03d0G_nZkImtSJ;L?NFvr zqL-qTPyD)Z?=A}oQGKiF8a1+ubbh512$?i)L|tjy_825blM!~0x%`rX;^v( zz@Pj>Z97+r?6&h}kipx|m6!jeM%#8S0`S6AtKw$1oo_xJrq~0`fd;mnzjpq2Oiw!A zFb!2@cd8C`yur4AKXHdsRb^__IOdr}et$v-zPJGX-zkzdK(Btkb};O(TtUa3Ir)2S z4p?)+nl{$FtR|#6`JvKQr3x=vx;IpLXhU^!SLLB~RpqbD)Wq(?F&6i=5TM2VhpUoT zzQ&m_TjSgk4R@2lo#c>6F(bley6@H7h{-g29Vd0Hyo;_wl+leoKpT(AAIN3OjLiv%ovqGBI z3dI_qeVa8-!q_*gQWHjDS%wm^VErMo;3P!sk_Jmr!Rpn7-EIvfnjAao*IK6>d$R-Q zJJ9|s3tZ^1e>&{*4m-_(Kf1sm-4hPGz`Yypz>oW-Tj#KG?%j(HyQN>cr4BpZMcL-C zFE|jS^BndM2mb0ng#(tZZbz(?lW39=D%OpdtbpAyZU+H!R&`(}CpEM-jN0r(r|mG9 zKTcO<#>3_<5L1|H3vEqB#MAkQ%j-tXi-&P#VVweE>TCh~7w|+g5?*7aukv&vPk<2) zC>-ov4nzQ~)TgQX9BR2^T(j5<<4}8Vdw~`>LjILsJT{bi59a!#Q!y6q;?yuB>fQVr zCly%Nj;FMJpJmKTym)vRC307mhP`5<`8!Vf6q#{K;O5uth`>16g;&$#ufFS|P^$X1 zLv6|G*UIg_URKIgc(-~O92KC6*D|{u5hzb|@ff-N?_0FA7Mu`h(s7h%@(Ece8znH% zr-p^MIRkyg8K^&ts?MPX@^5@vw+ZSDf=Y(PDYgH|Z_Z;sfgQS}c2y<`H`prKPy$iK>s!tw)^W zrRU7aR1pUwU@hm?i${eaYtE7+#_%|YM#ul|8CjP~ODfE3EK)T`WX}2d`PUBcx>Zcd zReQ+F1TT!W&Juus&y*p3LOo-w&2g-aC-Okn6n2JVt&GQ_cgg=%$&mD3FnS9ey^1{a z6sCDniW=o{zKXgCdMR_U6v%GXYmiZCjX=^9^k2OAW)#2)@SHoR<)=WYze6Yg*UgQ@brABAZ_xi}k2(TyX2+Gxi_C*JBM(3w}=@^03 zl6gl^E}bEQj>s9EICQF<4??NGl4DU^*gzz`#S}!dDrr6ntIEA)aLU>K|DxO}=T$Lf zUKROjnoC7?TtRsCL9^UU3-PZ%-f2groTJlJ8kYxbZIYf2tW)a}NmR(2Z>mXoWy9X4 z??;$KoejG`2$M`RX}|5lWFpzHG8ZOwXT$b0!i1hRotd=vx-fmCv+-uSFjbvw*m#8< zNXVQW!^gQu!=;qu3)kv|aY#g5uY~=EW`=bM`G}%hQd2i65<9eo56}%i=R1^Ip+0}V zlS*R=XaC@L9r#ZNDi#yiUiiSzGH3jkG^i$(uTbYTGUqX57fmfH0m+UZ#!C!CjUUSN zk|l6~L>o!fAC4@TYjj#H7+3XcUb=v;YWQvI*hIG;ny^2fYSefunmD8$vpFce)GH{f zPK~IqPL9}Il^Rvg*Rwi##b%bI?O2_TW!FelQ7_6tTu-!bqQ|^7Sf8iYwu!GM+cs8; zDRz7fPtN**wk8POcLM#xXljLJs;z}HXdn-}21!{${);Vr#tOf+f@R7}DO`Cyg6UL< zr+9KxR7ch~vZEv@ua2yfw=_f_IhwjhT-Zp##OD>9%f5t%FHVlSjC~0YtH3&%9_M6Y z`6ky@NF! zl$TPt@&=k#@X(qzft#kqg=yNvcXXPza_85ysO2;*#hRwSQ=v&Bu~z<_qR1R=;)a?=v zSEs1u)Hxf>Ror>vHMyisor3c3OpVNW#F$^y0LUtJnxYS-)aiQ3a7e&v?Lv}f^=iRG z>9sbaSJ601y^8PX=n!1$T)O_eVXz(wspo$J}oIH7EYbYG88+AhR%7d=TrzYS2iPli#p<(e< zN-a^)cEwYR)EY(Rd_!HCFOxHnHyiNj1-MH0sljhxoY1y6P!p$oOS!7-fahC zr9I{V=H*u-UmB4<*fnKXEc^;dP8xB7U-bRY5e?Re7cIRW5D{Qx2G*!{+YLG8?g{6wY;N9_5l`8PAIWanH zO0wW2|20^Pr|y}`v{dZC6VbZr-gvkN0{7Gs5>MUf+lxJP2qgD-xGQ#GFR$L?-XwZz#Zt)do^D7=vc%n0dOCx7B^>clyFT}#$ma^qBg!L$eXihaxLlhnP(Gp(wXlebZFgx!yV*5_14j1C$-qh zHFeUvU?W6q?je4Q@cjq@E&V~38$0lLJnR$rhfXj`-cqk=42(zol|BmDFHKBbvwsQ| zb;UF%rvpe{8@a^OqzI-n@np7dYoY*t8mHm#1>#cy9F}+h(mwGkK#_D*fUV$SpT}6~ zTQwMrcV@CGHSXkS^0wA!^2%kLF?mYuyWA@vRy&a&Ci3Opncs|;zEqw3aCP!Dw(CD6rbt?o+#4_bXHEER5>_XR z<6gnWc(QsiG>(OaB6ySN>YWOi6tQZU87*apI$b^peMOwN!Y=WYf9lRQ5DKP)CB0IC zP#O#XMP7q;rz-@mN*}q@n?&IzasI!C(=XLs7{Ly> z<8Z(7F&qZ*=7+o?^y|c{PL?BtPsx#xH|g7oc9}QMN=AF2m&vDfDj~cpptOmYE?E#j zS#MaFB|W1CM?TMA?v0pl-iiF0(hi7JB`;9y>LhlzqL|r0ia7>AfeupCE>s$_(8l2| z6qj_1I#lA)^)*t%bvH1e9zi*;Dy46$GzO>bP}7aje!x&+pn0$JLwAZpUxxNeGDm-@E9xI zMlKlC_pp#jaSnfY1-HgaISw`I{&?v&q=r0CAsmjcsZN%~OHsyoSn6BO06!J?My zMpjj+$zNmi%$YLgXi?UcJ8+&t({!zW^QF<$&5PsSqy-!)3m=G=-rQQ5d>0owVi6-2 z)P%R|mSmB|y}Y$;|GFTJ*{GI=72mtt@$IQbDTeX0^Q?3-4}7yIVV$5Xd0j(H<~ z6c4l0yk?n5BDQx`C(rLsmX@EuW8kJ)kC^lCYr>CQ3z(S3%7=_CPppHok_!8lQnprPTf`BPxCL2SNN%#`$HZ%s;DLF8XQ&d+2b6cR#o{V zQ7bq^_y#8md9ven@$ix;6f(zd!Uto?*J_fl$GlNfF}3IAx98A0`Z15{)Y(PJ5ud0` z#m5!I8rKg;vhR(R@1D7pl}Ygu_r_f-Hke!yPr*62n0L)MhSr-SbGOh3gCTLkft6;s zq4E`Q4(%X^1;maxX6jxX>pZ}L-Ldd4eEX4kQ^-EvE5+%Q)OGJV$mxt|`AVHYtWJ*m zP~`SE>G)NpoPgZqeE0X;nHb*Kz2dLg1)c6Ke`mH?>p^_u-BhT5$Je>u>Pc>($c5Yd z>Kwv@srbxXDO2&9W$OO-ezCQB5_iu$BD3PK!gw*pr9f!!4VwJ<5cdM@tcXS z$*%NlQqyy>@)*O3ZL^9AZy=mpl8>b(CMwj4Jk-|s>@ZwsmbcG*0mptg-&(_oQAQ@X z?`k^fbm1 zQko3YS)3j}r*X4-i`Eqs?Jr2|p>xcF^dHbqdqLuUy5uT!_bq(mQJlg8#r0+s*ZMB>vT%T2>X9vq6Y$@A77-Q?h*0DdC%|m8EMW|fwX%fg&b*l- zF4CYmYnh8|T%5Y7*3Q6%LfsGYc9m&!konzjrFhU?g3^|!6bcJU(UB>|D zt?s-=!{}9wIkTxL^~mw&O22)ChQ_y?#8aY{(lff0liq?8;*4cW7iqi|BweJD7DP36 zQo5qN>55!B4aYL+x?DOpSUOBPjmR?TG~6OTjgbzUpGH-gbQ(;N&c;uN<5Q!lOgfFF zNM~cG!==*@Ig_r>;P{>REL~v(F9xC-Qjw8HN}{2`*@!Yp^WFWlplO0K*4SAW?`4$# z;h)$jUy}qeyimGV?_pKh9b{Luno4)Yz=x{dnosWW$J)qouv#X*QOjt2sZ1ZG4WLR`3m{2yUhz zm6Fypde(%*x$1+Z?ongTA_4tpiCAta*{Q%`#4vqH4k%w5g*9e*$kiqz7|NO$>9$Gj zylj*@;$c%qG;EU%(XdVOM8hc?H-|4B?!T4Nv_Pr|8=>J%t+2_CECbO4dtowQ00x<8 zVA_CLds@5jKRFv2p8Wk0w7Upz9sTwy4M+HZQVZjCxilKf!LLf^_h8 z_yIkT?8Mtf^0JAy0$LaDcmKLx{(qV4iho1$?Kjot=A0U3ahQT?Ces=$FiCu_ZaV8> zZ&E4qAGTs+^1p~<&&V{?T|=+W?O=+`8WlaT0Xc+jo*@}GZotXrKk##TG0rkOZ=K4L z9ClXvaMr=*rf6dSEkzulo-0ax@T27$X7;FBUtbydUcq0WK+2bAzRYr0q>+144iR^O zi_6mArkOq64-hzE~M!(}eR;yf8D>|HLy5*|CbP0Zg_2)*FivxV8~&a>B^`M)@C zz#g6Pq+E3-Sy3D>EsT9~WdJ`S)&f#($ZhZqYPyeGGQhx}c^6LR+Y`M!ei)Yg|Ksw3 zRtQ?`ydEyfUj2vZhn_viW43PeR=-^1BieojOl#d;X}`SqaCfCCsekX?vfPC6lU(1u zm#Ae{lx$NiQ^e>)W3J%+uU0FpFjGu?k8UM|Nm+dzWaq?rKq4XPCFpu+a|~mTop|Y`bAi%M3exqhU+h3_EMH zVRv;JR``%%iO}^%bBkeKkzu2^8kR0LZ0vT!n#O~{+26q6tis+EK4Q^i`E_^oI;f7a2D8RKuEz!Ju*)7*xjFyTWtqU82IUk>?ub z)fzVXJj2q{3>#Z+SW`V1R3?K#rNQ16UT*Ia3k@6jX~Vo`!$yDBu=Fy+#$IVyQyUmm zt_Fijr@brun!QVO88-48hIu`PjlRLKbZENDH}*!unu@@n@+~l^6x+MPMtheSZ`jC$ zVP1t{qkmvny4J9P?#;|m=VPo$!tZ5k- zRF;52rOno8~r!K(xI=ITply5smQR?cN(^&*s!y98+O-t!wMfaEU~ao=|=7~%xgAm^pl3A zml-zpX~UY@z$o9}!QiaZ-W49OcM01qRWkCQhS`=NZ17FP(w)pips}|MYw7}n${{eQ z^w_(?lYVUVK^u$Utzn~YGb}yLu(97Wtf?LhD&Gf#N`t*CTx9PO#YS^v+AwdtVWWR;Sh~WnvHxaR zQ!N-&ehDVI*t^2J>|J7+S9`{GAFPCp>dT)nFV@NElNT= zig~BYsksOwYVTU6yW|y?&hCyTN6LL-@z5(|R|Zypa2PB+6auxTOkRt8_`qJ;B| zx0MSW--`{{&BoZkY*@p1rm7`MdSj^e9A7De4R%P>QngtYm};P9nt_$m1-|yGI(^nd zj(LBX_{CF)aSa8vV)3<|`>m5WqUO}M{53!P2IB|ChTUfNyEX)fj&?%fX^ z_^bnaT+Agd=J_t>aqiu82hMijJ{Pmm#XNB=v4a3DW6Ua>iU6^?$D>|CB9A&HM#DWwy^ZyO z`=lv<62vmYA`1(v$~M5D%=HEtN5 z6swYRnq*-$<Gcj#KNz!T{5}pz%H6X8W!AER&QeK zsdph`>7K~^53~O{d7$#p1IgZ+Hb zY@T<0q<*~`yeqq|k33hk=pet)jM_~7+sxEIHuJe;Z?ydFn?8JqgDyX{ysMHkRvb)L z-KRA+O%A+0^TmB(IFBa_Klk+~0+nU2s6)flNQty^IZNbH*_)_lz!i0-vh8(Ql_{@3 zPCoU}s`Z)M^9Jawov&gZofV@XBc0P(({%)y8TGx%PZ^r=X}ScSzB&X?7xd?8QthOn zd76-)r}-JuIi8Ns@RSRBl#Cj!6A+5b`6BfuGe9@jnD>Pa&1o!#)#c;p98@l^=+PmX z>ct3`V>1lpdBsq;dNEUXg3Wez=ED86++aHDH7(?%lg+%QRR`VKnPWbd8JAlotgWv) z6Y|p7l}n?^YnS;AqjEC^0~ncTj9lXwX&uN&>lu!bHajV^{B;-!CL9KknPg<9J2G6e z(!V?%QV-?nv;#6TA(Jv&qJa^eRaK;h*&STZQnSO~_MXhqn8j>Lw42U@qcK{^s9a8` z$?Wgf=ZC7wZ|I5KUO`3X;DWVgDQnFlB?NNV z)5NsjEdtI@^sM+V;G9Im!yC2URS=#0+x5qWW-8hz4@dv(CF zRU*fIa8;y=cKgMu(^?d@^1ueni!&F0Wam;m$wUk&0!+`Ng#Leh^cIej>XC$zIZGEY zSzGs(JFpsOwp8^nHF@?O_v#Z|toHxFUUz~uj0arZC^h-Byo`q@j{@{L(^>|5Oghs( zUR_M92E!$U=rpYSm8vAJOHD6F{cPS(1^8dQT*q6LID5Rc7-aDAR`KFDL^)eS2HL?t z;HYg0@ADkBok~f?7WqYa6cY|K0Mz3$EIk|GZ@WyqC`Fc+3Xs9PC@=rDDYHTow$&s! z39)j#1Qogb5!VwB*wEF~n$gC<6CHG~92;IMkFcTXAb@6mU_;YEXxs<*ml_*Nk!52U z$Y3^2wmA<5D+(?aGk_|DnQoBhmo+SDSTG(u;qHtsPHt z-Bawq8qGpS5|txuK0DU9rii;7kBNDo8;&>Q$ow-1k0v*8vs{de+Sowa`0R1=-i<5A z9vxeMPvw0t%)VSUO*K1bUFs%W}b0CX6QHvfwPhqJJ3rj5o_}9OE z5wnL*`kbS1n$f;+SYYXcyQA7!MLVgg1nE7%jiN1*b>#MMQ=kEj{hmEFeJHM{}aNg;PR)Qy^Slzo*8cA`qZlzv;OkyNXhmX*P@pAm61<$MoKnUN2YA9jFjvE z^|>i^XQZSHw5>8S<<)rkZbH`2+)$a^L!abX`XMhcs_IfFWerKeJ42BT&x9(~&5CT; z7^?Q-*lU%_Wy({8`rZv;F}wiVyA|ooAtAvj?FqAW^`0WHmsS)AaK;L`Dv?; zlx*Vv`Krj;jWmaAU*Lz_sw2DC=;!acIxJGM6ZSTd2OASA*@8fnJ%l`^kQWv5LgZQs zbnVkT@7t;$g}%*3terE{krMdc8F}{_Qauy7c1Km@-Oofy))Rd_A?x_}t0EiLz0QyS zI*U=)?$FNzgm31*he0G|)JU=t7WMNi{j%M3*7j}zz5smgdgU6~$McQsoVfAtZodQ~ z*~ZhJ;S$bU{9I3@msE`F>CV0McOD?a&q01(+NPhkRG4l0dC6_FsE*vYi>JrcUA%D% zQLf*`6Okj=Kct73l%5#7A3|C$*}E+~eRn6DGainWZ@TF`4XX=&gavRKDrW&zktrLI z;6MwAOu>cgCNqF``CXJD!No!_d| zA6srE_@d-BzbKfJoUy8)dkce;#y9ICi48nB=l|F{j>XkAhk>YfimO-*EEYUK{fi~# zIRL-@k%6t#pXhS%D$_dE&^pD+UyaQFH^TXPYY$l|hvW9rtLJ=+yIg?!wDFeHwCa7` zFAE|iomLGxBA<8!3!oNk#}Bry3ZD6RbyD*DChDu-ioJJ8>&W)TYcc98hgEym9#ido z1>1hWI_}nIe;Pq!*Q9z8<6ckf84qCGZSyXSlw6l8z{w7lLq-^@# zPh!Dn)XdfyEVXGvn@qH$kBQ1OF-yuq;k1tjBjSreXFRbr&w%Zz zsoQp`H)0i0)O^NEImqbAqRivJSHc7sJ3sHQT&+g8Ds@+bUPUfDaB=F6v@DHiRmr>N zG12Z$!B??M4g|B5Jw_HBOAE?Q*n61o=w+UyhPG03Wct$tbIsE$d)m+lcdwtkCdq`YlH;7 zq#)v8grd$%jF2(#O*_m8I|$$z&o$Uoz+)4Qm`ue^?e}Py| z=rwgO#=bW>>WyIzt|wxBF#09xe4!C_2lJjp$7M;z zBgB_0>5;bSkT*u51gxoRdZ(I>V7skNsvblZyv}bW+x&tKAbq8v^H;fABZ{E^7j*pa zx`GpUssr5+HQUyanh%9&a;Ke|igI6f4Gm{_bCoxJSad7S?^mk&L}@e2C+xqt{LC$t z$yX|quU1E@9;-ZYTk@6aNcG-}%V%sUs3atIXie3LyND2}eoPJ17H*gb4%lACF5sQF zd^FDCDCV5BQTpKt`zP$KDxdMAgCyO1;&zv8Ux9Mozm^@D>!^2CNx!=Mg~;s}sw_^N z896330ygH- zvqeKFL_$(9$`Y|?d6TA5BMY`XFTUMmD)$s<`jjTnfK8^Z?l`vZ0>Z&h2Z!%%lI2}j z+2Q*RYHs#$djlg6B%lIk!_IeMmT~5={6Rjh#Pi828&95$2%D#YLMEQu7t~bNH|&!x zp0?R!j7-?aU6`+?F%$NJI<%>##eKtm@4}*e z!=}5iUaDF)?MGbL(!OEOsK1_Sn%Xz)-(A@7zG2f`SSyWUmfi;4)WBPQ(cK80N|Y)8LUHpm1(Rll_Wdar*g%&4OXbkVRyYKB6TkHD%xw+WFgV@qa z_so8=D+uzB&&3uV#Fk#W$M=h^b$WmIr?N5;9>kVqbpM07vz$z{9`E0ki!D5eE!*n; zW53wrF+u-(x!A&k*s{*zQ#x!A&k*s||#9o)!qqIGotv|McAL2T8K?q`|( z%f;@J=3hTATT0;>zNPu!_KUrcs_3`pVhayqtCn_uxnJyMRA&F*ai&Gc*jkbH zpDfGDM0gNe?OnHaUg!8$)9l}qi=AnzsXJ;hyB}qGITzc$5s6&vOnXmkwYl9t?H5}s z$^O;3*un!&)M|HshS+kP<<_~PU+b~;Fm`_SU36*h`SuYlx_s!0orh9Q`Z6&8G5_`3 zGD|LPCqEmyuV{-IV4ee?cHqwr ze8+(*2bMVSO$W|(V6g-L7l0d-{hxj!q(;$SUXyrYeYY5U&3eMx?n2CYL~v|ET6dLyZGM(MlA)Yq=}yY&q}25eEZrc+^GK&M_AFeAAolFz>2p0z{*m9|C@8gic(}*Q7b%{6=mwL8$T;pJ?zP+FM95> z>XqmvpT5#l@|aMt%!>&z*M1fAt=7zMx;U@Cp3YFt>1$dvV?w?8SmM-!So&Bd;Q*^X z=7?C5MErB}vs9a*oMY)Bh@vo6R%b%KGoi=h?`%T)LI!#(;Sq&ZI55pXx)y-mrULx# zb8OLt$E@D;tsSg4IV&!RtR+G=5FWMlhmPGv5F3QW&$iXcAkaEg|Xk48M^*R&!#U<}-Lh8T;dTZqo zy>&X!V<6oHKyN<4|BneWA*IObO)>W{+ z$O52zVK8G_Y&+Q!v)OIN8S^oGm6%+ePQ78G!WI!z7f+9S-@!i#=h9a;kad)EP2o40 zV5|`0T`@*3Rj-=HY%Qc>;j2pYWnl`pJie-c1Ge-;Y3>&%Y#`f zGF5VBxx|7=Fjs=FAeQWg3$5y{Vg#!L0RuKDG&7k}x%`w@%xmdvKBNQoC?pgntKc); zz@zQF=y)Wz^P-s!!@!*v^M()D05Fe~tCo_L^&Ev!yA}fcw_X`?@5C}=t<15un8*WJ zQ<&R`k!a@8_F|kR*76s%)#z0@dQ0=rQ<&S4kyyr~ZOV9jI~Bd(ri?bo(EaT&0!dHM zKbKM*f!ES$-#tG&BlM2mZ800GL_bo)fqz>{&W2X171JfE>G^!)_L+E-wQI_g1ZXbg zNBfeo^h}3gQHLR;PXS~^&BzSvOUBYO+e6!Y7&24fQ91e{vXodskM0ZGPUZVN8XB}jEx)pwcW+0YaA4~p?jS4lX zxvJQgc=w;x#_O8Yg4~k*rQWDBnG5%3SxfU5E!W4wf6;P%%!|KItXoII(s4; z_PicTEl@dGiFle>aNIL$A^pprqDHMhN&MI&ZGZL}X&rE))zer@-oQ=?J zVfX|VM($5M$j&LD^Aj(yXNu+TwY|f@*Um{?!(OUktipWvO}!s=zE)t`SPxjc$s+tT zaVwjvhADKTezsMgwxjyAozmvfszqPj)5q6ifYO8QxLcMqjs6Gv-|}?ohks zj^W^RbsFCh7=**ZrIp%sJM#Do1=7#|l&1MmR|rfsP!+8%GYly*fMpTX-&7iwxHvQrWJK|G_7`kDOjXxliZpPG0A zx37N$Nh&6d+JRjhSAb~Lt9p<2kR&Wkc&??vT_(4?ue#?gm7>W;!%Zp}P9#+#eZTJmXB|g)JlSsULEE?|+-)Mk6D(UM z;Y||8+aTo;8;D%Y-g0#;xsA&waJ%vtyTBgi6rMiymwBhWJI=9fIoH`)Q_AsaPX*y1LAuzT`dG=@hw*gNSat((Rm1zV$C#VU z8PJK?g{fPAcrYn%U(V*_8`k z2UC{VKv`n;$d#pn9=)=}QyyiBSRZ9gS4ooVX{L4DzE#s!!Bhm-!{Y>!*S3P_sw~_i z`NG#HtF9Jab-sb`IWXn|VUtfXZ1OKG%INI|&Y5U|Bj0kEOLxvoF6L|tTrwL0Gg_!8 z!uR>gV1)gfuphKloDIvyJMkU!0ma zl^f1?0zYrw(`N0|7CY^1%2Y>+?0hkK=GRz7yQxf@^SGc}g*Jx^T%fQ$>cxw+Af+|g z@J^~}lX9TLru#18r?XM|-6a`Dj>+V+4FbqnAv# zrF46sJ2Zx(M22{ER@Qo*}=OOw+0X1#e&~(3O(nPrBnu~CdJKMZ?pJ1G{f~a492+L zX7rA4^QmjH2~^BWw~9FHlCP2AyP5KqiIu>oJJ)qmJ}TCoxOZ1qI37&H)lDi2zQ32$ zP5ez@l+i;EtN4@eI!{g0Ikx~-UB^Y41Z}dQ$#tL7o4vUXNjy3Fy?WJN_()mM>EO%F zzRQsRgL9loQzWN>ZBa42LMqTUC~xH$sVLke7HjB|*QK@Sfe~8XjMdT2nYKC>LkVkY>1OO{D ztf|DXrZE72$*EGD$Y&MT1u|H1V%%?k|13t?RvNaI6Ji#FoyL=Ww@GX1Q{1Z3@kpE9 z>_8g;%UNca*9!2*83Rg@Wk8FlgBehE{>6P6C>fH0C=>z)%6NoW*RF7=Zs_V?Zgg3}}gZ zFayfYuj~0QkT8kR+fKSq8MCK9~Vz=dT;nM*yN&x<^KPU+(MV0~WR~XEIvh&xxw~qvBhh#vTA_4}MItJPt=mNk%r(xa> zfd4^bKq;~eXnVzA29%v&(U*a#LozTO3IPLCd8Fv|4lD$~K!ai4Jb>RcRuWK(ECaP5 zgBehE{_2zaNMPEK42*$7z`$@GVW8N73IGg@H_R&o_@@{HN|9wC1TvTbW#^v{1JSzC z$9;7VCup*VNLB7q_m=)psp2dPc-xF+Rk*F zVkOhd0318nVOUd#VNI<7|7(24Qfbl6vfKbNm}T+fr$+0ew^EJogx&f?t1(W{<7!c} z99b}oZjPNA@3r>)6_tz2FBHq1Xqo>6M*N9s#)6y8=r^O1>6g$0@J{(4y_lW2LFG$+ zO04lI+wHnmpNdH0{nx5PuuI3ib$YtS`#NU_9*E38hVYu?12r5xD8=3GB+~sojKAfY zu+K?^TZ(X7^w;;XF(h_qLk;)4^;~}uUUz;D8Iu2P=F2tZexz~ZHP8q@P1HZSs1Fc4 zv&VX=dn32&=C!;tF_|t9o=|BM`5;CX{7`aW@>)24ROK#cOyDCak~p7y)J4krNxF>F zDO)4+KcevDc4Sw|%cqaC&BwdUSJLWV{PSPeCnwFLFUIcVnXfYgR*xtnXA~^sT*|T{ zXhGxEng58E@4BgIxy2r_*f`%c^L6?w`fBv$OrMFtoL%>Y{G7!V{=dYTJ|}%S>#`

<>TEKhz26+Dr0J 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�b@OBXVB39Q4**tGco%e`V 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

QoAS> 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 FtU7*5aR{Ei8Q^{Uayen6?us9l8>+EP{pS#@b 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�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

3)5YSjfJn>}Ac_ni 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­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

t<6N>mds$M*)2t6K0wj`*u2s!<8TXRG8Ps?Ee% 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

o^+L|iy0L)F#kmF))QY*FYZ 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

w^s$iY5+A@m4p>SXHl$TH@2yD$QUU! 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 z%0A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

MeX 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

F%QcfV^3sNSNsq$@Qc$GKhZ}6BATP+DYAxP0P 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 z%0AX*XQyO8ZQ>*wo2%!Qq2YA&0)tGL@0FTqQ1 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

_x8C5Rgnm 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

9$?%xT^EZYf@K#0 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

An7Z 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 z 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

H3`I_^xFv>v|NA6!a^Z*RA*J)ZUzR!{? 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%0D)li1^PNto)MY zk+^OZz2D#qPc;9A)$?0Y59FZn$&)tb-*e>`eq10|t)72&aLZeJ_5aZip0cR)x%=i1 z3SdFO$uj|`zH!RpoxacD-|NcX65_LL@SdF`TeR}a2EY25cM8PqN4!w#hn$M|#_O#7 z6&IIidfi(MzI3bNVeuK-zKt#jU=&qzJk_l(;8TdQZ{n`|FvLO;6oZ1K9-2e`>B*a*C?Jbee&NIt)44Cqkc2D9&b9Q^LXXZTcn(u$8UDMyPwFlTeb2FPggm6v(?`*_|;XVD~E@Bt)3;j z&)wDYYAc^?g!1~AT|JRL@Nt9hMEU%`VD(@9+`FVFy?>(}`ljAOXXoZW zkdjwTPQ6m#_ObWp7skNfZuMOIl^rR)IH@1~j=^^yUl+iH$+a&z_#L|LE^G1RYo4q9 znW!q<(a$#s+zNSro^IuL-t(sdb?3zQ15P@>DWbRM8+924ArI9j;hk|3cti$L;4oS^327>)bZ@Q=g}JnEag5=Yqj!48Hpe zwHJEEPo8J+J;whH{mByG#KV%UUq=tC248tkxPE`i;5!jr{fgDUy`}PK+x7)MXyxyV z*6$Y#e!=kU_`@SEXn!Ui9m=C80!}(ye3$Y`x4(S5!6#pC>)rVCtkeVl?OT<9exu>x z2d(~(M(c6i;FqIy{gYPz!lhqV3|l>KGI;Opy8^#%>-7Bwzw&cRZ%!_M%-}m+<+nYX zug@EN=>uj58T`uz-~D@&@3!u~0yyXEfoMPR33n@gu0-)*&jeiNH^TF?4SqeU=c3hf zJ&M=*QCI(u8lJ76KV$W*MC;|Ml($0OpO08QyN})xsQ!z*j#f`E@&o+q=Ue}O@hO7& z2f!Ej->rZPUwVOJa(7GN&$9B{?^S!m?Qfnj_|4J!UA20y+PU>@sU7h`R({j^Ghy)8 z8a(;K&_2D->Y2FnkEG4q zz}cT&yO+x8GoLefV)}#QKaco#R{o`*RlF@Kg1!N8>S;U6p}hMJE5EoN%H@LwpLnIN zuO0ITKHJq3`5*dLe(B?i|HSbBGJ`KXLG}D=hR@fz`hWd{(!o92&E&08Km38lHyj>5 zV&!-LS?k$;jDGM(0=JL7KYud@{uK>e-Fx4(*kFk$rYzYM--Rp)of zf3B5(O~enoR(|4#lx`=rcrvu|6A^!VrIo*YullJLto#*$+k^M#-B!=N(YpSW)zf>j z*%!CyM_;h=+s03v{_q5BNZHhRwI|8915P|#w)$_jx6hXH@UuN$_Zb%qUN?Bp^c=@e zUSjZ_N8B$Z9l!lKtN->05AT-pR;l;rn$@#g+ZCu=*AE!{`cd@{EZV~U`m(LZPbi<6 zut7cbWnX^S`n3yWeBwwb|s+RUKCn#XUaL;8&t`ddA?pQJ%({!51DA%F|7Qe>vh;uLqp+ z^vY*!{TklhE^zCd_vb@ae)~1*S8??G`&R#Mlt1>bto+U|ng7A+`qwpW_xjZoX*a#0+&z=vxTI!iJ|Lq$Ae;V*GY4>os z{=CD=@9+X>{I{TLU~-?;zx0xW0{I$wi~E|b{PxRrJtkKE3kF|!sp_}RUi&+PPu#Ed zfB4(AqDR&h4-@xk{~h1kZ}6Rn{x1N|dAu5(16{K6AC2g6OUhfPy+3cV^82H8y5s8q z>sLwXiFYWWe8J$`mM?43>iRpY=UUXyM>lj_pN`<)>fn+8{Cf<(8TT(*43ZeHFde(@W?;CBr@3QjA_kULE*){(80W1H&hwhM)x69ik z`2#Dz_-!ih62tSK8vJ^s_kP}$|J()y8xvJwz-mmoO&bR(s zgI|4|`W3HRJwE_A@t?eVZ_v-7!B^TkFHXL^(%`$%yu88S+g9Gq+QyRQB(8T|TFwOz*#AKB7=K45&zRn z#jD(I@Z?7)1N!+sgReyL;%hJpn z4t?V; z`Sagw@a-4;fi!;Ay6`(v5A>GzDxKeJ@PBai99mI`b^2dj)Ooo+|7Ti{@%cv^eDP1! zFLc=)1e1W158oWEuhUZA8uR|#W95@?4A;eyw{Ae(gz${|T$>H4gq-^|vfo zyv^&Z{+lBH{1GYdb;N%D-Wd3wOFg$F$0NVN*YLYxbU~9 zd{%mL+4}QBgI|8l{Q}uz{?Z?H@W@X2X{-Os5&wL@l($N~KcBJk+qSM>WBS$K8$9{d zkWQXF(0*S2W95fSR@V&RB7c8b%R4@B*2?c%oRurzGWg`rs~>5P)$;}Ze)Bt3-Z}idLg0ww+6u?}X299*mB`=qt5(m%H-+ov_pJQn z{W~(y>mSwe-n6FmY@hvA0bDgkzYlQE*S)`^e9!ggsKNIb9-Lh6x_Vxr{JE#qCoeVl zwGXO3ykmOie=+#Pm)|5M-Tc1S>OUXp10S{WOE0(eYxVrDz^yUw&ljwo`yx5`sC6Ch ze-rHRH_p98z zZvL@PN_pfRjp+8zt^A&ksr=fW)pj4b!G2;tB|3NW9e|5`{QW~xaK{ijCFNlkNAz~W z%1^#q`9>nz1>)tb{HG&%{X%DV|0*QCK0?7o|8R{t@;Iqy3Wovb+cTeN;h z=NAn=VRGE@lb2ilSEKv;UTyH+->ZGPaF;gxUa1H9J$_5$#&bXdRTni=cQ)1zjG_#!iR5DK6Am^z1_<1d|v5!!r;fO{58X~ z!^4u5zxu^xDLL_2{b0@D$q%T0d&TPc38@EkyB_kfw_EwkcAs6w2c$gc*7SeJe?DRG ziHIKl(v^SiVZoRy|FxHNyti9<*Z-#hF8tHtZA@)RN(R6B0;Ol?_xJ%kDjMyjcAeSFN6B0?z(SM)AU73;bJ>iAerd48Cjh@6O-7$l#Yv zKHhHqe-+@uhkr%&^F7ArUvK3XBYya9E5H2;)t45mo{t%P_g(6@Uwov#_@cpk9rII} z9Q;29pZt*0=Z>{|%ZqfpSE6{cIl$S^i73wGPJ=I6yz8R%=N^M!v%v7)l)e}meCZAM z3*egB1uq7iboJ4Quf9dfTczHg4_ZAtc8_`QY5MX3gI|vFOaHahk3716rTo*aqp$rT z9q*G~{Vg)%w^0|vdj4&|iJxm0@8|0Iw5uoL zSAT8g7c4$u!s>q{1Rwjk6xII>z*+zGKm4GS++zdyZi7!eUgL5X%r352J)e&J$v1P0Z{vTDcnSOe*ks%86Il=_ z&KCn-Wbc2El!qP|$+hPi{N{*m*A4z2^LOZ6Gyw>1X?R>7Am#YT9 zX7>>FtaHC1aO<@9=W|wm@tx{-T{J%Yw`0nG?GNjGUHR~*q!y?5euu%YNB8?o8GPdV zFH3os&-sGEcPkBnyK`QBgZKWY^246V<$D1q{p_YCnGi?kZ?y6Y-?bz4xcSN_ZDPv{w6{ab@yewM8}Yxfa9qU|n3^Y|o#Pek*03~-K3f0y$1;Qjfclt&%_YuAnI>;AotYbP4lZGg)>KIZjO%Y^am zQ&xWBn?rowW95@)y+z6|*t~36`I`)%j&6TO%6lEOpI5D(YyYI{YmdR-XZ743(c7O{ z`Nap6f4X`6M}sdMGkUgq9`!OE?{?JxTLI^IC!eh2?HM0fF!-MPwLh0_UDOOd@$PF< zv+L)J48FapdgB#q_vHrPv3bP>2EX$2 zec%Kb^B&p$Hw&MnI4cMLxd zSpEB>`F-@ub-WYi_i*#|IKWAtD^Y)@48CCWaKt)w!s@yHyH^FW)Yca@gD?H*iU6)` zD*T16d`Io{CF}oB8~mE(Cvo?fya{mjXHO(AK4|a>CS<^Wjz0f~z>$~WheAG?yh6u& z#qO`4un)f3!GHgXbnx;m@+Wzg!I%D(;&WHQ$$7wK{YLb5kAp}0^S0DuAA5g(*2-Vz zL4N$_`hTC4$9c)8>H10xKc6x9ww=$Ku)02P^;~`WajD1A^CNy#$9wg%O^DgE-)is$ zi^Ey4dTyOhWLy)Lugujmjq)7t1Ez=EZsnhC@LohGD+0eIx&0TOB>gdWTJmbw?&jyE zhHb0oSFE1h$e-{TfkXe?_@b7y4qdl;Cf$8N#!nvgV@A)P2<7RM4Zi#TDnDPcb`KbQ z!Tj^RZ`KzV48DEjvjW(Dg2L+tzgpWBfLkvwaOJ=Cet|o>`j3DUZ%dK>^In7B8}Zdo zSUuN1Y;mpMtL^Su`Gsixe%as;MDZavzmn|&Z}+QRY0ED84#3IZuKe*~srcGAYW*h# zuD|_%?~!_tS3i;$FEjYH$S!`H!LLO8;r(Ok{~dvYDIZn6*Y)QCtLJz$-mm*{#phxK zzun+FM*sKPAdVRP(@{Tb2H%dx^+LdjpUdxkpVnaf|Fu^B_-(qr+&X=im0#Fad2!v^ z{fL#{HTiN`RzZ^dk-?KEYCT7+{NFnGABTM4@js#Cy*c80CBWIwB+8R>(8^zk@N>b+ zPg)$sq_vw$c`&=^zP1-yJ+F!Q(tkAgQq=!?S5Zw%!^+sa>v z%D+VF_c~}le_G&(V>zkgTC(|li@_%!rT#sahv8#Z|K*5JK49gOryAa@{;zu#$9qe% zC(3(p3*a2@qUCjW<9)ipdv4WMoa{lBWF?jDK|4Hh4)=G1)TWViRj_SrMy+@ z{duF+vt#;(oA>*yp6w_e{+gA)Jf;12^!WuT4}aRdN)Joc#-m=Xc<8-W^@=_A!M7Xy z+7s1&-!?of3f$|U{am*4SO2~G&#zkf7a4r#+mx<)R{j+R?-@N`G58w+Cw}%Um81qo zhVOOdPbt6JF@@~6t^AJh^F7w?{RY1&l1Kk6aIA~yzQ`y3jJCTJ$(?-$zY?v}(|`-# zPVbkVPgwt-XYi#Z#RJ%*{CCOVJv*nrXyspR@T<{1Wp5O?74rUkz{>Br7_OJk82oxf zC)WWdAKs1f3w{01YX5g%ZT>^+=goi%zcTzg|LU}r-@ae@-gVO_&lvo=rtu2NJ$Wo3%|m%}ynaez{#w zYisTHmTTwe=_At2v9kwH9ZlU6n{mJMR;pPm`|6v$ZhyFMZBXwI_H`=5`e0b^@2fYO zrB<`EwwZRC%PYgy*1k%=+^Md7*HkH;+*g{Mnwp%RnoK9BCh_0CRgwLfy;I5F(%$K`#P6$Vt6K%m`)gHupS{gr>vuQ)s^nfrpG{@; z6}DD7Fy_0`e)ppIyGi#tZtnn)luiwXdx<3d3G8t;igAG=wSIHG-gh79Q*q(-a{spJ z()@m4aXP7QqSAJ=Qy$iV+F^C2K1l1E)p~DO^zn4kXm)C8qknO*)-EbgVsD$BruLjI z&Cku0(2|UZFVc1|?bpk-bkIbTjb^K!-gfZp(Szx^yH26pepf+JxzlITlLr^i9eoJp z&K^AS5K0}t`$0<`J9g&mse|Vqtg@4b&)jwTK}(%_NTrUUsv{{HO^+Wvc;x6=XS7k_)$U*mgxMy~ z!-N(r)mi_eK^;wS=4HR=JWk3v0?rbIfP8!q0M?jrpv2P0uB=PN%2lW-w7x zGx|6=GeZiPns$$~;p3e5cwq9tG|HBw=m9Wk?_tV+DESZ5{= zGcIW~kV7(V&HdRFFPe)<5};k-V~O!^N~`XGaHUCnCmwv1Vh%0i(q zuj4=rC>cVr(}KWkmBFzKhA}0QCH!oySK}hifrTTPOO`!@6GFs@?>Mh3~+I%Q#QdmH{R~~4uq&(Nw{+T(cS$@xYzvsN) z^WN|M-tPnYn}`s(+*^a{(QR#|wPw2zX}W-?=BK%wl@_MvXZ(j*eL$5R423fY23f5S z2F=3xlUe9gmQ~yuMf1x5Mc}Z#dez}bpVH-iag~B8E7L0%@+DcRR%F<0Lt7{yE#b;m zsLe?$C?hk9M#?swU1%>GeM*Ln=5Qt5Y_~9uPNTV8^l@n>5&m7PQ|qZgb74Jcxj_wy zpB6M&n$>T54d@_HbKOS;MW+O}tTe!-0N8FuLNh`(%8X}(Z0xs?jr|s~vEM>A`g?Yg zBxJv*^50XX>Din_N;CR^K?;A|==N71l%0yi6(y@)gJxcubi7vo~$ z>f{PimweJ7moCIHSGUz)n#x+G7Apd~B-B4;4?_L!L8#w7sLZos^CAH4VZZ-yzyg7TJ5?z$7L@<>w4+8}DJte<=A6)BeMZ|1j%6%=r)V{=9W3d?G@wZ@?TqX1jL4GV3hd7mUIHi7GXPO# z3dwqXIjwi<{pGE+x=~*#8iSxrni398dARpvT57f?8(^G6n*a6TURdN9DW)bx2V3<_ zlgJ@#bzNS9;WfMIcquskn?n0RIynBDemba@iv}ihGyc2gxbH*=h`7MV*+6r-D)_E; z*I@HeB<3&D+s+@o07n%Tf%0SFAybJhf#Q;-!q+FBd+?;NsiJR371>e(HAkP1J@I$|z2IM%2%8;xnC7W<7JOdvn=7gxKGn4WP02R>DAlbQ!}GgGWa%>y{j{D*1(Va9)$^&jT^hk1P{=oAcdxT|xYUqP29M=SEeB6&L1UvI9XWIQd>VgAM9v?WJwV2zoM-;PoIO3HT1P46 zq4pl(MBmGv(%Vj)J$g7jv#6rfgBSEH zfx*8rJI;GhO5mTIRX#*(N}iMjIpb<>Ml7J&WTn2=87GRocVtcSnDKuIq8q;V)8_;O}{VZUx5=vMld1}kN_LP9P*H9gNo zY_6E;{r-b^*6q#Ar1xe<7QTB^^50DBL)aSesvIGM7ckeEBzr4;SiwD!}*HBa@pX$=ssh*PEEqNaa^r?AH<@hg4`TOY0(p)$? zuWw_gdwTSfMkO7T;i!SRuu`uU+dLrlty;g^>e8riPQ_+t9s9Sn@|KEr`cBEQGLwQL zsx&L2SPjI|tcYUwAfnhkh$x;;{7N_;(S>_}V#7p~jDESwABCc0%;&C7?1=W8o5f_( zD)$D;t>hP*rib>y5Hpjs>g7fXM{v1PwhB1xDRKFmheka9_Ip3Q|MpvU9Q1cdHXQ7? z>^Dq>H5c{TtPI(Ns$mnd(A1kvU@k(lFTuzoH%@y!Van{~w75c?`Y=c5SqV7I$_w_f zrK}r|qkI^JSY<(P1O>AaX_CE0BRRnLK=z>&H&mTK^^a7hw={hy3+avl^(p|eb zBa1mvY372uQU(sxvHMD6uF!i4W7%sP#bKPnaHAjhyzCdE_5F(M>1o-}ncrXZMexD= z0U7M{j4-nO>ZF^V+s}Q7{k8!G?+l;jlhy!RI9s(0({l$Vsa?X_BEselh~|nXD@Ss} zSgNwf25bFBxmu{phhM0@FW&&a#h!FbuGa>aX1p8%6t9bGSi6PPtBT&NIvfuqy_I@L84Q9r1aSq{BM^|6%NS7(f^VfiT+1nZ zYQHFeN=;My#Xn~c2gE<;9>hcF9%L4$y_T%nj3J5J1+<6#x-pDsq)XYiJz5j}W(5X! zUZ`LyW{ca;zYz&o@F5%nE8QV>npLsMXmDOQarBnm(!Ff?2s_O~Sd(K1<<&d(%RnC_ z7Pnv)hLVFmlx+6;0`xp@&zGkb{a)(YqeLT8b=oEF@>k z7iwhi?YZ}{n9h5bFB;e1OrIIhAWAE>?glJq2o)$T5LE{k7f;@u9=d=Y9X@mRELg~F zHq`7>L^DB90*hk<5k^`IKhYUGedx%!V`yRi!CJ85NB*yhKllHx_UC%FcWT%WSJXNE zeah5P#8zc5Ng9nonZaL0{6>{hW%op4_+fMWhqnJ%67iVyS7$uZwFhaM!9H$}ZMaf_ zv#?gUjzB4{5`KrR*5-1D?i}nsSBiIK;jPwBK=xuT%AzJn8dOFtk9lB|?^MfQu|+=l z3hoWwK9n^BX*-7UXYw^sxMmQKH|EP(9k8+l_LW62r%kF%P8#j zeyM=PG76G!NQbq1)&|gc8`TZ&rT6OnVY7J08mkA0a^LBo0TIG1LM(*#=m%A9v^0B# zUVKIFNCV@erVKIei$H7lwnGYpB^dr_->??j*Mft?mG7;%pYDBI!*pV$rpuo^{`Lod(1(sIq>ax+o6 zm1e7i@U+4eHai;@ZdDQbR;YeMc@LXkfl^U#u9t?Wzo@@+Q}GAv$3;d67ocv=>-GK+ zDf=B(3e`~`EmpGGC@$$YA$2;;6c+bUBNZ!d3d{P)(N6f-DgMMmkA33sQ(PXs-{@i^ zqF!!OFAyBr=AaW$Igc!Q!6A#~EkxYzBE}4!`C_`j>Q+spig4uum3?N$-Z!Kl?ec1! zArVD03;mm+JZkCJwos~BRoTXuH(B;rAKilBVg+VygW z-XpBfV&d)&unhPtt@uz2>gJ9hBOnT(t-RF)Tmahx?H+5htsni-Jgp9Tr zdJIcEsjSr)xRg(Y4`8FUJw@t1I30 zqG`g6-{_M)|fZV+s*flGssuHf^;WUY zkHC-hx}zM=10YZ@h5*)i?jEq0vVuW6Mej}@y>LFg`{+ShhGX9!IdiwXZj}2M(-t;7 zuo)}^Yc%^xJOv}f&RZ82(sbkbgH4V$#|-~$|D(^zWf?%1g0%RMGEC!}D%4h^@4 z6EIHi@&O!T@N8B{Ax#Da$9)*^;8LROWvvefl43~uGy-Km#Pbckm#1~)0}1c8(CwgF zD3p0ALp&;ES2!FKQL72q&td4GPA2E>I4yqgmp|UJb{ef*GSs1P8d}r9E0B+%a(wka8K0GWcNS130?$Sr8!K4hD6o z5X}y-&69G#;B+a)zUhg@GV``?)Zsg=Z~HRhNkfUQgT?wau|>2@P8mUISlYQ z{GZ4^Rhou%#u<$3m+GfWz)*7Ta5{s^ruhS(9@bw|$-$E+Q&e&;Isd#fDG-_hqweP^ z{FZvL>w>7YKD+Bbx1wkFNJ46))ghh_TG!7UJ$7t9Im|!P`e#=Ez)p0u$MYyWFV|}( z>7Y%^VZGd1tEVs)v<%6|>IGIi>9Ep5VVwk0WKy240iUHL#|X>e8?9K5-3{;wSU*Sv z|1Tw}&;y=23C!V62Z!z&MJh11__9vu(6UGC60k@jOwZkM66;`)7tfma2Q>|k%V@aX z6nyB-bf(6COZsmkugHdRh|NqT^2gS5wbCD2H~Li=l|uW~ZoScPzome}j~MLvN6(%) zjpcLfoGf4YA%oJ|6lbJ`nG&c)zt#8MfuaDk3))K0A3SvOC<%E+Dq_9b>6{K0o8k8k zCs}>kTK3rM^c^+fkY-7n!}7){G4Q2xD@{helX!)8FPu7fA-RAfUa}rQHQKyjFavJ~KnZVNOV3D6YTuKj}ICw5e@hgE#uMe9fqeYk?4WXp0 z5$#=@A)`s9Sso;H`4c>0Yd!7w=H2HGA3S+9y=yVCUq{Y7@AQ=aKz3k7^ao35S6H>9 zD=t%g_U203HWUl@;mKAU_?6$}salUb_UjPWh`?%gDFh%cCTB=K_N#PYbH@Fg+MG?& zBa4Zk8K*-!V7#2b(i|pGzAMdc8tDUlQpO8)3#_n7IEC4g>R=}m?dIE)-72ybpx)2 zqgd8ET_G$( z+LKSb8u7eh(_T87oG+yvgkv{wPW#-Q(+Lj8f&+mX!dMYbVCR7oabQdLP-eTeNGBf z{yFIZ{C^(*C&1{P0W$OzI-wYN4X6o-f}ZIzcH zd;0zIRyu5hZRfuylZU^PaPA=H0KMdSew>0pe2Dj34y+k~2Yk!0Xi^EEhW@Re;5Yyr z1k!&L)NzOn+wAyH2&a?sHEb-W@T#}1R&1*-^BCU{=l-e*5CBI~gC&t}0MTp+`9eF* zKCHL)U^&sy9Z1Fw>=FXNa*@pdYm_y;5{3hiBuLs2;sbkg{o_P zrMv7iQA+q(rw-priz+-pdo}0<;h}hijUvfY(E+t}xIc&f@TcZQfW-t}&I}3oCFdvX zH65?C-8-FnEiX~2FXs=a2Q*lfV=8`W2b0F!L)J+4Ne0noM+&m75g^-Kt#9G{Otp*s z^kq<##UT^QjoJ_bKV1{nMhL{*b!s7~jA)GNN(cizH|kg#ArzsQAfKRF4m5=Hy4XFV z?;8X8Yd)#cl*oO^Sq?nSV1kI zkf;Oj6r%T01y%4iFsle!LEs)agx9Nbm1lf&7%7lvcCr5n9=hHHUs3gTYDS~zbXCKt zhCy~fOrT@oO>UucZ9#$}SBxBfgT4X)Tj>o0kh=Q(LV^Y#pv*1!iZ!RR0Z2WCa~X^y zU@){YjD8)fnF(XI09eJ*Fm!IvUF%ot;S<1Eu7m2zDrne!B5@;~wO(Q=aonea5x@;U z_gI@U2qj*g-CiZD9rn8r1uGmIlSH@^uQ?>eTET{%D-b_M?9(5>gS^r+$!=KQAmlp- zmrnQV8;HknSmlmCM2PmoRzi+Ms&GL#<3+0u z+;wdLmol@n=$clv$>gs!P*8h>AATqJXq_1NoghJ^U^MW)g0v9`$X$%6C$kca0u6NF zb(kNrTWP0FiE|eNF6ZadvpC0u2JrH(L)tOChZ}e^;a_ZMz>}wf9chjTqK1KOB?$91 zYz=gHgS49U4%~1trbA4phs<}0os%*eY8-9r5!r$&9A9tEevM# z1!n}(gr(8dOa#JOXd+}XdqzkiI#f*ttIeL@rW2Vk1ce>STxMT!Y?}ogsJH5EHw+MY z5BTIC>OEHYa*1T^NYp_1$BVK51Qga#kZp9+Kl^n#U>2M1FX4$plqWM zr9VtcXJDOg4!dRP0z#KHM8%dJp1GBlKgnF?j~d~H=K@_1r?t>Aiva_6D^Q>is0#H7 z7Q^1zX{LL^;jED|`dWh6Rr?96fN_bPE~~_jS+f#!m8wqOH^iYkdVrG|l!I4CF9Lmg z=j5~f$*{7TLJ(Bz6{hfl_Ks(!E#syz^u0}6VUBR5Xht_>?7hKWfc7bjvC&$V2Z}aX z=_#UjF|mjk7aldJLu01`?*Nv=AOLZru@#gO{W>UvC6;cKp>K{rjgSdvxBBEc(s{JQwL{|^dqYPc_L^S;FV52wN{}^ zn-l(SBaIh~Ak~4{k&S+t3!hs0I>Ldd{<`0kEbce$3I49a%(S1}1CW4D?-{4yUCCx0 zgkS5fVTHH?geds{LYl$qV{*J^$G0b(nTXB}5buTTW1V%U$?zjiiG5Fti7S{5NDz|p z_<9@DLpVi|m{oG;W)87*Wuz^{dt%mmbj8^}EAK$)3LsxiA4Z&nkp02`%S7AAsAhx*@^l!B zIV_Y!En$#@51pAIJ0lGz+9YfbD!gY^vdT`cGMAZwF7WLKzfw%Xik z!)s0ZC|%#T(OfIu1{E8|Kj>IRoeg6>J;dN1jQXx{2c64 znXqpicJcB)Yy!8|YW01oJf?$nX#LHv4$)Y<}U?X zLn2cwV|ecXohdiuzYsbi4Es23?Mm0QyOW61ML%7Sf=)k7nA_S9m*{5C zA?_&mHO|WpD|>RHvwpH8-8k7f-jpAQxChv19jpva(cW&f4$+&W2tL_4*#+eM2LBZ} zf=N)#>H6~7a{z&p;@>lHBtA?i1{v639;OB`haR>Z5;#U;P6msSD(Yal35xi14n813 zh`c+9U>E=o>Ie9;k`+8gzvr3th7^#8=VQ}Ro{0Gw_v$db{bA`~4TmYA6avy9sbw#+FMuhbViY*UDQFxb z`8E!5^)*g*0K#mg1GFd~qk(J=K*?ES>ef@r=lsIQC$$~HIYD&dt3MaY>Og{ui-(EC zv4+G!>{x>1Qz6%!#zrmw3!(E0^q>z@CxL{ZldfTzu$hW5e`TiA4SRTadIJ85b>8Eq zzbt7bnS)UKu)u}B=&$RfyYKmTs-Gh?wQd;tc;mh;wC; zs9&5)n%IyN`jB5jy_~rUA}30lU^ow zwFwz3W4dH42AUk0^ussMtRD!xFVRzev4j;!)4HZHcsLCTE{E*`>{0^8 z2j&yT!v?(N>*8F8ue8MPES>npP|Fif&qQ!dg*tcv|Ryxo<7V zW398=!7=Yd!xtE8!OCTSVXeb$E9Qb|vBsoXMtm<)GE~)(*ISc5pp6DJQo?)ejXl8m zjt6ddIG>dH0Vbcbz_a z=H$tvM{w20sT1d=g!dK+q-4Kku-0Sf4~AwCcruv)N?vjcLbp`;i{6%$eIm~24#!93 zHqztQ_DW)09&VTJSIcmFvPK5S@O4S@>(X__nh{gftRZler4o7Y!N6cwp;km9)lxCR zk$8ByF|+q1B9la&RIYW_J%YvJ?Lqe_n$2nVr1YAVMNOr+BL7QN#7}hyf)Akw4LJo0 zr1#<{b`9vtXWwr85iT&P)4z;@a`#Gh56Ylx!7y2kvefe$l_VYZ@prg_Jwn5UjxR6F z%_93i!ek5k3>5kJ6pR52;<61!s6%3AY@FL+OuZ05)CEy${rc$Duo($(LgLB4)mO5a z64!g=?$ZZPojB~qDE-T(Py{RIOe+{S;2hthc+fQmrj2awBuAgttn+9tLWg~1Bq;no zq8xTnJ9VQO&=ObxC|kpJE4KUb3-MSsqYj-~8+H~nMvYN4!JKD}>*|P#gPGz2Ap1a2 z#sX%ILG=g4aQK4$5gf=WIhbu-m50~|S#_Vg{$=eO#z=!wzxF44EtRoxw-Xjtr|Spr z?>Kqp&_SGiIEGDEXwD2_=S4;15t`3%HZGw$Y_Vin=y~1;#{#P>0|Y*=&Ty9oBq-?` zcp6=f;>sc11o7*w*22OaCr=#0fefTjko2{3`rUn`v^wadqeofoz%QEKLYfgA{6laR znp7WpkFH)QR^CxD_MzHs;mFUWG|uKC@1|#PIAJqg9&C(soZ>@M3TT2V*`CR;D|>#3 z$6+L(>=|N{lt=X3=~UL<8#GtYtR;*g1Sc(!CxwwUJnB5G|K$tPO*;mPfk@bTxg)(D@I?tn&SQ;n_rm_nPmSMJqO#budKC5#cpAg z@LSS$aA%Rh7tJc;RGJG5&pmqf+zA~2@MlF&s&Q_VMx(SpY+FhRvwXY>gw zDj zT-|EnoEgq)qw_Xj;n?ac%R|iN2>u#~x|QW1R4M!Pv_`Ps3MB`F-Eh_U{Bmu%!bQm1 zLF!m6uF$~vb&^!Xm zhU6`44BrpSk#{1*2Xg^mVNSc6C1i3cotgwyu#lV&kR9?Yctj!v^1zUk=XI-tUc@!z zV~IX%AuvMuK{#jdj{@;4vt`Z#{#bYqXgFI-(x3iHcYV<8p+o+0etyJ*;-DOh+QCF) zgS#-V;9#xd(ighE_{3SMtQ?pMX#gY%CWT~GS?FoFtw;N$y03-@>g_;-h6B&4)n8 z2JY45L1A7$(pdw!imYgWsrZ$U7LnBvHTY0jHxMvn4(w6~jSmpLRB(?3VxDkZQtbWJ zVfUg#X1J0o%;-Y~T*a||^dQS~P3*vslX&55B1RQP=1V4YEz|eu6B6$Z77R3h1TUl& z*sw8Y7_^uvDTlJX{s38}WYy-v0ASHaaj+rn;usOsBDY3c7UOBBKw=5(7=5-7AeoGy zM#r&S22T=XBn+%XxYsDxWmJ7CT1mh+n#p3 z7y73H(BaAFw5kSh%6OQts6yX$?<$~BLR7?@~C2@=v^vV!C7xl<7%6c*L zD-g-lJDbQYksASE4Dj@Uh}0|y`An_8Ac|;|pCI>}{cS&M#N$e^YM=7a1 zoC1=3bK5d()Fn+KQqd}jgCBr_gKRpmk%YU@<0f(Gj92v+J@{XPc22CLP(`tRgoti! zr0XCje5LTQ$tg$WG6|r9+(|-I!gfQ&2$_8Av=%_@%@ z)NFz@qDd98pc*|~(91@N+%0b^{HnxFPqkIUUYW%q48&bynhrAo`8i2khSLUc`kn{Z zbx8BcTZ|lV2n;A#-O%SHF>J_&Wk$rHp})rr7vX%)61KtnO;!UHX{j}X?PF!HzPn4>q-JtUM(Q&Pk6fs5s`3*+EF zK`WHFVORTW9oi{8D2ug*aVzf`MHgc7*9DW={YM;*JmAZ*WYJQ`!#cwKovC@YK15&! z4uU!pP1MS2%To?~3|GW5q9KbV=&zt^sRN0Pyy_$KtCuOmSSm1Ek)dlqs)nx(0#Y0) zF?onZ)Sy=^=k9K5!5hFi#C$2JT(cwFVFjb0+?N7BcDYw{Uq^V`iLbR_&R}stH^}TG z;rrBMGNearLbI5)a0r05nwuFPqt!ths4TcQWWd9;qVFPT-0uds*r42~Bj-(olD%V8 zO{hZ!i>1<>4G-Um?7a91>&2JCT43X6_iBT8PEbwaQ1!q3CC%-l#(r z=guh3gONFO_Rk^@08qdH@kn*_Ec~3f;SRt6#MIAS`;8gVyy39XdSpT6t144Q^GR`w z6;m_pqkSy!P?;)_Gq8lbE&)3{7$@#HpXXROtz7Tcz~qjYz?KaSyTmeVRemIzpE3DG z#6U7YoZAZ6Rl$ZiPpz5Ja{yd4=+a=gEZ)Wi;Pn-VL_WJ*n>Cb<3bCC z5)$b$;GfIdP+uHUJJS;vLYY8W5;W_agshLM^*F?56MGtL$bbxc=0iA^k1k0)Tq zyN;7M+@`QzVkEI6XQPXBQDug$X?9+q3zz;>!HIA#ADx1Jj5+tG4thjD&}0uol=OM; z2ACDM6eJNgq!n&$4&LKBa`?}gaF82?tUesMWBS=L0?QAQ|DqF+F!1(cmooFJ>H$1A zSYL{_GnakD5_z;)te(LA+qsl$W1;S|*2CS4Q27x6Nb}C|jg~eIvtU`{YzoN&iW6*3 z=uS`(s^rcbf_HS#8M^so3+2>7Il%AuE5hA~3wSeiOY96VXF0r7MafcSjX+RQ`R8U9 z(qup-v*YSTT6uj1=~tky!lhAe^;XK0V4nqy$z&yDn@>EX-T`Kp))oUnV8RqAe*)SJ zNv2W)-hJ}M8bp@A9>|EO4Aw`vwT_h>P$?D~DGfd$9+h1p6+#KAY! zv#@2|McN2Cs|iP9C&8Jr?x0n#_d+F(f}5kr+LtNAQzrW`bp`0DQ<~wGoB*x?BRJ}5 zSyezC3`Z*12t?%Afq6w}=AjewF~=d(1Hl1+F}5Z3P>6*laUx4iO69%g2SaiHWdk7y zaW~}_&u-(idFY4esQC-wkC>&vYe_k-z9OY?<^d*UmpS33+}bFhRyZ@^2o#G=lw%+N zS-%v)trCw`0)YjlU9BcJ+=G)*;inA1duLJat1HL>5vpiIYG$r%$OAEr<=(1p8-}w&PDL3fJ*4Ld zKk8s5$O4T>^CFE$Hp%E-VRA_IXJFHYCjjI=6OKco7bMcGX#R$re`XxWcrm&Mb=1zq zBPIg)aZ7?-vJL8n?GCZ4a)g?>wXnjmt5G~^OgzNr7?k8z5CRml(q2NpJfnJGUx{M_^D;j;(tPS2l7PaHjpfXx%9 z??5(Ac#EjHVXV&S-LH$XiNr3@G;2sw>30~?H8336W^lm}W+K+4TP^HWz?LLuw=or{ z8}^2q=h#GM*02$~Yyj&9RxY+*Tq&k|Z2vR>b$=nghO!67vwltA`49%R!n+Ab`d z54YhDB0F&g=td?fW)`T8bRJp%GXJe?IXPVT+K4kFLjkt}6NqzY9T;VgEs%MO>B}T? zsi2?YVT0PWv674A(Q3HW(&;rf;iCw3D$cTa1mxx!5QGLyXfRnWVKU)a9x^Awy4s=z z-O0Q_pk;d?eZ)wgiw`o-A1p8KS*fBW!FADPyU>q&xTi>kHrSOYrJQXnHcu(__Id~9 zo|rIdX%x+`vqro^+4+o;WU4)_u zo=~I@AS?wjiG`Y)7#nGInlwu55@7+@k+G0kf~fBTi$2AP@>T9D+MD&}@0_LKYSq5Ra&^m#~~;N^tRm*y;dt z72mPtyGS>IX)#3bMHIg5DjP+Jl@AQ?#z4Sb^NevkVhy9?bWJbb#dP(c2x$h5(n zSlj?!W%f0&ws>I@w+yTd=vH`|g`bS5T2#Kk^}(`&Z%S40?-5EV2!zy&k`gg?n4MD0 z52o1fB0`}k6u5%!!|?_c8A_IskuO3U>Y7E{#8tj15&DiJNy^PD*a(9OhMI!=9h*Ja z<&d*jUV6hWxd!70gi&RoXQH~2wXSR8H1IOeD+2^+HTY%dlrqZiI-@~voEAPo=;1fG!f!|ynCoyAM|lSP=;#$9rG(btcg1?xNRbS7xrrz*UegIf47L&l3A`dV zKtE^z$9=(pq$YZH;F00MK?YkR!QrTwT&4e9X3b_jRFq|-wHtmvP37c+`;27Fjph37&U-sH5w)ww4iQ$neZw$;KD+CwDFIc%l>u%6)RD*a$~1 zSP(TtI>b~DZ}Ec>d}k8@X@QGbwn?#b41Jn8-&);dy)e+Ofn69%uln3fh!RqzD3F*O z$>!&qeceG9m|WSaFibvIYZ?{A<$_M?jMGH5FfAlWJ(eq#Ko`JAJdxjiXHPfdcR zIK@KF`bJK-&Xl$@-LWwG8Nun(WDA1HEb6_u>krfy) zi&A9(fzGRK9+Zij%`svO;C6c5U13Jy5k4%D)1rl84;Jc4XaRHgSr!xdhTWe_Ixv&i zIXZjYE+vuPqbD^c6w_dG5YQwWoN+EyV2Xt5l*l9nsW;0PACM}*W((f#Op?lkd3zt2 zj)J+;cze^|0<{Ws#!V?q4d>e&HZBrGa)lLCSM9FT@qvkrY}-z)hOES_GwTNCGv3HW zjVT;|aIc`Z;Yeyt#^d?SL@iSKql8Vk9F)Q#hR|31^)}#D0l<)IGnT+peA8sn2!1cp zmCYeeo;x;53>_WFAh{Fv;3}g=60^(EOAUDT>^n&+X#L;wI)Tk8duh~%m z23<)WdkOjua48EF8*ciQvpRt&SRY(DfyxiJy(-S$bUXDx3^euZa3UGOBH7*jI1rD2 z1A7GodU1;v(@tVYXc{8TJEsl-3Wmm-u~h`=Bd5&j%m*M`f+w(YSENJ{XQ8WxxX|_# zdWT0w&hhK3Hgp9_1Ku1VVwe7Kx&!?CV@KJEi$5{jh5SBns?xqgLi#~*0 zl}8D%-GYF{(Jd^IZQ|+$Zu~7Qe=*`~IX;k)udH2}8{BI@a3NXYYj+8JK0PG*Y{APG zG+Rejb(gXSSC$r#V}61-6w62v2oFd(ts@pKKn)P>`J2f#YK>XDI9W9Q>P9VGm%(6H za0y?)!w@5YU3uaUIsi8U3p&|oGd`t&_|(UwP7X+Ks+PU2uyw0$RB|^mjR3)c#^9pN zN+Tu?w$#(c27QYXo9e8G+y)wHZDc{ht<#|)Dr$mvijXOWL^&k7#M|UF0iT0$mK$q8 z(~4~)G5EFsG58kONam~x=quoSD{wTyvPa}u8TW1E9;`6<@wA(ga5d@^0v50W3wj{i zEohd}wYW|hLymTG3g%f(-jJ2}BvWI^p0A5HVAO(};EWg2RPhiXG{9UR^$oD9L@7n} z;Xpj9qp#n)b)9$>zAgqsXiGCu2ONRRkgo+er1a>!t!KaAGKZ>(YsZ0#a9#}!jB@Svm|%vx>$EaM{>VMeV$mQMr9ISVZqpWS2*Nqdx+>II0_1f#?fwx zR9uluh2lYJm)Lhw0&l%hO{3N6K(uAHEOq2%CLE7O61@3=foLI&**&7XTy$B9Yg6$4*5+8P=X>vx54vr58V+dOX z9#g5Dj%>nAe;y&PXg@I+ zE(X9|?`SVWkfc#wZdv;)#*BU<$VJtl)BWLE51iib7Bxi7DT8`-26JN(sHRT*x zWPgn}e22BI%wjU!$wnJ9qs?$0L?;)~W(5p(jrlu3x%Mh#=)9%^1mhISPzW5_`|Kj_ zw}OyLIar0&AnFnHu|d6B7#!p1-NnWPehQiuwI+`i6?D7n#Y`7=9Y+z_bt=CZ9fDx- zj7D+lgWG-n;<2;y=2^EJ?JH`dfPBr>1N!K9aqDQ-rx0HjGh|FwZ;!LkNV=ZgPdA|a zW9^y0|sOU24{dl7)4GD_>+;jK_+kn|6=R*IzQ8R%~+HYT6LlO@3luT6OQAEgDmkhw0%LAoe z*|yk3z=-&Dgu=13gsX`53`dkWtXMhE6w-kW-ao>Lhe4naB43e2UOI7cV+Pi3NN$}9 z1P_5trs7bJ&_u=s$82lEI)Xhhzhjq2x8I}+rLhuG5T1yWmDvWh3H-?-h6B2mz;>Za z+>JG=6X9wo9B+5+=S+ch!VX1X7ml+A*i^yDpx|Qem^*)S=AB!8rx9oEO)KOH&*U1h z7K<`ZAt@DAc?d){E&+qdrD^)+eGbPe86Yw|_&SK5zXvsD>Wpg5^^HcBt47ya z*!?1-UiB%{lqFv(?gD1yDl@q(m)Br@!dYFa;LOqJ>TQbzE?j>j~KdN90lWA!cyazfs{x7G`KnuYF95i{ipbH`_oIdrl@%U55JV&B&g7{;fAA76G z%oqqtk6K9#$Sjf*D?O{Ji=QPc7WXP{M2vQxI^25l2}eS5C7#V;gEs|himi~r7b|Ud z=;>#FyOq1Ia^aj{IhP3#k&1V!?zKcWXk|yHf{m^^770Fd;d?%z;5VbsfM#`+=L%Rx zOTB6j4sKe2+3cwb6qtR@Er+65;3EtlJ1jH@sY24nh=qj2T-}ZS{^pER`CX(m556&4 zx~L=ECN-rGf{6~6tdra?5m7x>GBD5y!O7g%3mLQsZQ{gbba`;TWG61-kxCpN@(nN{ zCPHLIqjI8RRFl(aV?PqV@IWk-(Kdz&Gi;@V=rcVNi{Xd8blN$%lx(JvXtS6}-Y?HR z#AxEh#eqKiQT`#9FU#>$QNs{?Xx9(JtjmH_s4^9I#E&O!BPB_KmB18-72UH?> zBbiZ)rX3gpj%iX&G9YNyWkPkn8<(fRvc_npENc&6#e1wW_u~%BW*rSD11FhiB}LKh zqO6INTD_X`I=~#{mI_TZq?l-8WPELC988X;fw#FGEjJGKgpp)hyNp4`ZHnA;Kzc;GiASEgH!wBpA&t5h#&RVhX0yofXYh zG=H+IQ(?r~=$dpX2tr0q=Eq}1`6+PaA{bv_FSIQ*e*C=SDEnF!pGhkJoS%}!l>+~$sDy~b&8&z@4YdT}!-M+rI!*sFv%NA+1))_Y`AjJPYUM2; zJSNO0)iUf>NZLftA!iwgvx$lqEH0Aoi#a8U7~;3hh7T)JcDoz4UE1^uf;glMGRt1A5huh!|C+i$r!;xtuP;{ju6Mbd{I9@ zk9&p@UxBhC6O0JBf{pUglad1r7rgos@~o=`j%K`=+>5+*T6s?+LqZ^5bRnKmZ& z6?OqK`-P-chpHn1u8|^z(U4-W_Avozvy@0=pYB~@;3Dwc)|C~k;+hN;mhXg@1OZ4W z%)C_MKg7uuY^WkACPQL4d^A3ysF#SC&5%)D0m;`i(O%3xnXpbWjk_j&Ri&&4VMY|qG5-DIm=YfsGFwHv zt^uVA$3T=qiF<1pxu?-(`WzR0<|?jilrlYt&Qawh+@KWZpnC`abHM1S+>dn9XR{zA z&bn%%KuFLXJTLbbTW}ETep= zCtIsG(3@ljfG72t!>f>hm{G+KVCL?waBol~u_4S1UJQv3H=_5k*N0%B9$vsETwF7_ zFEoly)8D1k*~<4RE67^Ng!H4FO_slEwjowj6Gr7Ah%h7x1gZg5*$12jc!k@&8uw~* z-r^>f8b}#sWGID8J7Ap}V(PD?$`tlMLJyU=h{ZcB1iyycBUbBj%*Yvryys6Y-tjaL z*~SN<#`?Y7j-d{Ne%Cw)T#DG5!$DL;d=d>~Z0s!hygdWPcY~U_kCu^1C@L>q5-}+n zG1Bp@3p=NdGQA|++|RYu#q<|D7lV}<8!hbocv3H zLQZQdyTH>T+V*%)OPXFBcGm*xsA^;;??_4S0g=`_KncZ%e@O(jT;zMoW2$}Dxw^gq zj)0jC5Z!Dx)A?)>7IYP3rk(_P(_gUIoqCm>m+}Ir10l5%I%rk8s3MAf2>tr%0EU&R z2$HHpeH$32=*i#+^g6O1ftJ_N^#JF5sCx0(t={qjt*=0qtgn=6aG&Jb3?jP_v?l1-1?0S>+#RoM04+CqZA*eW5wIe; zhjfE;H17dabSQ?F9{rUEKQbulE{ z@{F$E`EEEW}OPIl!c)7()9dRVsqSchc{%RtR`am%2fd z+vw%UVsyTCX}}$Ou%qzYXOpWSKnyNLBw^qw*qP4Fx6$sgMvgcO zs~jT<55Y7D!>Ta#;>pynDEM_ji5m~v;mCj;_i>>=fv-a1+0pSJ9tiZOE>a2T*3{he zcV+j?xGjkhcYt)o1zoErfQq*;!hi~(V#0;zGDC`Ih&|W6L8jv;uYxU1gMn~Aj-Udq zkV?C-b$^M=Dc+ox^9v00+5prOghL1h0o2$Z>tqojWtoAnu7dRd#z@DqxN4}0#=1sp z6M=3}Ku7Qt>~9Xc@cUWwnamLxpuwtCSeW9D50P!kI7A|pbTEus)*RY`TaKh ztfs?>3MzR&%7H4uotSG-x3&so6Eou;TC}k~7R8j?}>Em=K9q1-cm5%NIHNkhUgewnHA#ze=>Wvz$mt>I-Fjf$FeMf z6U8nAw2@Hqf>Dum$+`v(HOz((bE*if^F{=^=omt_+0M1K zP~=>?Bqa5aPlSmE+jh|e=cla^M2oA|uN~(YjV|n06gB#W;(;x8# zi&NV;NZ3j2^rXOpTC(UuXc^P@PsmvBlnbx6{C>WPdl9*$cz#nIUq0?dZxd>fOP%B7 zq_9H)v56vQ1f4L~(0=qQux zw=KE8KQx{e5IsRM?S&Hy918#T_MyR6)^OB8j9CZfcmgFD&rTo;d~{!Kt3QQUN}S6W z@HQpWWT4;KX0Z?ulM+btpj{_ML}Hnw8|6V2wfpEK4#^L8MJQA%Wd?K>pvjI_c96-9 zxrBmhh8IiN>cKVMymCk>wIJI+(mCL;No|vCYq&8vo7OLOCQGs=TwX~m%t8W2QjHd9 zI9nfs!Js}3HU#I4u99$lvjys~dRGa)LXIcgKJNL{8)?NQi4Y7Tvo7w?!myf{a>VXA zuHsg2#!^SFtINYdxiP{d9w9SE1`I3^&z{a*l1~>J>y#`0+b#$Yvhe=uSxyO@%L-F%@AnXi*mHU0Y7(QYL!Oq^A+UU~N zA>oX8e@2#(S34)ICvLGEh`x?G=5$w=w`Go)6g3Ow#;RAv1RFS62yh%0Kt+K5zdCeA zCIZJX8;qEa8GnfV8Z-}Y{=n)%B9LZTNHA`aM;a6P&@0CXF_C{l;at_KU*^~kGQP{;~5XC%+>`2-jD$)!FHecX0s>AWlws4Uv z$L4%&;Tk>c<{%!;65mO55rda-l8Sq7(2hju4V9x&{f(a0;fh>&#s!xxeqWB{*ZD;H zttbqt)kt#8WIh8S>`Zgx7xUCd<+epI1p;z|oZ zr7kDlWP&73rzI#46^UsDYiiHH2{#NGxW5qy<7da3qH#Y|bLKQ|FEi zBEV_=6@1A9F`6(ym7&oAD#Zdm!0M1=qy=);@_^xx8*f|YQi{SbeO?4o^wPkPffr8# zwSzpJ5%^iaL6}=Z?;g|JA`fCMfm_j)Hl)QS<~Y!mVNlFNaiW*%n{cS3qdw!~hBK#2 zh2fZ;sKHtXm$+BgM6e4^olpwd;yI*tr^mR7$X;%+(`5uTLGE-riaQ#S3LV`Kd7ew; zquZzKUM$ZUSh~s+u(XiMeFpde)AY>KqLY+nakeKRNdrncl90xrImkwlXXt=`O%@o`X;y7&9fgaMl5w;9fBPbfl!|A8V_yqGP;pgdGi5e zLYmyO)}rYj4r8+o>ZbhzrxRWZA458k0;bP<*WLMRy@gVfd-v;%Pzwk`Ogh+K-zw02T(Yj7b}V~pbO!lz!~

+P|=0#!H3H-sHPkyMU6f<;eq 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 Ee;l4h=l}o! diff --git a/ED/Template/Template/monthly_ascii.r b/ED/Template/Template/monthly_ascii.r new file mode 100644 index 000000000..2756cca1a --- /dev/null +++ b/ED/Template/Template/monthly_ascii.r @@ -0,0 +1,456 @@ + +#----- Paths. -----------------------------------------------------------------------------# +here = "thispath" # Current directory. +there = "thatpath" # Directory where analyses/history are +srcdir = "thisrscpath" # Source directory. +outroot = "thisoutroot" # Directory for figures +#------------------------------------------------------------------------------------------# + + +#----- Time options. ----------------------------------------------------------------------# +monthbeg = thismontha # First month to use +yearbeg = thisyeara # First year to consider +yearend = thisyearz # Maximum year to consider +reload.data = TRUE # Should I reload partially loaded data? +sasmonth.short = c(2,5,8,11) # Months for SAS plots (short runs) +sasmonth.long = 5 # Months for SAS plots (long runs) +nyears.long = 15 # Runs longer than this are considered long runs. +#------------------------------------------------------------------------------------------# + + + +#----- Name of the simulations. -----------------------------------------------------------# +myplaces = c("thispoly") +#------------------------------------------------------------------------------------------# + + + +#----- Plot options. ----------------------------------------------------------------------# +outform = thisoutform # Formats for output file. Supported formats are: + # - "X11" - for printing on screen + # - "quartz" - for printing on Mac OS screen + # - "eps" - for postscript printing + # - "png" - for PNG printing + # - "tif" - for TIFF printing + # - "pdf" - for PDF printing +depth = 96 # PNG resolution, in pixels per inch +paper = "letter" # Paper size, to define the plot shape +ptsz = 16 # Font size. +lwidth = 2.5 # Line width +plotgrid = TRUE # Should I plot the grid in the background? +sasfixlimits = FALSE # Use a fixed scale for size and age-structure + # plots? (FALSE will set a suitable scale for + # each plot) +fcgrid = TRUE # Include a grid on the filled contour plots? +ncolshov = 200 # Target number of colours for Hovmoller diagrams. +hovgrid = TRUE # Include a grid on the Hovmoller plots? +legwhere = "topleft" # Where should I place the legend? +inset = 0.01 # Inset between legend and edge of plot region. +scalleg = 0.40 # Expand y limits by this relative amount to fit + # the legend +cex.main = 0.8 # Scale coefficient for the title +theta = 315. # Azimuth for perspective projection +phi = 30. # Vertical angle for perspective projection +ltheta = -210. # Azimuth angle for light +shade = 0.125 # Shade intensity +expz = 0.5 # Expansion factor for Z axis +cexmin = 0.5 # Minimum "head" size of the lollipop +cexmax = 3.0 # Maximum "head" size of the lollipop +ylnudge = 0.05 # Nudging factor for ylimit +ptype = "l" # Type of plot +ptyped = "p" # Type of plot +ptypeb = "o" # Type of plot +drought.mark = mydroughtmark # Put a background to highlight droughts? +drought.yeara = mydroughtyeara # First year that has drought +drought.yearz = mydroughtyearz # Last year that has drought +months.drought = mymonthsdrought # Months with drought +ibackground = mybackground # Background settings (check load_everything.r) +#------------------------------------------------------------------------------------------# + + + +#------ Miscellaneous settings. -----------------------------------------------------------# +slz.min = -5.0 # The deepest depth that trees access water. +idbh.type = myidbhtype # Type of DBH class + # 1 -- Every 10 cm until 100cm; > 100cm + # 2 -- 0-10; 10-20; 20-35; 35-50; 50-70; > 70 (cm) + # 3 -- 0-10; 10-35; 35-55; > 55 (cm) +klight = myklight # Weighting factor for maximum carbon balance +corr.growth.storage = mycorrection # Correction factor to be applied to growth and + # storage respiration +iallom = myallom # Allometry to use +isoil.hydro = myslhydro # Soil hydrology method +#------------------------------------------------------------------------------------------# + + + +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +# NO NEED TO CHANGE ANYTHING BEYOND THIS POINT UNLESS YOU ARE DEVELOPING THE CODE... # +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# + + + +#----- Load some packages and scripts. ----------------------------------------------------# +source(file.path(srcdir,"load.everything.r")) +#------------------------------------------------------------------------------------------# + + +#----- Set how many formats we must output. -----------------------------------------------# +outform = tolower(outform) +nout = length (outform) +#------------------------------------------------------------------------------------------# + + +#----- Avoid unecessary and extremely annoying beeps. -------------------------------------# +options(locatorBell=FALSE) +#------------------------------------------------------------------------------------------# + + +#----- Load observations. -----------------------------------------------------------------# +obsrfile = file.path(srcdir,"LBA_MIP.v9.RData") +load(file=obsrfile) + +#----- Define plot window size ------------------------------------------------------------# +size = plotsize(proje=FALSE,paper=paper) +#------------------------------------------------------------------------------------------# + + + +#---- Create the main output directory in case there is none. -----------------------------# +if (! file.exists(outroot)) dir.create(outroot) +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Big place loop starts here... # +#------------------------------------------------------------------------------------------# +for (place in myplaces){ + + #----- Retrieve default information about this place and set up some variables. --------# + thispoi = locations(where=place,here=there,yearbeg=yearbeg,yearend=yearend + ,monthbeg=monthbeg) + inpref = thispoi$pathin + outmain = file.path(outroot,place) + outcsv = file.path(outmain,"csv_month") + lieu = thispoi$lieu + iata = thispoi$iata + suffix = thispoi$iata + yeara = thispoi$yeara + yearz = thispoi$yearz + meszz = thispoi$monz + + #---------------------------------------------------------------------------------------# + # Make sure we only deal with full years. # + #---------------------------------------------------------------------------------------# + if (monthbeg > 1) yeara = yeara + 1 + if (meszz < 12) yearz = yearz - 1 + monthbeg = 1 + meszz = 12 + if (yeara > yearz){ + cat(" - Yeara: ",yeara,"\n") + cat(" - Yearz: ",yearz,"\n") + cat(" - Prefix: ",inpref,"\n") + cat(" - Invalid years, will not process data...","\n") + q("no") + }#end if + #---------------------------------------------------------------------------------------# + + + #----- Create the directories in case they don't exist. --------------------------------# + if (! file.exists(outmain)) dir.create(outmain) + if (! file.exists(outcsv )) dir.create(outcsv ) + #---------------------------------------------------------------------------------------# + + + + #----- Decide how frequently the cohort-level variables should be saved. ---------------# + if ((yearend - yearbeg + 1) <= nyears.long){ + sasmonth = sasmonth.short + plot.ycomp = TRUE + }else{ + sasmonth = sasmonth.long + plot.ycomp = FALSE + }#end if + #---------------------------------------------------------------------------------------# + + + + + #----- Print a banner to entretain the user. -------------------------------------------# + cat(" + Post-processing output from ",lieu,"...","\n") + + + #---------------------------------------------------------------------------------------# + # Flush all variables that will hold the data. # + #---------------------------------------------------------------------------------------# + ntimes = (yearz-yeara-1)*12+meszz+(12-monthbeg+1) + nyears = yearz-yeara+1 + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Make the RData file name, then we check whether we must read the files again # + # or use the stored RData. Notice that the path is the same for plot_ycomp.r and # + # plot_monthly, so you don't need to read in the data twice. # + #---------------------------------------------------------------------------------------# + path.data = file.path(here,place,"rdata_month") + if (! file.exists(path.data)) dir.create(path.data) + ed22.rdata = file.path(path.data,paste(place,"RData",sep=".")) + ed22.status = file.path(path.data,paste("status_",place,".txt",sep="")) + if (reload.data && file.exists(ed22.rdata)){ + #----- Load the modelled dataset. ---------------------------------------------------# + cat(" - Loading previous session...","\n") + load(ed22.rdata) + tresume = datum$ntimes + 1 + if (ntimes > datum$ntimes){ + datum = update.monthly( new.ntimes = ntimes + , old.datum = datum + , montha = monthbeg + , yeara = yeara + , inpref = inpref + , slz.min = slz.min + )#end update.monthly + }#end if + #------------------------------------------------------------------------------------# + }else{ + cat(" - Starting new session...","\n") + tresume = 1 + datum = create.monthly( ntimes = ntimes + , montha = monthbeg + , yeara = yeara + , inpref = inpref + , slz.min = slz.min + )#end create.monthly + }#end if + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Check whether we have anything to update. # + #---------------------------------------------------------------------------------------# + complete = tresume > ntimes + #---------------------------------------------------------------------------------------# + + + + #----- Copy some dimensions to scalars. ------------------------------------------------# + nzg = datum$nzg + nzs = datum$nzs + ndcycle = datum$ndcycle + isoilflg = datum$isoilflg + slz = datum$slz + slxsand = datum$slxsand + slxclay = datum$slxclay + ntext = datum$ntext + soil.prop = datum$soil.prop + dslz = datum$dslz + soil.depth = datum$soil.depth + soil.dry = datum$soil.dry + soil.poro = datum$soil.poro + ka = datum$ka + kz = datum$kz + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Loop over all times in case there is anything new to be read. # + #---------------------------------------------------------------------------------------# + if (! complete){ + + #------------------------------------------------------------------------------------# + # This function will read the files. # + #------------------------------------------------------------------------------------# + datum = read.q.files(datum=datum,ntimes=ntimes,tresume=tresume,sasmonth=sasmonth) + #------------------------------------------------------------------------------------# + + + #------ Save the data to the R object. ----------------------------------------------# + cat(" + Saving data to ",basename(ed22.rdata),"...","\n") + save(datum,file=ed22.rdata) + #------------------------------------------------------------------------------------# + }#end if (! complete) + #---------------------------------------------------------------------------------------# + + + #----- Update status file with latest data converted into R. ---------------------------# + latest = paste(datum$year[ntimes],datum$month[ntimes],sep=" ") + dummy = write(x=latest,file=ed22.status,append=FALSE) + #---------------------------------------------------------------------------------------# + + + + + #----- Make some shorter versions of some variables. -----------------------------------# + mfac = datum$month + yfac = datum$year + emean = datum$emean + emsqu = datum$emsqu + qmean = datum$qmean + qmsqu = datum$qmsqu + szpft = datum$szpft + lu = datum$lu + patch = datum$patch + cohort = datum$cohort + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Remove all elements of the DBH/PFT class that do not have a single valid cohort # + # at any given time. # + #---------------------------------------------------------------------------------------# + empty = is.na(szpft$nplant) | szpft$nplant == 0 + for (vname in names(szpft)) szpft[[vname]][empty] = NA + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Convert mortality and recruitment so it is scaled between 0 and 100%. # + #---------------------------------------------------------------------------------------# + struct = c("szpft","emean","mmean","ymean") + struct = struct[struct %in% ls()] + nstruct = length(struct) + mort.list = c( "mort", "dimort", "ncbmort", "hydmort","fire.lethal" + ,"agb.mort","agb.dimort","agb.ncbmort","agb.hydmort" + ,"bsa.mort","bsa.dimort","bsa.ncbmort","bsa.hydmort" + )#end c + recr.list = c( "recr","agb.recr","bsa.recr") + for (s in sequence(nstruct)){ + #----- Copy structure to a temporary variable. --------------------------------------# + stnow = struct[s] + xmean = get(struct[s]) + #------------------------------------------------------------------------------------# + + + #----- Select mortality and recruitment variables to update. ------------------------# + mort.check = mort.list[mort.list %in% names(xmean)] + nmort.check = length(mort.check) + recr.check = recr.list[recr.list %in% names(xmean)] + nrecr.check = length(recr.check) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through mortality variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (m in sequence(nmort.check)){ + mort.now = mort.check[m] + xmean[[mort.now]] = 100. * ( 1.0 - exp( - xmean[[mort.now]]) ) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Loop through recruitment variables, make them "interest rates". # + #------------------------------------------------------------------------------------# + for (r in sequence(nrecr.check)){ + recr.now = recr.check[r] + xmean[[recr.now]] = 100. * ( exp( + xmean[[recr.now]] ) - 1.0) + }#end for (m in sequence(nmort.check)) + #------------------------------------------------------------------------------------# + + + #------ Update structure. -----------------------------------------------------------# + dummy = assign(x=stnow,value=xmean) + #------------------------------------------------------------------------------------# + }#end for (s in seq_along(struct)) + #---------------------------------------------------------------------------------------# + + + #----- Find which PFTs, land uses and transitions we need to consider ------------------# + pftave = apply( X = szpft$agb[,ndbh+1,] + , MARGIN = 2 + , FUN = mean + , na.rm = TRUE + )#end apply + luave = apply( X = lu$agb + , MARGIN = 2 + , FUN = mean + , na.rm = TRUE + )#end apply + distave = apply(X=lu$dist,MARGIN=c(2,3),FUN=mean) + selpft = is.finite(pftave ) & pftave > 0. + sellu = is.finite(luave ) & luave > 0. + seldist = is.finite(distave) & distave > 0. + n.selpft = sum(selpft ) + n.sellu = sum(sellu ) + n.seldist = sum(seldist) + #---------------------------------------------------------------------------------------# + + + + + #---------------------------------------------------------------------------------------# + # Create data frame with yearly averages. # + #---------------------------------------------------------------------------------------# + cat0(" + Create data frame with monthly averages.") + mglob = data.table( year = datum$year + , month = datum$month + , numdays = daymax(datum$month,datum$year) + , atm.prss = emean$atm.prss * 100. + , atm.temp = emean$atm.temp + t00 + , atm.shv = emean$atm.shv * 0.001 + , atm.vels = emean$atm.vels + , precip = emean$rain/daymax(datum$month,datum$year)/day.sec + , rshort.in = emean$rshort + , rlong.in = emean$rlong + , agb = emean$agb + , lai = emean$lai + , wai = emean$wai + , rshort.out = emean$rshort + , rlong.out = emean$rlong + , cas.height = emean$can.depth + , cas.prss = emean$can.prss * 100. + , cas.temp = emean$can.temp + t00 + , cas.shv = emean$can.shv * 0.001 + , gnd.temp = emean$gnd.temp + t00 + , leaf.temp = emean$leaf.temp + t00 + , wood.temp = emean$wood.temp + t00 + , soil.temp = emean$soil.temp.top + t00 + , soil.water = emean$soil.water.top + , soil.rmoist = emean$soil.wetness.top + , sfcw.temp = emean$sfcw.temp + t00 + , sfcw.fliq = emean$sfcw.fliq + , sfcw.mass = emean$sfcw.mass + , sfcw.depth = emean$sfcw.depth + , sfcw.cover = emean$sfcw.cover + , runoff = emean$runoff / day.sec + , leaf.water = emean$leaf.water + , wood.water = 0. * emean$leaf.water + , hflxca = emean$hflxca + , wflxca = emean$wflxca / day.sec + , hflxgc = emean$hflxgc + , wflxgc = emean$wflxgc / day.sec + , hflxlc = emean$hflxlc + , wflxlc = emean$wflxlc / day.sec + , hflxwc = emean$hflxwc + , wflxwc = emean$wflxwc / day.sec + , transp = emean$transp / day.sec + )#end data.frame + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# + # Write csv files with the output. # + #---------------------------------------------------------------------------------------# + cat0(" + Write output files.") + csv.emean = file.path(outcsv,paste0(place,"_emean.csv" )) + dummy = write.table(x=mglob ,file=csv.emean,quote=FALSE,sep=",",row.names=FALSE) + #---------------------------------------------------------------------------------------# + +}#end for (place in myplaces) +#------------------------------------------------------------------------------------------# diff --git a/ED/Template/Template/mrun.sh b/ED/Template/Template/mrun.sh deleted file mode 100755 index 29a0e5435..000000000 --- a/ED/Template/Template/mrun.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -#-----Change your settings here ----------------------------------------------------------# -here=`pwd` # Folder to start the run -queue='thisqueue' # Queue name -#------------------------------------------------------------------------------------------# - -if [ 'z'${1} = 'z' ] -then - echo 'Which m-file do you want to run (needs to be in current dir include .m)?' - read filenameIN -else - filenameIN=${1} -fi - -if [ 'z'${2} = 'z' ] -then - echo 'What run name do you want to use?' - read jobname -else - jobname=${2} -fi - - -joberrname=${jobname}'_err.out' - -module load math/matlab-R2009a 1>/dev/null 2>/dev/null - -#----- Submitting the job, we use a shell script so we can track the run on the fly -------# -bsub -q ${queue} -o ${joberrname} -J ${jobname} "matlab -nodesktop -nojvm -nosplash < ${filenameIN} > ${jobname}.out" - -echo " - Running ${filenameIN} under job name ${jobname}" diff --git a/ED/Template/Template/purge.sh b/ED/Template/Template/purge.sh deleted file mode 100755 index e8e920edd..000000000 --- a/ED/Template/Template/purge.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -rm -fvr analy -rm -fvr histo -rm -fvr output -rm -fvr rdata_* -mkdir analy -mkdir histo -mkdir output -rm -fv core.* fort.* *_out.out *_lsf.out *_out.err -rm -fv budget_* thermo_state_* photo_state_* diff --git a/ED/Template/Template/srun.sh b/ED/Template/Template/srun.sh deleted file mode 100755 index b65e514bb..000000000 --- a/ED/Template/Template/srun.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -#--------------------------------- Change settings here -----------------------------------# -here="pathhere/thispoly" # Folder to start the run -queue="thisqueue" # Queue name -joblog="${here}/serial_lsf.out" # Name of the job output -jobname="thisdesc-thispoly" # Job name -callserial="${here}/callserial.sh" # Name of executable -initrc="myinitrc" # Script to load before doing anything -thisnum=myorder # No longer used -sbatch=$(which sbatch) # SLURM command to submit job. -memory=thismemory # Requested memory (per CPU) -runtime=thistime # Requested time -#------------------------------------------------------------------------------------------# - - -#----- Source script. ---------------------------------------------------------------------# -. ${initrc} -#------------------------------------------------------------------------------------------# - - -#----- Erase old logfiles and joblogs -----------------------------------------------------# -if [ -s ${joblog} ] -then - rm -fv ${joblog} -fi -#------------------------------------------------------------------------------------------# - - - -#----- Submit the job, we use a shell script so we can track the run on the fly -----------# -${sbatch} -p ${queue} --mem-per-cpu=${memory} -t ${runtime} -o ${joblog} -J ${jobname} \ - -n 1 --wrap="${callserial} zzzzzzzz" -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/COMMON/bring_figures.sh b/ED/Template/scripts/COMMON/bring_figures.sh new file mode 100755 index 000000000..5d265ea8d --- /dev/null +++ b/ED/Template/scripts/COMMON/bring_figures.sh @@ -0,0 +1,150 @@ +#!/bin/bash + +#----- Main path, usually set by $(pwd) so you don't need to change it. -------------------# +here=$(pwd) +#----- Description of this simulation, used to create unique job names. -------------------# +desc=$(basename ${here}) +#----- File containing the list of jobs and their settings: -------------------------------# +joborder="${here}/joborder.txt" # ! File with the job instructions +#----- Sub-directory to copy. -------------------------------------------------------------# +subdir="monthly" +#----- Sub-sub-directory to copy (for all, set all). --------------------------------------# +subsub="compemean compmmean tspft tsdbh theme_mmean" +#----- Prefix of files to bring that are in the main directory. ---------------------------# +subpref="disturb" +#------------------------------------------------------------------------------------------# + + +#==========================================================================================# +#==========================================================================================# + + + + +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +# Unless you are going to modify the way jobs are submitted, you don't need to change # +# anything beyond this point. # +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# + + + + + +#----- Determine the number of polygons to run. -------------------------------------------# +let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 +if [ ${npolys} -lt 100 ] +then + ndig=2 +elif [ ${npolys} -lt 1000 ] +then + ndig=3 +elif [ ${npolys} -lt 10000 ] +then + ndig=4 +else + ndig=5 +fi +format="%${ndig}.${ndig}i" +#------------------------------------------------------------------------------------------# + + + +#----- Create path with output files. -----------------------------------------------------# +outpath="${here}/${desc}_figures" +mkdir -pv ${outpath} +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Loop over all polygons. # +#------------------------------------------------------------------------------------------# +n_submit=0 +while [[ ${ff} -lt ${npolys} ]] +do + let ff=${ff}+1 + let line=${ff}+3 + ffout=$(printf "${format}" ${ff}) + + + + + + #---------------------------------------------------------------------------------------# + # Read the ffth line of the polygon list. There must be smarter ways of doing # + # this, but this works. Here we obtain the polygon name, and its longitude and # + # latitude. # + #---------------------------------------------------------------------------------------# + oi=$(head -${line} ${joborder} | tail -1) + polyname=$(echo ${oi} | awk '{print $1 }') + echo " + Copy figures from simulation: ${polyname}." + #---------------------------------------------------------------------------------------# + + + #------ Create output path for this simulation. ----------------------------------------# + inpoly="${here}/${polyname}/${subdir}" + outpoly="${outpath}/${polyname}" + mkdir -p ${outpoly} + #---------------------------------------------------------------------------------------# + + + #------ Copy files. --------------------------------------------------------------------# + for subnow in ${subsub} + do + #----- Check whether to copy everything or a specific directory. --------------------# + case ${subnow} in + all) + rsync -Purtv ${inpoly}/* ${outpoly} + ;; + tsdbh) + mkdir -p ${outpoly}/tsdbh + rsync -Purtv ${inpoly}/tsdbh/*/*-pft-00-* ${outpoly}/tsdbh + ;; + *) + rsync -Purtv ${inpoly}/${subnow} ${outpoly} + ;; + esac + #------------------------------------------------------------------------------------# + done + #---------------------------------------------------------------------------------------# + + + #------ Copy files in the main sub-directory, in case any is to be copied. -------------# + if [[ "${subpref}" != "" ]] + then + #------------------------------------------------------------------------------------# + # Loop through prefixes. # + #------------------------------------------------------------------------------------# + for prefnow in ${subpref} + do + #----- Check whether to copy everything or a specific directory. -----------------# + rsync -Putv ${inpoly}/${prefnow}*.??? ${outpoly} + #---------------------------------------------------------------------------------# + done + #------------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------------# + +done +#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/email_reset.sh b/ED/Template/scripts/COMMON/email_reset.sh similarity index 100% rename from ED/Template/scripts/PBS/email_reset.sh rename to ED/Template/scripts/COMMON/email_reset.sh diff --git a/ED/Template/scripts/SLURM/last_histo.sh b/ED/Template/scripts/COMMON/last_histo.sh similarity index 75% rename from ED/Template/scripts/SLURM/last_histo.sh rename to ED/Template/scripts/COMMON/last_histo.sh index d1b819f60..55fac6e42 100755 --- a/ED/Template/scripts/SLURM/last_histo.sh +++ b/ED/Template/scripts/COMMON/last_histo.sh @@ -148,128 +148,129 @@ do # latitude. # #---------------------------------------------------------------------------------------# oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') #--------------------------------------------------------------------------------------- diff --git a/ED/Template/scripts/COMMON/reset.sh b/ED/Template/scripts/COMMON/reset.sh new file mode 100755 index 000000000..e6b175eb0 --- /dev/null +++ b/ED/Template/scripts/COMMON/reset.sh @@ -0,0 +1,436 @@ +#!/bin/sh +here=$(pwd) +moi=$(whoami) +diskthere="/n/moorcroftfs2" +joborder="${here}/joborder.txt" + +desc=$(basename ${here}) + +#----- Executable name. -------------------------------------------------------------------# +execname="ed_2.2-opt" +execsrc="${HOME}/EDBRAMS/ED/build" +#------------------------------------------------------------------------------------------# + + +#----- Find out which platform we are using. ----------------------------------------------# +host=$(hostname -s) +case ${host} in +rclogin*|holy*|moorcroft*|rcnx*|sdumont*) + platform="SLURM" + ;; +au*|ha*|sun-master|cmm*) + platform="PBS" + ;; +*) + echo -n "Failed guessing platform from node name. Please type the name: " + read platform + ;; +esac +#------------------------------------------------------------------------------------------# + + +#----- Find the output path (both local and remote paths will be cleaned). ----------------# +basehere=$(basename ${here}) +dirhere=$(dirname ${here}) +while [ ${basehere} != ${moi} ] +do + basehere=$(basename ${dirhere}) + dirhere=$(dirname ${dirhere}) +done +diskhere=${dirhere} +echo "-------------------------------------------------------------------------------" +echo " - Simulation control on disk: ${diskhere}" +echo " - Output on disk: ${diskthere}" +echo "-------------------------------------------------------------------------------" +there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) +#------------------------------------------------------------------------------------------# + + +#----- Determine the number of polygons to run. -------------------------------------------# +let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 +#------------------------------------------------------------------------------------------# + + +#----- Check that the user is aware that it will remove everything... ---------------------# +if [ "x${1}" == "x-d" ] +then + echo "Are you sure you want to stop all jobs, and remove all files and folders? [y/N]" +else + echo "Are you sure you want to stop all jobs, and remove all files? [y/N]" +fi +read proceed + +if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] +then + exit +fi + +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo " " +echo " Look, this will really stop ALL your jobs and delete all files!!!" +echo " Are you sure? [y/N]" +echo " " +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +read proceed + +if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] +then + exit +fi + +echo "Okay then, but if you regret later don't say that I did not warn you..." +echo "I'm giving you a few seconds to kill this script in case you change your mind..." +delfun=11 +while [ ${delfun} -gt 1 ] +do + let delfun=${delfun}-1 + echo " - Job stopping will begin in ${delfun} seconds..." + sleep 1 +done +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Loop over all polygons. # +#------------------------------------------------------------------------------------------# +ff=0 +while [ ${ff} -lt ${npolys} ] +do + let ff=${ff}+1 + let line=${ff}+3 + + #---------------------------------------------------------------------------------------# + # Read the ffth line of the polygon list. There must be smarter ways of doing # + # this, but this works. Here we obtain the polygon name, and its longitude and # + # latitude. # + #---------------------------------------------------------------------------------------# + oi=$(head -${line} ${joborder} | tail -1) + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + #------ Define job name. ---------------------------------------------------------------# + jobname="${desc}-${polyname}" + #---------------------------------------------------------------------------------------# + + + #------- Delete jobs. ------------------------------------------------------------------# + case "${platform}" in + SLURM) + scancel -n ${jobname} + ;; + PBS) + jobid=$(qjobs -j ${jobname} -n | awk '{print $1}') + if [[ "${jobid}" != "" ]] + then + qdel ${jobid} + fi + ;; + esac + #---------------------------------------------------------------------------------------# +done +#------------------------------------------------------------------------------------------# + + +delfun=16 +while [ ${delfun} -gt 1 ] +do + let delfun=${delfun}-1 + echo " - Files will be deleted in ${delfun} seconds..." + sleep 1 +done + + +#------------------------------------------------------------------------------------------# +# Loop over all polygons. # +#------------------------------------------------------------------------------------------# +ff=0 +while [ ${ff} -lt ${npolys} ] +do + let ff=${ff}+1 + let line=${ff}+3 + #---------------------------------------------------------------------------------------# + # Read the ffth line of the polygon list. There must be smarter ways of doing # + # this, but this works. Here we obtain the polygon name, and its longitude and # + # latitude. # + #---------------------------------------------------------------------------------------# + oi=$(head -${line} ${joborder} | tail -1) + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + + if [ "x${1}" == "x-d" ] + then + find "${here}/${polyname}" -print -delete + find "${there}/${polyname}" -print -delete + else + /bin/cp "${here}/Template/purge.sh" "${here}/${polyname}/purge.sh" + /bin/cp "${here}/Template/purge.sh" "${there}/${polyname}/purge.sh" + cd "${here}/${polyname}" + ./purge.sh + cd "${there}/${polyname}" + ./purge.sh + fi +done +#------------------------------------------------------------------------------------------# + + + + +#------------------------------------------------------------------------------------------# +# Replace the executable. # +#------------------------------------------------------------------------------------------# +cd ${here} +if [ -s ${here}/executable/${execname} ] +then + rm -frv ${here}/executable/${execname} + cp -fv ${execsrc}/${execname} ${here}/executable +fi +#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/COMMON/sim_sitter.sh b/ED/Template/scripts/COMMON/sim_sitter.sh new file mode 100755 index 000000000..d90799d3d --- /dev/null +++ b/ED/Template/scripts/COMMON/sim_sitter.sh @@ -0,0 +1,360 @@ +#!/bin/bash + + + +#------------------------------------------------------------------------------------------# +# Which scripts to run. # +# # +# - read_monthly.r - This reads the monthly mean files (results can then be used for # +# plot_monthly.r, plot_yearly.r, and others, but it doesn't plot any- # +# thing.) # +# - yearly_ascii.r - This creates three ascii (csv) files with annual averages of # +# various variables. It doesn't have all possible variables as it is # +# intended to simplify the output for learning purposes. # +# - plot_monthly.r - This creates several plots based on the monthly mean output. # +# - plot_yearly.r - This creates plots with year time series. # +# - plot_ycomp.r - This creates yearly comparisons based on the monthly mean output. # +# - plot_povray.r - This creates yearly plots of the polygon using POV-Ray. # +# - plot_rk4.r - This creates plots from the detailed output for Runge-Kutta. # +# (patch-level only). # +# - plot_photo.r - This creates plots from the detailed output for Farquhar-Leuning. # +# - plot_rk4pc.r - This creates plots from the detailed output for Runge-Kutta. # +# (patch- and cohort-level). # +# - plot_budget.r - This creates plots from the detailed budget for Runge-Kutta. # +# (patch-level only). # +# - plot_eval_ed.r - This creates plots comparing model with eddy flux observations. # +# - plot_census.r - This creates plots comparing model with biometric data. # +# - whichrun.r - This checks the run status. # +# # +# The following scripts should work too, but I haven't tested them. # +# - plot_daily.r - This creates plots from the daily mean output. # +# - plot_fast.r - This creates plots from the analysis files. # +# - patchprops.r - This creates simple plots showing the patch structure. # +# - reject_ed.r - This tracks the number of steps that were rejected, and what caused # +# the step to be rejected. # +#------------------------------------------------------------------------------------------# + + +#----- Main settings. Do look at run_sitter.sh and epost.sh for additional settings. -----# +here=$(pwd) # Current path. +there="/path/to/permanent/storage" # Permanent storage path (leave empty for no transfer) +email="myself\@myserver.com" # Your e-mail. Put a backslash before the @ +sbatch=$(which sbatch) # SLURM command to submit job. +sitter_queue="myqueue" # Queue to run run_sitter.sh +sitter_runtime="mytime" # Run time request for run_sitter.sh +sitter_memory=0 # Requested memory (Mb) for run_sitter.sh +lhisto_queue="myqueue" # Queue to run last_histo.sh +lhisto_runtime="mytime" # Run time request for last_histo.sh +lhisto_memory=0 # Requested memory (Mb) for last_histo.sh +transfer_full=false # Flag to decide between full and partial transfer +epost_queue="myqueue" # Queue to run epost.sh +epost_runtime="mytime" # Run time request for epost.sh +epost_memory=0 # Requested memory (Mb) for epost.sh +epost_reserve="" # Reservation flag (leave blank unless you have + # reservation privileges). +rscript="nothing.r" # Which script to run with epost.sh. See options above. + # Multiple scripts are allowed, put spaces between + # them. (e.g. rscript="plot_monthly.r plot_fast.r") +overcommit=false # Ignore maximum number of tasks when submitting + # epost tasks? +frqemail=43200 # How often to send emails on simulation status? +delay1st_min=20 # Time (in minutes) to wait before the first check + # (needed in case the run_sitter script is submitted + # before the simulation starts. In case the + # simulation is already running, it is fine to set + # this to zero). +wait_minutes=60 # Waiting time before checking run again (in minutes) +frqpost=3 # How often to run post-processing and file management + # This number is in iterations. Zero means never. +frqtouch=0 # How often to touch executable, scripts, and Template? + # This number is in iterations. Zero means never. +checkhourly="n" # Check hourly files. +checkstatus="y" # Check status before compressing +#------------------------------------------------------------------------------------------# + + + +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +# THINK TWICE BEFORE CHANGING ANYTHING BEYOND THIS POINT. # +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# + + +#----- Make sure e-mail and queue are pre-defined. ----------------------------------------# +if [[ "${email}" == "myself\@myserver.com" ]] || + [[ "${there}" == "/path/to/permanent/storage" ]] || + [[ "${rscript}" == "nothing.r" ]] || + [[ "${sitter_queue}" == "myqueue" ]] || + [[ "${sitter_runtime}" == "mytime" ]] || + [[ ${sitter_memory} -eq 0 ]] || + [[ "${lhisto_queue}" == "myqueue" ]] || + [[ "${lhisto_runtime}" == "mytime" ]] || + [[ ${lhisto_memory} -eq 0 ]] || + [[ "${epost_queue}" == "myqueue" ]] || + [[ "${epost_runtime}" == "mytime" ]] || + [[ ${epost_memory} -eq 0 ]] +then + echo "---------------------------------------------------------------------------------" + echo " The following variables must be set. In case any of them have dummy values, " + echo " check your script sim_sitter.sh." + echo " " + echo " email = ${email}" + echo " there = ${there}" + echo " rscript = ${rscript}" + echo " sitter_queue = ${sitter_queue}" + echo " epost_queue = ${epost_queue}" + echo " lhisto_queue = ${lhisto_queue}" + echo " sitter_queue = ${sitter_queue}" + echo " sitter_runtime = ${sitter_runtime}" + echo " sitter_memory = ${sitter_memory}" + echo " lhisto_queue = ${lhisto_queue}" + echo " lhisto_runtime = ${lhisto_runtime}" + echo " lhisto_memory = ${lhisto_memory}" + echo " epost_queue = ${epost_queue}" + echo " epost_runtime = ${epost_runtime}" + echo " epost_memory = ${epost_memory}" + echo " " + echo "---------------------------------------------------------------------------------" + exit 99 +fi +#------------------------------------------------------------------------------------------# + + + +#----- Find out which platform we are using. ----------------------------------------------# +if [ "${1}" == "" ] +then + #------ No platform provided. Try to guess, and if failed, then prompts the user. -----# + host=$(hostname -s) + case ${host} in + rclogin*|holy*|moorcroft*|rcnx*|sdumont*) + #----- Use SLURM scripts. --------------------------------------------------------# + platform="SLURM" + #---------------------------------------------------------------------------------# + ;; + au*|ha*|sun-master|cmm*) + #----- Use PBS scripts. ----------------------------------------------------------# + platform="PBS" + #---------------------------------------------------------------------------------# + ;; + *) + #----- Host name is not one of the known ones. -----------------------------------# + echo -n "Failed guessing platform from node name. Please type the name: " + read platform + #---------------------------------------------------------------------------------# + ;; + esac + #---------------------------------------------------------------------------------------# +else + #------ Platform is provided as argument. ----------------------------------------------# + platform=${1} + #---------------------------------------------------------------------------------------# +fi +#------------------------------------------------------------------------------------------# + + + + +#------ List of scripts. ------------------------------------------------------------------# +run_sitter="${here}/run_sitter.sh" +epost="${here}/epost.sh" +transfer="${here}/transfer.sh" +orig_histo="${here}/scripts/COMMON/last_histo.sh" +last_histo="${here}/last_histo.sh" +#------------------------------------------------------------------------------------------# + + + +#----- Set job prefix. --------------------------------------------------------------------# +desc=$(basename ${here}) +#------------------------------------------------------------------------------------------# + + + + +#------------------------------------------------------------------------------------------# +# In case this is a SLURM cluster, append header to last_histo.sh. # +#------------------------------------------------------------------------------------------# +case "${platform}" in +SLURM) + #----- Reset last_histo. ---------------------------------------------------------------# + echo " + Reset $(basename ${last_histo})" + /bin/rm -f ${last_histo} + touch ${last_histo} + chmod u+x ${last_histo} + #---------------------------------------------------------------------------------------# + + + #----- Set some job instructions. ------------------------------------------------------# + lhisto_task="${desc}-last_histo.sh" + lhisto_sto="${here}/out_last_histo.out" + lhisto_ste="${here}/out_last_histo.err" + #---------------------------------------------------------------------------------------# + + + + #----- Add header. ---------------------------------------------------------------------# + echo "#!/bin/bash" >> ${last_histo} + echo "#SBATCH --ntasks=1 # Number of tasks" >> ${last_histo} + echo "#SBATCH --cpus-per-task=1 # CPUs per task" >> ${last_histo} + echo "#SBATCH --partition=${lhisto_queue} # Job partition" >> ${last_histo} + echo "#SBATCH --job-name=${lhisto_task} # Task name" >> ${last_histo} + echo "#SBATCH --mem-per-cpu=${lhisto_memory} # Memory per CPU" >> ${last_histo} + echo "#SBATCH --time=${lhisto_runtime} # Time for job" >> ${last_histo} + echo "#SBATCH --output=${lhisto_sto} # Standard output path" >> ${last_histo} + echo "#SBATCH --error=${lhisto_ste} # Standard error path" >> ${last_histo} + echo "#SBATCH --chdir=${here} # Main directory" >> ${last_histo} + echo "" >> ${last_histo} + echo "#--- Initial settings." >> ${last_histo} + echo "here=\"${here}\" # Main path" >> ${last_histo} + echo "" >> ${last_histo} + echo "#--- Print information about this job." >> ${last_histo} + echo "echo \"\"" >> ${last_histo} + echo "echo \"\"" >> ${last_histo} + echo "echo \"----- Summary of current job -------------------------\"" >> ${last_histo} + echo "echo \" CPUs per task: \${SLURM_CPUS_PER_TASK}\"" >> ${last_histo} + echo "echo \" Job name: \${SLURM_JOB_NAME}\"" >> ${last_histo} + echo "echo \" Job ID: \${SLURM_JOB_ID}\"" >> ${last_histo} + echo "echo \" Queue: \${SLURM_JOB_PARTITION}\"" >> ${last_histo} + echo "echo \" Number of nodes: \${SLURM_NNODES}\"" >> ${last_histo} + echo "echo \" Number of tasks: \${SLURM_NTASKS}\"" >> ${last_histo} + echo "echo \" Memory per CPU: \${SLURM_MEM_PER_CPU}\"" >> ${last_histo} + echo "echo \" Memory per node: \${SLURM_MEM_PER_NODE}\"" >> ${last_histo} + echo "echo \" Node list: \${SLURM_JOB_NODELIST}\"" >> ${last_histo} + echo "echo \" Time limit: \${SLURM_TIMELIMIT}\"" >> ${last_histo} + echo "echo \" Std. Output: \${SLURM_STDOUTMODE}\"" >> ${last_histo} + echo "echo \" Std. Error: \${SLURM_STDERRMODE}\"" >> ${last_histo} + echo "echo \"------------------------------------------------------\"" >> ${last_histo} + echo "echo \"\"" >> ${last_histo} + echo "echo \"\"" >> ${last_histo} + echo "echo \"\"" >> ${last_histo} + echo "echo \"\"" >> ${last_histo} + echo "" >> ${last_histo} + echo "" >> ${last_histo} + echo "#--- Define home in case home is not set" >> ${last_histo} + echo "if [[ \"x\${HOME}\" == \"x\" ]]" >> ${last_histo} + echo "then" >> ${last_histo} + echo " export HOME=\$(echo ~)" >> ${last_histo} + echo "fi" >> ${last_histo} + echo "" >> ${last_histo} + echo "#--- Load modules and settings." >> ${last_histo} + echo ". \${HOME}/.bashrc" >> ${last_histo} + #---------------------------------------------------------------------------------------# + + + + #----- Append the template last_histo.sh, skipping the first two lines. ----------------# + tail -n +3 ${orig_histo} >> ${last_histo} + #---------------------------------------------------------------------------------------# + + ;; +esac +#------------------------------------------------------------------------------------------# + + + + + + +#------------------------------------------------------------------------------------------# +# Make substitutions. # +# IMPORTANT: make sure "there" substitutions precede "here", otherwise the script will # +# not work as intended. # +#------------------------------------------------------------------------------------------# +sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${run_sitter} +sed -i~ s@"recipient=\"\""@"recipient=\"${email}\""@g ${run_sitter} +sed -i~ s@"frqemail=\"\""@"frqemail=${frqemail}"@g ${run_sitter} +sed -i~ s@"delay1st_min=\"\""@"delay1st_min=${delay1st_min}"@g ${run_sitter} +sed -i~ s@"wait_minutes=\"\""@"wait_minutes=${wait_minutes}"@g ${run_sitter} +sed -i~ s@"frqpost=\"\""@"frqpost=${frqpost}"@g ${run_sitter} +sed -i~ s@"frqtouch=\"\""@"frqtouch=${frqtouch}"@g ${run_sitter} +sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${epost} +sed -i~ s@"global_queue=\"\""@"global_queue=\"${epost_queue}\""@g ${epost} +sed -i~ s@"rscript=\"\""@"rscript=\"${rscript}\""@g ${epost} +sed -i~ s@"submit=false"@"submit=true"@g ${epost} +sed -i~ s@"reservation=\"\""@"reservation=\"${epost_reserve}\""@g ${epost} +sed -i~ s@"sim_memory=0"@"sim_memory=${epost_memory}"@g ${epost} +sed -i~ s@"runtime=\"00:00:00\""@"runtime=\"${epost_runtime}\""@g ${epost} +sed -i~ s@"overcommit=\"\""@"overcommit=${overcommit}"@g ${epost} +sed -i~ s@"there=\"\""@"there=\"${there}\""@g ${transfer} +sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${transfer} +sed -i~ s@"full_transfer=boolean"@"full_transfer=${transfer_full}"@g ${transfer} +sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${last_histo} +sed -i~ s@"checkhourly=\"\""@"checkhourly=\"${checkhourly}\""@g ${last_histo} +sed -i~ s@"checkstatus=\"\""@"checkstatus=\"${checkstatus}\""@g ${last_histo} +#------------------------------------------------------------------------------------------# + + +#----- Substitute paths in sit_utils R scripts. -------------------------------------------# +sed -i~ s@"mypath"@"${here}"@g ${here}/sit_utils/plot.region.r +sed -i~ s@"mypath"@"${here}"@g ${here}/sit_utils/plot.status.r +#------------------------------------------------------------------------------------------# + + +#----- Job preferences. -------------------------------------------------------------------# +sitter_joblog="${here}/out_sitter.out" +sitter_jobpref=$(basename ${here}) +sitter_jobname="${desc}-sitter" +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Check whether to submit the job. # +#------------------------------------------------------------------------------------------# +if [[ -s "${here}/run_sitter.lock" ]] || [[ -s "${here}/transfer.lock" ]] +then + echo " Lock file found for run_sitter.sh and/or transfer.lock." + echo " The scripts may be already running." + echo " Submit the script anyway [y|N]?" + read goahead +else + goahead="y" +fi +goahead="$(echo ${goahead} | tr '[:upper:]' '[:lower:]')" +#------------------------------------------------------------------------------------------# + + +#----- Submit run_sitter.sh in batch mode. ------------------------------------------------# +comm="${sbatch} -p ${sitter_queue} --mem-per-cpu=${sitter_memory} -t ${sitter_runtime}" +comm="${comm} -o ${sitter_joblog} -J ${sitter_jobname} -n 1 " +comm="${comm} --wrap=\"${here}/run_sitter.sh\"" +case ${goahead} in +y|yes) + /bin/rm -f ${here}/run_sitter.lock + /bin/rm -f ${here}/transfer.lock + /bin/rm -f ${here}/sit_utils/mycheck.txt + /bin/rm -f ${here}/sit_utils/lastcheck.txt + echo ${comm} + ${comm} + ;; +*) + bann="Script run_sitter was not submitted. In case you want to submit manually" + bann="${bann} this is the command:" + echo ${bann} + echo " " + echo ${comm} + ;; +esac +#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/COMMON/stopalljobs.sh b/ED/Template/scripts/COMMON/stopalljobs.sh new file mode 100755 index 000000000..f95640dcc --- /dev/null +++ b/ED/Template/scripts/COMMON/stopalljobs.sh @@ -0,0 +1,228 @@ +#!/bin/bash +here=$(pwd) +joborder="${here}/joborder.txt" +desc=$(basename ${here}) + + +#----- Find out which platform we are using. ----------------------------------------------# +host=$(hostname -s) +case ${host} in +rclogin*|holy*|moorcroft*|rcnx*|sdumont*) + platform="SLURM" + ;; +au*|ha*|sun-master|cmm*) + platform="PBS" + ;; +*) + echo -n "Failed guessing platform from node name. Please type the name: " + read platform + ;; +esac +#------------------------------------------------------------------------------------------# + + + + +#----- Determine the number of polygons to stop. ------------------------------------------# +let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 + +echo "Are you sure that you want to stop all jobs? [y/N]" +read proceed + +if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] +then + exit +fi +#------------------------------------------------------------------------------------------# + + +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo " " +echo " Look, this will really stop ALL your jobs... Are you sure? [y/N]" +echo " " +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +read proceed + +if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] +then + exit +fi + +echo "Alright then, but in case you regret later don't say that I didn't warn you..." +echo "I am giving you a few seconds to kill this script in case you change your mind..." +delfun=11 +while [ ${delfun} -gt 1 ] +do + let delfun=${delfun}-1 + echo " - Job stopping will begin in ${delfun} seconds..." + sleep 1 +done + + +#------------------------------------------------------------------------------------------# +# Loop over all polygons. # +#------------------------------------------------------------------------------------------# +ff=0 +while [ ${ff} -lt ${npolys} ] +do + let ff=${ff}+1 + let line=${ff}+3 + + #---------------------------------------------------------------------------------------# + # Read the ffth line of the polygon list. There must be smarter ways of doing # + # this, but this works. Here we obtain the polygon name, and its longitude and # + # latitude. # + #---------------------------------------------------------------------------------------# + oi=$(head -${line} ${joborder} | tail -1) + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + #------ Define job name. ---------------------------------------------------------------# + jobname="${desc}-${polyname}" + #---------------------------------------------------------------------------------------# + + + #------- Delete jobs. ------------------------------------------------------------------# + case "${platform}" in + SLURM) + scancel -n ${jobname} + ;; + PBS) + jobid=$(qjobs -j ${jobname} -n | awk '{print $1}') + if [[ "${jobid}" != "" ]] + then + qdel ${jobid} + fi + ;; + esac + #---------------------------------------------------------------------------------------# +done +#------------------------------------------------------------------------------------------# + + + diff --git a/ED/Template/scripts/COMMON/transfer.sh b/ED/Template/scripts/COMMON/transfer.sh new file mode 100755 index 000000000..75544238f --- /dev/null +++ b/ED/Template/scripts/COMMON/transfer.sh @@ -0,0 +1,332 @@ +#!/bin/bash + +#==========================================================================================# +#==========================================================================================# +# Main settings: # +#------------------------------------------------------------------------------------------# +#----- Main path, usually set by $(pwd) so you don't need to change it. -------------------# +here="" +#----- Location to create the copy of these files. ----------------------------------------# +there="" +#----- File containing the list of jobs and their settings: -------------------------------# +joborder="${here}/joborder.txt" +#----- Command to be used for rsync. ------------------------------------------------------# +frsync="rsync -Putq --links --copy-unsafe-links" +rrsync="rsync -Prutq --links --copy-unsafe-links" +#----- Decide between copying everything or just some key files. --------------------------# +full_transfer=boolean +#------------------------------------------------------------------------------------------# + + + + + +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +# Unless you are going to modify the scripts, you don't need to change anything beyond # +# this point. # +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# +#==========================================================================================# + + +#------------------------------------------------------------------------------------------# +# First check that the main path and e-mail have been set. If not, don't run. # +#------------------------------------------------------------------------------------------# +if [[ "x${here}" == "x" ]] || [[ "x${there}" == "x" ]] || + [[ "x${full_transfer}" == "xboolean" ]] +then + echo " You must set some variables before running the script:" + echo " Check variables \"here\", \"there\", and \"full_transfer}!" + exit 99 +fi +#------------------------------------------------------------------------------------------# + + + + +#----- Check whether run_sitter.sh is still running or not. If it is, exit. --------------# +if [[ "${here}" == "${there}" ]] +then + echo " Source and destination paths are the same. Transfer is not needed." + exit 0 +elif [[ -s ${here}/transfer.lock ]] +then + echo " Script transfer is running. Skip transfer for the time being." + exit +else + echo "I am going to back up your run." > ${here}/transfer.lock +fi +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Create the output path in case it isn't there. # +#------------------------------------------------------------------------------------------# +if [[ ! -s ${there} ]] +then + echo "Create backup path: ${there}." + mkdir -p ${there} +fi +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# First, copy the files at the basal directory. # +#------------------------------------------------------------------------------------------# +echo " + Copy files from the main directory." +${frsync} ${here}/* ${there} +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Then copy the fixed directories. # +#------------------------------------------------------------------------------------------# +echo " + Copy executable." +${rrsync} ${here}/executable ${there} +echo " + Copy sit_utils." +${rrsync} ${here}/sit_utils ${there} +echo " + Copy Template." +${rrsync} ${here}/Template ${there} +#------------------------------------------------------------------------------------------# + + + + +#----- Determine the number of polygons to run. -------------------------------------------# +let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 +#------------------------------------------------------------------------------------------# + + + +#------------------------------------------------------------------------------------------# +# Loop over all polygons. # +#------------------------------------------------------------------------------------------# +ff=0 +while [[ ${ff} -lt ${npolys} ]] +do + let ff=${ff}+1 + let line=${ff}+3 + + + #---------------------------------------------------------------------------------------# + # Format count. # + #---------------------------------------------------------------------------------------# + if [[ ${npolys} -ge 10 ]] && [[ ${npolys} -lt 100 ]] + then + ffout=$(printf '%2.2i' ${ff}) + elif [[ ${npolys} -ge 100 ]] && [[ ${npolys} -lt 1000 ]] + then + ffout=$(printf '%3.3i' ${ff}) + elif [[ ${npolys} -ge 100 ]] && [[ ${npolys} -lt 10000 ]] + then + ffout=$(printf '%4.4i' ${ff}) + else + ffout=${ff} + fi + ffout="${ffout} of ${npolys}" + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Read the ffth line of the polygon list. There must be smarter ways of doing # + # this, but this works. Here we obtain the polygon name, and its longitude and # + # latitude. # + #---------------------------------------------------------------------------------------# + oi=$(head -${line} ${joborder} | tail -1) + polyname=$(echo ${oi} | awk '{print $1 }') + polyiata=$(echo ${oi} | awk '{print $2 }') + polylon=$(echo ${oi} | awk '{print $3 }') + polylat=$(echo ${oi} | awk '{print $4 }') + yeara=$(echo ${oi} | awk '{print $5 }') + montha=$(echo ${oi} | awk '{print $6 }') + datea=$(echo ${oi} | awk '{print $7 }') + timea=$(echo ${oi} | awk '{print $8 }') + yearz=$(echo ${oi} | awk '{print $9 }') + monthz=$(echo ${oi} | awk '{print $10 }') + datez=$(echo ${oi} | awk '{print $11 }') + timez=$(echo ${oi} | awk '{print $12 }') + initmode=$(echo ${oi} | awk '{print $13 }') + iscenario=$(echo ${oi} | awk '{print $14 }') + isizepft=$(echo ${oi} | awk '{print $15 }') + iage=$(echo ${oi} | awk '{print $16 }') + imaxcohort=$(echo ${oi} | awk '{print $17 }') + polyisoil=$(echo ${oi} | awk '{print $18 }') + polyntext=$(echo ${oi} | awk '{print $19 }') + polysand=$(echo ${oi} | awk '{print $20 }') + polyclay=$(echo ${oi} | awk '{print $21 }') + polyslsoc=$(echo ${oi} | awk '{print $22 }') + polyslph=$(echo ${oi} | awk '{print $23 }') + polyslcec=$(echo ${oi} | awk '{print $24 }') + polysldbd=$(echo ${oi} | awk '{print $25 }') + polydepth=$(echo ${oi} | awk '{print $26 }') + polyslhydro=$(echo ${oi} | awk '{print $27 }') + polysoilbc=$(echo ${oi} | awk '{print $28 }') + polysldrain=$(echo ${oi} | awk '{print $29 }') + polycol=$(echo ${oi} | awk '{print $30 }') + slzres=$(echo ${oi} | awk '{print $31 }') + queue=$(echo ${oi} | awk '{print $32 }') + metdriver=$(echo ${oi} | awk '{print $33 }') + dtlsm=$(echo ${oi} | awk '{print $34 }') + monyrstep=$(echo ${oi} | awk '{print $35 }') + iphysiol=$(echo ${oi} | awk '{print $36 }') + vmfactc3=$(echo ${oi} | awk '{print $37 }') + vmfactc4=$(echo ${oi} | awk '{print $38 }') + mphototrc3=$(echo ${oi} | awk '{print $39 }') + mphototec3=$(echo ${oi} | awk '{print $40 }') + mphotoc4=$(echo ${oi} | awk '{print $41 }') + bphotoblc3=$(echo ${oi} | awk '{print $42 }') + bphotonlc3=$(echo ${oi} | awk '{print $43 }') + bphotoc4=$(echo ${oi} | awk '{print $44 }') + kwgrass=$(echo ${oi} | awk '{print $45 }') + kwtree=$(echo ${oi} | awk '{print $46 }') + gammac3=$(echo ${oi} | awk '{print $47 }') + gammac4=$(echo ${oi} | awk '{print $48 }') + d0grass=$(echo ${oi} | awk '{print $49 }') + d0tree=$(echo ${oi} | awk '{print $50 }') + alphac3=$(echo ${oi} | awk '{print $51 }') + alphac4=$(echo ${oi} | awk '{print $52 }') + klowco2=$(echo ${oi} | awk '{print $53 }') + decomp=$(echo ${oi} | awk '{print $54 }') + rrffact=$(echo ${oi} | awk '{print $55 }') + growthresp=$(echo ${oi} | awk '{print $56 }') + lwidthgrass=$(echo ${oi} | awk '{print $57 }') + lwidthbltree=$(echo ${oi} | awk '{print $58 }') + lwidthnltree=$(echo ${oi} | awk '{print $59 }') + q10c3=$(echo ${oi} | awk '{print $60 }') + q10c4=$(echo ${oi} | awk '{print $61 }') + h2olimit=$(echo ${oi} | awk '{print $62 }') + imortscheme=$(echo ${oi} | awk '{print $63 }') + ddmortconst=$(echo ${oi} | awk '{print $64 }') + cbrscheme=$(echo ${oi} | awk '{print $65 }') + isfclyrm=$(echo ${oi} | awk '{print $66 }') + icanturb=$(echo ${oi} | awk '{print $67 }') + ubmin=$(echo ${oi} | awk '{print $68 }') + ugbmin=$(echo ${oi} | awk '{print $69 }') + ustmin=$(echo ${oi} | awk '{print $70 }') + gamm=$(echo ${oi} | awk '{print $71 }') + gamh=$(echo ${oi} | awk '{print $72 }') + tprandtl=$(echo ${oi} | awk '{print $73 }') + ribmax=$(echo ${oi} | awk '{print $74 }') + atmco2=$(echo ${oi} | awk '{print $75 }') + thcrit=$(echo ${oi} | awk '{print $76 }') + smfire=$(echo ${oi} | awk '{print $77 }') + ifire=$(echo ${oi} | awk '{print $78 }') + fireparm=$(echo ${oi} | awk '{print $79 }') + ipercol=$(echo ${oi} | awk '{print $80 }') + runoff=$(echo ${oi} | awk '{print $81 }') + imetrad=$(echo ${oi} | awk '{print $82 }') + ibranch=$(echo ${oi} | awk '{print $83 }') + icanrad=$(echo ${oi} | awk '{print $84 }') + ihrzrad=$(echo ${oi} | awk '{print $85 }') + crown=$(echo ${oi} | awk '{print $86 }') + ltransvis=$(echo ${oi} | awk '{print $87 }') + lreflectvis=$(echo ${oi} | awk '{print $88 }') + ltransnir=$(echo ${oi} | awk '{print $89 }') + lreflectnir=$(echo ${oi} | awk '{print $90 }') + orienttree=$(echo ${oi} | awk '{print $91 }') + orientgrass=$(echo ${oi} | awk '{print $92 }') + clumptree=$(echo ${oi} | awk '{print $93 }') + clumpgrass=$(echo ${oi} | awk '{print $94 }') + igoutput=$(echo ${oi} | awk '{print $95 }') + ivegtdyn=$(echo ${oi} | awk '{print $96 }') + ihydro=$(echo ${oi} | awk '{print $97 }') + istemresp=$(echo ${oi} | awk '{print $98 }') + istomata=$(echo ${oi} | awk '{print $99 }') + iplastic=$(echo ${oi} | awk '{print $100}') + icarbonmort=$(echo ${oi} | awk '{print $101}') + ihydromort=$(echo ${oi} | awk '{print $102}') + igndvap=$(echo ${oi} | awk '{print $103}') + iphen=$(echo ${oi} | awk '{print $104}') + iallom=$(echo ${oi} | awk '{print $105}') + ieconomics=$(echo ${oi} | awk '{print $106}') + igrass=$(echo ${oi} | awk '{print $107}') + ibigleaf=$(echo ${oi} | awk '{print $108}') + integscheme=$(echo ${oi} | awk '{print $109}') + nsubeuler=$(echo ${oi} | awk '{print $110}') + irepro=$(echo ${oi} | awk '{print $111}') + treefall=$(echo ${oi} | awk '{print $112}') + ianthdisturb=$(echo ${oi} | awk '{print $113}') + ianthdataset=$(echo ${oi} | awk '{print $114}') + slscale=$(echo ${oi} | awk '{print $115}') + slyrfirst=$(echo ${oi} | awk '{print $116}') + slnyrs=$(echo ${oi} | awk '{print $117}') + bioharv=$(echo ${oi} | awk '{print $118}') + skidarea=$(echo ${oi} | awk '{print $119}') + skiddbhthresh=$(echo ${oi} | awk '{print $120}') + skidsmall=$(echo ${oi} | awk '{print $121}') + skidlarge=$(echo ${oi} | awk '{print $122}') + fellingsmall=$(echo ${oi} | awk '{print $123}') + #---------------------------------------------------------------------------------------# + + + #----- Check whether the directories exist or not, and stop the script if they do. -----# + if [[ -s ${here}/${polyname} ]] + then + echo -n " + Copy ${polyname} (${ffout})... " + + #------------------------------------------------------------------------------------# + # Sync this directory. Decide between full or partial transfer. # + #------------------------------------------------------------------------------------# + if ${full_transfer} + then + #----- Copy the entire directory. ------------------------------------------------# + ${rrsync} ${here}/${polyname} ${there} + #---------------------------------------------------------------------------------# + else + #----- Copy the base directory and the R output. ---------------------------------# + mkdir -p ${there}/${polyname} + mkdir -p ${there}/${polyname}/histo + ${frsync} ${here}/${polyname}/* ${there}/${polyname} + ${rrsync} ${here}/${polyname}/rdata_month ${there}/${polyname} + #---------------------------------------------------------------------------------# + + + #----- Copy the first and last history file. -------------------------------------# + ahisto="${polyname}-S-${yeara}-${montha}-${datea}-${timea}00-g01.h5" + zhisto="${polyname}-S-${yearz}-${monthz}-${datez}-${timez}00-g01.h5" + ${frsync} ${here}/${polyname}/histo/${ahisto} ${there}/${polyname}/histo + ${frsync} ${here}/${polyname}/histo/${zhisto} ${there}/${polyname}/histo + #---------------------------------------------------------------------------------# + fi + #------------------------------------------------------------------------------------# + echo "Done!" + + else + #----- Directory is not found. ------------------------------------------------------# + echo " + Skip ${polyname} (${ffout})." + #------------------------------------------------------------------------------------# + fi + #---------------------------------------------------------------------------------------# +done +#------------------------------------------------------------------------------------------# + + +#----- Clean-up stuff. --------------------------------------------------------------------# +echo " Unlock transfer.sh." +/bin/rm -f ${here}/transfer.lock +echo "==== transfer.sh execution ends. ====" +#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/cspost.sh b/ED/Template/scripts/PBS/cspost.sh deleted file mode 100755 index db4957d22..000000000 --- a/ED/Template/scripts/PBS/cspost.sh +++ /dev/null @@ -1,306 +0,0 @@ -#!/bin/bash -. ~/.bashrc -here=$(pwd) -thisqueue="moorcroft2b" # ! Queue where jobs should be submitted -#----- Check whether to use openlava or typical job submission. ---------------------------# -openlava="y" -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Grab arguments and also set some defaults. # -#------------------------------------------------------------------------------------------# -nargs=$# # Number of arguments -args=$@ # List of arguments -ibg="0" # Background is white by default -rdata="RData_scenario" -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Check whether this machine supports openlava or not (in case this is a openlava. # -#------------------------------------------------------------------------------------------# -thismach=$(hostname -s) -if [ ${thismach} == "rclogin01" ] && [ ${openlava} == "y" -o ${openlava} == "Y" ] -then - . /opt/openlava-2.0/etc/openlava-client.sh -elif [ ${thismach} != "rclogin01" ] && [ ${openlava} == "y" -o ${openlava} == "Y" ] -then - echo " This machine (${hostname}) doesn't support openlava, sorry!" - exit 39 -fi -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# Loop over all arguments, and assign soil texture and temperature based on the # -# options. # -#------------------------------------------------------------------------------------------# -istext=16 -itemp=0 -irain=0 -if [ ${nargs} -gt 0 ] -then - nextstext="n" - nexttemp="n" - nextrain="n" - nextbg="n" - n=0 - for arg in ${args} - do - let n=${n}+1 - - if [ ${nextstext} == "y" ] - then - istext=${arg} - nextstext="n" - elif [ ${nexttemp} == "y" ] - then - itemp=${arg} - nexttemp="n" - elif [ ${nextrain} == "y" ] - then - irain=${arg} - nextrain="n" - elif [ ${nextbg} == "y" ] - then - ibg=${arg} - nextbg="n" - elif [ "x${arg}" == "x-s" ] - then - nextstext="y" - elif [ "x${arg}" == "x-r" ] - then - nextrain="y" - elif [ "x${arg}" == "x-t" ] - then - nexttemp="y" - elif [ "x${arg}" == "x-b" ] - then - nextbg="y" - else - echo "Not sure what you mean..." - echo "Argument ${n} (${arg}) doesn't make sense!" - exit 91 - fi - done -fi -#------------------------------------------------------------------------------------------# - - -bad=0 - - -#------------------------------------------------------------------------------------------# -# Check that soil texture makes sense. # -#------------------------------------------------------------------------------------------# -case ${istext} in -2|stext02) - stext="stext02" - ;; -6|stext06) - stext="stext06" - ;; -8|stext08) - stext="stext08" - ;; -11|stext11) - stext="stext11" - ;; -16|stext16) - stext="stext16" - ;; -*) - echo "Invalid 'stext' argument (${istext})" - let bad=${bad}+1 - ;; -esac -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Check that temperature makes sense. # -#------------------------------------------------------------------------------------------# -case ${itemp} in -0|"t+000") - temp="t+000" - idxtemp="1" - ;; -1|"t+100") - temp="t+100" - idxtemp="2" - ;; -2|"t+200") - temp="t+200" - idxtemp="3" - ;; -3|"t+300") - temp="t+300" - idxtemp="4" - ;; -*) - echo "Invalid 'temp' argument (${itemp})" - let bad=${bad}+1 - ;; -esac -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Check that rainfall makes sense. # -#------------------------------------------------------------------------------------------# -case ${irain} in -0|00|"r+000") - rain="r+000" - ;; -2|02|"r-020") - rain="r-020" - ;; -4|04|"r-040") - rain="r-040" - ;; -6|06|"r-060") - rain="r-060" - ;; -8|08|"r-080") - rain="r-080" - ;; -10|"r-100") - rain="r-100" - ;; -12|"r-120") - rain="r-120" - ;; -14|"r-140") - rain="r-140" - ;; -16|"r-160") - rain="r-160" - ;; -*) - echo "Invalid 'rain' argument (${irain})" - let bad=${bad}+1 - ;; -esac -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Check that ibackground makes sense. # -#------------------------------------------------------------------------------------------# - -case ${ibg} in -0) - bg="ibg00" - ;; -1) - bg="ibg01" - ;; -2) - bg="ibg02" - ;; -*) - echo "Invalid 'bg' argument (${ibg})" - let bad=${bad}+1 - ;; -esac -#------------------------------------------------------------------------------------------# - - - - - -#------------------------------------------------------------------------------------------# -# Stop in case anything is wrongly set. # -#------------------------------------------------------------------------------------------# -if [ ${bad} -gt 0 ] -then - exit 99 -fi -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Create a unique job name. # -#------------------------------------------------------------------------------------------# -job="cscen_${stext}_${rain}_${temp}_${bg}" -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Define some R-related settings. # -#------------------------------------------------------------------------------------------# -R_Comm="R CMD BATCH --no-save --no-restore" -R_Out="${here}/.${job}_out.out" -R_Orig="${here}/compare_scenarios.r" -R_Submit="${here}/.${job}.r" -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# Switch settings to the current configuration. # -#------------------------------------------------------------------------------------------# -/bin/cp ${R_Orig} ${R_Submit} -stext_ostr=$(grep stext.default ${R_Submit} | head -1) -temp_ostr=$(grep use.global ${R_Submit} | head -1) -rain_ostr=$(grep drain.default ${R_Submit} | head -1) -bg_ostr=$(grep ibackground ${R_Submit} | head -1) -rdata_ostr=$(grep rdata.path ${R_Submit} | head -1) - -stext_nstr="stext.default = \"${stext}\" # Default soil texture" -temp_nstr="use.global = ${idxtemp} # Which global to use (TRUE means all of them)" -rain_nstr="drain.default = \"${rain}\" # Default rainfall scenario" -bg_nstr="ibackground = ${ibg} # Target background colour:" -rdata_nstr="rdata.path = file.path(here,\"${rdata}\") # Path with R object." -sed -i s@"${stext_ostr}"@"${stext_nstr}"@g ${R_Submit} -sed -i s@"${rain_ostr}"@"${rain_nstr}"@g ${R_Submit} -sed -i s@"${temp_ostr}"@"${temp_nstr}"@g ${R_Submit} -sed -i s@"${bg_ostr}"@"${bg_nstr}"@g ${R_Submit} -sed -i s@"${rdata_ostr}"@"${rdata_nstr}"@g ${R_Submit} -#------------------------------------------------------------------------------------------# - - - - - -#------------------------------------------------------------------------------------------# -# Create the script to submit to LSF. # -#------------------------------------------------------------------------------------------# -cspost="${here}/.${job}.sh" -csout="${here}/.${job}_lsf.out" -cscomm="${R_Comm} ${R_Submit} ${R_Out}" -status="${here}/${rdata}/status_stext_sim_${temp}.txt" -echo "#!/bin/bash" > ${cspost} -echo "/bin/rm -fr ${status}" >> ${cspost} -echo "while [ ! -s ${status} ]" >> ${cspost} -echo "do" >> ${cspost} -echo " sleep 3" >> ${cspost} -echo " ${cscomm}" >> ${cspost} -echo "done" >> ${cspost} -chmod +x ${cspost} -#------------------------------------------------------------------------------------------# - - - - -#------ Check whether to use openlava or LSF. ---------------------------------------------# -if [ 'x'${openlava} == 'xy' ] || [ 'x'${openlava} == 'xY' ] -then - bcall="iobsub -J ${job} -o ${csout}" -else - bcall="bsub -q ${thisqueue} -J ${job} -o ${csout}" -fi -bsub="${bcall} ${cspost} 1> /dev/null 2> /dev/null" -${bsub} -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/delall.sh b/ED/Template/scripts/PBS/delall.sh deleted file mode 100755 index 8718b930a..000000000 --- a/ED/Template/scripts/PBS/delall.sh +++ /dev/null @@ -1,245 +0,0 @@ -#!/bin/sh -here=$(pwd) -moi=$(whoami) -diskthere="" -joborder="${here}/joborder.txt" - -#----- Find the output path (both local and remote paths will be cleaned). ----------------# -basehere=$(basename ${here}) -dirhere=$(dirname ${here}) -while [ ${basehere} != ${moi} ] -do - basehere=$(basename ${dirhere}) - dirhere=$(dirname ${dirhere}) -done -diskhere=${dirhere} -echo "-------------------------------------------------------------------------------" -echo " - Simulation control on disk: ${diskhere}" -echo " - Output on disk: ${diskthere}" -echo "-------------------------------------------------------------------------------" -there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) -#------------------------------------------------------------------------------------------# - - - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -#------------------------------------------------------------------------------------------# - - - - -#----- Check that the user is aware that it will remove everything... ---------------------# -if [ "x${1}" == "x-d" ] -then - echo "Are you sure that you want to remove all files and directories? [y/N]" -else - echo "Are you sure that you want to remove all files? [y/N]" -fi -read proceed -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi -#------------------------------------------------------------------------------------------# - - - -#----- Check that the user is aware that it will remove everything... ---------------------# -echo " " -if [ "x${1}" == "x-d" ] -then - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo " " - echo " Look, this will REALLY delete all ${npolys} output directories and files..." - echo " " - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -else - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo " " - echo " Look, this will REALLY delete all ${npolys} output files..." - echo " " - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -fi - -echo "This is PERMANENT, once they are gone, adieu, no chance to recover them!" -echo "Is that what you really want? [y/N]" -read proceed - -echo " " - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "Okay then, but if you regret later do not say that I did not warn you..." -echo "I am giving you a few seconds to kill this script in case you change your mind..." -delfun=16 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Deletion will begin in ${delfun} seconds..." - sleep 1 -done -#------------------------------------------------------------------------------------------# - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - - if [ "x${1}" == "x-d" ] - then - rm -frv "${here}/${polyname}" - rm -frv "${there}/${polyname}" - else - /bin/cp "${here}/Template/purge.sh" "${here}/${polyname}/purge.sh" - /bin/cp "${here}/Template/purge.sh" "${there}/${polyname}/purge.sh" - cd "${here}/${polyname}" - ./purge.sh - cd "${there}/${polyname}" - ./purge.sh - fi -done -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/last_histo.sh b/ED/Template/scripts/PBS/last_histo.sh deleted file mode 100755 index 4efd50824..000000000 --- a/ED/Template/scripts/PBS/last_histo.sh +++ /dev/null @@ -1,516 +0,0 @@ -#!/bin/bash -. ~/.bashrc - -#==========================================================================================# -#==========================================================================================# -# This script keeps only the latest few history files (in case it needs to resume the # -# simulation), and compresses analysis files. # -#------------------------------------------------------------------------------------------# -here="" # Main path -diskthere="" # Disk where the output files are -joborder="${here}/joborder.txt" # File with the job instructions -bzip2="/bin/gzip -9" # Program to compress files (with options) -checkhourly="y" # Check hourly files. -checkstatus="y" # Check status before compressing -#------ Calculator. -----------------------------------------------------------------------# -ccc="${HOME}/Util/calc.sh" # Calculator -#------ # of history files to keep (in odyssey's world, always keep more than one). -------# -retain=3 -#------------------------------------------------------------------------------------------# - - - - -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -# No need to change anything beyond this point unless you are developing the code. # -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# - - - -#------------------------------------------------------------------------------------------# -# Set the maximum number of days for each month. day[0] is a dummy variable. # -#------------------------------------------------------------------------------------------# -daymax=(0 31 28 31 30 31 30 31 31 30 31 30 31) -#------------------------------------------------------------------------------------------# - - - -#----- This script is normally ran with crontab. Make sure the main path is set. ---------# -if [ "x${here}" == "x" ] -then - echo " here = ${here} " - echo " Set up variable here before running email_reset.sh" - exit 92 -fi -#------------------------------------------------------------------------------------------# - - - -#-----Make sure last_histo.sh isn't running. ----------------------------------------------# -if [ -s ${here}/last_histo.lock ] -then - exit -else - echo "I'm going to clean or compress files. Lots of them!" > ${here}/last_histo.lock -fi -#------------------------------------------------------------------------------------------# - - - -#----- Make yes/no choices case insensitive. ----------------------------------------------# -checkhourly=$(echo ${checkhourly} | awk '{print substr($1,1,1)}' | tr '[:upper:]' '[:lower:]') -checkstatus=$(echo ${checkstatus} | awk '{print substr($1,1,1)}' | tr '[:upper:]' '[:lower:]') -#------------------------------------------------------------------------------------------# - - -#----- Find the disk here to create the "there" path. -------------------------------------# -moi=$(whoami) -namehere=$(basename ${here}) -diskhere=$(dirname ${here}) -while [ ${namehere} != ${moi} ] -do - namehere=$(basename ${diskhere}) - diskhere=$(dirname ${diskhere}) -done -if [ "x${diskthere}" == "x" ] -then - there=${here} -else - there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) -fi -#------------------------------------------------------------------------------------------# - - - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -echo "Number of polygons: ${npolys}..." -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #--------------------------------------------------------------------------------------- - - - #----- Find time and minute. -----------------------------------------------------------# - houra=$(echo ${timea} | awk '{print substr($1,1,2)}') - minua=$(echo ${timea} | awk '{print substr($1,3,2)}') - hourz=$(echo ${timez} | awk '{print substr($1,1,2)}') - minuz=$(echo ${timez} | awk '{print substr($1,3,2)}') - #---------------------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------------------# - # Set gfilout prefix according to ihrzrad. # - #---------------------------------------------------------------------------------------# - case ${ihrzrad} in - 1) - gpref="gap" - ;; - 2) - gpref="pix" - ;; - *) - gpref="dum" - ;; - esac - #---------------------------------------------------------------------------------------# - - - #----- Define the main path for this polygon. ------------------------------------------# - pypath="${there}/${polyname}" - sfilout="${pypath}/histo/${polyname}" - ffilout="${pypath}/analy/${polyname}" - gfilout="${pypath}/shade/${gpref}" - #---------------------------------------------------------------------------------------# - - #---------------------------------------------------------------------------------------# - # If the directory exists, delete all history files but the last. # - #---------------------------------------------------------------------------------------# - if [ -s ${pypath} ] - then - echo "${ff} - Delete history files for polygon ${polyname}:" - - #---- First we delete all -Z- files. ------------------------------------------------# - nzed=$(/bin/ls -1 ${sfilout}-Z-*h5 2> /dev/null | wc -l) - if [ ${nzed} -gt 0 ] - then - zeds=$(/bin/ls -1 ${sfilout}-Z-*h5 2> /dev/null) - for zed in ${zeds} - do - echo -n " - Delete: $(basename ${zed})..." - /bin/nice /bin/rm -f ${zed} - echo " Gone!" - done - fi - #------------------------------------------------------------------------------------# - - - - #---- Now we delete all -S- files except the last ${retain} ones. -------------------# - ness=$(/bin/ls -1 ${sfilout}-S-*h5 2> /dev/null | wc -l) - if [ ${ness} -gt ${retain} ] - then - let head=${ness}-${retain} - esses=$(/bin/ls -1 ${sfilout}-S-*h5 | head -${head}) - for ess in ${esses} - do - echo -n " - Delete: $(basename ${ess})..." - /bin/nice /bin/rm -f ${ess} - echo " Gone!" - done - fi - #------------------------------------------------------------------------------------# - - - - #---- Now we compress all raster files except for the last one. ---------------------# - nrst=$(/bin/ls -1 ${gfilout}_raster_isi001_????-01.txt 2> /dev/null | wc -l) - if [ ${nrst} -gt 1 ] - then - let head=${nrst}-1 - rasters=$(/bin/ls -1 ${gfilout}_raster_isi001_????-01.txt | head -${head}) - for rst in ${rasters} - do - echo -n " - Compress: $(basename ${rst})..." - ${bzip2} ${rst} - echo " Compressed!" - done - fi - #------------------------------------------------------------------------------------# - - - - #---- Now we compress all ptable files except for the last one. ---------------------# - nptb=$(/bin/ls -1 ${gfilout}_ptable_isi001_????-01.txt 2> /dev/null | wc -l) - if [ ${nptb} -gt 1 ] - then - let head=${nptb}-1 - ptables=$(/bin/ls -1 ${gfilout}_ptable_isi001_????-01.txt | head -${head}) - for ptb in ${ptables} - do - echo -n " - Compress: $(basename ${ptb})..." - ${bzip2} ${ptb} - echo " Compressed!" - done - fi - #------------------------------------------------------------------------------------# - - - - #------------------------------------------------------------------------------------# - # Decide whether to check the status before compressing files. # - #------------------------------------------------------------------------------------# - status="${pypath}/rdata_month/status_${polyname}.txt" - - #----- Check the status before compressing?. ----------------------------------------# - if [ "x${checkstatus}" == "xy" ] - then - #----- Check status of read_monthly.sh. ------------------------------------------# - if [ -s ${status} ] - then - #----- Compress files until the last processed file. --------------------------# - yeare=$(cat ${status} | awk '{print $1}') - monthe=$(cat ${status} | awk '{print $2}') - compress="y" - #------------------------------------------------------------------------------# - else - #----- Do not compress any file. ----------------------------------------------# - compress="n" - #------------------------------------------------------------------------------# - fi - #---------------------------------------------------------------------------------# - else - #----- Ignore checks, just go on and compress everything. ------------------------# - yeare=${yearz} - monthe=${monthz} - compress="y" - #---------------------------------------------------------------------------------# - fi - #------------------------------------------------------------------------------------# - - - - - #------------------------------------------------------------------------------------# - # If compress is "y", then go on and compress files. # - #------------------------------------------------------------------------------------# - if [ "x${compress}" == "xy" ] - then - let year=${yeara}-1 - - - #---------------------------------------------------------------------------------# - # Loop over the years. # - #---------------------------------------------------------------------------------# - while [ ${year} -lt ${yeare} ] - do - #----- Update year and year string. -------------------------------------------# - let year=${year}+1 - yyyy=$(printf "%4.4i" ${year}) - #------------------------------------------------------------------------------# - - #----- Update daymax for February (check for leap year). ----------------------# - let leap400=${year}%400 - let leap100=${year}%100 - let leap004=${year}%4 - if [ ${leap400} -eq 0 ] || [ ${leap100} -ne 0 -a ${leap004} -eq 0 ] - then - daymax[2]=29 - else - daymax[2]=28 - fi - #------------------------------------------------------------------------------# - - - - - #------ Check last month. -----------------------------------------------------# - if [ ${year} -eq ${yeare} ] - then - monthl=${monthe} - else - monthl=12 - fi - #------------------------------------------------------------------------------# - - - #------------------------------------------------------------------------------# - # Loop over the months. # - #------------------------------------------------------------------------------# - month=0 - while [ ${month} -lt ${monthl} ] - do - #----- Update month and month string. --------------------------------------# - let month=${month}+1 - mm=$(printf "%2.2i" ${month}) - datel=${daymax[${month}]} - #---------------------------------------------------------------------------# - - - #----- Compress monthly mean file. -----------------------------------------# - qfile=${ffilout}-Q-${yyyy}-${mm}-00-000000-g01.h5 - if [ -s ${qfile} ] - then - echo -n " - Compress file: $(basename ${qfile})..." - ${bzip2} ${qfile} 2> /dev/null - echo "Zipped!" - fi - #---------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------# - # Check hourly files. # - #---------------------------------------------------------------------------# - if [ "x${checkhourly}" == "xy" ] || [ "x${checkhourly}" == "xY" ] - then - - echo " - Check hourly files: ${mm}/${yyyy}" - - - #------------------------------------------------------------------------# - # Loop over days. # - #------------------------------------------------------------------------# - date=0 - while [ ${date} -lt ${datel} ] - do - let date=${date}+1 - dd=$(printf "%2.2i" ${date}) - hourl=23 - hour=-1 - #---------------------------------------------------------------------# - # Loop over hours. # - #---------------------------------------------------------------------# - while [ ${hour} -lt ${hourl} ] - do - let hour=${hour}+1 - hh=$(printf "%2.2i" ${hour}) - - ifile=${ffilout}-I-${yyyy}-${mm}-${dd}-${hh}0000-g01.h5 - if [ -s ${ifile} ] - then - echo -n " * Compress file: $(basename ${ifile})..." - ${bzip2} ${ifile} 2> /dev/null - echo "Zipped!" - fi - #------------------------------------------------------------------# - done - #---------------------------------------------------------------------# - done - #------------------------------------------------------------------------# - fi - #---------------------------------------------------------------------------# - done - #------------------------------------------------------------------------------# - done - #---------------------------------------------------------------------------------# - fi - #------------------------------------------------------------------------------------# - else - echo "${ff} - Directory doesn't exist" - fi - #---------------------------------------------------------------------------------------# -done -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Keep this as the very last command. Release the directory, so last_histo.sh can # -# be called again. # -#------------------------------------------------------------------------------------------# -/bin/rm -f ${here}/last_histo.lock -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/read_monthly.sh b/ED/Template/scripts/PBS/read_monthly.sh deleted file mode 100755 index fb4f21a48..000000000 --- a/ED/Template/scripts/PBS/read_monthly.sh +++ /dev/null @@ -1,807 +0,0 @@ -#!/bin/bash -. ~/.bashrc -here="xxxxxxxxxxxxxxxxxxxxx" # ! Main path -myself=$(whoami) # ! You -diskthere="" # ! Disk where the output files are -thisqueue="qqqqqqqqqq" # ! Queue where jobs should be submitted -joborder="${here}/joborder.txt" # ! File with the job instructions -#----- Outroot is the main output directory. ----------------------------------------------# -outroot="xxxxxxxxxxxxxxxxxxxx" -submit="y" # y = Submit the script; n = Copy the script -#----- Plot only one meteorological cycle. ------------------------------------------------# -useperiod="a" # Which bounds should I use? (Ignored by plot_eval_ed.r) - # "a" -- All period - # "t" -- One eddy flux tower met cycle - # "u" -- User defined period, defined by the variables below. - # "f" -- Force the tower cycle. You may need to edit the script, though -yusera=1972 # First year to use -yuserz=2011 # Last year to use -#----- Yearly comparison . ----------------------------------------------------------------# -seasonmona=1 -#----- Census comparison. -----------------------------------------------------------------# -varcycle="FALSE" # Find the average mortality for various cycles (TRUE/FALSE). -#----- Hourly comparison. -----------------------------------------------------------------# -usedistrib="edf" # Which distribution to plot on top of histograms: - # norm -- Normal distribution - # sn -- Skewed normal distribution (requires package sn) - # edf -- Empirical distribution function (function density) -#----- Output format. ---------------------------------------------------------------------# -outform="c(\"pdf\")" # x11 - On screen (deprecated on shell scripts) - # png - Portable Network Graphics - # eps - Encapsulated Post Script - # pdf - Portable Document Format -#----- DBH classes. -----------------------------------------------------------------------# -idbhtype=3 # Type of DBH class - # 1 -- Every 10 cm until 100cm; > 100cm - # 2 -- 0-10; 10-20; 20-35; 35-50; 50-70; > 70 (cm) - # 3 -- 0-10; 10-35; 35-55; > 55 (cm) -#----- Force to run again from scratch. ---------------------------------------------------# -irerun=0 # Options for re-running: - # 0 -- never; updates only. - # 1 -- re-run only those that have not finished yet - # 2 -- re-run everything, including the finished ones. -#----- Default background colour. ---------------------------------------------------------# -background=0 # 0 -- White - # 1 -- Pitch black - # 2 -- Dark grey -#----- Trim the year comparison for tower years only? -------------------------------------# -efttrim="FALSE" -#----- Correction factor for respiration. -------------------------------------------------# -correct_gs=1.0 # Correction factor for growth and storage respiration -#----- Simple = 1 means that the output is going to be simple. ----------------------------# -simple=0 # 0 -- default - # 1 -- simplified output -#----- Path with R scripts that are useful. -----------------------------------------------# -rscpath="${HOME}/EDBRAMS/R-utils" -#----- bashrc (usually ${HOME}/.bashrc). --------------------------------------------------# -initrc="${HOME}/.bashrc" -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Tell whether to plot pseudo-drought or not. # -#------------------------------------------------------------------------------------------# -droughtmark="FALSE" # Should I plot a rectangle to show the drought? - # capital letters only: TRUE means yes, FALSE means no -droughtyeara=1605 # Year that the first drought instance happens (even if it is - # just the last bit) -droughtyearz=1609 # Year that the last drought instance happens (even if it - # partial) -monthsdrought="c(12,1,2,3)" # List of months that get drought, if it starts late in the - # year, put the last month first. -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Use the general path. # -#------------------------------------------------------------------------------------------# -case ${myself} in -marcosl|marcos.longo|mlongo) - rscpath="${HOME}/Util/Rsc" - ;; -esac -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# Make sure the paths are set. # -#------------------------------------------------------------------------------------------# -if [ "y${here}" == "yxxxxxxxxxxxxxxxxxxxxx" ] || [ "y${here}" == "y" ] - [ "y${outroot}" == "yxxxxxxxxxxxxxxxxxxxxx" ] || [ "y${outroot}" == "y" ] - [ "y${thisqueue}" == "yqqqqqqqqqq" ] || [ "y${thisqueue}" == "y" ] -then - echo " here = ${here}" - echo " outroot = ${outroot}" - echo " queue = ${queue}" - echo " Set up variables here, outroot, and queue before using read_monthly.sh!!!" - exit 99 -fi -#------------------------------------------------------------------------------------------# - - - - -#----- Check whether run_sitter.sh is still running or not. If it is, exit. --------------# -lock="${here}/read_monthly.lock" -if [ -s ${lock} ] -then - exit -else - echo "I am going to submit post-processors. Lots of them!" > ${lock} -fi -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# Make sure that the directory there exists, if not, create all parent directories # -# needed. # -#------------------------------------------------------------------------------------------# -while [ ! -s ${outroot} ] -do - namecheck=$(basename ${outroot}) - dircheck=$(dirname ${outroot}) - while [ ! -s ${dircheck} ] && [ ${namecheck} != "/" ] - do - namecheck=$(basename ${dircheck}) - dircheck=$(dirname ${dircheck}) - done - - if [ ${namecheck} == "/" ] - then - echo "Invalid disk for variable outroot:" - echo " DISK = ${diskhere}" - exit 58 - elif [ ${namecheck} == "xxxxxxxx" ] || [ ${namecheck} == "xxx_XXX" ] || - [ ${namecheck} == "XXXXXXXXXXX" ] - then - echo " - Found this directory in your path: ${namecheck} ..." - echo " - Outroot given: ${outroot} ..." - echo " - It looks like you forgot to set up your outroot path, check it!" - exit 92 - else - echo "Making directory: ${dircheck}/${namecheck}" - mkdir ${dircheck}/${namecheck} - fi -done -#------------------------------------------------------------------------------------------# - - -#----- Find the disk here to create the "there" path. -------------------------------------# -moi=$(whoami) -namehere=$(basename ${here}) -diskhere=$(dirname ${here}) -while [ ${namehere} != ${moi} ] -do - namehere=$(basename ${diskhere}) - diskhere=$(dirname ${diskhere}) -done -if [ "x${diskthere}" == "x" ] -then - there=${here} -else - there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) -fi -#------------------------------------------------------------------------------------------# - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -echo "Number of polygons: ${npolys}..." -#------------------------------------------------------------------------------------------# - - - - - -#------------------------------------------------------------------------------------------# -# Set the correct script (full or simple). # -#------------------------------------------------------------------------------------------# -case ${simple} in -0) - read_monthly="read_monthly.r" - rmon="rmon" - rdata_path="rdata_month" - ;; -1) - read_monthly="read_simple.r" - rmon="rsim" - rdata_path="rdata_simple" - ;; -esac -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - - - #---------------------------------------------------------------------------------------# - # Format count. # - #---------------------------------------------------------------------------------------# - if [ ${npolys} -ge 10 ] && [ ${npolys} -lt 100 ] - then - ffout=$(printf '%2.2i' ${ff}) - elif [ ${npolys} -ge 100 ] && [ ${npolys} -lt 1000 ] - then - ffout=$(printf '%2.2i' ${ff}) - elif [ ${npolys} -ge 100 ] && [ ${npolys} -lt 10000 ] - then - ffout=$(printf '%2.2i' ${ff}) - else - ffout=${ff} - fi - #---------------------------------------------------------------------------------------# - - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - #----- Find time and minute. -----------------------------------------------------------# - houra=$(echo ${timea} | awk '{print substr($1,1,2)}') - minua=$(echo ${timea} | awk '{print substr($1,3,2)}') - hourz=$(echo ${timez} | awk '{print substr($1,1,2)}') - minuz=$(echo ${timez} | awk '{print substr($1,3,2)}') - #---------------------------------------------------------------------------------------# - - - #----- Find the last output time. ------------------------------------------------------# - let monthf=${monthz}-1 - if [ ${monthf} == 0 ] - then - monthf=12 - let yearf=${yearz}-1 - else - yearf=${yearz} - fi - #---------------------------------------------------------------------------------------# - - - #----- Retrieve some information from ED2IN. -------------------------------------------# - ED2IN="${here}/${polyname}/ED2IN" - iphysiol=$(grep -i NL%IPHYSIOL ${ED2IN} | awk '{print $3}') - iallom=$(grep -i NL%IALLOM ${ED2IN} | awk '{print $3}') - islhydro=$(grep -i NL%SOIL_HYDRO_SCHEME ${ED2IN} | awk '{print $3}') - metcyca=$(grep -i NL%METCYC1 ${ED2IN} | awk '{print $3}') - metcycz=$(grep -i NL%METCYCF ${ED2IN} | awk '{print $3}') - klight=$(grep -i NL%DDMORT_CONST ${ED2IN} | awk '{print $3}') - #---------------------------------------------------------------------------------------# - - - #---- Find the forest inventory cycle. -------------------------------------------------# - case ${polyiata} in - gyf|s67) - biocyca=2004 - biocycz=2009 - subcens=1 - ;; - s67) - biocyca=2001 - biocycz=2011 - subcens=1 - ;; - *) - biocyca=${metcyca} - biocycz=${metcycz} - subcens=0 - ;; - esac - #---------------------------------------------------------------------------------------# - - - - #---- The eddy flux tower cycles. ------------------------------------------------------# - case ${polyiata} in - gyf) - eftyeara=2004 - eftyearz=2012 - ;; - cax) - eftyeara=1999 - eftyearz=2003 - ;; - l[0-5][0-3]) - eftyeara=2006 - eftyearz=2016 - ;; - m34) - eftyeara=1999 - eftyearz=2006 - ;; - s67) - eftyeara=2001 - eftyearz=2010 - ;; - s77) - eftyeara=2001 - eftyearz=2005 - ;; - s83) - eftyeara=2000 - eftyearz=2003 - ;; - pnz) - eftyeara=2004 - eftyearz=2004 - ;; - ban) - eftyeara=2004 - eftyearz=2006 - ;; - rja) - eftyeara=1999 - eftyearz=2002 - ;; - fns) - eftyeara=1999 - eftyearz=2002 - ;; - bsb) - eftyeara=2006 - eftyearz=2011 - ;; - pdg) - eftyeara=2001 - eftyearz=2003 - ;; - hvd) - eftyeara=1992 - eftyearz=2003 - ;; - *) - eftyeara=${metcyca} - eftyearz=${metcycz} - ;; - esac - #---------------------------------------------------------------------------------------# - - - - #---- Cheat and force the met cycle to be the tower cycle. -----------------------------# - if [ ${useperiod} == "f" ] - then - metcyca=${eftyeara} - metcycz=${eftyearz} - fi - #---------------------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------------------# - # Switch years in case this is a specific drought run. # - #---------------------------------------------------------------------------------------# - if [ ${droughtmark} == "TRUE" ] - then - let yeara=${droughtyeara}-1 - let yearz=${droughtyearz}+1 - fi - #---------------------------------------------------------------------------------------# - - - if [ -s ${here}/${polyname} ] - then - - - #------ Check which period to use. --------------------------------------------------# - if [ ${useperiod} == "t" ] - then - #------ One meteorological cycle. Check the type of meteorological driver. ------# - if [ ${metdriver} != "Sheffield" ] - then - thisyeara=${metcyca} - thisyearz=${metcycz} - for i in ${shiftiata} - do - if [ "x${i}" == "x${polyiata}" ] - then - echo " -> Shifting met cycle" - let metcycle=${metcycz}-${metcyca}+1 - let deltayr=${shiftcycle}*${metcycle} - let thisyeara=${metcyca}+${deltayr} - let thisyearz=${metcycz}+${deltayr} - fi # end [ ${i} == ${iata} ] - done #end for i in ${shiftiata} - else - thisyeara=${metcyca} - thisyearz=${metcycz} - fi # end [ ${metdriver} != "Sheffield" ] - #---------------------------------------------------------------------------------# - - elif [ ${useperiod} == "u" ] - then - #----- The user said which period to use. ----------------------------------------# - thisyeara=${yusera} - thisyearz=${yuserz} - #---------------------------------------------------------------------------------# - - elif [ ${useperiod} == "f" ] - then - #----- The user said to use the eddy flux period. --------------------------------# - thisyeara=${eftyeara} - thisyearz=${eftyearz} - #---------------------------------------------------------------------------------# - - else - #----- Grab all years that the simulation is supposed to run. --------------------# - thisyeara=${yeara} - thisyearz=${yearz} - #---------------------------------------------------------------------------------# - fi # end [ ${useperiod} == "t" ] - #------------------------------------------------------------------------------------# - - - - #----- Set up months and days. ------------------------------------------------------# - thismontha=${montha} - thismonthz=${monthz} - thisdatea=${datea} - #------------------------------------------------------------------------------------# - - - #------------------------------------------------------------------------------------# - # Define the job name, and the names of the output files. # - #------------------------------------------------------------------------------------# - epostout="${rmon}_epost.out" - epostsh="${rmon}_epost.sh" - epostlsf="${rmon}_epost.lsf" - epostjob="eb-${rmon}-${polyname}" - #------------------------------------------------------------------------------------# - - - #------------------------------------------------------------------------------------# - # Check the status of the run. # - #------------------------------------------------------------------------------------# - /bin/rm -f ${here}/${polyname}/statusrun.txt - /bin/rm -f ${here}/${polyname}/whichrun.r - /bin/cp -f ${here}/Template/whichrun.r ${here}/${polyname}/whichrun.r - whichrun="${here}/${polyname}/whichrun.r" - outwhich="${here}/${polyname}/outwhichrun.txt" - sed -i s@thispoly@${polyname}@g ${whichrun} - sed -i s@thisqueue@${queue}@g ${whichrun} - sed -i s@pathhere@${here}@g ${whichrun} - sed -i s@paththere@${there}@g ${whichrun} - sed -i s@thisyeara@${yeara}@g ${whichrun} - sed -i s@thismontha@${montha}@g ${whichrun} - sed -i s@thisdatea@${datea}@g ${whichrun} - sed -i s@thistimea@${timea}@g ${whichrun} - sed -i s@thischecksteady@FALSE@g ${whichrun} - sed -i s@thismetcyc1@${metcyc1}@g ${whichrun} - sed -i s@thismetcycf@${metcycf}@g ${whichrun} - sed -i s@thisnyearmin@10000@g ${whichrun} - sed -i s@thisststcrit@0.0@g ${whichrun} - R CMD BATCH --no-save --no-restore ${whichrun} ${outwhich} - while [ ! -s ${here}/${polyname}/statusrun.txt ] - do - sleep 0.5 - done - year=$(cat ${here}/${polyname}/statusrun.txt | awk '{print $2}') - month=$(cat ${here}/${polyname}/statusrun.txt | awk '{print $3}') - date=$(cat ${here}/${polyname}/statusrun.txt | awk '{print $4}') - time=$(cat ${here}/${polyname}/statusrun.txt | awk '{print $5}') - runt=$(cat ${here}/${polyname}/statusrun.txt | awk '{print $6}') - if [ ${runt} != "INITIAL" ] - then - runt="RESTORE" - fi - #------------------------------------------------------------------------------------# - - - - #------------------------------------------------------------------------------------# - # We submit only the jobs that haven't finished. If the job has just finished, # - # we submit once again, but save a file to remember that this polygon is loaded. # - #------------------------------------------------------------------------------------# - status="${here}/${polyname}/${rdata_path}/status_${polyname}.txt" - rdata="${here}/${polyname}/${rdata_path}/${polyname}.RData" - if [ -s ${status} ] - then - yearl=$(cat ${status} | awk '{print $1}') - monthl=$(cat ${status} | awk '{print $2}') - if [ ${yearl} -eq ${yearf} ] && [ ${monthl} -eq ${monthf} ] - then - cestfini="y" - else - cestfini="n" - fi - lasttime=${monthl}/${yearl} - else - lasttime="Never" - cestfini="n" - fi - #------------------------------------------------------------------------------------# - - - - - #----- Print banner. ----------------------------------------------------------------# - echo " ${fflab} - ${polyname}" - echo " - ED-2.2 Status: ${runt}" - echo " - Last time processed: ${lasttime}. Finished: ${cestfini}" - #------------------------------------------------------------------------------------# - - - - #------------------------------------------------------------------------------------# - # Decide whether to change the status to force running again. # - #------------------------------------------------------------------------------------# - case ${irerun} in - 0) - byeprev="n" - ;; - 1) - byeprev="y" - ;; - 2) - cestfini="n" - byeprev="y" - ;; - esac - #------------------------------------------------------------------------------------# - - - if [ ${runt} == "INITIAL" ] - then - submitnow="n" - echo "${ff} - ${polyname} : polygon hasn't started yet" - - elif [ ${runt} == "THE_END" ] && [ ${cestfini} == "y" ] - then - #----- Job has ended and all files have been processed. --------------------------# - submitnow="n" - #---------------------------------------------------------------------------------# - - echo "${ff} - ${polyname} : polygon is already loaded or queued for the last time" - else - #---------------------------------------------------------------------------------# - # Job is still running or it has started again... Remove the blocker and # - # re-submit if the post-processor is not queued. # - #---------------------------------------------------------------------------------# - #----- Check that the script is not in the queue. --------------------------------# - inqueue=$(bjobs -w -q ${thisqueue} -J ${epostjob} 2> /dev/null | wc -l) - if [ ${inqueue} -eq 0 ] - then - submitnow="y" - echo "${ff} - ${polyname}: submit post-processor script." - else - submitnow="n" - echo "${ff} - ${polyname}: post-processor job has already been queued." - fi - #---------------------------------------------------------------------------------# - fi - #------------------------------------------------------------------------------------# - - - - #------------------------------------------------------------------------------------# - # Find out whether the job is on the queue. In case it is not, re-submit. # - #------------------------------------------------------------------------------------# - if [ "x${submitnow}" == "xy" ] - then - #----- Check whether to delete the previous post-processing or not. --------------# - if [ ${byeprev} == "y" ] - then - echo " * Delete previous post-processing..." - /bin/rm -fr ${status} ${rdata} - elif [ -s ${rdata} ] - then - echo " * Continuing previous post-processing..." - else - echo " * Starting new post-processing..." - fi - #---------------------------------------------------------------------------------# - - #----- Copy the R script from the Template folder to the local path. -------------# - cp -f ${here}/Template/${read_monthly} ${here}/${polyname} - scriptnow=${here}/${polyname}/${read_monthly} - #---------------------------------------------------------------------------------# - - - - #----- Switch the keywords by the current settings. ------------------------------# - sed -i s@thispoly@${polyname}@g ${scriptnow} - sed -i s@thisoutroot@${outroot}@g ${scriptnow} - sed -i s@thispath@${here}@g ${scriptnow} - sed -i s@thatpath@${there}@g ${scriptnow} - sed -i s@thisrscpath@${rscpath}@g ${scriptnow} - sed -i s@thisyeara@${thisyeara}@g ${scriptnow} - sed -i s@thismontha@${thismontha}@g ${scriptnow} - sed -i s@thisdatea@${thisdatea}@g ${scriptnow} - sed -i s@thishoura@${houra}@g ${scriptnow} - sed -i s@thisminua@${minua}@g ${scriptnow} - sed -i s@thisyearz@${thisyearz}@g ${scriptnow} - sed -i s@thismonthz@${thismonthz}@g ${scriptnow} - sed -i s@thisdatez@${datez}@g ${scriptnow} - sed -i s@thishourz@${hourz}@g ${scriptnow} - sed -i s@thisminuz@${minuz}@g ${scriptnow} - sed -i s@thisseasonmona@${seasonmona}@g ${scriptnow} - sed -i s@myphysiol@${iphysiol}@g ${scriptnow} - sed -i s@myallom@${iallom}@g ${scriptnow} - sed -i s@myslhydro@${slhydro}@g ${scriptnow} - sed -i s@mydroughtmark@${droughtmark}@g ${scriptnow} - sed -i s@mydroughtyeara@${droughtyeara}@g ${scriptnow} - sed -i s@mydroughtyearz@${droughtyearz}@g ${scriptnow} - sed -i s@mymonthsdrought@${monthsdrought}@g ${scriptnow} - sed -i s@myvarcycle@${varcycle}@g ${scriptnow} - sed -i s@thisoutform@${outform}@g ${scriptnow} - sed -i s@mydistrib@${usedistrib}@g ${scriptnow} - sed -i s@mymetcyca@${metcyca}@g ${scriptnow} - sed -i s@mymetcycz@${metcycz}@g ${scriptnow} - sed -i s@mybiocyca@${biocyca}@g ${scriptnow} - sed -i s@mybiocycz@${biocycz}@g ${scriptnow} - sed -i s@myidbhtype@${idbhtype}@g ${scriptnow} - sed -i s@mybackground@${background}@g ${scriptnow} - sed -i s@mycorrection@${correct_gs}@g ${scriptnow} - sed -i s@myklight@${klight}@g ${scriptnow} - sed -i s@myefttrim@${efttrim}@g ${scriptnow} - sed -i s@myeftyeara@${eftyeara}@g ${scriptnow} - sed -i s@myeftyearz@${eftyearz}@g ${scriptnow} - #---------------------------------------------------------------------------------# - - - - #----- Run R to get the plots. ---------------------------------------------------# - rbin="R CMD BATCH --no-save --no-restore" - comm="${rbin} ${scriptnow} ${here}/${polyname}/${epostout}" - #---------------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------------# - # Create shell script with job instructions. # - #---------------------------------------------------------------------------------# - sbatchout="${here}/${polyname}/${epostlsf}" - epostnow="${here}/${polyname}/${epostsh}" - complete="${here}/${polyname}/eval_load_complete.txt" - rm -f ${epostnow} - echo "#$ -S /bin/bash" > ${epostnow} - echo "#$ -q ${thisqueue}" >> ${epostnow} - echo "#$ -o ${sbatchout}" >> ${epostnow} - echo "#$ -N ${epostjob}" >> ${epostnow} - echo "#$ -j y" >> ${epostnow} - echo "#$ -r n" >> ${epostnow} - echo " " >> ${epostnow} - echo ". ${initrc}" >> ${epostnow} - echo ${comm} >> ${epostnow} - chmod +x ${epostnow} - #---------------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------------# - # Submit the job. # - #---------------------------------------------------------------------------------# - if [ "x${submit}" == "xy" ] || [ "x${submit}" == "xY" ] - then - qsub ${epostnow} 1> /dev/null 2> /dev/null - sleep 3 - fi - #---------------------------------------------------------------------------------# - - fi - #------------------------------------------------------------------------------------# - else - echo "${fflab} - ${polyname}: directory not found." - fi - #---------------------------------------------------------------------------------------# -done -#------------------------------------------------------------------------------------------# - -/bin/rm -f ${lock} - diff --git a/ED/Template/scripts/PBS/reset.sh b/ED/Template/scripts/PBS/reset.sh deleted file mode 100755 index d91253da0..000000000 --- a/ED/Template/scripts/PBS/reset.sh +++ /dev/null @@ -1,424 +0,0 @@ -#!/bin/bash -here=$(pwd) -moi=$(whoami) -diskthere="" -joborder="${here}/joborder.txt" - -desc=$(basename ${here}) - -#----- Executable name. -------------------------------------------------------------------# -execname="ed_2.2-opt" -execsrc="${HOME}/EDBRAMS/ED/build" -#------------------------------------------------------------------------------------------# - - -#----- Find the output path (both local and remote paths will be cleaned). ----------------# -basehere=$(basename ${here}) -dirhere=$(dirname ${here}) -while [ ${basehere} != ${moi} ] -do - basehere=$(basename ${dirhere}) - dirhere=$(dirname ${dirhere}) -done -diskhere=${dirhere} -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# If diskthere is empty, assume diskthere=diskhere. # -#------------------------------------------------------------------------------------------# -if [ "x${diskthere}" == "x" ] -then - diskthere=${diskhere} -fi -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Find where stuff to be delete are located. # -#------------------------------------------------------------------------------------------# -echo "-------------------------------------------------------------------------------" -echo " - Simulation control on disk: ${diskhere}" -echo " - Output on disk: ${diskthere}" -echo "-------------------------------------------------------------------------------" -there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) -#------------------------------------------------------------------------------------------# - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -#------------------------------------------------------------------------------------------# - - -#----- Check that the user is aware that it will remove everything... ---------------------# -if [ "x${1}" == "x-d" ] -then - echo "Are you sure you want to stop all jobs, and remove all files and folders? [y/N]" -else - echo "Are you sure you want to stop all jobs, and remove all files? [y/N]" -fi -read proceed -#------------------------------------------------------------------------------------------# - -#----- Quit in case the user is not sure about. -------------------------------------------# -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi -#------------------------------------------------------------------------------------------# - -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo " " -echo " Look, this will really stop ALL your jobs and delete all files!!!" -echo " Are you sure? [y/N]" -echo " " -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -read proceed - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "Alright then, but in case you regret later don't say that I didn't warn you..." -echo "I'm giving you a few seconds to kill this script in case you change your mind..." -delfun=11 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Job stopping will begin in ${delfun} seconds..." - sleep 1 -done -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - - #------- Delete jobs. ------------------------------------------------------------------# - jobname="${desc}-${polyname}" - jobid=$(qjobs -j ${jobname} -n | awk '{print $1}') - qdel ${jobid} - #---------------------------------------------------------------------------------------# -done -#------------------------------------------------------------------------------------------# - - -delfun=16 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Files will be deleted in ${delfun} seconds..." - sleep 1 -done - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - - if [ "x${1}" == "x-d" ] - then - rm -frv "${here}/${polyname}" - rm -frv "${there}/${polyname}" - else - /bin/cp "${here}/Template/purge.sh" "${here}/${polyname}/purge.sh" - /bin/cp "${here}/Template/purge.sh" "${there}/${polyname}/purge.sh" - cd "${here}/${polyname}" - ./purge.sh - cd "${there}/${polyname}" - ./purge.sh - fi -done -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Replace the executable. # -#------------------------------------------------------------------------------------------# -cd ${here} -if [ -s ${here}/executable/${execname} ] -then - rm -frv ${here}/executable/${execname} - cp -fv ${execsrc}/${execname} ${here}/executable -fi -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/PBS/sim_sitter.sh b/ED/Template/scripts/PBS/run_sitter.sh similarity index 98% rename from ED/Template/scripts/PBS/sim_sitter.sh rename to ED/Template/scripts/PBS/run_sitter.sh index f3cb01977..161d64e31 100755 --- a/ED/Template/scripts/PBS/sim_sitter.sh +++ b/ED/Template/scripts/PBS/run_sitter.sh @@ -9,6 +9,7 @@ the_end_msg="has finished" unknown_msg="status is unknown" sigsegv_msg="HAD SEGMENTATION VIOLATION" crashed_msg="RK4 PROBLEM" +hydfail_msg="HYDRODYNAMICS" metmiss_msg="DID NOT FIND MET DRIVERS" stopped_msg="UNKNOWN REASON" fstline_msg="Number of polygons:" @@ -65,6 +66,7 @@ do n_unknown=$(cat ${check_out} | grep "${unknown_msg}" | wc -l) n_sigsegv=$(cat ${check_out} | grep "${sigsegv_msg}" | wc -l) n_crashed=$(cat ${check_out} | grep "${crashed_msg}" | wc -l) + n_hydfail=$(cat ${check_out} | grep "${hydfail_msg}" | wc -l) n_metmiss=$(cat ${check_out} | grep "${metmiss_msg}" | wc -l) n_stopped=$(cat ${check_out} | grep "${stopped_msg}" | wc -l) let n_ongoing=${n_polygon}-${n_the_end} diff --git a/ED/Template/scripts/PBS/stopalljobs.sh b/ED/Template/scripts/PBS/stopalljobs.sh deleted file mode 100755 index 1aa6e1a85..000000000 --- a/ED/Template/scripts/PBS/stopalljobs.sh +++ /dev/null @@ -1,191 +0,0 @@ -#!/bin/bash -here=$(pwd) -joborder="${here}/joborder.txt" -desc=$(basename ${here}) - -#----- Determine the number of polygons to stop. ------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 - -echo "Are you sure that you want to stop all jobs? [y/N]" -read proceed - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo " " -echo " Look, this will really stop ALL your jobs... Are you sure? [y/N]" -echo " " -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -read proceed - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "Alright then, but in case you regret later don't say that I didn't warn you..." -echo "I am giving you a few seconds to kill this script in case you change your mind..." -delfun=11 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Job stopping will begin in ${delfun} seconds..." - sleep 1 -done - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - #------- Delete jobs. ------------------------------------------------------------------# - jobname="${desc}-${polyname}" - jobid=$(qjobs -j ${jobname} -n | awk '{print $1}') - qdel ${jobid} - #---------------------------------------------------------------------------------------# -done -#------------------------------------------------------------------------------------------# - - - diff --git a/ED/Template/scripts/SLURM/clean_scratch.sh b/ED/Template/scripts/SLURM/clean_scratch.sh deleted file mode 100755 index 43766e350..000000000 --- a/ED/Template/scripts/SLURM/clean_scratch.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh -myself=$(whoami) - -#----- Check which queue we will clean. ---------------------------------------------------# -if [ "x${1}" == "x" ] -then - echo -n "Which queue do you want to clean?" - read queue -else - queue=${1} -fi -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Select the nodes to be deleted. # -#------------------------------------------------------------------------------------------# -case ${queue} in -moorcroft_6100a) - nodes="moorcroft01 moorcroft02 moorcroft03 moorcroft04" - ;; -moorcroft_6100b) - nodes="moorcroft05 moorcroft06 moorcroft07 moorcroft08 moorcroft09 - moorcroft10 moorcroft11 moorcroft12 moorcroft13 moorcroft14 - moorcroft15 moorcroft16 moorcroft17 moorcroft18 moorcroft19 - moorcroft20 moorcroft21 moorcroft22 moorcroft23 moorcroft24 - moorcroft25 moorcroft26 moorcroft27 moorcroft28 moorcroft29 - moorcroft30 moorcroft31 moorcroft32 moorcroft33 moorcroft34 - moorcroft35 moorcroft36 moorcroft37 moorcroft38 moorcroft39 - moorcroft40 moorcroft41 moorcroft42 moorcroft43 moorcroft44" - ;; -moorcroft2a) - nodes="hero4001 hero4002 hero4003 hero4004 hero4005 hero4006 - hero4007 hero4008 hero4009 hero4010 hero4011" - ;; -moorcroft2b) - nodes="hero4014 hero4015 hero4016 hero4101 hero4102 hero4103 - hero4104 hero4105 hero4106 hero4107 hero4108" - ;; -moorcroft2c) - nodes="hero4109 hero4110 hero4111 hero4112 hero4113 hero4114 hero4115 hero4116" - ;; -wofsy) - nodes="wofsy011 wofsy012 wofsy013 wofsy014 wofsy021 wofsy022 wofsy023 wofsy024" - ;; -camd) - nodes="camd04 camd05 camd06 camd07 camd09 camd10 camd11 camd13" - ;; -unrestricted_parallel) - nodes="hero3103 hero3104 hero3107 hero3108 hero3109 hero3110 - hero3111 hero3112 hero3113 hero3114 hero3115 hero3116 - hero3201 hero3202 hero3203 hero3204 hero3205 hero3206 - hero3207 hero3208 hero3209 hero3210 hero3211 hero3212 - hero3213 hero3214 hero3215 hero3216" - ;; -unrestricted_serial) - nodes="hero1301 hero1912 soph57 soph58 soph59 soph60 soph61 soph62 soph63 soph64" - ;; -long_serial) - nodes="soph01 soph02 soph03 soph04 soph05 soph06 soph07 soph08 - soph09 soph10 soph11 soph12 soph13 soph14 soph15 soph16 - soph17 soph18 soph19 soph20 soph22 soph23 soph24 soph25 - soph26 soph27 soph28 soph29 soph30 soph31 soph32 soph33 - soph34 soph35 soph36 soph37 soph38 soph39 soph40 soph41 - soph42 soph43 soph44 soph45 soph46 soph47 soph48 soph49 - soph51 soph52 soph53 soph54 soph55 soph56" - ;; -*) - echo " I cannot recognise queue ${queue}..." - exit 39 - ;; -esac -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Delete the files in all nodes that the queue uses. # -#------------------------------------------------------------------------------------------# -for node in ${nodes} -do - echo -n " Scheduling files for deletion - node ${node}..." - ssh ${node} /bin/mv /scratch/${myself} /scratch/goodbye-${myself} 1> /dev/null 2>&1 - ssh ${node} rm -fr /scratch/goodbye-${myself} 1> /dev/null 2>&1 & - echo "Done!" -done -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/SLURM/delall.sh b/ED/Template/scripts/SLURM/delall.sh deleted file mode 100755 index d06c12487..000000000 --- a/ED/Template/scripts/SLURM/delall.sh +++ /dev/null @@ -1,251 +0,0 @@ -#!/bin/bash -here=$(pwd) -moi=$(whoami) -diskthere="" -joborder="${here}/joborder.txt" - -#----- Find the output path (both local and remote paths will be cleaned). ----------------# -basehere=$(basename ${here}) -dirhere=$(dirname ${here}) -while [ ${basehere} != ${moi} ] -do - basehere=$(basename ${dirhere}) - dirhere=$(dirname ${dirhere}) -done -diskhere=${dirhere} -if [ "x${diskthere}" == "x" ] -then - diskthere=${diskhere} - there=${here} -else - there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) -fi -echo "-------------------------------------------------------------------------------" -echo " - Simulation control on disk: ${diskhere}" -echo " - Output on disk: ${diskthere}" -echo "-------------------------------------------------------------------------------" -#------------------------------------------------------------------------------------------# - - - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -#------------------------------------------------------------------------------------------# - - - - -#----- Check that the user is aware that it will remove everything... ---------------------# -if [ "x${1}" == "x-d" ] -then - echo "Are you sure that you want to remove all files and directories? [y/N]" -else - echo "Are you sure that you want to remove all files? [y/N]" -fi -read proceed -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi -#------------------------------------------------------------------------------------------# - - - -#----- Check that the user is aware that it will remove everything... ---------------------# -echo " " -if [ "x${1}" == "x-d" ] -then - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo " " - echo " Look, this will REALLY delete all ${npolys} output directories and files..." - echo " " - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -else - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo " " - echo " Look, this will REALLY delete all ${npolys} output files..." - echo " " - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -fi - -echo "This is PERMANENT, once they are gone, adieu, no chance to recover them!" -echo "Is that what you really want? [y/N]" -read proceed - -echo " " - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "Okay then, but if you regret later do not say that I did not warn you..." -echo "I am giving you a few seconds to kill this script in case you change your mind..." -delfun=16 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Deletion will begin in ${delfun} seconds..." - sleep 1 -done -#------------------------------------------------------------------------------------------# - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - - if [ "x${1}" == "x-d" ] - then - rm -frv "${here}/${polyname}" - rm -frv "${there}/${polyname}" - else - /bin/cp "${here}/Template/purge.sh" "${here}/${polyname}/purge.sh" - /bin/cp "${here}/Template/purge.sh" "${there}/${polyname}/purge.sh" - cd "${here}/${polyname}" - ./purge.sh - cd "${there}/${polyname}" - ./purge.sh - fi -done -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/SLURM/reset.sh b/ED/Template/scripts/SLURM/reset.sh deleted file mode 100755 index f5d1e0015..000000000 --- a/ED/Template/scripts/SLURM/reset.sh +++ /dev/null @@ -1,398 +0,0 @@ -#!/bin/sh -here=$(pwd) -moi=$(whoami) -diskthere="/n/moorcroftfs2" -joborder="${here}/joborder.txt" - -desc=$(basename ${here}) - -#----- Executable name. -------------------------------------------------------------------# -execname="ed_2.2-opt" -execsrc="${HOME}/EDBRAMS/ED/build" -#------------------------------------------------------------------------------------------# - - -#----- Find the output path (both local and remote paths will be cleaned). ----------------# -basehere=$(basename ${here}) -dirhere=$(dirname ${here}) -while [ ${basehere} != ${moi} ] -do - basehere=$(basename ${dirhere}) - dirhere=$(dirname ${dirhere}) -done -diskhere=${dirhere} -echo "-------------------------------------------------------------------------------" -echo " - Simulation control on disk: ${diskhere}" -echo " - Output on disk: ${diskthere}" -echo "-------------------------------------------------------------------------------" -there=$(echo ${here} | sed s@${diskhere}@${diskthere}@g) -#------------------------------------------------------------------------------------------# - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -#------------------------------------------------------------------------------------------# - - -#----- Check that the user is aware that it will remove everything... ---------------------# -if [ "x${1}" == "x-d" ] -then - echo "Are you sure you want to stop all jobs, and remove all files and folders? [y/N]" -else - echo "Are you sure you want to stop all jobs, and remove all files? [y/N]" -fi -read proceed - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo " " -echo " Look, this will really stop ALL your jobs and delete all files!!!" -echo " Are you sure? [y/N]" -echo " " -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -read proceed - -if [ "x${proceed}" != "xy" ] && [ "x${proceed}" != "xY" ] -then - exit -fi - -echo "Okay then, but if you regret later don't say that I did not warn you..." -echo "I'm giving you a few seconds to kill this script in case you change your mind..." -delfun=11 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Job stopping will begin in ${delfun} seconds..." - sleep 1 -done -#------------------------------------------------------------------------------------------# - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - scancel -n ${desc}-${polyname} -p ${queue} -done -#------------------------------------------------------------------------------------------# - - -delfun=16 -while [ ${delfun} -gt 1 ] -do - let delfun=${delfun}-1 - echo " - Files will be deleted in ${delfun} seconds..." - sleep 1 -done - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - - if [ "x${1}" == "x-d" ] - then - rm -frv "${here}/${polyname}" - rm -frv "${there}/${polyname}" - else - /bin/cp "${here}/Template/purge.sh" "${here}/${polyname}/purge.sh" - /bin/cp "${here}/Template/purge.sh" "${there}/${polyname}/purge.sh" - cd "${here}/${polyname}" - ./purge.sh - cd "${there}/${polyname}" - ./purge.sh - fi -done -#------------------------------------------------------------------------------------------# - - - - -#------------------------------------------------------------------------------------------# -# Replace the executable. # -#------------------------------------------------------------------------------------------# -cd ${here} -if [ -s ${here}/executable/${execname} ] -then - rm -frv ${here}/executable/${execname} - cp -fv ${execsrc}/${execname} ${here}/executable -fi -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/SLURM/sim_sitter.sh b/ED/Template/scripts/SLURM/sim_sitter.sh deleted file mode 100755 index ca6ae2732..000000000 --- a/ED/Template/scripts/SLURM/sim_sitter.sh +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/bash - -#----- Main settings. Do look at run_sitter.sh and epost.sh for additional settings. -----# -here=$(pwd) # Current path. -there="/path/to/permanent/storage" # Permanent storage path (leave empty for no transfer) -email="myself\@myserver.com" # Your e-mail. Put a backslash before the @ -queue="myqueue" # Queue to run run_sitter.sh and epost.sh -runtime="infinite" # Run time request -memory=2048 # Requested memory (Mb) -sbatch=$(which sbatch) # SLURM command to submit job. -rscript="read_monthly.r" # Which script to run with epost.sh. See options below. - # Multiple scripts are allowed, put spaces between - # them. (e.g. rscript="plot_monthly.r plot_fast.r") -frqemail=43200 # How often to send emails on simulation status? -delay1st_min=20 # Time (in minutes) to wait before the first check - # (needed in case the run_sitter script is submitted - # before the simulation starts. In case the - # simulation is already running, it is fine to set - # this to zero). -wait_minutes=60 # Waiting time before checking run again (in minutes) -frqpost=3 # How often to run post-processing and file management - # This number is in iterations. Zero means never. -frqtouch=0 # How often to touch executable, scripts, and Template? - # This number is in iterations. Zero means never. -checkhourly="n" # Check hourly files. -checkstatus="y" # Check status before compressing -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Which scripts to run. # -# # -# - read_monthly.r - This reads the monthly mean files (results can then be used for # -# plot_monthly.r, plot_yearly.r, and others, but it doesn't plot any- # -# thing.) # -# - yearly_ascii.r - This creates three ascii (csv) files with annual averages of # -# various variables. It doesn't have all possible variables as it is # -# intended to simplify the output for learning purposes. # -# - plot_monthly.r - This creates several plots based on the monthly mean output. # -# - plot_yearly.r - This creates plots with year time series. # -# - plot_ycomp.r - This creates yearly comparisons based on the monthly mean output. # -# - plot_povray.r - This creates yearly plots of the polygon using POV-Ray. # -# - plot_rk4.r - This creates plots from the detailed output for Runge-Kutta. # -# (patch-level only). # -# - plot_photo.r - This creates plots from the detailed output for Farquhar-Leuning. # -# - plot_rk4pc.r - This creates plots from the detailed output for Runge-Kutta. # -# (patch- and cohort-level). # -# - plot_budget.r - This creates plots from the detailed budget for Runge-Kutta. # -# (patch-level only). # -# - plot_eval_ed.r - This creates plots comparing model with eddy flux observations. # -# - plot_census.r - This creates plots comparing model with biometric data. # -# - whichrun.r - This checks the run status. # -# # -# The following scripts should work too, but I haven't tested them. # -# - plot_daily.r - This creates plots from the daily mean output. # -# - plot_fast.r - This creates plots from the analysis files. # -# - patchprops.r - This creates simple plots showing the patch structure. # -# - reject_ed.r - This tracks the number of steps that were rejected, and what caused # -# the step to be rejected. # -#------------------------------------------------------------------------------------------# - - -#----- Make sure e-mail and queue are pre-defined. ----------------------------------------# -if [[ "x${email}" == "x" ]] || [[ "x${queue}" == "x" ]] || [[ "x${rscript}" == "x" ]] -then - echo "---------------------------------------------------------------------------------" - echo " The following variables must be set. In case any of them are empty, check" - echo " your script sim_sitter.sh." - echo " " - echo " email = ${email}" - echo " queue = ${queue}" - echo " rscript = ${rscript}" - echo " " - echo "---------------------------------------------------------------------------------" - exit 99 -fi -#------------------------------------------------------------------------------------------# - - - -#----- Make substitutions. ----------------------------------------------------------------# -sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${here}/run_sitter.sh -sed -i~ s@"recipient=\"\""@"recipient=\"${email}\""@g ${here}/run_sitter.sh -sed -i~ s@"frqemail=\"\""@"frqemail=${frqemail}"@g ${here}/run_sitter.sh -sed -i~ s@"delay1st_min=\"\""@"delay1st_min=${delay1st_min}"@g ${here}/run_sitter.sh -sed -i~ s@"wait_minutes=\"\""@"wait_minutes=${wait_minutes}"@g ${here}/run_sitter.sh -sed -i~ s@"frqpost=\"\""@"frqpost=${frqpost}"@g ${here}/run_sitter.sh -sed -i~ s@"frqtouch=\"\""@"frqtouch=${frqtouch}"@g ${here}/run_sitter.sh -sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${here}/epost.sh -sed -i~ s@"global_queue=\"\""@"global_queue=\"${queue}\""@g ${here}/epost.sh -sed -i~ s@"rscript=\"\""@"rscript=\"${rscript}\""@g ${here}/epost.sh -sed -i~ s@"submit=false"@"submit=true"@g ${here}/epost.sh -sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${here}/transfer.sh -sed -i~ s@"there=\"\""@"there=\"${there}\""@g ${here}/transfer.sh -sed -i~ s@"here=\"\""@"here=\"${here}\""@g ${here}/last_histo.sh -sed -i~ s@"there=\"\""@"there=\"${there}\""@g ${here}/last_histo.sh -sed -i~ s@"checkhourly=\"\""@"checkhourly=\"${checkhourly}\""@g ${here}/last_histo.sh -sed -i~ s@"checkstatus=\"\""@"checkstatus=\"${checkstatus}\""@g ${here}/last_histo.sh -#------------------------------------------------------------------------------------------# - - -#----- Job preferences. -------------------------------------------------------------------# -joblog="${here}/out_sitter.out" -jobpref=$(basename ${here}) -jobname="${jobpref}-control" -jobmain="${jobpref}-sims" -#------------------------------------------------------------------------------------------# - - -#------ Check ID of main job name, so it includes a dependency. ---------------------------# -mainid=$(sjobs | grep -i ${jobmain} | grep -v CANCELLED | grep -v COMPLETED | grep -v COMPLETING | grep -v FAILED | awk '{print $1}') -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Check whether to submit the job. # -#------------------------------------------------------------------------------------------# -if [[ "x${mainid}" == "x" ]] -then - echo " Job name ${jobmain} was not found, so the run_sitter.sh job will not be queued." - goahead="n" -elif [[ -s "${here}/run_sitter.lock" ]] || [[ -s "${here}/transfer.lock" ]] -then - echo " Lock file found for run_sitter.sh and/or transfer.lock." - echo " The scripts may be already running." - echo " Submit the script anyway [y|N]?" - read goahead -else - goahead="y" -fi -goahead="$(echo ${goahead} | tr '[:upper:]' '[:lower:]')" -#------------------------------------------------------------------------------------------# - - -#----- Submit run_sitter.sh in batch mode. ------------------------------------------------# -comm="${sbatch} -p ${queue} --mem-per-cpu=${memory} -t ${runtime} -o ${joblog}" -comm="${comm} -J ${jobname} -n 1 --dependency=after:${mainid}" -comm="${comm} --wrap=\"${here}/run_sitter.sh\"" -case ${goahead} in -y|yes) - /bin/rm -f ${here}/run_sitter.lock - /bin/rm -f ${here}/transfer.lock - echo ${comm} - ${comm} - ;; -*) - bann="Script run_sitter was not submitted. In case you want to submit manually" - bann="${bann} this is the command:" - echo ${bann} - echo " " - echo ${comm} - ;; -esac -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/scripts/SLURM/transfer.sh b/ED/Template/scripts/SLURM/transfer.sh deleted file mode 100755 index f2c39f890..000000000 --- a/ED/Template/scripts/SLURM/transfer.sh +++ /dev/null @@ -1,304 +0,0 @@ -#!/bin/bash - -#==========================================================================================# -#==========================================================================================# -# Main settings: # -#------------------------------------------------------------------------------------------# -#----- Main path, usually set by $(pwd) so you don't need to change it. -------------------# -here="" -#----- Location to create the copy of these files. ----------------------------------------# -there="" -#----- File containing the list of jobs and their settings: -------------------------------# -joborder="${here}/joborder.txt" -#----- Command to be used for rsync. ------------------------------------------------------# -frsync="rsync -Putq --links --copy-unsafe-links" -rrsync="rsync -Prutq --links --copy-unsafe-links" -#------------------------------------------------------------------------------------------# - - - - - -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -# Unless you are going to modify the scripts, you don't need to change anything beyond # -# this point. # -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# -#==========================================================================================# - - -#------------------------------------------------------------------------------------------# -# First check that the main path and e-mail have been set. If not, don't run. # -#------------------------------------------------------------------------------------------# -if [ "x${here}" == "x" ] || [ "x${there}" == "x" ] -then - echo " You must set some variables before running the script:" - echo " Check variables \"here\" and \"there\"!" - exit 99 -fi -#------------------------------------------------------------------------------------------# - - - - -#----- Check whether run_sitter.sh is still running or not. If it is, exit. --------------# -if [[ "${here}" == "${there}" ]] -then - echo " Source and destination paths are the same. Transfer is not needed." - exit 0 -elif [[ -s ${here}/transfer.lock ]] -then - echo " Script transfer is running. Skip transfer for the time being." - exit -else - echo "I am going to back up your run." > ${here}/transfer.lock -fi -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Create the output path in case it isn't there. # -#------------------------------------------------------------------------------------------# -if [ ! -s ${there} ] -then - echo "Create backup path: ${there}." - mkdir -p ${there} -fi -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# First, copy the files at the basal directory. # -#------------------------------------------------------------------------------------------# -echo " + Copy files from the main directory." -${frsync} ${here}/* ${there} -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Then copy the fixed directories. # -#------------------------------------------------------------------------------------------# -echo " + Copy executable." -${rrsync} ${here}/executable ${there} -echo " + Copy sit_utils." -${rrsync} ${here}/sit_utils ${there} -echo " + Copy Template." -${rrsync} ${here}/Template ${there} -#------------------------------------------------------------------------------------------# - - - - -#----- Determine the number of polygons to run. -------------------------------------------# -let npolys=$(wc -l ${joborder} | awk '{print $1 }')-3 -#------------------------------------------------------------------------------------------# - - - -#------------------------------------------------------------------------------------------# -# Loop over all polygons. # -#------------------------------------------------------------------------------------------# -ff=0 -while [ ${ff} -lt ${npolys} ] -do - let ff=${ff}+1 - let line=${ff}+3 - - - #---------------------------------------------------------------------------------------# - # Format count. # - #---------------------------------------------------------------------------------------# - if [ ${npolys} -ge 10 ] && [ ${npolys} -lt 100 ] - then - ffout=$(printf '%2.2i' ${ff}) - elif [ ${npolys} -ge 100 ] && [ ${npolys} -lt 1000 ] - then - ffout=$(printf '%3.3i' ${ff}) - elif [ ${npolys} -ge 100 ] && [ ${npolys} -lt 10000 ] - then - ffout=$(printf '%4.4i' ${ff}) - else - ffout=${ff} - fi - ffout="${ffout} of ${npolys}" - #---------------------------------------------------------------------------------------# - - - - #---------------------------------------------------------------------------------------# - # Read the ffth line of the polygon list. There must be smarter ways of doing # - # this, but this works. Here we obtain the polygon name, and its longitude and # - # latitude. # - #---------------------------------------------------------------------------------------# - oi=$(head -${line} ${joborder} | tail -1) - polyname=$(echo ${oi} | awk '{print $1 }') - polyiata=$(echo ${oi} | awk '{print $2 }') - polylon=$(echo ${oi} | awk '{print $3 }') - polylat=$(echo ${oi} | awk '{print $4 }') - yeara=$(echo ${oi} | awk '{print $5 }') - montha=$(echo ${oi} | awk '{print $6 }') - datea=$(echo ${oi} | awk '{print $7 }') - timea=$(echo ${oi} | awk '{print $8 }') - yearz=$(echo ${oi} | awk '{print $9 }') - monthz=$(echo ${oi} | awk '{print $10 }') - datez=$(echo ${oi} | awk '{print $11 }') - timez=$(echo ${oi} | awk '{print $12 }') - initmode=$(echo ${oi} | awk '{print $13 }') - iscenario=$(echo ${oi} | awk '{print $14 }') - isizepft=$(echo ${oi} | awk '{print $15 }') - iage=$(echo ${oi} | awk '{print $16 }') - imaxcohort=$(echo ${oi} | awk '{print $17 }') - polyisoil=$(echo ${oi} | awk '{print $18 }') - polyntext=$(echo ${oi} | awk '{print $19 }') - polysand=$(echo ${oi} | awk '{print $20 }') - polyclay=$(echo ${oi} | awk '{print $21 }') - polyslsoc=$(echo ${oi} | awk '{print $22 }') - polyslph=$(echo ${oi} | awk '{print $23 }') - polyslcec=$(echo ${oi} | awk '{print $24 }') - polysldbd=$(echo ${oi} | awk '{print $25 }') - polydepth=$(echo ${oi} | awk '{print $26 }') - polyslhydro=$(echo ${oi} | awk '{print $27 }') - polysoilbc=$(echo ${oi} | awk '{print $28 }') - polysldrain=$(echo ${oi} | awk '{print $29 }') - polycol=$(echo ${oi} | awk '{print $30 }') - slzres=$(echo ${oi} | awk '{print $31 }') - queue=$(echo ${oi} | awk '{print $32 }') - metdriver=$(echo ${oi} | awk '{print $33 }') - dtlsm=$(echo ${oi} | awk '{print $34 }') - monyrstep=$(echo ${oi} | awk '{print $35 }') - iphysiol=$(echo ${oi} | awk '{print $36 }') - vmfactc3=$(echo ${oi} | awk '{print $37 }') - vmfactc4=$(echo ${oi} | awk '{print $38 }') - mphototrc3=$(echo ${oi} | awk '{print $39 }') - mphototec3=$(echo ${oi} | awk '{print $40 }') - mphotoc4=$(echo ${oi} | awk '{print $41 }') - bphotoblc3=$(echo ${oi} | awk '{print $42 }') - bphotonlc3=$(echo ${oi} | awk '{print $43 }') - bphotoc4=$(echo ${oi} | awk '{print $44 }') - kwgrass=$(echo ${oi} | awk '{print $45 }') - kwtree=$(echo ${oi} | awk '{print $46 }') - gammac3=$(echo ${oi} | awk '{print $47 }') - gammac4=$(echo ${oi} | awk '{print $48 }') - d0grass=$(echo ${oi} | awk '{print $49 }') - d0tree=$(echo ${oi} | awk '{print $50 }') - alphac3=$(echo ${oi} | awk '{print $51 }') - alphac4=$(echo ${oi} | awk '{print $52 }') - klowco2=$(echo ${oi} | awk '{print $53 }') - decomp=$(echo ${oi} | awk '{print $54 }') - rrffact=$(echo ${oi} | awk '{print $55 }') - growthresp=$(echo ${oi} | awk '{print $56 }') - lwidthgrass=$(echo ${oi} | awk '{print $57 }') - lwidthbltree=$(echo ${oi} | awk '{print $58 }') - lwidthnltree=$(echo ${oi} | awk '{print $59 }') - q10c3=$(echo ${oi} | awk '{print $60 }') - q10c4=$(echo ${oi} | awk '{print $61 }') - h2olimit=$(echo ${oi} | awk '{print $62 }') - imortscheme=$(echo ${oi} | awk '{print $63 }') - ddmortconst=$(echo ${oi} | awk '{print $64 }') - cbrscheme=$(echo ${oi} | awk '{print $65 }') - isfclyrm=$(echo ${oi} | awk '{print $66 }') - icanturb=$(echo ${oi} | awk '{print $67 }') - ubmin=$(echo ${oi} | awk '{print $68 }') - ugbmin=$(echo ${oi} | awk '{print $69 }') - ustmin=$(echo ${oi} | awk '{print $70 }') - gamm=$(echo ${oi} | awk '{print $71 }') - gamh=$(echo ${oi} | awk '{print $72 }') - tprandtl=$(echo ${oi} | awk '{print $73 }') - ribmax=$(echo ${oi} | awk '{print $74 }') - atmco2=$(echo ${oi} | awk '{print $75 }') - thcrit=$(echo ${oi} | awk '{print $76 }') - smfire=$(echo ${oi} | awk '{print $77 }') - ifire=$(echo ${oi} | awk '{print $78 }') - fireparm=$(echo ${oi} | awk '{print $79 }') - ipercol=$(echo ${oi} | awk '{print $80 }') - runoff=$(echo ${oi} | awk '{print $81 }') - imetrad=$(echo ${oi} | awk '{print $82 }') - ibranch=$(echo ${oi} | awk '{print $83 }') - icanrad=$(echo ${oi} | awk '{print $84 }') - ihrzrad=$(echo ${oi} | awk '{print $85 }') - crown=$(echo ${oi} | awk '{print $86 }') - ltransvis=$(echo ${oi} | awk '{print $87 }') - lreflectvis=$(echo ${oi} | awk '{print $88 }') - ltransnir=$(echo ${oi} | awk '{print $89 }') - lreflectnir=$(echo ${oi} | awk '{print $90 }') - orienttree=$(echo ${oi} | awk '{print $91 }') - orientgrass=$(echo ${oi} | awk '{print $92 }') - clumptree=$(echo ${oi} | awk '{print $93 }') - clumpgrass=$(echo ${oi} | awk '{print $94 }') - igoutput=$(echo ${oi} | awk '{print $95 }') - ivegtdyn=$(echo ${oi} | awk '{print $96 }') - ihydro=$(echo ${oi} | awk '{print $97 }') - istemresp=$(echo ${oi} | awk '{print $98 }') - istomata=$(echo ${oi} | awk '{print $99 }') - iplastic=$(echo ${oi} | awk '{print $100}') - icarbonmort=$(echo ${oi} | awk '{print $101}') - ihydromort=$(echo ${oi} | awk '{print $102}') - igndvap=$(echo ${oi} | awk '{print $103}') - iphen=$(echo ${oi} | awk '{print $104}') - iallom=$(echo ${oi} | awk '{print $105}') - ieconomics=$(echo ${oi} | awk '{print $106}') - igrass=$(echo ${oi} | awk '{print $107}') - ibigleaf=$(echo ${oi} | awk '{print $108}') - integscheme=$(echo ${oi} | awk '{print $109}') - nsubeuler=$(echo ${oi} | awk '{print $110}') - irepro=$(echo ${oi} | awk '{print $111}') - treefall=$(echo ${oi} | awk '{print $112}') - ianthdisturb=$(echo ${oi} | awk '{print $113}') - ianthdataset=$(echo ${oi} | awk '{print $114}') - slscale=$(echo ${oi} | awk '{print $115}') - slyrfirst=$(echo ${oi} | awk '{print $116}') - slnyrs=$(echo ${oi} | awk '{print $117}') - bioharv=$(echo ${oi} | awk '{print $118}') - skidarea=$(echo ${oi} | awk '{print $119}') - skidsmall=$(echo ${oi} | awk '{print $120}') - skidlarge=$(echo ${oi} | awk '{print $121}') - fellingsmall=$(echo ${oi} | awk '{print $122}') - #---------------------------------------------------------------------------------------# - - - #----- Check whether the directories exist or not, and stop the script if they do. -----# - if [ -s ${here}/${polyname} ] - then - echo -n " + Copy ${polyname} (${ffout})." - - #----- Sync this directory. ---------------------------------------------------------# - ${rrsync} ${here}/${polyname} ${there} - #------------------------------------------------------------------------------------# - - echo "Done!" - else - echo " + Skip ${polyname} (${ffout})." - fi - #---------------------------------------------------------------------------------------# -done -#------------------------------------------------------------------------------------------# - - -#----- Clean-up stuff. --------------------------------------------------------------------# -echo " Unlock transfer.sh." -/bin/rm -f ${here}/transfer.lock -echo "==== transfer.sh execution ends. ====" -#------------------------------------------------------------------------------------------# diff --git a/ED/Template/sit_utils/plot.region.r b/ED/Template/sit_utils/plot.region.r index bcf263c39..97e907dd4 100644 --- a/ED/Template/sit_utils/plot.region.r +++ b/ED/Template/sit_utils/plot.region.r @@ -4,6 +4,8 @@ #------------------------------------------------------------------------------------------# rm(list=ls()) graphics.off() +gc() +options(warn=0) #==========================================================================================# #==========================================================================================# @@ -16,10 +18,16 @@ graphics.off() #----- Paths. -----------------------------------------------------------------------------# -main = "/n/moorcroftfs2/mlongo/EDBRAMS/final_ed/trop_southam/pve+sas" # Main path. -here = file.path(main,"sit_utils") # This path -srcdir = "/n/home00/mlongo/util/Rsc" # Source directory. -outroot = here # Directory for figures +main = "mypath" # Main path. +here = file.path(main,"sit_utils") # This path +srcdir = c( "/home/mlongo/Util/Rsc" # Possible paths with libraries + , "/Users/mlongo/Util/Rsc" # R will select the first + , "/prj/prjidfca/marcosl/Util/Rsc" # one that is found. + , "/prj/bramsolam/marcos.longo/Util/Rsc" # + , "/scratch/bramsolam/marcos.longo/Util/Rsc" # + , "/n/home00/mlongo/Util/Rsc" # + )#end c # +outroot = here # Directory for figures #------------------------------------------------------------------------------------------# @@ -38,22 +46,56 @@ mycheck = file.path(here,"mycheck.txt" ) #----- Plot options. ----------------------------------------------------------------------# -outform = c("png","eps","pdf") # Formats for output file. Supported formats are: - # - "X11" - for printing on screen - # - "eps" - for postscript printing - # - "png" - for PNG printing - # - "pdf" - for PDF printing -depth = 96 # PNG resolution, in pixels per inch -paper = "letter" # Paper size, to define the plot shape -ptsz = 14 # Font size. -lwidth = 2.5 # Line width -inset = 0.01 # inset between legend and edge of plot region. -fracexp = 0.40 # Expand the y axis by this amount. -ncolours = 20 # Number of colours to split the real variables -mtext.xoff = -8.50 # Offset for the x label -mtext.yoff = -1.00 # Offset for the y label -mtext.xadj = 0.50 # Offset for the x label -mtext.yadj = 0.65 # Offset for the y label +outform = c("png") # Formats for output file. Supported formats are: + # - "X11" - for printing on screen + # - "eps" - for postscript printing + # - "png" - for PNG printing + # - "pdf" - for PDF printing +depth = 96 # PNG resolution, in pixels per inch +paper = "letter" # Paper size, to define the plot shape +ptsz = 16 # Font size. +lwidth = 2.5 # Line width +inset = 0.01 # inset between legend and edge of plot region. +fracexp = 0.40 # Expand the y axis by this amount. +ncolours = 20 # Number of colours to split the real variables +st.leg = 1./5. +ey.leg = 1./6. +#------------------------------------------------------------------------------------------# + + +#------ List of variables to make the maps. -----------------------------------------------# +n = 0 +outvars = list() +n = n + 1 +outvars[[n]] = list( vnam = "lai" + , desc = "Leaf area index" + , unit = "m2lom2" + , csch = "pubugn" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "bsa" + , desc = "Basal area" + , unit = "cm2om2" + , csch = "bupu" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "agb" + , desc = "Aboveground carbon" + , unit = "kgcom2" + , csch = "ylgnbu" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "scb" + , desc = "Soil carbon" + , unit = "kgcom2" + , csch = "orrd" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "npa" + , desc = "Patch count" + , unit = "empty" + , csch = "magma" + )#end list #------------------------------------------------------------------------------------------# @@ -72,10 +114,18 @@ mtext.yadj = 0.65 # Offset for the y label #==========================================================================================# #==========================================================================================# +#----- Check that directory main has been set. --------------------------------------------# +if (! dir.exists(main)){ + cat (" Main: ",main,"\n") + stop(" Directory main is incorrect or has not been set!!!") +}#end if +#------------------------------------------------------------------------------------------# + #----- Loading some packages and scripts. -------------------------------------------------# +srcdir = (srcdir[file.exists(srcdir)])[1] source(file.path(srcdir,"load.everything.r")) #------------------------------------------------------------------------------------------# @@ -87,20 +137,16 @@ nout = length (outform) #------------------------------------------------------------------------------------------# -#----- Avoid unecessary and extremely annoying beeps. -------------------------------------# -options(locatorBell=FALSE) -#------------------------------------------------------------------------------------------# - - -#----- Define plot window size ------------------------------------------------------------# -size = plotsize(proje=FALSE,paper=paper) +#----- Convert output var list to data table. ---------------------------------------------# +outvars = list.2.data.table(outvars) +noutvars = nrow(outvars) #------------------------------------------------------------------------------------------# #---- Create the main output directory in case there is none. -----------------------------# -if (! file.exists(outroot)) dir.create(outroot) +dummy = dir.create(outroot,recursive=TRUE,showWarnings=FALSE) #------------------------------------------------------------------------------------------# @@ -108,38 +154,131 @@ if (! file.exists(outroot)) dir.create(outroot) #------------------------------------------------------------------------------------------# # Read job order. We always use this file to build the array. # #------------------------------------------------------------------------------------------# -cat (" + Reading ",basename(joborder),"...","\n") -names.jobs = scan(file=joborder,skip=1,nlines=1,what="character",quiet=TRUE) -names.jobs = gsub(pattern="_",replacement=".",x=tolower(names.jobs)) -jobs = read.table(file=joborder,skip=3,header=FALSE,comment.char="" - ,stringsAsFactors=FALSE) -names(jobs) = names.jobs -njobs = nrow(jobs) +cat0(" + Read ",basename(joborder),".") +names.jobs = scan(file=joborder,skip=1,nlines=1,what="character",quiet=TRUE) +names.jobs = gsub(pattern="_",replacement=".",x=tolower(names.jobs)) +jobs = read.table(file = joborder + ,skip = 3 + ,header = FALSE + ,comment.char = "" + ,stringsAsFactors = FALSE + )#end read.table +names(jobs) = names.jobs +jobs = data.table(jobs) +njobs = nrow(jobs) #------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# # Read the last and the current check. For the current check, we normally skip the # -# last line to avoid trouble, unless the file is complete. # -#------------------------------------------------------------------------------------------# -names.check = c("run","lon","lat","year","month","day","hhmm","runt" - ,"agb","bsa","lai","scb") -cat (" + Reading ",basename(lastcheck),"...","\n") -last = read.table(file=lastcheck,skip=0,header=FALSE,comment.char="" - ,col.names=names.check,stringsAsFactors=FALSE) -cat (" + Reading ",basename(mycheck),"...","\n") -ncurr = length(readLines(mycheck)) -if (ncurr == njobs){ - curr = read.table(file=mycheck,skip=0,header=FALSE,comment.char="" - ,col.names=names.check,stringsAsFactors=FALSE) -}else if (ncurr > 0){ - curr = read.table(file=mycheck,skip=0,nrows=ncurr-1,header=FALSE,comment.char="" - ,col.names=names.check,stringsAsFactors=FALSE) +# last line to avoid trouble, unless the file is complete. Sometimes one of the files # +# (typically last) may be missing. Account for that too. # +#------------------------------------------------------------------------------------------# +names.check = c("run","lon","lat","year","month","day","hhmm","stall","runt" + ,"agb","bsa","lai","scb","npa") +if (file.exists(lastcheck) && file.exists(mycheck)){ + #------ Both files exist, read both. ---------------------------------------------------# + cat0(" + Read ",basename(lastcheck),".") + last = read.table( file = lastcheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + cat0(" + Read ",basename(mycheck),".") + ncurr = length(readLines(mycheck)) + if (ncurr == njobs){ + curr = read.table( file = mycheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else if (ncurr > 0){ + curr = read.table( file = mycheck + , skip = 0 + , nrows = ncurr-1 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else{ + curr = last[ 1,,drop=FALSE] + curr = curr[-1,,drop=FALSE] + }#end if (ncurr == njobs) + #---------------------------------------------------------------------------------------# +}else if(file.exists(lastcheck)){ + #------ Only lastcheck exists, duplicate it. -------------------------------------------# + cat0(" + Read ",basename(lastcheck),".") + last = read.table( file = lastcheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + #---------------------------------------------------------------------------------------# + + #---- Duplicate last. ------------------------------------------------------------------# + curr = last + #---------------------------------------------------------------------------------------# +}else if(file.exists(mycheck )){ + #------ Only mycheck exists. -----------------------------------------------------------# + cat0(" + Read ",basename(mycheck),".") + ncurr = length(readLines(mycheck)) + if (ncurr == njobs){ + curr = read.table( file = mycheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else if (ncurr > 0){ + curr = read.table( file = mycheck + , skip = 0 + , nrows = ncurr-1 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else{ + #------ Nothing to read, stop the run. ----------------------------------------------# + cat0("-----------------------------------------------------------------------------") + cat0(" Last check file not found and current check file is empty/almost empty!") + cat0(" Lastcheck: " ,lastcheck,".") + cat0(" Mycheck: " ,mycheck ,".") + cat0(" Line count in mycheck: ",ncurr ,".") + cat0("-----------------------------------------------------------------------------") + stop(" At least one of these files must exist (ideally both of them).") + #------------------------------------------------------------------------------------# + }#end if (ncurr == njobs) + #---------------------------------------------------------------------------------------# + + #---- Duplicate curr. ------------------------------------------------------------------# + last = curr + #---------------------------------------------------------------------------------------# }else{ - curr = data.frame(rep(NA,times=length(names.check)),names=names.check) - curr = curr[-1,] -}#end f + #------ Nothing to read, stop the run. -------------------------------------------------# + cat0("-----------------------------------------------------------------------------") + cat0(" None of the check files was found!") + cat0(" Lastcheck: ",lastcheck,".") + cat0(" Mycheck: ",mycheck ,".") + cat0("-----------------------------------------------------------------------------") + stop(" At least one of these files must exist (ideally both of them).") + #---------------------------------------------------------------------------------------# +}#end if (file.exists(lastcheck) && file.exists(mycheck)) +#------------------------------------------------------------------------------------------# + + +#----- Turn data frames into data tables. -------------------------------------------------# +last = data.table(last) +curr = data.table(curr) #------------------------------------------------------------------------------------------# @@ -149,12 +288,12 @@ if (ncurr == njobs){ #------------------------------------------------------------------------------------------# # Find the dimensions. # #------------------------------------------------------------------------------------------# -lon = unique(sort(jobs$lon )) -lat = unique(sort(jobs$lat )) +lon = unique(sort(jobs$lon)) +lat = unique(sort(jobs$lat)) dlon = median(diff(lon)) dlat = median(diff(lat)) -n.lon = length(lon ) -n.lat = length(lat ) +n.lon = length(lon) +n.lat = length(lat) key.lon = sprintf("%+06.2f",lon) key.lat = sprintf("%+06.2f",lat) #------------------------------------------------------------------------------------------# @@ -165,31 +304,60 @@ key.lat = sprintf("%+06.2f",lat) #------------------------------------------------------------------------------------------# # Initialise the variables. # #------------------------------------------------------------------------------------------# -template = array( data = NA +r.template = array( data = NA_real_ , dim = c(n.lon,n.lat) , dimnames = list(key.lon,key.lat) )#end array -datum = list ( agb = template - , lai = template - , bsa = template - , scb = template - , status = template - , yearn = template +i.template = array( data = NA_integer_ + , dim = c(n.lon,n.lat) + , dimnames = list(key.lon,key.lat) + )#end array +datum = list ( agb = r.template + , lai = r.template + , bsa = r.template + , scb = r.template + , npa = i.template + , status = i.template + , yearn = i.template )#end list #------------------------------------------------------------------------------------------# +#----- Define plot window size ------------------------------------------------------------# +limlon = range(lon) +limlat = range(lat) +st.ext = st.leg / (1. - st.leg) +st.size = plotsize( proje = TRUE + , limlon = limlon + , limlat = limlat + , extendfc = "lat" + , extfactor = st.ext + , paper = paper + ) +ey.ext = ey.leg / (1. - ey.leg) +ey.size = plotsize( proje = TRUE + , limlon = limlon + , limlat = limlat + , extendfc = "lat" + , extfactor = ey.ext + , paper = paper + ) +#------------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------------# # Copy the information from last check to joborder. # #------------------------------------------------------------------------------------------# jobs$status = rep("INITIAL",times=njobs) jobs$yearn = jobs$yeara -jobs$agb = rep(NA,times=njobs) -jobs$bsa = rep(NA,times=njobs) -jobs$lai = rep(NA,times=njobs) -jobs$scb = rep(NA,times=njobs) +jobs$agb = rep(NA_real_ ,times=njobs) +jobs$bsa = rep(NA_real_ ,times=njobs) +jobs$lai = rep(NA_real_ ,times=njobs) +jobs$scb = rep(NA_real_ ,times=njobs) +jobs$npa = rep(NA_integer_,times=njobs) il = match(last$run,jobs$run); l.sel = ! is.na(il) ic = match(curr$run,jobs$run); c.sel = ! is.na(ic) @@ -198,17 +366,17 @@ jobs$agb [il[l.sel]] = last$agb [l.sel] ; jobs$agb [ic[c.sel]] = curr$agb [ jobs$lai [il[l.sel]] = last$lai [l.sel] ; jobs$lai [ic[c.sel]] = curr$lai [c.sel] jobs$bsa [il[l.sel]] = last$bsa [l.sel] ; jobs$bsa [ic[c.sel]] = curr$bsa [c.sel] jobs$scb [il[l.sel]] = last$scb [l.sel] ; jobs$scb [ic[c.sel]] = curr$scb [c.sel] +jobs$npa [il[l.sel]] = last$npa [l.sel] ; jobs$npa [ic[c.sel]] = curr$npa [c.sel] jobs$yearn [il[l.sel]] = last$year[l.sel] ; jobs$yearn [ic[c.sel]] = curr$year[c.sel] +#------------------------------------------------------------------------------------------# - -keep = names(jobs) %in% c("lon","lat","iata","yeara","yearz","yearn","status" - ,"agb","bsa","lai","scb") -jobs = jobs[,keep] -weird = is.finite(jobs$lai) & abs(jobs$lai) > 20 -jobs$lai[weird] = NA +#----- Select layers that are used for plotting. ------------------------------------------# +keep = names(jobs) %in% c("lon","lat","iata","yeara","yearz","yearn","status" + ,"agb","bsa","lai","scb","npa") +jobs = jobs[,..keep,drop=FALSE] #------------------------------------------------------------------------------------------# @@ -216,13 +384,14 @@ jobs$lai[weird] = NA #------------------------------------------------------------------------------------------# # Find the indices to map the data to the arrays. # #------------------------------------------------------------------------------------------# -i.lon = match(jobs$lon ,lon ) -i.lat = match(jobs$lat ,lat ) +i.lon = match(jobs$lon,lon) +i.lat = match(jobs$lat,lat) index = cbind(i.lon,i.lat) datum$agb [index] = jobs$agb datum$lai [index] = jobs$lai datum$bsa [index] = jobs$bsa datum$scb [index] = jobs$scb +datum$npa [index] = jobs$npa datum$status[index] = jobs$status datum$yearn [index] = jobs$yearn #------------------------------------------------------------------------------------------# @@ -232,14 +401,16 @@ datum$yearn [index] = jobs$yearn #------------------------------------------------------------------------------------------# # Run the matrices. # #------------------------------------------------------------------------------------------# -yr.range = range(c(jobs$yeara,jobs$yearz)) -yr.cut = pretty(yr.range,n=10) -yr.keep = yr.cut > yr.range[1] & yr.cut < yr.range[2] -yr.brks = c(-Inf,c(yr.range[1],yr.cut[yr.keep],yr.range[2])) -n.cut = length(yr.cut)-1 -yr.cut = cut(datum$yearn,yr.brks) -yr.level = levels(yr.cut) -n.level = length(yr.level) +yeara = min(jobs$yeara) +yearz = max(jobs$yearz) +yr.range = pretty.xylim(u=c(yeara,yearz)) +yr.brks = pretty(yr.range,n=10) +yr.keep = (yr.brks %wr% yr.range) & (! yr.brks %in% c(yeara,yearz)) +yr.brks = unique(c(-Inf,yr.brks[yr.keep],Inf)) +n.cut = length(yr.brks)-1 +yr.cut = cut(datum$yearn,yr.brks) +yr.level = levels(yr.cut) +n.level = length(yr.level) #------------------------------------------------------------------------------------------# @@ -248,6 +419,7 @@ n.level = length(yr.level) datum$yr.idx = match(yr.cut,yr.level) + 0 * datum$yearn initial = datum$status == "INITIAL" crashed = datum$status == "CRASHED" +hydfail = datum$status == "HYDFAIL" bad.met = datum$status == "BAD_MET" metmiss = datum$status == "METMISS" stopped = datum$status == "STOPPED" @@ -261,115 +433,124 @@ datum$yr.idx[extinct] = n.level + 3 datum$yr.idx[stopped] = n.level + 4 datum$yr.idx[metmiss] = n.level + 5 datum$yr.idx[bad.met] = n.level + 6 -datum$yr.idx[crashed] = n.level + 7 -yr.cscheme = c("grey89",iatlas(n=n.level),"royalblue4","steelblue3","purple3" - ,"mediumpurple1","deepskyblue","red3","hotpink") -ybottom = rep(0,times=n.level+8) -ytop = rep(1,times=n.level+8) -xleft = seq(from=-1,to=n.level+6) -xright = seq(from= 0,to=n.level+7) -xat = seq(from=-1,to=n.level+6)+0.5 -xbrks = seq(from=-1,to=n.level+7)+0.5 -xlabel = c("Initial",yr.brks[-1],"Finish","StState","Extinct" - ,"Stopped","MetMiss","Bad Met","Crashed") +datum$yr.idx[hydfail] = n.level + 7 +datum$yr.idx[crashed] = n.level + 8 +yr.cscheme = c("grey89",atlas(n=n.level),"royalblue4","steelblue3","purple3" + ,"mediumpurple1","deepskyblue","hotpink","red3","firebrick4") +ybottom = rep(0,times=n.level+9) +ytop = rep(1,times=n.level+9) +xleft = sequence(n.level+9) - 1 +xright = sequence(n.level+9) +xat = c(sequence(n.level+2)-1,n.level+sequence(8)+0.5) +xbrks = sequence(n.level+10)-1-0.5 +xlabel = c("Initial",yeara,yr.brks[-c(1,n.level+1)],yearz,"Finish","StState" + ,"Extinct","Stopped","MetMiss","Bad Met","HydFail","Crashed") #------------------------------------------------------------------------------------------# #------------------------------------------------------------------------------------------# -# Limits for longitude and latitude. # +# Limits and labels for longitude and latitude. # #------------------------------------------------------------------------------------------# -limlon = c(min(lon)-0.5*dlon,max(lon)+0.5*dlon) -limlat = c(min(lat)-0.5*dlat,max(lat)+0.5*dlat) +limlon = c(min(lon)-0.5*dlon,max(lon)+0.5*dlon) +limlat = c(min(lat)-0.5*dlat,max(lat)+0.5*dlat) +lonplot = pretty.lonlat(x=limlon,n=6,type="lon") +latplot = pretty.lonlat(x=limlat,n=6,type="lat") #------------------------------------------------------------------------------------------# -#------------------------------------------------------------------------------------------# + + +#==========================================================================================# +#==========================================================================================# # Create the status map for all sites. # #------------------------------------------------------------------------------------------# -cat(" Plot the current status...","\n") - -#------ Make plot annotation. -------------------------------------------------------------# -letitre = paste("Polygon status") -#------------------------------------------------------------------------------------------# - -for (o in 1:nout){ - #----- Open file. ----------------------------------------------------------------------# - fichier = paste(here,"/stt_region.",outform[o],sep="") - if(outform[o] == "x11"){ - X11(width=size$width,height=size$height,pointsize=ptsz) - }else if(outform[o] == "png"){ - png(filename=fichier,width=size$width*depth,height=size$height*depth - ,pointsize=ptsz,res=depth) - }else if(outform[o] == "eps"){ - postscript(file=fichier,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }else if(outform[o] == "pdf"){ - pdf(file=fichier,onefile=FALSE,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }#end if +cat0(" Plot the current status.") + + #------ Make plot annotation. ----------------------------------------------------------# + letitre = "Polygon status" #---------------------------------------------------------------------------------------# + for (o in sequence(nout)){ + #----- Open file. -------------------------------------------------------------------# + fichier = file.path(here,paste0("stt_region.",outform[o])) + dummy = open.plot( fichier = fichier + , outform = outform[o] + , size = st.size + , ptsz = ptsz + , depth = depth + )#end open.plot + #------------------------------------------------------------------------------------# - #----- Save the margins to avoid losing the data. --------------------------------------# - par.orig = par(no.readonly = TRUE) - mar.orig = par.orig$mar - #---------------------------------------------------------------------------------------# + #----- Load settings and split window. ----------------------------------------------# + par.orig = par(par.user) + #------------------------------------------------------------------------------------# - #---------------------------------------------------------------------------------------# - # Split the plotting window. # - #---------------------------------------------------------------------------------------# - layout( mat = rbind(2,1) - , heights = c(3,1) - )#end layout - #---------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# + # Split the plotting window. # + #------------------------------------------------------------------------------------# + layout(mat = rbind(2,1), heights = c(1.-st.leg,st.leg)) + #------------------------------------------------------------------------------------# - #---------------------------------------------------------------------------------------# - # First, let's plot the legend. # - #---------------------------------------------------------------------------------------# - par(mar=c(3,2,2,2)+0.1) - plot.new() - plot.window(xlim=range(xleft,xright),ylim=range(ybottom,ytop),xaxs="i",yaxs="i") - rect(xleft=xleft,ybottom=ybottom,xright=xright,ytop=ytop,col=yr.cscheme) - box() - axis(side=1,at=xat,srt=45,labels=FALSE) - text(x=xat,y=par("usr")[3]-0.6,labels=xlabel,srt=30,adj=1,xpd=TRUE,cex=1.00) - title(main="Status",ylab="",xlab="") - #---------------------------------------------------------------------------------------# + #------------------------------------------------------------------------------------# + # First, let's plot the legend. # + #------------------------------------------------------------------------------------# + par(mar=c(3.1,3.1,1.1,1.1)) + plot.new() + plot.window( xlim = range(xleft,xright) + , ylim = range(ybottom,ytop) + , xaxs = "i" + , yaxs = "i" + )#end plot.window + rect( xleft = xleft + , ybottom = ybottom + , xright = xright + , ytop = ytop + , col = yr.cscheme + , border = "grey50" + )#end rect + box() + axis(side=1,at=xat,srt=45,labels=FALSE) + text(x=xat,y=par("usr")[3]-0.2,labels=xlabel,srt=45,adj=1,xpd=TRUE,cex=0.95) + title(main="Status",cex.main=1.0) + #------------------------------------------------------------------------------------# - #----- Set the window. -----------------------------------------------------------------# - par(mar = c(3.1,3.1,4.1,2.1)) - plot.new() - plot.window(xlim=limlon,ylim=limlat,xaxs="i",yaxs="i") - axis(side=1) - axis(side=2) - box() - title(main=letitre,xlab="",ylab="") - image(x=lon,y=lat,z=datum$yr.idx,col=yr.cscheme,breaks=xbrks,add=TRUE) - southammap() - #---------------------------------------------------------------------------------------# + #----- Set the window. --------------------------------------------------------------# + par(mar = c(2.1,3.1,1.1,1.1)) + plot.new() + plot.window(xlim=limlon,ylim=limlat,xaxs="i",yaxs="i") + axis(side=1,las=1,at=lonplot$at,labels=lonplot$labels) + axis(side=2,las=1,at=latplot$at,labels=latplot$labels) + box() + image( x = lon + , y = lat + , z = datum$yr.idx + , col = yr.cscheme + , breaks = xbrks + , add = TRUE + )#end image + southammap(col="grey30",lwd=1) + amazonmap (col="black" ,lwd=2) + #------------------------------------------------------------------------------------# - #----- Close the device. ---------------------------------------------------------------# - if (outform[o] == "x11"){ - locator(n=1) - dev.off() - }else{ - dev.off() - }#end if - bye = clean.tmp() + + #----- Close the device. ------------------------------------------------------------# + dummy = close.plot(outform = outform[o]) + #------------------------------------------------------------------------------------# + }#end for (o in sequence(nout)) #---------------------------------------------------------------------------------------# -}#end for -#------------------------------------------------------------------------------------------# +#==========================================================================================# +#==========================================================================================# @@ -377,17 +558,21 @@ for (o in 1:nout){ #------------------------------------------------------------------------------------------# # Create parameter space maps for all other variables. # #------------------------------------------------------------------------------------------# -cat(" Plot the current properties...","\n") -key.var = c("lai","bsa","agb","scb") -desc.var = c("Leaf area index [m2/m2]","Basal area [cm2/m2]" - ,"Above-ground biomass [kgC/m2]","Soil carbon [kgC/m2]") -n.var = length(key.var) -for (v in 1:n.var){ - cat(" - ",desc.var[v],"...","\n") +cat0(" + Plot the current properties.") +for (v in sequence(noutvars)){ + #----- Handy aliases. ------------------------------------------------------------------# + v.vnam = outvars$vnam[v] + v.desc = outvars$desc[v] + v.unit = untab[[outvars$unit[v]]] + v.csch = match.fun(outvars$csch[v]) + cat0(" - ",v.desc,".") + #---------------------------------------------------------------------------------------# + + #----- Collapse realisations using the median. -----------------------------------------# - this.var = datum[[key.var[v]]] - rien = ! is.finite(this.var) - this.var[rien] = NA + v.value = datum[[v.vnam]] + del = ! is.finite(v.value) + v.value[del] = NA_real_ #---------------------------------------------------------------------------------------# @@ -395,55 +580,38 @@ for (v in 1:n.var){ #---------------------------------------------------------------------------------------# # Break the data into bins. # #---------------------------------------------------------------------------------------# - if (all(is.na(this.var))){ - var.brks = c(-1,0,1) - n.brks = length(var.brks) - var.cut = cut(as.numeric(this.var),breaks=var.brks) - }else{ - var.brks = pretty(this.var,n=ncolours) - n.brks = length(var.brks) - var.cut = cut(this.var,breaks=var.brks) - }#end if - var.lev = levels(var.cut) - var.idx = match(var.cut,var.lev) + 0 * this.var - var.cscheme = iatlas(n=n.brks-1) + v.limit = pretty.xylim(v.value) + v.brks = pretty(v.value,n=ncolours) + n.brks = length(v.brks) + v.cut = cut(as.numeric(v.value),breaks=v.brks) + v.lev = levels(v.cut) + v.idx = match(v.cut,v.lev) + 0 * v.value + v.cscheme = v.csch(n=n.brks-1) #---------------------------------------------------------------------------------------# #----- Make the edges. -----------------------------------------------------------------# - xleft = var.brks[-n.brks] - xright = var.brks[ -1] + xleft = v.brks[-n.brks] + xright = v.brks[ -1] ybottom = rep(0,times=n.brks) ytop = rep(1,times=n.brks) - xat = var.brks + xat = v.brks #---------------------------------------------------------------------------------------# - #------ Find the soil texture key and description. -------------------------------------# - letitre = paste(desc.var[v]) - #---------------------------------------------------------------------------------------# - for (o in 1:nout){ + #---------------------------------------------------------------------------------------# + # Loop through formats. # + #---------------------------------------------------------------------------------------# + for (o in sequence(nout)){ #----- Open file. -------------------------------------------------------------------# - fichier = paste(here,"/",key.var[v],"_region.",outform[o],sep="") - if(outform[o] == "x11"){ - X11(width=size$width,height=size$height,pointsize=ptsz) - }else if(outform[o] == "png"){ - png(filename=fichier,width=size$width*depth,height=size$height*depth - ,pointsize=ptsz,res=depth) - }else if(outform[o] == "eps"){ - postscript(file=fichier,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }else if(outform[o] == "pdf"){ - pdf(file=fichier,onefile=FALSE,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }#end if - #------------------------------------------------------------------------------------# - - - #----- Save the margins to avoid losing the data. -----------------------------------# - par.orig = par(no.readonly = TRUE) - mar.orig = par.orig$mar + fichier = file.path(here,paste0(v.vnam,"_region.",outform[o])) + dummy = open.plot( fichier = fichier + , outform = outform[o] + , size = ey.size + , ptsz = ptsz + , depth = depth + )#end open.plot #------------------------------------------------------------------------------------# @@ -451,9 +619,8 @@ for (v in 1:n.var){ #------------------------------------------------------------------------------------# # Split the plotting window. # #------------------------------------------------------------------------------------# - layout( mat = rbind(2,1) - , heights = c(4,1) - )#end layout + par(par.user) + layout(mat=rbind(2,1),heights=c(1.-ey.leg,ey.leg)) #------------------------------------------------------------------------------------# @@ -461,41 +628,41 @@ for (v in 1:n.var){ #------------------------------------------------------------------------------------# # First, let's plot the legend. # #------------------------------------------------------------------------------------# - par(mar=c(3,3,2,2)+0.1) + par(mar=c(2.1,3.1,1.6,1.1)) plot.new() plot.window(xlim=range(xleft,xright),ylim=range(ybottom,ytop),xaxs="i",yaxs="i") - rect(xleft=xleft,ybottom=ybottom,xright=xright,ytop=ytop,col=var.cscheme) + rect( xleft = xleft + , ybottom = ybottom + , xright = xright + , ytop = ytop + , col = v.cscheme + , border = "transparent" + )#end rect box() axis(side=1,at=xat) - title(main=desc.var[v],xlab="",ylab="") + title(main=desc.unit(desc=v.desc,unit=v.unit),cex.main=1.0) #------------------------------------------------------------------------------------# #----- Set the window. --------------------------------------------------------------# - par(mar = c(3.1,3.1,4.1,2.1)) + par(mar = c(2.1,3.1,1.1,1.1)) plot.new() plot.window(xlim=limlon,ylim=limlat,xaxs="i",yaxs="i") - axis(side=1) - axis(side=2) + axis(side=1,las=1,at=lonplot$at,labels=lonplot$labels) + axis(side=2,las=1,at=latplot$at,labels=latplot$labels) box() - title(main=letitre,xlab="",ylab="") - image(x=lon,y=lat,z=this.var,col=var.cscheme,breaks=var.brks,add=TRUE) - southammap() + image(x=lon,y=lat,z=v.value,col=v.cscheme,breaks=v.brks,add=TRUE) + southammap(col="grey30",lwd=1) + amazonmap (col="black" ,lwd=2) #------------------------------------------------------------------------------------# #----- Close the device. ------------------------------------------------------------# - if (outform[o] == "x11"){ - locator(n=1) - dev.off() - }else{ - dev.off() - }#end if - bye = clean.tmp() + dummy = close.plot(outform=outform[o]) #------------------------------------------------------------------------------------# - }#end for + }#end for (o in sequence(nout)) #---------------------------------------------------------------------------------------# -}#end for +}#end for (v in sequence(noutvars)) #------------------------------------------------------------------------------------------# diff --git a/ED/Template/sit_utils/plot.status.r b/ED/Template/sit_utils/plot.status.r index e148cbc8f..9f0c9001d 100644 --- a/ED/Template/sit_utils/plot.status.r +++ b/ED/Template/sit_utils/plot.status.r @@ -16,11 +16,16 @@ graphics.off() #----- Paths. -----------------------------------------------------------------------------# -main = "/x/xxxxxxxxxxxx/xxxxxx/xxxxxxx/xxxxxxxx" # Main simulation directory. -here = file.path(main,"sit_utils") # This directory. - -srcdir = "/n/home00/mlongo/util/Rsc" # Source directory. -outroot = here # Directory for figures +main = "mypath" # Main path (one up sit_utils). +here = file.path(main,"sit_utils") # This path +srcdir = c( "/home/mlongo/Util/Rsc" # Possible paths with libraries + , "/Users/mlongo/Util/Rsc" # R will select the first + , "/prj/prjidfca/marcosl/Util/Rsc" # one that is found. + , "/prj/bramsolam/marcos.longo/Util/Rsc" # + , "/scratch/bramsolam/marcos.longo/Util/Rsc" # + , "/n/home00/mlongo/Util/Rsc" # + )#end c # +outroot = here # Directory for figures #------------------------------------------------------------------------------------------# @@ -58,6 +63,43 @@ mtext.yadj = 0.65 # Offset for the y label #------------------------------------------------------------------------------------------# +#------ List of variables to make the maps. -----------------------------------------------# +n = 0 +outvars = list() +n = n + 1 +outvars[[n]] = list( vnam = "lai" + , desc = "Leaf area index" + , unit = "m2lom2" + , csch = "pubugn" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "bsa" + , desc = "Basal area" + , unit = "cm2om2" + , csch = "bupu" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "agb" + , desc = "Aboveground carbon" + , unit = "kgcom2" + , csch = "ylgnbu" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "scb" + , desc = "Soil carbon" + , unit = "kgcom2" + , csch = "orrd" + )#end list +n = n + 1 +outvars[[n]] = list( vnam = "npa" + , desc = "Patch count" + , unit = "empty" + , csch = "magma" + )#end list +#------------------------------------------------------------------------------------------# + + + #==========================================================================================# #==========================================================================================# @@ -74,28 +116,32 @@ mtext.yadj = 0.65 # Offset for the y label #==========================================================================================# #----- Check that directory main has been set. --------------------------------------------# -if ( main == "/x/xxxxxxxxxxxx/xxxxxx/xxxxxxx/xxxxxxxx"){ +if (! dir.exists(main)){ cat (" Main: ",main,"\n") - stop(" Directory main has not been set!!!") + stop(" Directory main is incorrect or has not been set!!!") }#end if #------------------------------------------------------------------------------------------# + #----- Loading some packages and scripts. -------------------------------------------------# +srcdir = (srcdir[file.exists(srcdir)])[1] source(file.path(srcdir,"load.everything.r")) #------------------------------------------------------------------------------------------# -#----- Set how many formats we must output. -----------------------------------------------# -outform = tolower(outform) -nout = length (outform) +#----- Convert output var list to data table. ---------------------------------------------# +outvars = list.2.data.table(outvars) +noutvars = nrow(outvars) #------------------------------------------------------------------------------------------# -#----- Avoid unecessary and extremely annoying beeps. -------------------------------------# -options(locatorBell=FALSE) + +#----- Set how many formats we must output. -----------------------------------------------# +outform = tolower(outform) +nout = length (outform) #------------------------------------------------------------------------------------------# @@ -107,7 +153,7 @@ size = plotsize(proje=FALSE,paper=paper) #---- Create the main output directory in case there is none. -----------------------------# -if (! file.exists(outroot)) dir.create(outroot) +dummy = dir.create(outroot,recursive=TRUE,showWarnings=FALSE) #------------------------------------------------------------------------------------------# @@ -115,7 +161,7 @@ if (! file.exists(outroot)) dir.create(outroot) #------------------------------------------------------------------------------------------# # Read job order. We always use this file to build the array. # #------------------------------------------------------------------------------------------# -cat (" + Reading ",basename(joborder),"...","\n") +cat0(" + Read ",basename(joborder),".") names.jobs = scan(file=joborder,skip=1,nlines=1,what="character",quiet=TRUE) names.jobs = gsub(pattern="_",replacement=".",x=tolower(names.jobs)) jobs = read.table(file=joborder,skip=3,header=FALSE,comment.char="" @@ -131,25 +177,113 @@ jobs$realisation = as.numeric(substring(jobs$run,23,24)) #------------------------------------------------------------------------------------------# # Read the last and the current check. For the current check, we normally skip the # -# last line to avoid trouble, unless the file is complete. # +# last line to avoid trouble, unless the file is complete. Sometimes one of the files # +# (typically last) may be missing. Account for that too. # #------------------------------------------------------------------------------------------# -names.check = c("run","lon","lat","year","month","day","hhmm","runt" +names.check = c("run","lon","lat","year","month","day","hhmm","stall","runt" ,"agb","bsa","lai","scb","npa") -cat (" + Reading ",basename(lastcheck),"...","\n") -last = read.table(file=lastcheck,skip=0,header=FALSE,comment.char="" - ,col.names=names.check,stringsAsFactors=FALSE) -cat (" + Reading ",basename(mycheck),"...","\n") -ncurr = length(readLines(mycheck)) -if (ncurr == njobs){ - curr = read.table(file=mycheck,skip=0,header=FALSE,comment.char="" - ,col.names=names.check,stringsAsFactors=FALSE) -}else if (ncurr > 0){ - curr = read.table(file=mycheck,skip=0,nrows=ncurr-1,header=FALSE,comment.char="" - ,col.names=names.check,stringsAsFactors=FALSE) +if (file.exists(lastcheck) && file.exists(mycheck)){ + #------ Both files exist, read both. ---------------------------------------------------# + cat0(" + Read ",basename(lastcheck),".") + last = read.table( file = lastcheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + cat0(" + Read ",basename(mycheck),".") + ncurr = length(readLines(mycheck)) + if (ncurr == njobs){ + curr = read.table( file = mycheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else if (ncurr > 0){ + curr = read.table( file = mycheck + , skip = 0 + , nrows = ncurr-1 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else{ + curr = last[ 1,,drop=FALSE] + curr = curr[-1,,drop=FALSE] + }#end if (ncurr == njobs) + #---------------------------------------------------------------------------------------# +}else if(file.exists(lastcheck)){ + #------ Only lastcheck exists, duplicate it. -------------------------------------------# + cat0(" + Read ",basename(lastcheck),".") + last = read.table( file = lastcheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + #---------------------------------------------------------------------------------------# + + #---- Duplicate last. ------------------------------------------------------------------# + curr = last + #---------------------------------------------------------------------------------------# +}else if(file.exists(mycheck )){ + #------ Only mycheck exists. -----------------------------------------------------------# + cat0(" + Read ",basename(mycheck),".") + ncurr = length(readLines(mycheck)) + if (ncurr == njobs){ + curr = read.table( file = mycheck + , skip = 0 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else if (ncurr > 0){ + curr = read.table( file = mycheck + , skip = 0 + , nrows = ncurr-1 + , header = FALSE + , comment.char = "" + , col.names = names.check + , stringsAsFactors = FALSE + )#end read.table + }else{ + #------ Nothing to read, stop the run. ----------------------------------------------# + cat0("-----------------------------------------------------------------------------") + cat0(" Last check file not found and current check file is empty/almost empty!") + cat0(" Lastcheck: " ,lastcheck,".") + cat0(" Mycheck: " ,mycheck ,".") + cat0(" Line count in mycheck: ",ncurr ,".") + cat0("-----------------------------------------------------------------------------") + stop(" At least one of these files must exist (ideally both of them).") + #------------------------------------------------------------------------------------# + }#end if (ncurr == njobs) + #---------------------------------------------------------------------------------------# + + #---- Duplicate curr. ------------------------------------------------------------------# + last = curr + #---------------------------------------------------------------------------------------# }else{ - curr = data.frame(rep(NA,times=length(names.check)),names=names.check) - curr = curr[-1,] -}#end f + #------ Nothing to read, stop the run. -------------------------------------------------# + cat0("-----------------------------------------------------------------------------") + cat0(" None of the check files was found!") + cat0(" Lastcheck: ",lastcheck,".") + cat0(" Mycheck: ",mycheck ,".") + cat0("-----------------------------------------------------------------------------") + stop(" At least one of these files must exist (ideally both of them).") + #---------------------------------------------------------------------------------------# +}#end if (file.exists(lastcheck) && file.exists(mycheck)) +#------------------------------------------------------------------------------------------# + + +#----- Turn data frames into data tables. -------------------------------------------------# +last = data.table(last) +curr = data.table(curr) #------------------------------------------------------------------------------------------# @@ -172,10 +306,10 @@ n.realisation = length(realisation) n.stext = length(stext ) n.iphen = length(iphen ) key.iata = toupper(iata ) -key.drain = paste("r" ,sprintf("%+3.3i",sort(100*unique(jobs$drain ))),sep="") -key.dtemp = paste("t" ,sprintf("%+3.3i",sort(100*unique(jobs$dtemp ))),sep="") -key.realisation = paste("real" ,sprintf("%2.2i" ,sort( unique(jobs$realisation))),sep="") -key.stext = paste("stext",sprintf("%2.2i" ,sort( unique(jobs$istext ))),sep="") +key.drain = paste0("r" ,sprintf("%+3.3i",sort(100*unique(jobs$drain )))) +key.dtemp = paste0("t" ,sprintf("%+3.3i",sort(100*unique(jobs$dtemp )))) +key.realisation = paste0("real" ,sprintf("%2.2i" ,sort( unique(jobs$realisation)))) +key.stext = paste0("stext",sprintf("%2.2i" ,sort( unique(jobs$istext )))) key.iphen = c("Evergreen","Deciduous") desc.iata = poilist$longname[match(iata,poilist$iata)] desc.stext = stext.names[stext] @@ -265,14 +399,16 @@ datum$yearn [index] = jobs$yearn #------------------------------------------------------------------------------------------# # Run the matrices. # #------------------------------------------------------------------------------------------# -yr.range = range(c(jobs$yeara,jobs$yearz)) -yr.cut = pretty(yr.range,n=10) -yr.keep = yr.cut > yr.range[1] & yr.cut < yr.range[2] -yr.brks = c(-Inf,c(yr.range[1],yr.cut[yr.keep],yr.range[2])) -n.cut = length(yr.cut)-1 -yr.cut = cut(datum$yearn,yr.brks) -yr.level = levels(yr.cut) -n.level = length(yr.level) +yeara = min(jobs$yeara) +yearz = max(jobs$yearz) +yr.range = pretty.xylim(u=c(yeara,yearz)) +yr.brks = pretty(yr.range,n=10) +yr.keep = (yr.brks %wr% yr.range) & (! yr.brks %in% c(yeara,yearz)) +yr.brks = unique(c(-Inf,yr.brks[yr.keep],Inf)) +n.cut = length(yr.brks)-1 +yr.cut = cut(datum$yearn,yr.brks) +yr.level = levels(yr.cut) +n.level = length(yr.level) #------------------------------------------------------------------------------------------# @@ -281,6 +417,7 @@ n.level = length(yr.level) datum$yr.idx = match(yr.cut,yr.level) + 0 * datum$yearn initial = datum$status == "INITIAL" crashed = datum$status == "CRASHED" +hydfail = datum$status == "HYDFAIL" bad.met = datum$status == "BAD_MET" metmiss = datum$status == "METMISS" stopped = datum$status == "STOPPED" @@ -294,17 +431,18 @@ datum$yr.idx[extinct] = n.level + 3 datum$yr.idx[stopped] = n.level + 4 datum$yr.idx[metmiss] = n.level + 5 datum$yr.idx[bad.met] = n.level + 6 -datum$yr.idx[crashed] = n.level + 7 -yr.cscheme = c("grey89",iatlas(n=n.level),"royalblue4","steelblue3","purple3" - ,"mediumpurple1","deepskyblue","red3","hotpink") -ybottom = rep(0,times=n.level+8) -ytop = rep(1,times=n.level+8) -xleft = seq(from=-1,to=n.level+6) -xright = seq(from= 0,to=n.level+7) -xat = seq(from=-1,to=n.level+6)+0.5 -xbrks = seq(from=-1,to=n.level+7)+0.5 -xlabel = c("Initial",yr.brks[-1],"Finish","StState","Extinct" - ,"Stopped","MetMiss","Bad Met","Crashed") +datum$yr.idx[hydfail] = n.level + 7 +datum$yr.idx[crashed] = n.level + 8 +yr.cscheme = c("grey89",atlas(n=n.level),"royalblue4","steelblue3","purple3" + ,"mediumpurple1","deepskyblue","hotpink","red3","firebrick4") +ybottom = rep(0,times=n.level+9) +ytop = rep(1,times=n.level+9) +xleft = sequence(n.level+9) - 1 +xright = sequence(n.level+9) +xat = c(sequence(n.level+2)-1,n.level+sequence(8)+0.5) +xbrks = sequence(n.level+10)-1-0.5 +xlabel = c("Initial",yeara,yr.brks[-c(1,n.level+1)],yearz,"Finish","StState" + ,"Extinct","Stopped","MetMiss","Bad Met","HydFail","Crashed") #------------------------------------------------------------------------------------------# @@ -326,9 +464,9 @@ use.yr.idx = apply( X = datum$yr.idx #------------------------------------------------------------------------------------------# # Create the status map for all sites. # #------------------------------------------------------------------------------------------# -cat(" Plot the current status...","\n") +cat0(" + lot the current status.") lo.box = pretty.box(n.iphen*n.iata) -for (st in 1:n.stext){ +for (st in sequence(n.stext)){ #------ Find the soil texture key and description. -------------------------------------# this.st.key = key.stext [st] letitre = paste("Polygon status -- Soil type: ",desc.stext[st] @@ -337,27 +475,20 @@ for (st in 1:n.stext){ ley = paste("Temperature change [K]") #---------------------------------------------------------------------------------------# - for (o in 1:nout){ + for (o in sequence(nout)){ #----- Open file. -------------------------------------------------------------------# - fichier = paste(here,"/stt_",this.st.key,".",outform[o],sep="") - if(outform[o] == "x11"){ - X11(width=size$width,height=size$height,pointsize=ptsz) - }else if(outform[o] == "png"){ - png(filename=fichier,width=size$width*depth,height=size$height*depth - ,pointsize=ptsz,res=depth) - }else if(outform[o] == "eps"){ - postscript(file=fichier,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }else if(outform[o] == "pdf"){ - pdf(file=fichier,onefile=FALSE,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }#end if + fichier = file.path(here,paste0("stt_",this.st.key,".",outform[o])) + dummy = open.plot( fichier = fichier + , outform = outform[o] + , size = size + , ptsz = ptsz + , depth = depth + )#end open.plot #------------------------------------------------------------------------------------# #----- Save the margins to avoid losing the data. -----------------------------------# - par.orig = par(no.readonly = TRUE) - mar.orig = par.orig$mar + par(par.user) #------------------------------------------------------------------------------------# @@ -382,7 +513,7 @@ for (st in 1:n.stext){ rect(xleft=xleft,ybottom=ybottom,xright=xright,ytop=ytop,col=yr.cscheme) box() axis(side=1,at=xat,srt=45,labels=FALSE) - text(x=xat,y=par("usr")[3]-0.6,labels=xlabel,srt=30,adj=1,xpd=TRUE,cex=1.1) + text(x=xat,y=par("usr")[3]-0.6,labels=xlabel,srt=45,adj=1,xpd=TRUE,cex=0.95) title(main="Status",ylab="",xlab="") #------------------------------------------------------------------------------------# @@ -392,8 +523,8 @@ for (st in 1:n.stext){ # Now we loop over sites and pheonologies. # #------------------------------------------------------------------------------------# k = 0 - for (ph in 1:n.iphen){ - for (pl in 1:n.iata){ + for (ph in sequence(n.iphen)){ + for (pl in sequence(n.iata)){ #----- Make the sub-title. ----------------------------------------------------# lesub=paste(desc.iata[pl],desc.iphen[ph],sep=" - ") #------------------------------------------------------------------------------# @@ -443,13 +574,7 @@ for (st in 1:n.stext){ #----- Close the device. ------------------------------------------------------------# - if (outform[o] == "x11"){ - locator(n=1) - dev.off() - }else{ - dev.off() - }#end if - bye = clean.tmp() + dummy = close.plot(outform=outform[o]) #------------------------------------------------------------------------------------# }#end for #---------------------------------------------------------------------------------------# @@ -462,22 +587,26 @@ for (st in 1:n.stext){ #------------------------------------------------------------------------------------------# # Create parameter space maps for all other variables. # #------------------------------------------------------------------------------------------# -cat(" Plot the current properties...","\n") -key.var = c("lai","bsa","agb","scb","npa") -desc.var = c("Leaf area index [m2/m2]","Basal area [cm2/m2]" - ,"Above-ground biomass [kgC/m2]","Soil carbon [kgC/m2]","Patch count [---]") -n.var = length(key.var) +cat0(" Plot the current properties.") lo.box = pretty.box(n.iphen*n.iata) -for (v in 1:n.var){ - cat(" - ",desc.var[v],"...","\n") +for (v in sequence(noutvars)){ + #----- Handy aliases. ------------------------------------------------------------------# + v.vnam = outvars$vnam[v] + v.desc = outvars$desc[v] + v.unit = untab[[outvars$unit[v]]] + v.csch = match.fun(outvars$csch[v]) + cat0(" - ",v.desc,".") + #---------------------------------------------------------------------------------------# + + #----- Collapse realisations using the median. -----------------------------------------# - this.var = apply( X = datum[[key.var[v]]] - , MARGIN = c(1,2,4,5,6) - , FUN = median - , na.rm = TRUE - )#end apply - rien = ! is.finite(this.var) - this.var[rien] = NA + v.value = apply( X = datum[[v.vnam]] + , MARGIN = c(1,2,4,5,6) + , FUN = median + , na.rm = TRUE + )#end apply + rien = ! is.finite(v.value) + v.value[rien] = NA #---------------------------------------------------------------------------------------# @@ -485,18 +614,13 @@ for (v in 1:n.var){ #---------------------------------------------------------------------------------------# # Break the data into bins. # #---------------------------------------------------------------------------------------# - if (all(is.na(this.var))){ - var.brks = c(-1,0,1) - n.brks = length(var.brks) - var.cut = cut(as.numeric(this.var),breaks=var.brks) - }else{ - var.brks = pretty(this.var,n=ncolours) - n.brks = length(var.brks) - var.cut = cut(this.var,breaks=var.brks) - }#end if - var.lev = levels(var.cut) - var.idx = match(var.cut,var.lev) + 0 * this.var - var.cscheme = iatlas(n=n.brks-1) + v.limit = pretty.xylim(v.value) + v.brks = pretty(v.value,n=ncolours) + n.brks = length(v.brks) + v.cut = cut(as.numeric(v.value),breaks=v.brks) + v.lev = levels(v.cut) + v.idx = match(v.cut,v.lev) + 0 * v.value + v.cscheme = v.csch(n=n.brks-1) #---------------------------------------------------------------------------------------# @@ -505,33 +629,27 @@ for (v in 1:n.var){ xright = var.brks[ -1] ybottom = rep(0,times=n.brks) ytop = rep(1,times=n.brks) - xat = var.brks + xat = v.brks #---------------------------------------------------------------------------------------# - for (st in 1:n.stext){ + for (st in sequence(n.stext)){ #------ Find the soil texture key and description. ----------------------------------# this.st.key = key.stext [st] - letitre = paste(desc.var[v]," -- Soil type: ",desc.stext[st],sep="") - lex = paste("Rainfall change [scale parameter]") - ley = paste("Temperature change [K]") + letitre = paste0(desc.var[v]," -- Soil type: ",desc.stext[st]) + lex = paste0("Rainfall change [scale parameter]") + ley = paste0("Temperature change [K]") #------------------------------------------------------------------------------------# - for (o in 1:nout){ + for (o in sequence(nout)){ #----- Open file. ----------------------------------------------------------------# - fichier = paste(here,"/",key.var[v],"_",this.st.key,".",outform[o],sep="") - if(outform[o] == "x11"){ - X11(width=size$width,height=size$height,pointsize=ptsz) - }else if(outform[o] == "png"){ - png(filename=fichier,width=size$width*depth,height=size$height*depth - ,pointsize=ptsz,res=depth) - }else if(outform[o] == "eps"){ - postscript(file=fichier,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }else if(outform[o] == "pdf"){ - pdf(file=fichier,onefile=FALSE,width=size$width,height=size$height - ,pointsize=ptsz,paper=size$paper) - }#end if + fichier = file.path(here,paste0(key.var[v],"_",this.st.key,".",outform[o])) + dummy = open.plot( fichier = fichier + , outform = outform[o] + , size = size + , ptsz = ptsz + , depth = depth + )#end open.plot #---------------------------------------------------------------------------------# @@ -559,10 +677,10 @@ for (v in 1:n.var){ par(mar=c(3,3,2,3)+0.1) plot.new() plot.window(xlim=range(xleft,xright),ylim=range(ybottom,ytop),xaxs="i",yaxs="i") - rect(xleft=xleft,ybottom=ybottom,xright=xright,ytop=ytop,col=var.cscheme) + rect(xleft=xleft,ybottom=ybottom,xright=xright,ytop=ytop,col=v.cscheme) box() axis(side=1,at=xat) - title(main=desc.var[v],xlab="",ylab="") + title(main=desc.unit(desc=v.desc,unit=v.unit),cex.main=1.0) #---------------------------------------------------------------------------------# @@ -571,8 +689,8 @@ for (v in 1:n.var){ # Now we loop over sites and pheonologies. # #---------------------------------------------------------------------------------# k = 0 - for (ph in 1:n.iphen){ - for (pl in 1:n.iata){ + for (ph in sequence(n.iphen)){ + for (pl in sequence(n.iata)){ #----- Make the sub-title. -------------------------------------------------# lesub=paste(desc.iata[pl],desc.iphen[ph],sep=" - ") #---------------------------------------------------------------------------# @@ -600,7 +718,7 @@ for (v in 1:n.var){ #----- Set the window. -----------------------------------------------------# par(mar = mar.now) - image(x=drain,y=dtemp,z=this.var[,,ph,pl,st],col=var.cscheme + image(x=drain,y=dtemp,z=v.value[,,ph,pl,st],col=v.cscheme ,breaks=var.brks,xaxt=xaxt,yaxt=yaxt,main=lesub,xlab="",ylab="") #---------------------------------------------------------------------------# }#end for @@ -622,17 +740,11 @@ for (v in 1:n.var){ #----- Close the device. ---------------------------------------------------------# - if (outform[o] == "x11"){ - locator(n=1) - dev.off() - }else{ - dev.off() - }#end if - bye = clean.tmp() + dummy = close.plot(outform=outform[o]) #---------------------------------------------------------------------------------# - }#end for + }#end for (o in sequence(nout)) #------------------------------------------------------------------------------------# - }#end for + }#end for (st in sequence(n.stext)) #---------------------------------------------------------------------------------------# -}#end for +}#end for (v in sequence(noutvars)) #------------------------------------------------------------------------------------------# diff --git a/R-utils/amzbr_poi.csv b/R-utils/amzbr_poi.csv new file mode 100644 index 000000000..92c63a1a2 --- /dev/null +++ b/R-utils/amzbr_poi.csv @@ -0,0 +1,351 @@ +short,iata,longname,lon,lat,alt,wmo,isoilflg,istext,sand,clay,slsoc,slph,slcec,sldbd,depth,isoilbc,sldrain,scolour,met.driver,yeara,yearz,iphen,iage +AMZBR_0001,a0001,Amazon Polygon 0001,-61.5,-13.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0002,a0002,Amazon Polygon 0002,-60.5,-13.5,NA,NA,2,3,0.614,0.173,0.0179,5.2,0.099,1240,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0003,a0003,Amazon Polygon 0003,-63.5,-12.5,NA,NA,2,6,0.495,0.262,0.016,5,0.086,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0004,a0004,Amazon Polygon 0004,-62.5,-12.5,NA,NA,2,6,0.532827158181877,0.223343203931085,0.0151842159320799,4.81890525820088,0.0924997073894,1223.15593565532,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0005,a0005,Amazon Polygon 0005,-61.5,-12.5,NA,NA,2,6,0.450731520182141,0.306403635818869,0.0183703078468289,4.88934097681909,0.0847669342966816,1220.75569914233,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0006,a0006,Amazon Polygon 0006,-60.5,-12.5,NA,NA,2,6,0.558696336870935,0.25565491270113,0.0175133858267717,5.01828141047586,0.0786268401232455,1228.952413557,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0007,a0007,Amazon Polygon 0007,-57.5,-12.5,NA,NA,2,3,0.709133718829057,0.193535598120708,0.0181794000722805,4.42490061438381,0.117891217925551,1208.67003975425,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0008,a0008,Amazon Polygon 0008,-56.5,-12.5,NA,NA,2,3,0.606,0.148,0.0193,4.8,0.119,1220,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0009,a0009,Amazon Polygon 0009,-55.5,-12.5,NA,NA,2,3,0.589,0.157,0.0202,4.9,0.103,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0010,a0010,Amazon Polygon 0010,-54.5,-12.5,NA,NA,2,6,0.588931216931217,0.262272927689594,0.0225351851851852,4.77416225749559,0.0949766313932981,1217.7557319224,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0011,a0011,Amazon Polygon 0011,-53.5,-12.5,NA,NA,2,6,0.599319673617407,0.255952493200363,0.0254086854034451,4.85642792384406,0.0997787851314597,1223.12420670898,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0012,a0012,Amazon Polygon 0012,-52.5,-12.5,NA,NA,2,6,0.612817371143214,0.240545211342964,0.0232944533618691,4.87788478687355,0.0945580524344569,1232.01533797039,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0013,a0013,Amazon Polygon 0013,-64.5,-11.5,NA,NA,2,6,0.479828543080773,0.284419945311968,0.0166047393115583,4.81936043008105,0.100291496056211,1195.82545471844,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0014,a0014,Amazon Polygon 0014,-63.5,-11.5,NA,NA,2,6,0.485,0.257,0.0158,4.9,0.106,1220,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0015,a0015,Amazon Polygon 0015,-62.5,-11.5,NA,NA,2,6,0.501,0.249,0.0156,4.8,0.097,1280,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0016,a0016,Amazon Polygon 0016,-61.5,-11.5,NA,NA,2,6,0.523848657024793,0.226321280991736,0.0169982954545455,4.49927685950413,0.124055785123967,1184.70041322314,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0017,a0017,Amazon Polygon 0017,-60.5,-11.5,NA,NA,2,6,0.497783881692461,0.240416956240693,0.0196677284365722,4.45150152401207,0.126352349579395,1200.16621915694,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0018,a0018,Amazon Polygon 0018,-58.5,-11.5,NA,NA,2,3,0.693155778355077,0.173519040956307,0.0190220585730911,4.49683832001874,0.093880134066002,1204.17132873688,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0019,a0019,Amazon Polygon 0019,-57.5,-11.5,NA,NA,2,6,0.63242030075188,0.211000751879699,0.018783984962406,4.40165413533835,0.118276315789474,1200.62781954887,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0020,a0020,Amazon Polygon 0020,-56.5,-11.5,NA,NA,2,6,0.57516957605985,0.227517278232989,0.018230067687923,4.47965799786249,0.108535447096544,1183.00320627004,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0021,a0021,Amazon Polygon 0021,-55.5,-11.5,NA,NA,2,6,0.510825076502976,0.257880298023357,0.0184726919460603,4.49994209822324,0.0874274582138211,1220.57710949869,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0022,a0022,Amazon Polygon 0022,-54.5,-11.5,NA,NA,2,6,0.487881694188864,0.278034703205448,0.0195147338426058,4.46274694902791,0.0922889434748252,1212.0752010889,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0023,a0023,Amazon Polygon 0023,-53.5,-11.5,NA,NA,2,6,0.555425406611463,0.24867891830051,0.0224132015084607,4.54773858860616,0.10696034121807,1202.62595041515,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0024,a0024,Amazon Polygon 0024,-52.5,-11.5,NA,NA,2,6,0.590901915708812,0.240373946360153,0.0237653256704981,4.7,0.0953348659003831,1219.11111111111,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0025,a0025,Amazon Polygon 0025,-51.5,-11.5,NA,NA,2,6,0.570771587743732,0.269424592120971,0.0249384003183446,4.80632709908476,0.0955849582172702,1250.71627536809,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0026,a0026,Amazon Polygon 0026,-70.5,-10.5,NA,NA,2,5,0.268586573884568,0.273290216946377,0.0155534588620549,5.11150225133033,0.137365534179288,1232.50511665984,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0027,a0027,Amazon Polygon 0027,-69.5,-10.5,NA,NA,2,5,0.255309546902415,0.270967242632211,0.0138333107995789,4.98478570186679,0.108638683442099,1228.99132282708,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0028,a0028,Amazon Polygon 0028,-68.5,-10.5,NA,NA,2,5,0.375535984392639,0.257547019074892,0.014790658312192,4.94065469673704,0.0907140872889422,1197.26259706581,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0029,a0029,Amazon Polygon 0029,-67.5,-10.5,NA,NA,2,8,0.35,0.376,0.01775,4.9,0.091,1200,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0030,a0030,Amazon Polygon 0030,-64.5,-10.5,NA,NA,2,6,0.529973709369025,0.283845602294455,0.0171866156787763,4.35984703632887,0.100737571701721,1192.34703632887,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0031,a0031,Amazon Polygon 0031,-63.5,-10.5,NA,NA,2,8,0.432643394648829,0.299053929765886,0.0166405936454849,4.67403846153846,0.112194816053512,1210.72324414716,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0032,a0032,Amazon Polygon 0032,-62.5,-10.5,NA,NA,2,6,0.494,0.243,0.016,4.7,0.105,1260,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0033,a0033,Amazon Polygon 0033,-61.5,-10.5,NA,NA,2,6,0.49244186594181,0.238797371096574,0.014983443469425,4.43026238832619,0.111291163568836,1186.34065867886,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0034,a0034,Amazon Polygon 0034,-60.5,-10.5,NA,NA,2,6,0.491073476702509,0.23670394265233,0.01958,4.50075268817204,0.163920788530466,1192.56630824373,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0035,a0035,Amazon Polygon 0035,-59.5,-10.5,NA,NA,2,5,0.461174165897482,0.210466248712498,0.0178801675803811,4.24772576654593,0.127716360263101,1188.02454954436,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0036,a0036,Amazon Polygon 0036,-58.5,-10.5,NA,NA,2,6,0.514599857223987,0.252289045767123,0.0188627956798313,4.21694322049529,0.13539388654222,1190.54806387158,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0037,a0037,Amazon Polygon 0037,-57.5,-10.5,NA,NA,2,6,0.465125610607118,0.267740753663643,0.0236287508722959,4.52194696441033,0.153891835310537,1182.19818562456,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0038,a0038,Amazon Polygon 0038,-56.5,-10.5,NA,NA,2,5,0.464903981264637,0.250442232630757,0.0205060109289617,4.61795472287276,0.125676034348165,1156.95940671351,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0039,a0039,Amazon Polygon 0039,-55.5,-10.5,NA,NA,2,6,0.505,0.253,0.0235,4.7,0.103,1230,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0040,a0040,Amazon Polygon 0040,-54.5,-10.5,NA,NA,2,5,0.393729058561898,0.264852853965901,0.0252414751667902,4.57464788732394,0.121721645663454,1179.52928094885,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0041,a0041,Amazon Polygon 0041,-53.5,-10.5,NA,NA,2,5,0.401815985879695,0.245247932799796,0.0253594807000572,4.60263405422378,0.150477803500267,1194.09328244205,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0042,a0042,Amazon Polygon 0042,-52.5,-10.5,NA,NA,2,5,0.399637471243974,0.242709380581886,0.0238326686745709,4.72583446003614,0.150625690337864,1210.92894080837,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0043,a0043,Amazon Polygon 0043,-51.5,-10.5,NA,NA,2,6,0.618858166616901,0.205634219169901,0.0287937593311436,4.66846819946253,0.107021200358316,1230.14034040012,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0044,a0044,Amazon Polygon 0044,-71.5,-9.5,NA,NA,2,5,0.2943,0.259934782608696,0.0158695652173913,4.95608695652174,0.112786956521739,1235.52173913043,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0045,a0045,Amazon Polygon 0045,-70.5,-9.5,NA,NA,2,5,0.305387091805691,0.261167482153038,0.0162427374391191,5.02855481083927,0.136660936118321,1231.51185619382,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0046,a0046,Amazon Polygon 0046,-69.5,-9.5,NA,NA,2,7,0.179644132168629,0.313389669578428,0.0173817698442841,4.66532472464869,0.112062666160273,1175.17280668439,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0047,a0047,Amazon Polygon 0047,-68.5,-9.5,NA,NA,2,8,0.212696200292891,0.282547400081515,0.015953183856051,4.48167131689039,0.0964868885524467,1194.66360484659,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0048,a0048,Amazon Polygon 0048,-67.5,-9.5,NA,NA,2,17,0.294,0.401,0.016,4.4,0.103,1210,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0049,a0049,Amazon Polygon 0049,-66.5,-9.5,NA,NA,2,8,0.390965537390559,0.326264148863619,0.0155160579886473,4.10831258032794,0.110196527696416,1181.08181612982,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0050,a0050,Amazon Polygon 0050,-65.5,-9.5,NA,NA,2,6,0.502480310179564,0.292924625920026,0.0149670508436175,4.08581239331415,0.0987440934990041,1196.04507161374,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0051,a0051,Amazon Polygon 0051,-64.5,-9.5,NA,NA,2,6,0.494187799505387,0.312813945287714,0.0149187115745389,4.11208667279386,0.106490502680508,1191.6781646651,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0052,a0052,Amazon Polygon 0052,-63.5,-9.5,NA,NA,2,5,0.422,0.228,0.0154,4.2,0.112,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0053,a0053,Amazon Polygon 0053,-62.5,-9.5,NA,NA,2,6,0.526723673792557,0.304761678543151,0.0146926365795724,4.13927157561362,0.135636579572447,1158.82026920032,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0054,a0054,Amazon Polygon 0054,-61.5,-9.5,NA,NA,2,6,0.475837709065701,0.29394519942737,0.015715992691971,4.3700175457831,0.116479974835913,1164.29444036872,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0055,a0055,Amazon Polygon 0055,-60.5,-9.5,NA,NA,2,5,0.447614974910265,0.253068502357162,0.01506097630202,4.41817571496863,0.118908089626355,1188.45530971388,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0056,a0056,Amazon Polygon 0056,-59.5,-9.5,NA,NA,2,8,0.436,0.293,0.0156,4.4,0.119,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0057,a0057,Amazon Polygon 0057,-58.5,-9.5,NA,NA,2,8,0.373190780945213,0.311429482796364,0.0175689428738517,4.2942220707985,0.0995860169035956,1174.96904734837,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0058,a0058,Amazon Polygon 0058,-57.5,-9.5,NA,NA,2,8,0.307440996390111,0.317666280594289,0.0225546361273277,4.21207162666504,0.119468748654608,1167.99140995435,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0059,a0059,Amazon Polygon 0059,-56.5,-9.5,NA,NA,2,6,0.506473550552617,0.24092955085447,0.0195003808627664,4.56988751127002,0.117750887984349,1147.19256543143,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0060,a0060,Amazon Polygon 0060,-55.5,-9.5,NA,NA,2,8,0.361656974459725,0.309918271119843,0.0260042043222004,4.72495088408644,0.127231827111984,1144.39685658153,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0061,a0061,Amazon Polygon 0061,-54.5,-9.5,NA,NA,2,8,0.349,0.362,0.025,4.7,0.11,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0062,a0062,Amazon Polygon 0062,-53.5,-9.5,NA,NA,2,5,0.349855406244037,0.264574030049878,0.0247361279049624,4.79534808484788,0.114095044355591,1180.68561139773,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0063,a0063,Amazon Polygon 0063,-52.5,-9.5,NA,NA,2,5,0.33865035510691,0.261535925271796,0.0256825678221337,4.87961449338954,0.129706389892549,1199.54266478572,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0064,a0064,Amazon Polygon 0064,-51.5,-9.5,NA,NA,2,6,0.498,0.268,0.0245,4.9,0.104,1240,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0065,a0065,Amazon Polygon 0065,-50.5,-9.5,NA,NA,2,6,0.525777332900562,0.208962055089023,0.0241504218658141,4.83680823227603,0.101601278318499,1216.26059760822,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0066,a0066,Amazon Polygon 0066,-72.5,-8.5,NA,NA,2,8,0.308196101665935,0.278748366544917,0.0183815152392838,4.86620001626734,0.134061153724777,1229.3862292831,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0067,a0067,Amazon Polygon 0067,-71.5,-8.5,NA,NA,2,8,0.264883241943049,0.300300623375535,0.0162334923811684,5.03047408913002,0.119286187412714,1219.72116159341,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0068,a0068,Amazon Polygon 0068,-70.5,-8.5,NA,NA,2,5,0.234465406275141,0.272731697506034,0.0144447304907482,4.65398230088496,0.125496781979083,1213.52373290426,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0069,a0069,Amazon Polygon 0069,-69.5,-8.5,NA,NA,2,17,0.195,0.475,0.0187,4.5,0.129,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0070,a0070,Amazon Polygon 0070,-68.5,-8.5,NA,NA,2,8,0.284172835164074,0.310147088504925,0.0167848071918792,4.19720324027838,0.125654576915696,1182.77061513042,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0071,a0071,Amazon Polygon 0071,-67.5,-8.5,NA,NA,2,8,0.292415094339623,0.280952830188679,0.0174801886792453,4.00471698113208,0.128358490566038,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0072,a0072,Amazon Polygon 0072,-66.5,-8.5,NA,NA,2,5,0.333994414551417,0.273713230915524,0.0166014804391806,4.00638898330226,0.124824917685918,1182.2743102262,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0073,a0073,Amazon Polygon 0073,-65.5,-8.5,NA,NA,2,5,0.391689886228156,0.270636335410864,0.016295352637965,4.07896382826861,0.126661592497729,1179.22209455998,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0074,a0074,Amazon Polygon 0074,-64.5,-8.5,NA,NA,2,8,0.275761382799325,0.305858347386172,0.0152971753794266,4.03537099494098,0.131158094435076,1168.42327150084,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0075,a0075,Amazon Polygon 0075,-63.5,-8.5,NA,NA,2,5,0.446589841795909,0.230337786650386,0.0158791607766828,4.09768862141198,0.136847354038952,1157.19072304322,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0076,a0076,Amazon Polygon 0076,-62.5,-8.5,NA,NA,2,6,0.485391852708602,0.303511448010119,0.0159982613780063,4.07286673656322,0.142600464137334,1155.32594619365,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0077,a0077,Amazon Polygon 0077,-61.5,-8.5,NA,NA,2,8,0.39032962633452,0.345288256227758,0.0164452846975089,4.03171708185053,0.159075622775801,1152.02846975089,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0078,a0078,Amazon Polygon 0078,-60.5,-8.5,NA,NA,2,8,0.449616911764706,0.296716911764706,0.0162023897058824,4.20419117647059,0.125605882352941,1148.41544117647,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0079,a0079,Amazon Polygon 0079,-59.5,-8.5,NA,NA,2,8,0.430033564013841,0.302976124567474,0.0164828719723183,4.30847750865052,0.119707958477509,1179.83737024221,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0080,a0080,Amazon Polygon 0080,-58.5,-8.5,NA,NA,2,8,0.394577675922117,0.296017847845743,0.0219717984785969,4.16831558112525,0.111375879436032,1158.48458933164,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0081,a0081,Amazon Polygon 0081,-57.5,-8.5,NA,NA,2,8,0.315638539518452,0.296398497272827,0.0217040873252256,4.25230282100439,0.125653331708667,1186.68046425431,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0082,a0082,Amazon Polygon 0082,-56.5,-8.5,NA,NA,2,6,0.483814907575956,0.273005780648467,0.020767937415412,4.37064210130148,0.124972786107768,1144.58596627468,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0083,a0083,Amazon Polygon 0083,-55.5,-8.5,NA,NA,2,8,0.421587032842893,0.290319392737938,0.0241565207003981,4.52127644933888,0.126940318506445,1121.21486336916,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0084,a0084,Amazon Polygon 0084,-54.5,-8.5,NA,NA,2,5,0.458282146473169,0.246636854539318,0.0201726628417145,4.65366182922713,0.111901788727641,1171.96085048937,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0085,a0085,Amazon Polygon 0085,-53.5,-8.5,NA,NA,2,5,0.431616948300138,0.244417809042943,0.0215428077825752,4.86602068162482,0.112193635844849,1174.86039365359,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0086,a0086,Amazon Polygon 0086,-52.5,-8.5,NA,NA,2,8,0.308990110529378,0.277067481093659,0.0239304828388598,4.89464805119255,0.109695753344968,1182.61780104712,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0087,a0087,Amazon Polygon 0087,-51.5,-8.5,NA,NA,2,8,0.406,0.338,0.0222,4.9,0.108,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0088,a0088,Amazon Polygon 0088,-50.5,-8.5,NA,NA,2,6,0.4685,0.295,0.0185,4.9,0.1,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0089,a0089,Amazon Polygon 0089,-49.5,-8.5,NA,NA,2,8,0.431,0.339,0.0169,5,0.092,1230,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0090,a0090,Amazon Polygon 0090,-73.5,-7.5,NA,NA,2,8,0.391,0.324,0.0224,4.5,0.136,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0091,a0091,Amazon Polygon 0091,-72.5,-7.5,NA,NA,2,5,0.444441610513001,0.204659918732888,0.0266572703059183,4.3666707129805,0.118013108343385,1215.66088118286,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0092,a0092,Amazon Polygon 0092,-71.5,-7.5,NA,NA,2,5,0.386658737850952,0.272557957864953,0.0199268460635044,4.31066929344001,0.124357484483654,1219.21429426263,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0093,a0093,Amazon Polygon 0093,-70.5,-7.5,NA,NA,2,5,0.366125589077417,0.253766524780332,0.0181243697535265,4.48917334601188,0.136852753442216,1221.44094531756,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0094,a0094,Amazon Polygon 0094,-69.5,-7.5,NA,NA,2,8,0.253972444637277,0.312403365737154,0.0178998208380468,4.34265742362901,0.136120903769662,1182.20953369047,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0095,a0095,Amazon Polygon 0095,-68.5,-7.5,NA,NA,2,8,0.200743368179314,0.301632325090516,0.0172303795472488,4.22280023851364,0.137691803984821,1181.03801223613,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0096,a0096,Amazon Polygon 0096,-67.5,-7.5,NA,NA,2,5,0.381922800638101,0.255151761226465,0.0196085375387342,4.09823179411313,0.135412690661849,1175.34945814459,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0097,a0097,Amazon Polygon 0097,-66.5,-7.5,NA,NA,2,5,0.348184485006519,0.23294035202086,0.024803520208605,4.04439374185137,0.191614732724902,1177.87157757497,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0098,a0098,Amazon Polygon 0098,-65.5,-7.5,NA,NA,2,8,0.308420070011669,0.321481135744846,0.0307659665499806,3.96472189809413,0.169152080902373,1180.05056398289,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0099,a0099,Amazon Polygon 0099,-64.5,-7.5,NA,NA,2,5,0.351106795659845,0.254051741535766,0.0203675119637823,4.07047266919123,0.136158306477854,1174.39542714777,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0100,a0100,Amazon Polygon 0100,-63.5,-7.5,NA,NA,2,5,0.348967213114754,0.26909079445145,0.0190341740226986,4.06746532156368,0.141581336696091,1157.49054224464,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0101,a0101,Amazon Polygon 0101,-62.5,-7.5,NA,NA,2,5,0.378444493006993,0.260364073426573,0.0191657342657343,3.94291958041958,0.134450174825175,1164.74213286713,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0102,a0102,Amazon Polygon 0102,-61.5,-7.5,NA,NA,2,6,0.453149367351377,0.28299968276548,0.0227161959982204,3.88057940082181,0.151093734890761,1143.15157711345,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0103,a0103,Amazon Polygon 0103,-60.5,-7.5,NA,NA,2,8,0.373584675406836,0.329590782847593,0.0207403994178037,3.96982038909162,0.145212434772781,1148.79399666279,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0104,a0104,Amazon Polygon 0104,-59.5,-7.5,NA,NA,2,8,0.405411632262946,0.327696254382808,0.018126229491516,4.09238941624413,0.110656700148928,1151.25093690372,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0105,a0105,Amazon Polygon 0105,-58.5,-7.5,NA,NA,2,8,0.428718387571201,0.29752014655824,0.0203812926641996,4.06013174998406,0.114318209045183,1142.86488831388,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0106,a0106,Amazon Polygon 0106,-57.5,-7.5,NA,NA,2,6,0.472673811569476,0.27488861900762,0.0187833172623552,4.1798953546306,0.11831492959481,1142.06634486178,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0107,a0107,Amazon Polygon 0107,-56.5,-7.5,NA,NA,2,6,0.500921888020872,0.288057685256937,0.0208270270845811,4.2068280147721,0.12062062271103,1146.91242218899,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0108,a0108,Amazon Polygon 0108,-55.5,-7.5,NA,NA,2,6,0.502766601941748,0.260951067961165,0.0187345242718447,4.44784466019418,0.126612815533981,1148.86990291262,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0109,a0109,Amazon Polygon 0109,-54.5,-7.5,NA,NA,2,8,0.448037156462829,0.279485268453837,0.0204603661946344,4.58734200570774,0.123710238224751,1141.20139248498,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0110,a0110,Amazon Polygon 0110,-53.5,-7.5,NA,NA,2,5,0.405870414394448,0.272369805154135,0.023213342243383,4.74567721897063,0.121075053077005,1161.26218937101,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0111,a0111,Amazon Polygon 0111,-52.5,-7.5,NA,NA,2,5,0.423161031407032,0.260672216314762,0.0215711442273108,4.91259080863187,0.123516537823892,1174.36324277597,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0112,a0112,Amazon Polygon 0112,-51.5,-7.5,NA,NA,2,5,0.41030231838826,0.239494717325198,0.0220526448879972,4.92635660676482,0.126257567676888,1171.95394064303,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0113,a0113,Amazon Polygon 0113,-50.5,-7.5,NA,NA,2,5,0.412344678552134,0.26009508373852,0.0203463533225284,4.9,0.116281469475959,1174.65694219341,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0114,a0114,Amazon Polygon 0114,-49.5,-7.5,NA,NA,2,8,0.419,0.312,0.0186,5,0.091,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0115,a0115,Amazon Polygon 0115,-72.5,-6.5,NA,NA,2,8,0.345939206079485,0.303633795622216,0.0243704137723336,4.17603294844803,0.150050279166451,1196.53872861361,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0116,a0116,Amazon Polygon 0116,-71.5,-6.5,NA,NA,2,8,0.365716493645615,0.300526175467609,0.0226478336799038,4.22261301260796,0.147174307282635,1182.35775502717,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0117,a0117,Amazon Polygon 0117,-70.5,-6.5,NA,NA,2,8,0.305412541254125,0.315392326732673,0.0216017326732673,4.21839933993399,0.150901402640264,1205.20627062706,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0118,a0118,Amazon Polygon 0118,-69.5,-6.5,NA,NA,2,8,0.34921965818152,0.289604052229818,0.0203178301890008,4.18135129314014,0.145573370106932,1184.21751984388,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0119,a0119,Amazon Polygon 0119,-68.5,-6.5,NA,NA,2,5,0.348604688763137,0.253696038803557,0.0206685529506871,4.08164915117219,0.167421180274859,1176.0064672595,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0120,a0120,Amazon Polygon 0120,-67.5,-6.5,NA,NA,2,5,0.365728348805189,0.260591566985573,0.0227778287695533,4.02753760229251,0.14967491544859,1183.13628939597,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0121,a0121,Amazon Polygon 0121,-66.5,-6.5,NA,NA,2,8,0.363994422005904,0.287466842724147,0.0256279680184059,4.03136513463336,0.162374574213007,1172.78109534152,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0122,a0122,Amazon Polygon 0122,-65.5,-6.5,NA,NA,2,8,0.289125427594071,0.328168757126568,0.0314795515013303,3.91022424933485,0.261543139490688,1155.68985176739,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0123,a0123,Amazon Polygon 0123,-64.5,-6.5,NA,NA,2,8,0.249266584145497,0.284162360328903,0.020971189741879,4.08993166317843,0.14584038391267,1174.72197515196,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0124,a0124,Amazon Polygon 0124,-63.5,-6.5,NA,NA,2,7,0.196579547290917,0.275370295899876,0.0199282736771132,4.11996596514939,0.150321114510502,1171.63357395483,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0125,a0125,Amazon Polygon 0125,-62.5,-6.5,NA,NA,2,5,0.244662535410765,0.274032577903683,0.0191499291784703,4.13445467422096,0.117794971671388,1159.95042492918,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0126,a0126,Amazon Polygon 0126,-61.5,-6.5,NA,NA,2,3,0.560114285714286,0.1922,0.0275228571428571,3.88285714285714,0.1474,1111.71428571429,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0127,a0127,Amazon Polygon 0127,-60.5,-6.5,NA,NA,2,8,0.388485111813259,0.358129854186806,0.0245543343694118,3.92201855126991,0.129592882908742,1138.78255735462,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0128,a0128,Amazon Polygon 0128,-59.5,-6.5,NA,NA,2,8,0.329346531302876,0.337793570219966,0.0191165143824027,4.04602368866328,0.109199323181049,1143.87140439932,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0129,a0129,Amazon Polygon 0129,-58.5,-6.5,NA,NA,2,8,0.401046897022193,0.331684073736919,0.0208013602676036,4.02297069725274,0.107369580881748,1162.37055629501,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0130,a0130,Amazon Polygon 0130,-57.5,-6.5,NA,NA,2,8,0.402082448308531,0.329085118646906,0.0205117771282756,4.05679704007993,0.120642426752595,1147.70319656278,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0131,a0131,Amazon Polygon 0131,-56.5,-6.5,NA,NA,2,8,0.403477622136805,0.311749766298696,0.0207805693787863,4.07391789389225,0.135365797214032,1141.82167733301,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0132,a0132,Amazon Polygon 0132,-55.5,-6.5,NA,NA,2,8,0.315060023085802,0.307880723355137,0.021293420546364,4.02181608310889,0.15152558676414,1134.78260869565,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0133,a0133,Amazon Polygon 0133,-54.5,-6.5,NA,NA,2,5,0.472456509042975,0.232519024079735,0.0184966023346652,4.39294157816014,0.120887602741927,1139.14116702345,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0134,a0134,Amazon Polygon 0134,-53.5,-6.5,NA,NA,2,5,0.433865380282771,0.260146140656473,0.020582968267837,4.68518820884446,0.114179586990585,1161.35344960581,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0135,a0135,Amazon Polygon 0135,-52.5,-6.5,NA,NA,2,8,0.398,0.302,0.0219,4.7,0.106,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0136,a0136,Amazon Polygon 0136,-51.5,-6.5,NA,NA,2,8,0.399,0.3,0.0223,4.7,0.11,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0137,a0137,Amazon Polygon 0137,-50.5,-6.5,NA,NA,2,8,0.375477076859613,0.293679840673366,0.0243680114404698,4.8353155320134,0.117020456632055,1162.96801551463,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0138,a0138,Amazon Polygon 0138,-49.5,-6.5,NA,NA,2,8,0.41,0.305,0.0195,4.9,0.102,1240,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0139,a0139,Amazon Polygon 0139,-48.5,-6.5,NA,NA,2,8,0.438,0.295,0.0163,5,0.084,1250,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0140,a0140,Amazon Polygon 0140,-72.5,-5.5,NA,NA,2,8,0.316631318267378,0.293731070052168,0.0212564050324336,4.03435012014072,0.133540200221238,1204.23283989838,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0141,a0141,Amazon Polygon 0141,-71.5,-5.5,NA,NA,2,8,0.261831067264059,0.331674853274107,0.0242969500923943,4.13961911542858,0.144168750466063,1175.89916503948,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0142,a0142,Amazon Polygon 0142,-70.5,-5.5,NA,NA,2,8,0.343382487520799,0.321202787021631,0.0223361064891847,4.14968801996672,0.135537853577371,1182.25457570715,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0143,a0143,Amazon Polygon 0143,-69.5,-5.5,NA,NA,2,8,0.274067385416902,0.372217615069417,0.0230286438385721,4.12630420864217,0.1318701219462,1184.8735444809,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0144,a0144,Amazon Polygon 0144,-68.5,-5.5,NA,NA,2,8,0.376389945078158,0.339515842839037,0.0280085762568652,4.00566117448247,0.167994930291508,1190.59146599071,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0145,a0145,Amazon Polygon 0145,-67.5,-5.5,NA,NA,2,8,0.356222727272727,0.306647159090909,0.0269543181818182,4.03232954545455,0.150550568181818,1144.60227272727,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0146,a0146,Amazon Polygon 0146,-66.5,-5.5,NA,NA,2,8,0.371920323009405,0.315239792837457,0.0268064244874011,4.08748153937897,0.153513564625017,1163.25080116365,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0147,a0147,Amazon Polygon 0147,-65.5,-5.5,NA,NA,2,8,0.320175685557587,0.328858500914077,0.0264373126142596,4.2209689213894,0.152609140767825,1175.46252285192,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0148,a0148,Amazon Polygon 0148,-64.5,-5.5,NA,NA,2,17,0.19,0.501,0.0244,4.1,0.15,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0149,a0149,Amazon Polygon 0149,-63.5,-5.5,NA,NA,2,17,0.151,0.531,0.021,4.2,0.148,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0150,a0150,Amazon Polygon 0150,-62.5,-5.5,NA,NA,2,7,0.162319696146734,0.283881096617385,0.02113330578884,4.10775040297384,0.137642820829614,1171.37074442068,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0151,a0151,Amazon Polygon 0151,-61.5,-5.5,NA,NA,2,17,0.231,0.456,0.0193,4,0.114,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0152,a0152,Amazon Polygon 0152,-60.5,-5.5,NA,NA,2,8,0.341970195896916,0.374434081407434,0.020952469499411,3.94210630242548,0.116940004238079,1151.01613736737,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0153,a0153,Amazon Polygon 0153,-59.5,-5.5,NA,NA,2,8,0.232390243902439,0.348792682926829,0.0172573170731707,4.04268292682927,0.110219512195122,1142.19512195122,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0154,a0154,Amazon Polygon 0154,-58.5,-5.5,NA,NA,2,8,0.367328599477271,0.346718543401378,0.0163035298076339,4.16878166280633,0.105175781723714,1141.87391642773,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0155,a0155,Amazon Polygon 0155,-57.5,-5.5,NA,NA,2,8,0.357098701250047,0.3620339573164,0.0193660672959784,4.19626448101776,0.112960418923554,1149.06354993779,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0156,a0156,Amazon Polygon 0156,-56.5,-5.5,NA,NA,2,8,0.34612741653184,0.3127191263931,0.0202685715388804,4.02263168324212,0.137436727117829,1138.13882752506,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0157,a0157,Amazon Polygon 0157,-55.5,-5.5,NA,NA,2,8,0.278051742100947,0.33339098713427,0.0196052091300199,4.09188828089866,0.140839386752368,1140.87748074938,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0158,a0158,Amazon Polygon 0158,-54.5,-5.5,NA,NA,2,8,0.39464608371322,0.283622461665976,0.0203793203481144,4.24243680066308,0.117186904268545,1158.15167840862,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0159,a0159,Amazon Polygon 0159,-53.5,-5.5,NA,NA,2,8,0.394302088079942,0.287042205311682,0.0185841949886112,4.44558374069444,0.104233757115698,1159.35239376196,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0160,a0160,Amazon Polygon 0160,-52.5,-5.5,NA,NA,2,8,0.398610950414417,0.285193127551434,0.0168288526619137,4.49620860509732,0.0943560255317985,1160.68634924208,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0161,a0161,Amazon Polygon 0161,-51.5,-5.5,NA,NA,2,8,0.422262532563853,0.301807108592407,0.0167985824585007,4.4886403343559,0.0944742243282384,1159.71514316469,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0162,a0162,Amazon Polygon 0162,-50.5,-5.5,NA,NA,2,8,0.370207576953433,0.318092344119968,0.0235119968429361,4.78003157063931,0.117884767166535,1167.6637726914,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0163,a0163,Amazon Polygon 0163,-49.5,-5.5,NA,NA,2,8,0.428,0.3,0.0182,4.7,0.096,1200,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0164,a0164,Amazon Polygon 0164,-48.5,-5.5,NA,NA,2,8,0.449983009708738,0.306681692094313,0.018595665742025,4.73065187239945,0.0946463245492372,1188.93203883495,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0165,a0165,Amazon Polygon 0165,-71.5,-4.5,NA,NA,2,17,0.172,0.46,0.0438,4.2,0.119,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0166,a0166,Amazon Polygon 0166,-70.5,-4.5,NA,NA,2,7,0.180844339539162,0.326875672395628,0.0378916021208374,4.25120446069311,0.119021785409909,1183.58017266654,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0167,a0167,Amazon Polygon 0167,-69.5,-4.5,NA,NA,2,8,0.273516734693877,0.343818775510204,0.0231362448979592,4.19681632653061,0.121054285714286,1186.53469387755,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0168,a0168,Amazon Polygon 0168,-68.5,-4.5,NA,NA,2,8,0.342060798209623,0.358166728832525,0.0194925400969787,4.27907497202536,0.12147034688549,1193.32711674748,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0169,a0169,Amazon Polygon 0169,-67.5,-4.5,NA,NA,2,8,0.348771046735434,0.306365616648273,0.0239883688631256,4.10847593744122,0.141212122899216,1154.67484644238,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0170,a0170,Amazon Polygon 0170,-66.5,-4.5,NA,NA,2,8,0.324960698490132,0.3012612351484,0.0265792256374342,4.20402743720121,0.142542745427422,1141.99287086459,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0171,a0171,Amazon Polygon 0171,-65.5,-4.5,NA,NA,2,8,0.282513583441138,0.297124838292367,0.0212324062095731,3.95873221216041,0.128265847347995,1179.42432082794,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0172,a0172,Amazon Polygon 0172,-64.5,-4.5,NA,NA,2,7,0.19746709470305,0.290691813804173,0.01776886035313,3.97512038523274,0.137132423756019,1192.31942215088,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0173,a0173,Amazon Polygon 0173,-63.5,-4.5,NA,NA,2,7,0.126954475308642,0.292680941358025,0.0181841820987654,3.78769290123457,0.126659722222222,1189.32098765432,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0174,a0174,Amazon Polygon 0174,-62.5,-4.5,NA,NA,2,4,0.163475716064757,0.273605230386052,0.0177661270236613,4.15230386052304,0.136013698630137,1161.02117061021,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0175,a0175,Amazon Polygon 0175,-61.5,-4.5,NA,NA,2,7,0.13280727212721,0.302809712941324,0.0262820949943889,3.94619143567497,0.113322670499445,1165.89946168109,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0176,a0176,Amazon Polygon 0176,-60.5,-4.5,NA,NA,2,7,0.179919421487603,0.312974690082645,0.0183882747933884,4.09395661157025,0.127867768595041,1160.86260330579,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0177,a0177,Amazon Polygon 0177,-59.5,-4.5,NA,NA,2,8,0.336,0.318,0.0166,4.1,0.105,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0178,a0178,Amazon Polygon 0178,-58.5,-4.5,NA,NA,2,8,0.321262204059056,0.375463295514598,0.0144652699143677,4.09469339482078,0.104014310235251,1156.80443887106,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0179,a0179,Amazon Polygon 0179,-57.5,-4.5,NA,NA,2,8,0.415331305303557,0.366601371168554,0.0171815995710085,4.11656375020538,0.104339695117783,1157.63684320586,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0180,a0180,Amazon Polygon 0180,-56.5,-4.5,NA,NA,2,8,0.355593315895006,0.393720972354411,0.0162704985607786,4.19262089454544,0.105047794626876,1155.94914097185,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0181,a0181,Amazon Polygon 0181,-55.5,-4.5,NA,NA,2,8,0.333254551700447,0.356485056681553,0.0200386808656819,4.18979732050842,0.100683613878392,1147.5334936448,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0182,a0182,Amazon Polygon 0182,-54.5,-4.5,NA,NA,2,8,0.36203836952556,0.363111520041128,0.0200708210486965,4.38380479003491,0.0977894594579951,1168.20588858607,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0183,a0183,Amazon Polygon 0183,-53.5,-4.5,NA,NA,2,8,0.412961517904864,0.307752004275788,0.0185749331908071,4.39567076429717,0.0942057723142704,1164.0994120791,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0184,a0184,Amazon Polygon 0184,-52.5,-4.5,NA,NA,2,8,0.411855537435268,0.337758914280448,0.0158014482785004,4.33425209540328,0.10255163071051,1179.34930849609,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0185,a0185,Amazon Polygon 0185,-51.5,-4.5,NA,NA,2,8,0.407422168172342,0.365154968728284,0.016791000694927,4.45868658790827,0.101891938846421,1185.28492008339,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0186,a0186,Amazon Polygon 0186,-50.5,-4.5,NA,NA,2,8,0.441613636363636,0.297163961038961,0.0201332792207792,4.79350649350649,0.102337662337662,1174.59415584416,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0187,a0187,Amazon Polygon 0187,-49.5,-4.5,NA,NA,2,8,0.444267904509284,0.319212201591512,0.0194294429708223,4.61007957559682,0.0989336870026525,1171.29973474801,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0188,a0188,Amazon Polygon 0188,-48.5,-4.5,NA,NA,2,6,0.472237000640531,0.301920428836852,0.0192040664945198,4.53387164472268,0.081042653742603,1191.18135010809,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0189,a0189,Amazon Polygon 0189,-47.5,-4.5,NA,NA,2,5,0.382,0.245,0.0164,4.9,0.075,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0190,a0190,Amazon Polygon 0190,-46.5,-4.5,NA,NA,2,8,0.439428484011334,0.358171322892075,0.0173332375996905,4.93920405875888,0.0900584877584942,1245.42093411732,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0191,a0191,Amazon Polygon 0191,-45.5,-4.5,NA,NA,2,5,0.448,0.259,0.0159,5.2,0.081,1250,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0192,a0192,Amazon Polygon 0192,-69.5,-3.5,NA,NA,2,5,0.318452568295237,0.27335013367275,0.0429284412195275,4.30292278054564,0.131592159120715,1180.0924575863,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0193,a0193,Amazon Polygon 0193,-68.5,-3.5,NA,NA,2,8,0.289615166039776,0.302296043277158,0.0243809465206284,4.28969269797309,0.112370333047237,1179.8274509834,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0194,a0194,Amazon Polygon 0194,-67.5,-3.5,NA,NA,2,8,0.2700686321647,0.311963459336089,0.0251306205205177,4.14459388065387,0.133479905527406,1150.91269511748,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0195,a0195,Amazon Polygon 0195,-66.5,-3.5,NA,NA,2,8,0.302732084799917,0.317106665959767,0.0257642142408992,4.19155826315183,0.137826048525465,1135.74955305385,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0196,a0196,Amazon Polygon 0196,-65.5,-3.5,NA,NA,2,8,0.258101936799185,0.303352701325178,0.0245166666666667,4.09964322120285,0.127257900101937,1130.76962283384,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0197,a0197,Amazon Polygon 0197,-64.5,-3.5,NA,NA,2,8,0.277105975197294,0.314315670800451,0.024867305524239,4.07733934611048,0.104762495302518,1133.91206313416,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0198,a0198,Amazon Polygon 0198,-63.5,-3.5,NA,NA,2,7,0.173980475688053,0.284462404732551,0.0183109889017527,4.06681640015756,0.112112878079992,1197.74383952955,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0199,a0199,Amazon Polygon 0199,-62.5,-3.5,NA,NA,2,8,0.205569367108256,0.279964966850437,0.0228394088267051,4.11279350923955,0.113313215921889,1169.96765862445,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0200,a0200,Amazon Polygon 0200,-61.5,-3.5,NA,NA,2,8,0.207130391278045,0.297064415803823,0.0195096321133073,4.07966417615082,0.105054381826692,1165.84000418523,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0201,a0201,Amazon Polygon 0201,-60.5,-3.5,NA,NA,2,7,0.174480848187578,0.33643972382086,0.0177493920338391,4.14915719674249,0.0951833241015492,1161.88606016416,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0202,a0202,Amazon Polygon 0202,-59.5,-3.5,NA,NA,2,17,0.206,0.445,0.0185,4.2,0.107,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0203,a0203,Amazon Polygon 0203,-58.5,-3.5,NA,NA,2,8,0.324809022354477,0.397831643474228,0.0147858549279727,4.12196836513106,0.103717253738994,1167.54251025312,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0204,a0204,Amazon Polygon 0204,-57.5,-3.5,NA,NA,2,16,0.360496891737772,0.400771151258777,0.0195854962555674,4.21449828935962,0.113981802402827,1182.22045084109,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0205,a0205,Amazon Polygon 0205,-56.5,-3.5,NA,NA,2,9,0.466265704196725,0.359033669562661,0.0156241671891566,4.09684359417543,0.0942319636252154,1176.10157498244,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0206,a0206,Amazon Polygon 0206,-55.5,-3.5,NA,NA,2,6,0.48989805511363,0.342665064851515,0.014674402617952,4.11786563803893,0.097472504212456,1188.98461685856,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0207,a0207,Amazon Polygon 0207,-54.5,-3.5,NA,NA,2,6,0.450073758865248,0.343052482269504,0.0156248226950355,4.2090780141844,0.0934992907801418,1177.39007092199,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0208,a0208,Amazon Polygon 0208,-53.5,-3.5,NA,NA,2,16,0.370784294070405,0.401918467590509,0.0164540809953716,4.49237763605096,0.106611387152024,1179.96542957844,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0209,a0209,Amazon Polygon 0209,-52.5,-3.5,NA,NA,2,16,0.411803245436105,0.406446653144016,0.0191922515212982,4.45204868154158,0.0970085192697769,1165.39553752535,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0210,a0210,Amazon Polygon 0210,-51.5,-3.5,NA,NA,2,5,0.439,0.205,0.0184,4.6,0.106,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0211,a0211,Amazon Polygon 0211,-50.5,-3.5,NA,NA,2,8,0.444111894273128,0.336293392070485,0.0183740528634361,4.54718061674009,0.0998828193832599,1169.46696035242,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0212,a0212,Amazon Polygon 0212,-49.5,-3.5,NA,NA,2,6,0.479633160621762,0.308116062176166,0.0217348186528497,4.69139896373057,0.104853367875648,1165,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0213,a0213,Amazon Polygon 0213,-48.5,-3.5,NA,NA,2,6,0.468818388864697,0.311223015158725,0.0176027987542047,4.44463898577152,0.0863382558718974,1190.26577691576,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0214,a0214,Amazon Polygon 0214,-47.5,-3.5,NA,NA,2,5,0.467,0.207,0.0157,4.8,0.071,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0215,a0215,Amazon Polygon 0215,-46.5,-3.5,NA,NA,2,6,0.45541505595117,0.345739572736521,0.016979518480841,4.61631061376738,0.0877416073245168,1190.91217361818,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0216,a0216,Amazon Polygon 0216,-45.5,-3.5,NA,NA,2,8,0.376,0.314,0.014,5.1,0.091,1200,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0217,a0217,Amazon Polygon 0217,-69.5,-2.5,NA,NA,2,5,0.501084205518554,0.186823977164605,0.039562226450999,4.30428163653663,0.152717411988582,1153.55851569933,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0218,a0218,Amazon Polygon 0218,-68.5,-2.5,NA,NA,2,5,0.474578107885745,0.225788409727348,0.0350460210800488,4.24778382175107,0.157631583701463,1120.71969737027,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0219,a0219,Amazon Polygon 0219,-67.5,-2.5,NA,NA,2,7,0.196220794392523,0.317254672897196,0.0251533878504673,4.2,0.134580607476636,1137.23130841121,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0220,a0220,Amazon Polygon 0220,-66.5,-2.5,NA,NA,2,8,0.226691168376192,0.320084291935551,0.030027757405747,4.18836586183917,0.142762258213817,1132.93145452059,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0221,a0221,Amazon Polygon 0221,-65.5,-2.5,NA,NA,2,7,0.185346839867306,0.290991858339675,0.0266765038387251,4.2015748646035,0.14271704441742,1105.73817449625,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0222,a0222,Amazon Polygon 0222,-64.5,-2.5,NA,NA,2,17,0.22,0.477,0.0261,4.1,0.136,1110,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0223,a0223,Amazon Polygon 0223,-63.5,-2.5,NA,NA,2,8,0.238802126881665,0.28627569123884,0.0242921620325804,4.12534833508294,0.121304591884166,1157.52515713517,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0224,a0224,Amazon Polygon 0224,-62.5,-2.5,NA,NA,2,8,0.303226557975135,0.323876468990194,0.0221805349432241,4.32238435161985,0.102009606543295,1175.28861746452,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0225,a0225,Amazon Polygon 0225,-61.5,-2.5,NA,NA,2,8,0.384794096355573,0.322833529555224,0.0162511491983126,4.58697499306154,0.103769225769498,1178.56654731473,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0226,a0226,Amazon Polygon 0226,-60.5,-2.5,NA,NA,2,8,0.391387837747938,0.333180572612777,0.0151653244823465,4.14886476578854,0.0976049802387028,1190.23849846549,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0227,a0227,Amazon Polygon 0227,-59.5,-2.5,NA,NA,2,16,0.39368801431127,0.41897030411449,0.0159848658318426,4.05656529516995,0.0781792486583184,1165.52772808587,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0228,a0228,Amazon Polygon 0228,-58.5,-2.5,NA,NA,2,16,0.436608137421665,0.40402770637311,0.0160778985219255,4.14956738462942,0.0944311173872009,1165.84296631185,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0229,a0229,Amazon Polygon 0229,-57.5,-2.5,NA,NA,2,6,0.479282903641197,0.346625089658027,0.0156348479275412,4.12573829897359,0.098496227238243,1166.06664423999,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0230,a0230,Amazon Polygon 0230,-56.5,-2.5,NA,NA,2,6,0.568451904758393,0.287509378431131,0.0137057084578839,4.03121116079173,0.083103354371674,1176.84889973747,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0231,a0231,Amazon Polygon 0231,-55.5,-2.5,NA,NA,2,16,0.412741742088074,0.41123452200969,0.0159234345366853,4.10431978283066,0.100178754600689,1166.25327145647,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0232,a0232,Amazon Polygon 0232,-54.5,-2.5,NA,NA,2,5,0.369,0.222,0.0165,4.6,0.124,1160,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0233,a0233,Amazon Polygon 0233,-53.5,-2.5,NA,NA,2,11,0.258783928069683,0.487778870469233,0.0174272548468671,4.49269457712841,0.107891261590334,1169.15987636977,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0234,a0234,Amazon Polygon 0234,-52.5,-2.5,NA,NA,2,5,0.47,0.243,0.0154,4.4,0.104,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0235,a0235,Amazon Polygon 0235,-51.5,-2.5,NA,NA,2,6,0.486723228995058,0.296668314113125,0.0166360241625481,4.37144426139484,0.0979077429983525,1190.0823723229,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0236,a0236,Amazon Polygon 0236,-50.5,-2.5,NA,NA,2,6,0.455851878847693,0.305996691233648,0.0185474019218788,4.43283007888501,0.109237515123583,1178.0902214773,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0237,a0237,Amazon Polygon 0237,-49.5,-2.5,NA,NA,2,8,0.416494,0.330832,0.0206422,4.5,0.125394,1182.88,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0238,a0238,Amazon Polygon 0238,-48.5,-2.5,NA,NA,2,5,0.456,0.241,0.0165,4.7,0.093,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0239,a0239,Amazon Polygon 0239,-47.5,-2.5,NA,NA,2,5,0.395,0.246,0.0157,4.9,0.076,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0240,a0240,Amazon Polygon 0240,-46.5,-2.5,NA,NA,2,8,0.366523568668258,0.366549613332243,0.016339490616958,4.55215271258003,0.08033462738003,1174.40768787318,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0241,a0241,Amazon Polygon 0241,-45.5,-2.5,NA,NA,2,8,0.412,0.291,0.0167,5,0.095,1190,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0242,a0242,Amazon Polygon 0242,-44.5,-2.5,NA,NA,2,8,0.349,0.314,0.0197,5.1,0.148,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0243,a0243,Amazon Polygon 0243,-68.5,-1.5,NA,NA,2,3,0.583286919831224,0.191196905766526,0.0204880450070324,4.24838255977496,0.147434599156118,1174.75386779184,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0244,a0244,Amazon Polygon 0244,-67.5,-1.5,NA,NA,2,8,0.359,0.338,0.0251,4.3,0.14,1110,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0245,a0245,Amazon Polygon 0245,-66.5,-1.5,NA,NA,2,6,0.484,0.261,0.0216,4.3,0.107,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0246,a0246,Amazon Polygon 0246,-65.5,-1.5,NA,NA,2,5,0.483153846153846,0.217,0.0222769230769231,4.3,0.101076923076923,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0247,a0247,Amazon Polygon 0247,-64.5,-1.5,NA,NA,2,5,0.332199570164771,0.226728347704738,0.0229433604016956,4.15299560886021,0.109355631266316,1140.07653008428,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0248,a0248,Amazon Polygon 0248,-63.5,-1.5,NA,NA,2,8,0.283137652629851,0.275732067246036,0.0222419811718623,4.10356431250998,0.126085245743094,1156.30507181702,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0249,a0249,Amazon Polygon 0249,-62.5,-1.5,NA,NA,2,8,0.278494276944493,0.278303735285365,0.0259597767751026,4.04693747670087,0.114247037965245,1161.43611359252,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0250,a0250,Amazon Polygon 0250,-61.5,-1.5,NA,NA,2,8,0.293022662889518,0.344461756373938,0.0409393767705382,4.03371104815864,0.137597733711048,1130.22662889518,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0251,a0251,Amazon Polygon 0251,-60.5,-1.5,NA,NA,2,8,0.306637396681003,0.37073806896197,0.0180052615048106,4.13085875382976,0.0963526754981705,1179.21859014325,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0252,a0252,Amazon Polygon 0252,-59.5,-1.5,NA,NA,2,16,0.300556308615255,0.401741069547032,0.0184511341679462,4.21649253416002,0.0842416870038793,1174.29416581795,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0253,a0253,Amazon Polygon 0253,-58.5,-1.5,NA,NA,2,17,0.249196236234406,0.409889027806853,0.0169219522241721,4.25042630421649,0.0909396671003949,1176.75135849828,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0254,a0254,Amazon Polygon 0254,-57.5,-1.5,NA,NA,2,8,0.353953296510074,0.356318795150176,0.0162318951959305,4.16127921138137,0.0921185700147406,1169.03315845088,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0255,a0255,Amazon Polygon 0255,-56.5,-1.5,NA,NA,2,8,0.428561397205884,0.357890819191029,0.0170443708892477,4.07668184177044,0.102229315858188,1172.03342349047,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0256,a0256,Amazon Polygon 0256,-55.5,-1.5,NA,NA,2,8,0.394724258319037,0.285435050554816,0.0174574132596345,4.58042111599446,0.120983760700622,1140.94614837231,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0257,a0257,Amazon Polygon 0257,-54.5,-1.5,NA,NA,2,6,0.453466860183841,0.30700145137881,0.0147157232704403,4.44944363812288,0.0934358974358974,1168.24383164006,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0258,a0258,Amazon Polygon 0258,-53.5,-1.5,NA,NA,2,8,0.358051985792703,0.375059412334517,0.0217846625766871,4.69667420083952,0.102369066838876,1149.43816596706,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0259,a0259,Amazon Polygon 0259,-52.5,-1.5,NA,NA,2,6,0.489193198804185,0.267949177877429,0.0144534379671151,4.48789237668161,0.104897608370703,1180.63153961136,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0260,a0260,Amazon Polygon 0260,-51.5,-1.5,NA,NA,2,8,0.4179221017771,0.328776241876915,0.0169746115109358,4.50445071598713,0.105085291270001,1176.97838613175,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0261,a0261,Amazon Polygon 0261,-50.5,-1.5,NA,NA,2,6,0.547492846393835,0.282247721731745,0.0208268214779869,4.51611375009776,0.101198815924279,1198.09744113304,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0262,a0262,Amazon Polygon 0262,-49.5,-1.5,NA,NA,2,6,0.4680421384336,0.314970467602685,0.0255416866979813,4.57188082717456,0.127847153682839,1192.2391132314,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0263,a0263,Amazon Polygon 0263,-48.5,-1.5,NA,NA,2,8,0.391037326388889,0.327946180555556,0.0201565972222222,4.671875,0.141463541666667,1194.19270833333,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0264,a0264,Amazon Polygon 0264,-47.5,-1.5,NA,NA,2,5,0.383,0.249,0.0161,4.9,0.102,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0265,a0265,Amazon Polygon 0265,-46.5,-1.5,NA,NA,2,5,0.365,0.271,0.0168,4.9,0.107,1200,K,1,90,14,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0266,a0266,Amazon Polygon 0266,-45.5,-1.5,NA,NA,2,8,0.372681588447653,0.363571119133574,0.0232038989169675,4.83451263537906,0.140849097472924,1191.12635379061,K,1,90,14,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0267,a0267,Amazon Polygon 0267,-69.5,-0.5,NA,NA,2,6,0.513583189169413,0.245977740531898,0.0276737157238781,4.58843583440703,0.12858002948712,1194.93803226348,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0268,a0268,Amazon Polygon 0268,-68.5,-0.5,NA,NA,2,3,0.600080368544563,0.184909434794784,0.0266536832169823,4.45450123700453,0.13408238057271,1160.05935057225,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0269,a0269,Amazon Polygon 0269,-67.5,-0.5,NA,NA,2,6,0.497991462671745,0.274257998162199,0.0237007313136071,4.41340109443275,0.129521088572825,1136.4929430812,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0270,a0270,Amazon Polygon 0270,-66.5,-0.5,NA,NA,2,6,0.487163751757489,0.259332591217498,0.0247852706061505,4.28013241098742,0.11444026279783,1143.40517343133,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0271,a0271,Amazon Polygon 0271,-65.5,-0.5,NA,NA,2,5,0.479092105263158,0.217730263157895,0.0217730263157895,4.2,0.0977763157894737,1173.88157894737,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0272,a0272,Amazon Polygon 0272,-64.5,-0.5,NA,NA,2,5,0.472669608463471,0.249291511524267,0.02087983621479,4.13056551181114,0.106210734138445,1160.99596029531,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0273,a0273,Amazon Polygon 0273,-63.5,-0.5,NA,NA,2,6,0.46518007761852,0.262138086454371,0.0250127829843773,4.11123340189234,0.11280515756391,1155.37493870311,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0274,a0274,Amazon Polygon 0274,-62.5,-0.5,NA,NA,2,8,0.399849910285365,0.303517220341941,0.0301553996969191,4.09137312319897,0.116908159627452,1150.9291358209,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0275,a0275,Amazon Polygon 0275,-61.5,-0.5,NA,NA,2,8,0.401,0.296,0.0293,4.1,0.121,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0276,a0276,Amazon Polygon 0276,-60.5,-0.5,NA,NA,2,8,0.43759229436722,0.327765854198416,0.0239312319665031,4.07425046342091,0.103975187414491,1182.26604116517,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0277,a0277,Amazon Polygon 0277,-59.5,-0.5,NA,NA,2,17,0.239715351812367,0.418997334754797,0.0188569829424307,4.20442430703625,0.0887681236673774,1185.07995735608,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0278,a0278,Amazon Polygon 0278,-58.5,-0.5,NA,NA,2,8,0.232,0.367,0.017,4.2,0.091,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0279,a0279,Amazon Polygon 0279,-57.5,-0.5,NA,NA,2,8,0.281511182108626,0.395685126020589,0.020892225772098,4.02744053958112,0.0987724529641463,1147.54348597799,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0280,a0280,Amazon Polygon 0280,-56.5,-0.5,NA,NA,2,8,0.333425168387214,0.385573036348581,0.0181079429907979,4.08479599600034,0.111452773708574,1167.16959626952,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0281,a0281,Amazon Polygon 0281,-55.5,-0.5,NA,NA,2,8,0.367863167567993,0.389374358579361,0.0202798785670844,4.13969965062452,0.111505103338343,1159.92937182343,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0282,a0282,Amazon Polygon 0282,-54.5,-0.5,NA,NA,2,8,0.338900020480741,0.347237539346446,0.024187092972358,4.39643822949762,0.105208915705631,1174.61851509937,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0283,a0283,Amazon Polygon 0283,-53.5,-0.5,NA,NA,2,8,0.355,0.28,0.0153,4.5,0.098,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0284,a0284,Amazon Polygon 0284,-52.5,-0.5,NA,NA,2,8,0.339034131922173,0.374604688011251,0.0156990635612464,4.42961377701112,0.103277610183329,1204.46796846706,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0285,a0285,Amazon Polygon 0285,-51.5,-0.5,NA,NA,2,8,0.372166159029789,0.380014992408354,0.0220836014901674,4.63160218234417,0.146076665566285,1177.6541729892,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0286,a0286,Amazon Polygon 0286,-50.5,-0.5,NA,NA,2,6,0.487482056944867,0.322890399180772,0.0234138451341345,4.56961782065618,0.120102198797205,1192.29829864262,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0287,a0287,Amazon Polygon 0287,-49.5,-0.5,NA,NA,2,5,0.4075,0.242,0.0301,5,0.17,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0288,a0288,Amazon Polygon 0288,-48.5,-0.5,NA,NA,2,8,0.410034389140271,0.337929411764706,0.0235811764705882,4.7020814479638,0.14496742081448,1174.00904977376,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0289,a0289,Amazon Polygon 0289,-69.5,0.5,NA,NA,2,6,0.518,0.244,0.024,4.5,0.124,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0290,a0290,Amazon Polygon 0290,-68.5,0.5,NA,NA,2,6,0.556031275302543,0.213491255142449,0.0269094765332795,4.77052293091954,0.128356794829367,1199.06133779691,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0291,a0291,Amazon Polygon 0291,-67.5,0.5,NA,NA,2,6,0.531345964496635,0.243997191584387,0.0252805275869034,4.58959693238905,0.12274820262963,1138.82061016445,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0292,a0292,Amazon Polygon 0292,-66.5,0.5,NA,NA,2,6,0.548215196717419,0.224407028928467,0.0271229074631325,4.43939775224795,0.109745421821456,1113.94872134619,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0293,a0293,Amazon Polygon 0293,-65.5,0.5,NA,NA,2,6,0.484765179678734,0.256514100828391,0.0282823256655113,4.14867339135671,0.114060992235232,1143.58311648962,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0294,a0294,Amazon Polygon 0294,-64.5,0.5,NA,NA,2,6,0.487010403492551,0.258904649364713,0.0268010597810063,4.10729350353887,0.118673620957919,1124.26391973434,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0295,a0295,Amazon Polygon 0295,-63.5,0.5,NA,NA,2,5,0.490013881177124,0.223543586896169,0.0233667962243198,4.29244863964464,0.111192670738479,1171.7157134925,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0296,a0296,Amazon Polygon 0296,-62.5,0.5,NA,NA,2,6,0.483,0.261,0.0177,4.8,0.127,1240,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0297,a0297,Amazon Polygon 0297,-61.5,0.5,NA,NA,2,6,0.490005479452055,0.286574429223744,0.0155687671232877,4.6,0.115645662100457,1239.25114155251,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0298,a0298,Amazon Polygon 0298,-60.5,0.5,NA,NA,2,8,0.422827388919844,0.29860800842063,0.0148668648048191,4.45877357340052,0.10206694774671,1226.64877103883,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0299,a0299,Amazon Polygon 0299,-59.5,0.5,NA,NA,2,8,0.35218276921012,0.332975825521394,0.0176846653881449,4.36719699243703,0.103102231226806,1209.98824400904,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0300,a0300,Amazon Polygon 0300,-58.5,0.5,NA,NA,2,8,0.363830388886367,0.307647710465354,0.0175809224486845,4.43911678729251,0.103051225392196,1189.58270236001,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0301,a0301,Amazon Polygon 0301,-57.5,0.5,NA,NA,2,8,0.354931842769564,0.343516768842409,0.0181821853588172,4.35708618824378,0.100027046520014,1219.78723404255,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0302,a0302,Amazon Polygon 0302,-56.5,0.5,NA,NA,2,8,0.377,0.279,0.0156,4.5,0.098,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0303,a0303,Amazon Polygon 0303,-55.5,0.5,NA,NA,2,8,0.35,0.292,0.0178,4.5,0.1,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0304,a0304,Amazon Polygon 0304,-54.5,0.5,NA,NA,2,8,0.326,0.309,0.0184,4.5,0.1,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0305,a0305,Amazon Polygon 0305,-53.5,0.5,NA,NA,2,8,0.323365210127657,0.370095805707387,0.0187482045535554,4.48093786377005,0.0996940546590494,1195.62742007063,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0306,a0306,Amazon Polygon 0306,-52.5,0.5,NA,NA,2,8,0.292867015931683,0.397491722254934,0.0192186303907941,4.4352519463437,0.103649205072188,1202.97149068891,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0307,a0307,Amazon Polygon 0307,-51.5,0.5,NA,NA,2,8,0.354676744608013,0.342080412276782,0.0198860758037557,4.59291576539618,0.104769497337053,1216.29109710547,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0308,a0308,Amazon Polygon 0308,-69.5,1.5,NA,NA,2,6,0.526,0.24,0.024,4.5,0.097,1220,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0309,a0309,Amazon Polygon 0309,-68.5,1.5,NA,NA,2,6,0.52253906795127,0.205054553070751,0.0427814812837994,4.66687109294238,0.126099018640665,1194.61921079365,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0310,a0310,Amazon Polygon 0310,-67.5,1.5,NA,NA,2,6,0.561091043671355,0.20421021465581,0.0270715025906736,4.8,0.125521835677276,1167.21687638786,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0311,a0311,Amazon Polygon 0311,-63.5,1.5,NA,NA,2,8,0.42494387755102,0.300469023323615,0.0162231413994169,4.46344752186589,0.11184584548105,1160.36807580175,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0312,a0312,Amazon Polygon 0312,-62.5,1.5,NA,NA,2,5,0.461726939264444,0.258288962317539,0.0154604370768904,4.66603356058363,0.108984270747554,1194.30671490346,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0313,a0313,Amazon Polygon 0313,-61.5,1.5,NA,NA,2,6,0.491579346398351,0.244625519219408,0.0134864468276648,4.76323965635835,0.117913015594765,1223.94573462479,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0314,a0314,Amazon Polygon 0314,-60.5,1.5,NA,NA,2,6,0.504332049917661,0.253297503740243,0.0135588157703226,4.78218311497323,0.0964585250071972,1215.72461292972,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0315,a0315,Amazon Polygon 0315,-59.5,1.5,NA,NA,2,6,0.481927994873695,0.255205541384766,0.0150356642601167,4.74670830089643,0.103511291584974,1207.44096428706,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0316,a0316,Amazon Polygon 0316,-57.5,1.5,NA,NA,2,8,0.320494450050454,0.381883955600404,0.0240853683148335,4.43296333669694,0.130706020854356,1230.91153716784,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0317,a0317,Amazon Polygon 0317,-56.5,1.5,NA,NA,2,8,0.379,0.278,0.0166,4.6,0.102,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0318,a0318,Amazon Polygon 0318,-55.5,1.5,NA,NA,2,5,0.392,0.263,0.0161,4.6,0.101,1220,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0319,a0319,Amazon Polygon 0319,-54.5,1.5,NA,NA,2,8,0.350395925297114,0.379331069609508,0.0170010526315789,4.57011884550085,0.100765365025467,1205.64006791171,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0320,a0320,Amazon Polygon 0320,-53.5,1.5,NA,NA,2,8,0.33561267805929,0.378876602523137,0.017076443885941,4.53922886608355,0.0972183506159432,1210.01906683005,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0321,a0321,Amazon Polygon 0321,-52.5,1.5,NA,NA,2,8,0.335149100257069,0.374988982739625,0.0183976496511201,4.54168196841719,0.117102093279471,1219.54829232464,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0322,a0322,Amazon Polygon 0322,-51.5,1.5,NA,NA,2,8,0.342559043915282,0.375207384619859,0.0198429336435915,4.53589145059832,0.111399201408253,1218.60642701711,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0323,a0323,Amazon Polygon 0323,-50.5,1.5,NA,NA,2,8,0.334285904255319,0.309539893617021,0.0247304521276596,4.85345744680851,0.195167553191489,747.114361702128,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0324,a0324,Amazon Polygon 0324,-63.5,2.5,NA,NA,2,5,0.394,0.267,0.0229,4.2,0.106,1110,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0325,a0325,Amazon Polygon 0325,-62.5,2.5,NA,NA,2,8,0.373555616051848,0.347475527485543,0.0166705535882847,4.47090601554171,0.110173448007595,1154.31042803282,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0326,a0326,Amazon Polygon 0326,-61.5,2.5,NA,NA,2,6,0.474488977350501,0.284508323716426,0.0158915215631065,4.71459515869303,0.0970353676585795,1191.61066134685,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0327,a0327,Amazon Polygon 0327,-60.5,2.5,NA,NA,2,6,0.595486028789162,0.217139712108383,0.0127133361558002,4.97417442845047,0.0982561388653683,1264.29297205758,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0328,a0328,Amazon Polygon 0328,-52.5,2.5,NA,NA,2,8,0.363187161639598,0.365375870069606,0.0310636117556071,4.62965970610982,0.129161252900232,1214.36194895592,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0329,a0329,Amazon Polygon 0329,-51.5,2.5,NA,NA,2,8,0.357012872350827,0.354746872110307,0.0213451569559534,4.58902910482537,0.143151406767849,1205.39553680222,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0330,a0330,Amazon Polygon 0330,-63.5,3.5,NA,NA,2,8,0.361,0.281,0.0224,4.1,0.117,1120,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0331,a0331,Amazon Polygon 0331,-62.5,3.5,NA,NA,2,8,0.346073414671842,0.369487859609459,0.0177165198541867,4.37372537735457,0.10968214765377,1131.10602529551,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0332,a0332,Amazon Polygon 0332,-61.5,3.5,NA,NA,2,6,0.479615694573823,0.293875810816361,0.0152221313921233,4.85439423856933,0.110973840211288,1214.41237963628,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0333,a0333,Amazon Polygon 0333,-60.5,3.5,NA,NA,2,6,0.498,0.26,0.0101,5.3,0.153,1320,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0334,a0334,Amazon Polygon 0334,-51.5,3.5,NA,NA,2,8,0.359,0.366,0.0225,4.6,0.123,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0335,a0335,Amazon Polygon 0335,-60.5,4.5,NA,NA,2,5,0.442668521094112,0.255291608715809,0.0228799258229022,5.36764024107557,0.13246314325452,1224.35790449699,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0336,a0336,Amazon Polygon 0336,-59.5,-11.5,NA,NA,2,6,0.531965811840757,0.243728325972639,0.0187127669238973,4.4686539658477,0.108225292926799,1211.32454358169,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0337,a0337,Amazon Polygon 0337,-58.5,-12.5,NA,NA,2,3,0.754084244600303,0.15137239297781,0.0138599813936637,4.61700499339524,0.094790242484175,1221.66075690442,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0338,a0338,Amazon Polygon 0338,-51.5,-12.5,NA,NA,2,6,0.604934210526316,0.241301619433198,0.0233360829959514,4.81376518218624,0.092747975708502,1230.43016194332,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0339,a0339,Amazon Polygon 0339,-54.5,-13.5,NA,NA,2,6,0.604719512195122,0.254965447154472,0.0216197154471545,4.8,0.106475609756098,1225.91463414634,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZBR_0340,a0340,Amazon Polygon 0340,-46.5,-5.5,NA,NA,2,6,0.568910083727703,0.251582089552239,0.0157911175828176,4.90910083727703,0.0982085911903895,1276.40698944303,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0341,a0341,Amazon Polygon 0341,-59.5,-12.5,NA,NA,2,3,0.668453719723183,0.181541522491349,0.0159257352941176,4.6780276816609,0.103732698961938,1216.35813148789,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0342,a0342,Amazon Polygon 0342,-59.5,-13.5,NA,NA,2,3,0.699488842211707,0.186988779988865,0.0157302321721259,4.91277867918269,0.087079116612656,1214.97471074384,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0343,a0343,Amazon Polygon 0343,-53.5,-13.5,NA,NA,2,6,0.556761283851555,0.280124373119358,0.0183568706118355,5.03019057171515,0.0786880641925777,1240.33099297894,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0344,a0344,Amazon Polygon 0344,-53.5,2.5,NA,NA,2,8,0.307401814058957,0.396586848072562,0.0224716553287982,4.62208616780045,0.108532426303855,1201.46031746032,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0345,a0345,Amazon Polygon 0345,-73.5,-6.5,NA,NA,2,8,0.38418927140332,0.323272575377048,0.0253926179596497,4.18006928075437,0.134395888997171,1213.40132840139,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0346,a0346,Amazon Polygon 0346,-65.5,-11.5,NA,NA,2,8,0.436925311203319,0.291680497925311,0.0164742738589212,4.73112033195021,0.10660857538036,1211.53526970954,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0347,a0347,Amazon Polygon 0347,-69.5,-1.5,NA,NA,2,3,0.566508552631579,0.187552631578947,0.02448125,4.32605263157895,0.137514473684211,1178.75657894737,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZBR_0348,a0348,Amazon Polygon 0348,-59.5,4.5,NA,NA,2,8,0.41111091393079,0.277334516415262,0.0196432120674357,5.4318544809228,0.129808340727595,1221.20674356699,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZBR_0349,a0349,Amazon Polygon 0349,-50.5,-10.5,NA,NA,2,6,0.568891694352159,0.229058803986711,0.025399634551495,4.89614617940199,0.106660465116279,1234.76079734219,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZBR_0350,a0350,Amazon Polygon 0350,-50.5,0.5,NA,NA,2,8,0.339461871069182,0.341968553459119,0.0205159591194969,4.81088836477987,0.145310927672956,1209.13128930818,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 diff --git a/R-utils/amzif_poi.csv b/R-utils/amzif_poi.csv new file mode 100644 index 000000000..3b569db43 --- /dev/null +++ b/R-utils/amzif_poi.csv @@ -0,0 +1,351 @@ +short,iata,longname,lon,lat,alt,wmo,isoilflg,istext,sand,clay,slsoc,slph,slcec,sldbd,depth,isoilbc,sldrain,scolour,met.driver,yeara,yearz,iphen,iage +AMZIF_0001,i0001,Amazon Intact 0001,-61.5,-13.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0002,i0002,Amazon Intact 0002,-60.5,-13.5,NA,NA,2,3,0.614,0.173,0.0179,5.2,0.099,1240,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0003,i0003,Amazon Intact 0003,-63.5,-12.5,NA,NA,2,6,0.495,0.262,0.016,5,0.086,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0004,i0004,Amazon Intact 0004,-62.5,-12.5,NA,NA,2,6,0.532827158181877,0.223343203931085,0.0151842159320799,4.81890525820088,0.0924997073894,1223.15593565532,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0005,i0005,Amazon Intact 0005,-61.5,-12.5,NA,NA,2,6,0.450731520182141,0.306403635818869,0.0183703078468289,4.88934097681909,0.0847669342966816,1220.75569914233,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0006,i0006,Amazon Intact 0006,-60.5,-12.5,NA,NA,2,3,0.612,0.161,0.017,5,0.083,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0007,i0007,Amazon Intact 0007,-57.5,-12.5,NA,NA,2,3,0.688,0.106,0.0165,4.5,0.101,1210,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0008,i0008,Amazon Intact 0008,-56.5,-12.5,NA,NA,2,3,0.606,0.148,0.0193,4.8,0.119,1220,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0009,i0009,Amazon Intact 0009,-55.5,-12.5,NA,NA,2,3,0.589,0.157,0.0202,4.9,0.103,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0010,i0010,Amazon Intact 0010,-54.5,-12.5,NA,NA,2,6,0.588931216931217,0.262272927689594,0.0225351851851852,4.77416225749559,0.0949766313932981,1217.7557319224,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0011,i0011,Amazon Intact 0011,-53.5,-12.5,NA,NA,2,6,0.599319673617407,0.255952493200363,0.0254086854034451,4.85642792384406,0.0997787851314597,1223.12420670898,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0012,i0012,Amazon Intact 0012,-52.5,-12.5,NA,NA,2,6,0.612817371143214,0.240545211342964,0.0232944533618691,4.87788478687355,0.0945580524344569,1232.01533797039,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0013,i0013,Amazon Intact 0013,-64.5,-11.5,NA,NA,2,6,0.479828543080773,0.284419945311968,0.0166047393115583,4.81936043008105,0.100291496056211,1195.82545471844,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0014,i0014,Amazon Intact 0014,-63.5,-11.5,NA,NA,2,6,0.485,0.257,0.0158,4.9,0.106,1220,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0015,i0015,Amazon Intact 0015,-62.5,-11.5,NA,NA,2,6,0.501,0.249,0.0156,4.8,0.097,1280,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0016,i0016,Amazon Intact 0016,-61.5,-11.5,NA,NA,2,6,0.523848657024793,0.226321280991736,0.0169982954545455,4.49927685950413,0.124055785123967,1184.70041322314,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0017,i0017,Amazon Intact 0017,-60.5,-11.5,NA,NA,2,6,0.497783881692461,0.240416956240693,0.0196677284365722,4.45150152401207,0.126352349579395,1200.16621915694,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0018,i0018,Amazon Intact 0018,-58.5,-11.5,NA,NA,2,3,0.693155778355077,0.173519040956307,0.0190220585730911,4.49683832001874,0.093880134066002,1204.17132873688,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0019,i0019,Amazon Intact 0019,-57.5,-11.5,NA,NA,2,3,0.645,0.148,0.0169,4.6,0.108,1210,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0020,i0020,Amazon Intact 0020,-56.5,-11.5,NA,NA,2,3,0.604,0.168,0.0182,4.6,0.1,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0021,i0021,Amazon Intact 0021,-55.5,-11.5,NA,NA,2,3,0.569,0.193,0.0185,4.6,0.094,1220,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0022,i0022,Amazon Intact 0022,-54.5,-11.5,NA,NA,2,6,0.492119074281448,0.276775662560657,0.0195657334826428,4.45733482642777,0.0928402388951101,1212.03807390817,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0023,i0023,Amazon Intact 0023,-53.5,-11.5,NA,NA,2,6,0.556383399980493,0.248132351506876,0.0224636399102702,4.54969277284697,0.106959816639032,1202.66068467766,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0024,i0024,Amazon Intact 0024,-52.5,-11.5,NA,NA,2,6,0.590901915708812,0.240373946360153,0.0237653256704981,4.7,0.0953348659003831,1219.11111111111,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0025,i0025,Amazon Intact 0025,-51.5,-11.5,NA,NA,2,3,0.577,0.185,0.0223,5,0.098,1280,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0026,i0026,Amazon Intact 0026,-70.5,-10.5,NA,NA,2,5,0.268586573884568,0.273290216946377,0.0155534588620549,5.11150225133033,0.137365534179288,1232.50511665984,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0027,i0027,Amazon Intact 0027,-69.5,-10.5,NA,NA,2,5,0.255309546902415,0.270967242632211,0.0138333107995789,4.98478570186679,0.108638683442099,1228.99132282708,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0028,i0028,Amazon Intact 0028,-68.5,-10.5,NA,NA,2,8,0.406,0.381,0.0143,4.8,0.091,1200,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0029,i0029,Amazon Intact 0029,-67.5,-10.5,NA,NA,2,8,0.35,0.376,0.01775,4.9,0.091,1200,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0030,i0030,Amazon Intact 0030,-64.5,-10.5,NA,NA,2,6,0.529973709369025,0.283845602294455,0.0171866156787763,4.35984703632887,0.100737571701721,1192.34703632887,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0031,i0031,Amazon Intact 0031,-63.5,-10.5,NA,NA,2,8,0.432643394648829,0.299053929765886,0.0166405936454849,4.67403846153846,0.112194816053512,1210.72324414716,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0032,i0032,Amazon Intact 0032,-62.5,-10.5,NA,NA,2,6,0.494,0.243,0.016,4.7,0.105,1260,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0033,i0033,Amazon Intact 0033,-61.5,-10.5,NA,NA,2,6,0.49244186594181,0.238797371096574,0.014983443469425,4.43026238832619,0.111291163568836,1186.34065867886,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0034,i0034,Amazon Intact 0034,-60.5,-10.5,NA,NA,2,6,0.491073476702509,0.23670394265233,0.01958,4.50075268817204,0.163920788530466,1192.56630824373,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0035,i0035,Amazon Intact 0035,-59.5,-10.5,NA,NA,2,5,0.461174165897482,0.210466248712498,0.0178801675803811,4.24772576654593,0.127716360263101,1188.02454954436,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0036,i0036,Amazon Intact 0036,-58.5,-10.5,NA,NA,2,6,0.496,0.262,0.0189,4.4,0.113,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0037,i0037,Amazon Intact 0037,-57.5,-10.5,NA,NA,2,6,0.512,0.238,0.0209,4.6,0.144,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0038,i0038,Amazon Intact 0038,-56.5,-10.5,NA,NA,2,6,0.502,0.251,0.0217,4.7,0.118,1190,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0039,i0039,Amazon Intact 0039,-55.5,-10.5,NA,NA,2,6,0.505,0.253,0.0235,4.7,0.103,1230,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0040,i0040,Amazon Intact 0040,-54.5,-10.5,NA,NA,2,8,0.436,0.299,0.0229,4.7,0.107,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0041,i0041,Amazon Intact 0041,-53.5,-10.5,NA,NA,2,5,0.402522463234624,0.243850803832543,0.025400373492383,4.59887601936764,0.150494617704104,1194.2512709253,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0042,i0042,Amazon Intact 0042,-52.5,-10.5,NA,NA,2,5,0.399637471243974,0.242709380581886,0.0238326686745709,4.72583446003614,0.150625690337864,1210.92894080837,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0043,i0043,Amazon Intact 0043,-51.5,-10.5,NA,NA,2,6,0.549,0.238,0.0247,5,0.104,1280,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0044,i0044,Amazon Intact 0044,-71.5,-9.5,NA,NA,2,11,0.281,0.455,0.017,5.3,0.14,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0045,i0045,Amazon Intact 0045,-70.5,-9.5,NA,NA,2,5,0.305348457483086,0.261165160140003,0.0162451771355698,5.03126122777269,0.137244831040208,1230.80489335802,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0046,i0046,Amazon Intact 0046,-69.5,-9.5,NA,NA,2,7,0.179644132168629,0.313389669578428,0.0173817698442841,4.66532472464869,0.112062666160273,1175.17280668439,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0047,i0047,Amazon Intact 0047,-68.5,-9.5,NA,NA,2,11,0.247,0.466,0.0157,4.5,0.1,1200,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0048,i0048,Amazon Intact 0048,-67.5,-9.5,NA,NA,2,17,0.294,0.401,0.016,4.4,0.103,1210,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0049,i0049,Amazon Intact 0049,-66.5,-9.5,NA,NA,2,8,0.390965537390559,0.326264148863619,0.0155160579886473,4.10831258032794,0.110196527696416,1181.08181612982,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0050,i0050,Amazon Intact 0050,-65.5,-9.5,NA,NA,2,6,0.502480310179564,0.292924625920026,0.0149670508436175,4.08581239331415,0.0987440934990041,1196.04507161374,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0051,i0051,Amazon Intact 0051,-64.5,-9.5,NA,NA,2,6,0.494187799505387,0.312813945287714,0.0149187115745389,4.11208667279386,0.106490502680508,1191.6781646651,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0052,i0052,Amazon Intact 0052,-63.5,-9.5,NA,NA,2,5,0.422,0.228,0.0154,4.2,0.112,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0053,i0053,Amazon Intact 0053,-62.5,-9.5,NA,NA,2,6,0.526723673792557,0.304761678543151,0.0146926365795724,4.13927157561362,0.135636579572447,1158.82026920032,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0054,i0054,Amazon Intact 0054,-61.5,-9.5,NA,NA,2,6,0.475837709065701,0.29394519942737,0.015715992691971,4.3700175457831,0.116479974835913,1164.29444036872,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0055,i0055,Amazon Intact 0055,-60.5,-9.5,NA,NA,2,5,0.442820171430543,0.255906432266955,0.0147556308949299,4.41158322892077,0.11992612198258,1187.18252216066,K,1,90,14,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0056,i0056,Amazon Intact 0056,-59.5,-9.5,NA,NA,2,8,0.436,0.293,0.0156,4.4,0.119,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0057,i0057,Amazon Intact 0057,-58.5,-9.5,NA,NA,2,8,0.426,0.303,0.0174,4.5,0.109,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0058,i0058,Amazon Intact 0058,-57.5,-9.5,NA,NA,2,8,0.415,0.282,0.0209,4.5,0.116,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0059,i0059,Amazon Intact 0059,-56.5,-9.5,NA,NA,2,6,0.473,0.254,0.022,4.6,0.115,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0060,i0060,Amazon Intact 0060,-55.5,-9.5,NA,NA,2,8,0.361656974459725,0.309918271119843,0.0260042043222004,4.72495088408644,0.127231827111984,1144.39685658153,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0061,i0061,Amazon Intact 0061,-54.5,-9.5,NA,NA,2,8,0.349,0.362,0.025,4.7,0.11,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0062,i0062,Amazon Intact 0062,-53.5,-9.5,NA,NA,2,5,0.349855406244037,0.264574030049878,0.0247361279049624,4.79534808484788,0.114095044355591,1180.68561139773,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0063,i0063,Amazon Intact 0063,-52.5,-9.5,NA,NA,2,5,0.33865035510691,0.261535925271796,0.0256825678221337,4.87961449338954,0.129706389892549,1199.54266478572,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0064,i0064,Amazon Intact 0064,-51.5,-9.5,NA,NA,2,6,0.498,0.268,0.0245,4.9,0.104,1240,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0065,i0065,Amazon Intact 0065,-50.5,-9.5,NA,NA,2,6,0.507,0.274,0.0237,4.8,0.096,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0066,i0066,Amazon Intact 0066,-72.5,-8.5,NA,NA,2,8,0.308196101665935,0.278748366544917,0.0183815152392838,4.86620001626734,0.134061153724777,1229.3862292831,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0067,i0067,Amazon Intact 0067,-71.5,-8.5,NA,NA,2,8,0.264883241943049,0.300300623375535,0.0162334923811684,5.03047408913002,0.119286187412714,1219.72116159341,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0068,i0068,Amazon Intact 0068,-70.5,-8.5,NA,NA,2,11,0.235,0.473,0.0154,4.7,0.125,1200,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0069,i0069,Amazon Intact 0069,-69.5,-8.5,NA,NA,2,17,0.195,0.475,0.0187,4.5,0.129,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0070,i0070,Amazon Intact 0070,-68.5,-8.5,NA,NA,2,8,0.284172835164074,0.310147088504925,0.0167848071918792,4.19720324027838,0.125654576915696,1182.77061513042,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0071,i0071,Amazon Intact 0071,-67.5,-8.5,NA,NA,2,8,0.292415094339623,0.280952830188679,0.0174801886792453,4.00471698113208,0.128358490566038,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0072,i0072,Amazon Intact 0072,-66.5,-8.5,NA,NA,2,5,0.333994414551417,0.273713230915524,0.0166014804391806,4.00638898330226,0.124824917685918,1182.2743102262,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0073,i0073,Amazon Intact 0073,-65.5,-8.5,NA,NA,2,5,0.391689886228156,0.270636335410864,0.016295352637965,4.07896382826861,0.126661592497729,1179.22209455998,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0074,i0074,Amazon Intact 0074,-64.5,-8.5,NA,NA,2,8,0.275761382799325,0.305858347386172,0.0152971753794266,4.03537099494098,0.131158094435076,1168.42327150084,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0075,i0075,Amazon Intact 0075,-63.5,-8.5,NA,NA,2,5,0.44463884957865,0.229491292024114,0.0159032543220568,4.10166668675833,0.137151642422065,1157.3308357903,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0076,i0076,Amazon Intact 0076,-62.5,-8.5,NA,NA,2,6,0.485391852708602,0.303511448010119,0.0159982613780063,4.07286673656322,0.142600464137334,1155.32594619365,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0077,i0077,Amazon Intact 0077,-61.5,-8.5,NA,NA,2,8,0.39032962633452,0.345288256227758,0.0164452846975089,4.03171708185053,0.159075622775801,1152.02846975089,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0078,i0078,Amazon Intact 0078,-60.5,-8.5,NA,NA,2,8,0.449616911764706,0.296716911764706,0.0162023897058824,4.20419117647059,0.125605882352941,1148.41544117647,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0079,i0079,Amazon Intact 0079,-59.5,-8.5,NA,NA,2,8,0.430033564013841,0.302976124567474,0.0164828719723183,4.30847750865052,0.119707958477509,1179.83737024221,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0080,i0080,Amazon Intact 0080,-58.5,-8.5,NA,NA,2,8,0.394577675922117,0.296017847845743,0.0219717984785969,4.16831558112525,0.111375879436032,1158.48458933164,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0081,i0081,Amazon Intact 0081,-57.5,-8.5,NA,NA,2,8,0.315638539518452,0.296398497272827,0.0217040873252256,4.25230282100439,0.125653331708667,1186.68046425431,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0082,i0082,Amazon Intact 0082,-56.5,-8.5,NA,NA,2,6,0.483814907575956,0.273005780648467,0.020767937415412,4.37064210130148,0.124972786107768,1144.58596627468,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0083,i0083,Amazon Intact 0083,-55.5,-8.5,NA,NA,2,8,0.421587032842893,0.290319392737938,0.0241565207003981,4.52127644933888,0.126940318506445,1121.21486336916,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0084,i0084,Amazon Intact 0084,-54.5,-8.5,NA,NA,2,5,0.458282146473169,0.246636854539318,0.0201726628417145,4.65366182922713,0.111901788727641,1171.96085048937,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0085,i0085,Amazon Intact 0085,-53.5,-8.5,NA,NA,2,5,0.431616948300138,0.244417809042943,0.0215428077825752,4.86602068162482,0.112193635844849,1174.86039365359,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0086,i0086,Amazon Intact 0086,-52.5,-8.5,NA,NA,2,8,0.308990110529378,0.277067481093659,0.0239304828388598,4.89464805119255,0.109695753344968,1182.61780104712,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0087,i0087,Amazon Intact 0087,-51.5,-8.5,NA,NA,2,8,0.406,0.338,0.0222,4.9,0.108,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0088,i0088,Amazon Intact 0088,-50.5,-8.5,NA,NA,2,6,0.4685,0.295,0.0185,4.9,0.1,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0089,i0089,Amazon Intact 0089,-49.5,-8.5,NA,NA,2,8,0.431,0.339,0.0169,5,0.092,1230,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0090,i0090,Amazon Intact 0090,-73.5,-7.5,NA,NA,2,8,0.391,0.324,0.0224,4.5,0.136,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0091,i0091,Amazon Intact 0091,-72.5,-7.5,NA,NA,2,5,0.444441610513001,0.204659918732888,0.0266572703059183,4.3666707129805,0.118013108343385,1215.66088118286,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0092,i0092,Amazon Intact 0092,-71.5,-7.5,NA,NA,2,5,0.386658737850952,0.272557957864953,0.0199268460635044,4.31066929344001,0.124357484483654,1219.21429426263,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0093,i0093,Amazon Intact 0093,-70.5,-7.5,NA,NA,2,5,0.366125589077417,0.253766524780332,0.0181243697535265,4.48917334601188,0.136852753442216,1221.44094531756,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0094,i0094,Amazon Intact 0094,-69.5,-7.5,NA,NA,2,8,0.253972444637277,0.312403365737154,0.0178998208380468,4.34265742362901,0.136120903769662,1182.20953369047,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0095,i0095,Amazon Intact 0095,-68.5,-7.5,NA,NA,2,8,0.200743368179314,0.301632325090516,0.0172303795472488,4.22280023851364,0.137691803984821,1181.03801223613,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0096,i0096,Amazon Intact 0096,-67.5,-7.5,NA,NA,2,5,0.381922800638101,0.255151761226465,0.0196085375387342,4.09823179411313,0.135412690661849,1175.34945814459,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0097,i0097,Amazon Intact 0097,-66.5,-7.5,NA,NA,2,5,0.348184485006519,0.23294035202086,0.024803520208605,4.04439374185137,0.191614732724902,1177.87157757497,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0098,i0098,Amazon Intact 0098,-65.5,-7.5,NA,NA,2,8,0.308420070011669,0.321481135744846,0.0307659665499806,3.96472189809413,0.169152080902373,1180.05056398289,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0099,i0099,Amazon Intact 0099,-64.5,-7.5,NA,NA,2,5,0.351106795659845,0.254051741535766,0.0203675119637823,4.07047266919123,0.136158306477854,1174.39542714777,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0100,i0100,Amazon Intact 0100,-63.5,-7.5,NA,NA,2,5,0.348967213114754,0.26909079445145,0.0190341740226986,4.06746532156368,0.141581336696091,1157.49054224464,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0101,i0101,Amazon Intact 0101,-62.5,-7.5,NA,NA,2,5,0.378444493006993,0.260364073426573,0.0191657342657343,3.94291958041958,0.134450174825175,1164.74213286713,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0102,i0102,Amazon Intact 0102,-61.5,-7.5,NA,NA,2,6,0.453149367351377,0.28299968276548,0.0227161959982204,3.88057940082181,0.151093734890761,1143.15157711345,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0103,i0103,Amazon Intact 0103,-60.5,-7.5,NA,NA,2,8,0.373584675406836,0.329590782847593,0.0207403994178037,3.96982038909162,0.145212434772781,1148.79399666279,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0104,i0104,Amazon Intact 0104,-59.5,-7.5,NA,NA,2,8,0.405411632262946,0.327696254382808,0.018126229491516,4.09238941624413,0.110656700148928,1151.25093690372,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0105,i0105,Amazon Intact 0105,-58.5,-7.5,NA,NA,2,8,0.428718387571201,0.29752014655824,0.0203812926641996,4.06013174998406,0.114318209045183,1142.86488831388,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0106,i0106,Amazon Intact 0106,-57.5,-7.5,NA,NA,2,6,0.472673811569476,0.27488861900762,0.0187833172623552,4.1798953546306,0.11831492959481,1142.06634486178,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0107,i0107,Amazon Intact 0107,-56.5,-7.5,NA,NA,2,6,0.500921888020872,0.288057685256937,0.0208270270845811,4.2068280147721,0.12062062271103,1146.91242218899,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0108,i0108,Amazon Intact 0108,-55.5,-7.5,NA,NA,2,6,0.502766601941748,0.260951067961165,0.0187345242718447,4.44784466019418,0.126612815533981,1148.86990291262,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0109,i0109,Amazon Intact 0109,-54.5,-7.5,NA,NA,2,8,0.448037156462829,0.279485268453837,0.0204603661946344,4.58734200570774,0.123710238224751,1141.20139248498,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0110,i0110,Amazon Intact 0110,-53.5,-7.5,NA,NA,2,5,0.405870414394448,0.272369805154135,0.023213342243383,4.74567721897063,0.121075053077005,1161.26218937101,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0111,i0111,Amazon Intact 0111,-52.5,-7.5,NA,NA,2,5,0.423161031407032,0.260672216314762,0.0215711442273108,4.91259080863187,0.123516537823892,1174.36324277597,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0112,i0112,Amazon Intact 0112,-51.5,-7.5,NA,NA,2,5,0.41030231838826,0.239494717325198,0.0220526448879972,4.92635660676482,0.126257567676888,1171.95394064303,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0113,i0113,Amazon Intact 0113,-50.5,-7.5,NA,NA,2,8,0.423,0.313,0.0219,4.9,0.105,1220,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0114,i0114,Amazon Intact 0114,-49.5,-7.5,NA,NA,2,8,0.419,0.312,0.0186,5,0.091,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0115,i0115,Amazon Intact 0115,-72.5,-6.5,NA,NA,2,8,0.345939206079485,0.303633795622216,0.0243704137723336,4.17603294844803,0.150050279166451,1196.53872861361,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0116,i0116,Amazon Intact 0116,-71.5,-6.5,NA,NA,2,8,0.365716493645615,0.300526175467609,0.0226478336799038,4.22261301260796,0.147174307282635,1182.35775502717,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0117,i0117,Amazon Intact 0117,-70.5,-6.5,NA,NA,2,8,0.305412541254125,0.315392326732673,0.0216017326732673,4.21839933993399,0.150901402640264,1205.20627062706,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0118,i0118,Amazon Intact 0118,-69.5,-6.5,NA,NA,2,8,0.34921965818152,0.289604052229818,0.0203178301890008,4.18135129314014,0.145573370106932,1184.21751984388,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0119,i0119,Amazon Intact 0119,-68.5,-6.5,NA,NA,2,5,0.348604688763137,0.253696038803557,0.0206685529506871,4.08164915117219,0.167421180274859,1176.0064672595,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0120,i0120,Amazon Intact 0120,-67.5,-6.5,NA,NA,2,5,0.365728348805189,0.260591566985573,0.0227778287695533,4.02753760229251,0.14967491544859,1183.13628939597,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0121,i0121,Amazon Intact 0121,-66.5,-6.5,NA,NA,2,8,0.363994422005904,0.287466842724147,0.0256279680184059,4.03136513463336,0.162374574213007,1172.78109534152,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0122,i0122,Amazon Intact 0122,-65.5,-6.5,NA,NA,2,8,0.289125427594071,0.328168757126568,0.0314795515013303,3.91022424933485,0.261543139490688,1155.68985176739,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0123,i0123,Amazon Intact 0123,-64.5,-6.5,NA,NA,2,8,0.249266584145497,0.284162360328903,0.020971189741879,4.08993166317843,0.14584038391267,1174.72197515196,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0124,i0124,Amazon Intact 0124,-63.5,-6.5,NA,NA,2,7,0.196579547290917,0.275370295899876,0.0199282736771132,4.11996596514939,0.150321114510502,1171.63357395483,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0125,i0125,Amazon Intact 0125,-62.5,-6.5,NA,NA,2,5,0.244662535410765,0.274032577903683,0.0191499291784703,4.13445467422096,0.117794971671388,1159.95042492918,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0126,i0126,Amazon Intact 0126,-61.5,-6.5,NA,NA,2,3,0.560114285714286,0.1922,0.0275228571428571,3.88285714285714,0.1474,1111.71428571429,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0127,i0127,Amazon Intact 0127,-60.5,-6.5,NA,NA,2,8,0.388485111813259,0.358129854186806,0.0245543343694118,3.92201855126991,0.129592882908742,1138.78255735462,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0128,i0128,Amazon Intact 0128,-59.5,-6.5,NA,NA,2,8,0.329346531302876,0.337793570219966,0.0191165143824027,4.04602368866328,0.109199323181049,1143.87140439932,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0129,i0129,Amazon Intact 0129,-58.5,-6.5,NA,NA,2,8,0.401046897022193,0.331684073736919,0.0208013602676036,4.02297069725274,0.107369580881748,1162.37055629501,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0130,i0130,Amazon Intact 0130,-57.5,-6.5,NA,NA,2,8,0.402082448308531,0.329085118646906,0.0205117771282756,4.05679704007993,0.120642426752595,1147.70319656278,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0131,i0131,Amazon Intact 0131,-56.5,-6.5,NA,NA,2,8,0.403477622136805,0.311749766298696,0.0207805693787863,4.07391789389225,0.135365797214032,1141.82167733301,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0132,i0132,Amazon Intact 0132,-55.5,-6.5,NA,NA,2,8,0.407,0.289,0.0207,4.2,0.127,1140,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0133,i0133,Amazon Intact 0133,-54.5,-6.5,NA,NA,2,5,0.472456509042975,0.232519024079735,0.0184966023346652,4.39294157816014,0.120887602741927,1139.14116702345,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0134,i0134,Amazon Intact 0134,-53.5,-6.5,NA,NA,2,5,0.433865380282771,0.260146140656473,0.020582968267837,4.68518820884446,0.114179586990585,1161.35344960581,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0135,i0135,Amazon Intact 0135,-52.5,-6.5,NA,NA,2,8,0.398,0.302,0.0219,4.7,0.106,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0136,i0136,Amazon Intact 0136,-51.5,-6.5,NA,NA,2,8,0.399,0.3,0.0223,4.7,0.11,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0137,i0137,Amazon Intact 0137,-50.5,-6.5,NA,NA,2,8,0.369625296536983,0.299049618502065,0.0250926362147123,4.83620161647673,0.117865077193322,1161.80329672384,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0138,i0138,Amazon Intact 0138,-49.5,-6.5,NA,NA,2,8,0.41,0.305,0.0195,4.9,0.102,1240,K,1,90,14,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0139,i0139,Amazon Intact 0139,-48.5,-6.5,NA,NA,2,8,0.438,0.295,0.0163,5,0.084,1250,K,1,90,14,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0140,i0140,Amazon Intact 0140,-72.5,-5.5,NA,NA,2,8,0.316631318267378,0.293731070052168,0.0212564050324336,4.03435012014072,0.133540200221238,1204.23283989838,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0141,i0141,Amazon Intact 0141,-71.5,-5.5,NA,NA,2,8,0.261831067264059,0.331674853274107,0.0242969500923943,4.13961911542858,0.144168750466063,1175.89916503948,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0142,i0142,Amazon Intact 0142,-70.5,-5.5,NA,NA,2,8,0.343382487520799,0.321202787021631,0.0223361064891847,4.14968801996672,0.135537853577371,1182.25457570715,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0143,i0143,Amazon Intact 0143,-69.5,-5.5,NA,NA,2,8,0.274067385416902,0.372217615069417,0.0230286438385721,4.12630420864217,0.1318701219462,1184.8735444809,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0144,i0144,Amazon Intact 0144,-68.5,-5.5,NA,NA,2,8,0.376389945078158,0.339515842839037,0.0280085762568652,4.00566117448247,0.167994930291508,1190.59146599071,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0145,i0145,Amazon Intact 0145,-67.5,-5.5,NA,NA,2,8,0.356222727272727,0.306647159090909,0.0269543181818182,4.03232954545455,0.150550568181818,1144.60227272727,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0146,i0146,Amazon Intact 0146,-66.5,-5.5,NA,NA,2,8,0.371920323009405,0.315239792837457,0.0268064244874011,4.08748153937897,0.153513564625017,1163.25080116365,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0147,i0147,Amazon Intact 0147,-65.5,-5.5,NA,NA,2,8,0.320175685557587,0.328858500914077,0.0264373126142596,4.2209689213894,0.152609140767825,1175.46252285192,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0148,i0148,Amazon Intact 0148,-64.5,-5.5,NA,NA,2,17,0.19,0.501,0.0244,4.1,0.15,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0149,i0149,Amazon Intact 0149,-63.5,-5.5,NA,NA,2,17,0.151,0.531,0.021,4.2,0.148,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0150,i0150,Amazon Intact 0150,-62.5,-5.5,NA,NA,2,7,0.162319696146735,0.283881096617385,0.02113330578884,4.10775040297384,0.137642820829614,1171.37074442068,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0151,i0151,Amazon Intact 0151,-61.5,-5.5,NA,NA,2,17,0.231,0.456,0.0193,4,0.114,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0152,i0152,Amazon Intact 0152,-60.5,-5.5,NA,NA,2,8,0.341970195896916,0.374434081407434,0.020952469499411,3.94210630242548,0.116940004238079,1151.01613736737,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0153,i0153,Amazon Intact 0153,-59.5,-5.5,NA,NA,2,8,0.338,0.298,0.0169,4.1,0.111,1150,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0154,i0154,Amazon Intact 0154,-58.5,-5.5,NA,NA,2,8,0.367328599477271,0.346718543401378,0.0163035298076339,4.16878166280633,0.105175781723714,1141.87391642773,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0155,i0155,Amazon Intact 0155,-57.5,-5.5,NA,NA,2,8,0.357098701250047,0.3620339573164,0.0193660672959784,4.19626448101776,0.112960418923554,1149.06354993779,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0156,i0156,Amazon Intact 0156,-56.5,-5.5,NA,NA,2,8,0.34612741653184,0.3127191263931,0.0202685715388804,4.02263168324212,0.137436727117829,1138.13882752506,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0157,i0157,Amazon Intact 0157,-55.5,-5.5,NA,NA,2,8,0.278051742100947,0.33339098713427,0.0196052091300199,4.09188828089866,0.140839386752368,1140.87748074938,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0158,i0158,Amazon Intact 0158,-54.5,-5.5,NA,NA,2,8,0.39464608371322,0.283622461665976,0.0203793203481144,4.24243680066308,0.117186904268545,1158.15167840862,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0159,i0159,Amazon Intact 0159,-53.5,-5.5,NA,NA,2,8,0.394302088079942,0.287042205311682,0.0185841949886112,4.44558374069444,0.104233757115698,1159.35239376196,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0160,i0160,Amazon Intact 0160,-52.5,-5.5,NA,NA,2,8,0.398610950414417,0.285193127551434,0.0168288526619137,4.49620860509732,0.0943560255317985,1160.68634924208,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0161,i0161,Amazon Intact 0161,-51.5,-5.5,NA,NA,2,8,0.422262532563853,0.301807108592407,0.0167985824585007,4.4886403343559,0.0944742243282384,1159.71514316469,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0162,i0162,Amazon Intact 0162,-50.5,-5.5,NA,NA,2,8,0.370207576953433,0.318092344119968,0.0235119968429361,4.78003157063931,0.117884767166535,1167.6637726914,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0163,i0163,Amazon Intact 0163,-49.5,-5.5,NA,NA,2,8,0.428,0.3,0.0182,4.7,0.096,1200,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0164,i0164,Amazon Intact 0164,-48.5,-5.5,NA,NA,2,5,0.445,0.272,0.0158,4.9,0.084,1220,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0165,i0165,Amazon Intact 0165,-71.5,-4.5,NA,NA,2,17,0.172,0.46,0.0438,4.2,0.119,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0166,i0166,Amazon Intact 0166,-70.5,-4.5,NA,NA,2,7,0.180844339539162,0.326875672395628,0.0378916021208374,4.25120446069311,0.119021785409909,1183.58017266654,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0167,i0167,Amazon Intact 0167,-69.5,-4.5,NA,NA,2,8,0.273516734693878,0.343818775510204,0.0231362448979592,4.19681632653061,0.121054285714286,1186.53469387755,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0168,i0168,Amazon Intact 0168,-68.5,-4.5,NA,NA,2,8,0.342060798209623,0.358166728832525,0.0194925400969787,4.27907497202536,0.12147034688549,1193.32711674748,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0169,i0169,Amazon Intact 0169,-67.5,-4.5,NA,NA,2,8,0.348771046735434,0.306365616648273,0.0239883688631256,4.10847593744122,0.141212122899216,1154.67484644238,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0170,i0170,Amazon Intact 0170,-66.5,-4.5,NA,NA,2,8,0.324960698490132,0.3012612351484,0.0265792256374342,4.20402743720121,0.142542745427422,1141.99287086459,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0171,i0171,Amazon Intact 0171,-65.5,-4.5,NA,NA,2,8,0.282513583441138,0.297124838292367,0.0212324062095731,3.95873221216041,0.128265847347995,1179.42432082794,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0172,i0172,Amazon Intact 0172,-64.5,-4.5,NA,NA,2,7,0.19746709470305,0.290691813804173,0.01776886035313,3.97512038523274,0.137132423756019,1192.31942215088,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0173,i0173,Amazon Intact 0173,-63.5,-4.5,NA,NA,2,7,0.126954475308642,0.292680941358025,0.0181841820987654,3.78769290123457,0.126659722222222,1189.32098765432,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0174,i0174,Amazon Intact 0174,-62.5,-4.5,NA,NA,2,4,0.163475716064757,0.273605230386052,0.0177661270236613,4.15230386052304,0.136013698630137,1161.02117061021,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0175,i0175,Amazon Intact 0175,-61.5,-4.5,NA,NA,2,7,0.13280727212721,0.302809712941324,0.0262820949943889,3.94619143567497,0.113322670499445,1165.89946168109,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0176,i0176,Amazon Intact 0176,-60.5,-4.5,NA,NA,2,7,0.179919421487603,0.312974690082645,0.0183882747933884,4.09395661157025,0.127867768595041,1160.86260330579,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0177,i0177,Amazon Intact 0177,-59.5,-4.5,NA,NA,2,8,0.336,0.318,0.0166,4.1,0.105,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0178,i0178,Amazon Intact 0178,-58.5,-4.5,NA,NA,2,8,0.321354241129811,0.375408567922717,0.0144654642733048,4.09468715420435,0.104033143211168,1156.81244095367,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0179,i0179,Amazon Intact 0179,-57.5,-4.5,NA,NA,2,8,0.415331305303557,0.366601371168554,0.0171815995710085,4.11656375020538,0.104339695117783,1157.63684320586,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0180,i0180,Amazon Intact 0180,-56.5,-4.5,NA,NA,2,8,0.355593315895006,0.393720972354411,0.0162704985607786,4.19262089454544,0.105047794626876,1155.94914097185,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0181,i0181,Amazon Intact 0181,-55.5,-4.5,NA,NA,2,8,0.333254551700447,0.356485056681553,0.0200386808656819,4.18979732050842,0.100683613878392,1147.5334936448,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0182,i0182,Amazon Intact 0182,-54.5,-4.5,NA,NA,2,8,0.36203836952556,0.363111520041128,0.0200708210486965,4.38380479003491,0.0977894594579951,1168.20588858607,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0183,i0183,Amazon Intact 0183,-53.5,-4.5,NA,NA,2,8,0.412961517904864,0.307752004275788,0.0185749331908071,4.39567076429717,0.0942057723142704,1164.0994120791,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0184,i0184,Amazon Intact 0184,-52.5,-4.5,NA,NA,2,8,0.411855537435268,0.337758914280448,0.0158014482785004,4.33425209540328,0.10255163071051,1179.34930849609,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0185,i0185,Amazon Intact 0185,-51.5,-4.5,NA,NA,2,8,0.407422168172342,0.365154968728284,0.016791000694927,4.45868658790827,0.101891938846421,1185.28492008339,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0186,i0186,Amazon Intact 0186,-50.5,-4.5,NA,NA,2,5,0.428,0.239,0.0181,4.6,0.093,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0187,i0187,Amazon Intact 0187,-49.5,-4.5,NA,NA,2,5,0.441,0.267,0.0193,4.7,0.093,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0188,i0188,Amazon Intact 0188,-48.5,-4.5,NA,NA,2,5,0.43,0.25,0.0182,4.7,0.078,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0189,i0189,Amazon Intact 0189,-47.5,-4.5,NA,NA,2,5,0.382,0.245,0.0164,4.9,0.075,1240,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0190,i0190,Amazon Intact 0190,-46.5,-4.5,NA,NA,2,8,0.439428484011334,0.358171322892075,0.0173332375996905,4.93920405875888,0.0900584877584942,1245.42093411732,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0191,i0191,Amazon Intact 0191,-45.5,-4.5,NA,NA,2,5,0.448,0.259,0.0159,5.2,0.081,1250,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0192,i0192,Amazon Intact 0192,-69.5,-3.5,NA,NA,2,5,0.318452568295237,0.27335013367275,0.0429284412195275,4.30292278054564,0.131592159120715,1180.0924575863,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0193,i0193,Amazon Intact 0193,-68.5,-3.5,NA,NA,2,8,0.289615166039776,0.302296043277158,0.0243809465206284,4.28969269797309,0.112370333047237,1179.8274509834,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0194,i0194,Amazon Intact 0194,-67.5,-3.5,NA,NA,2,8,0.2700686321647,0.311963459336089,0.0251306205205177,4.14459388065387,0.133479905527406,1150.91269511748,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0195,i0195,Amazon Intact 0195,-66.5,-3.5,NA,NA,2,8,0.302732084799917,0.317106665959767,0.0257642142408992,4.19155826315183,0.137826048525465,1135.74955305385,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0196,i0196,Amazon Intact 0196,-65.5,-3.5,NA,NA,2,8,0.258101936799184,0.303352701325178,0.0245166666666667,4.09964322120285,0.127257900101937,1130.76962283384,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0197,i0197,Amazon Intact 0197,-64.5,-3.5,NA,NA,2,11,0.191,0.511,0.023,4.1,0.113,1150,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0198,i0198,Amazon Intact 0198,-63.5,-3.5,NA,NA,2,7,0.173980475688053,0.284462404732551,0.0183109889017527,4.06681640015756,0.112112878079992,1197.74383952955,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0199,i0199,Amazon Intact 0199,-62.5,-3.5,NA,NA,2,8,0.205569367108256,0.279964966850437,0.0228394088267051,4.11279350923955,0.113313215921889,1169.96765862445,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0200,i0200,Amazon Intact 0200,-61.5,-3.5,NA,NA,2,17,0.209,0.486,0.0198,4.2,0.111,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0201,i0201,Amazon Intact 0201,-60.5,-3.5,NA,NA,2,7,0.164556952081697,0.335710919088767,0.0174515318146112,4.1420005236973,0.0925653312385441,1158.56245090338,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0202,i0202,Amazon Intact 0202,-59.5,-3.5,NA,NA,2,17,0.206,0.445,0.0185,4.2,0.107,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0203,i0203,Amazon Intact 0203,-58.5,-3.5,NA,NA,2,8,0.256,0.36,0.0165,4.2,0.109,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0204,i0204,Amazon Intact 0204,-57.5,-3.5,NA,NA,2,16,0.361287001225935,0.400896875184196,0.0195501365989632,4.21184136529572,0.11345984693712,1182.29455769475,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0205,i0205,Amazon Intact 0205,-56.5,-3.5,NA,NA,2,9,0.466265704196725,0.359033669562661,0.0156241671891566,4.09684359417543,0.0942319636252154,1176.10157498244,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0206,i0206,Amazon Intact 0206,-55.5,-3.5,NA,NA,2,6,0.48989805511363,0.342665064851515,0.014674402617952,4.11786563803893,0.097472504212456,1188.98461685856,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0207,i0207,Amazon Intact 0207,-54.5,-3.5,NA,NA,2,6,0.450073758865248,0.343052482269504,0.0156248226950355,4.2090780141844,0.0934992907801418,1177.39007092199,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0208,i0208,Amazon Intact 0208,-53.5,-3.5,NA,NA,2,8,0.388478597880332,0.386833348638904,0.0167795303617296,4.47863495593655,0.107195153680423,1181.71986743304,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0209,i0209,Amazon Intact 0209,-52.5,-3.5,NA,NA,2,5,0.382,0.208,0.0179,4.7,0.098,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0210,i0210,Amazon Intact 0210,-51.5,-3.5,NA,NA,2,5,0.439,0.205,0.0184,4.6,0.106,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0211,i0211,Amazon Intact 0211,-50.5,-3.5,NA,NA,2,5,0.455,0.219,0.0174,4.6,0.099,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0212,i0212,Amazon Intact 0212,-49.5,-3.5,NA,NA,2,5,0.4545,0.235,0.0202,4.7,0.092,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0213,i0213,Amazon Intact 0213,-48.5,-3.5,NA,NA,2,5,0.481,0.217,0.0169,4.5,0.078,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0214,i0214,Amazon Intact 0214,-47.5,-3.5,NA,NA,2,5,0.467,0.207,0.0157,4.8,0.071,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0215,i0215,Amazon Intact 0215,-46.5,-3.5,NA,NA,2,6,0.45541505595117,0.345739572736521,0.016979518480841,4.61631061376738,0.0877416073245168,1190.91217361818,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0216,i0216,Amazon Intact 0216,-45.5,-3.5,NA,NA,2,8,0.376,0.314,0.014,5.1,0.091,1200,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0217,i0217,Amazon Intact 0217,-69.5,-2.5,NA,NA,2,5,0.501084205518554,0.186823977164605,0.039562226450999,4.30428163653663,0.152717411988582,1153.55851569933,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0218,i0218,Amazon Intact 0218,-68.5,-2.5,NA,NA,2,5,0.474578107885745,0.225788409727348,0.0350460210800488,4.24778382175107,0.157631583701463,1120.71969737027,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0219,i0219,Amazon Intact 0219,-67.5,-2.5,NA,NA,2,7,0.196220794392523,0.317254672897196,0.0251533878504673,4.2,0.134580607476636,1137.23130841121,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0220,i0220,Amazon Intact 0220,-66.5,-2.5,NA,NA,2,8,0.263612791702679,0.311148660328436,0.0280566119273984,4.19273984442524,0.152225583405359,1142.05704407952,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0221,i0221,Amazon Intact 0221,-65.5,-2.5,NA,NA,2,7,0.185346839867306,0.290991858339675,0.0266765038387251,4.2015748646035,0.14271704441742,1105.73817449625,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0222,i0222,Amazon Intact 0222,-64.5,-2.5,NA,NA,2,17,0.22,0.477,0.0261,4.1,0.136,1110,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0223,i0223,Amazon Intact 0223,-63.5,-2.5,NA,NA,2,8,0.238802126881665,0.28627569123884,0.0242921620325804,4.12534833508294,0.121304591884166,1157.52515713517,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0224,i0224,Amazon Intact 0224,-62.5,-2.5,NA,NA,2,8,0.303226557975135,0.323876468990194,0.0221805349432241,4.32238435161985,0.102009606543295,1175.28861746452,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0225,i0225,Amazon Intact 0225,-61.5,-2.5,NA,NA,2,8,0.384794096355573,0.322833529555224,0.0162511491983126,4.58697499306154,0.103769225769498,1178.56654731473,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0226,i0226,Amazon Intact 0226,-60.5,-2.5,NA,NA,2,8,0.369814850494501,0.33377306007965,0.0152474823558628,4.13446662775592,0.0976310729886332,1188.5430997087,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0227,i0227,Amazon Intact 0227,-59.5,-2.5,NA,NA,2,16,0.39368801431127,0.41897030411449,0.0159848658318426,4.05656529516995,0.0781792486583184,1165.52772808587,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0228,i0228,Amazon Intact 0228,-58.5,-2.5,NA,NA,2,5,0.42,0.194,0.0155,4.1,0.091,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0229,i0229,Amazon Intact 0229,-57.5,-2.5,NA,NA,2,6,0.479282903641197,0.346625089658027,0.0156348479275412,4.12573829897359,0.098496227238243,1166.06664423999,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0230,i0230,Amazon Intact 0230,-56.5,-2.5,NA,NA,2,6,0.568451904758393,0.287509378431131,0.0137057084578839,4.03121116079173,0.083103354371674,1176.84889973747,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0231,i0231,Amazon Intact 0231,-55.5,-2.5,NA,NA,2,3,0.548,0.169,0.0143,4.1,0.107,1160,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0232,i0232,Amazon Intact 0232,-54.5,-2.5,NA,NA,2,5,0.369,0.222,0.0165,4.6,0.124,1160,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0233,i0233,Amazon Intact 0233,-53.5,-2.5,NA,NA,2,11,0.258783928069683,0.487778870469233,0.0174272548468671,4.49269457712841,0.107891261590334,1169.15987636977,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0234,i0234,Amazon Intact 0234,-52.5,-2.5,NA,NA,2,5,0.47,0.243,0.0154,4.4,0.104,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0235,i0235,Amazon Intact 0235,-51.5,-2.5,NA,NA,2,6,0.486723228995058,0.296668314113125,0.0166360241625481,4.37144426139484,0.0979077429983525,1190.0823723229,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0236,i0236,Amazon Intact 0236,-50.5,-2.5,NA,NA,2,6,0.466559221658206,0.302565989847716,0.0178413705583756,4.42301184433164,0.10463282571912,1181.5820642978,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0237,i0237,Amazon Intact 0237,-49.5,-2.5,NA,NA,2,5,0.472,0.242,0.0186,4.6,0.107,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0238,i0238,Amazon Intact 0238,-48.5,-2.5,NA,NA,2,5,0.456,0.241,0.0165,4.7,0.093,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0239,i0239,Amazon Intact 0239,-47.5,-2.5,NA,NA,2,5,0.395,0.246,0.0157,4.9,0.076,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0240,i0240,Amazon Intact 0240,-46.5,-2.5,NA,NA,2,8,0.366523568668258,0.366549613332243,0.016339490616958,4.55215271258003,0.08033462738003,1174.40768787318,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0241,i0241,Amazon Intact 0241,-45.5,-2.5,NA,NA,2,8,0.412,0.291,0.0167,5,0.095,1190,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0242,i0242,Amazon Intact 0242,-44.5,-2.5,NA,NA,2,8,0.349,0.314,0.0197,5.1,0.148,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0243,i0243,Amazon Intact 0243,-68.5,-1.5,NA,NA,2,3,0.583286919831224,0.191196905766526,0.0204880450070324,4.24838255977496,0.147434599156118,1174.75386779184,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0244,i0244,Amazon Intact 0244,-67.5,-1.5,NA,NA,2,8,0.359,0.338,0.0251,4.3,0.14,1110,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0245,i0245,Amazon Intact 0245,-66.5,-1.5,NA,NA,2,6,0.484,0.261,0.0216,4.3,0.107,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0246,i0246,Amazon Intact 0246,-65.5,-1.5,NA,NA,2,5,0.483153846153846,0.217,0.0222769230769231,4.3,0.101076923076923,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0247,i0247,Amazon Intact 0247,-64.5,-1.5,NA,NA,2,5,0.332199570164771,0.226728347704738,0.0229433604016956,4.15299560886021,0.109355631266316,1140.07653008428,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0248,i0248,Amazon Intact 0248,-63.5,-1.5,NA,NA,2,8,0.283137652629851,0.275732067246036,0.0222419811718623,4.10356431250998,0.126085245743094,1156.30507181702,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0249,i0249,Amazon Intact 0249,-62.5,-1.5,NA,NA,2,8,0.278494276944493,0.278303735285365,0.0259597767751026,4.04693747670087,0.114247037965245,1161.43611359252,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0250,i0250,Amazon Intact 0250,-61.5,-1.5,NA,NA,2,8,0.293022662889518,0.344461756373938,0.0409393767705382,4.03371104815864,0.137597733711048,1130.22662889518,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0251,i0251,Amazon Intact 0251,-60.5,-1.5,NA,NA,2,8,0.306637396681003,0.37073806896197,0.0180052615048106,4.13085875382976,0.0963526754981705,1179.21859014325,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0252,i0252,Amazon Intact 0252,-59.5,-1.5,NA,NA,2,16,0.300556308615255,0.401741069547032,0.0184511341679462,4.21649253416002,0.0842416870038793,1174.29416581795,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0253,i0253,Amazon Intact 0253,-58.5,-1.5,NA,NA,2,17,0.249196236234406,0.409889027806853,0.0169219522241721,4.25042630421649,0.0909396671003949,1176.75135849828,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0254,i0254,Amazon Intact 0254,-57.5,-1.5,NA,NA,2,8,0.353953296510074,0.356318795150176,0.0162318951959305,4.16127921138137,0.0921185700147406,1169.03315845088,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0255,i0255,Amazon Intact 0255,-56.5,-1.5,NA,NA,2,8,0.428561397205884,0.357890819191029,0.0170443708892477,4.07668184177044,0.102229315858188,1172.03342349047,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0256,i0256,Amazon Intact 0256,-55.5,-1.5,NA,NA,2,8,0.326753267119707,0.365852064819655,0.0162360690015682,4.17762676424464,0.109025614218505,1155.24307370622,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0257,i0257,Amazon Intact 0257,-54.5,-1.5,NA,NA,2,6,0.453466860183841,0.30700145137881,0.0147157232704403,4.44944363812288,0.0934358974358974,1168.24383164006,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0258,i0258,Amazon Intact 0258,-53.5,-1.5,NA,NA,2,8,0.358051985792703,0.375059412334517,0.0217846625766871,4.69667420083952,0.102369066838876,1149.43816596706,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0259,i0259,Amazon Intact 0259,-52.5,-1.5,NA,NA,2,5,0.425,0.266,0.0211,4.7,0.13,1170,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0260,i0260,Amazon Intact 0260,-51.5,-1.5,NA,NA,2,8,0.422570366881509,0.324241067101816,0.0166373957360906,4.5004522363151,0.103892049038098,1177.00228423286,K,1,90,15,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0261,i0261,Amazon Intact 0261,-50.5,-1.5,NA,NA,2,6,0.561072147239264,0.28404981595092,0.0209613987730061,4.51754601226994,0.0997418404907976,1198.81717791411,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0262,i0262,Amazon Intact 0262,-49.5,-1.5,NA,NA,2,6,0.538880931837791,0.296545297670406,0.024327868852459,4.54831751509922,0.110910267471959,1196.7558239862,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0263,i0263,Amazon Intact 0263,-48.5,-1.5,NA,NA,2,5,0.393,0.274,0.0242,4.7,0.144,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0264,i0264,Amazon Intact 0264,-47.5,-1.5,NA,NA,2,5,0.383,0.249,0.0161,4.9,0.102,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0265,i0265,Amazon Intact 0265,-46.5,-1.5,NA,NA,2,5,0.365,0.271,0.0168,4.9,0.107,1200,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0266,i0266,Amazon Intact 0266,-45.5,-1.5,NA,NA,2,5,0.386,0.266,0.0217,4.9,0.127,1190,K,1,90,14,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0267,i0267,Amazon Intact 0267,-69.5,-0.5,NA,NA,2,6,0.513583189169413,0.245977740531898,0.0276737157238781,4.58843583440703,0.12858002948712,1194.93803226348,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0268,i0268,Amazon Intact 0268,-68.5,-0.5,NA,NA,2,3,0.600080368544563,0.184909434794784,0.0266536832169823,4.45450123700453,0.13408238057271,1160.05935057225,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0269,i0269,Amazon Intact 0269,-67.5,-0.5,NA,NA,2,6,0.497991462671745,0.274257998162199,0.0237007313136071,4.41340109443275,0.129521088572825,1136.4929430812,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0270,i0270,Amazon Intact 0270,-66.5,-0.5,NA,NA,2,6,0.487163751757489,0.259332591217498,0.0247852706061505,4.28013241098742,0.11444026279783,1143.40517343133,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0271,i0271,Amazon Intact 0271,-65.5,-0.5,NA,NA,2,5,0.479092105263158,0.217730263157895,0.0217730263157895,4.2,0.0977763157894737,1173.88157894737,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0272,i0272,Amazon Intact 0272,-64.5,-0.5,NA,NA,2,5,0.472669608463471,0.249291511524267,0.02087983621479,4.13056551181114,0.106210734138445,1160.99596029531,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0273,i0273,Amazon Intact 0273,-63.5,-0.5,NA,NA,2,6,0.46518007761852,0.262138086454371,0.0250127829843773,4.11123340189234,0.11280515756391,1155.37493870311,K,1,90,16,ERA5_CHIRPS,1981,2019,5,40 +AMZIF_0274,i0274,Amazon Intact 0274,-62.5,-0.5,NA,NA,2,8,0.399849910285365,0.303517220341941,0.0301553996969191,4.09137312319897,0.116908159627452,1150.9291358209,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0275,i0275,Amazon Intact 0275,-61.5,-0.5,NA,NA,2,8,0.401,0.296,0.0293,4.1,0.121,1170,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0276,i0276,Amazon Intact 0276,-60.5,-0.5,NA,NA,2,8,0.43759229436722,0.327765854198416,0.0239312319665031,4.07425046342091,0.103975187414491,1182.26604116517,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0277,i0277,Amazon Intact 0277,-59.5,-0.5,NA,NA,2,17,0.239715351812367,0.418997334754797,0.0188569829424307,4.20442430703625,0.0887681236673774,1185.07995735608,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0278,i0278,Amazon Intact 0278,-58.5,-0.5,NA,NA,2,8,0.232,0.367,0.017,4.2,0.091,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0279,i0279,Amazon Intact 0279,-57.5,-0.5,NA,NA,2,8,0.281511182108626,0.395685126020589,0.020892225772098,4.02744053958112,0.0987724529641463,1147.54348597799,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0280,i0280,Amazon Intact 0280,-56.5,-0.5,NA,NA,2,8,0.333425168387214,0.385573036348581,0.0181079429907979,4.08479599600034,0.111452773708574,1167.16959626952,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0281,i0281,Amazon Intact 0281,-55.5,-0.5,NA,NA,2,8,0.367863167567993,0.389374358579361,0.0202798785670844,4.13969965062452,0.111505103338343,1159.92937182343,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0282,i0282,Amazon Intact 0282,-54.5,-0.5,NA,NA,2,8,0.338900020480741,0.347237539346446,0.024187092972358,4.39643822949762,0.105208915705631,1174.61851509937,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0283,i0283,Amazon Intact 0283,-53.5,-0.5,NA,NA,2,8,0.355,0.28,0.0153,4.5,0.098,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0284,i0284,Amazon Intact 0284,-52.5,-0.5,NA,NA,2,8,0.339034131922173,0.374604688011251,0.0156990635612464,4.42961377701112,0.103277610183329,1204.46796846706,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0285,i0285,Amazon Intact 0285,-51.5,-0.5,NA,NA,2,8,0.372166159029789,0.380014992408354,0.0220836014901674,4.63160218234417,0.146076665566285,1177.6541729892,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0286,i0286,Amazon Intact 0286,-50.5,-0.5,NA,NA,2,5,0.445,0.222,0.0262,4.6,0.133,1190,K,1,90,15,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0287,i0287,Amazon Intact 0287,-49.5,-0.5,NA,NA,2,5,0.4075,0.242,0.0301,5,0.17,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0288,i0288,Amazon Intact 0288,-48.5,-0.5,NA,NA,2,8,0.314,0.304,0.0325,5.2,0.173,1190,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0289,i0289,Amazon Intact 0289,-69.5,0.5,NA,NA,2,6,0.518,0.244,0.024,4.5,0.124,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0290,i0290,Amazon Intact 0290,-68.5,0.5,NA,NA,2,6,0.556031275302543,0.213491255142449,0.0269094765332795,4.77052293091954,0.128356794829367,1199.06133779691,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0291,i0291,Amazon Intact 0291,-67.5,0.5,NA,NA,2,6,0.531345964496635,0.243997191584387,0.0252805275869034,4.58959693238905,0.12274820262963,1138.82061016445,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0292,i0292,Amazon Intact 0292,-66.5,0.5,NA,NA,2,6,0.548215196717419,0.224407028928467,0.0271229074631325,4.43939775224795,0.109745421821456,1113.94872134619,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0293,i0293,Amazon Intact 0293,-65.5,0.5,NA,NA,2,6,0.484765179678734,0.256514100828391,0.0282823256655113,4.14867339135671,0.114060992235232,1143.58311648962,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0294,i0294,Amazon Intact 0294,-64.5,0.5,NA,NA,2,6,0.487010403492551,0.258904649364713,0.0268010597810063,4.10729350353887,0.118673620957919,1124.26391973434,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0295,i0295,Amazon Intact 0295,-63.5,0.5,NA,NA,2,5,0.490013881177124,0.223543586896169,0.0233667962243198,4.29244863964464,0.111192670738479,1171.7157134925,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0296,i0296,Amazon Intact 0296,-62.5,0.5,NA,NA,2,6,0.483,0.261,0.0177,4.8,0.127,1240,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0297,i0297,Amazon Intact 0297,-61.5,0.5,NA,NA,2,6,0.490005479452055,0.286574429223744,0.0155687671232877,4.6,0.115645662100457,1239.25114155251,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0298,i0298,Amazon Intact 0298,-60.5,0.5,NA,NA,2,8,0.422827388919844,0.29860800842063,0.0148668648048191,4.45877357340052,0.10206694774671,1226.64877103883,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0299,i0299,Amazon Intact 0299,-59.5,0.5,NA,NA,2,8,0.35218276921012,0.332975825521394,0.0176846653881449,4.36719699243703,0.103102231226806,1209.98824400904,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0300,i0300,Amazon Intact 0300,-58.5,0.5,NA,NA,2,8,0.363830388886367,0.307647710465354,0.0175809224486845,4.43911678729251,0.103051225392196,1189.58270236001,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0301,i0301,Amazon Intact 0301,-57.5,0.5,NA,NA,2,8,0.354931842769564,0.343516768842409,0.0181821853588172,4.35708618824378,0.100027046520014,1219.78723404255,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0302,i0302,Amazon Intact 0302,-56.5,0.5,NA,NA,2,8,0.377,0.279,0.0156,4.5,0.098,1180,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0303,i0303,Amazon Intact 0303,-55.5,0.5,NA,NA,2,8,0.35,0.292,0.0178,4.5,0.1,1190,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0304,i0304,Amazon Intact 0304,-54.5,0.5,NA,NA,2,8,0.326,0.309,0.0184,4.5,0.1,1200,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0305,i0305,Amazon Intact 0305,-53.5,0.5,NA,NA,2,8,0.323365210127657,0.370095805707387,0.0187482045535554,4.48093786377005,0.0996940546590494,1195.62742007063,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0306,i0306,Amazon Intact 0306,-52.5,0.5,NA,NA,2,8,0.292867015931683,0.397491722254934,0.0192186303907941,4.4352519463437,0.103649205072188,1202.97149068891,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0307,i0307,Amazon Intact 0307,-51.5,0.5,NA,NA,2,8,0.354676744608013,0.342080412276782,0.0198860758037557,4.59291576539618,0.104769497337053,1216.29109710547,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0308,i0308,Amazon Intact 0308,-69.5,1.5,NA,NA,2,6,0.526,0.24,0.024,4.5,0.097,1220,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0309,i0309,Amazon Intact 0309,-68.5,1.5,NA,NA,2,6,0.52253906795127,0.205054553070751,0.0427814812837994,4.66687109294238,0.126099018640665,1194.61921079365,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0310,i0310,Amazon Intact 0310,-67.5,1.5,NA,NA,2,6,0.561091043671355,0.20421021465581,0.0270715025906736,4.8,0.125521835677276,1167.21687638786,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0311,i0311,Amazon Intact 0311,-63.5,1.5,NA,NA,2,8,0.42494387755102,0.300469023323615,0.0162231413994169,4.46344752186589,0.11184584548105,1160.36807580175,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0312,i0312,Amazon Intact 0312,-62.5,1.5,NA,NA,2,5,0.461726939264444,0.258288962317539,0.0154604370768904,4.66603356058363,0.108984270747554,1194.30671490346,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0313,i0313,Amazon Intact 0313,-61.5,1.5,NA,NA,2,6,0.491579346398351,0.244625519219408,0.0134864468276648,4.76323965635835,0.117913015594765,1223.94573462479,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0314,i0314,Amazon Intact 0314,-60.5,1.5,NA,NA,2,6,0.549014345688791,0.230570332291842,0.013304077377855,4.86755000506628,0.0961091934521206,1208.56740319152,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0315,i0315,Amazon Intact 0315,-59.5,1.5,NA,NA,2,6,0.481927994873695,0.255205541384766,0.0150356642601167,4.74670830089643,0.103511291584974,1207.44096428706,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0316,i0316,Amazon Intact 0316,-57.5,1.5,NA,NA,2,8,0.320494450050454,0.381883955600404,0.0240853683148335,4.43296333669694,0.130706020854356,1230.91153716784,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0317,i0317,Amazon Intact 0317,-56.5,1.5,NA,NA,2,8,0.379,0.278,0.0166,4.6,0.102,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0318,i0318,Amazon Intact 0318,-55.5,1.5,NA,NA,2,5,0.392,0.263,0.0161,4.6,0.101,1220,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0319,i0319,Amazon Intact 0319,-54.5,1.5,NA,NA,2,8,0.350395925297114,0.379331069609508,0.0170010526315789,4.57011884550085,0.100765365025467,1205.64006791171,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0320,i0320,Amazon Intact 0320,-53.5,1.5,NA,NA,2,8,0.33561267805929,0.378876602523137,0.017076443885941,4.53922886608355,0.0972183506159432,1210.01906683005,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0321,i0321,Amazon Intact 0321,-52.5,1.5,NA,NA,2,8,0.335149100257069,0.374988982739625,0.0183976496511201,4.54168196841719,0.117102093279471,1219.54829232464,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0322,i0322,Amazon Intact 0322,-51.5,1.5,NA,NA,2,8,0.342559043915282,0.375207384619859,0.0198429336435915,4.53589145059832,0.111399201408253,1218.60642701711,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0323,i0323,Amazon Intact 0323,-50.5,1.5,NA,NA,2,8,0.334285904255319,0.309539893617021,0.0247304521276596,4.85345744680851,0.195167553191489,747.114361702128,K,1,90,15,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0324,i0324,Amazon Intact 0324,-63.5,2.5,NA,NA,2,5,0.394,0.267,0.0229,4.2,0.106,1110,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0325,i0325,Amazon Intact 0325,-62.5,2.5,NA,NA,2,8,0.373555616051848,0.347475527485543,0.0166705535882847,4.47090601554171,0.110173448007595,1154.31042803282,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0326,i0326,Amazon Intact 0326,-61.5,2.5,NA,NA,2,6,0.474488977350501,0.284508323716426,0.0158915215631065,4.71459515869303,0.0970353676585795,1191.61066134685,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0327,i0327,Amazon Intact 0327,-60.5,2.5,NA,NA,2,3,0.582,0.197,0.0137,5.1,0.106,1270,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0328,i0328,Amazon Intact 0328,-52.5,2.5,NA,NA,2,8,0.363187161639598,0.365375870069606,0.0310636117556071,4.62965970610982,0.129161252900232,1214.36194895592,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0329,i0329,Amazon Intact 0329,-51.5,2.5,NA,NA,2,8,0.357012872350827,0.354746872110307,0.0213451569559534,4.58902910482537,0.143151406767849,1205.39553680222,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0330,i0330,Amazon Intact 0330,-63.5,3.5,NA,NA,2,8,0.361,0.281,0.0224,4.1,0.117,1120,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0331,i0331,Amazon Intact 0331,-62.5,3.5,NA,NA,2,8,0.346073414671842,0.369487859609459,0.0177165198541867,4.37372537735457,0.10968214765377,1131.10602529551,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0332,i0332,Amazon Intact 0332,-61.5,3.5,NA,NA,2,6,0.479615694573823,0.293875810816361,0.0152221313921233,4.85439423856933,0.110973840211288,1214.41237963628,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0333,i0333,Amazon Intact 0333,-60.5,3.5,NA,NA,2,6,0.498,0.26,0.0101,5.3,0.153,1320,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0334,i0334,Amazon Intact 0334,-51.5,3.5,NA,NA,2,8,0.307,0.331,0.0258,4.7,0.171,1180,K,1,90,15,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0335,i0335,Amazon Intact 0335,-60.5,4.5,NA,NA,2,8,0.348,0.334,0.0249,5.3,0.151,1230,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0336,i0336,Amazon Intact 0336,-59.5,-11.5,NA,NA,2,6,0.531965811840757,0.243728325972639,0.0187127669238973,4.4686539658477,0.108225292926799,1211.32454358169,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0337,i0337,Amazon Intact 0337,-58.5,-12.5,NA,NA,2,3,0.754084244600303,0.15137239297781,0.0138599813936637,4.61700499339524,0.094790242484175,1221.66075690442,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0338,i0338,Amazon Intact 0338,-51.5,-12.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0339,i0339,Amazon Intact 0339,-54.5,-13.5,NA,NA,2,6,0.604719512195122,0.254965447154472,0.0216197154471545,4.8,0.106475609756098,1225.91463414634,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0340,i0340,Amazon Intact 0340,-46.5,-5.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0341,i0341,Amazon Intact 0341,-59.5,-12.5,NA,NA,2,3,0.668453719723183,0.181541522491349,0.0159257352941176,4.6780276816609,0.103732698961938,1216.35813148789,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0342,i0342,Amazon Intact 0342,-59.5,-13.5,NA,NA,2,3,0.699488842211707,0.186988779988865,0.0157302321721259,4.91277867918269,0.087079116612656,1214.97471074384,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0343,i0343,Amazon Intact 0343,-53.5,-13.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,120 +AMZIF_0344,i0344,Amazon Intact 0344,-53.5,2.5,NA,NA,2,8,0.307401814058957,0.396586848072562,0.0224716553287982,4.62208616780045,0.108532426303855,1201.46031746032,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0345,i0345,Amazon Intact 0345,-73.5,-6.5,NA,NA,2,8,0.38418927140332,0.323272575377048,0.0253926179596497,4.18006928075437,0.134395888997171,1213.40132840139,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0346,i0346,Amazon Intact 0346,-65.5,-11.5,NA,NA,2,8,0.436925311203319,0.291680497925311,0.0164742738589212,4.73112033195021,0.10660857538036,1211.53526970954,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0347,i0347,Amazon Intact 0347,-69.5,-1.5,NA,NA,2,3,0.566508552631579,0.187552631578947,0.02448125,4.32605263157895,0.137514473684211,1178.75657894737,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0348,i0348,Amazon Intact 0348,-59.5,4.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 +AMZIF_0349,i0349,Amazon Intact 0349,-50.5,-10.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,60 +AMZIF_0350,i0350,Amazon Intact 0350,-50.5,0.5,NA,NA,2,6,0.521,0.251,0.0158,5,0.084,1250,K,1,90,16,ERA5_CHIRPS,1981,2019,5,30 diff --git a/R-utils/colour.palettes.r b/R-utils/colour.palettes.r new file mode 100644 index 000000000..34fcb9d9a --- /dev/null +++ b/R-utils/colour.palettes.r @@ -0,0 +1,410 @@ +#==========================================================================================# +#==========================================================================================# +# List of functions that generate colour palettes. They all call a single inter- # +# polation function. Most functions are derived from QGIS colour palettes. # +#------------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Blues. # + #---------------------------------------------------------------------------------------# + blues <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#F7FBFF", "#DEEBF7", "#C6DBEF", "#9ECAE1", "#6BAED6", "#4292C6" + , "#2171B5", "#08519C", "#08306B") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function blues + #----- Inverse colour palette. ---------------------------------------------------------# + iblues <- function(n,alpha=1.0){ rev(blues(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + #---------------------------------------------------------------------------------------# + # BrBG. # + #---------------------------------------------------------------------------------------# + brbg <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#A6611A", "#DFC27D", "#F5F5F5", "#80CDC1", "#018571") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function brbg + #----- Inverse colour palette. ---------------------------------------------------------# + ibrbg <- function(n,alpha=1.0){ rev(brbg(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # BuGn. # + #---------------------------------------------------------------------------------------# + bugn <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#C2D2F2", "#7AB1CC", "#63A6A6", "#338066", "#115929", "#003300") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function bugn + #----- Inverse colour palette. ---------------------------------------------------------# + ibugn <- function(n,alpha=1.0){ rev(bugn(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # BuGy. # + #---------------------------------------------------------------------------------------# + bugy <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#0050CE", "#1E64FF", "#2896FF", "#78D2FF", "#B4E6FF", "#FDFDFD" + , "#DEDEDE", "#B6B6B6", "#8E8E8E", "#666666", "#3E3E3E") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function bugy + #----- Inverse colour palette. ---------------------------------------------------------# + ibugy <- function(n,alpha=1.0){ rev(bugy(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # BuPu. # + #---------------------------------------------------------------------------------------# + bupu <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#EDF8FB", "#CCE0EE", "#AEC5DF", "#97A6CF", "#8B84BD", "#895FAC" + , "#853795", "#810F7C") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function bupu + #----- Inverse colour palette. ---------------------------------------------------------# + ibupu <- function(n,alpha=1.0){ rev(bupu(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # Greys. # + #---------------------------------------------------------------------------------------# + greys <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c("#fafafa","#050505") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function greys + #----- Inverse colour palette. ---------------------------------------------------------# + igreys <- function(n,alpha=1.0){ rev(greys(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # OrRd. # + #---------------------------------------------------------------------------------------# + orrd <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#FEFAE4", "#FEE7B7", "#F2BB83", "#CC7549", "#A6341E", "#800000") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function orrd + #----- Inverse colour palette. ---------------------------------------------------------# + iorrd <- function(n,alpha=1.0){ rev(orrd(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # PiYG. # + #---------------------------------------------------------------------------------------# + piyg <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#D01C8B", "#F1B6DA", "#F7F7F7", "#B8E186", "#4DAC26") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function piyg + #----- Inverse colour palette. ---------------------------------------------------------# + ipiyg <- function(n,alpha=1.0){ rev(piyg(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # PRGn. # + #---------------------------------------------------------------------------------------# + prgn <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#7B3294", "#C2A5CF", "#F7F7F7", "#A6DBA0", "#008837") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function prgn + #----- Inverse colour palette. ---------------------------------------------------------# + iprgn <- function(n,alpha=1.0){ rev(prgn(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # PuOr. # + #---------------------------------------------------------------------------------------# + puor <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c("#5E3C99", "#B2ABD2", "#F7F7F7", "#FDB863", "#E66101") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function puor + #----- Inverse colour palette. ---------------------------------------------------------# + ipuor <- function(n,alpha=1.0){ rev(puor(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # PuRd. # + #---------------------------------------------------------------------------------------# + purd <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#F1EEF6", "#D7B5D8", "#DF65B0", "#DD1C77", "#980043") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function purd + #----- Inverse colour palette. ---------------------------------------------------------# + ipurd <- function(n,alpha=1.0){ rev(purd(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # PuBuGn. # + #---------------------------------------------------------------------------------------# + pubugn <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#F6EFF7", "#D6DAEB", "#B1C5DF", "#80B2D4", "#51A2C0", "#2694A1" + , "#10817E", "#016C59") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function pubugn + #----- Inverse colour palette. ---------------------------------------------------------# + ipubugn <- function(n,alpha=1.0){ rev(pubugn(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # RdBu. # + #---------------------------------------------------------------------------------------# + rdbu <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c("#CA0020", "#F4A582", "#F7F7F7", "#92C5DE", "#0571B0") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function rdbu + #----- Inverse colour palette. ---------------------------------------------------------# + irdbu <- function(n,alpha=1.0){ rev(rdbu(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # RdGy. # + #---------------------------------------------------------------------------------------# + rdgy <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = C( "#CA0020", "#F4A582", "#FFFFFF", "#BABABA", "#404040") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function rdgy + #----- Inverse colour palette. ---------------------------------------------------------# + irdgy <- function(n,alpha=1.0){ rev(rdgy(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # YlGnBu. # + #---------------------------------------------------------------------------------------# + ylgnbu <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#FFFFCC", "#CAEABF", "#93D5B6", "#5CC1C0", "#3BA6C1", "#2F87BA" + , "#295FA9", "#253494") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function ylgnbu + #----- Inverse colour palette. ---------------------------------------------------------# + iylgnbu <- function(n,alpha=1.0){ rev(ylgnbu(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # YlOrRd. # + #---------------------------------------------------------------------------------------# + ylorrd <<- function(n,alpha=1.0){ + #----- Color entries. ---------------------------------------------------------------# + nodes = c( "#FFFFB2", "#FECC5C", "#FD8D3C", "#F03B20", "#BD0026") + #------------------------------------------------------------------------------------# + + #----- Call the interpolator. -------------------------------------------------------# + ans = colour.interpol(nodes=nodes,n=n) + ans = scales::alpha(colour=ans,alpha=alpha) + return(ans) + #------------------------------------------------------------------------------------# + }#end function ylorrd + #----- Inverse colour palette. ---------------------------------------------------------# + iylorrd <- function(n,alpha=1.0){ rev(ylorrd(n=n,alpha=alpha))} + #---------------------------------------------------------------------------------------# + + + + + + + + #---------------------------------------------------------------------------------------# + # For the following palettes, we use the default from package "viridis". We only # + # define the inverse functions for convenience. # + #---------------------------------------------------------------------------------------# + iinferno <- function(n,alpha=1.0){ inferno(n=n,alpha=alpha,direction=-1)} + imagma <- function(n,alpha=1.0){ magma (n=n,alpha=alpha,direction=-1)} + iviridis <- function(n,alpha=1.0){ viridis(n=n,alpha=alpha,direction=-1)} + #---------------------------------------------------------------------------------------# + + + + + +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/entropy.r b/R-utils/entropy.r new file mode 100644 index 000000000..a795ab0bd --- /dev/null +++ b/R-utils/entropy.r @@ -0,0 +1,142 @@ +#==========================================================================================# +#==========================================================================================# +# Functions to help computing entropy fluxes. Most of the theory can be found in the # +# following papers. # +# # +# Quijano JC , Lin H. 2015. Is spatially integrated entropy production useful to predict # +# the dynamics of ecosystems? Ecol. Model., 313: 341-354. # +# doi:10.1016/j.ecolmodel.2015.06.012 (QJ15). # +# # +# Wright SE, Scott DS, Haddow JB , Rosen MA. 2001. On the entropy of radiative heat # +# transfer in engineering thermodynamics. Int. J. Eng. Sci., 39: 1691-1706. # +# doi:10.1016/S0020-7225(01)00024-6 (W01). # +# # +# Wu W , Liu Y. 2010. Radiation entropy flux and entropy production of the Earth system. # +# Rev. Geophys., 48: RG2003. doi:10.1029/2008RG000275 (WL10). # +# # +#------------------------------------------------------------------------------------------# + + +#------ Handy constants. ------------------------------------------------------------------# +w01.rf.sbeam <<- 2.31e-4 * tsun +w01.c0 <<- -45 / (4. * pi^4) +w01.c1 <<- +2.336 +w01.c2 <<- -0.260 +w01.rpfac <<- 4./3. +emis.atm <<- 0.85 # From Brunsell et al. (2011) +emis.sfc <<- 0.98 # From ED2 +#------------------------------------------------------------------------------------------# + + + +#==========================================================================================# +#==========================================================================================# +# This function finds the entropy flux due to shortwave radiation, following Q15, # +# who base their formulation on WL10 (which is done for the top of the atmosphere). This # +# assumes that albedo is the same for direct and diffuse radiation, and that all reflected # +# radiation is diffuse. # +#------------------------------------------------------------------------------------------# +fxentropy.rshort <<- function(rsdnwd,rswnet,rsbeam){ + + #----- Find derived radiation properties. ----------------------------------------------# + rsdiff = 0. * rsdnwd + pmax(0.,rsdnwd - rsbeam) # Diffuse radiation as residual + rsupwd = pmax(0.,rsdnwd - rswnet) # Upward radiation + albedo = 0. * rsdnwd + ifelse( test = rsdnwd %gt% 0. # Albedo + , yes = rsupwd / rsdnwd # + , no = 0.1 # + )#end ifelse # + #---------------------------------------------------------------------------------------# + + + + #----- Entropy due to direct radiation. ------------------------------------------------# + fs.rsbeam = w01.rf.sbeam * (1. - albedo) * rsbeam / tsun + #---------------------------------------------------------------------------------------# + + + #----- Entropy due to diffuse radiation. -----------------------------------------------# + delta = rsdiff / pi / radsol + rf.rsdiff = ifelse( test = delta %gt% 0. + , yes = ( w01.c0 * ( w01.c1 + w01.c2 * delta) * log(delta) + 1. ) + * w01.rpfac + , no = 0. + )#end ifelse + fs.rsdiff = rf.rsdiff * (1. - albedo) * rsdiff / tsun + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Total entropy flux due to solar radiation. # + #---------------------------------------------------------------------------------------# + ans = fs.rsbeam + fs.rsdiff + return(ans) + #---------------------------------------------------------------------------------------# +}#end sflux.rshort +#==========================================================================================# +#==========================================================================================# + + + + +#==========================================================================================# +#==========================================================================================# +# This function finds the entropy flux due to downwelling longwave radiation, follow- # +# ing Q15, who base their formulation on WL10 and W01. Two differences from their # +# approach: # +# 1. We don't use the air temperature, but the equivalent atmospheric temperature, similar # +# to H10 (unless the user provides atmospheric temperature, in which case their values # +# take priority). # +# 2. We also account for the small amount of downwelling LW irradiance that is not # +# absorbed, using Kirchhoff's law. # +#------------------------------------------------------------------------------------------# +fxentropy.rldnwd <<- function(rldnwd,tatm.k){ + + #----- Find derived radiation properties. ----------------------------------------------# + if (missing(tatm.k)){ + tatm.k = sqrt(sqrt(rldnwd / (emis.atm * stefan))) + }#end if (missing(tsfc.k)) + #---------------------------------------------------------------------------------------# + + + #----- Entropy due to diffuse radiation (note we add the "LW albedo"). -----------------# + epsil = emis.atm + rf.rldnwd = ( w01.c0 * ( w01.c1 + w01.c2 * epsil) * log(epsil) + 1. ) * w01.rpfac + fs.rldnwd = rf.rldnwd * emis.sfc * rldnwd / tatm.k + #---------------------------------------------------------------------------------------# + + return(fs.rldnwd) + #---------------------------------------------------------------------------------------# +}#end sflux.rldnwd +#==========================================================================================# +#==========================================================================================# + + + + +#==========================================================================================# +#==========================================================================================# +# This function finds the entropy flux due to upwelling longwave radiation, following # +# Q15, who base their formulation on WL10 and W01. Because skin temperature may be # +# available, we use that instead of calculating in here (unless skin temperature is not # +# provided). # +#------------------------------------------------------------------------------------------# +fxentropy.rlupwd <<- function(rlupwd,tsfc.k){ + + #----- Find derived radiation properties. ----------------------------------------------# + if (missing(tsfc.k)){ + tsfc.k = sqrt(sqrt(rlupwd / (emis.sfc * stefan))) + }#end if (missing(tsfc.k)) + #---------------------------------------------------------------------------------------# + + + #----- Entropy due to diffuse radiation (note we add the "LW albedo"). -----------------# + epsil = emis.sfc + rf.rlupwd = ( w01.c0 * ( w01.c1 + w01.c2 * epsil) * log(epsil) + 1. ) * w01.rpfac + fs.rlupwd = rf.rlupwd * rlupwd / tsfc.k + #---------------------------------------------------------------------------------------# + + return(fs.rlupwd) + #---------------------------------------------------------------------------------------# +}#end sflux.rlupwd +#==========================================================================================# +#==========================================================================================# diff --git a/R-utils/time.to.edge.r b/R-utils/time.to.edge.r new file mode 100644 index 000000000..dee8f03df --- /dev/null +++ b/R-utils/time.to.edge.r @@ -0,0 +1,130 @@ +#==========================================================================================# +#==========================================================================================# +# Function time.to.edge. # +# # +# This function computes the time it takes for air to reach the edge, assuming that # +# air moves along the dominant wind. # +# # +#------------------------------------------------------------------------------------------# +time.to.edge <<- function( datum + , emask + , u.vnam + , v.vnam + , xy.m.fac = 1000. + , wmin = 0.05 + , tmax = 5000./wmin + , cosmin = cos(15.*pio180) + ){ + + #------ Fortran code. ------------------------------------------------------------------# + fortran.so = file.path(srcdir,"time_to_edge.so") + #---------------------------------------------------------------------------------------# + + + #---------------------------------------------------------------------------------------# + # Extract wind data from data table. # + #---------------------------------------------------------------------------------------# + uvsel = is.finite(datum[[u.vnam]]) & is.finite(datum[[v.vnam]]) + dsel = datum[uvsel] + nwind = nrow(dsel) + xwind = dsel$x * xy.m.fac + ywind = dsel$y * xy.m.fac + uwind = dsel[[u.vnam]] + vwind = dsel[[v.vnam]] + #---------------------------------------------------------------------------------------# + + + + #---------------------------------------------------------------------------------------# + # Extract wind data from mask table. # + #---------------------------------------------------------------------------------------# + edsel = emask$mask & (! is.na(emask$mask) ) + edge = emask[edsel] + nedge = nrow(edge) + xedge = edge$x * xy.m.fac + yedge = edge$y * xy.m.fac + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# + # Find the time to edge. # + #---------------------------------------------------------------------------------------# + if ( (nedge*nwind) > 0){ + + + #------ Load Fortran and run code. --------------------------------------------------# + # if (! is.loaded("timetoedge")) dummy = dyn.load(fortran.so) + # tedge = .Fortran( "timetoedge" + # , nwind = as.integer(nwind) + # , xwind = as.double (xwind) + # , ywind = as.double (ywind) + # , uwind = as.double (uwind) + # , vwind = as.double (vwind) + # , nedge = as.integer(nedge) + # , xedge = as.double (xedge) + # , yedge = as.double (yedge) + # , wmin = as.double (wmin) + # , time = as.double (tedge) + # )#end .Fortran + #------------------------------------------------------------------------------------# + + + + + #------ Populate answer. ------------------------------------------------------------# + # ans = rep(NA_real_,times=nrow(datum)) + # ans[uvsel] = pmin(tmax,tedge$time) + # rm(tedge) + #------------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------------# + # Calculate wind speed and direction. # + #------------------------------------------------------------------------------------# + SPEED = matrix(data=sqrt(uwind*uwind+vwind*vwind),nrow=nwind,ncol=nedge) + OMEGA = matrix(data=atan2(y=vwind,x=uwind) ,nrow=nwind,ncol=nedge) + #------------------------------------------------------------------------------------# + + + #------ Calculate distance from point to edge. --------------------------------------# + DX = -outer(X=xwind,Y=xedge,FUN=`-`) + DY = -outer(X=ywind,Y=yedge,FUN=`-`) + DIST = sqrt(DX*DX+DY*DY) + DELTA = atan2(y=DY,x=DX) + #------------------------------------------------------------------------------------# + + + #----- Find the baseline time to edge. ----------------------------------------------# + WEDGE = matrix(data=pmax(wmin,SPEED * cos(OMEGA - DELTA)),nrow=nwind,ncol=nedge) + #------------------------------------------------------------------------------------# + + + #----- Select the minimum time as the time to edge. ---------------------------------# + TEDGE = DIST / WEDGE + tedge = apply(X=TEDGE,MARGIN=1,FUN=min,na.rm=TRUE) + #------------------------------------------------------------------------------------# + + + + + #------ Populate answer. ------------------------------------------------------------# + ans = rep(NA_real_,times=nrow(datum)) + ans[uvsel] = pmin(tmax,tedge) + rm(SPEED,OMEGA,DX,DY,DIST,WEDGE,TEDGE,tedge) + #------------------------------------------------------------------------------------# + + }else{ + #------ Either wind or edge were completely missing. Return dummy answer. -----------# + ans = ifelse( test = uvsel + , yes = tmax + , no = NA_real_ + )#end ifelse + #------------------------------------------------------------------------------------# + }#end if + #---------------------------------------------------------------------------------------# + + + + return(ans) +}#end time.to.edge +#==========================================================================================# +#==========================================================================================# From 01c9f7ea6fb74f468eea561bb455e3a0c0fa77e1 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Wed, 21 Dec 2022 13:48:11 -0800 Subject: [PATCH 03/62] More updates for non-Fortran files. --- count_lines.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/count_lines.sh b/count_lines.sh index 749a11e1c..9af307bdf 100755 --- a/count_lines.sh +++ b/count_lines.sh @@ -16,11 +16,13 @@ do ;; *) echo -n " - Directory ${dir}: " - files=$(/bin/ls -1 ${model}/src/${dir}) + files=$(/bin/ls -1 ${model}/src/${dir}/*.F90 2> /dev/null) + files="${files} $(/bin/ls -1 ${model}/src/${dir}/*.f90 2> /dev/null)" + files="${files} $(/bin/ls -1 ${model}/src/${dir}/*.c 2> /dev/null)" dirlines=0 for file in ${files} do - nlines=$(sed '/^ *$/ d' ${model}/src/${dir}/${file} | wc -l) + nlines=$(sed '/^ *$/ d' ${file} | wc -l | awk '{print $1}') let dirlines=${dirlines}+${nlines} done echo "${dirlines} lines" From e02cc1074f57fd9e02f33eeb21f2ea61646e7336 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Wed, 21 Dec 2022 13:56:34 -0800 Subject: [PATCH 04/62] Updates to include files. --- ED/build/make/include.mk.cannon | 4 ++-- ED/build/make/include.mk.macosx | 26 +++++++++++--------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/ED/build/make/include.mk.cannon b/ED/build/make/include.mk.cannon index 256b13d3f..4e28cf388 100644 --- a/ED/build/make/include.mk.cannon +++ b/ED/build/make/include.mk.cannon @@ -103,12 +103,12 @@ ifeq ($(KIND_COMP),B) F_OPTS= -FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ -implicitnone -assume byterecl -warn unused -warn uncalled -warn usage \ - -warn interfaces -warn declarations -qopenmp -diag-error=all -static + -warn interfaces -warn declarations -warn errors -qopenmp -static C_OPTS= -O0 -DLITTLE -g -traceback -qopenmp -static LOADER_OPTS=-FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ -implicitnone -assume byterecl -warn unused -warn uncalled -warn usage \ - -warn interfaces -warn declarations -qopenmp -diag-error=all + -warn interfaces -warn declarations -warn errors -qopenmp #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),C) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..e525a1bed 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -5,7 +5,7 @@ #----- Define make (gnu make works best). -------------------------------------------------# -MAKE=/usr/bin/make +MAKE=/usr/local/bin/make #------------------------------------------------------------------------------------------# #----- Libraries. -------------------------------------------------------------------------# @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=/usr/local +HDF5_PATH=/usr/local HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,9 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=/usr/local/bin/gfortran-11 +C_COMP=/usr/local/bin/gcc-11 +LOADER=/usr/local/bin/gfortran-11 LIBS= MOD_EXT=mod ############################################################################################ @@ -88,20 +87,17 @@ endif ifeq ($(KIND_COMP),A) F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror -mmacosx-version-min=10.12 \ - -fopenmp -static + -fcheck=all,no-array-temps -frecursive -Werror -fopenmp -fbacktrace -static C_OPTS= -O0 -DLITTLE -g -static LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror \ - -mmacosx-version-min=10.12 -fopenmp + -fcheck=all -frecursive -Werror -fbacktrace -fopenmp #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp \ - -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fbacktrace -fopenmp #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# From 65d9e5899ca34f79d7e901d26a2ecee3787e78b5 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Wed, 21 Dec 2022 13:58:59 -0800 Subject: [PATCH 05/62] Improved calculation for reduced pressure. Because the pressure interpolation is inversely proportional to theta-V, we now average the inverse theta-V instead of averaging theta-v and finding the inverse. --- BRAMS/src/lib/therm_lib.f90 | 20 ++++++++++++++++++-- BRAMS/src/lib/therm_lib8.f90 | 28 +++++++++++++++++++++++----- ED/src/utils/therm_lib.f90 | 28 ++++++++++++++++++++++------ ED/src/utils/therm_lib8.f90 | 29 +++++++++++++++++++++++------ 4 files changed, 86 insertions(+), 19 deletions(-) diff --git a/BRAMS/src/lib/therm_lib.f90 b/BRAMS/src/lib/therm_lib.f90 index ebe933f6a..9c7624f01 100644 --- a/BRAMS/src/lib/therm_lib.f90 +++ b/BRAMS/src/lib/therm_lib.f90 @@ -110,6 +110,17 @@ module therm_lib !=======================================================================================! + + + !=======================================================================================! + !=======================================================================================! + ! Weighting factor for atmospheric ThetaV (as opposed to canopy air space ThetaV). ! + !---------------------------------------------------------------------------------------! + real(kind=4), parameter :: fthva_rp = 0.5 + !=======================================================================================! + !=======================================================================================! + + contains @@ -2501,14 +2512,19 @@ real(kind=4) function reducedpress(pres,thetaref,shvref,zref,thetacan,shvcan,zca real(kind=4), intent(in) :: zcan ! Height at canopy level [ m] !------Local variables. -------------------------------------------------------------! real(kind=4) :: pinc ! Pressure increment [ Pa^R/cp] + real(kind=4) :: thvref ! Reference virtual pot. temperature [ K] + real(kind=4) :: thvcan ! CAS virtual pot. temperature [ K] real(kind=4) :: thvbar ! Average virtual pot. temperature [ K] !------------------------------------------------------------------------------------! !------------------------------------------------------------------------------------! ! First we compute the average virtual potential temperature between the canopy ! - ! top and the reference level. ! + ! top and the reference level. Because of the equation below, we average the ! + ! inverse of the potential temperature. ! !------------------------------------------------------------------------------------! - thvbar = 0.5 * (thetaref * (1. + epim1 * shvref) + thetacan * (1. + epim1 * shvcan)) + thvref = thetaref * (1.0 + epim1 * shvref) + thvcan = thetacan * (1.0 + epim1 * shvcan) + thvbar = thvref * thvcan / ( ( 1.0 - fthva_rp ) * thvref + fthva_rp * thvcan ) !------------------------------------------------------------------------------------! diff --git a/BRAMS/src/lib/therm_lib8.f90 b/BRAMS/src/lib/therm_lib8.f90 index 76ed12f4d..eb03e5461 100644 --- a/BRAMS/src/lib/therm_lib8.f90 +++ b/BRAMS/src/lib/therm_lib8.f90 @@ -15,8 +15,9 @@ module therm_lib8 , maxfpo4 => maxfpo & ! intent(in) , maxit4 => maxit & ! intent(in) , maxlev4 => maxlev & ! intent(in) - , newthermo4 => newthermo ! ! intent(in) - + , newthermo4 => newthermo & ! intent(in) + , fthva_rp4 => fthva_rp ! ! intent(in) + !---------------------------------------------------------------------------------------! ! Relative tolerance for iterative methods. The smaller the value, the more ! ! accurate the result, but it will slow down the run. Notice that we are using the ! @@ -116,6 +117,17 @@ module therm_lib8 !=======================================================================================! + + + !=======================================================================================! + !=======================================================================================! + ! Weighting factor for atmospheric ThetaV (as opposed to canopy air space ThetaV). ! + !---------------------------------------------------------------------------------------! + real(kind=4), parameter :: fthva_rp8 = dble(fthva_rp4) + !=======================================================================================! + !=======================================================================================! + + contains @@ -2505,15 +2517,21 @@ real(kind=8) function reducedpress8(pres,thetaref,shvref,zref,thetacan,shvcan,zc real(kind=8), intent(in) :: zcan ! Height at canopy level [ m] !------Local variables. -------------------------------------------------------------! real(kind=8) :: pinc ! Pressure increment [ Pa^R/cp] + real(kind=8) :: thvref ! Reference virtual pot. temperature [ K] + real(kind=8) :: thvcan ! CAS virtual pot. temperature [ K] real(kind=8) :: thvbar ! Average virtual pot. temperature [ K] !------------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------------! ! First we compute the average virtual potential temperature between the canopy ! - ! top and the reference level. ! + ! top and the reference level. Because of the equation below, we average the ! + ! inverse of the potential temperature. ! !------------------------------------------------------------------------------------! - thvbar = 5.d-1 * ( thetaref * (1.d0 + epim18 * shvref) & - + thetacan * (1.d0 + epim18 * shvcan) ) + thvref = thetaref * (1.d0 + epim18 * shvref) + thvcan = thetacan * (1.d0 + epim18 * shvcan) + thvbar = thvref * thvcan / ( ( 1.d0 - fthva_rp8 ) * thvref + fthva_rp8 * thvcan ) !------------------------------------------------------------------------------------! diff --git a/ED/src/utils/therm_lib.f90 b/ED/src/utils/therm_lib.f90 index b3d23b991..a42cb0849 100644 --- a/ED/src/utils/therm_lib.f90 +++ b/ED/src/utils/therm_lib.f90 @@ -115,6 +115,17 @@ module therm_lib !=======================================================================================! + + + !=======================================================================================! + !=======================================================================================! + ! Weighting factor for atmospheric ThetaV (as opposed to canopy air space ThetaV). ! + !---------------------------------------------------------------------------------------! + real(kind=4), parameter :: fthva_rp = 0.5 + !=======================================================================================! + !=======================================================================================! + + contains @@ -2497,22 +2508,27 @@ real(kind=4) function reducedpress(pres,thetaref,shvref,zref,thetacan,shvcan,zca implicit none !----- Arguments --------------------------------------------------------------------! real(kind=4), intent(in) :: pres ! Pressure [ Pa] - real(kind=4), intent(in) :: thetaref ! Potential temperature [ K] - real(kind=4), intent(in) :: shvref ! Vapour specific mass [ kg/kg] + real(kind=4), intent(in) :: thetaref ! Ref. Potential temperature [ K] + real(kind=4), intent(in) :: shvref ! Ref. Vapour specific mass [ kg/kg] real(kind=4), intent(in) :: zref ! Height at reference level [ m] - real(kind=4), intent(in) :: thetacan ! Potential temperature [ K] - real(kind=4), intent(in) :: shvcan ! Vapour specific mass [ kg/kg] + real(kind=4), intent(in) :: thetacan ! CAS Potential temperature [ K] + real(kind=4), intent(in) :: shvcan ! CAS Vapour specific mass [ kg/kg] real(kind=4), intent(in) :: zcan ! Height at canopy level [ m] !------Local variables. -------------------------------------------------------------! real(kind=4) :: pinc ! Pressure increment [ Pa^R/cp] + real(kind=4) :: thvref ! Reference virtual pot. temperature [ K] + real(kind=4) :: thvcan ! CAS virtual pot. temperature [ K] real(kind=4) :: thvbar ! Average virtual pot. temperature [ K] !------------------------------------------------------------------------------------! !------------------------------------------------------------------------------------! ! First we compute the average virtual potential temperature between the canopy ! - ! top and the reference level. ! + ! top and the reference level. Because of the equation below, we average the ! + ! inverse of the potential temperature. ! !------------------------------------------------------------------------------------! - thvbar = 0.5 * (thetaref * (1. + epim1 * shvref) + thetacan * (1. + epim1 * shvcan)) + thvref = thetaref * (1.0 + epim1 * shvref) + thvcan = thetacan * (1.0 + epim1 * shvcan) + thvbar = thvref * thvcan / ( ( 1.0 - fthva_rp ) * thvref + fthva_rp * thvcan ) !------------------------------------------------------------------------------------! diff --git a/ED/src/utils/therm_lib8.f90 b/ED/src/utils/therm_lib8.f90 index 5af2e6062..8a9e2896e 100644 --- a/ED/src/utils/therm_lib8.f90 +++ b/ED/src/utils/therm_lib8.f90 @@ -19,7 +19,8 @@ module therm_lib8 , level4 => level & ! intent(in) , vapour_on4 => vapour_on & ! intent(in) , cloud_on4 => cloud_on & ! intent(in) - , bulk_on4 => bulk_on ! ! intent(in) + , bulk_on4 => bulk_on & ! intent(in) + , fthva_rp4 => fthva_rp ! ! intent(in) !---------------------------------------------------------------------------------------! ! Relative tolerance for iterative methods. The smaller the value, the more ! @@ -126,6 +127,17 @@ module therm_lib8 !=======================================================================================! + + + !=======================================================================================! + !=======================================================================================! + ! Weighting factor for atmospheric ThetaV (as opposed to canopy air space ThetaV). ! + !---------------------------------------------------------------------------------------! + real(kind=4), parameter :: fthva_rp8 = dble(fthva_rp4) + !=======================================================================================! + !=======================================================================================! + + contains @@ -2510,20 +2522,25 @@ real(kind=8) function reducedpress8(pres,thetaref,shvref,zref,thetacan,shvcan,zc real(kind=8), intent(in) :: thetaref ! Potential temperature [ K] real(kind=8), intent(in) :: shvref ! Vapour specific mass [ kg/kg] real(kind=8), intent(in) :: zref ! Height at reference level [ m] - real(kind=8), intent(in) :: thetacan ! Potential temperature [ K] - real(kind=8), intent(in) :: shvcan ! Vapour specific mass [ kg/kg] + real(kind=8), intent(in) :: thetacan ! CAS Potential temperature [ K] + real(kind=8), intent(in) :: shvcan ! CAS Vapour specific mass [ kg/kg] real(kind=8), intent(in) :: zcan ! Height at canopy level [ m] !------Local variables. -------------------------------------------------------------! real(kind=8) :: pinc ! Pressure increment [ Pa^R/cp] + real(kind=8) :: thvref ! Reference virtual pot. temperature [ K] + real(kind=8) :: thvcan ! CAS virtual pot. temperature [ K] real(kind=8) :: thvbar ! Average virtual pot. temperature [ K] !------------------------------------------------------------------------------------! + !------------------------------------------------------------------------------------! ! First we compute the average virtual potential temperature between the canopy ! - ! top and the reference level. ! + ! top and the reference level. Because of the equation below, we average the ! + ! inverse of the potential temperature. ! !------------------------------------------------------------------------------------! - thvbar = 5.d-1 * ( thetaref * (1.d0 + epim18 * shvref) & - + thetacan * (1.d0 + epim18 * shvcan) ) + thvref = thetaref * (1.d0 + epim18 * shvref) + thvcan = thetacan * (1.d0 + epim18 * shvcan) + thvbar = thvref * thvcan / ( ( 1.d0 - fthva_rp8 ) * thvref + fthva_rp8 * thvcan ) !------------------------------------------------------------------------------------! From 09bc74edb2440eb02920fef9696ff14e208c97a7 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Wed, 4 Jan 2023 19:23:17 -0300 Subject: [PATCH 06/62] 1. Included a new initialisation option (IED_INIT_MODE = 8), which allows for multiple site initialisation without running TOPMODEL. This is a simpler approach that distinguishes sites by a combination of soil texture, soil colour, depth to bedrock and other soil characteristics when using SOIL_HYDRO_SCHEME = 2 2. Included a new ISOILBC condition (ISOILBC = -1) that uses either free drainage when the depth to bedrock is deeper than the deepest layer, or flat bedrock otherwise. This is mostly useful when IED_INIT_MODE = 8 3. Additional changes to the code so the options above work both under 'INITIAL' and 'HISTORY' runs. Soil properties must be saved on history and reloaded. 4. Multiple minor bug fixes, mostly so it compiles and runs on Mac OS X with full debugging. --- BRAMS/Template/RAMSIN | 17 +- BRAMS/run/RAMSIN | 17 +- BRAMS/src/ed2/edcp_driver.F90 | 1 + BRAMS/src/ed2/edcp_load_namelist.f90 | 2 +- ED/Template/Template/ED2IN | 17 +- ED/build/make/include.mk.macosx | 27 +- ED/build/make/objects.mk | 1 + ED/build/make/rules.mk | 13 +- ED/run/ED2IN | 17 +- ED/src/driver/ed_driver.F90 | 174 ++- ED/src/driver/ed_model.F90 | 15 +- ED/src/dynamics/disturbance.f90 | 4 +- ED/src/dynamics/euler_driver.f90 | 52 +- ED/src/dynamics/events.f90 | 8 +- ED/src/dynamics/farq_katul.f90 | 16 +- ED/src/dynamics/heun_driver.f90 | 43 +- ED/src/dynamics/hybrid_driver.f90 | 51 +- ED/src/dynamics/plant_hydro.f90 | 243 ++- ED/src/dynamics/rk4_copy_patch.f90 | 9 +- ED/src/dynamics/rk4_derivs.f90 | 90 +- ED/src/dynamics/rk4_driver.F90 | 47 +- ED/src/dynamics/rk4_integ_utils.f90 | 37 +- ED/src/dynamics/rk4_misc.f90 | 4 +- ED/src/init/ed_init.F90 | 81 +- ED/src/init/ed_params.f90 | 832 +--------- ED/src/io/ed_init_history.f90 | 244 ++- ED/src/io/ed_load_namelist.f90 | 5 - ED/src/io/ed_opspec.F90 | 129 +- ED/src/io/ed_read_ed10_20_history.f90 | 14 +- ED/src/io/ed_read_ed22_initial.f90 | 1340 +++++++++++++++++ ED/src/io/h5_output.F90 | 5 +- ED/src/memory/ed_max_dims.F90 | 15 +- ED/src/memory/ed_misc_coms.f90 | 5 + ED/src/memory/ed_state_vars.F90 | 124 +- ED/src/memory/ed_var_tables.f90 | 2 + ED/src/memory/rk4_coms.f90 | 1 + .../memory/{soil_coms.F90 => soil_coms.f90} | 849 ++++++++++- ED/src/utils/ed_filelist.F90 | 2 +- ED/src/utils/numutils.f90 | 70 + ED/src/utils/rsys.F90 | 27 +- ED/src/utils/update_derived_utils.f90 | 10 +- diff_version.sh | 6 +- 42 files changed, 3419 insertions(+), 1247 deletions(-) create mode 100644 ED/src/io/ed_read_ed22_initial.f90 rename ED/src/memory/{soil_coms.F90 => soil_coms.f90} (59%) diff --git a/BRAMS/Template/RAMSIN b/BRAMS/Template/RAMSIN index 0e9b47465..8adfe4f73 100644 --- a/BRAMS/Template/RAMSIN +++ b/BRAMS/Template/RAMSIN @@ -1545,14 +1545,17 @@ $MODEL_OPTIONS ! ISOILBC -- This controls the soil moisture boundary condition at the bottom. ! ! For regional runs, it is wise to use options 1 or 2, especially for ! ! long runs. ! - ! 0. Flat bedrock. Flux from the bottom of the bottommost layer is 0. ! - ! 1. Gravitational flow (free drainage). The flux from the bottom of ! + ! -1. Hybrid. If the depth to bedrock is shorter than the deepest layer, ! + ! use flat bedrock, otherwise assume free drainage. This option is ! + ! morerelevant when initialising ED2 with multiple sites per polygon. ! + ! 0. Flat bedrock. Zero flux from the bottom of the bottommost layer. ! + ! 1. Gravitational flow (free drainage). The flux from the bottom of ! ! the bottommost layer is due to gradient of height only. ! - ! 2. Lateral drainage. Similar to free drainage, but the gradient is ! + ! 2. Lateral drainage. Similar to free drainage, but the gradient is ! ! reduced by the slope not being completely vertical. The reduction ! ! is controlled by variable SLDRAIN. In the future options 0, 1, and ! ! 2 may be combined into a single option. ! - ! 3. Aquifer. Soil moisture of the ficticious layer beneath the bottom ! + ! 3. Aquifer. Soil moisture of the ficticious layer beneath the bottom ! ! is always at saturation. ! !------------------------------------------------------------------------------------! ISOILBC = 1, @@ -2033,7 +2036,7 @@ $ED2_INFO ! /mypath/P1000-S-1687-01-01-000000-g01.h5: ! ! SFILIN = '/mypath/P' ! ! ! - ! 6 - Initialize with ED-2 style files without multiple sites, exactly like option ! + ! 6. Initialize with ED-2 style files without multiple sites, similar to option ! ! 2, except that the PFT types are preserved. ! ! ! ! 7. Initialize from a list of both POI and gridded ED2.1 state files, organized ! @@ -2041,6 +2044,10 @@ $ED2_INFO ! takes the soil texture and soil moisture information from the initializing ! ! ED2.1 state file. It allows for different layering, and assigns via nearest ! ! neighbor. ! + ! ! + ! 8. Initialise ED-2.2 style files with multiple sites that may vary in soil depth, ! + ! texture, and other properties (e.g., colour, pH, cation exchange capacity) but ! + ! without forcing TOPMODEL. ! !---------------------------------------------------------------------------------------! IED_INIT_MODE = 5, !---------------------------------------------------------------------------------------! diff --git a/BRAMS/run/RAMSIN b/BRAMS/run/RAMSIN index dd87f6b44..1221a9fb4 100644 --- a/BRAMS/run/RAMSIN +++ b/BRAMS/run/RAMSIN @@ -1552,14 +1552,17 @@ $MODEL_OPTIONS ! ISOILBC -- This controls the soil moisture boundary condition at the bottom. ! ! For regional runs, it is wise to use options 1 or 2, especially for ! ! long runs. ! - ! 0. Flat bedrock. Flux from the bottom of the bottommost layer is 0. ! - ! 1. Gravitational flow (free drainage). The flux from the bottom of ! + ! -1. Hybrid. If the depth to bedrock is shorter than the deepest layer, ! + ! use flat bedrock, otherwise assume free drainage. This option is ! + ! morerelevant when initialising ED2 with multiple sites per polygon. ! + ! 0. Flat bedrock. Zero flux from the bottom of the bottommost layer. ! + ! 1. Gravitational flow (free drainage). The flux from the bottom of ! ! the bottommost layer is due to gradient of height only. ! - ! 2. Lateral drainage. Similar to free drainage, but the gradient is ! + ! 2. Lateral drainage. Similar to free drainage, but the gradient is ! ! reduced by the slope not being completely vertical. The reduction ! ! is controlled by variable SLDRAIN. In the future options 0, 1, and ! ! 2 may be combined into a single option. ! - ! 3. Aquifer. Soil moisture of the ficticious layer beneath the bottom ! + ! 3. Aquifer. Soil moisture of the ficticious layer beneath the bottom ! ! is always at saturation. ! !------------------------------------------------------------------------------------! ISOILBC = 1, @@ -2050,7 +2053,7 @@ $ED2_INFO ! /mypath/P1000-S-1687-01-01-000000-g01.h5: ! ! SFILIN = '/mypath/P' ! ! ! - ! 6 - Initialize with ED-2 style files without multiple sites, exactly like option ! + ! 6. Initialize with ED-2 style files without multiple sites, similar to option ! ! 2, except that the PFT types are preserved. ! ! ! ! 7. Initialize from a list of both POI and gridded ED2.1 state files, organized ! @@ -2058,6 +2061,10 @@ $ED2_INFO ! takes the soil texture and soil moisture information from the initializing ! ! ED2.1 state file. It allows for different layering, and assigns via nearest ! ! neighbor. ! + ! ! + ! 8. Initialise ED-2.2 style files with multiple sites that may vary in soil depth, ! + ! texture, and other properties (e.g., colour, pH, cation exchange capacity) but ! + ! without forcing TOPMODEL. ! !---------------------------------------------------------------------------------------! IED_INIT_MODE = 5, !---------------------------------------------------------------------------------------! diff --git a/BRAMS/src/ed2/edcp_driver.F90 b/BRAMS/src/ed2/edcp_driver.F90 index ffa40b50d..d46fceaf1 100644 --- a/BRAMS/src/ed2/edcp_driver.F90 +++ b/BRAMS/src/ed2/edcp_driver.F90 @@ -11,6 +11,7 @@ subroutine ed_coup_driver() , edgrid_g ! ! subroutine use ed_init , only : read_obstime ! ! subroutine use ed_misc_coms , only : fast_diagnostics & ! intent(in) + , current_time & ! intent(in) , iyeara & ! intent(in) , imontha & ! intent(in) , idatea & ! intent(in) diff --git a/BRAMS/src/ed2/edcp_load_namelist.f90 b/BRAMS/src/ed2/edcp_load_namelist.f90 index 1275b834a..d4dc405d1 100644 --- a/BRAMS/src/ed2/edcp_load_namelist.f90 +++ b/BRAMS/src/ed2/edcp_load_namelist.f90 @@ -114,7 +114,7 @@ subroutine read_ednl(iunit,filename) , sl_felling_s_ltharv & ! intent(out) , cl_fseeds_harvest & ! intent(out) , cl_fstorage_harvest & ! intent(out) - , cl_fleaf_harvest ! ! intent(out) + , cl_fleaf_harvest & ! intent(out) , lu_database & ! intent(out) , plantation_file & ! intent(out) , lu_rescale_file & ! intent(out) diff --git a/ED/Template/Template/ED2IN b/ED/Template/Template/ED2IN index 63504ddd5..2180e9db5 100644 --- a/ED/Template/Template/ED2IN +++ b/ED/Template/Template/ED2IN @@ -414,7 +414,7 @@ $ED_NL ! /mypath/P1000-S-1687-01-01-000000-g01.h5: ! ! SFILIN = '/mypath/P' ! ! ! - ! 6 - Initialize with ED-2 style files without multiple sites, exactly like option ! + ! 6. Initialize with ED-2 style files without multiple sites, similar to option ! ! 2, except that the PFT types are preserved. ! ! ! ! 7. Initialize from a list of both POI and gridded ED2.1 state files, organized ! @@ -422,6 +422,10 @@ $ED_NL ! takes the soil texture and soil moisture information from the initializing ! ! ED2.1 state file. It allows for different layering, and assigns via nearest ! ! neighbor. ! + ! ! + ! 8. Initialise ED-2.2 style files with multiple sites that may vary in soil depth, ! + ! texture, and other properties (e.g., colour, pH, cation exchange capacity) but ! + ! without forcing TOPMODEL. ! !---------------------------------------------------------------------------------------! NL%IED_INIT_MODE = myinitmode !---------------------------------------------------------------------------------------! @@ -715,14 +719,17 @@ $ED_NL !---------------------------------------------------------------------------------------! ! ISOILBC -- This controls the soil moisture boundary condition at the bottom. Choose ! ! the option according to the site characteristics. ! - ! 0. Flat bedrock. Flux from the bottom of the bottommost layer is zero. ! - ! 1. Gravitational flow (free drainage). The flux from the bottom of the ! + ! -1. Hybrid. If the depth to bedrock is shorter than the deepest layer, use ! + ! flat bedrock, otherwise assume free drainage. This option is more ! + ! relevant when initialising ED2 with multiple sites per polygon. ! + ! 0. Flat bedrock. Flux from the bottom of the bottommost layer is zero. ! + ! 1. Gravitational flow (free drainage). The flux from the bottom of the ! ! bottommost layer is due to gradient of height only. ! - ! 2. Lateral drainage. Similar to free drainage, but the gradient is ! + ! 2. Lateral drainage. Similar to free drainage, but the gradient is ! ! reduced by the slope not being completely vertical. The reduction is ! ! controlled by variable SLDRAIN. In the future options 0, 1, and 2 may ! ! be combined into a single option. ! - ! 3. Aquifer. Soil moisture of the ficticious layer beneath the bottom is ! + ! 3. Aquifer. Soil moisture of the ficticious layer beneath the bottom is ! ! always at saturation. ! !---------------------------------------------------------------------------------------! NL%ISOILBC = mysoilbc diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..9fedf670b 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=${HOME}/Util/ED2_Libs/zlib-1.2.11 +HDF5_PATH=${HOME}/Util/ED2_Libs/hdf5-1.12.1 HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,10 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=gfortran-12 +C_COMP=gcc-12 +LOADER=gfortran-12 +C_LOADER=gcc-12 LIBS= MOD_EXT=mod ############################################################################################ @@ -88,20 +88,17 @@ endif ifeq ($(KIND_COMP),A) F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror -mmacosx-version-min=10.12 \ - -fopenmp -static - C_OPTS= -O0 -DLITTLE -g -static + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror \ - -mmacosx-version-min=10.12 -fopenmp + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp \ - -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# diff --git a/ED/build/make/objects.mk b/ED/build/make/objects.mk index 51ce5faa7..2eaa696c6 100644 --- a/ED/build/make/objects.mk +++ b/ED/build/make/objects.mk @@ -51,6 +51,7 @@ OBJ_MODEL = \ ed_print.o \ ed_read_ed10_20_history.o \ ed_read_ed21_history.o \ + ed_read_ed22_initial.o \ ed_state_vars.o \ ed_therm_lib.o \ ed_type_init.o \ diff --git a/ED/build/make/rules.mk b/ED/build/make/rules.mk index 4a88bb0eb..c0c03b7e0 100644 --- a/ED/build/make/rules.mk +++ b/ED/build/make/rules.mk @@ -208,6 +208,11 @@ ed_read_ed21_history.o : $(ED_IO)/ed_read_ed21_history.f90 /bin/cp -f $< $(= timmax !------------------------------------------------------------------------------------! @@ -434,6 +435,14 @@ subroutine ed_model() !------------------------------------------------------------------------------------! + !------------------------------------------------------------------------------------! + ! If this is the last step, write the history even if it is not the a typical ! + ! time step to write history. ! + !------------------------------------------------------------------------------------! + history_time = history_time .or. last_step + !------------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------------! ! Update nrec_fast and nrec_state if it is a new month and outfast/outstate are ! diff --git a/ED/src/dynamics/disturbance.f90 b/ED/src/dynamics/disturbance.f90 index f1dc10627..78d63a792 100644 --- a/ED/src/dynamics/disturbance.f90 +++ b/ED/src/dynamics/disturbance.f90 @@ -830,9 +830,9 @@ subroutine apply_disturbances(cgrid) ! canopy air temperature. ! !------------------------------------------------------------------------! call update_patch_thermo_props(csite,onsp+new_lu,onsp+new_lu,nzg,nzs & - ,cpoly%ntext_soil(:,isi)) + ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi)) call update_patch_thermo_fmean(csite,onsp+new_lu,onsp+new_lu,nzg & - ,cpoly%ntext_soil(:,isi)) + ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi)) !------------------------------------------------------------------------! diff --git a/ED/src/dynamics/euler_driver.f90 b/ED/src/dynamics/euler_driver.f90 index 416104399..fe7b5e95b 100644 --- a/ED/src/dynamics/euler_driver.f90 +++ b/ED/src/dynamics/euler_driver.f90 @@ -19,6 +19,7 @@ subroutine euler_timestep(cgrid) use grid_coms , only : nzg ! ! intent(in) use ed_misc_coms , only : current_time & ! intent(in) , dtlsm ! ! intent(in) + use soil_coms , only : isoilbc ! ! intent(in) use ed_max_dims , only : n_dbh ! ! intent(in) use budget_utils , only : update_cbudget_committed & ! function , compute_budget ! ! function @@ -76,6 +77,7 @@ subroutine euler_timestep(cgrid) integer :: ibuff integer :: npa_thread integer :: ita + integer :: site_isoilbc !----- Local constants. -------------------------------------------------------------! logical , parameter :: test_energy_sanity = .false. !------------------------------------------------------------------------------------! @@ -84,6 +86,31 @@ subroutine euler_timestep(cgrid) polyloop: do ipy = 1,cgrid%npolygons cpoly => cgrid%polygon(ipy) + !---------------------------------------------------------------------------------! + ! Decide the local soil boundary condition based on depth to bedrock and ! + ! the preferred boundary condition set by the user. ! + !---------------------------------------------------------------------------------! + select case (isoilbc) + case (-1) + !----- Decide boundary condition based on depth to bedrock. -------------------! + select case (cpoly%lsl(isi)) + case (1) + !------ Soil depth is at or below slz(1), assume free drainage. ------------! + site_isoilbc = 1 + !---------------------------------------------------------------------------! + case default + !------ Soil depth is above slz(1), assume flat bedrock. -------------------! + site_isoilbc = 0 + !---------------------------------------------------------------------------! + end select + !------------------------------------------------------------------------------! + case default + !----- Default settings, use the namelist settings for every site. ------------! + site_isoilbc = isoilbc + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! + siteloop: do isi = 1,cpoly%nsites csite => cpoly%site(isi) cmet => cpoly%met(isi) @@ -104,15 +131,15 @@ subroutine euler_timestep(cgrid) !------------------------------------------------------------------------------! ! Copy the meteorological variables to the rk4site structure. ! !------------------------------------------------------------------------------! - call copy_met_2_rk4site(nzg,cmet%atm_ustar & - ,cmet%atm_theiv,cmet%atm_vpdef,cmet%atm_theta & - ,cmet%atm_tmp,cmet%atm_shv,cmet%atm_co2,cmet%geoht & - ,cmet%exner,cmet%pcpg,cmet%qpcpg,cmet%dpcpg & - ,cmet%prss,cmet%rshort,cmet%rlong,cmet%par_beam & - ,cmet%par_diffuse,cmet%nir_beam,cmet%nir_diffuse & - ,cmet%geoht,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & - ,cpoly%green_leaf_factor(:,isi),cgrid%lon(ipy) & - ,cgrid%lat(ipy),cgrid%cosz(ipy)) + call copy_met_2_rk4site(nzg,site_isoilbc,cmet%atm_ustar,cmet%atm_theiv & + ,cmet%atm_vpdef,cmet%atm_theta,cmet%atm_tmp & + ,cmet%atm_shv,cmet%atm_co2,cmet%geoht,cmet%exner & + ,cmet%pcpg,cmet%qpcpg,cmet%dpcpg,cmet%prss,cmet%rshort & + ,cmet%rlong,cmet%par_beam,cmet%par_diffuse & + ,cmet%nir_beam,cmet%nir_diffuse,cmet%geoht & + ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + ,cpoly%green_leaf_factor(:,isi),cgrid%lon(ipy) & + ,cgrid%lat(ipy),cgrid%cosz(ipy)) !------------------------------------------------------------------------------! @@ -220,7 +247,8 @@ subroutine euler_timestep(cgrid) ! placed before canopy_photosynthesis, because plant_hydro_driver needs ! ! fs_open from the previous timestep. ! !------------------------------------------------------------------------! - call plant_hydro_driver(csite,ipa,cpoly%ntext_soil(:,isi)) + call plant_hydro_driver(csite,ipa,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + ,site_isoilbc) !------------------------------------------------------------------------! @@ -432,8 +460,8 @@ subroutine integrate_patch_euler(csite,initp,dinitp,ytemp,yscal,dydx,ipa,isi,ibu !------------------------------------------------------------------------------------! ! Move the state variables from the integrated patch to the model patch. ! !------------------------------------------------------------------------------------! - call initp2modelp(tend-tbeg,initp,csite,ipa,nighttime,wcurr_loss2atm,ecurr_netrad & - ,ecurr_loss2atm,co2curr_loss2atm,wcurr_loss2drainage & + call initp2modelp(tend-tbeg,initp,csite,ipa,nighttime,wcurr_loss2atm & + ,ecurr_netrad,ecurr_loss2atm,co2curr_loss2atm,wcurr_loss2drainage & ,ecurr_loss2drainage,wcurr_loss2runoff,ecurr_loss2runoff & ,co2curr_denseffect,ecurr_denseffect,wcurr_denseffect) !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/events.f90 b/ED/src/dynamics/events.f90 index df3437763..80a454c83 100644 --- a/ED/src/dynamics/events.f90 +++ b/ED/src/dynamics/events.f90 @@ -509,6 +509,7 @@ end subroutine event_harvest subroutine event_planting(pft,density8) use rk4_integ_utils, only : initialize_rk4patches use update_derived_utils, only : update_patch_thermo_props & + , update_patch_thermo_fmean & , update_patch_derived_props & , update_site_derived_props use grid_coms, only : ngrids,nzg,nzs @@ -553,8 +554,11 @@ subroutine event_planting(pft,density8) csite => cpoly%site(isi) do ipa=1,csite%npatches - call update_patch_thermo_props(csite,ipa,ipa,nzg,nzs,cpoly%ntext_soil(:,isi)) - call plant_patch(csite,ipa,nzg,pft,density,cpoly%ntext_soil(:,isi) & + call update_patch_thermo_props(csite,ipa,ipa,nzg,nzs,cpoly%lsl(isi) & + ,cpoly%ntext_soil(:,isi)) + call update_patch_thermo_fmean(csite,ipa,ipa,nzg,cpoly%lsl(isi) & + ,cpoly%ntext_soil(:,isi)) + call plant_patch(csite,ipa,nzg,pft,density,cpoly%ntext_soil(:,isi) & ,planting_ht,cpoly%lsl(isi)) call update_patch_derived_props(csite,ipa,.true.) call new_patch_sfc_props(csite, ipa,nzg,nzs,cpoly%ntext_soil(:,isi)) diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..94afa1d83 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -851,17 +848,8 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: k1,k2 !! Variable used in photosynthesis equation real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) - real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario - + real(kind=8) :: dbdg !! derivatives of b wrt. gsc + real(kind=8) :: dcdg !! derivatives of c wrt. gsc !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/heun_driver.f90 b/ED/src/dynamics/heun_driver.f90 index c3c9631b6..5adbfcf4c 100644 --- a/ED/src/dynamics/heun_driver.f90 +++ b/ED/src/dynamics/heun_driver.f90 @@ -22,6 +22,7 @@ subroutine heun_timestep(cgrid) use grid_coms , only : nzg ! ! intent(in) use ed_misc_coms , only : current_time & ! intent(in) , dtlsm ! ! intent(in) + use soil_coms , only : isoilbc ! ! intent(in) use ed_max_dims , only : n_dbh ! ! intent(in) use budget_utils , only : update_cbudget_committed & ! function , compute_budget ! ! function @@ -78,6 +79,7 @@ subroutine heun_timestep(cgrid) integer :: ibuff integer :: npa_thread integer :: ita + integer :: site_isoilbc !----- Local constants. -------------------------------------------------------------! logical , parameter :: test_energy_sanity = .false. !------------------------------------------------------------------------------------! @@ -85,6 +87,31 @@ subroutine heun_timestep(cgrid) polyloop: do ipy = 1,cgrid%npolygons cpoly => cgrid%polygon(ipy) + !---------------------------------------------------------------------------------! + ! Decide the local soil boundary condition based on depth to bedrock and ! + ! the preferred boundary condition set by the user. ! + !---------------------------------------------------------------------------------! + select case (isoilbc) + case (-1) + !----- Decide boundary condition based on depth to bedrock. -------------------! + select case (cpoly%lsl(isi)) + case (1) + !------ Soil depth is at or below slz(1), assume free drainage. ------------! + site_isoilbc = 1 + !---------------------------------------------------------------------------! + case default + !------ Soil depth is above slz(1), assume flat bedrock. -------------------! + site_isoilbc = 0 + !---------------------------------------------------------------------------! + end select + !------------------------------------------------------------------------------! + case default + !----- Default settings, use the namelist settings for every site. ------------! + site_isoilbc = isoilbc + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! + siteloop: do isi = 1,cpoly%nsites csite => cpoly%site(isi) cmet => cpoly%met(isi) @@ -105,12 +132,13 @@ subroutine heun_timestep(cgrid) !------------------------------------------------------------------------------! ! Copy the meteorological variables to the rk4site structure. ! !------------------------------------------------------------------------------! - call copy_met_2_rk4site(nzg,cmet%atm_ustar,cmet%atm_theiv,cmet%atm_vpdef & - ,cmet%atm_theta,cmet%atm_tmp,cmet%atm_shv,cmet%atm_co2 & - ,cmet%geoht,cmet%exner,cmet%pcpg,cmet%qpcpg,cmet%dpcpg & - ,cmet%prss,cmet%rshort,cmet%rlong,cmet%par_beam & - ,cmet%par_diffuse,cmet%nir_beam,cmet%nir_diffuse & - ,cmet%geoht,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + call copy_met_2_rk4site(nzg,site_isoilbc,cmet%atm_ustar,cmet%atm_theiv & + ,cmet%atm_vpdef,cmet%atm_theta,cmet%atm_tmp & + ,cmet%atm_shv,cmet%atm_co2,cmet%geoht,cmet%exner & + ,cmet%pcpg,cmet%qpcpg,cmet%dpcpg,cmet%prss,cmet%rshort & + ,cmet%rlong,cmet%par_beam,cmet%par_diffuse & + ,cmet%nir_beam,cmet%nir_diffuse,cmet%geoht & + ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & ,cpoly%green_leaf_factor(:,isi),cgrid%lon(ipy) & ,cgrid%lat(ipy),cgrid%cosz(ipy)) !------------------------------------------------------------------------------! @@ -218,7 +246,8 @@ subroutine heun_timestep(cgrid) ! placed before canopy_photosynthesis, because plant_hydro_driver needs ! ! fs_open from the previous timestep. ! !------------------------------------------------------------------------! - call plant_hydro_driver(csite,ipa,cpoly%ntext_soil(:,isi)) + call plant_hydro_driver(csite,ipa,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + ,site_isoilbc) !------------------------------------------------------------------------! diff --git a/ED/src/dynamics/hybrid_driver.f90 b/ED/src/dynamics/hybrid_driver.f90 index 7aaf1d59f..9b03cd9e7 100644 --- a/ED/src/dynamics/hybrid_driver.f90 +++ b/ED/src/dynamics/hybrid_driver.f90 @@ -26,6 +26,7 @@ subroutine hybrid_timestep(cgrid) use grid_coms , only : nzg ! ! intent(in) use ed_misc_coms , only : current_time & ! intent(in) , dtlsm ! ! intent(in) + use soil_coms , only : isoilbc ! ! intent(in) use budget_utils , only : update_cbudget_committed & ! function , compute_budget ! ! function use soil_respiration , only : soil_respiration_driver ! ! function @@ -84,6 +85,7 @@ subroutine hybrid_timestep(cgrid) integer :: ibuff integer :: npa_thread integer :: ita + integer :: site_isoilbc !----- Local constants. -----------------------------------------------! logical , parameter :: test_energy_sanity = .false. !----- External functions. --------------------------------------------! @@ -93,6 +95,31 @@ subroutine hybrid_timestep(cgrid) polyloop: do ipy = 1,cgrid%npolygons cpoly => cgrid%polygon(ipy) + !---------------------------------------------------------------------------------! + ! Decide the local soil boundary condition based on depth to bedrock and ! + ! the preferred boundary condition set by the user. ! + !---------------------------------------------------------------------------------! + select case (isoilbc) + case (-1) + !----- Decide boundary condition based on depth to bedrock. -------------------! + select case (cpoly%lsl(isi)) + case (1) + !------ Soil depth is at or below slz(1), assume free drainage. ------------! + site_isoilbc = 1 + !---------------------------------------------------------------------------! + case default + !------ Soil depth is above slz(1), assume flat bedrock. -------------------! + site_isoilbc = 0 + !---------------------------------------------------------------------------! + end select + !------------------------------------------------------------------------------! + case default + !----- Default settings, use the namelist settings for every site. ------------! + site_isoilbc = isoilbc + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! + wtime0=walltime(0.) siteloop: do isi = 1,cpoly%nsites @@ -111,18 +138,15 @@ subroutine hybrid_timestep(cgrid) + cmet%pcpg * dtlsm !---------------------------------------------------------------------! - call copy_met_2_rk4site(nzg,cmet%atm_ustar,cmet%atm_theiv & - ,cmet%atm_vpdef & - ,cmet%atm_theta,cmet%atm_tmp,cmet%atm_shv & - ,cmet%atm_co2,cmet%geoht,cmet%exner & - ,cmet%pcpg,cmet%qpcpg,cmet%dpcpg,cmet%prss & - ,cmet%rshort,cmet%rlong,cmet%par_beam & - ,cmet%par_diffuse,cmet%nir_beam & - ,cmet%nir_diffuse,cmet%geoht & - ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & - ,cpoly%green_leaf_factor(:,isi) & - ,cgrid%lon(ipy),cgrid%lat(ipy) & - ,cgrid%cosz(ipy)) + call copy_met_2_rk4site(nzg,site_isoilbc,cmet%atm_ustar,cmet%atm_theiv & + ,cmet%atm_vpdef,cmet%atm_theta,cmet%atm_tmp & + ,cmet%atm_shv,cmet%atm_co2,cmet%geoht,cmet%exner & + ,cmet%pcpg,cmet%qpcpg,cmet%dpcpg,cmet%prss,cmet%rshort & + ,cmet%rlong,cmet%par_beam,cmet%par_diffuse & + ,cmet%nir_beam,cmet%nir_diffuse,cmet%geoht & + ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + ,cpoly%green_leaf_factor(:,isi),cgrid%lon(ipy) & + ,cgrid%lat(ipy),cgrid%cosz(ipy)) @@ -230,7 +254,8 @@ subroutine hybrid_timestep(cgrid) ! placed before canopy_photosynthesis because plant_hydro_driver ! ! needs fs_open from previous timestep. ! !------------------------------------------------------------------! - call plant_hydro_driver(csite,ipa,cpoly%ntext_soil(:,isi)) + call plant_hydro_driver(csite,ipa,cpoly%lsl(isi) & + ,cpoly%ntext_soil(:,isi),site_isoilbc) !------------------------------------------------------------------! diff --git a/ED/src/dynamics/plant_hydro.f90 b/ED/src/dynamics/plant_hydro.f90 index 76d6e7e04..05a7139ab 100644 --- a/ED/src/dynamics/plant_hydro.f90 +++ b/ED/src/dynamics/plant_hydro.f90 @@ -42,13 +42,20 @@ module plant_hydro !> !> \author Xiangtao Xu, 30 Jan. 2018 !---------------------------------------------------------------------------------------! - subroutine plant_hydro_driver(csite,ipa,ntext_soil) + subroutine plant_hydro_driver(csite,ipa,lsl,ntext_soil,site_isoilbc) use ed_state_vars , only : sitetype & ! structure , patchtype ! ! structure use ed_misc_coms , only : dtlsm & ! intent(in) , dtlsm_o_frqsum & ! intent(in) , current_time ! ! intent(in) use soil_coms , only : soil & ! intent(in) + , slzt & ! intent(in) + , dslz & ! intent(in) + , dslzt & ! intent(in) + , dslzti & ! intent(in) + , dslzi & ! intent(in) + , sin_sldrain & ! intent(in) + , slcons1 & ! intent(in) , matric_potential & ! function , hydr_conduct ! ! function use grid_coms , only : nzg ! ! intent(in) @@ -59,23 +66,30 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) use pft_coms , only : C2B & ! intent(in) , leaf_water_cap & ! intent(in) , leaf_psi_min & ! intent(in) + , wood_psi_min & ! intent(in) , small_psi_min ! ! intent(in) implicit none !----- Arguments --------------------------------------------------------------------! type(sitetype) , target :: csite integer , intent(in) :: ipa + integer , intent(in) :: lsl integer,dimension(nzg), intent(in) :: ntext_soil + integer , intent(in) :: site_isoilbc !----- Local Vars ------------------------------------------------------------------! type(patchtype) , pointer :: cpatch !< patch strcture real :: swater_min !< Min. soil moisture for condct. - real :: swater_max !< Max. soil moisture for condct. + real :: swater_try !< Projected soil water. real :: swater_use !< soil moisture + real :: avg_cond0 !< Interpolated conductance integer :: nsoil !< soil type for soil integer :: k !< iterator for soil lyr integer :: ico !< iterator for cohort integer :: ipft !< PFT index real ,dimension(nzg) :: soil_psi !< soil water potential [ m] + real ,dimension(0:nzg+1) :: soil_psipz0 !< soil water potential [ m] + real ,dimension(0:nzg+1) :: soil_cond0 !< soil water conductance [kg/m2/s] + real ,dimension(0:nzg+1) :: wflux0 !< potential water flux [kg/m2/s] real ,dimension(nzg) :: soil_cond !< soil water conductance [kg/m2/s] real :: sap_frac !< sapwood fraction [ ---] real :: sap_area !< sapwood area [ m2] @@ -85,7 +99,7 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) logical :: track_hydraulics !< whether track hydraulics !----- Variables for debugging purposes ---------------------------------------------! integer, parameter :: dco = 0 ! the cohort to debug - logical, dimension(3) :: error_flag + logical, dimension(6) :: error_flag logical, parameter :: debug_flag = .false. character(len=13) , parameter :: efmt = '(a,1x,es12.5)' character(len=9) , parameter :: ifmt = '(a,1x,i5)' @@ -128,43 +142,107 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) !---------------------------------------------------------------------------------! ! Calculate water potential and conductance in each soil layer in preparation - ! for later calculations. + ! for later calculations. Soil conductance is only allowed for layers above the + ! lowest resolvable soil depth. We calculate the conductance twice: the first + ! time we compute the target conductance, and in the second time we impose bounds + ! to avoid soil water to be over-extracted by plants. !---------------------------------------------------------------------------------! - do k = 1,nzg + soil_cond0 (:) = 0.0 + soil_psipz0(:) = 0.0 + wflux0 (:) = 0.0 + !----- First guess. --------------------------------------------------------------! + guess_1st_loop: do k = lsl,nzg nsoil = ntext_soil(k) - + soil_cond0 (k) = wdns * hydr_conduct(k,nsoil,csite%soil_water (k,ipa) & + ,csite%soil_fracliq(k,ipa) ) + soil_psipz0(k) = csite%soil_mstpot(k,ipa) + slzt(k) + end do guess_1st_loop + !----- Bottom boundary condition. ------------------------------------------------! + select case (site_isoilbc) + case (0) + !----- Bedrock. ---------------------------------------------------------------! + soil_psipz0(lsl-1) = soil_psipz0(lsl) + soil_cond0 (lsl-1) = soil_cond0 (lsl) !------------------------------------------------------------------------------! - ! Get bounded soil moisture. ! - ! MLO. The lower bound used to be air-dry soil moisture. This causes issues ! - ! in the RK4 integrator if the soil moisture is just slightly above air-dry ! - ! and dtlsm is long. For the time being, I am assuming that soil ! - ! conductivity is halted just below the permanent wilting point. Similarly, ! - ! I am assuming that matric potential cannot exceed a value slightly less ! - ! than the bubbling point. ! + case (1) + !----- Free drainage. ---------------------------------------------------------! + soil_psipz0(lsl-1) = csite%soil_mstpot(lsl,ipa) + slzt(lsl-1) + soil_cond0 (lsl-1) = soil_cond0 (lsl) !------------------------------------------------------------------------------! - swater_min = mg_safe * soil(nsoil)%soilcp + om_safe * soil(nsoil)%soilwp - swater_max = mg_safe * soil(nsoil)%sfldcap + om_safe * soil(nsoil)%slmsts - swater_use = max( swater_min & - , min(swater_max & - ,csite%soil_water(k,ipa) * csite%soil_fracliq(k,ipa) ) ) + case (2) + !----- Partial drainage. ------------------------------------------------------! + soil_psipz0(lsl-1) = csite%soil_mstpot(lsl,ipa) & + + slzt(lsl) - dslzt(lsl) * sin_sldrain + soil_cond0 (lsl-1) = soil_cond0 (lsl) !------------------------------------------------------------------------------! - - - !----- Clapp & Hornberger curves. ---------------------------------------------! - soil_psi(k) = matric_potential(nsoil,swater_use) + case (3) + !----- Aquifer. ---------------------------------------------------------------! + nsoil = ntext_soil(lsl) + soil_psipz0(lsl-1) = soil(nsoil)%slpots + soil_cond0 (lsl-1) = slcons1(lsl-1,nsoil) !------------------------------------------------------------------------------! + end select + !----- Top boundary condition. ---------------------------------------------------! + soil_psipz0(nzg+1) = soil_psipz0(nzg) + !----- First guess for water flux. -----------------------------------------------! + do k = lsl,nzg + nsoil = ntext_soil(k) + select case (soil(nsoil)%method) + case ('BDRK') + !----- Bedrock, soil conductance should be zero. ---------------------------! + wflux0(k) = 0. + !---------------------------------------------------------------------------! + case default + !----- Log-linear interpolation of conductivity to layer interface. --------! + avg_cond0 = soil_cond0(k-1) * ( soil_cond0(k) / soil_cond0(k-1) ) & + ** ( dslz(k-1) / (dslz(k-1) + dslz(k)) ) + !---------------------------------------------------------------------------! + !------ Estimate flux at interface. ----------------------------------------! + wflux0(k) = - avg_cond0 * ( soil_psipz0(k) - soil_psipz0(k-1) ) * dslzti(k) + !---------------------------------------------------------------------------! + end select + !------------------------------------------------------------------------------! + end do + !----- Find bounded fluxes. ------------------------------------------------------! + soil_cond(:) = 0. + do k = lsl,nzg + !------------------------------------------------------------------------------! + ! Quick estimate of soil water for the next step. ! + !------------------------------------------------------------------------------! + nsoil = ntext_soil(k) + swater_use = csite%soil_water(k,ipa) * csite%soil_fracliq(k,ipa) + swater_min = mg_safe * soil(nsoil)%soilcp + om_safe * soil(nsoil)%soilwp + swater_try = csite%soil_water(k,ipa) & + + dtlsm * dslzi(k) * ( wflux0(k) - wflux0(k+1)) + !------------------------------------------------------------------------------! !------------------------------------------------------------------------------! - ! In the model, soil can't get drier than residual soil moisture. Ensure ! - ! that hydraulic conductivity is effectively zero in case soil moisture ! - ! reaches this level or drier. ! + ! Check whether or not the conductance could drive soil water too low. ! !------------------------------------------------------------------------------! - if (csite%soil_water(k,ipa) < swater_min) then + if ( swater_use < swater_min) then + !------ Soil is already very dry (or frozen). Halt water transport. -------! + swater_use = swater_min soil_cond(k) = 0. + soil_psi (k) = matric_potential(nsoil,swater_use) + !---------------------------------------------------------------------------! + else if ( (swater_try < swater_use) .and. (swater_try < swater_min)) then + !---------------------------------------------------------------------------! + ! Conductance could desiccate soil layer, down-regulate soil ! + ! conductance and adjust soil matric potential accordingly. We also change ! + ! the units for conductance to kg/m2/s. ! + !---------------------------------------------------------------------------! + soil_cond(k) = wdns * soil_cond0(k) * ( swater_use - swater_min) & + / ( swater_use - swater_try) + soil_psi(k) = matric_potential(nsoil,swater_use) + !---------------------------------------------------------------------------! else - soil_cond(k) = wdns * hydr_conduct(k,nsoil,csite%soil_water(k,ipa) & - ,csite%soil_fracliq(k,ipa)) + !---------------------------------------------------------------------------! + ! Use the actual conductance (just convert it to kg/m2/s). ! + !---------------------------------------------------------------------------! + soil_cond(k) = wdns * soil_cond0(k) + soil_psi (k) = matric_potential(nsoil,swater_use) + !---------------------------------------------------------------------------! end if !------------------------------------------------------------------------------! end do @@ -226,14 +304,54 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) + transp * dtlsm & ! kgH2O / c_leaf ! ! kgH2O/m !------------------------------------------------------------------------! + + + !------------------------------------------------------------------------! + ! Run sanity check. The code will crash if any of these happens. ! + ! ! + ! 1. If leaf_psi is invalid (run the debugger, the problem may be else- ! + ! where) ! + ! 2. If leaf_psi is positive (non-sensical) ! + ! 3. If leaf_psi is too negative (also non-sensical) ! + !------------------------------------------------------------------------! + error_flag(1) = isnan_real(cpatch%leaf_psi(ico)) ! NaN values + error_flag(2) = cpatch%leaf_psi(ico) > 0. ! Positive potential + error_flag(3) = merge( cpatch%leaf_psi(ico) < small_psi_min(ipft) & + , cpatch%leaf_psi(ico) < leaf_psi_min (ipft) & + , cpatch%is_small(ico) ) + !------------------------------------------------------------------------! else !----- No leaves, set leaf_psi the same as wood_psi - hite. -------------! cpatch%leaf_psi(ico) = cpatch%wood_psi(ico) - cpatch%hite(ico) !------------------------------------------------------------------------! + + + !----- Skip checking leaf psi. ------------------------------------------! + error_flag(1) = .false. + error_flag(2) = .false. + error_flag(3) = .false. + !------------------------------------------------------------------------! end if !---------------------------------------------------------------------------! + !---------------------------------------------------------------------------! + ! Run sanity check for wood. The code will crash if any of these ! + ! happens. ! + ! ! + ! 1. If wood_psi is invalid (run the debugger, the problem may be else- ! + ! where) ! + ! 2. If wood_psi is positive (non-sensical) ! + ! 3. If wood_psi is too negative (also non-sensical) ! + !---------------------------------------------------------------------------! + error_flag(4) = isnan_real(cpatch%wood_psi(ico)) ! NaN values + error_flag(5) = cpatch%wood_psi(ico) > 0. ! Positive potential + error_flag(6) = merge( cpatch%wood_psi(ico) < small_psi_min(ipft) & + , cpatch%wood_psi(ico) < wood_psi_min (ipft) & + , cpatch%is_small(ico) ) + !---------------------------------------------------------------------------! + + !---------------------------------------------------------------------------! ! Run sanity check. The code will crash if any of these happen. ! ! ! @@ -242,17 +360,12 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) ! 2. If leaf_psi is positive (non-sensical) ! ! 3. If leaf_psi is too negative (also non-sensical) ! !---------------------------------------------------------------------------! - error_flag(1) = isnan_real(cpatch%leaf_psi(ico)) ! NaN values - error_flag(2) = cpatch%leaf_psi(ico) > 0. ! Positive potential - error_flag(3) = merge( cpatch%leaf_psi(ico) < small_psi_min(ipft) & - , cpatch%leaf_psi(ico) < leaf_psi_min (ipft) & - , cpatch%is_small(ico) ) if ((debug_flag .and. (dco == 0 .or. ico == dco)) .or. any(error_flag)) then write (unit=*,fmt='(a)') ' ' write (unit=*,fmt='(92a)') ('=',k=1,92) write (unit=*,fmt='(92a)') ('=',k=1,92) write (unit=*,fmt='(a)' ) & - ' Invalid leaf_psi detected.' + ' Invalid leaf_psi or wood_psi detected.' write (unit=*,fmt='(92a)') ('-',k=1,92) write (unit=*,fmt='(a,i4.4,2(1x,i2.2),1x,f6.0)') ' TIME : ' & ,current_time%year,current_time%month & @@ -266,12 +379,17 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) write (unit=*,fmt=lfmt ) ' + SMALL =',cpatch%is_small(ico) write (unit=*,fmt='(a)' ) ' ' - write (unit=*,fmt=lfmt ) ' + FINITE =',.not. error_flag(1) - write (unit=*,fmt=lfmt ) ' + NEGATIVE =',.not. error_flag(2) - write (unit=*,fmt=lfmt ) ' + BOUNDED =',.not. error_flag(3) + write (unit=*,fmt=lfmt ) ' + FINITE (Leaf) =',.not. error_flag(1) + write (unit=*,fmt=lfmt ) ' + NEGATIVE (Leaf) =',.not. error_flag(2) + write (unit=*,fmt=lfmt ) ' + BOUNDED (Leaf) =',.not. error_flag(3) + write (unit=*,fmt=lfmt ) ' + FINITE (Wood) =',.not. error_flag(4) + write (unit=*,fmt=lfmt ) ' + NEGATIVE (Wood) =',.not. error_flag(5) + write (unit=*,fmt=lfmt ) ' + BOUNDED (Wood) =',.not. error_flag(6) write (unit=*,fmt='(a)' ) ' ' write (unit=*,fmt=efmt ) ' + LEAF_PSI_MIN =',leaf_psi_min (ipft) + write (unit=*,fmt=efmt ) ' + WOOD_PSI_MIN =',wood_psi_min (ipft) + write (unit=*,fmt=efmt ) ' + WOOD_PSI_MIN =',wood_psi_min (ipft) write (unit=*,fmt=efmt ) ' + SMALL_PSI_MIN =',small_psi_min(ipft) write (unit=*,fmt='(a)' ) ' ' @@ -346,7 +464,7 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) ,cpatch%bleaf(ico),bsap,cpatch%broot(ico) &!input ,cpatch%hite(ico),transp &!input ,cpatch%leaf_psi(ico),cpatch%wood_psi(ico) &!input - ,soil_psi,soil_cond,ipa,ico &!input + ,soil_psi,soil_cond,lsl,ipa,ico &!input ,cpatch%wflux_wl(ico),cpatch%wflux_gw(ico) &!output ,cpatch%wflux_gw_layer(:,ico)) !!output !---------------------------------------------------------------------------! @@ -452,7 +570,7 @@ subroutine calc_plant_water_flux(dt & !timestep ,sap_area,nplant,ipft,is_small,krdepth & !plant input ,bleaf,bsap,broot,hite & !plant input ,transp,leaf_psi,wood_psi & !plant input - ,soil_psi,soil_cond & !soil input + ,soil_psi,soil_cond,lsl & !soil input ,ipa,ico & !debug input ,wflux_wl,wflux_gw,wflux_gw_layer) ! !flux output use soil_coms , only : slz8 & ! intent(in) @@ -491,6 +609,7 @@ subroutine calc_plant_water_flux(dt & !timestep real , intent(in) :: wood_psi !wood water pot. [ m] real , dimension(nzg), intent(in) :: soil_psi !soil water pot. [ m] real , dimension(nzg), intent(in) :: soil_cond !soil water cond. [kg/m2/s] + integer, intent(in) :: lsl !lowest active lyr [ ---] integer, intent(in) :: ipa !Patch index [ ---] integer, intent(in) :: ico !Cohort index [ ---] real , intent(out) :: wflux_wl !wood-leaf flux [ kg/s] @@ -558,6 +677,7 @@ subroutine calc_plant_water_flux(dt & !timestep logical , parameter :: debug_flag = .false. !----- External function ------------------------------------------------------------! real(kind=4) , external :: sngloff ! Safe dble 2 single precision + logical , external :: isnan_dble ! Check for NaN !------------------------------------------------------------------------------------! @@ -718,7 +838,7 @@ subroutine calc_plant_water_flux(dt & !timestep wflux_wl_d = 0.d0 !------ Proj_leaf_psi is only dependent upon transpiration. -------------------! - if (c_leaf > 0.) then + if (c_leaf > 0.d0) then proj_leaf_psi = leaf_psi_d - transp_d * dt_d / c_leaf else proj_leaf_psi = leaf_psi_d @@ -753,7 +873,7 @@ subroutine calc_plant_water_flux(dt & !timestep !------------------------------------------------------------------------------! ! Find sapflow. !------------------------------------------------------------------------------! - if (stem_cond == 0.) then + if (stem_cond == 0.d0) then !---- 1.2.2. Zero flux because stem conductivity is also zero. -------------! wflux_wl_d = 0.d0 !---------------------------------------------------------------------------! @@ -863,7 +983,7 @@ subroutine calc_plant_water_flux(dt & !timestep ! No need to calculate water flow: wood psi is only dependent upon sapflow. !---------------------------------------------------------------------------------! wflux_gw_d = 0.d0 - if (c_stem > 0.) then + if (c_stem > 0.d0) then !----- Make sure that projected wood psi will be bounded. ---------------------! wflux_wl_d = min(wflux_wl_d, (wood_psi_d - wood_psi_lwr_d) * c_stem / dt_d ) proj_wood_psi = wood_psi_d - wflux_wl_d * dt_d / c_stem @@ -937,11 +1057,26 @@ subroutine calc_plant_water_flux(dt & !timestep ! d. Projected leaf/wood potential is less than minimum acceptable ! e. Current leaf/wood potential is less than minimum acceptable !------------------------------------------------------------------------------------! - error_flag(1) = isnan(wflux_wl_d) .or. isnan(wflux_gw_d) - error_flag(2) = proj_leaf_psi > 0. .or. proj_wood_psi > 0. - error_flag(3) = leaf_psi_d > 0. .or. wood_psi_d > 0. - error_flag(4) = proj_leaf_psi < leaf_psi_min_d .or. proj_wood_psi < wood_psi_min_d - error_flag(5) = leaf_psi_d < leaf_psi_min_d .or. wood_psi_d < wood_psi_min_d + if (c_leaf > 0.d0) then + !------ Check for errors in both wood and leaf. ----------------------------------! + error_flag(1) = isnan_dble(wflux_wl_d) .or. isnan_dble(wflux_gw_d) + error_flag(2) = proj_leaf_psi > 0.d0 .or. proj_wood_psi > 0.d0 + error_flag(3) = leaf_psi_d > 0.d0 .or. wood_psi_d > 0.d0 + error_flag(4) = proj_leaf_psi < leaf_psi_min_d .or. proj_wood_psi < wood_psi_min_d + error_flag(5) = leaf_psi_d < leaf_psi_min_d .or. wood_psi_d < wood_psi_min_d + !---------------------------------------------------------------------------------! + else + !---------------------------------------------------------------------------------! + ! Check for errors in wood only, as plant has no leaves. The only exception ! + ! is the flux from wood to leaf, which should never be NaN, so we still check it. ! + !---------------------------------------------------------------------------------! + error_flag(1) = isnan_dble(wflux_wl_d) .or. isnan_dble(wflux_gw_d) + error_flag(2) = proj_wood_psi > 0.d0 + error_flag(3) = wood_psi_d > 0.d0 + error_flag(4) = proj_wood_psi < wood_psi_min_d + error_flag(5) = wood_psi_d < wood_psi_min_d + !---------------------------------------------------------------------------------! + end if if ( (debug_flag .and. (dco == 0 .or. ico == dco)) .or. any(error_flag)) then write (unit=*,fmt='(a)') ' ' @@ -971,11 +1106,12 @@ subroutine calc_plant_water_flux(dt & !timestep write (unit=*,fmt=efmt ) ' + SAPWOOD_AREA =',sap_area write (unit=*,fmt='(a)' ) ' ' - write (unit=*,fmt=lfmt ) ' + Finite fluxes =',.not. error_flag(1) - write (unit=*,fmt=lfmt ) ' + Negative Proj Psi =',.not. error_flag(2) - write (unit=*,fmt=lfmt ) ' + Negative Curr Psi =',.not. error_flag(3) - write (unit=*,fmt=lfmt ) ' + Bounded Proj Psi =',.not. error_flag(4) - write (unit=*,fmt=lfmt ) ' + Bounded Curr Psi =',.not. error_flag(5) + write (unit=*,fmt=lfmt ) ' + Leaves were checked =',c_leaf > 0.d0 + write (unit=*,fmt=lfmt ) ' + Finite fluxes =',.not. error_flag(1) + write (unit=*,fmt=lfmt ) ' + Negative Proj Psi =',.not. error_flag(2) + write (unit=*,fmt=lfmt ) ' + Negative Curr Psi =',.not. error_flag(3) + write (unit=*,fmt=lfmt ) ' + Bounded Proj Psi =',.not. error_flag(4) + write (unit=*,fmt=lfmt ) ' + Bounded Curr Psi =',.not. error_flag(5) write (unit=*,fmt='(a)' ) ' ' write (unit=*,fmt=efmt ) ' + LEAF_PSI_MIN =',leaf_psi_min (ipft) @@ -1017,7 +1153,8 @@ subroutine calc_plant_water_flux(dt & !timestep ! Copy all the results to output variables. !------------------------------------------------------------------------------------! wflux_wl = sngloff(wflux_wl_d,tiny_offset) - do k = 1, nzg + wflux_gw_layer(:) = 0.0 + do k = lsl, nzg wflux_gw_layer(k) = sngloff(wflux_gw_layer_d(k),tiny_offset) end do wflux_gw = sum(wflux_gw_layer) diff --git a/ED/src/dynamics/rk4_copy_patch.f90 b/ED/src/dynamics/rk4_copy_patch.f90 index 9fbeff87e..b8e14e8b0 100644 --- a/ED/src/dynamics/rk4_copy_patch.f90 +++ b/ED/src/dynamics/rk4_copy_patch.f90 @@ -931,10 +931,11 @@ end subroutine copy_rk4_patch ! This subroutine will copy the variables from the integration buffer to the state ! ! patch and cohorts. ! !---------------------------------------------------------------------------------------! - subroutine initp2modelp(hdid,initp,csite,ipa,nighttime,wbudget_loss2atm,ebudget_netrad & - ,ebudget_loss2atm,co2budget_loss2atm,wbudget_loss2drainage & - ,ebudget_loss2drainage,wbudget_loss2runoff,ebudget_loss2runoff & - ,co2budget_denseffect,ebudget_denseffect,wbudget_denseffect) + subroutine initp2modelp(hdid,initp,csite,ipa,nighttime,wbudget_loss2atm & + ,ebudget_netrad,ebudget_loss2atm,co2budget_loss2atm & + ,wbudget_loss2drainage,ebudget_loss2drainage,wbudget_loss2runoff & + ,ebudget_loss2runoff,co2budget_denseffect,ebudget_denseffect & + ,wbudget_denseffect) use rk4_coms , only : rk4patchtype & ! structure , rk4site & ! intent(in) , rk4min_veg_temp & ! intent(in) diff --git a/ED/src/dynamics/rk4_derivs.f90 b/ED/src/dynamics/rk4_derivs.f90 index d413a383f..869f22b5a 100644 --- a/ED/src/dynamics/rk4_derivs.f90 +++ b/ED/src/dynamics/rk4_derivs.f90 @@ -25,7 +25,11 @@ module rk4_derivs !---------------------------------------------------------------------------------------! subroutine leaf_derivs(initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) - use rk4_coms , only : rk4patchtype ! ! structure + use rk4_coms , only : rk4patchtype & ! structure + , rk4aux & ! intent(out) + , zero_rk4_aux & ! sub-routine + , zero_rk4_patch & ! sub-routine + , zero_rk4_cohort ! ! sub-routine use ed_state_vars , only : sitetype & ! structure , polygontype ! ! structure use grid_coms , only : nzg & ! intent(in) @@ -43,10 +47,15 @@ subroutine leaf_derivs(initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) ! solver solution. !------------------------------------------------------------------------------------! - !----- Ensure that theta_Eiv and water storage derivatives are both zero. -----------! - dinitp%ebudget_storage = 0.d0 - dinitp%wbudget_storage = 0.d0 - dinitp%co2budget_storage = 0.d0 + + !---- Flush all derivatives to zero. ------------------------------------------------! + call zero_rk4_patch (dinitp) + call zero_rk4_cohort(dinitp) + !------------------------------------------------------------------------------------! + + + !---- Flush auxiliary variables to zero. --------------------------------------------! + call zero_rk4_aux(rk4aux(ibuff)) !------------------------------------------------------------------------------------! @@ -84,15 +93,13 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) , slzt8 & ! intent(in) , dslzt8 & ! intent(in) , ss & ! intent(in) - , isoilbc & ! intent(in) , sin_sldrain8 & ! intent(in) , hydr_conduct8 ! ! function use rk4_coms , only : checkbudget & ! intent(in) , print_detailed & ! intent(in) , rk4site & ! intent(in) , rk4patchtype & ! structure - , rk4aux & ! intent(out) - , zero_rk4_aux ! ! intent(in) + , rk4aux ! ! intent(out) use ed_state_vars , only : sitetype & ! structure , patchtype & ! structure , polygontype ! ! structure @@ -174,27 +181,6 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) !------------------------------------------------------------------------------------! - !---- Flush auxiliary variables to zero. --------------------------------------------! - call zero_rk4_aux(rk4aux(ibuff)) - !------------------------------------------------------------------------------------! - - - - !----- Make sure derivatives are flushed to zero. -----------------------------------! - dinitp%soil_energy(:) = 0.0d0 - dinitp%soil_water(:) = 0.0d0 - dinitp%sfcwater_depth(:) = 0.0d0 - dinitp%sfcwater_energy(:) = 0.0d0 - dinitp%sfcwater_mass(:) = 0.0d0 - dinitp%virtual_energy = 0.0d0 - dinitp%virtual_water = 0.0d0 - dinitp%virtual_depth = 0.0d0 - if (fast_diagnostics .or. print_detailed) then - dinitp%avg_transloss(:) = 0.0d0 - end if - !------------------------------------------------------------------------------------! - - !------------------------------------------------------------------------------------! @@ -355,7 +341,7 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) ! Find the boundary condition for total potential beneath the bottom layer. ! !------------------------------------------------------------------------------------! nsoil = rk4site%ntext_soil(klsl) - select case (isoilbc) + select case (rk4site%isoilbc) case (0) !---------------------------------------------------------------------------------! ! Bedrock. Make the potential exactly the same as the bottom layer, and the ! @@ -420,6 +406,7 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) rk4aux(ibuff)%psiplusz (kben) = slzt8(kben) + initp%soil_mstpot(kben) rk4aux(ibuff)%drysoil (kben) = .false. rk4aux(ibuff)%satsoil (kben) = .false. + !---------------------------------------------------------------------------------! end select !------------------------------------------------------------------------------------! @@ -598,7 +585,10 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) if (initp%virtual_water /= 0.d0) then !!process "virtural water" pool nsoil = rk4site%ntext_soil(mzg) - if (nsoil /= 13) then + select case (trim(soil8(nsoil)%method)) + case ('BDRK') + continue + case default infilt = - dslzi8(mzg) * 5.d-1 & * hydr_conduct8(mzg,nsoil,initp%soil_water(mzg) & ,initp%soil_fracliq(mzg)) & @@ -610,12 +600,15 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) rk4aux(ibuff)%qw_flux_g(mzg+1) = rk4aux(ibuff)%qw_flux_g(mzg+1) + qinfilt dinitp%virtual_water = dinitp%virtual_water - infilt*wdns8 dinitp%virtual_energy = dinitp%virtual_energy - qinfilt - end if + end select end if !! end virtual water pool if (initp%nlev_sfcwater >= 1) then !----- Process "snow" water pool --------------! surface_water = initp%sfcwater_mass(1)*initp%sfcwater_fracliq(1)*wdnsi8 !(m/m2) nsoil = rk4site%ntext_soil(mzg) - if (nsoil /= 13) then + select case (trim(soil8(nsoil)%method)) + case ('BDRK') + continue + case default !----- Calculate infiltration rate (m/s) -----------------------------------! infilt = - dslzi8(mzg) * 5.d-1 & * hydr_conduct8(mzg,nsoil,initp%soil_water(mzg) & @@ -629,7 +622,7 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) dinitp%sfcwater_mass(1) = dinitp%sfcwater_mass(1) - infilt*wdns8 dinitp%sfcwater_energy(1) = dinitp%sfcwater_energy(1) - qinfilt dinitp%sfcwater_depth(1) = dinitp%sfcwater_depth(1) - infilt - end if + end select end if ! End snow water pool end if !! End alternate infiltration !------------------------------------------------------------------------------------! @@ -648,7 +641,10 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) !------------------------------------------------------------------------------------! do k = klsl, mzg nsoil = rk4site%ntext_soil(k) - if (nsoil /= 13) then + select case (trim(soil8(nsoil)%method)) + case ('BDRK') + rk4aux(ibuff)%w_flux_g(k) = 0.d0 + case default !----- Log-linear interpolation of hydraulic conductivity to layer interface. -! avg_hydcond = rk4aux(ibuff)%hydcond(k-1) & @@ -677,10 +673,7 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) end if !------------------------------------------------------------------------------! - - else - rk4aux(ibuff)%w_flux_g(k) = 0.d0 - end if + end select !---------------------------------------------------------------------------------! @@ -780,8 +773,10 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) !------------------------------------------------------------------------! ! Skip calculation if no water is available in this layer. ! !------------------------------------------------------------------------! - if ( rk4site%ntext_soil(k2) == 13 .or. & - rk4aux(ibuff)%avail_h2o_lyr(k2) < tiny_num8 ) cycle k2_transp_loop + if ( trim(soil8(rk4site%ntext_soil(k2))%method) == 'BDRK' .or. & + rk4aux(ibuff)%avail_h2o_lyr(k2) < tiny_num8 ) then + cycle k2_transp_loop + end if !------------------------------------------------------------------------! @@ -862,6 +857,19 @@ subroutine leaftw_derivs(mzg,mzs,initp,dinitp,csite,ipa,ibuff,dt,is_hybrid) qloss_tot = 0.d0 uint_water_k1 = tl2uint8(initp%soil_tempk(k1),1.d0) + + !------------------------------------------------------------------------------! + ! MLO -> XX. I added this if to bypass contributions from this layer to ! + ! transpiration when the soil is completely desiccated. Do you ! + ! foresee any problems? ! + !------------------------------------------------------------------------------! + if (rk4aux(ibuff)%drysoil(k1)) then + cycle k1_transh_loop + end if + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! ! Integrate the total to be removed from this layer. Add water and ! ! internal energy to each cohort, so water and energy are conserved. The ! diff --git a/ED/src/dynamics/rk4_driver.F90 b/ED/src/dynamics/rk4_driver.F90 index ae758614c..9ff9a466d 100644 --- a/ED/src/dynamics/rk4_driver.F90 +++ b/ED/src/dynamics/rk4_driver.F90 @@ -25,6 +25,7 @@ subroutine rk4_timestep(cgrid) use grid_coms , only : nzg ! ! intent(in) use ed_misc_coms , only : current_time & ! intent(in) , dtlsm ! ! intent(in) + use soil_coms , only : isoilbc ! ! intent(in) use budget_utils , only : update_cbudget_committed & ! function , compute_budget ! ! function use soil_respiration , only : soil_respiration_driver ! ! sub-routine @@ -87,6 +88,7 @@ subroutine rk4_timestep(cgrid) integer :: ibuff integer :: npa_thread integer :: ita + integer :: site_isoilbc !----- Local constants. -------------------------------------------------------------! logical , parameter :: test_energy_sanity = .false. !----- Functions --------------------------------------------------------------------! @@ -98,6 +100,31 @@ subroutine rk4_timestep(cgrid) polygonloop: do ipy = 1,cgrid%npolygons cpoly => cgrid%polygon(ipy) + !---------------------------------------------------------------------------------! + ! Decide the local soil boundary condition based on depth to bedrock and ! + ! the preferred boundary condition set by the user. ! + !---------------------------------------------------------------------------------! + select case (isoilbc) + case (-1) + !----- Decide boundary condition based on depth to bedrock. -------------------! + select case (cpoly%lsl(isi)) + case (1) + !------ Soil depth is at or below slz(1), assume free drainage. ------------! + site_isoilbc = 1 + !---------------------------------------------------------------------------! + case default + !------ Soil depth is above slz(1), assume flat bedrock. -------------------! + site_isoilbc = 0 + !---------------------------------------------------------------------------! + end select + !------------------------------------------------------------------------------! + case default + !----- Default settings, use the namelist settings for every site. ------------! + site_isoilbc = isoilbc + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! + siteloop: do isi = 1,cpoly%nsites csite => cpoly%site(isi) cmet => cpoly%met(isi) @@ -121,12 +148,13 @@ subroutine rk4_timestep(cgrid) !------------------------------------------------------------------------------! ! Copy the meteorological variables to the rk4site structure. ! !------------------------------------------------------------------------------! - call copy_met_2_rk4site(nzg,cmet%atm_ustar,cmet%atm_theiv,cmet%atm_vpdef & - ,cmet%atm_theta,cmet%atm_tmp,cmet%atm_shv,cmet%atm_co2 & - ,cmet%geoht,cmet%exner,cmet%pcpg,cmet%qpcpg,cmet%dpcpg & - ,cmet%prss,cmet%rshort,cmet%rlong,cmet%par_beam & - ,cmet%par_diffuse,cmet%nir_beam,cmet%nir_diffuse & - ,cmet%geoht,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + call copy_met_2_rk4site(nzg,site_isoilbc,cmet%atm_ustar,cmet%atm_theiv & + ,cmet%atm_vpdef,cmet%atm_theta,cmet%atm_tmp & + ,cmet%atm_shv,cmet%atm_co2,cmet%geoht,cmet%exner & + ,cmet%pcpg,cmet%qpcpg,cmet%dpcpg,cmet%prss,cmet%rshort & + ,cmet%rlong,cmet%par_beam,cmet%par_diffuse & + ,cmet%nir_beam,cmet%nir_diffuse,cmet%geoht & + ,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & ,cpoly%green_leaf_factor(:,isi),cgrid%lon(ipy) & ,cgrid%lat(ipy),cgrid%cosz(ipy)) !------------------------------------------------------------------------------! @@ -251,7 +279,8 @@ subroutine rk4_timestep(cgrid) ! placed before canopy_photosynthesis, because plant_hydro_driver needs ! ! fs_open from the previous timestep. ! !------------------------------------------------------------------------! - call plant_hydro_driver(csite,ipa,cpoly%ntext_soil(:,isi)) + call plant_hydro_driver(csite,ipa,cpoly%lsl(isi),cpoly%ntext_soil(:,isi) & + ,site_isoilbc) !------------------------------------------------------------------------! @@ -434,8 +463,8 @@ subroutine integrate_patch_rk4(csite,initp,ipa,isi,ibuff,nighttime,wcurr_loss2at !------------------------------------------------------------------------------------! ! Move the state variables from the integrated patch to the model patch. ! !------------------------------------------------------------------------------------! - call initp2modelp(tend-tbeg,initp,csite,ipa,nighttime,wcurr_loss2atm,ecurr_netrad & - ,ecurr_loss2atm,co2curr_loss2atm,wcurr_loss2drainage & + call initp2modelp(tend-tbeg,initp,csite,ipa,nighttime,wcurr_loss2atm & + ,ecurr_netrad,ecurr_loss2atm,co2curr_loss2atm,wcurr_loss2drainage & ,ecurr_loss2drainage,wcurr_loss2runoff,ecurr_loss2runoff & ,co2curr_denseffect,ecurr_denseffect,wcurr_denseffect) !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/rk4_integ_utils.f90 b/ED/src/dynamics/rk4_integ_utils.f90 index 46db5c36a..de2ee62d9 100644 --- a/ED/src/dynamics/rk4_integ_utils.f90 +++ b/ED/src/dynamics/rk4_integ_utils.f90 @@ -252,10 +252,10 @@ end subroutine odeint ! This is to ensure all variables are in double precision, so consistent with the ! ! buffer variables. ! !---------------------------------------------------------------------------------------! - subroutine copy_met_2_rk4site(mzg,atm_ustar,atm_theiv,atm_vpdef,atm_theta,atm_tmp & - ,atm_shv,atm_co2,zoff,exner,pcpg,qpcpg,dpcpg,prss,rshort & - ,rlong,par_beam,par_diffuse,nir_beam,nir_diffuse,geoht & - ,lsl,ntext_soil,green_leaf_factor,lon,lat,cosz) + subroutine copy_met_2_rk4site(mzg,site_isoilbc,atm_ustar,atm_theiv,atm_vpdef,atm_theta & + ,atm_tmp,atm_shv,atm_co2,zoff,exner,pcpg,qpcpg,dpcpg,prss & + ,rshort,rlong,par_beam,par_diffuse,nir_beam,nir_diffuse & + ,geoht,lsl,ntext_soil,green_leaf_factor,lon,lat,cosz) use ed_max_dims , only : n_pft ! ! intent(in) use rk4_coms , only : rk4site ! ! structure use canopy_air_coms, only : ustmin8 ! ! intent(in) @@ -268,9 +268,9 @@ subroutine copy_met_2_rk4site(mzg,atm_ustar,atm_theiv,atm_vpdef,atm_theta,atm_tm implicit none !----- Arguments --------------------------------------------------------------------! integer , intent(in) :: mzg + integer , intent(in) :: site_isoilbc integer , intent(in) :: lsl real , intent(in) :: atm_ustar - ! real , intent(in) :: vels real , intent(in) :: atm_theiv real , intent(in) :: atm_vpdef real , intent(in) :: atm_theta @@ -300,8 +300,11 @@ subroutine copy_met_2_rk4site(mzg,atm_ustar,atm_theiv,atm_vpdef,atm_theta,atm_tm !----- Copy the integer variables. --------------------------------------------------! rk4site%lsl = lsl + rk4site%isoilbc = site_isoilbc rk4site%ntext_soil(:) = 0 rk4site%ntext_soil(1:mzg) = ntext_soil(1:mzg) + !------------------------------------------------------------------------------------! + !----- Convert to double precision. -------------------------------------------------! rk4site%atm_theiv = dble(atm_theiv ) @@ -597,8 +600,7 @@ subroutine get_yscal(y,dy,htry,yscal,cpatch) use grid_coms , only : nzg & ! intent(in) , nzs ! ! intent(in) use consts_coms , only : wdnsi8 ! ! intent(in) - use soil_coms , only : isoilbc & ! intent(in) - , dslzi8 ! ! intent(in) + use soil_coms , only : dslzi8 ! ! intent(in) use physiology_coms , only : plant_hydro_scheme ! ! intent(in) implicit none !----- Arguments --------------------------------------------------------------------! @@ -993,15 +995,15 @@ subroutine get_yscal(y,dy,htry,yscal,cpatch) ! Drainage terms will be checked only if the boundary condition is free ! ! drainage. ! !---------------------------------------------------------------------------------! - if (isoilbc == 0 .or. (abs(y%ebudget_loss2drainage) < tiny_offset .and. & - abs(dy%ebudget_loss2drainage) < tiny_offset) ) then + if (rk4site%isoilbc == 0 .or. (abs(y%ebudget_loss2drainage) < tiny_offset & + .and. abs(dy%ebudget_loss2drainage) < tiny_offset)) then yscal%ebudget_loss2drainage = huge_offset else yscal%ebudget_loss2drainage = abs(y%ebudget_loss2drainage) & + abs(dy%ebudget_loss2drainage*htry) end if - if (isoilbc == 0 .or. (abs(y%wbudget_loss2drainage) < tiny_offset .and. & - abs(dy%wbudget_loss2drainage) < tiny_offset) ) then + if (rk4site%isoilbc == 0 .or. (abs(y%wbudget_loss2drainage) < tiny_offset & + .and. abs(dy%wbudget_loss2drainage) < tiny_offset)) then yscal%wbudget_loss2drainage = huge_offset else yscal%wbudget_loss2drainage = abs(y%wbudget_loss2drainage) & @@ -1847,7 +1849,8 @@ subroutine rkqs(x,htry,hgoal,hdid,hnext,csite,ipa,isi,ibuff) , patchtype ! ! structure use grid_coms , only : nzg & ! intent(in) , nzs ! ! intent(in) - use ed_misc_coms , only : dtlsm ! ! intent(in) + use ed_misc_coms , only : dtlsm & ! intent(in) + , current_time ! ! intent(in) implicit none !----- Arguments --------------------------------------------------------------------! @@ -1945,8 +1948,18 @@ subroutine rkqs(x,htry,hgoal,hdid,hnext,csite,ipa,isi,ibuff) write (unit=*,fmt='(80a)') ('=',k=1,80) write (unit=*,fmt='(a)') ' STEPSIZE UNDERFLOW IN RKQS' write (unit=*,fmt='(80a)') ('-',k=1,80) + write (unit=*,fmt='(a,1x,2(i2.2,a),i4.4,1x,3(i2.2,a))') & + ' + TIME: ' & + ,current_time%month,'/',current_time%date,'/',current_time%year & + ,current_time%hour,':',current_time%min,':',current_time%sec,' UTC' write (unit=*,fmt='(a,1x,f9.4)') ' + LONGITUDE: ',rk4site%lon write (unit=*,fmt='(a,1x,f9.4)') ' + LATITUDE: ',rk4site%lat + write (unit=*,fmt='(a)') ' + SITE INFO: ' + write (unit=*,fmt='(a,1x,i6)') ' - NUMBER: ',isi + write (unit=*,fmt='(a,1x,i6)') ' - NTEXT(NZG) ' & + ,rk4site%ntext_soil(nzg) + write (unit=*,fmt='(a,1x,i6)') ' - LSL: ',rk4site%lsl + write (unit=*,fmt='(a,1x,i6)') ' - ISOILBC: ',rk4site%isoilbc write (unit=*,fmt='(a)') ' + PATCH INFO: ' write (unit=*,fmt='(a,1x,i6)') ' - NUMBER: ',ipa write (unit=*,fmt='(a,1x,es12.4)') ' - AGE: ',csite%age(ipa) diff --git a/ED/src/dynamics/rk4_misc.f90 b/ED/src/dynamics/rk4_misc.f90 index f847831ca..2a083d869 100644 --- a/ED/src/dynamics/rk4_misc.f90 +++ b/ED/src/dynamics/rk4_misc.f90 @@ -3707,8 +3707,8 @@ subroutine print_csiteipa(csite, ipa) write(unit=*,fmt='(80a)') ('-',k=1,80) - write (unit=*,fmt='(a,1x,2(i2.2,a),i4.4,1x,3(i2.2,a))') & - 'Time:',current_time%month,'/',current_time%date,'/',current_time%year & + write (unit=*,fmt='(a,1x,i4.4,2(a,i2.2),1x,3(i2.2,a))') & + 'Time:',current_time%year,'-',current_time%month,'-',current_time%date & ,current_time%hour,':',current_time%min,':',current_time%sec,' UTC' write(unit=*,fmt='(a,1x,es12.4)') 'Attempted step size:',csite%htry(ipa) write (unit=*,fmt='(a,1x,i6)') 'Ncohorts: ',cpatch%ncohorts diff --git a/ED/src/init/ed_init.F90 b/ED/src/init/ed_init.F90 index b4913d66c..1d3605534 100644 --- a/ED/src/init/ed_init.F90 +++ b/ED/src/init/ed_init.F90 @@ -34,6 +34,12 @@ subroutine set_polygon_coordinates() cgrid%lat (ipy) = work_v(ifm)%glat (ipy) cgrid%xatm(ipy) = work_v(ifm)%xid (ipy) cgrid%yatm(ipy) = work_v(ifm)%yid (ipy) + + + + !----- Initialise load adjacency with dummy value. ----------------------------! + cgrid%load_adjacency(ipy) = 0 + !------------------------------------------------------------------------------! end do polyloop !---------------------------------------------------------------------------------! end do gridloop @@ -94,9 +100,6 @@ subroutine set_site_defprops() cgrid => edgrid_g(ifm) polyloop: do ipy=1,cgrid%npolygons - - !----- Initialise load adjacency with dummy value. ----------------------------! - cgrid%load_adjacency(ipy) = 0 !----- Alias to current polygon. ----------------------------------------------! cpoly => cgrid%polygon(ipy) @@ -353,7 +356,7 @@ subroutine load_ecosystem_state() do igr = 1,ngrids call read_site_file(edgrid_g(igr),igr) end do - case (4,7) + case (4,7,8) continue case default call set_site_defprops() @@ -447,6 +450,30 @@ subroutine load_ecosystem_state() end do end select + + + case (8) + !---------------------------------------------------------------------------------! + ! Initialise model with ED-2 initial conditions file. This is somewhat ! + ! similar to option 6, but it allows multiple sites, and these files do not ! + ! require any transformation of PFTs and disturbance type flags. ! + !---------------------------------------------------------------------------------! + write(unit=*,fmt='(a,i3.3)') & + ' + Initialise from ED2 initial conditions file. Node: ',mynum + call read_ed22_initial_file() + !---------------------------------------------------------------------------------! + + + + !----- In case this is a big-leaf simulation, convert initial conditions. --------! + select case (ibigleaf) + case (1) + do igr=1,ngrids + call sas_to_bigleaf(edgrid_g(igr)) + end do + end select + !---------------------------------------------------------------------------------! + end select @@ -529,7 +556,8 @@ subroutine sfcdata_ed() use rk4_coms , only : ipercol ! ! intent(in) use grid_coms , only : nzg & ! intent(in) , nzs ! ! intent(in) - use soil_coms , only : ed_nstyp & ! intent(in) + use ed_max_dims , only : ed_nstyp ! ! intent(in) + use soil_coms , only : soil_hydro_scheme & ! intent(in) , slz & ! intent(in) , dslz & ! intent(out) , dslzo2 & ! intent(out) @@ -552,7 +580,8 @@ subroutine sfcdata_ed() , slcons18 & ! intent(out) , soil & ! intent(in) , thicknet & ! intent(out) - , thick ! ! intent(out) + , thick & ! intent(out) + , ed_gen_soil_table ! ! subroutine use consts_coms , only : wdns & ! intent(in) , wdnsi8 ! ! intent(in) use rk4_coms , only : rk4min_sfcw_moist & ! intent(in) @@ -560,11 +589,14 @@ subroutine sfcdata_ed() , rk4min_sfcw_mass & ! intent(out) , rk4min_virt_water ! ! intent(out) use ed_misc_coms, only : dtlsm ! ! intent(in) + use decomp_coms , only : rh_active_depth & ! intent(in) + , k_rh_active ! ! intent(out) implicit none !----- Local variables --------------------------------------------------------------! integer :: k integer :: nnn integer :: kzs + logical :: is_hydr_decay real :: thik real :: stretch real :: slz0 @@ -625,15 +657,19 @@ subroutine sfcdata_ed() end do + + !------------------------------------------------------------------------------------! + ! Generate the look-up table for soil properties. ! + !------------------------------------------------------------------------------------! + call ed_gen_soil_table() + !------------------------------------------------------------------------------------! + + !----- Find layer-dependent hydraulic conductivity. ---------------------------------! + is_hydr_decay = (ipercol == 2) .or. (soil_hydro_scheme == 2) do nnn = 1,ed_nstyp do k = 0,nzg - select case (ipercol) - case (0,1) - !----- Original form, constant with depth. --------------------------------! - slcons1(k,nnn) = soil(nnn)%slcons - !---------------------------------------------------------------------------! - case (2) + if (is_hydr_decay) then !---------------------------------------------------------------------------! ! Define conductivity using the SIMTOP approach (N05). ! ! ! @@ -645,7 +681,12 @@ subroutine sfcdata_ed() !---------------------------------------------------------------------------! slcons1(k,nnn) = soil(nnn)%slcons * exp ( soil(nnn)%fhydraul * slzt(k)) !---------------------------------------------------------------------------! - end select + else + !----- Original form, constant with depth. --------------------------------! + slcons1(k,nnn) = soil(nnn)%slcons + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! !------ Find the double precision. --------------------------------------------! slcons18(k,nnn) = dble(slcons1(k,nnn)) @@ -676,6 +717,20 @@ subroutine sfcdata_ed() !----- Assigning some soil grid-dependent RK4 variables -----------------------------! rk4min_sfcw_mass = rk4min_sfcw_moist * wdns * dslz(nzg) rk4min_virt_water = rk4min_virt_moist * wdns * dslz(nzg) + !------------------------------------------------------------------------------------! + + + + + !------------------------------------------------------------------------------------! + ! Determine the bottommost layer to consider for environmental regulation of ! + ! heterotrophic respiration. ! + !------------------------------------------------------------------------------------! + k_rh_loop: do k_rh_active=nzg-1,1,-1 + if (slz(k_rh_active) < rh_active_depth) exit k_rh_loop + end do k_rh_loop + k_rh_active = k_rh_active + 1 + !------------------------------------------------------------------------------------! return end subroutine sfcdata_ed diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 98b14d90b..79efff429 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -1525,12 +1525,15 @@ end subroutine init_hydro_coms !==========================================================================================! !==========================================================================================! ! Subroutine that initialises most of the soil parameters. ! +! ! +! MLO: This sub-routine formerly initiliased the soil and soil8 tables, but this creates ! +! a problem for some HISTORY runs (especially those with multiple sites that modify ! +! the default parameters). The soil table is now initialised in a separate sub- ! +! routine (ed_gen_soil_table), after loading HISTORY variables, or right before or ! +! right after reading the initial conditions. ! !------------------------------------------------------------------------------------------! subroutine init_soil_coms - use detailed_coms , only : idetailed ! ! intent(in) - use ed_max_dims , only : str_len ! ! intent(in) - use soil_coms , only : ed_nstyp & ! intent(in) - , isoilflg & ! intent(in) + use soil_coms , only : isoilflg & ! intent(in) , nslcon & ! intent(in) , soil_hydro_scheme & ! intent(in) , slxclay & ! intent(in) @@ -1539,11 +1542,17 @@ subroutine init_soil_coms , slph & ! intent(in) , slcec & ! intent(in) , sldbd & ! intent(in) - , soil & ! intent(in) - , soil_class & ! type + , slxkey_ref & ! intent(out) + , slhydro_ref & ! intent(out) + , slxclay_ref & ! intent(out) + , slxsilt_ref & ! intent(out) + , slxsand_ref & ! intent(out) + , slsoc_ref & ! intent(out) + , slph_ref & ! intent(out) + , slcec_ref & ! intent(out) + , sldbd_ref & ! intent(out) , soilcol & ! intent(in) , soilcol_class & ! type - , soil8 & ! intent(out) , water_stab_thresh & ! intent(out) , snowmin & ! intent(out) , dewmax & ! intent(out) @@ -1564,68 +1573,18 @@ subroutine init_soil_coms , sin_sldrain & ! intent(out) , sin_sldrain8 & ! intent(out) , hydcond_min & ! intent(out) - , hydcond_min8 & ! intent(out) - , ed_init_soil & ! subroutine - , matric_potential & ! function - , soil_moisture ! ! function - use phenology_coms , only : thetacrit ! ! intent(in) - use disturb_coms , only : sm_fire ! ! intent(in) + , hydcond_min8 ! ! intent(out) use grid_coms , only : ngrids ! ! intent(in) - use consts_coms , only : grav & ! intent(in) - , wdns & ! intent(in) - , hr_sec & ! intent(in) + use consts_coms , only : wdns & ! intent(in) , day_sec & ! intent(in) , pio180 & ! intent(in) , pio1808 ! ! intent(in) implicit none !----- Local variables. ----------------------------------------------------------------! - integer :: s ! Soil texture flag logical :: update_slx ! Update texture fractions? [ T|F] - logical :: print_soil_table ! Print parameter table? [ T|F] - real(kind=4) :: soilep ! Effective porosity (O19) [ m3/m3] - real(kind=4) :: slpot33 ! Potential for EP (O19) [ m] - real(kind=4) :: slcons_mmhr ! Sat. hydraulic conduct. [ mm/hr] - real(kind=4) :: slcpd_mjm3k ! Soil heat capacity [MJ/m3/K] - real(kind=4) :: ksand ! k-factor for sand (de Vries model) - real(kind=4) :: ksilt ! k-factor for silt (de Vries model) - real(kind=4) :: kclay ! k-factor for clay (de Vries model) - real(kind=4) :: kair ! k-factor for air (de Vries model) - !----- Initial sand and clay volumetric fractions. -------------------------------------! - real(kind=4) , dimension(ed_nstyp) :: xsand_def ! Default sand fraction [ 0-1] - real(kind=4) , dimension(ed_nstyp) :: xclay_def ! Default clay fraction [ 0-1] - !---- Soil texture acronym. ------------------------------------------------------------! - character(len=4), dimension(ed_nstyp) :: xkey_def ! Acronym !----- Local constants. ----------------------------------------------------------------! - real(kind=4), parameter :: fieldcp_K = 0.1 ! hydr. cond. at field cap. [mm/day] - real(kind=4), parameter :: residual_K = 1.e-5 ! minimum hydr. cond. (RS02) [mm/day] - real(kind=4), parameter :: slpots_MPa = -0.0005 ! Saturation for vG80 [ MPa] - real(kind=4), parameter :: slpot33_MPa = -0.033 ! Potential for soilep (O19) [ MPa] - real(kind=4), parameter :: slpotfc_MPa = -0.010 ! Field capacity (TH98) [ MPa] - real(kind=4), parameter :: slpotcp_MPa = -3.1 ! Matric pot. - air dry soil [ MPa] - real(kind=4), parameter :: slpotwp_MPa = -1.5 ! Matric pot. - wilting point [ MPa] - real(kind=4), parameter :: sand_hcapv = 2.128e6 ! Sand vol. heat capacity [J/m3/K] - real(kind=4), parameter :: clay_hcapv = 2.385e6 ! Clay vol. heat capacity [J/m3/K] - real(kind=4), parameter :: silt_hcapv = 2.256e6 ! Silt vol. heat capacity (*) [J/m3/K] - real(kind=4), parameter :: air_hcapv = 1.212e3 ! Air vol. heat capacity [J/m3/K] - real(kind=4), parameter :: sand_thcond = 8.80 ! Sand thermal conduct. [ W/m/K] - real(kind=4), parameter :: clay_thcond = 2.92 ! Clay thermal conduct. [ W/m/K] - real(kind=4), parameter :: silt_thcond = 5.87 ! Silt thermal conduct. (*) [ W/m/K] - real(kind=4), parameter :: air_thcond = 0.025 ! Air thermal conduct. [ W/m/K] - real(kind=4), parameter :: h2o_thcond = 0.57 ! Water thermal conduct. [ W/m/K] - !------ Name for the parameter table. --------------------------------------------------! - character(len=str_len), parameter :: soil_table_fn = 'soil_properties.txt' - !---------------------------------------------------------------------------------------! - ! (*) If anyone has the heat capacity and thermal conductivity for silt, please feel ! - ! free to add it in here, I didn't find any. Apparently no one knows, and I've ! - ! seen in other models that people just assume either the same as sand or the ! - ! average. Here I'm just using halfway. I think the most important thing is to ! - ! take into account the soil and the air, which are the most different. ! - ! ! - ! Sand (quartz), clay, air, and water heat capacities and thermal conductivities values ! - ! are from: ! - ! Monteith and Unsworth, 2008: Environmental Physics. ! - ! Academic Press, Third Edition. Table 15.1, p. 292 ! + real(kind=4), parameter :: residual_K = 1.e-5 ! min. hydr. cond. (RS02) [mm/day] !---------------------------------------------------------------------------------------! @@ -1659,24 +1618,24 @@ subroutine init_soil_coms !---------------------------------------------------------------------------------------! - - !---------------------------------------------------------------------------------------! - ! Initialise the soil and soil8 structures. ! - !---------------------------------------------------------------------------------------! - call ed_init_soil() - !---------------------------------------------------------------------------------------! - - !---------------------------------------------------------------------------------------! ! Removed the hardcoded initialisation of the entire structure. Instead, we set the ! ! texture for every class, then use the equations to populate the structure. ! !---------------------------------------------------------------------------------------! - xsand_def = (/ 0.920, 0.825, 0.660, 0.200, 0.410, 0.590, 0.100, 0.320 & - , 0.520, 0.060, 0.200, 0.200, 0.333, 0.075, 0.100, 0.375, 0.125 /) - xclay_def = (/ 0.030, 0.060, 0.110, 0.160, 0.170, 0.270, 0.340, 0.340 & - , 0.420, 0.470, 0.600, 0.200, 0.333, 0.050, 0.800, 0.525, 0.525 /) - xkey_def = (/' Sa',' LSa',' SaL',' SiL',' L','SaCL','SiCL',' CL' & - ,' SaC',' SiC',' C','Peat','BdRk',' Si',' CC',' CSa',' CSi' /) + slxkey_ref ( :) = (/' Sa',' LSa',' SaL',' SiL',' L','SaCL','SiCL',' CL' & + ,' SaC',' SiC',' C','Peat','BdRk',' Si',' CC',' CSa',' CSi' /) + slxsand_ref( :) = (/ 0.920, 0.825, 0.660, 0.200, 0.410, 0.590, 0.100, 0.320 & + , 0.520, 0.060, 0.200, 0.200, 0.333, 0.075, 0.100, 0.375, 0.125 /) + slxclay_ref( :) = (/ 0.030, 0.060, 0.110, 0.160, 0.170, 0.270, 0.340, 0.340 & + , 0.420, 0.470, 0.600, 0.200, 0.333, 0.050, 0.800, 0.525, 0.525 /) + slxsilt_ref( :) = 1. - slxsand_ref(:) - slxclay_ref(:) + slhydro_ref( :) = soil_hydro_scheme + slhydro_ref(12) = 12 + slhydro_ref(13) = 13 + slsoc_ref ( :) = slsoc + slph_ref ( :) = slph + slcec_ref ( :) = slcec + sldbd_ref ( :) = sldbd !---------------------------------------------------------------------------------------! @@ -1686,620 +1645,15 @@ subroutine init_soil_coms update_slx = any(isoilflg(1:ngrids) == 2) .and. slxclay > 0. .and. slxsand > 0. .and. & (slxclay + slxsand) <= 1. if (update_slx) then - xsand_def(nslcon) = slxsand - xclay_def(nslcon) = slxclay - xkey_def (nslcon) = 'User' + slxsand_ref(nslcon) = slxsand + slxclay_ref(nslcon) = slxclay + slxsilt_ref(nslcon) = 1. - slxsand - slxclay + slxkey_ref (nslcon) = 'User' end if !---------------------------------------------------------------------------------------! - !---------------------------------------------------------------------------------------! - ! Assign texture and silt fraction (method-independent). ! - !---------------------------------------------------------------------------------------! - do s=1,ed_nstyp - soil(s)%key = xkey_def(s) - soil(s)%xsand = xsand_def(s) - soil(s)%xclay = xclay_def(s) - soil(s)%xsilt = 1. - xsand_def(s) - xclay_def(s) - end do - !---------------------------------------------------------------------------------------! - - - - !---------------------------------------------------------------------------------------! - ! Other soil properties (relevant only when SOIL_HYDRO_SCHEME = 2). ! - !---------------------------------------------------------------------------------------! - do s=1,ed_nstyp - soil(s)%slsoc = slsoc - soil(s)%slph = slph - soil(s)%slcec = slcec - soil(s)%sldbd = sldbd - end do - !---------------------------------------------------------------------------------------! - - - - !---------------------------------------------------------------------------------------! - ! Calculate method- and texture-dependent properties. For a general overview, ! - ! check (M14). Additional references correspond to specific parametrisations. ! - ! ! - ! References: ! - ! ! - ! Brooks RH , Corey AT. 1964. Hydraulic properties of porous media. Hydrology Papers 3, ! - ! Colorado State University, Fort Collins, U.S.A (BC64). ! - ! Marthews TR, Quesada CA, Galbraith DR, Malhi Y, Mullins CE, Hodnett MG , Dharssi I. ! - ! 2014. High-resolution hydraulic parameter maps for surface soils in tropical South ! - ! America. Geosci. Model Dev. 7: 711-723. doi:10.5194/gmd-7-711-2014 (M14). ! - ! Campbell GS. 1974. A simple method for determining unsaturated conductivity from ! - ! moisture retention data. Soil Science 117: 311-314. ! - ! doi:10.1097/00010694-197406000-00001 (C74). ! - ! Cosby BJ, Hornberger GM, Clapp RB , Ginn TR. 1984. A statistical exploration of the ! - ! relationships of soil moisture characteristics to the physical properties of ! - ! soils. Water Resour. Res. 20: 682-690. doi:10.1029/WR020i006p00682 (C84). ! - ! van Genuchten MT. 1980. A closed-form equation for predicting the hydraulic ! - ! conductivity of unsaturated soils1. Soil Sci. Soc. Am. J. 44: 892-898. ! - ! doi:10.2136/sssaj1980.03615995004400050002x (vG80). ! - ! Hodnett M , Tomasella J. 2002. Marked differences between van Genuchten soil ! - ! water-retention parameters for temperate and tropical soils: a new ! - ! water-retention pedo-transfer functions developed for tropical soils. Geoderma ! - ! 108: 155-180. doi:10.1016/S0016-7061(02)00105-2 (HT02). ! - ! Montzka C, Herbst M, Weihermuller L, Verhoef A , Vereecken H. 2017. A global data set ! - ! of soil hydraulic properties and sub-grid variability of soil water retention and ! - ! hydraulic conductivity curves. Earth Syst. Sci. Data, 9: 529-543. ! - ! doi:10.5194/essd-9-529-2017 (M17). ! - ! Mualem Y. 1976. A new model for predicting the hydraulic conductivity of unsaturated ! - ! porous media. Water Resour. Res., 12: 513-522. doi:10.1029/WR012i003p00513 (M76). ! - ! Ottoni MV, Ottoni Filho TB, Lopes-Assad MLR , Rotunno Filho OC. 2019. Pedotransfer ! - ! functions for saturated hydraulic conductivity using a database with temperate and ! - ! tropical climate soils. J. Hydrol., 575: 1345-1358. ! - ! doi:10.1016/j.jhydrol.2019.05.050 (O19). ! - ! Romano N , Santini A. 2002. Field. In: Methods of soil analysis: Part 4 physical ! - ! methods (eds. Dane JH. & Topp GC.). Soil Science Society of America, Madison, WI, ! - ! SSSA Book Series 5.4, chap. 3.3.3, pp. 721--738 (RS02). ! - ! Schaap MG , Leij FJ. 2000. Improved prediction of unsaturated hydraulic conductivity ! - ! with the Mualem- van Genuchten model. Soil Sci. Soc. Am. J., 64: 843-851. ! - ! doi:10.2136/sssaj2000.643843x (SL00). ! - ! Tomasella J , Hodnett MG. 1998. Estimating soil water retention characteristics from ! - ! limited data in Brazilian Amazonia. Soil Sci. 163: 190-202. ! - ! doi:10.1097/00010694-199803000-00003 (TH98). ! - !---------------------------------------------------------------------------------------! - do s=1,ed_nstyp - - !----- Check soil texture. Peat and bedrock must be handled separately. ------------! - select case (s) - case (12) - !---------------------------------------------------------------------------------! - ! Peat. We always use BC64-M76 approach. This modify hydraulic properties ! - ! to account for high soil organic content. This class becomes obsolete for ! - ! SOIL_HYDRO_SCHEME=2 because we can account for SOC directly. ! - ! ! - ! MLO - I noticed that most parameters do not correspond to what is implemented ! - ! in LEAF3 (as of RAMS-6.0). I left the LEAF3 values as comments next to ! - ! the default values but someone running ED2 for peats should check. I ! - ! think the LEAF3 values intuitively make more sense for peat. ! - !---------------------------------------------------------------------------------! - soil(s)%method = 'BC64' - - !----- Peat, use the default value from LEAF3. -----------------------------------! - soil(s)%slcons = 8.0e-6 ! ED-2.2 2.357930e-6 - !---------------------------------------------------------------------------------! - - !---- Pore tortuosity factor. Assumed 1 to be consistent with BC64. --------------! - soil(s)%sltt = 1.0 - !---------------------------------------------------------------------------------! - - - !---------------------------------------------------------------------------------! - ! Pore-size distribution factor (slnm, aka lambda) and its inverse (slbs, aka ! - ! BC64's "b" factor). ! - !---------------------------------------------------------------------------------! - soil(s)%slbs = 7.75 ! ED-2.2 6.180000 - soil(s)%slnm = 1. / soil(s)%slbs - !---------------------------------------------------------------------------------! - - - !---------------------------------------------------------------------------------! - ! Ancillary parameters used for hydraulic conductivity. ! - !---------------------------------------------------------------------------------! - soil(s)%slmm = 2. + soil(s)%sltt + 2. * soil(s)%slbs - soil(s)%slmu = -1. / soil(s)%slmm - !---------------------------------------------------------------------------------! - - - !----- Saturation potential [m]. -------------------------------------------------! - soil(s)%slpots = -0.356 ! ED-2.2 -0.534564359 - soil(s)%slpotbp = soil(s)%slpots ! Bubbling point, assume saturation - soil(s)%slpotpo = soil(s)%slpots ! Porosity, assume saturation - soil(s)%malpha = 1. / soil(s)%slpotbp ! Inverse of bubbling point (not used) - !---------------------------------------------------------------------------------! - - - - !----- Soil moisture at saturation [m3/m3]. --------------------------------------! - soil(s)%slmsts = 0.863 ! ED-2.2 0.469200 - soil(s)%soilbp = soil(s)%slmsts ! Assume the same as saturation - soil(s)%soilpo = soil(s)%slmsts ! Assume the same as saturation - !---------------------------------------------------------------------------------! - - - !---- Field capacity [m3/m3] and potential at field capacity [m]. ----------------! - soil(s)%sfldcap = 0.535 ! ED-2.2 0.285709966 - soil(s)%slpotfc = matric_potential(s,soil(s)%sfldcap) - !---------------------------------------------------------------------------------! - - - !----- Residual moisture [m3/m3]. Ignored in C74 and the default ED2 method. ----! - soil(s)%soilre = 0. - !---------------------------------------------------------------------------------! - - - !----- Heat capacity. ------------------------------------------------------------! - soil(s)%slcpd = 874000. - !---------------------------------------------------------------------------------! - case (13) - !----- Bedrock. Hydraulics is disabled, only heat capacity is needed. -----------! - soil(s)%method = 'BDRK' - soil(s)%slcons = 0.0 - soil(s)%sltt = 0.0 - soil(s)%slnm = 1.0 - soil(s)%slbs = 1.0 - soil(s)%slmm = 1.0 - soil(s)%slmu = 1.0 - soil(s)%malpha = 0.0 - soil(s)%slpots = 0.0 - soil(s)%slmsts = 0.0 - soil(s)%slpotbp = 0.0 - soil(s)%soilbp = 0.0 - soil(s)%slpotpo = 0.0 - soil(s)%soilpo = 0.0 - soil(s)%soilre = 0.0 - soil(s)%sfldcap = 0.0 - soil(s)%slpotfc = 0.0 - soil(s)%slcpd = 2130000. - !---------------------------------------------------------------------------------! - case default - !---------------------------------------------------------------------------------! - ! Other soils. Decide on hydraulic parameters based on the method. ! - !---------------------------------------------------------------------------------! - select case (soil_hydro_scheme) - case (0) - !------------------------------------------------------------------------------! - ! Pedotransfer functions from BC64/M76. Unless noted otherwise, the ! - ! parameters for the functions are from C84, based on measurements in the ! - ! United States. ! - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Hydraulic conductivity at saturation [m/s]. ! - !------------------------------------------------------------------------------! - soil(s)%slcons = (10.**(-0.60 + 1.26*soil(s)%xsand - 0.64*soil(s)%xclay)) & - * 0.0254/hr_sec - !------------------------------------------------------------------------------! - - - !---- Flag for method. --------------------------------------------------------! - soil(s)%method = 'BC64' - !------------------------------------------------------------------------------! - - - !---- Pore tortuosity factor. Assumed 1 to be consistent with BC64. -----------! - soil(s)%sltt = 1.0 - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Pore-size distribution factor (slnm, aka lambda) and its inverse (slbs, ! - ! aka BC64's "b" factor). ! - !------------------------------------------------------------------------------! - soil(s)%slnm = 1. / (3.10 + 15.7*soil(s)%xclay - 0.3*soil(s)%xsand) - soil(s)%slbs = 1. / soil(s)%slnm - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Ancillary parameters used for hydraulic conductivity. ! - !------------------------------------------------------------------------------! - soil(s)%slmm = 2. + soil(s)%sltt + 2. * soil(s)%slbs - soil(s)%slmu = -1. / soil(s)%slmm - !------------------------------------------------------------------------------! - - - !----- Saturation potential [m]. ----------------------------------------------! - soil(s)%slpots = -1. & - * (10.**(2.17 - 0.63*soil(s)%xclay - 1.58*soil(s)%xsand)) * 0.01 - soil(s)%slpotbp = soil(s)%slpots ! Bubbling point, assume saturation - soil(s)%slpotpo = soil(s)%slpots ! Porosity, assume saturation - soil(s)%malpha = 1. / soil(s)%slpotbp - !------------------------------------------------------------------------------! - - - !----- Soil moisture at saturation (porosity) [m3/m3]. ------------------------! - soil(s)%slmsts = 0.01 * (50.5 - 14.2*soil(s)%xsand - 3.7*soil(s)%xclay) - !------------------------------------------------------------------------------! - - - !----- Bubbling point soil moisture and porosity, assume saturation [m3/m3]. --! - soil(s)%soilbp = soil(s)%slmsts ! Bubbling point - soil(s)%soilpo = soil(s)%slmsts ! Porosity - !------------------------------------------------------------------------------! - - - !----- Residual moisture [m3/m3]. Ignored in C74 and the default ED2 method. -! - soil(s)%soilre = 0.0 - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Field capacity is defined based on hydraulic conductivity of 0.1 ! - ! mm/day, following RS02. ! - !------------------------------------------------------------------------------! - soil(s)%sfldcap = soil(s)%slmsts & - * ( soil(s)%slcons / ( fieldcp_K / ( wdns * day_sec ) ) ) & - ** soil(s)%slmu - soil(s)%slpotfc = matric_potential(s,soil(s)%sfldcap) - !------------------------------------------------------------------------------! - - case (1) - !------------------------------------------------------------------------------! - ! Pedotransfer functions from BC64/M76. Unless noted otherwise, the ! - ! parameters for the functions are from TH98, based on measurements in the ! - ! Brazilian Amazon. ! - !------------------------------------------------------------------------------! - - - - !---- Flag for method. --------------------------------------------------------! - soil(s)%method = 'BC64' - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Hydraulic conductivity at saturation [m/s]. Use C84 settings, follow- ! - ! ing M14. ! - !------------------------------------------------------------------------------! - soil(s)%slcons = (10.**(-0.60 + 1.26*soil(s)%xsand - 0.64*soil(s)%xclay)) & - * 0.0254/hr_sec - !------------------------------------------------------------------------------! - - - !---- Pore tortuosity factor. Assumed 0.5, following M14. ---------------------! - soil(s)%sltt = 0.5 - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Pore-size distribution factor (slnm, aka lambda) and its inverse (slbs, ! - ! aka BC64's "b" factor). ! - !------------------------------------------------------------------------------! - soil(s)%slnm = exp( - 1.197 - 0.417 * soil(s)%xsilt + 0.450 * soil(s)%xclay & - - 8.940 * soil(s)%xsilt * soil(s)%xclay & - + 10.00 * soil(s)%xsilt * soil(s)%xsilt * soil(s)%xclay ) - soil(s)%slbs = 1./ soil(s)%slnm - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Ancillary parameters used for hydraulic conductivity. ! - !------------------------------------------------------------------------------! - soil(s)%slmm = 2. + soil(s)%sltt + 2. * soil(s)%slbs - soil(s)%slmu = -1. / soil(s)%slmm - !------------------------------------------------------------------------------! - - - !----- Saturation potential [m]. ----------------------------------------------! - soil(s)%slpots = -1. / grav & - * ( 0.285 + 7.33 * soil(s)%xsilt * soil(s)%xsilt & - - 1.30 * soil(s)%xsilt * soil(s)%xclay & - + 3.60 * soil(s)%xsilt * soil(s)%xsilt * soil(s)%xclay ) - soil(s)%slpotbp = soil(s)%slpots ! Bubbling point, assume saturation - soil(s)%slpotpo = soil(s)%slpots ! Porosity, assume saturation - soil(s)%malpha = 1. / soil(s)%slpotbp - !------------------------------------------------------------------------------! - - - !----- Soil moisture at saturation (porosity) [m3/m3]. ------------------------! - soil(s)%slmsts = 0.4061 + 0.165 * soil(s)%xsilt + 0.162 * soil(s)%xclay & - + 1.37e-3 * soil(s)%xsilt * soil(s)%xsilt & - + 1.80e-5 * soil(s)%xsilt * soil(s)%xsilt * soil(s)%xclay - !------------------------------------------------------------------------------! - - - !----- Bubbling point soil moisture and porosity, assume saturation [m3/m3]. --! - soil(s)%soilbp = soil(s)%slmsts ! Bubbling point - soil(s)%soilpo = soil(s)%slmsts ! Porosity - !------------------------------------------------------------------------------! - - - - !----- Residual moisture [m3/m3]. --------------------------------------------! - soil(s)%soilre = max( 0.0 & - , - 0.02095 + 0.047 * soil(s)%xsilt & - + 0.431 * soil(s)%xclay & - - 0.00827 * soil(s)%xsilt * soil(s)%xclay ) - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Field capacity is defined based on hydraulic conductivity of 0.1 ! - ! mm/day, following RS02. ! - !------------------------------------------------------------------------------! - soil(s)%slpotfc = slpotfc_MPa * 1.e6 / (grav * wdns) - soil(s)%sfldcap = soil_moisture(s,soil(s)%slpotfc) - !------------------------------------------------------------------------------! - - case (2) - !------------------------------------------------------------------------------! - ! Pedotransfer functions from vG80/M76. Unless noted otherwise, ! - ! the parameters for the function are from HT02, based on measurements in the ! - ! Brazilian Amazon. ! - !------------------------------------------------------------------------------! - - - !---- Flag for method. --------------------------------------------------------! - soil(s)%method = 'vG80' - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Pore tortuosity factor. M14 assumed 0.5, but there is evidence that ! - ! this parameter should be regarded as empirical and some studies suggested ! - ! that it should be even negative (e.g., SL00 and M17). We follow SL00 and ! - ! assume the parameter to be -1.0. ! - !------------------------------------------------------------------------------! - soil(s)%sltt = -1.0 - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Pore-size distribution factor (slnm, aka lambda) and its inverse (slbs, ! - ! aka BC64's "b" factor). ! - !------------------------------------------------------------------------------! - soil(s)%slnm = exp( 0.62986 - 0.833 * soil(s)%xclay - 0.529 * soil(s)%slsoc & - + 0.00593 * soil(s)%slph & - + 0.700 * soil(s)%xclay * soil(s)%xclay & - - 1.400 * soil(s)%xsand * soil(s)%xsilt ) - soil(s)%slbs = 1./ soil(s)%slnm - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Ancillary parameters used for hydraulic conductivity. ! - !------------------------------------------------------------------------------! - soil(s)%slmm = 1. - 1. / soil(s)%slnm - soil(s)%slmu = soil(s)%slnm / (1. - soil(s)%slnm) - !------------------------------------------------------------------------------! - - - !----- Bubbling point potential [m]. Assume equivalent to saturation. --------! - soil(s)%slpotbp = -1. / grav & - * exp( 0.02294 + 3.526 * soil(s)%xsilt & - - 2.440 * soil(s)%slsoc + 0.076 * soil(s)%slcec & - + 0.11331 * soil(s)%slph & - - 1.90000 * soil(s)%xsilt * soil(s)%xsilt ) - soil(s)%malpha = 1. / soil(s)%slpotbp - !------------------------------------------------------------------------------! - - - - !----- Soil moisture and potential at porosity [m3/m3]. -----------------------! - soil(s)%soilpo = 0.81799 + 0.099 * soil(s)%xclay - 3.142e-4 * soil(s)%sldbd & - + 0.01800 * soil(s)%slcec + 0.00451 * soil(s)%slph & - - 0.050 * soil(s)%xsand * soil(s)%xclay - soil(s)%slpotpo = matric_potential(s,soil(s)%soilpo) - !------------------------------------------------------------------------------! - - - - !----- Residual moisture [m3/m3]. --------------------------------------------! - soil(s)%soilre = max( 0.0 & - , 0.22733 - 0.164 * soil(s)%xsand + 0.235 * soil(s)%slcec & - - 0.00831 * soil(s)%slph & - + 0.18 * soil(s)%xclay * soil(s)%xclay & - + 0.26 * soil(s)%xsand * soil(s)%xclay ) - !------------------------------------------------------------------------------! - - - - !------------------------------------------------------------------------------! - ! Soil moisture at "saturation". The vG80 approach assumes that actual ! - ! saturation occurs when soil matric potential is zero, which causes ! - ! singularities in many applications. To prevent FPE errors, we assume that ! - ! water potential zero corresponds to porosity (admittedly this is not ! - ! entirely accurate), and impose "saturation" for ED-2.2 purposes to be when ! - ! matric potential is -0.5 kPa, similar to the highest saturation potential ! - ! values obtained through Cosby et al. (1984) parametrisation. ! - !------------------------------------------------------------------------------! - soil(s)%slpots = slpots_MPa * 1.e6 / (grav * wdns) - soil(s)%slmsts = soil_moisture(s,soil(s)%slpots) - !------------------------------------------------------------------------------! - - - - !------------------------------------------------------------------------------! - ! Soil moisture at bubbling point. Unlike other schemes, we account for ! - ! the differences between bubbling point and porosity. ! - !------------------------------------------------------------------------------! - soil(s)%soilbp = soil_moisture(s,soil(s)%slpotbp) - !------------------------------------------------------------------------------! - - - - !------------------------------------------------------------------------------! - ! Field capacity is defined based on hydraulic conductivity of 0.1 ! - ! mm/day, following RS02. ! - !------------------------------------------------------------------------------! - soil(s)%slpotfc = slpotfc_MPa * 1.e6 / (grav * wdns) - soil(s)%sfldcap = soil_moisture(s,soil(s)%slpotfc) - !------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------! - ! Hydraulic conductivity at saturation [m/s]. Here we follow O19, which ! - ! depends upon the "effective porosity" (or difference between actual porosity ! - ! and soil moisture at -0.033 MPa). ! - !------------------------------------------------------------------------------! - slpot33 = slpot33_MPa * 1.e6 / (grav * wdns) - soilep = max(0.,soil(s)%slmsts - soil_moisture(s,slpot33)) - soil(s)%slcons = 19.31 / day_sec * soilep ** 1.948 - !------------------------------------------------------------------------------! - end select - !---------------------------------------------------------------------------------! - - end select - !------------------------------------------------------------------------------------! - - - - !------------------------------------------------------------------------------------! - ! Additional derived parameters. ! - !------------------------------------------------------------------------------------! - select case (s) - case (13) - !----- Bedrock, do nothing. ------------------------------------------------------! - soil(s)%slpotcp = 0.0 - soil(s)%slpotwp = 0.0 - soil(s)%slpotfr = 0.0 - soil(s)%slpotld = 0.0 - soil(s)%slpotfc = 0.0 - soil(s)%slpotbp = 0.0 - soil(s)%slpots = 0.0 - soil(s)%slpotpo = 0.0 - soil(s)%soilcp = 0.0 - soil(s)%soilwp = 0.0 - soil(s)%soilfr = 0.0 - soil(s)%soilld = 0.0 - soil(s)%sfldcap = 0.0 - soil(s)%soilbp = 0.0 - soil(s)%slmsts = 0.0 - soil(s)%soilpo = 0.0 - soil(s)%fhydraul = 0.0 - !---------------------------------------------------------------------------------! - case default - !----- First guess, use water potential. -----------------------------------------! - soil(s)%slpotwp = slpotwp_MPa * 1.e6 / ( grav * wdns ) - soil(s)%slpotcp = slpotcp_MPa * wdns / grav - soil(s)%soilwp = soil_moisture(s,soil(s)%slpotwp) - soil(s)%soilcp = soil_moisture(s,soil(s)%slpotcp) - !----- In case soilcp is less than the residual (very unlikely), recalculate it. -! - if (soil(s)%soilcp < soil(s)%soilre) then - soil(s)%soilcp = soil(s)%soilre - soil(s)%slpotcp = matric_potential(s,soil(s)%soilcp) - end if - !----- Because we may have artificially increased soilcp, check soilwp. ----------! - if (soil(s)%soilwp < soil(s)%soilcp) then - soil(s)%soilwp = soil(s)%soilcp - soil(s)%slpotwp = soil(s)%slpotcp - end if - !---------------------------------------------------------------------------------! - - - - - !---------------------------------------------------------------------------------! - ! Find two remaining properties, that depend on the user choices. ! - ! ! - ! SOILLD/SLPOTLD. ! - ! The critical soil moisture below which drought deciduous plants start drop- ! - ! ping their leaves. The sign of input variable THETACRIT matters here. If ! - ! the user gave a positive number (or 0), then the soil moisture is a ! - ! fraction above wilting point. If it is negative, the value is the potential ! - ! in MPa. ! - ! SOILFR/SLPOTFR. ! - ! The critical soil moisture below which fires may happen, provided that the ! - ! user wants fires, and that there is enough biomass to burn. The sign of the ! - ! input variable SM_FIRE matters here. If the user gave a positive number ! - ! (or 0), then the soil moisture is a fraction above dry air soil. If it is ! - ! negative, the value is the potential in MPa. ! - !---------------------------------------------------------------------------------! - !----- Leaf drop. ----------------------------------------------------------------! - if (thetacrit >= 0.0) then - soil(s)%soilld = soil(s)%soilwp + thetacrit * (soil(s)%slmsts-soil(s)%soilwp) - soil(s)%slpotld = matric_potential(s,soil(s)%soilld) - else - soil(s)%slpotld = thetacrit * 1.e6 / (grav * wdns) - soil(s)%soilld = soil_moisture(s,soil(s)%slpotld) - end if - !----- Fire. ---------------------------------------------------------------------! - if (sm_fire >= 0.0) then - soil(s)%soilfr = soil(s)%soilcp + sm_fire * (soil(s)%slmsts-soil(s)%soilcp) - soil(s)%slpotfr = matric_potential(s,soil(s)%soilfr) - else - soil(s)%slpotfr = sm_fire * 1.e6 / (grav * wdns) - soil(s)%soilfr = soil_moisture(s,soil(s)%slpotfr) - end if - !---------------------------------------------------------------------------------! - - - - - !---------------------------------------------------------------------------------! - ! Define hydraulic parameter decay, similar to TOPMODEL. We currently use ! - ! the default value of 2.0, following N05's SIMTOP model. ! - ! ! - ! Niu GY, Yang ZL, Dickinson RE , Gulden LE. 2005. A simple TOPMODEL-based runoff ! - ! parameterization (SIMTOP) for use in global climate models. J. Geophys. ! - ! Res.-Atmos., 110: D21106. doi:10.1029/2005JD006111 (N05). ! - !---------------------------------------------------------------------------------! - soil(s)%fhydraul = 2.0 - !---------------------------------------------------------------------------------! - end select - !------------------------------------------------------------------------------------! - - - - !------------------------------------------------------------------------------------! - ! Heat capacity (J/m3/K). Here we take the volume average amongst silt, clay, ! - ! and sand, and consider the contribution of air sitting in. In order to keep it ! - ! simple, we assume that the air fraction won't change, although in reality its ! - ! contribution should be a function of soil moisture. Here we use the amount of air ! - ! in case the soil moisture was halfway between dry air and saturated, so the ! - ! error is not too biased. ! - !------------------------------------------------------------------------------------! - soil(s)%slcpd = (1. - soil(s)%slmsts) & - * ( soil(s)%xsand * sand_hcapv + soil(s)%xsilt * silt_hcapv & - + soil(s)%xclay * clay_hcapv ) & - + 0.5 * ( soil(s)%slmsts - soil(s)%soilcp ) * air_hcapv - !------------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------------! - ! Thermal conductivity is the weighted average of thermal conductivities of all ! - ! materials, although a further weighting factor due to thermal gradient of ! - ! different materials. We use the de Vries model described at: ! - ! ! - ! Camillo, P., T.J. Schmugge, 1981: A computer program for the simulation of heat ! - ! and moisture flow in soils, NASA-TM-82121, Greenbelt, MD, United States. ! - ! ! - ! Parlange, M.B., et al., 1998: Review of heat and water movement in field soils, ! - ! Soil Till. Res., 47(1-2), 5-10. ! - ! ! - !------------------------------------------------------------------------------------! - !---- The k-factors, assuming spherical particles. ----------------------------------! - ksand = 3. * h2o_thcond / ( 2. * h2o_thcond + sand_thcond ) - ksilt = 3. * h2o_thcond / ( 2. * h2o_thcond + silt_thcond ) - kclay = 3. * h2o_thcond / ( 2. * h2o_thcond + clay_thcond ) - kair = 3. * h2o_thcond / ( 2. * h2o_thcond + air_thcond ) - !---- The conductivity coefficients. ------------------------------------------------! - soil(s)%thcond0 = (1. - soil(s)%slmsts ) & - * ( ksand * soil(s)%xsand * sand_thcond & - + ksilt * soil(s)%xsilt * silt_thcond & - + kclay * soil(s)%xclay * clay_thcond ) & - + soil(s)%slmsts * kair * air_thcond - soil(s)%thcond1 = h2o_thcond - kair * air_thcond - soil(s)%thcond2 = (1. - soil(s)%slmsts ) & - * ( ksand * soil(s)%xsand + ksilt * soil(s)%xsilt & - + kclay * soil(s)%xclay ) & - + soil(s)%slmsts * kair - soil(s)%thcond3 = 1. - kair - !------------------------------------------------------------------------------------! - - end do - !---------------------------------------------------------------------------------------! - - - !---------------------------------------------------------------------------------------! ! Fill in the albedo information regarding the soil colour classes. ! @@ -2335,52 +1689,6 @@ subroutine init_soil_coms - !----- Here we fill soil8, which will be used in Runge-Kutta (double precision). -------! - do s=1,ed_nstyp - soil8(s)%key = soil(s)%key - soil8(s)%method = soil(s)%method - soil8(s)%xsand = dble(soil(s)%xsand ) - soil8(s)%xsilt = dble(soil(s)%xsilt ) - soil8(s)%xclay = dble(soil(s)%xclay ) - soil8(s)%slsoc = dble(soil(s)%slsoc ) - soil8(s)%slph = dble(soil(s)%slph ) - soil8(s)%slcec = dble(soil(s)%slcec ) - soil8(s)%sldbd = dble(soil(s)%sldbd ) - soil8(s)%soilre = dble(soil(s)%soilre ) - soil8(s)%soilcp = dble(soil(s)%soilcp ) - soil8(s)%soilwp = dble(soil(s)%soilwp ) - soil8(s)%soilfr = dble(soil(s)%soilfr ) - soil8(s)%soilld = dble(soil(s)%soilld ) - soil8(s)%sfldcap = dble(soil(s)%sfldcap ) - soil8(s)%soilbp = dble(soil(s)%soilbp ) - soil8(s)%slmsts = dble(soil(s)%slmsts ) - soil8(s)%soilpo = dble(soil(s)%soilpo ) - soil8(s)%slpotcp = dble(soil(s)%slpotcp ) - soil8(s)%slpotwp = dble(soil(s)%slpotwp ) - soil8(s)%slpotfr = dble(soil(s)%slpotfr ) - soil8(s)%slpotld = dble(soil(s)%slpotld ) - soil8(s)%slpotfc = dble(soil(s)%slpotfc ) - soil8(s)%slpotbp = dble(soil(s)%slpotbp ) - soil8(s)%slpots = dble(soil(s)%slpots ) - soil8(s)%slpotpo = dble(soil(s)%slpotpo ) - soil8(s)%sltt = dble(soil(s)%sltt ) - soil8(s)%slnm = dble(soil(s)%slnm ) - soil8(s)%slbs = dble(soil(s)%slbs ) - soil8(s)%slmm = dble(soil(s)%slmm ) - soil8(s)%slmu = dble(soil(s)%slmu ) - soil8(s)%malpha = dble(soil(s)%malpha ) - soil8(s)%slcons = dble(soil(s)%slcons ) - soil8(s)%fhydraul = dble(soil(s)%fhydraul) - soil8(s)%slcpd = dble(soil(s)%slcpd ) - soil8(s)%thcond0 = dble(soil(s)%thcond0 ) - soil8(s)%thcond1 = dble(soil(s)%thcond1 ) - soil8(s)%thcond2 = dble(soil(s)%thcond2 ) - soil8(s)%thcond3 = dble(soil(s)%thcond3 ) - end do - !---------------------------------------------------------------------------------------! - - - !----- Double precision of additional scalar variables. --------------------------------! soil_rough8 = dble(soil_rough ) snow_rough8 = dble(snow_rough ) @@ -2401,70 +1709,6 @@ subroutine init_soil_coms sin_sldrain8 = sin(sldrain8 * pio1808) !---------------------------------------------------------------------------------------! - !---------------------------------------------------------------------------------------! - ! Decide whether to write the table with the soil properties. ! - !---------------------------------------------------------------------------------------! - print_soil_table = btest(idetailed,5) - !---------------------------------------------------------------------------------------! - - - !---------------------------------------------------------------------------------------! - ! Print the parameters in case the user wants it. ! - !---------------------------------------------------------------------------------------! - if (print_soil_table) then - !----- Open and write header. -------------------------------------------------------! - open (unit=26,file=trim(soil_table_fn),status='replace',action='write') - write(unit=26,fmt='(38(a,1x))') 'ISOIL', ' KEY', 'TYPE' & - ,' XSAND',' XSILT',' XCLAY' & - ,' SLSOC',' SLPH',' SLCEC' & - ,' SLDBD',' SOILRE',' SOILCP' & - ,' SOILWP',' SOILFR',' SOILLD' & - ,' SOILFC',' SOILBP',' SOILPO' & - ,' SLPOTCP',' SLPOTWP',' SLPOTFR' & - ,' SLPOTLD',' SLPOTFC',' SLPOTBP' & - ,' SLPOTPO',' SLTT',' SLNM' & - ,' SLBS',' SLMM',' SLMU' & - ,' MALPHA',' SLCONS_MMHR',' FHYDRAUL' & - ,' SLCPD_MJm3K',' THCOND0',' THCOND1' & - ,' THCOND2',' THCOND3' - !------------------------------------------------------------------------------------! - - - !------------------------------------------------------------------------------------! - ! Loop over soil texture types. ! - !------------------------------------------------------------------------------------! - do s=1,ed_nstyp - !----- For some variables, we use different units to make them more legible. -----! - slcons_mmhr = soil(s)%slcons*1000.*hr_sec - slcpd_mjm3k = soil(s)%slcpd*0.001 - !---------------------------------------------------------------------------------! - - !----- Add soil characteristics. -------------------------------------------------! - write(unit=26,fmt='(i5,1x,2(a4,1x),35(f12.5,1x))') & - s,adjustr(soil(s)%key),adjustr(soil(s)%method) & - ,soil(s)%xsand ,soil(s)%xsilt ,soil(s)%xclay & - ,soil(s)%slsoc ,soil(s)%slph ,soil(s)%slcec & - ,soil(s)%sldbd ,soil(s)%soilre ,soil(s)%soilcp & - ,soil(s)%soilwp ,soil(s)%soilfr ,soil(s)%soilld & - ,soil(s)%sfldcap ,soil(s)%soilbp ,soil(s)%slmsts & - ,soil(s)%slpotcp ,soil(s)%slpotwp ,soil(s)%slpotfr & - ,soil(s)%slpotld ,soil(s)%slpotfc ,soil(s)%slpotbp & - ,soil(s)%slpots ,soil(s)%sltt ,soil(s)%slnm & - ,soil(s)%slbs ,soil(s)%slmm ,soil(s)%slmu & - ,soil(s)%malpha ,slcons_mmhr ,soil(s)%fhydraul & - ,slcpd_mjm3k ,soil(s)%thcond0 ,soil(s)%thcond1 & - ,soil(s)%thcond2 ,soil(s)%thcond3 - !---------------------------------------------------------------------------------! - end do - !------------------------------------------------------------------------------------! - - - !----- Close table. -----------------------------------------------------------------! - close(unit=26,status='keep') - !------------------------------------------------------------------------------------! - end if - !---------------------------------------------------------------------------------------! - return end subroutine init_soil_coms !==========================================================================================! @@ -8424,7 +7668,7 @@ subroutine init_derived_params_after_xml() !------ Make sure the soil carbon fractions add up to one. -----------------------------! if (f0_msc < 0. .or. f0_psc < 0.0 .or. (f0_msc + f0_psc) > 1.0) then write (unit=*,fmt='(a)') '-------------------------------------------------' - write (unit=*,fmt='(a)') ' F0_MSC and F0_SSC must be fractions (0-1)' + write (unit=*,fmt='(a)') ' F0_MSC and F0_PSC must be fractions (0-1)' write (unit=*,fmt='(a)') ' and their sum cannot exceed 1.0' write (unit=*,fmt='(a)') '' write (unit=*,fmt='(a)') ' Current values: ' diff --git a/ED/src/io/ed_init_history.f90 b/ED/src/io/ed_init_history.f90 index f4d91cc49..83e68c033 100644 --- a/ED/src/io/ed_init_history.f90 +++ b/ED/src/io/ed_init_history.f90 @@ -23,31 +23,48 @@ module ed_init_history ! polygons and populate the model states with what is found in the files tree. ! !---------------------------------------------------------------------------------------! subroutine resume_from_history() - use ed_max_dims , only : n_pft & ! intent(in) - , str_len ! ! intent(in) - use ed_misc_coms , only : sfilin & ! intent(in) - , current_time & ! intent(in) - , max_poihist_dist ! ! intent(in) - use ed_state_vars , only : polygontype & ! structure - , sitetype & ! structure - , patchtype & ! structure - , edtype & ! structure - , edgrid_g & ! structure - , allocate_sitetype & ! subroutine - , allocate_patchtype & ! subroutine - , allocate_polygontype ! ! subroutine - use soil_coms , only : alloc_soilgrid ! ! subroutine - use grid_coms , only : ngrids ! ! intent(in) - use phenology_startup, only : phenology_init ! ! subroutine - use ed_node_coms , only : mynum ! ! intent(in) + use ed_max_dims , only : n_pft & ! intent(in) + , str_len & ! intent(in) + , ed_nstyp & ! intent(in) + , undef_real ! ! intent(in) + use ed_misc_coms , only : sfilin & ! intent(in) + , current_time & ! intent(in) + , max_poihist_dist ! ! intent(in) + use ed_state_vars , only : polygontype & ! structure + , sitetype & ! structure + , patchtype & ! structure + , edtype & ! structure + , edgrid_g & ! structure + , allocate_sitetype & ! subroutine + , allocate_patchtype & ! subroutine + , allocate_polygontype ! ! subroutine + use grid_coms , only : ngrids & ! intent(in) + , nzg & ! intent(out) + , nzs ! ! intent(out) + use soil_coms , only : slz & ! intent(out) + , slhydro_ref & ! intent(out) + , slxclay_ref & ! intent(out) + , slxsilt_ref & ! intent(out) + , slxsand_ref & ! intent(out) + , slsoc_ref & ! intent(out) + , slph_ref & ! intent(out) + , slcec_ref & ! intent(out) + , sldbd_ref & ! intent(out) + , alloc_soilgrid ! ! sub-routine + use fusion_fission_coms, only : ff_nhgt & ! intent(in) + , hgt_class ! ! intent(in) + use phenology_startup , only : phenology_init ! ! subroutine + use ed_node_coms , only : mynum & ! intent(in) + , nnodetot ! ! intent(in) + use ed_init , only : sfcdata_ed ! ! sub-routine use hdf5 - use hdf5_coms , only : file_id & ! intent(inout) - , dset_id & ! intent(inout) - , dspace_id & ! intent(inout) - , globdims & ! intent(inout) - , chnkdims & ! intent(inout) - , chnkoffs ! ! intent(inout) - use landuse_init , only : read_landuse_matrix ! ! intent(in) + use hdf5_coms , only : file_id & ! intent(inout) + , dset_id & ! intent(inout) + , dspace_id & ! intent(inout) + , globdims & ! intent(inout) + , chnkdims & ! intent(inout) + , chnkoffs ! ! intent(inout) + use landuse_init , only : read_landuse_matrix ! ! sub-routine implicit none !------ Local variables. ------------------------------------------------------------! type(edtype) , pointer :: cgrid @@ -88,6 +105,7 @@ subroutine resume_from_history() write (unit=*,fmt='(a)') '-----------------------------------------------------' write (unit=*,fmt='(a)') ' Loading Full State (HISTORY)' + write (unit=*,fmt='(a)') '-----------------------------------------------------' !----- Open the HDF environment. ----------------------------------------------------! @@ -133,6 +151,182 @@ subroutine resume_from_history() ,'resume_from_history','ed_init_history.f90') end if end if + !---------------------------------------------------------------------------------! + + + + + !---------------------------------------------------------------------------------! + ! If this is the first grid, we read global dimensions and vectors. ! + !---------------------------------------------------------------------------------! + select case (ngr) + case (1) + if (mynum == nnodetot) write (unit=*,fmt='(a)') & + ' [-] Load global dimensions...' + + !------------------------------------------------------------------------------! + ! Retrieve global vector sizes. This includes the number of soil and snow ! + ! layers, and the number of height classes for patch fusion. ! + ! ! + ! Note: if running HISTORY, this will overwrite the ED2IN settings. It is ! + ! not anyway a good idea to change settings in simulations using ! + ! HISTORY (you can always have a "soft" initialisation for forest ! + ! structure only, using RUNTYPE='INITIAL' and IED_INIT_MODE=5, and this ! + ! would allow you to change as many settings as you want, and likely ! + ! even different versions of code if you dare. ! + !------------------------------------------------------------------------------! + globdims = 0_8 + chnkdims = 0_8 + chnkoffs = 0_8 + globdims(1) = 1_8 + + call h5dopen_f(file_id,'NZG', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_INTEGER,nzg,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'NZS', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_INTEGER,nzs,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'FF_NHGT', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_INTEGER,ff_nhgt,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + !------------------------------------------------------------------------------! + + + + + + + !------------------------------------------------------------------------------! + ! Retrieve soil layers. These will overwrite ED2IN settings if they are ! + ! different. It is very unwise to change the soil grid during a HISTORY run. ! + !------------------------------------------------------------------------------! + globdims = 0_8 + chnkdims = 0_8 + chnkoffs = 0_8 + globdims(1) = int(nzg,8) + + slz(:) = undef_real + call h5dopen_f(file_id,'SLZ', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slz(1:nzg),globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + !------------------------------------------------------------------------------! + + + + + + + !------------------------------------------------------------------------------! + ! Height classes for patch fusion. ! + !------------------------------------------------------------------------------! + globdims = 0_8 + chnkdims = 0_8 + chnkoffs = 0_8 + globdims(1) = int(ff_nhgt,8) + + if (allocated(hgt_class)) deallocate(hgt_class) + allocate(hgt_class(ff_nhgt)) + call h5dopen_f(file_id,'HGT_CLASS', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,hgt_class,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + !------------------------------------------------------------------------------! + + + + + + + !------------------------------------------------------------------------------! + ! Retrieve default soil characteristics (texture and approach). This will ! + ! effectively supersede the ISOIL_HYDRO settings (it's not wise to change ! + ! settings in the middle of a simulation). ! + !------------------------------------------------------------------------------! + globdims = 0_8 + chnkdims = 0_8 + chnkoffs = 0_8 + globdims(1) = int(ed_nstyp,8) + + call h5dopen_f(file_id,'SLHYDRO_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_INTEGER,slhydro_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLXSAND_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slxsand_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLXSILT_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slxsilt_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLXCLAY_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slxclay_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLSOC_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slsoc_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLPH_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slph_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLCEC_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,slcec_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + + call h5dopen_f(file_id,'SLDBD_REF', dset_id, hdferr) + call h5dget_space_f(dset_id, dspace_id, hdferr) + call h5dread_f(dset_id, H5T_NATIVE_REAL,sldbd_ref,globdims, hdferr) + call h5sclose_f(dspace_id, hdferr) + call h5dclose_f(dset_id, hdferr) + !------------------------------------------------------------------------------! + + + + + !------------------------------------------------------------------------------! + ! Allocate soil grid arrays. ! + !------------------------------------------------------------------------------! + if (mynum == nnodetot) write (unit=*,fmt='(a)') ' [-] Alloc_Soilgrid...' + call alloc_soilgrid() + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Initialise variables that are related to soil layers. ! + !------------------------------------------------------------------------------! + if (mynum == nnodetot) write (unit=*,fmt='(a)') ' [-] Sfcdata_ED...' + call sfcdata_ed() + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! !---------------------------------------------------------------------------------! @@ -424,7 +618,7 @@ subroutine resume_from_history() !----- Load the anthropogenic disturbance (or set them all to zero). ----------------! - write(unit=*,fmt='(a,i2.2)') ' Checking anthropogenic disturbance. Node: ',mynum + write(unit=*,fmt='(a,i2.2)') ' Loading anthropogenic disturbance. Node: ',mynum call read_landuse_matrix() !------------------------------------------------------------------------------------! diff --git a/ED/src/io/ed_load_namelist.f90 b/ED/src/io/ed_load_namelist.f90 index 37a430c8b..e5967bc04 100644 --- a/ED/src/io/ed_load_namelist.f90 +++ b/ED/src/io/ed_load_namelist.f90 @@ -659,11 +659,6 @@ subroutine copy_nl(copy_type) imontha = nl%imontha iyeara = nl%iyeara - nzg = nl%nzg - nzs = nl%nzs - - slz(1:nzgmax) = nl%slz(1:nzgmax) - !------------------------------------------------------------------------------------! ! Set current time to initial time here. If this is a history run, reset ! ! current time in subroutine history_start. ! diff --git a/ED/src/io/ed_opspec.F90 b/ED/src/io/ed_opspec.F90 index 1011fcf90..cfdd87890 100644 --- a/ED/src/io/ed_opspec.F90 +++ b/ED/src/io/ed_opspec.F90 @@ -51,6 +51,7 @@ subroutine ed_opspec_grid , ed_reg_lonmin & ! intent(in) , ed_reg_lonmax ! ! intent(in) use soil_coms , only : slz ! ! intent(in) + use ed_misc_coms, only : runtype ! ! intent(in) implicit none !----- Local variables. ----------------------------------------------------------------! @@ -285,60 +286,67 @@ subroutine ed_opspec_grid end if !---------------------------------------------------------------------------------------! - ! Check whether ED soil layers are reasonable, i.e, enough layers, sorted from the ! - ! deepest to the shallowest. ! + ! The checks on surface and snow settings should be made only for INITIAL runs. ! !---------------------------------------------------------------------------------------! - if (nzg < 2) then - write (reason,'(a,1x,i4,a)') & - 'Too few soil layers. Set it to at least 2. Your nzg is currently set to' & - ,nzg,'...' - call opspec_fatal(reason,'opspec_grid') - ifaterr=ifaterr+1 - elseif (nzg > nzgmax) then - write (reason,'(2(a,1x,i5,a))') & - 'The number of soil layers cannot be greater than ',nzgmax,'.' & - ,' Your nzg is currently set to',nzg,'.' - call opspec_fatal(reason,'opspec_grid') - ifaterr=ifaterr+1 - end if - do k=1,nzg - if (slz(k) > -.001) then - write (reason,'(a,1x,i4,1x,a,1x,es14.7,a)') & - 'Your soil level #',k,'is not enough below ground. It is currently set to' & - ,slz(k),', make it deeper than -0.001...' + select case (trim(runtype)) + case ('INITIAL') + !------------------------------------------------------------------------------------! + ! Check whether ED soil layers are reasonable, i.e, enough layers, sorted from ! + ! the deepest to the shallowest. ! + !------------------------------------------------------------------------------------! + if (nzg < 2) then + write (reason,'(a,1x,i4,a)') & + 'Too few soil layers. Set it to at least 2. Your nzg is currently set to' & + ,nzg,'...' call opspec_fatal(reason,'opspec_grid') ifaterr=ifaterr+1 + elseif (nzg > nzgmax) then + write (reason,'(2(a,1x,i5,a))') & + 'The number of soil layers cannot be greater than ',nzgmax,'.' & + ,' Your nzg is currently set to',nzg,'.' + call opspec_fatal(reason,'opspec_grid') + ifaterr=ifaterr+1 end if - end do + do k=1,nzg + if (slz(k) > -.001) then + write (reason,'(a,1x,i4,1x,a,1x,es14.7,a)') & + 'Your soil level #',k,'is too thin. It is currently set to',slz(k) & + ,', make it deeper than -0.001...' + call opspec_fatal(reason,'opspec_grid') + ifaterr=ifaterr+1 + end if + end do + + do k=1,nzg-1 + if (slz(k)-slz(k+1) > .001) then + write (reason,'(2(a,1x,i4,1x),a,2x,a,1x,es14.7,1x,a,1x,es14.7,a)') & + 'Soil layers #',k,'and',k+1,'are not enough apart (i.e. > 0.001).' & + ,'They are currently set as ',slz(k),'and',slz(k+1),'...' + call opspec_fatal(reason,'opspec_grid') + ifaterr=ifaterr+1 + end if + end do + - do k=1,nzg-1 - if (slz(k)-slz(k+1) > .001) then - write (reason,'(2(a,1x,i4,1x),a,2x,a,1x,es14.7,1x,a,1x,es14.7,a)') & - 'Soil layers #',k,'and',k+1,'are not enough apart (i.e. > 0.001).' & - ,'They are currently set as ',slz(k),'and',slz(k+1),'...' + !------------------------------------------------------------------------------------! + ! Check whether ED snow layers are well set, i.e., the number of soil levels is ! + ! within the allowed range. ! + !------------------------------------------------------------------------------------! + if (nzs < 1) then + write (reason,'(a,2x,a,1x,i4,a)') & + 'Too few maximum # of snow layers. Set it to at least 1.' & + ,'Your nzs is currently set to',nzs,'.' call opspec_fatal(reason,'opspec_grid') ifaterr=ifaterr+1 + elseif (nzs > nzsmax) then + write (reason,'(2(a,1x,i5,a))') & + 'The number of snow layers cannot be greater than ',nzsmax,'.' & + ,' Your nzs is currently set to',nzs,'.' + call opspec_fatal(reason,'opspec_grid') + ifaterr=ifaterr+1 end if - end do - - - !---------------------------------------------------------------------------------------! - ! Check whether ED snow layers are well set, i.e., the number of soil levels is ! - ! within the allowed range. ! - !---------------------------------------------------------------------------------------! - if (nzs < 1) then - write (reason,'(a,2x,a,1x,i4,a)') & - 'Too few maximum # of snow layers. Set it to at least 1.' & - ,'Your nzs is currently set to',nzs,'.' - call opspec_fatal(reason,'opspec_grid') - ifaterr=ifaterr+1 - elseif (nzs > nzsmax) then - write (reason,'(2(a,1x,i5,a))') & - 'The number of snow layers cannot be greater than ',nzsmax,'.' & - ,' Your nzs is currently set to',nzs,'.' - call opspec_fatal(reason,'opspec_grid') - ifaterr=ifaterr+1 - end if + !------------------------------------------------------------------------------------! + end select !---------------------------------------------------------------------------------------! @@ -1145,6 +1153,8 @@ end subroutine ed_opspec_times !------------------------------------------------------------------------------------------! subroutine ed_opspec_misc use ed_max_dims , only : n_pft & ! intent(in) + , ed_nstyp & ! intent(in) + , ed_nscol & ! intent(in) , str_len & ! intent(in) , skip_integer & ! intent(in) , skip_real ! ! intent(in) @@ -1189,9 +1199,7 @@ subroutine ed_opspec_misc , lwidth_nltree & ! intent(in) , ribmax & ! intent(in) , leaf_maxwhc ! ! intent(in) - use soil_coms , only : ed_nstyp & ! intent(in) - , ed_nscol & ! intent(in) - , isoilflg & ! intent(in) + use soil_coms , only : isoilflg & ! intent(in) , islcolflg & ! intent(in) , nslcon & ! intent(in) , isoilcol & ! intent(in) @@ -1440,7 +1448,8 @@ subroutine ed_opspec_misc ifaterr = ifaterr +1 end if - if (ied_init_mode == -8) then + select case (ied_init_mode) + case (-8) !------------------------------------------------------------------------------------! ! The special 8-layer model works only in size- and age-structured runs. ! !------------------------------------------------------------------------------------! @@ -1471,20 +1480,22 @@ subroutine ed_opspec_misc write (unit=*,fmt='(a)') ' simulations only. If that''s not what you wanted, change ' write (unit=*,fmt='(a)') ' your IED_INIT_MODE variable on your ED2IN. ' write (unit=*,fmt='(a)') '===========================================================' - elseif ((ied_init_mode < -1 .or. ied_init_mode > 7) .and. & - (ied_init_mode /= 99 )) then + case (-1:8,99) + !----- Valid options, do nothing. ---------------------------------------------------! + continue + !------------------------------------------------------------------------------------! + case default write (reason,fmt='(a,1x,i4,a)') & - 'Invalid IED_INIT_MODE, it must be between -1 and 7. Yours is set to' & + 'Invalid IED_INIT_MODE, it must be between -1 and 8. Yours is set to' & ,ied_init_mode,'...' call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 - end if + end select - if (ied_init_mode == 7 .and. isoilstateinit>0 ) then - write (reason,fmt='(a)') & - 'Please set ISOILSTATEINIT=0 if using IED_INIT_MODE=7' + if (ied_init_mode == 7 .and. isoilstateinit > 0) then + write (reason,fmt='(a)') 'Please set ISOILSTATEINIT = 0 if using IED_INIT_MODE = 7.' call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 end if @@ -1631,9 +1642,9 @@ subroutine ed_opspec_misc ifaterr = ifaterr +1 end if - if (isoilbc < 0 .or. isoilbc > 3) then + if (isoilbc < -1 .or. isoilbc > 3) then write (reason,fmt='(a,1x,i4,a)') & - 'Invalid ISOILBC, it must be between 0 and 3. Yours is set to',isoilbc,'...' + 'Invalid ISOILBC, it must be between -1 and 3. Yours is set to',isoilbc,'...' call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 else if(isoilbc == 2 .and. (sldrain < 0. .or. sldrain > 90.)) then diff --git a/ED/src/io/ed_read_ed10_20_history.f90 b/ED/src/io/ed_read_ed10_20_history.f90 index 083c6e93e..e1b0ef959 100644 --- a/ED/src/io/ed_read_ed10_20_history.f90 +++ b/ED/src/io/ed_read_ed10_20_history.f90 @@ -881,12 +881,18 @@ subroutine read_ed10_ed20_history_file end select !------------------------------------------------------------------! + !------------------------------------------------------------------! - ! Initialise SLA with the look-up table value, this may be ! - ! updated during phenology initialisation, but an initial assign- ! - ! ment is needed to obtain area indices. ! + ! Initialise SLA, Vm0, Rd0, and with the look-up table value. ! + ! These variables may be updated during phenology initialisation, ! + ! or trait plasticity, but they must have an initial assignment so ! + ! we can even calculate the initial area indices and inicial trait ! + ! values needed for the trait update. ! !------------------------------------------------------------------! - cpatch%sla(ic2) = SLA(ipft(ic)) + cpatch%sla (ic2) = SLA (ipft(ic)) + cpatch%vm_bar(ic2) = Vm0 (ipft(ic)) + cpatch%rd_bar(ic2) = Rd0 (ipft(ic)) + cpatch%llspan(ic2) = leaf_lifespan(ipft(ic)) !------------------------------------------------------------------! diff --git a/ED/src/io/ed_read_ed22_initial.f90 b/ED/src/io/ed_read_ed22_initial.f90 new file mode 100644 index 000000000..4e7ccf8f1 --- /dev/null +++ b/ED/src/io/ed_read_ed22_initial.f90 @@ -0,0 +1,1340 @@ +!==========================================================================================! +!==========================================================================================! +! This subroutine reads ED-2.2 initial files. The format is very similar to the ! +! ED-1.0/ED-2.0 "history" format, except that it has additional fields to initialise the ! +! necromass, and a site file. ! +!------------------------------------------------------------------------------------------! +subroutine read_ed22_initial_file + + + use ed_max_dims , only : n_pft & ! intent(in) + , huge_site & ! intent(in) + , huge_patch & ! intent(in) + , huge_cohort & ! intent(in) + , max_water & ! intent(in) + , str_len & ! intent(in) + , maxfiles & ! intent(in) + , maxlist & ! intent(in) + , undef_character & ! intent(in) + , undef_integer & ! intent(in) + , undef_real ! ! intent(in) + use pft_coms , only : q & ! intent(in) + , qsw & ! intent(in) + , qbark & ! intent(in) + , SLA & ! intent(in) + , min_dbh & ! intent(in) + , is_grass & ! intent(in) + , include_pft & ! intent(in) + , include_pft_ag & ! intent(in) + , pft_1st_check & ! intent(in) + , agf_bs & ! intent(in) + , f_bstorage_init & ! intent(in) + , include_these_pft & ! intent(in) + , leaf_turnover_rate & ! intent(in) + , vm0 & ! intent(in) + , rd0 & ! intent(in) + , negligible_nplant ! ! intent(in) + use ed_misc_coms , only : sfilin ! ! intent(in) + use consts_coms , only : pio180 & ! intent(in) + , pio4 & ! intent(in) + , almost_zero & ! intent(in) + , tiny_num ! ! intent(in) + use ed_misc_coms , only : use_target_year & ! intent(in) + , restart_target_year ! ! intent(in) + use ed_state_vars , only : polygontype & ! variable type + , sitetype & ! variable type + , patchtype & ! variable type + , edtype & ! variable type + , edgrid_g & ! variable type + , allocate_polygontype & ! subroutine + , allocate_sitetype & ! subroutine + , allocate_patchtype ! ! subroutine + use grid_coms , only : ngrids & ! intent(in) + , nzg ! ! intent(in) + use soil_coms , only : soil_hydro_scheme & ! intent(in) + , slz & ! intent(in) + , slxkey_ref & ! intent(inout) + , slxsand_ref & ! intent(inout) + , slxsilt_ref & ! intent(inout) + , slxclay_ref & ! intent(inout) + , slhydro_ref & ! intent(inout) + , slsoc_ref & ! intent(inout) + , slph_ref & ! intent(inout) + , slcec_ref & ! intent(inout) + , sldbd_ref & ! intent(inout) + , ed_gen_soil_table ! ! subroutine + use allometry , only : bd2dbh & ! function + , dbh2h & ! function + , size2bd & ! function + , size2bl & ! function + , size2bt & ! function + , size2xb & ! function + , ed_balive & ! function + , ed_biomass & ! function + , area_indices ! ! subroutine + use fuse_fiss_utils , only : sort_cohorts & ! subroutine + , sort_patches ! ! subroutine + use decomp_coms , only : decomp_scheme & ! intent(in) + , c2n_structural ! ! intent(in) + use phenology_coms , only : llspan_inf ! ! intent(in) + use physiology_coms , only : iddmort_scheme & ! intent(in) + , trait_plasticity_scheme ! ! intent(in) + use update_derived_utils, only : update_cohort_plastic_trait ! ! subroutine + use ed_init , only : soil_default_fill & ! sub-routine + , sfcdata_ed ! ! sub-routine + use ed_type_init , only : init_ed_cohort_vars & ! subroutine + , init_ed_patch_vars & ! subroutine + , init_ed_site_vars & ! subroutine + , init_ed_poly_vars ! ! subroutine + use ed_init , only : calc_flow_routing ! ! subroutine + implicit none + + !----- Local constants. ----------------------------------------------------------------! + real(kind=8), parameter :: min_area = 1.d-7 ! Minimum acceptable area. + real(kind=8), parameter :: min_ok = 1.d-20 ! Minimum acceptable value for + ! any restart variable. + !----- Local variables. ----------------------------------------------------------------! + type(edtype) , pointer :: cgrid + type(polygontype) , pointer :: cpoly + type(sitetype) , pointer :: csite + type(patchtype) , pointer :: cpatch + character(len=str_len), dimension(maxlist) :: full_list + character(len=str_len), dimension(maxfiles) :: sss_list + character(len=str_len), dimension(maxfiles) :: pss_list + character(len=str_len), dimension(maxfiles) :: css_list + character(len=str_len), dimension(huge_site) :: sname + character(len=str_len), dimension(huge_patch) :: psname + character(len=str_len), dimension(huge_patch) :: pname + character(len=str_len), dimension(huge_cohort) :: csname + character(len=str_len), dimension(huge_cohort) :: cpname + character(len=str_len), dimension(huge_cohort) :: cname + character(len=str_len) :: sss_name + character(len=str_len) :: pss_name + character(len=str_len) :: css_name + character(len=str_len) :: cdum + integer , dimension(huge_site) :: nscol + integer , dimension(huge_site) :: ntext + integer , dimension(huge_site) :: lsl + integer , dimension(huge_site) :: patch_count + integer , dimension(huge_site) :: last_ipa + integer , dimension(huge_patch) :: dtype + integer , dimension(huge_patch) :: psite_id + integer , dimension(huge_patch) :: ppatch_id + integer , dimension(huge_patch) :: cohort_count + integer , dimension(huge_patch) :: last_ico + integer , dimension(huge_cohort) :: ipft + integer , dimension(huge_cohort) :: cpatch_id + integer , dimension(huge_cohort) :: csite_id + integer :: year + integer :: igr + integer :: ipy + integer :: gsi + integer :: gpa + integer :: gco + integer :: isi + integer :: ipa + integer :: ico + integer :: apa + integer :: aco + integer :: ierr + integer :: nf + integer :: nflist + integer :: nflsss + integer :: nflpss + integer :: nflcss + integer :: nclosest + integer :: ncohorts + integer :: npatches + integer :: nsites + logical , dimension(n_pft) :: discarded_pft + logical , dimension(:) , allocatable :: shmask + logical :: single_poi + real(kind=8) :: darea + real , dimension(huge_site) :: s_area + real , dimension(huge_site) :: depth + real , dimension(huge_site) :: sand + real , dimension(huge_site) :: clay + real , dimension(huge_site) :: slsoc + real , dimension(huge_site) :: slph + real , dimension(huge_site) :: slcec + real , dimension(huge_site) :: sldbd + real , dimension(huge_site) :: elevation + real , dimension(huge_site) :: slope + real , dimension(huge_site) :: aspect + real , dimension(huge_site) :: tci + real , dimension(huge_site) :: moist_f + real , dimension(huge_site) :: moist_w + real , dimension(huge_patch) :: time + real , dimension(huge_patch) :: age + real , dimension(huge_patch) :: p_area + real , dimension(huge_patch) :: fgc + real , dimension(huge_patch) :: fsc + real , dimension(huge_patch) :: stgc + real , dimension(huge_patch) :: stgl + real , dimension(huge_patch) :: stsc + real , dimension(huge_patch) :: stsl + real , dimension(huge_patch) :: msc + real , dimension(huge_patch) :: ssc + real , dimension(huge_patch) :: psc + real , dimension(huge_patch) :: fsn + real , dimension(huge_patch) :: msn + real , dimension(huge_cohort) :: balive + real , dimension(huge_cohort) :: bdead + real , dimension(huge_cohort) :: nplant + real , dimension(huge_cohort) :: hite + real , dimension(huge_cohort) :: dbh + real , dimension(huge_cohort) :: ctime + real , dimension(maxfiles) :: slon_list + real , dimension(maxfiles) :: slat_list + real , dimension(maxfiles) :: plon_list + real , dimension(maxfiles) :: plat_list + real , dimension(maxfiles) :: clon_list + real , dimension(maxfiles) :: clat_list + real , dimension(maxfiles) :: file_sdist + real , dimension(maxfiles) :: file_pdist + real , dimension(maxfiles) :: file_cdist + real , dimension(n_pft) :: leaf_lifespan + real , dimension(:) , allocatable :: ed_slz + real :: dummy + real :: area_sum + !----- External function. --------------------------------------------------------------! + real , external :: sngloff + real , external :: dist_gc + !---------------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------------! + ! Define PFT-dependent leaf life span, used for initialisation. ! + !---------------------------------------------------------------------------------------! + leaf_lifespan(:) = merge( 12.0 / leaf_turnover_rate(:) & + , llspan_inf & + , leaf_turnover_rate(:) > 0.0 ) + !---------------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------------! + ! Allocate temporary variables used during initialisation. ! + !---------------------------------------------------------------------------------------! + allocate(shmask(nzg)) + allocate(ed_slz(nzg)) + shmask(:) = .false. + ed_slz(:) = slz(1:nzg) + !---------------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------------! + ! Now we loop over all all grids and polygons, and fill them with patches and ! + ! cohorts from the closest polygon. ! + !---------------------------------------------------------------------------------------! + main_gridloop: do igr = 1,ngrids + cgrid => edgrid_g(igr) + + !----- Retrieve all files with the specified prefix. --------------------------------! + call ed_filelist(full_list,sfilin(igr),nflist) + !------------------------------------------------------------------------------------! + + !----- Retrieve LON/LAT information for sites, patches and cohorts ------------------! + call ed1_fileinfo('.sss',nflist,full_list,nflsss,sss_list,slon_list,slat_list) + call ed1_fileinfo('.pss',nflist,full_list,nflpss,pss_list,plon_list,plat_list) + call ed1_fileinfo('.css',nflist,full_list,nflcss,css_list,clon_list,clat_list) + !------------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------------! + ! Save logical flag to decide whether or not this is a single-grid, single- ! + ! -polygon simulation. This information allows us to change the default soil ! + ! properties so they are site-specific. ! + !------------------------------------------------------------------------------------! + single_poi = (ngrids == 1) .and. (cgrid%npolygons == 1) + !------------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------------! + ! Loop through every polygon. ! + !------------------------------------------------------------------------------------! + main_polyloop: do ipy = 1,cgrid%npolygons + cpoly => cgrid%polygon(ipy) + + !----- Initialise load adjacency with dummy value. -------------------------------! + cgrid%load_adjacency(ipy) = 0 + cgrid%wbar (ipy) = 0.0 + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Reset patch and cohort count. ! + !---------------------------------------------------------------------------------! + patch_count (:) = 0 + cohort_count(:) = 0 + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Initialise the distances as very large numbers, so if we don't fill all the ! + ! patches and cohorts, we will not going to take non-sense as a valid polygon. ! + !---------------------------------------------------------------------------------! + file_sdist(:) = 1.e20 + file_pdist(:) = 1.e20 + file_cdist(:) = 1.e20 + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Reset the other placeholder variables. ! + !---------------------------------------------------------------------------------! + !------ Site-level variables. ----------------------------------------------------! + sname (:) = undef_character + nscol (:) = undef_integer + ntext (:) = undef_integer + lsl (:) = undef_integer + patch_count (:) = undef_integer + dtype (:) = undef_integer + s_area (:) = undef_real + depth (:) = undef_real + sand (:) = undef_real + clay (:) = undef_real + slsoc (:) = undef_real + slph (:) = undef_real + slcec (:) = undef_real + sldbd (:) = undef_real + elevation (:) = undef_real + slope (:) = undef_real + aspect (:) = undef_real + tci (:) = undef_real + moist_f (:) = undef_real + moist_w (:) = undef_real + !------ Patch-level variables. ---------------------------------------------------! + psname (:) = undef_character + pname (:) = undef_character + psite_id (:) = undef_integer + ppatch_id (:) = undef_integer + cohort_count (:) = undef_integer + time (:) = undef_real + age (:) = undef_real + p_area (:) = undef_real + fgc (:) = undef_real + fsc (:) = undef_real + stgc (:) = undef_real + stgl (:) = undef_real + stsc (:) = undef_real + stsl (:) = undef_real + msc (:) = undef_real + ssc (:) = undef_real + psc (:) = undef_real + fsn (:) = undef_real + msn (:) = undef_real + !------ Cohort-level variables. --------------------------------------------------! + csname (:) = undef_character + cpname (:) = undef_character + cname (:) = undef_character + csite_id (:) = undef_integer + cpatch_id (:) = undef_integer + ipft (:) = undef_integer + balive (:) = undef_real + bdead (:) = undef_real + nplant (:) = undef_real + hite (:) = undef_real + dbh (:) = undef_real + ctime (:) = undef_real + !---------------------------------------------------------------------------------! + + + + + + !---------------------------------------------------------------------------------! + ! Compute the distances between every polygon in the initial files and the ! + ! current polygon. ! + !---------------------------------------------------------------------------------! + do nf=1,nflsss + file_sdist(nf) = dist_gc(cgrid%lon(ipy),slon_list(nf) & + ,cgrid%lat(ipy),slat_list(nf) ) + end do + do nf=1,nflpss + file_pdist(nf) = dist_gc(cgrid%lon(ipy),plon_list(nf) & + ,cgrid%lat(ipy),plat_list(nf) ) + end do + do nf=1,nflcss + file_cdist(nf) = dist_gc(cgrid%lon(ipy),clon_list(nf) & + ,cgrid%lat(ipy),clat_list(nf) ) + end do + !---------------------------------------------------------------------------------! + + + + + + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + ! Read site file. ! + !---------------------------------------------------------------------------------! + + !---------------------------------------------------------------------------------! + ! Find the file that is the closest to the current polygon, based on the ! + ! distance vector. ! + !---------------------------------------------------------------------------------! + nclosest = minloc(file_sdist,dim=1) + sss_name = trim(sss_list(nclosest)) + write (unit=*,fmt='(2a)') '+ Using site file: ',trim(sss_name) + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Open the patch file and read skip the header. ! + !---------------------------------------------------------------------------------! + open(unit=12,file=trim(sss_name),form='formatted',status='old',action='read') + read(unit=12,fmt='(a4)') cdum + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Now we loop over all patches and decide whether they should be included or ! + ! not. ! + !---------------------------------------------------------------------------------! + gsi = 1 + read_sites: do + + !------------------------------------------------------------------------------! + ! We must check whether we are not exceeding the maximum number of sites ! + ! that we can read. ! + !------------------------------------------------------------------------------! + if (gsi > huge_site) then + write (unit=*,fmt='(a,1x,a)') ' In file:',trim(sss_name) + write (unit=*,fmt='(a)') ' Number of sites is > HUGE_SITE...' + write (unit=*,fmt='(a,1x,i7)') ' HUGE_SITE:',huge_site + write (unit=*,fmt='(a)') ' Increase HUGE_SITE to read this...' + call fatal_error('Too many patches to be read...' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + end if + !------------------------------------------------------------------------------! + + + !----- Read line. Exit loop when finished reading sites. ---------------------! + read(unit=12,fmt=*,iostat=ierr) sname(gsi),darea,depth(gsi),nscol(gsi) & + ,ntext(gsi),sand(gsi),clay(gsi),slsoc(gsi) & + ,slph(gsi),slcec(gsi),sldbd(gsi),elevation(gsi) & + ,slope(gsi),aspect(gsi),tci(gsi),moist_f(gsi) & + ,moist_w(gsi) + if (ierr /= 0) exit read_sites + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Add site only if the area is above minimum, we avoid including ! + ! sites that are tiny since they will be overwritten by the next site. ! + !------------------------------------------------------------------------------! + s_area(gsi) = sngloff(darea, min_area) + if (s_area(gsi) > min_area) gsi = gsi + 1 + !------------------------------------------------------------------------------! + end do read_sites + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + + + + !------ Close the file. ----------------------------------------------------------! + close(unit=12,status='keep') + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Here we determine the number of sites. We also make sure that there is at ! + ! least one valid site, otherwise we issue an error. ! + !---------------------------------------------------------------------------------! + nsites = gsi - 1 + if (nsites <= 0) then + write (unit=*,fmt='(a,1x,a)') ' In file:',trim(sss_name) + write (unit=*,fmt='(a)') ' Invalid number of sites: ',nsites + write (unit=*,fmt='(a)') ' File is probably corrupted...' + else + !------ Make sure the sum of site areas is 1. ---------------------------------! + area_sum = sum(s_area(1:nsites)) + s_area(1:nsites) = s_area(1:nsites) / area_sum + !------------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------------! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + + + + + + + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + ! Read patch file. ! + !---------------------------------------------------------------------------------! + + !---------------------------------------------------------------------------------! + ! Find the file that is the closest to the current polygon, based on the ! + ! distance vector. ! + !---------------------------------------------------------------------------------! + nclosest = minloc(file_pdist,dim=1) + pss_name = trim(pss_list(nclosest)) + write (unit=*,fmt='(2a)') 'Using patch file: ',trim(pss_name) + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Open the patch file and skip the header. ! + !---------------------------------------------------------------------------------! + open(unit=12,file=trim(pss_name),form='formatted',status='old',action='read') + read(unit=12,fmt='(a4)') cdum + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Loop over all patches and decide whether they should be included or not. ! + !---------------------------------------------------------------------------------! + gpa = 1 + read_patches: do + !------------------------------------------------------------------------------! + ! We must check whether we are not exceeding the maximum number of patches ! + ! that we can read. ! + !------------------------------------------------------------------------------! + if (gpa > huge_patch) then + write (unit=*,fmt='(a,1x,a)') ' In file:',trim(pss_name) + write (unit=*,fmt='(a)') ' Number of patches is > HUGE_PATCH...' + write (unit=*,fmt='(a,1x,i7)') ' HUGE_PATCH:',huge_patch + write (unit=*,fmt='(a)') ' Increase HUGE_PATCH to read this...' + call fatal_error('Too many patches to be read...' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + end if + !------------------------------------------------------------------------------! + + + + !----- Read line. Exit loop when finished reading patches. -------------------! + read(unit=12,fmt=*,iostat=ierr) time(gpa),psname(gpa),pname(gpa),dtype(gpa) & + ,age(gpa),darea,fgc(gpa),fsc(gpa),stgc(gpa) & + ,stgl(gpa),stsc(gpa),stsl(gpa),msc(gpa) & + ,ssc(gpa),psc(gpa),fsn(gpa),msn(gpa) & + ,dummy,dummy,dummy,dummy + if (ierr /= 0) exit read_patches + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Add site only if the area is above minimum, we avoid including ! + ! sites that are tiny since they will be overwritten by the next site. ! + !------------------------------------------------------------------------------! + p_area(gpa) = sngloff(darea, min_area) + if (p_area(gpa) > min_area) gpa = gpa + 1 + !------------------------------------------------------------------------------! + end do read_patches + !---------------------------------------------------------------------------------! + + + !------ Close the file. ----------------------------------------------------------! + close(unit=12,status='keep') + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Here we determine the number of patches. We also make sure that there is ! + ! at least one valid patch, otherwise we issue an error. ! + !---------------------------------------------------------------------------------! + npatches = gpa - 1 + if (npatches <= 0) then + write (unit=*,fmt='(a,1x,a)') ' In file:',trim(pss_name) + write (unit=*,fmt='(a)') ' Invalid number of patches: ',npatches + write (unit=*,fmt='(a)') ' File is probably corrupted...' + end if + !---------------------------------------------------------------------------------! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + + + + + + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + ! Read cohort file. ! + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Find the file that is the closest to the current polygon, based on the ! + ! distance vector. ! + !---------------------------------------------------------------------------------! + nclosest = minloc(abs(file_pdist(nclosest)-file_cdist),dim=1) + css_name = trim(css_list(nclosest)) + write (unit=*,fmt='(2a)') 'Using cohort file: ',trim(css_name) + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Open the cohort file and read in all cohorts. ! + !---------------------------------------------------------------------------------! + open(unit=12,file=trim(css_name),form='formatted',status='old') + read(unit=12,fmt='(a4)') cdum + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Loop over all cohorts and decide whether they should be included or not. ! + !---------------------------------------------------------------------------------! + discarded_pft(:) = .false. + gco = 1 + read_cohorts: do + + !------------------------------------------------------------------------------! + ! We must check whether we are not exceeding the maximum number of patches ! + ! that we can read. ! + !------------------------------------------------------------------------------! + if (gco > huge_cohort) then + write (unit=*,fmt='(a,1x,a)' ) ' In file:',trim(css_name) + write (unit=*,fmt='(a)') ' Number of cohorts is > HUGE_COHORT...' + write (unit=*,fmt='(a,1x,i7)') ' HUGE_COHORT:',huge_cohort + write (unit=*,fmt='(a)') ' Increase HUGE_COHORT to read this...' + call fatal_error('Too many cohorts to be read...' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + end if + !------------------------------------------------------------------------------! + + + + + + !----- Read line. Exit loop when finished reading cohorts. -------------------! + read(unit=12,fmt=*,iostat=ierr) ctime(gco),csname(gco),cpname(gco),cname(gco) & + ,dbh(gco),hite(gco),ipft(gco),nplant(gco) & + ,bdead(gco),balive(gco),dummy,dummy + if (ierr /= 0) exit read_cohorts + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Make sure this cohort qualifies to be included (if not qualified, we ! + ! cycle the read_cohorts loop without updating gco. ! + !------------------------------------------------------------------------------! + year = int(ctime(gco)) + if (use_target_year == 1 .and. year /= restart_target_year) then + !----- User wants css year to match the restart target year. ---------------! + cycle read_cohorts + !---------------------------------------------------------------------------! + else if (nplant(gco) < negligible_nplant(ipft(gco))) then + !----- Cohort population is negligible. ------------------------------------! + cycle read_cohorts + !---------------------------------------------------------------------------! + else if (.not. include_pft(ipft(gco))) then + !---------------------------------------------------------------------------! + ! This PFT is not in the list of PFTs to include. Decide what to do ! + ! based on the PFT_1ST_CHECK settings. ! + !---------------------------------------------------------------------------! + select case (pft_1st_check) + case (0) + !----- Stop the run. ----------------------------------------------------! + write (unit=*,fmt='(a,1x,a)' ) ' In file:',trim(css_name) + write (unit=*,fmt='(a,1x,i5,1x,a)') & + 'There are cohorts of PFT =',ipft(gco) & + ,', which are not defined in NL%INCLUDE_THESE_PFT.' + write (unit=*,fmt='(a,1x,a)') ' Either edit NL%INCLUDE_THESE_PFT or' & + ,'set NL%PFT_1ST_CHECK to 1 or 2.' + call fatal_error('Invalid PFT in initial file' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + !------------------------------------------------------------------------! + case (1) + !----- Warn user about the unexpected PFT. ------------------------------! + write (unit=*,fmt='(a,1x,a)' ) ' In file:',trim(css_name) + write (unit=*,fmt='(a,1x,i5,1x,a)') & + 'There are cohorts of PFT =',ipft(gco) & + ,', which are not defined in NL%INCLUDE_THESE_PFT.' + write (unit=*,fmt='(a,1x,a)') ' Changing include_these_pft to' & + ,'incorporate the PFT.' + call warning('Unexpected PFT in initial file' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + !------------------------------------------------------------------------! + + + !----- Add the unexpected PFT to the list of possible PFTs. -------------! + include_pft(ipft(gco)) = .true. + include_these_pft(count(include_pft)) = ipft(gco) + call sort_up(include_these_pft,n_pft) + if (is_grass(ipft(gco))) include_pft_ag(ipft(gco)) = .true. + !------------------------------------------------------------------------! + case (2) + if (.not. discarded_pft(ipft(gco))) then + !---------------------------------------------------------------------! + ! In case this is the first time finding this unexpected PFT, ! + ! warn user. ! + !---------------------------------------------------------------------! + write (unit=*,fmt='(a,1x,a)' ) ' In file:',trim(css_name) + write (unit=*,fmt='(a,1x,i5,1x,a)') & + 'There are cohorts of PFT =',ipft(gco) & + ,', which are not defined in NL%INCLUDE_THESE_PFT.' + write (unit=*,fmt='(a,1x,a)') ' Discarding PFT.' + call warning('Unexpected PFT in initial file' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + !---------------------------------------------------------------------! + + + !------ Switch flag so we don't overwhelm the output with warnings. --! + discarded_pft(ipft(gco)) = .true. + !---------------------------------------------------------------------! + end if + !------------------------------------------------------------------------! + + !----- Skip the cohort. -------------------------------------------------! + cycle read_cohorts + !------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------! + else + !----- Keep the cohort. ----------------------------------------------------! + gco = gco + 1 + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + end do read_cohorts + !---------------------------------------------------------------------------------! + + + !------ Close the file. ----------------------------------------------------------! + close(unit=12,status='keep') + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Here we determine the number of sites. We also make sure that there is at ! + ! least one valid site, otherwise we issue an error. ! + !---------------------------------------------------------------------------------! + ncohorts = gco - 1 + if (npatches < 0) then + write (unit=*,fmt='(a,1x,a)') ' In file:',trim(pss_name) + write (unit=*,fmt='(a)') ' Invalid number of patches: ',npatches + write (unit=*,fmt='(a)') ' File is probably corrupted...' + end if + !---------------------------------------------------------------------------------! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! + + + + + !---------------------------------------------------------------------------------! + ! Link patches and cohorts to sites. To reduce the computational burden of ! + ! long patch/cohort files, we skip the beginning of the loop when all the initial ! + ! patches and cohorts have already been assigned. This will only be effective ! + ! if the files are organised (most of the time they are, but the code doesn't ! + ! assume they are). ! + !---------------------------------------------------------------------------------! + apa = 1 + aco = 1 + do gsi=1,nsites + !----- Flag all patches associated with this site. ----------------------------! + do gpa=apa,npatches + !----- Link patch to site if the names match. ------------------------------! + if (trim(psname(gpa)) == trim(sname(gsi))) then + psite_id(gpa) = gsi + + + !------------------------------------------------------------------------! + ! Update apa in case all patch elements up to this point have been ! + ! assigned to a site. ! + !------------------------------------------------------------------------! + if (gpa == apa) then + apa = apa + 1 + end if + !------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------! + ! Link cohorts to patches. ! + !---------------------------------------------------------------------------! + do gco=aco,ncohorts + !----- Flag all cohorts associated with this patch and site. ------------! + if ( (trim(cpname(gco)) == trim(pname (gpa))) .and. & + (trim(csname(gco)) == trim(psname(gpa))) .and. & + (trim(csname(gco)) == trim(sname (gsi))) ) then + cpatch_id(gco) = gpa + csite_id (gco) = gsi + + !---------------------------------------------------------------------! + ! Update apa in case all cohort elements up to this point have ! + ! been assigned to a patch/site. ! + !---------------------------------------------------------------------! + if (gco == aco) then + aco = aco + 1 + end if + !---------------------------------------------------------------------! + + end if + !------------------------------------------------------------------------! + end do + !---------------------------------------------------------------------------! + + + !----- Count cohorts belonging to this patch. ------------------------------! + cohort_count(gpa) = count(cpatch_id(:) == gpa) + !---------------------------------------------------------------------------! + end do + !------------------------------------------------------------------------------! + + + !----- Count patches belonging to this site. ----------------------------------! + patch_count(gsi) = count(psite_id(:) == gsi) + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! In case this site does not have any patch, issue an error. Sites should ! + ! always have at least one patch. ! + !------------------------------------------------------------------------------! + if (patch_count(gsi) == 0) then + write (unit=*,fmt='(a)' ) '==========================================' + write (unit=*,fmt='(a)' ) ' Site without patches found!' + write (unit=*,fmt='(a)' ) '==========================================' + write (unit=*,fmt='(a,1x,a)' ) ' Site file: ',trim(sss_name) + write (unit=*,fmt='(a,1x,a)' ) ' Patch file:',trim(pss_name) + write (unit=*,fmt='(a,1x,i5)') ' Site ID: ',gsi + write (unit=*,fmt='(a,1x,a)' ) ' Site name: ',sname(gsi) + write (unit=*,fmt='(a)' ) '==========================================' + call fatal_error('A site without corresponding patches was found!' & + ,'read_ed22_initial_file','ed_read_ed22_initial.f90') + end if + !------------------------------------------------------------------------------! + end do + !---------------------------------------------------------------------------------! + + + + + + !---------------------------------------------------------------------------------! + ! Allocate sites. ! + !---------------------------------------------------------------------------------! + call allocate_polygontype(cpoly,nsites) + call soil_default_fill(cgrid,igr,ipy) + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Loop through sites and allocate patches and cohorts. ! + !---------------------------------------------------------------------------------! + gsi = 0 + init_sites: do isi=1,cpoly%nsites + !------ Update pointers and counters. -----------------------------------------! + csite => cpoly%site(isi) + gsi = gsi + 1 + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! In case this is a single-grid, single-polygon simulation, we rewrite ! + ! the site properties of the first soil classes with the site-level ! + ! information. ! + !------------------------------------------------------------------------------! + if (single_poi) then + !----- Replace texture with the site ID. -----------------------------------! + ntext(gsi) = isi + !---------------------------------------------------------------------------! + + + !----- Overwrite reference properties of the isi-th site. ------------------! + slxkey_ref (isi) = 'Site' + slhydro_ref(isi) = soil_hydro_scheme + slxsand_ref(isi) = sand (gsi) + slxclay_ref(isi) = clay (gsi) + slxsilt_ref(isi) = 1. - slxsand_ref(isi) - slxclay_ref(isi) + slsoc_ref (isi) = slsoc(gsi) + slph_ref (isi) = slph (gsi) + slcec_ref (isi) = slcec(gsi) + sldbd_ref (isi) = sldbd(gsi) + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Initialise site variables. If TOPMODEL becomes again functional, this ! + ! list may need to be expanded. ! + !------------------------------------------------------------------------------! + cpoly%area (isi) = s_area (gsi) + cpoly%ntext_soil(:,isi) = ntext (gsi) + cpoly%ncol_soil (isi) = nscol (gsi) + cpoly%elevation (isi) = elevation(gsi) + cpoly%slope (isi) = slope (gsi) + cpoly%aspect (isi) = aspect (gsi) + cpoly%tci (isi) = tci (gsi) + cpoly%moist_f (isi) = moist_f (gsi) + cpoly%moist_w (isi) = moist_w (gsi) + !------------------------------------------------------------------------------! + + + !------ Dummy variables. ------------------------------------------------------! + cpoly%sitenum (isi) = isi + !------------------------------------------------------------------------------! + + + !------ Find the lowest soil level to simulate. -------------------------------! + shmask(:) = ed_slz(:) <= - abs(depth(gsi)) + cpoly%lsl(isi) = min(max(1,maxloc(ed_slz(:),dim=1,mask=shmask)),nzg-1) + !------------------------------------------------------------------------------! + + + !------ Copy patch count. -----------------------------------------------------! + cpoly%patch_count(isi) = patch_count(gsi) + !------------------------------------------------------------------------------! + + + !------ Update the polygon average topographic moisture index. ----------------! + cgrid%wbar(ipy) = cgrid%wbar(ipy) + cpoly%moist_w(isi) * cpoly%area(isi) + !------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------! + ! Allocate patches for this site. ! + !------------------------------------------------------------------------------! + call allocate_sitetype(csite,patch_count(gsi)) + !------------------------------------------------------------------------------! + end do init_sites + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Loop through all patches, and initialise them at the appropriate site. ! + !---------------------------------------------------------------------------------! + last_ipa(:) = 0 + init_patches: do gpa=1,npatches + !------------------------------------------------------------------------------! + ! Try setting the site. If the site had a tiny area, this patch may be ! + ! orphaned, in which case we skip it. ! + !------------------------------------------------------------------------------! + if (psite_id(gpa) == undef_integer) then + !----- Invalid patch, skip it. ---------------------------------------------! + cycle init_patches + !---------------------------------------------------------------------------! + else + !----- Valid patch, assign site. -------------------------------------------! + isi = psite_id(gpa) + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + + + !----- Set other counters and pointers. ---------------------------------------! + ipa = last_ipa(isi) + 1 + ppatch_id(gpa) = ipa + csite => cpoly%site (isi) + cpatch => csite%patch(ipa) + !------------------------------------------------------------------------------! + + + + !------ Set patch-level variables. --------------------------------------------! + csite%pname (ipa) = trim(pname (gpa)) + csite%dist_type (ipa) = dtype (gpa) + csite%age (ipa) = age (gpa) + csite%area (ipa) = p_area (gpa) + csite%fast_grnd_C (ipa) = fgc (gpa) + csite%fast_soil_C (ipa) = fsc (gpa) + csite%structural_grnd_C (ipa) = stgc (gpa) + csite%structural_grnd_L (ipa) = stgl (gpa) + csite%structural_soil_C (ipa) = stsc (gpa) + csite%structural_soil_L (ipa) = stsl (gpa) + csite%mineralized_soil_N(ipa) = msn (gpa) + csite%cohort_count (ipa) = cohort_count(gpa) + !------------------------------------------------------------------------------! + + + + !------ Set fast nitrogen pools so they are proportional to the carbon pools. -! + if ( (fgc(gpa)+fsc(gpa)) > tiny_num) then + csite%fast_grnd_N (ipa) = fgc(gpa) * fsn(gpa) / (fgc(gpa)+fsc(gpa)) + csite%fast_soil_N (ipa) = fsc(gpa) * fsn(gpa) / (fgc(gpa)+fsc(gpa)) + else + csite%fast_grnd_C (ipa) = 0.0 + csite%fast_soil_C (ipa) = 0.0 + csite%fast_grnd_N (ipa) = 0.0 + csite%fast_soil_N (ipa) = 0.0 + end if + !------------------------------------------------------------------------------! + + + + !------ Use stoichiometry to derive structural N pools. -----------------------! + csite%structural_grnd_N (ipa) = csite%structural_grnd_C (ipa) / c2n_structural + csite%structural_soil_N (ipa) = csite%structural_soil_C (ipa) / c2n_structural + !------------------------------------------------------------------------------! + + + + + !------------------------------------------------------------------------------! + ! Check decomposition scheme before assigning microbial carbon. ! + !------------------------------------------------------------------------------! + select case (decomp_scheme) + case (5) + csite%microbial_soil_C(ipa) = msc(gpa) + csite%slow_soil_C (ipa) = ssc(gpa) + csite%passive_soil_C (ipa) = psc(gpa) + case default + csite%microbial_soil_C(ipa) = 0.0 + csite%slow_soil_C (ipa) = msc(gpa) + ssc(gpa) + psc(gpa) + csite%passive_soil_C (ipa) = 0.0 + end select + !------------------------------------------------------------------------------! + + + !----- Initialise other properties. -------------------------------------------! + csite%fbeam (ipa) = 1.0 + csite%light_type (ipa) = 1 + csite%sum_dgd (ipa) = 0.0 + csite%sum_chd (ipa) = 0.0 + csite%plant_ag_biomass (ipa) = 0.0 + !------------------------------------------------------------------------------! + + + !------ Allocate cohorts for this patch. --------------------------------------! + if ( cohort_count(gpa) /= 0) then + call allocate_patchtype(cpatch,cohort_count(gpa)) + end if + !------------------------------------------------------------------------------! + + + !------ Update last_ipa for this site. ----------------------------------------! + last_ipa(isi) = ipa + !------------------------------------------------------------------------------! + end do init_patches + !---------------------------------------------------------------------------------! + + + + + !---------------------------------------------------------------------------------! + ! Loop through all cohort, and initialise them at the appropriate patch and ! + ! site. ! + !---------------------------------------------------------------------------------! + last_ico(:) = 0 + init_cohorts: do gco=1,ncohorts + !------------------------------------------------------------------------------! + ! Try setting the site and patch. If the site or the patch had a tiny ! + ! area, this cohort may be orphaned, in which case we skip it. ! + !------------------------------------------------------------------------------! + if (csite_id(gco) == undef_integer .or. cpatch_id(gco) == undef_integer) then + !----- Invalid cohort, skip it. --------------------------------------------! + cycle init_cohorts + !---------------------------------------------------------------------------! + else + !----- Valid cohort, assign site and global patch. -------------------------! + isi = csite_id (gco) + gpa = cpatch_id(gco) + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + + + !----- Set other counters and pointers. ---------------------------------------! + ipa = ppatch_id(gpa) + ico = last_ico (gpa) + 1 + csite => cpoly%site(isi) + cpatch => csite%patch(ipa) + !------------------------------------------------------------------------------! + + + + + !------ Copy data from files to cohort. ---------------------------------------! + cpatch%nplant(ico) = nplant(gco) + cpatch%pft (ico) = ipft (gco) + cpatch%dbh (ico) = max(dbh(gco),min_dbh(ipft(gco))) + !------------------------------------------------------------------------------! + + + + + !------ Update allometry to define height and heartwood. ----------------------! + cpatch%hite (ico) = dbh2h(cpatch%pft(ico),cpatch%dbh(ico)) + bdead (gco) = size2bd(cpatch%dbh(ico),cpatch%hite(ico),cpatch%pft(ico)) + cpatch%bdeada(ico) = agf_bs(cpatch%pft(ico)) * bdead(gco) + cpatch%bdeadb(ico) = (1.0 - agf_bs(cpatch%pft(ico))) * bdead(gco) + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Initialise SLA, Vm0, Rd0, and with the look-up table value. These ! + ! variables may be updated during phenology initialisation, or trait ! + ! plasticity, but they must have an initial assignment so we can even ! + ! calculate the initial area indices and inicial trait values needed for the ! + ! trait update. ! + !------------------------------------------------------------------------------! + cpatch%sla (ico) = SLA (ipft(gco)) + cpatch%vm_bar(ico) = Vm0 (ipft(gco)) + cpatch%rd_bar(ico) = Rd0 (ipft(gco)) + cpatch%llspan(ico) = leaf_turnover_rate(ipft(gco)) + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Use allometry to define leaf and the other live biomass pools. ! + !------------------------------------------------------------------------------! + cpatch%bleaf (ico) = size2bl(cpatch%dbh(ico),cpatch%hite(ico) & + ,cpatch%sla(ico),ipft(gco)) + cpatch%broot (ico) = cpatch%bleaf(ico) * q(ipft(gco)) + cpatch%bsapwooda(ico) = agf_bs(ipft(gco)) & + * cpatch%bleaf(ico) * qsw(ipft(gco)) * cpatch%hite(ico) + cpatch%bsapwoodb(ico) = (1.-agf_bs(ipft(gco))) & + * cpatch%bleaf(ico) * qsw(ipft(gco)) * cpatch%hite(ico) + cpatch%bbarka(ico) = agf_bs(ipft(gco)) & + * cpatch%bleaf(ico) * qbark(ipft(gco)) * cpatch%hite(ico) + cpatch%bbarkb(ico) = (1.-agf_bs(ipft(gco))) & + * cpatch%bleaf(ico) * qbark(ipft(gco)) * cpatch%hite(ico) + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Start plants with full phenology, we will take care of phenology after ! + ! this sub-routine. ! + !------------------------------------------------------------------------------! + cpatch%phenology_status(ico) = 0 + !------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------! + ! In case we are representing trait plasticity, update traits (SLA, Vm0). ! + ! This must be done before calculating LAI and before ed_balive. ! + !------------------------------------------------------------------------------! + select case (trait_plasticity_scheme) + case (0) + continue + case default + call update_cohort_plastic_trait(cpatch,ico,.true. & + ,leaf_lifespan(ipft(gco)) & + ,vm0 (ipft(gco)) & + ,rd0 (ipft(gco)) & + ,sla (ipft(gco)) ) + end select + !------------------------------------------------------------------------------! + + + + + !----- Assign biomass of living tissues. --------------------------------------! + cpatch%balive(ico) = ed_balive(cpatch, ico) + !------------------------------------------------------------------------------! + + + !----- Initialise storage biomass (after setting balive). ---------------------! + cpatch%bstorage(ico) = max( almost_zero, f_bstorage_init(ipft(gco))) & + * cpatch%balive(ico) + !------------------------------------------------------------------------------! + + + + !----- Assign LAI, WAI, and CAI -----------------------------------------------! + call area_indices(cpatch, ico) + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Initialise the carbon balance. For initial conditions, we always assume ! + ! storage biomass for the previous months so the scale is correct (carbon ! + ! balance is given in kgC/pl). The current month carbon balance must be ! + ! initialised consistently with the iddmort_scheme we are using. ! + !------------------------------------------------------------------------------! + cpatch%cb (1:12,ico) = cpatch%bstorage(ico) + cpatch%cb_lightmax(1:12,ico) = cpatch%bstorage(ico) + cpatch%cb_moistmax(1:12,ico) = cpatch%bstorage(ico) + cpatch%cb_mlmax (1:12,ico) = cpatch%bstorage(ico) + select case (iddmort_scheme) + case (0) + !------ Storage is not accounted. ------------------------------------------! + cpatch%cb (13,ico) = 0.0 + cpatch%cb_lightmax(13,ico) = 0.0 + cpatch%cb_moistmax(13,ico) = 0.0 + cpatch%cb_mlmax (13,ico) = 0.0 + !---------------------------------------------------------------------------! + case (1) + !------ Storage is accounted. ----------------------------------------------! + cpatch%cb (13,ico) = cpatch%bstorage(ico) + cpatch%cb_lightmax(13,ico) = cpatch%bstorage(ico) + cpatch%cb_moistmax(13,ico) = cpatch%bstorage(ico) + cpatch%cb_mlmax (13,ico) = cpatch%bstorage(ico) + !---------------------------------------------------------------------------! + end select + cpatch%cbr_bar (ico) = 1.0 + !------------------------------------------------------------------------------! + + + + !----- Above ground biomass, use the allometry. -------------------------------! + cpatch%agb (ico) = ed_biomass(cpatch, ico) + cpatch%basarea(ico) = pio4 * cpatch%dbh(ico) * cpatch%dbh(ico) + cpatch%btimber(ico) = size2bt( cpatch%dbh (ico) & + , cpatch%hite (ico) & + , cpatch%bdeada (ico) & + , cpatch%bsapwooda (ico) & + , cpatch%bbarka (ico) & + , cpatch%pft (ico) ) + cpatch%thbark (ico) = size2xb( cpatch%dbh (ico) & + , cpatch%hite (ico) & + , cpatch%bbarka (ico) & + , cpatch%bbarkb (ico) & + , cpatch%sla (ico) & + , cpatch%pft (ico) ) + !------------------------------------------------------------------------------! + + + + !----- Growth rates, start with zero. -----------------------------------------! + cpatch%dagb_dt (ico) = 0. + cpatch%dlnagb_dt(ico) = 0. + cpatch%dba_dt (ico) = 0. + cpatch%dlnba_dt (ico) = 0. + cpatch%ddbh_dt (ico) = 0. + cpatch%dlndbh_dt(ico) = 0. + !------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------! + ! Initialise other cohort variables. Some of them won't be updated ! + ! unless the lai exceeds lai_min. ! + !------------------------------------------------------------------------------! + cpatch%fsw(ico) = 1.0 + cpatch%gpp(ico) = 0.0 + cpatch%par_l(ico) = 0.0 + !------------------------------------------------------------------------------! + + + !----- Update the patch level above-ground biomass. ---------------------------! + csite%plant_ag_biomass(ipa) = csite%plant_ag_biomass(ipa) & + + cpatch%agb(ico) * cpatch%nplant(ico) + !------------------------------------------------------------------------------! + + + + !------ Update last_ico for this patch. ---------------------------------------! + last_ico(gpa) = ico + !------------------------------------------------------------------------------! + end do init_cohorts + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Find site adjacency (unlikely to be needed here). + !---------------------------------------------------------------------------------! + if (cgrid%load_adjacency(ipy) /= 0) then + call calc_flow_routing(cgrid,ipy) + end if + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Initialise additional site-, patch-, and cohort-level variables. ! + !---------------------------------------------------------------------------------! + init2_sites: do isi = 1,cpoly%nsites + + !----- Make sure that the total patch area is 1. ------------------------------! + csite => cpoly%site(isi) + area_sum = sum(csite%area(1:csite%npatches)) + csite%area(1:csite%npatches) = csite%area(1:csite%npatches) / area_sum + !------------------------------------------------------------------------------! + + + + + !----- Initialise the cohort variables, then sort them by size. ---------------! + init2_patches: do ipa = 1,csite%npatches + cpatch => csite%patch(ipa) + + !----- Initialise additional cohort variables. -----------------------------! + init2_cohorts: do ico = 1,cpatch%ncohorts + call init_ed_cohort_vars(cpatch,ico,cpoly%lsl(isi),nzg & + ,cpoly%ntext_soil(:,isi)) + end do init2_cohorts + !---------------------------------------------------------------------------! + + !----- Make sure that cohorts are organised from tallest to shortest. ------! + call sort_cohorts(cpatch) + !---------------------------------------------------------------------------! + end do init2_patches + !------------------------------------------------------------------------------! + + + + !----- Initialise the remaining patch-level variables. ------------------------! + call init_ed_patch_vars(csite,1,csite%npatches,cpoly%lsl(isi)) + !------------------------------------------------------------------------------! + + !----- Make sure that patches are organised from oldest to youngest. ----------! + call sort_patches(csite) + !------------------------------------------------------------------------------! + end do init2_sites + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! In case this is a single site simulation, we must update the soil ! + ! properties before initialising the site-level variables, because soil ! + ! characteristics are read from the site file. ! + !---------------------------------------------------------------------------------! + if (single_poi) then + call sfcdata_ed() + end if + !---------------------------------------------------------------------------------! + + + + !----- Initialise the remaining site-level variables. ----------------------------! + call init_ed_site_vars(cpoly) + !---------------------------------------------------------------------------------! + end do main_polyloop + !------------------------------------------------------------------------------------! + + + + !----- Initialise the polygon-level variables. --------------------------------------! + call init_ed_poly_vars(cgrid) + !------------------------------------------------------------------------------------! + end do main_gridloop + !---------------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------------! + ! Update the soil parameter table as soil properties have been overwritten for ! + ! a few sites. ! + !---------------------------------------------------------------------------------------! + call ed_gen_soil_table() + !---------------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------------! + ! Free memory. ! + !---------------------------------------------------------------------------------------! + deallocate(shmask) + deallocate(ed_slz) + !---------------------------------------------------------------------------------------! + + + return +end subroutine read_ed22_initial_file +!==========================================================================================! +!==========================================================================================! +!==========================================================================================! +!==========================================================================================! diff --git a/ED/src/io/h5_output.F90 b/ED/src/io/h5_output.F90 index 209b184aa..36a6b2271 100644 --- a/ED/src/io/h5_output.F90 +++ b/ED/src/io/h5_output.F90 @@ -879,8 +879,9 @@ subroutine geth5dims(idim_type,varlen,globid,var_len_global,dsetrank,varn,nrec,i !---------------------------------------------------------------------------------------! select case (idim_type) - case(90,91,92,96) ! No polygon-site-patch or cohort dimension, or single-dim. vector - + case(90,91,92,96,98,980) + ! No polygon-site-patch or cohort dimension, or single-dim. vector + dsetrank = 1 chnkdims(1) = int(varlen,8) chnkoffs(1) = int(globid,8) diff --git a/ED/src/memory/ed_max_dims.F90 b/ED/src/memory/ed_max_dims.F90 index 2996c71ca..9e581ab26 100644 --- a/ED/src/memory/ed_max_dims.F90 +++ b/ED/src/memory/ed_max_dims.F90 @@ -245,25 +245,32 @@ module ed_max_dims ! For restart runs, this is the maximum number of certain variables that can be ! ! read. ! ! HUGE_POLYGON - maximum number of input polygons. ! + ! HUGE_SITE - maximum number of input sites. ! ! HUGE_PATCH - maximum number of input patches. ! ! HUGE_COHORT - maximum number of input cohorts. ! ! MAX_WATER - maximum number of soil water levels (not assigned to polygons). ! !---------------------------------------------------------------------------------------! integer, parameter :: huge_polygon = nxpmax * nypmax + integer, parameter :: huge_site = ed_nstyp #if defined(MAC_OS_X) integer, parameter :: huge_patch = 200 - integer, parameter :: huge_cohort = 8000 + integer, parameter :: huge_cohort = 20000 + integer, parameter :: max_water = 5 #else - integer, parameter :: huge_patch = 10000 - integer, parameter :: huge_cohort = 250000 -#endif + integer, parameter :: huge_patch = 20000 + integer, parameter :: huge_cohort = 800000 integer, parameter :: max_water = 100 +#endif !---------------------------------------------------------------------------------------! !----- Maximum number of land use polygons that can be read by filelist. ---------------! +#if defined(MAC_OS_X) + integer, parameter :: huge_lu = 999 +#else integer, parameter :: huge_lu = 99999 +#endif !---------------------------------------------------------------------------------------! diff --git a/ED/src/memory/ed_misc_coms.f90 b/ED/src/memory/ed_misc_coms.f90 index 79968322d..4aeaa4836 100644 --- a/ED/src/memory/ed_misc_coms.f90 +++ b/ED/src/memory/ed_misc_coms.f90 @@ -8,6 +8,11 @@ module ed_misc_coms implicit none + + !----- String for the output format of the restore file. -------------------------------! + character(len=26), parameter :: fmtrest = '(i4.4,2(1x,i2.2),1x,2i2.2)' + !---------------------------------------------------------------------------------------! + type simtime integer :: year integer :: month diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d72654bec..3a37eacb3 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -13089,17 +13089,20 @@ end subroutine filltab_alltypes subroutine filltab_globtype(igr) use ed_var_tables, only : vtable_edio_r & ! sub-routine + , vtable_edio_i & ! sub-routine , vtable_edio_r_sca & ! sub-rouitne , vtable_edio_i_sca ! ! sub-rouitne use soil_coms , only : slz & ! intent(in) - , slxclay & ! intent(in) - , slxsand & ! intent(in) - , slsoc & ! intent(in) - , slph & ! intent(in) - , slcec & ! intent(in) - , sldbd & ! intent(in) - , isoilflg & ! intent(in) + , slhydro_ref & ! intent(in) + , slxclay_ref & ! intent(in) + , slxsilt_ref & ! intent(in) + , slxsand_ref & ! intent(in) + , slsoc_ref & ! intent(in) + , slph_ref & ! intent(in) + , slcec_ref & ! intent(in) + , sldbd_ref & ! intent(in) , islcolflg ! ! intent(in) + use ed_max_dims , only : ed_nstyp ! ! intent(in) implicit none @@ -13188,14 +13191,6 @@ subroutine filltab_globtype(igr) ,var_len,var_len_global,max_ptrs & ,'NDCYCLE :90:hist:anal:dail:mont:dcyc:year') - nvar=nvar+1 - call vtable_edio_i_sca(isoilflg(igr),nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'ISOILFLG :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_i_sca(isoilflg(igr),nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'ISOILFLG :90:hist:anal:dail:mont:dcyc:year') - nvar=nvar+1 call vtable_edio_i_sca(islcolflg(igr),nvar,igr,0,0 & ,var_len,var_len_global,max_ptrs & @@ -13204,53 +13199,76 @@ subroutine filltab_globtype(igr) ,var_len,var_len_global,max_ptrs & ,'ISLCOLFLG :90:hist:anal:dail:mont:dcyc:year') + + !------------------------------------------------------------------------------------! + ! 1-D variables, soil types. ! + !------------------------------------------------------------------------------------! + var_len = ed_nstyp + var_len_global = ed_nstyp + nvar=nvar+1 - call vtable_edio_r_sca(slxsand,nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLXSAND :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r_sca(slxsand,nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLXSAND :90:hist:anal:dail:mont:dcyc:year') + call vtable_edio_i(ed_nstyp,slhydro_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLHYDRO_REF :980:hist:anal:dail:mont:dcyc:year') + call vtable_edio_i(ed_nstyp,slhydro_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLHYDRO_REF :980:hist:anal:dail:mont:dcyc:year') nvar=nvar+1 - call vtable_edio_r_sca(slxclay,nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLXCLAY :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r_sca(slxclay,nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLXCLAY :90:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slxsand_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLXSAND_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slxsand_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLXSAND_REF :98:hist:anal:dail:mont:dcyc:year') nvar=nvar+1 - call vtable_edio_r_sca(slsoc,nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLSOC :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r_sca(slsoc,nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLSOC :90:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slxsilt_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLXSILT_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slxsilt_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLXSILT_REF :98:hist:anal:dail:mont:dcyc:year') nvar=nvar+1 - call vtable_edio_r_sca(slph,nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLPH :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r_sca(slph,nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLPH :90:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slxclay_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLXCLAY_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slxclay_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLXCLAY_REF :98:hist:anal:dail:mont:dcyc:year') nvar=nvar+1 - call vtable_edio_r_sca(slcec,nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLCEC :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r_sca(slcec,nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLCEC :90:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slsoc_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLSOC_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slsoc_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLSOC_REF :98:hist:anal:dail:mont:dcyc:year') nvar=nvar+1 - call vtable_edio_r_sca(sldbd,nvar,igr,0,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLDBD :90:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r_sca(sldbd,nvar,igr,1,0 & - ,var_len,var_len_global,max_ptrs & - ,'SLDBD :90:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slph_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLPH_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slph_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLPH_REF :98:hist:anal:dail:mont:dcyc:year') + + nvar=nvar+1 + call vtable_edio_r(ed_nstyp,slcec_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLCEC_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,slcec_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLCEC_REF :98:hist:anal:dail:mont:dcyc:year') + + nvar=nvar+1 + call vtable_edio_r(ed_nstyp,sldbd_ref,nvar,igr,0,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLDBD_REF :98:hist:anal:dail:mont:dcyc:year') + call vtable_edio_r(ed_nstyp,sldbd_ref,nvar,igr,1,0 & + ,var_len,var_len_global,max_ptrs & + ,'SLDBD_REF :98:hist:anal:dail:mont:dcyc:year') !------------------------------------------------------------------------------------! @@ -13262,10 +13280,10 @@ subroutine filltab_globtype(igr) nvar=nvar+1 - call vtable_edio_r(nzg,slz,nvar,igr,0,0 & + call vtable_edio_r(nzg,slz(1:nzg),nvar,igr,0,0 & ,var_len,var_len_global,max_ptrs & ,'SLZ :92:hist:anal:dail:mont:dcyc:year') - call vtable_edio_r(nzg,slz,nvar,igr,1,0 & + call vtable_edio_r(nzg,slz(1:nzg),nvar,igr,1,0 & ,var_len,var_len_global,max_ptrs & ,'SLZ :92:hist:anal:dail:mont:dcyc:year') !------------------------------------------------------------------------------------! diff --git a/ED/src/memory/ed_var_tables.f90 b/ED/src/memory/ed_var_tables.f90 index 9b98449ea..0e3aaff0e 100644 --- a/ED/src/memory/ed_var_tables.f90 +++ b/ED/src/memory/ed_var_tables.f90 @@ -74,6 +74,8 @@ ! ! 91 : rank 0 : real scalar ! ! ! ! 92 : rank 1 : real, s-layer ! ! ! ! 96 : rank 1 : real, height class ! ! +! ! 98 : rank 1 : real, ed_nstyp ! ! +! ! 980 : rank 1 : integer, ed_nstyp ! ! ! !-----------------------------------------------------! ! ! ! !------------------------------------------------------------------------------------------! diff --git a/ED/src/memory/rk4_coms.f90 b/ED/src/memory/rk4_coms.f90 index 167cb8565..02d370f8c 100644 --- a/ED/src/memory/rk4_coms.f90 +++ b/ED/src/memory/rk4_coms.f90 @@ -402,6 +402,7 @@ module rk4_coms !---------------------------------------------------------------------------------------! type rk4sitetype integer :: lsl + integer :: isoilbc integer , dimension(nzgmax) :: ntext_soil real(kind=8), dimension(n_pft) :: green_leaf_factor real(kind=8) :: atm_rhos diff --git a/ED/src/memory/soil_coms.F90 b/ED/src/memory/soil_coms.f90 similarity index 59% rename from ED/src/memory/soil_coms.F90 rename to ED/src/memory/soil_coms.f90 index 37bc64832..f85ce64f8 100644 --- a/ED/src/memory/soil_coms.F90 +++ b/ED/src/memory/soil_coms.f90 @@ -11,28 +11,15 @@ module soil_coms use ed_max_dims , only : str_len & ! intent(in) , maxgrds & ! intent(in) - , nzgmax ! ! intent(in) + , nzgmax & ! intent(in) + , ed_nstyp & ! intent(in) + , ed_nscol & ! intent(in) + , ed_nvtyp ! ! intent(in) use grid_coms , only : nzg & ! intent(in) , nzs ! ! intent(in) -#if defined(COUPLED) - use leaf_coms , only : nstyp & ! intent(in) - , nscol & ! intent(in) - , nvtyp & ! intent(in) - , nvtyp_teb ! ! intent(in) -#endif implicit none - !----- These variables depend on whether it's a coupled or stand alone model. -----------! -#if defined(COUPLED) - integer, parameter :: ed_nstyp = nstyp ! total # of soil textural classes - integer, parameter :: ed_nscol = nscol ! total # of soil colour classes - integer, parameter :: ed_nvtyp = nvtyp+nvtyp_teb -#else - integer, parameter :: ed_nstyp = 17 ! total # of soil textural classes - integer, parameter :: ed_nscol = 21 ! total # of soil colour classes - integer, parameter :: ed_nvtyp = 21 -#endif !=======================================================================================! !=======================================================================================! @@ -359,7 +346,7 @@ module soil_coms real , dimension(nzgmax,ed_nvtyp) :: root ! root depth [ m] real, allocatable, dimension(:,:) :: slcons1 ! z-dep. soil sat hydraul cond [ m/s] real, allocatable, dimension(:) :: dslz ! soil layer thickness at T pt [ m] - real, allocatable, dimension(:) :: dslzo2 ! ½ soil layer thick. at T pt [ m] + real, allocatable, dimension(:) :: dslzo2 ! Half soil layer thick. at T pt [ m] real, allocatable, dimension(:) :: dslzi ! 1/dslz [ 1/m] real, allocatable, dimension(:) :: dslzidt ! dtll / dslz [ s/m] real, allocatable, dimension(:) :: slzt ! soil depth at T pt [ m] @@ -509,6 +496,25 @@ module soil_coms real(kind=8) :: thcond3 ! Fourth coefficient for thermal conductivity [ ---] end type soil_class8 !---------------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------------! + ! These variables are scalars that will be assigned in ed_params.f90, but may be ! + ! overwritten when reading multiple sites or running a history initialisation. ! + !---------------------------------------------------------------------------------------! + integer , dimension(ed_nstyp) :: slhydro_ref + character(len=4), dimension(ed_nstyp) :: slxkey_ref + real(kind=4) , dimension(ed_nstyp) :: slxsand_ref + real(kind=4) , dimension(ed_nstyp) :: slxsilt_ref + real(kind=4) , dimension(ed_nstyp) :: slxclay_ref + real(kind=4) , dimension(ed_nstyp) :: slsoc_ref + real(kind=4) , dimension(ed_nstyp) :: slph_ref + real(kind=4) , dimension(ed_nstyp) :: slcec_ref + real(kind=4) , dimension(ed_nstyp) :: sldbd_ref + !---------------------------------------------------------------------------------------! + + + !----- To be filled in ed_params.f90. --------------------------------------------------! type(soil_class8), dimension(ed_nstyp) :: soil8 type(soil_class) , dimension(ed_nstyp) :: soil @@ -581,6 +587,7 @@ module soil_coms ! This subroutine allocates soil grid arrays. ! !---------------------------------------------------------------------------------------! subroutine alloc_soilgrid() + use ed_max_dims, only : ed_nstyp ! ! intent(in) implicit none @@ -624,7 +631,8 @@ end subroutine alloc_soilgrid !---------------------------------------------------------------------------------------! subroutine ed_init_soil() use ed_max_dims, only : undef_real & ! intent(in) - , undef_dble ! ! intent(in) + , undef_dble & ! intent(in) + , ed_nstyp ! ! intent(in) implicit none !------ Local variables. ------------------------------------------------------------! @@ -735,6 +743,809 @@ end subroutine ed_init_soil + !=======================================================================================! + !=======================================================================================! + ! This function creates the soil table. This used to be in ed_params.f90, but ! + ! this is now called from sfcdata_ed, so the contents from the history file will have ! + ! the last word in case RUNTYPE = 'HISTORY'. ! + !---------------------------------------------------------------------------------------! + subroutine ed_gen_soil_table() + use detailed_coms , only : idetailed ! ! intent(in) + use ed_max_dims , only : str_len & ! intent(in) + , ed_nstyp ! ! intent(in) + use phenology_coms , only : thetacrit ! ! intent(in) + use disturb_coms , only : sm_fire ! ! intent(in) + use consts_coms , only : grav & ! intent(in) + , wdns & ! intent(in) + , hr_sec & ! intent(in) + , day_sec ! ! intent(in) + + implicit none + !----- Local variables. -------------------------------------------------------------! + integer :: s ! Soil texture flag + logical :: print_soil_table ! Print parameter table? [ T|F] + real(kind=4) :: soilep ! Effective porosity (O19) [ m3/m3] + real(kind=4) :: slpot33 ! Potential for EP (O19) [ m] + real(kind=4) :: slcons_mmhr ! Sat. hydraulic conduct. [ mm/hr] + real(kind=4) :: slcpd_mjm3k ! Soil heat capacity [MJ/m3/K] + real(kind=4) :: ksand ! k-factor for sand (de Vries model) + real(kind=4) :: ksilt ! k-factor for silt (de Vries model) + real(kind=4) :: kclay ! k-factor for clay (de Vries model) + real(kind=4) :: kair ! k-factor for air (de Vries model) + !----- Local constants. -------------------------------------------------------------! + real(kind=4), parameter :: fieldcp_K = 0.1 ! hydr. cond.: field cap. [mm/day] + real(kind=4), parameter :: slpots_MPa = -0.0005 ! Saturation for vG80 [ MPa] + real(kind=4), parameter :: slpot33_MPa = -0.033 ! Potl. for soilep (O19) [ MPa] + real(kind=4), parameter :: slpotfc_MPa = -0.010 ! Field capacity (TH98) [ MPa] + real(kind=4), parameter :: slpotdg_MPa = -5.0 ! Matric pot.: airdry vG80 [ MPa] + real(kind=4), parameter :: slpotcp_MPa = -3.1 ! Matric pot.: airdry BC64 [ MPa] + real(kind=4), parameter :: slpotwp_MPa = -1.5 ! Matric pot.: wilting pt [ MPa] + real(kind=4), parameter :: sand_hcapv = 2.128e6 ! Sand vol. heat cap. [J/m3/K] + real(kind=4), parameter :: clay_hcapv = 2.385e6 ! Clay vol. heat cap. [J/m3/K] + real(kind=4), parameter :: silt_hcapv = 2.256e6 ! Silt vol. heat cap. (*) [J/m3/K] + real(kind=4), parameter :: air_hcapv = 1.212e3 ! Air vol. heat cap. [J/m3/K] + real(kind=4), parameter :: sand_thcond = 8.80 ! Sand thermal conduct. [ W/m/K] + real(kind=4), parameter :: clay_thcond = 2.92 ! Clay thermal conduct. [ W/m/K] + real(kind=4), parameter :: silt_thcond = 5.87 ! Silt therm. conduct. (*) [ W/m/K] + real(kind=4), parameter :: air_thcond = 0.025 ! Air thermal conduct. [ W/m/K] + real(kind=4), parameter :: h2o_thcond = 0.57 ! Water thermal conduct. [ W/m/K] + !------ Name for the parameter table. -----------------------------------------------! + character(len=str_len), parameter :: soil_table_fn = 'soil_properties.txt' + !------------------------------------------------------------------------------------! + ! (*) If anyone has the heat capacity and thermal conductivity for silt, please feel ! + ! free to add it in here, I didn't find any. Apparently no one knows, and I've ! + ! seen in other models that people just assume either the same as sand or the ! + ! average. Here I'm just using halfway. I think the most important thing is to ! + ! take into account the soil and the air, which are the most different. ! + ! ! + ! Sand (quartz), clay, air, and water heat capacities and thermal conductivities ! + ! values are from: ! + ! Monteith and Unsworth, 2008: Environmental Physics. ! + ! Academic Press, Third Edition. Table 15.1, p. 292 ! + !------------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------------! + ! Initialise the soil and soil8 structures. ! + !------------------------------------------------------------------------------------! + call ed_init_soil() + !------------------------------------------------------------------------------------! + + + + + + !------------------------------------------------------------------------------------! + ! Assign soil properties from the reference vectors. The reference may have ! + ! changed from default depending on the user settings from ED2IN or based on a ! + ! HISTORY restart. ! + !------------------------------------------------------------------------------------! + do s=1,ed_nstyp + soil(s)%key = slxkey_ref (s) + soil(s)%xsand = slxsand_ref(s) + soil(s)%xclay = slxclay_ref(s) + soil(s)%xsilt = slxsilt_ref(s) + soil(s)%slsoc = slsoc_ref (s) + soil(s)%slph = slph_ref (s) + soil(s)%slcec = slcec_ref (s) + soil(s)%sldbd = sldbd_ref (s) + end do + !------------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------------! + ! Calculate method- and texture-dependent properties. For a general overview, ! + ! check (M14). Additional references correspond to specific parametrisations. ! + ! ! + ! References: ! + ! ! + ! Brooks RH , Corey AT. 1964. Hydraulic properties of porous media. ! + ! Hydrology Papers 3, Colorado State University, Fort Collins, U.S.A (BC64). ! + ! Marthews TR, Quesada CA, Galbraith DR, Malhi Y, Mullins CE, Hodnett MG , ! + ! Dharssi I. 2014. High-resolution hydraulic parameter maps for surface soils in ! + ! tropical South America. Geosci. Model Dev. 7: 711-723. ! + ! doi:10.5194/gmd-7-711-2014 (M14). ! + ! Campbell GS. 1974. A simple method for determining unsaturated conductivity from ! + ! moisture retention data. Soil Science 117: 311-314. ! + ! doi:10.1097/00010694-197406000-00001 (C74). ! + ! Cosby BJ, Hornberger GM, Clapp RB , Ginn TR. 1984. A statistical exploration of ! + ! the relationships of soil moisture characteristics to the physical properties ! + ! of soils. Water Resour. Res. 20: 682-690. doi:10.1029/WR020i006p00682 (C84). ! + ! van Genuchten MT. 1980. A closed-form equation for predicting the hydraulic ! + ! conductivity of unsaturated soils1. Soil Sci. Soc. Am. J. 44: 892-898. ! + ! doi:10.2136/sssaj1980.03615995004400050002x (vG80). ! + ! Hodnett M , Tomasella J. 2002. Marked differences between van Genuchten soil ! + ! water-retention parameters for temperate and tropical soils: a new ! + ! water-retention pedo-transfer functions developed for tropical soils. Geoderma ! + ! 108: 155-180. doi:10.1016/S0016-7061(02)00105-2 (HT02). ! + ! Montzka C, Herbst M, Weihermuller L, Verhoef A , Vereecken H. 2017. A global data ! + ! set of soil hydraulic properties and sub-grid variability of soil water ! + ! retention and hydraulic conductivity curves. Earth Syst. Sci. Data, 9: 529-543. ! + ! doi:10.5194/essd-9-529-2017 (M17). ! + ! Mualem Y. 1976. A new model for predicting the hydraulic conductivity of ! + ! unsaturated porous media. Water Resour. Res., 12: 513-522. ! + ! doi:10.1029/WR012i003p00513 (M76). ! + ! Ottoni MV, Ottoni Filho TB, Lopes-Assad MLR , Rotunno Filho OC. 2019. Pedotransfer ! + ! functions for saturated hydraulic conductivity using a database with temperate ! + ! and tropical climate soils. J. Hydrol., 575: 1345-1358. ! + ! doi:10.1016/j.jhydrol.2019.05.050 (O19). ! + ! Romano N , Santini A. 2002. Field. In: Methods of soil analysis: Part 4 physical ! + ! methods (eds. Dane JH. & Topp GC.). Soil Science Society of America, ! + ! Madison, WI, SSSA Book Series 5.4, chap. 3.3.3, pp. 721--738 (RS02). ! + ! Schaap MG , Leij FJ. 2000. Improved prediction of unsaturated hydraulic ! + ! conductivity with the Mualem- van Genuchten model. Soil Sci. Soc. Am. J., ! + ! 64: 843-851. doi:10.2136/sssaj2000.643843x (SL00). ! + ! Tomasella J , Hodnett MG. 1998. Estimating soil water retention characteristics ! + ! from limited data in Brazilian Amazonia. Soil Sci. 163: 190-202. ! + ! doi:10.1097/00010694-199803000-00003 (TH98). ! + !------------------------------------------------------------------------------------! + do s=1,ed_nstyp + + !----- Check soil texture. Peat and bedrock must be handled separately. ---------! + select case (slhydro_ref(s)) + case (12) + !------------------------------------------------------------------------------! + ! Peat. We always use BC64-M76 approach. This modify hydraulic ! + ! properties to account for high soil organic content. This class becomes ! + ! obsolete for SOIL_HYDRO_SCHEME=2 because we can account for SOC directly. ! + ! ! + ! MLO - I noticed that most parameters do not correspond to what is ! + ! implemented in LEAF3 (as of RAMS-6.0). I left the LEAF3 values as ! + ! comments next to the default values but someone running ED2 for peats ! + ! should check. I think the LEAF3 values intuitively make more sense for ! + ! peat. ! + !------------------------------------------------------------------------------! + soil(s)%method = 'BC64' + + !----- Peat, use the default value from LEAF3. --------------------------------! + soil(s)%slcons = 8.0e-6 ! ED-2.2 2.357930e-6 + !------------------------------------------------------------------------------! + + !---- Pore tortuosity factor. Assumed 1 to be consistent with BC64. -----------! + soil(s)%sltt = 1.0 + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Pore-size distribution factor (slnm, aka lambda) and its inverse (slbs, ! + ! aka BC64's "b" factor). ! + !------------------------------------------------------------------------------! + soil(s)%slbs = 7.75 ! ED-2.2 6.180000 + soil(s)%slnm = 1. / soil(s)%slbs + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Ancillary parameters used for hydraulic conductivity. ! + !------------------------------------------------------------------------------! + soil(s)%slmm = 2. + soil(s)%sltt + 2. * soil(s)%slbs + soil(s)%slmu = -1. / soil(s)%slmm + !------------------------------------------------------------------------------! + + + !----- Saturation potential [m]. ----------------------------------------------! + soil(s)%slpots = -0.356 ! ED-2.2 -0.534564359 + soil(s)%slpotbp = soil(s)%slpots ! Bubbling point, assume saturation + soil(s)%slpotpo = soil(s)%slpots ! Porosity, assume saturation + soil(s)%malpha = 1. / soil(s)%slpotbp ! Inverse of bubbling point (not used) + !------------------------------------------------------------------------------! + + + + !----- Soil moisture at saturation [m3/m3]. -----------------------------------! + soil(s)%slmsts = 0.863 ! ED-2.2 0.469200 + soil(s)%soilbp = soil(s)%slmsts ! Assume the same as saturation + soil(s)%soilpo = soil(s)%slmsts ! Assume the same as saturation + !------------------------------------------------------------------------------! + + + !---- Field capacity [m3/m3] and potential at field capacity [m]. -------------! + soil(s)%sfldcap = 0.535 ! ED-2.2 0.285709966 + soil(s)%slpotfc = matric_potential(s,soil(s)%sfldcap) + !------------------------------------------------------------------------------! + + + !----- Residual moisture [m3/m3]. Ignored in C74 and the default ED2 method. -! + soil(s)%soilre = 0. + !------------------------------------------------------------------------------! + + + !----- Heat capacity. ---------------------------------------------------------! + soil(s)%slcpd = 874000. + !------------------------------------------------------------------------------! + case (13) + !----- Bedrock. Hydraulics is disabled, only heat capacity is needed. --------! + soil(s)%method = 'BDRK' + soil(s)%slcons = 0.0 + soil(s)%sltt = 0.0 + soil(s)%slnm = 1.0 + soil(s)%slbs = 1.0 + soil(s)%slmm = 1.0 + soil(s)%slmu = 1.0 + soil(s)%malpha = 0.0 + soil(s)%slpots = 0.0 + soil(s)%slmsts = 0.0 + soil(s)%slpotbp = 0.0 + soil(s)%soilbp = 0.0 + soil(s)%slpotpo = 0.0 + soil(s)%soilpo = 0.0 + soil(s)%soilre = 0.0 + soil(s)%sfldcap = 0.0 + soil(s)%slpotfc = 0.0 + soil(s)%slcpd = 2130000. + !------------------------------------------------------------------------------! + case (0) + !------------------------------------------------------------------------------! + ! Pedotransfer functions from BC64/M76. Unless noted otherwise, the ! + ! parameters for the functions are from C84, based on measurements in the ! + ! United States. ! + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Hydraulic conductivity at saturation [m/s]. ! + !------------------------------------------------------------------------------! + soil(s)%slcons = (10.**(-0.60 + 1.26*soil(s)%xsand - 0.64*soil(s)%xclay)) & + * 0.0254/hr_sec + !------------------------------------------------------------------------------! + + + !---- Flag for method. --------------------------------------------------------! + soil(s)%method = 'BC64' + !------------------------------------------------------------------------------! + + + !---- Pore tortuosity factor. Assumed 1 to be consistent with BC64. -----------! + soil(s)%sltt = 1.0 + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Pore-size distribution factor (slnm, aka lambda) and its inverse ! + ! (slbs, aka BC64's "b" factor). ! + !------------------------------------------------------------------------------! + soil(s)%slnm = 1. / (3.10 + 15.7*soil(s)%xclay - 0.3*soil(s)%xsand) + soil(s)%slbs = 1. / soil(s)%slnm + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Ancillary parameters used for hydraulic conductivity. ! + !------------------------------------------------------------------------------! + soil(s)%slmm = 2. + soil(s)%sltt + 2. * soil(s)%slbs + soil(s)%slmu = -1. / soil(s)%slmm + !------------------------------------------------------------------------------! + + + !----- Saturation potential [m]. ----------------------------------------------! + soil(s)%slpots = -1. & + * (10.**(2.17 - 0.63*soil(s)%xclay - 1.58*soil(s)%xsand)) & + * 0.01 + soil(s)%slpotbp = soil(s)%slpots ! Bubbling point, assume saturation + soil(s)%slpotpo = soil(s)%slpots ! Porosity, assume saturation + soil(s)%malpha = 1. / soil(s)%slpotbp + !------------------------------------------------------------------------------! + + + !----- Soil moisture at saturation (porosity) [m3/m3]. ------------------------! + soil(s)%slmsts = 0.01 * (50.5 - 14.2*soil(s)%xsand - 3.7*soil(s)%xclay) + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Bubbling point soil moisture and porosity, assume saturation [m3/m3]. ! + !------------------------------------------------------------------------------! + soil(s)%soilbp = soil(s)%slmsts ! Bubbling point + soil(s)%soilpo = soil(s)%slmsts ! Porosity + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Residual moisture [m3/m3]. Ignored in C74 and the default ED2 method. ! + !------------------------------------------------------------------------------! + soil(s)%soilre = 0.0 + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Field capacity is defined based on hydraulic conductivity of 0.1 ! + ! mm/day, following RS02. ! + !------------------------------------------------------------------------------! + soil(s)%sfldcap = soil(s)%slmsts & + * ( soil(s)%slcons / ( fieldcp_K / ( wdns * day_sec ) ) ) & + ** soil(s)%slmu + soil(s)%slpotfc = matric_potential(s,soil(s)%sfldcap) + !------------------------------------------------------------------------------! + + case (1) + !------------------------------------------------------------------------------! + ! Pedotransfer functions from BC64/M76. Unless noted otherwise, the ! + ! parameters for the functions are from TH98, based on measurements in the ! + ! Brazilian Amazon. ! + !------------------------------------------------------------------------------! + + + + !---- Flag for method. --------------------------------------------------------! + soil(s)%method = 'BC64' + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Hydraulic conductivity at saturation [m/s]. Use C84 settings, ! + ! following M14. ! + !------------------------------------------------------------------------------! + soil(s)%slcons = (10.**(-0.60 + 1.26*soil(s)%xsand - 0.64*soil(s)%xclay)) & + * 0.0254/hr_sec + !------------------------------------------------------------------------------! + + + !---- Pore tortuosity factor. Assumed 0.5, following M14. ---------------------! + soil(s)%sltt = 0.5 + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Pore-size distribution factor (slnm, aka lambda) and its inverse ! + ! (slbs, aka BC64's "b" factor). ! + !------------------------------------------------------------------------------! + soil(s)%slnm = exp( - 1.197 - 0.417 * soil(s)%xsilt + 0.450 * soil(s)%xclay & + - 8.940 * soil(s)%xsilt * soil(s)%xclay & + + 10.00 * soil(s)%xsilt * soil(s)%xsilt * soil(s)%xclay ) + soil(s)%slbs = 1./ soil(s)%slnm + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Ancillary parameters used for hydraulic conductivity. ! + !------------------------------------------------------------------------------! + soil(s)%slmm = 2. + soil(s)%sltt + 2. * soil(s)%slbs + soil(s)%slmu = -1. / soil(s)%slmm + !------------------------------------------------------------------------------! + + + !----- Saturation potential [m]. ----------------------------------------------! + soil(s)%slpots = -1. / grav & + * ( 0.285 + 7.33 * soil(s)%xsilt * soil(s)%xsilt & + - 1.30 * soil(s)%xsilt * soil(s)%xclay & + + 3.60 * soil(s)%xsilt * soil(s)%xsilt * soil(s)%xclay ) + soil(s)%slpotbp = soil(s)%slpots ! Bubbling point, assume saturation + soil(s)%slpotpo = soil(s)%slpots ! Porosity, assume saturation + soil(s)%malpha = 1. / soil(s)%slpotbp + !------------------------------------------------------------------------------! + + + !----- Soil moisture at saturation (porosity) [m3/m3]. ------------------------! + soil(s)%slmsts = 0.4061 + 0.165 * soil(s)%xsilt + 0.162 * soil(s)%xclay & + + 1.37e-3 * soil(s)%xsilt * soil(s)%xsilt & + + 1.80e-5 * soil(s)%xsilt * soil(s)%xsilt * soil(s)%xclay + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Bubbling point soil moisture and porosity, assume saturation [m3/m3]. ! + !------------------------------------------------------------------------------! + soil(s)%soilbp = soil(s)%slmsts ! Bubbling point + soil(s)%soilpo = soil(s)%slmsts ! Porosity + !------------------------------------------------------------------------------! + + + + !----- Residual moisture [m3/m3]. --------------------------------------------! + soil(s)%soilre = max( 0.0 & + , - 0.02095 + 0.047 * soil(s)%xsilt & + + 0.431 * soil(s)%xclay & + - 0.00827 * soil(s)%xsilt * soil(s)%xclay ) + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Field capacity is defined based on hydraulic conductivity of 0.1 ! + ! mm/day, following RS02. ! + !------------------------------------------------------------------------------! + soil(s)%slpotfc = slpotfc_MPa * 1.e6 / (grav * wdns) + soil(s)%sfldcap = soil_moisture(s,soil(s)%slpotfc) + !------------------------------------------------------------------------------! + + case (2) + !------------------------------------------------------------------------------! + ! Pedotransfer functions from vG80/M76. Unless noted otherwise, ! + ! the parameters for the function are from HT02, based on measurements in ! + ! the Brazilian Amazon. ! + !------------------------------------------------------------------------------! + + + !---- Flag for method. --------------------------------------------------------! + soil(s)%method = 'vG80' + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Pore tortuosity factor. M14 assumed 0.5, but there is evidence that ! + ! this parameter should be regarded as empirical and some studies suggested ! + ! that it should be even negative (e.g., SL00 and M17). We follow SL00 and ! + ! assume the parameter to be -1.0. ! + !------------------------------------------------------------------------------! + soil(s)%sltt = -1.0 + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Pore-size distribution factor (slnm, aka lambda) and its inverse ! + ! (slbs, aka BC64's "b" factor). ! + !------------------------------------------------------------------------------! + soil(s)%slnm = exp( 0.62986 - 0.833 * soil(s)%xclay - 0.529 * soil(s)%slsoc & + + 0.00593 * soil(s)%slph & + + 0.700 * soil(s)%xclay * soil(s)%xclay & + - 1.400 * soil(s)%xsand * soil(s)%xsilt ) + soil(s)%slbs = 1./ soil(s)%slnm + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Ancillary parameters used for hydraulic conductivity. ! + !------------------------------------------------------------------------------! + soil(s)%slmm = 1. - 1. / soil(s)%slnm + soil(s)%slmu = soil(s)%slnm / (1. - soil(s)%slnm) + !------------------------------------------------------------------------------! + + + !----- Bubbling point potential [m]. Assume equivalent to saturation. --------! + soil(s)%slpotbp = -1. / grav & + * exp( 0.02294 + 3.526 * soil(s)%xsilt & + - 2.440 * soil(s)%slsoc + 0.076 * soil(s)%slcec & + + 0.11331 * soil(s)%slph & + - 1.90000 * soil(s)%xsilt * soil(s)%xsilt ) + soil(s)%malpha = 1. / soil(s)%slpotbp + !------------------------------------------------------------------------------! + + + + !----- Soil moisture and potential at porosity [m3/m3]. -----------------------! + soil(s)%soilpo = 0.81799 + 0.099 * soil(s)%xclay & + - 3.142e-4 * soil(s)%sldbd + 0.01800 * soil(s)%slcec & + + 0.00451 * soil(s)%slph & + - 0.050 * soil(s)%xsand * soil(s)%xclay + soil(s)%slpotpo = matric_potential(s,soil(s)%soilpo) + !------------------------------------------------------------------------------! + + + + !----- Residual moisture [m3/m3]. --------------------------------------------! + soil(s)%soilre = max( 0.0 & + , 0.22733 - 0.164 * soil(s)%xsand & + + 0.235 * soil(s)%slcec & + - 0.00831 * soil(s)%slph & + + 0.18 * soil(s)%xclay * soil(s)%xclay & + + 0.26 * soil(s)%xsand * soil(s)%xclay ) + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Soil moisture at "saturation". The vG80 approach assumes that actual ! + ! saturation occurs when soil matric potential is zero, which causes ! + ! singularities in many applications. To prevent FPE errors, we assume ! + ! that water potential zero corresponds to porosity (admittedly this is not ! + ! entirely accurate), and impose "saturation" for ED-2.2 purposes to be ! + ! when matric potential is -0.5 kPa, similar to the highest saturation ! + ! potential values obtained through Cosby et al. (1984) parametrisation. ! + !------------------------------------------------------------------------------! + soil(s)%slpots = slpots_MPa * 1.e6 / (grav * wdns) + soil(s)%slmsts = soil_moisture(s,soil(s)%slpots) + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Soil moisture at bubbling point. Unlike other schemes, we account ! + ! for the differences between bubbling point and porosity. ! + !------------------------------------------------------------------------------! + soil(s)%soilbp = soil_moisture(s,soil(s)%slpotbp) + !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Field capacity is defined based on hydraulic conductivity of 0.1 ! + ! mm/day, following RS02. ! + !------------------------------------------------------------------------------! + soil(s)%slpotfc = slpotfc_MPa * 1.e6 / (grav * wdns) + soil(s)%sfldcap = soil_moisture(s,soil(s)%slpotfc) + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! + ! Hydraulic conductivity at saturation [m/s]. Here we follow O19, ! + ! which depends upon the "effective porosity" (or difference between actual ! + ! porosity and soil moisture at -0.033 MPa). ! + !------------------------------------------------------------------------------! + slpot33 = slpot33_MPa * 1.e6 / (grav * wdns) + soilep = max(0.,soil(s)%slmsts - soil_moisture(s,slpot33)) + soil(s)%slcons = 19.31 / day_sec * soilep ** 1.948 + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Additional derived parameters. ! + !---------------------------------------------------------------------------------! + select case (slhydro_ref(s)) + case (13) + !----- Bedrock, do nothing. ---------------------------------------------------! + soil(s)%slpotcp = 0.0 + soil(s)%slpotwp = 0.0 + soil(s)%slpotfr = 0.0 + soil(s)%slpotld = 0.0 + soil(s)%slpotfc = 0.0 + soil(s)%slpotbp = 0.0 + soil(s)%slpots = 0.0 + soil(s)%slpotpo = 0.0 + soil(s)%soilcp = 0.0 + soil(s)%soilwp = 0.0 + soil(s)%soilfr = 0.0 + soil(s)%soilld = 0.0 + soil(s)%sfldcap = 0.0 + soil(s)%soilbp = 0.0 + soil(s)%slmsts = 0.0 + soil(s)%soilpo = 0.0 + soil(s)%fhydraul = 0.0 + !------------------------------------------------------------------------------! + case default + !----- First guess, use water potential. --------------------------------------! + soil(s)%slpotwp = slpotwp_MPa * 1.e6 / ( grav * wdns ) + select case (trim(soil(s)%method)) + case ('vG80') + soil(s)%slpotcp = slpotdg_MPa * wdns / grav + case default + soil(s)%slpotcp = slpotcp_MPa * wdns / grav + end select + soil(s)%soilwp = soil_moisture(s,soil(s)%slpotwp) + soil(s)%soilcp = soil_moisture(s,soil(s)%slpotcp) + !----- In case soilcp is less than the residual (very unlikely), recalculate it. -! + if (soil(s)%soilcp < soil(s)%soilre) then + soil(s)%soilcp = soil(s)%soilre + soil(s)%slpotcp = matric_potential(s,soil(s)%soilcp) + end if + !----- Because we may have artificially increased soilcp, check soilwp. -------! + if (soil(s)%soilwp < soil(s)%soilcp) then + soil(s)%soilwp = soil(s)%soilcp + soil(s)%slpotwp = soil(s)%slpotcp + end if + !------------------------------------------------------------------------------! + + + + + !------------------------------------------------------------------------------! + ! Find two remaining properties, that depend on the user choices. ! + ! ! + ! SOILLD/SLPOTLD. ! + ! The critical soil moisture below which drought deciduous plants start ! + ! dropping their leaves. The sign of input variable THETACRIT matters ! + ! here. If the user gave a positive number (or 0), then the soil moisture ! + ! is a fraction above wilting point. If it is negative, the value is the ! + ! potential in MPa. ! + ! SOILFR/SLPOTFR. ! + ! The critical soil moisture below which fires may happen, provided that ! + ! the user wants fires, and that there is enough biomass to burn. The sign ! + ! of the input variable SM_FIRE matters here. If the user gave a positive ! + ! number (or 0), then the soil moisture is a fraction above dry air soil. ! + ! If it is negative, the value is the potential in MPa. ! + !------------------------------------------------------------------------------! + !----- Leaf drop. -------------------------------------------------------------! + if (thetacrit >= 0.0) then + soil(s)%soilld = soil(s)%soilwp & + + thetacrit * (soil(s)%slmsts-soil(s)%soilwp) + soil(s)%slpotld = matric_potential(s,soil(s)%soilld) + else + soil(s)%slpotld = thetacrit * 1.e6 / (grav * wdns) + soil(s)%soilld = soil_moisture(s,soil(s)%slpotld) + end if + !----- Fire. ------------------------------------------------------------------! + if (sm_fire >= 0.0) then + soil(s)%soilfr = soil(s)%soilcp + sm_fire * (soil(s)%slmsts-soil(s)%soilcp) + soil(s)%slpotfr = matric_potential(s,soil(s)%soilfr) + else + soil(s)%slpotfr = sm_fire * 1.e6 / (grav * wdns) + soil(s)%soilfr = soil_moisture(s,soil(s)%slpotfr) + end if + !------------------------------------------------------------------------------! + + + + + !------------------------------------------------------------------------------! + ! Define hydraulic parameter decay, similar to TOPMODEL. We currently use ! + ! the default value of 2.0, following N05's SIMTOP model. ! + ! ! + ! Niu GY, Yang ZL, Dickinson RE , Gulden LE. 2005. A simple TOPMODEL-based ! + ! runoff parameterization (SIMTOP) for use in global climate models. ! + ! J. Geophys. Res.-Atmos., 110: D21106. doi:10.1029/2005JD006111 (N05). ! + !------------------------------------------------------------------------------! + soil(s)%fhydraul = 2.0 + !------------------------------------------------------------------------------! + end select + !---------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------! + ! Heat capacity (J/m3/K). Here we take the volume average amongst silt, ! + ! clay, and sand, and consider the contribution of air sitting in. In order to ! + ! keep it simple, we assume that the air fraction won't change, although in ! + ! reality its contribution should be a function of soil moisture. Here we use ! + ! the amount of air in case the soil moisture was halfway between dry air and ! + ! saturated, so the error is not too biased. ! + !---------------------------------------------------------------------------------! + soil(s)%slcpd = (1. - soil(s)%slmsts) & + * ( soil(s)%xsand * sand_hcapv + soil(s)%xsilt * silt_hcapv & + + soil(s)%xclay * clay_hcapv ) & + + 0.5 * ( soil(s)%slmsts - soil(s)%soilcp ) * air_hcapv + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Thermal conductivity is the weighted average of thermal conductivities of ! + ! all materials, although a further weighting factor due to thermal gradient of ! + ! different materials. We use the de Vries model described at: ! + ! ! + ! Camillo, P., T.J. Schmugge, 1981: A computer program for the simulation of heat ! + ! and moisture flow in soils, NASA-TM-82121, Greenbelt, MD, United States. ! + ! ! + ! Parlange, M.B., et al., 1998: Review of heat and water movement in field soils, ! + ! Soil Till. Res., 47(1-2), 5-10. ! + ! ! + !---------------------------------------------------------------------------------! + !---- The k-factors, assuming spherical particles. -------------------------------! + ksand = 3. * h2o_thcond / ( 2. * h2o_thcond + sand_thcond ) + ksilt = 3. * h2o_thcond / ( 2. * h2o_thcond + silt_thcond ) + kclay = 3. * h2o_thcond / ( 2. * h2o_thcond + clay_thcond ) + kair = 3. * h2o_thcond / ( 2. * h2o_thcond + air_thcond ) + !---- The conductivity coefficients. ---------------------------------------------! + soil(s)%thcond0 = (1. - soil(s)%slmsts ) & + * ( ksand * soil(s)%xsand * sand_thcond & + + ksilt * soil(s)%xsilt * silt_thcond & + + kclay * soil(s)%xclay * clay_thcond ) & + + soil(s)%slmsts * kair * air_thcond + soil(s)%thcond1 = h2o_thcond - kair * air_thcond + soil(s)%thcond2 = (1. - soil(s)%slmsts ) & + * ( ksand * soil(s)%xsand + ksilt * soil(s)%xsilt & + + kclay * soil(s)%xclay ) & + + soil(s)%slmsts * kair + soil(s)%thcond3 = 1. - kair + !---------------------------------------------------------------------------------! + + end do + !------------------------------------------------------------------------------------! + + + + !----- Here we fill soil8, which will be used in Runge-Kutta (double precision). ----! + do s=1,ed_nstyp + soil8(s)%key = soil(s)%key + soil8(s)%method = soil(s)%method + soil8(s)%xsand = dble(soil(s)%xsand ) + soil8(s)%xsilt = dble(soil(s)%xsilt ) + soil8(s)%xclay = dble(soil(s)%xclay ) + soil8(s)%slsoc = dble(soil(s)%slsoc ) + soil8(s)%slph = dble(soil(s)%slph ) + soil8(s)%slcec = dble(soil(s)%slcec ) + soil8(s)%sldbd = dble(soil(s)%sldbd ) + soil8(s)%soilre = dble(soil(s)%soilre ) + soil8(s)%soilcp = dble(soil(s)%soilcp ) + soil8(s)%soilwp = dble(soil(s)%soilwp ) + soil8(s)%soilfr = dble(soil(s)%soilfr ) + soil8(s)%soilld = dble(soil(s)%soilld ) + soil8(s)%sfldcap = dble(soil(s)%sfldcap ) + soil8(s)%soilbp = dble(soil(s)%soilbp ) + soil8(s)%slmsts = dble(soil(s)%slmsts ) + soil8(s)%soilpo = dble(soil(s)%soilpo ) + soil8(s)%slpotcp = dble(soil(s)%slpotcp ) + soil8(s)%slpotwp = dble(soil(s)%slpotwp ) + soil8(s)%slpotfr = dble(soil(s)%slpotfr ) + soil8(s)%slpotld = dble(soil(s)%slpotld ) + soil8(s)%slpotfc = dble(soil(s)%slpotfc ) + soil8(s)%slpotbp = dble(soil(s)%slpotbp ) + soil8(s)%slpots = dble(soil(s)%slpots ) + soil8(s)%slpotpo = dble(soil(s)%slpotpo ) + soil8(s)%sltt = dble(soil(s)%sltt ) + soil8(s)%slnm = dble(soil(s)%slnm ) + soil8(s)%slbs = dble(soil(s)%slbs ) + soil8(s)%slmm = dble(soil(s)%slmm ) + soil8(s)%slmu = dble(soil(s)%slmu ) + soil8(s)%malpha = dble(soil(s)%malpha ) + soil8(s)%slcons = dble(soil(s)%slcons ) + soil8(s)%fhydraul = dble(soil(s)%fhydraul) + soil8(s)%slcpd = dble(soil(s)%slcpd ) + soil8(s)%thcond0 = dble(soil(s)%thcond0 ) + soil8(s)%thcond1 = dble(soil(s)%thcond1 ) + soil8(s)%thcond2 = dble(soil(s)%thcond2 ) + soil8(s)%thcond3 = dble(soil(s)%thcond3 ) + end do + !------------------------------------------------------------------------------------! + + + + + !------------------------------------------------------------------------------------! + ! Decide whether to write the table with the soil properties. ! + !------------------------------------------------------------------------------------! + print_soil_table = btest(idetailed,5) + !------------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------------! + ! Print the parameters in case the user wants it. ! + !------------------------------------------------------------------------------------! + if (print_soil_table) then + !----- Open and write header. ----------------------------------------------------! + open (unit=26,file=trim(soil_table_fn),status='replace',action='write') + write(unit=26,fmt='(38(a,1x))') 'ISOIL', ' KEY', 'TYPE' & + ,' XSAND',' XSILT',' XCLAY' & + ,' SLSOC',' SLPH',' SLCEC' & + ,' SLDBD',' SOILRE',' SOILCP' & + ,' SOILWP',' SOILFR',' SOILLD' & + ,' SOILFC',' SOILBP',' SOILPO' & + ,' SLPOTCP',' SLPOTWP',' SLPOTFR' & + ,' SLPOTLD',' SLPOTFC',' SLPOTBP' & + ,' SLPOTPO',' SLTT',' SLNM' & + ,' SLBS',' SLMM',' SLMU' & + ,' MALPHA',' SLCONS_MMHR',' FHYDRAUL' & + ,' SLCPD_MJm3K',' THCOND0',' THCOND1' & + ,' THCOND2',' THCOND3' + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Loop over soil texture types. ! + !---------------------------------------------------------------------------------! + do s=1,ed_nstyp + !----- For some variables, we use different units to make them more legible. --! + slcons_mmhr = soil(s)%slcons*1000.*hr_sec + slcpd_mjm3k = soil(s)%slcpd*0.001 + !------------------------------------------------------------------------------! + + !----- Add soil characteristics. ----------------------------------------------! + write(unit=26,fmt='(i5,1x,2(a4,1x),35(f12.5,1x))') & + s,adjustr(soil(s)%key),adjustr(soil(s)%method) & + ,soil(s)%xsand ,soil(s)%xsilt ,soil(s)%xclay & + ,soil(s)%slsoc ,soil(s)%slph ,soil(s)%slcec & + ,soil(s)%sldbd ,soil(s)%soilre ,soil(s)%soilcp & + ,soil(s)%soilwp ,soil(s)%soilfr ,soil(s)%soilld & + ,soil(s)%sfldcap ,soil(s)%soilbp ,soil(s)%slmsts & + ,soil(s)%slpotcp ,soil(s)%slpotwp ,soil(s)%slpotfr & + ,soil(s)%slpotld ,soil(s)%slpotfc ,soil(s)%slpotbp & + ,soil(s)%slpots ,soil(s)%sltt ,soil(s)%slnm & + ,soil(s)%slbs ,soil(s)%slmm ,soil(s)%slmu & + ,soil(s)%malpha ,slcons_mmhr ,soil(s)%fhydraul & + ,slcpd_mjm3k ,soil(s)%thcond0 ,soil(s)%thcond1 & + ,soil(s)%thcond2 ,soil(s)%thcond3 + !------------------------------------------------------------------------------! + end do + !---------------------------------------------------------------------------------! + + + !----- Close table. --------------------------------------------------------------! + close(unit=26,status='keep') + !---------------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------------! + + + return + end subroutine ed_gen_soil_table + !=======================================================================================! + !=======================================================================================! + + + + + + !=======================================================================================! !=======================================================================================! ! This function determines the soil class based on the fraction of sand, clay, and ! diff --git a/ED/src/utils/ed_filelist.F90 b/ED/src/utils/ed_filelist.F90 index 88dd482bc..fda922c5b 100644 --- a/ED/src/utils/ed_filelist.F90 +++ b/ED/src/utils/ed_filelist.F90 @@ -198,7 +198,7 @@ subroutine ed1_fileinfo(text,nfiles,full_list,ntype,type_list,tlon_list,tlat_lis select case(text) case ('.site') okdot = 4 - case ('.pss','.css','.txt') + case ('.sss','.pss','.css','.txt') okdot = 3 case ('.lu') okdot = 2 diff --git a/ED/src/utils/numutils.f90 b/ED/src/utils/numutils.f90 index de2c50065..22c830115 100644 --- a/ED/src/utils/numutils.f90 +++ b/ED/src/utils/numutils.f90 @@ -906,3 +906,73 @@ end function fquant_mask !==========================================================================================! !==========================================================================================! + + + +!==========================================================================================! +!==========================================================================================! +! FUNCTION bpow01 +!\brief Safe power estimate to avoid floating point exceptions +!\author Marcos Longo 3 March 2021 +!\details This function to calculate power functions for numbers bounded between 0 and 1 +!! safely. It uses that y = x ** a = exp(a * ln(x)), and use the safe log limits +!! to avoid FPE errors. This function "should" work for values greater than 1 too, +!! but don't use if for negative numbers. +!------------------------------------------------------------------------------------------! +real(kind=4) function bpow01(x,a) + use consts_coms, only : lnexp_min & ! intent(in) + , lnexp_max ! ! intent(in) + implicit none + !----- Arguments. ----------------------------------------------------------------------! + real(kind=4), intent(in) :: x + real(kind=4), intent(in) :: a + !----- Internal variables. -------------------------------------------------------------! + real(kind=4) :: lnexp + !---------------------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------------------! + ! Check if x is greater than zero (if it is exactly zero, we cannot use the log ! + ! approach). ! + !---------------------------------------------------------------------------------------! + if (x > 0.) then + + + !----- Find the bounded term inside the exponential. --------------------------------! + lnexp = max(lnexp_min,min(lnexp_max,a * log(x))) + !------------------------------------------------------------------------------------! + + + !----- Report result. ---------------------------------------------------------------! + bpow01 = exp(lnexp) + !------------------------------------------------------------------------------------! + else if (x == 0. .and. a > 0.) then + !----- By definition 0^a = 0 as long as a > 0. --------------------------------------! + bpow01 = 0. + !------------------------------------------------------------------------------------! + else + !------------------------------------------------------------------------------------! + ! Invalid input data, stop everything. ! + !------------------------------------------------------------------------------------! + write(unit=*,fmt='(a)' ) '-----------------------------------------------' + write(unit=*,fmt='(a)' ) ' Invalid variables for bpow01!' + write(unit=*,fmt='(a)' ) '-----------------------------------------------' + write(unit=*,fmt='(a,1x,es12.5)') ' x = ',x + write(unit=*,fmt='(a,1x,es12.5)') ' a = ',a + write(unit=*,fmt='(a)' ) '-----------------------------------------------' + write(unit=*,fmt='(a)' ) ' If x >= 0., then make sure a >= 0. ' + write(unit=*,fmt='(a)' ) ' If x = 0., then make sure a > 0. ' + write(unit=*,fmt='(a)' ) ' Negative x values are not allowed. ' + write(unit=*,fmt='(a)' ) '-----------------------------------------------' + call fatal_error('Invalid values for x and/or a.','bpow01','numutils.f90') + !------------------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------------------! + + + return +end function bpow01 +!==========================================================================================! +!==========================================================================================! + diff --git a/ED/src/utils/rsys.F90 b/ED/src/utils/rsys.F90 index ca3ba998f..ff3b45567 100644 --- a/ED/src/utils/rsys.F90 +++ b/ED/src/utils/rsys.F90 @@ -117,7 +117,7 @@ logical function isnan_real(x) !---------------------------------------------------------------------------------------! #if defined(PGI) - isnan_real = x == x + isnan_real = x /= x #else isnan_real = isnan(x) #endif @@ -131,6 +131,31 @@ end function isnan_real +!==========================================================================================! +!==========================================================================================! +! Function that checks whether a number is NaN. This works with PGI, Intel, and GNU. ! +!------------------------------------------------------------------------------------------! +logical function isnan_dble(x) + implicit none + !------ Arguments. ---------------------------------------------------------------------! + real(kind=8), intent(in) :: x + !---------------------------------------------------------------------------------------! + +#if defined(PGI) + isnan_dble = x /= x +#else + isnan_dble = isnan(x) +#endif + + return +end function isnan_dble +!==========================================================================================! +!==========================================================================================! + + + + + !==========================================================================================! !==========================================================================================! ! Function that waits for a few seconds before moving on. This may be useful for OMP ! diff --git a/ED/src/utils/update_derived_utils.f90 b/ED/src/utils/update_derived_utils.f90 index 7ab3c2752..30011a4fb 100644 --- a/ED/src/utils/update_derived_utils.f90 +++ b/ED/src/utils/update_derived_utils.f90 @@ -794,7 +794,7 @@ end subroutine update_patch_derived_props !=======================================================================================! ! This subroutine will take care of some diagnostic thermodynamic properties. ! !---------------------------------------------------------------------------------------! - subroutine update_patch_thermo_props(csite,ipaa,ipaz,mzg,mzs,ntext_soil) + subroutine update_patch_thermo_props(csite,ipaa,ipaz,mzg,mzs,lsl,ntext_soil) use ed_state_vars, only : sitetype ! ! structure use therm_lib , only : idealdenssh & ! function @@ -815,6 +815,7 @@ subroutine update_patch_thermo_props(csite,ipaa,ipaz,mzg,mzs,ntext_soil) integer , intent(in) :: ipaz integer , intent(in) :: mzg integer , intent(in) :: mzs + integer , intent(in) :: lsl integer , dimension(mzg), intent(in) :: ntext_soil !----- Local variables. -------------------------------------------------------------! integer :: ipa @@ -841,7 +842,7 @@ subroutine update_patch_thermo_props(csite,ipaa,ipaz,mzg,mzs,ntext_soil) !----- Update soil temperature and liquid water fraction. ------------------------! - do k = 1, mzg + do k = lsl, mzg nsoil = ntext_soil(k) soilhcap = soil(nsoil)%slcpd call uextcm2tl(csite%soil_energy(k,ipa),csite%soil_water(k,ipa)*wdns,soilhcap & @@ -890,7 +891,7 @@ end subroutine update_patch_thermo_props ! This subroutine will update the fast mean properties, similarly to the routine ! ! above. ! !---------------------------------------------------------------------------------------! - subroutine update_patch_thermo_fmean(csite,ipaa,ipaz,mzg,ntext_soil) + subroutine update_patch_thermo_fmean(csite,ipaa,ipaz,mzg,lsl,ntext_soil) use ed_state_vars, only : sitetype ! ! structure use therm_lib , only : idealdenssh & ! function @@ -911,6 +912,7 @@ subroutine update_patch_thermo_fmean(csite,ipaa,ipaz,mzg,ntext_soil) integer , intent(in) :: ipaa integer , intent(in) :: ipaz integer , intent(in) :: mzg + integer , intent(in) :: lsl integer , dimension(mzg), intent(in) :: ntext_soil !----- Local variables. -------------------------------------------------------------! integer :: ipa @@ -937,7 +939,7 @@ subroutine update_patch_thermo_fmean(csite,ipaa,ipaz,mzg,ntext_soil) !----- Update soil temperature and liquid water fraction. ------------------------! - do k = 1, mzg + do k = lsl, mzg nsoil = ntext_soil(k) soilhcap = soil(nsoil)%slcpd call uextcm2tl( csite%fmean_soil_energy(k,ipa) & diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..8dcbc32c1 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,9 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Models/EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false #------------------------------------------------------------------------------------------# From b166449177c618b00c1fa1b2880244ba0a764d79 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sat, 7 Jan 2023 16:33:40 -0300 Subject: [PATCH 07/62] Multiple minor bug fixes, a few new variables, and changes for better readability. 1. In reproduction, the carbon budget was wrong when REPRO_SCHEME = 2 due to the incorrect site pointers when exchanging seeds. 2. Minor changes to reading met drivers to allow CO2 fertilisation drivers to not follow the met driver cycle only when CO2 drivers exist outside the meteorological cycle. 3. Added a new set of variables to report the area covered by snow (or temporary surface water) 4. Renamed a few variables and subroutines so they reflect more accurately what they are representing. --- ED/build/make/include.mk.macosx | 29 ++-- ED/src/driver/ed_met_driver.f90 | 165 ++++++++++++++---- ED/src/dynamics/disturbance.f90 | 12 ++ ED/src/dynamics/euler_driver.f90 | 2 +- ED/src/dynamics/farq_katul.f90 | 19 +- ED/src/dynamics/fire.f90 | 6 +- ED/src/dynamics/heun_driver.f90 | 2 +- ED/src/dynamics/hybrid_driver.f90 | 2 +- ED/src/dynamics/reproduction.f90 | 13 +- ED/src/dynamics/rk4_copy_patch.f90 | 2 + ED/src/dynamics/rk4_driver.F90 | 2 +- ED/src/dynamics/vegetation_dynamics.f90 | 4 +- ED/src/init/ed_params.f90 | 2 +- ED/src/init/ed_type_init.f90 | 10 +- ED/src/io/average_utils.f90 | 123 ++++++++++--- ED/src/io/ed_init_history.f90 | 16 +- ED/src/memory/ed_state_vars.F90 | 121 ++++++++++++- ED/src/utils/fuse_fiss_utils.f90 | 8 + diff_version.sh | 219 ++++++++++++++++++------ 19 files changed, 585 insertions(+), 172 deletions(-) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..afbfd7cc3 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -5,7 +5,7 @@ #----- Define make (gnu make works best). -------------------------------------------------# -MAKE=/usr/bin/make +MAKE=/usr/local/bin/make #------------------------------------------------------------------------------------------# #----- Libraries. -------------------------------------------------------------------------# @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=${HOME}/Util/ED2_Libs/zlib-1.2.11 +HDF5_PATH=${HOME}/Util/ED2_Libs/hdf5-1.12.1 HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,10 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=gfortran-12 +C_COMP=gcc-12 +LOADER=gfortran-12 +C_LOADER=gcc-12 LIBS= MOD_EXT=mod ############################################################################################ @@ -88,20 +88,17 @@ endif ifeq ($(KIND_COMP),A) F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror -mmacosx-version-min=10.12 \ - -fopenmp -static - C_OPTS= -O0 -DLITTLE -g -static + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror \ - -mmacosx-version-min=10.12 -fopenmp + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp \ - -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# diff --git a/ED/src/driver/ed_met_driver.f90 b/ED/src/driver/ed_met_driver.f90 index e6fb7449a..f4db066f3 100644 --- a/ED/src/driver/ed_met_driver.f90 +++ b/ED/src/driver/ed_met_driver.f90 @@ -527,7 +527,6 @@ subroutine read_met_drivers_init ! We now retrieve the met driver year based on the stored sequence. ! !------------------------------------------------------------------------------------! iyear = current_time%year-iyeara+1 - year_use = metyears(iyear) gridloop: do igr = 1,ngrids @@ -545,8 +544,30 @@ subroutine read_met_drivers_init !------------------------------------------------------------------------------! not_cycle_co2 = (met_nv(iformat) == 1 .and. trim(met_vars(iformat,1)) == 'co2') if (not_cycle_co2) then - year_use = current_time%year - endif + !---------------------------------------------------------------------------! + ! Make sure that the special CO2 file exists. If not, then use the ! + ! default met cycle years. ! + !---------------------------------------------------------------------------! + write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)),current_time%year & + ,mname(current_time%month),'.h5' + inquire(file=trim(infile),exist=exans) + if (exans) then + !----- Allow CO2 outside met cycle. -------------------------------------! + year_use = current_time%year + !------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. -----------! + year_use = metyears(iyear) + !------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. --------------! + year_use = metyears(iyear) + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + !----- Create the file name and check whether it exists. ----------------------! write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)), year_use & ,mname(current_time%month),'.h5' @@ -599,12 +620,33 @@ subroutine read_met_drivers_init y2 = current_time%year end if iyear = y2 - iyeara + 1 - year_use_2 = metyears(iyear) - - ! Again consider the special case of not cycling co2 + + !------------------------------------------------------------------------------# + ! Again consider the special case of not cycling co2 + !------------------------------------------------------------------------------# if (not_cycle_co2) then - year_use_2 = y2 - endif + !---------------------------------------------------------------------------! + ! Make sure that the special CO2 file exists. If not, then use the ! + ! default met cycle years. ! + !---------------------------------------------------------------------------! + write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)),y2 & + ,mname(current_time%month),'.h5' + inquire(file=trim(infile),exist=exans) + if (exans) then + !----- Allow CO2 outside met cycle. -------------------------------------! + year_use_2 = y2 + !------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. -----------! + year_use_2 = metyears(iyear) + !------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. --------------! + year_use_2 = metyears(iyear) + !---------------------------------------------------------------------------! + end if !----- Now, open the file once. -----------------------------------------------! write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)), year_use_2 & ,mname(m2),'.h5' @@ -615,7 +657,7 @@ subroutine read_met_drivers_init call fatal_error('Cannot open met driver input file '//trim(infile)//'!' & ,'read_met_drivers_init','ed_met_driver.f90') end if - + !----- Loop over variables. ---------------------------------------------------! varloop: do iv = 1, met_nv(iformat) @@ -674,6 +716,8 @@ subroutine read_met_drivers type(edtype) , pointer :: cgrid character(len=str_len) :: infile integer :: igr + integer :: year_cyc + integer :: year_cyc_2 integer :: year_use integer :: ncyc integer :: iformat @@ -694,17 +738,17 @@ subroutine read_met_drivers !----- If we need to recycle over years, find the appropriate year to apply. --------! - year_use = current_time%year + year_cyc = current_time%year ncyc = metcycf - metcyc1 + 1 !----- If we are after the last year... ---------------------------------------------! - do while(year_use > metcycf) - year_use = year_use - ncyc + do while(year_cyc > metcycf) + year_cyc = year_cyc - ncyc end do !----- If we are before the first year... -------------------------------------------! - do while(year_use < metcyc1) - year_use = year_use + ncyc + do while(year_cyc < metcyc1) + year_cyc = year_cyc + ncyc end do gridloop: do igr=1,ngrids @@ -713,7 +757,6 @@ subroutine read_met_drivers !----- Loop over the different file formats --------------------------------------! formloop: do iformat = 1, nformats - !------------------------------------------------------------------------------! ! SPECIAL CASE FOR CO2: ! ! Usually we do not want to cycle CO2 but only the other meteorology. ! @@ -722,8 +765,32 @@ subroutine read_met_drivers !------------------------------------------------------------------------------! not_cycle_co2 = (met_nv(iformat) == 1 .and. trim(met_vars(iformat,1)) == 'co2') if (not_cycle_co2) then - year_use = current_time%year - endif + !---------------------------------------------------------------------------! + ! Make sure that the special CO2 file exists. If not, then use the ! + ! default met cycle years. ! + !---------------------------------------------------------------------------! + write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)),current_time%year & + ,mname(current_time%month),'.h5' + inquire(file=trim(infile),exist=exans) + if (exans) then + !----- Allow CO2 outside met cycle. -------------------------------------! + year_use = current_time%year + !------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. -----------! + year_use = year_cyc + !------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. --------------! + year_use = year_cyc + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + + + !----- Create the file name and check whether it exists. ----------------------! write(infile,'(a,i4.4,a,a)')trim(met_names(iformat)), year_use, & mname(current_time%month),'.h5' @@ -766,37 +833,63 @@ subroutine read_met_drivers !------------------------------------------------------------------------------! ! For all interpolated variables, we also need the next time. ! !------------------------------------------------------------------------------! - !------ Find next month and year ----------------------------------------------! - m2 = current_time%month + 1 - y2 = current_time%year - year_use_2 = year_use - - + !------------------------------------------------------------------------------! - ! If this takes us into the next year, increment year and reset month to ! - ! January. ! + ! Find next month and year. If this takes us into the next year, increment ! + ! year and reset month to January. ! !------------------------------------------------------------------------------! - if(m2 == 13)then + m2 = current_time%month + 1 + select case (m2) + case (13) m2 = 1 y2 = current_time%year + 1 - year_use_2 = y2 + year_cyc_2 = y2 !----- If we are now after the last year... --------------------------------! - do while(year_use_2 > metcycf) - year_use_2 = year_use_2 - ncyc + do while(year_cyc_2 > metcycf) + year_cyc_2 = year_cyc_2 - ncyc end do - + !---------------------------------------------------------------------------! + !----- If we are now before the first year... ------------------------------! do while(year_use_2 < metcyc1) - year_use_2 = year_use_2 + ncyc + year_cyc_2 = year_cyc_2 + ncyc end do - end if + !---------------------------------------------------------------------------! + case default + !---- Same year as the previous month. -------------------------------------! + y2 = current_time%year + year_cyc_2 = year_cyc + !---------------------------------------------------------------------------! + end select - ! Again, consider the special case for not_cycle_co2 + !---- Again, consider the special case for not_cycle_co2. ---------------------! if (not_cycle_co2) then - year_use_2 = y2 - endif - + !---------------------------------------------------------------------------! + ! Make sure that the special CO2 file exists. If not, then use the ! + ! default met cycle years. ! + !---------------------------------------------------------------------------! + write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)),y2 & + ,mname(current_time%month),'.h5' + inquire(file=trim(infile),exist=exans) + if (exans) then + !----- Allow CO2 outside met cycle. -------------------------------------! + year_use_2 = y2 + !------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. -----------! + year_use_2 = year_cyc_2 + !------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------! + else + !----- Typical case. Pool data from the meteorological cycle. --------------! + year_use = year_cyc_2 + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + + !----- Now, open the file once. -----------------------------------------------! write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)), year_use_2 & ,mname(m2),'.h5' diff --git a/ED/src/dynamics/disturbance.f90 b/ED/src/dynamics/disturbance.f90 index f1dc10627..ad0728a26 100644 --- a/ED/src/dynamics/disturbance.f90 +++ b/ED/src/dynamics/disturbance.f90 @@ -2265,6 +2265,9 @@ subroutine increment_patch_vars(csite,np,cp,area_fac,cb_enthalpy,can_exner,cb_ma csite%fmean_sfcw_mass (np) = csite%fmean_sfcw_mass (np) & + csite%fmean_sfcw_mass (cp) & * area_fac + csite%fmean_snowfac (np) = csite%fmean_snowfac (np) & + + csite%fmean_snowfac (cp) & + * area_fac csite%fmean_rshort_gnd (np) = csite%fmean_rshort_gnd (np) & + csite%fmean_rshort_gnd (cp) & * area_fac @@ -2487,6 +2490,9 @@ subroutine increment_patch_vars(csite,np,cp,area_fac,cb_enthalpy,can_exner,cb_ma csite%dmean_sfcw_fliq ( np) = csite%dmean_sfcw_fliq ( np) & + csite%dmean_sfcw_fliq ( cp) & * area_fac + csite%dmean_snowfac ( np) = csite%dmean_snowfac ( np) & + + csite%dmean_snowfac ( cp) & + * area_fac csite%dmean_rshort_gnd ( np) = csite%dmean_rshort_gnd ( np) & + csite%dmean_rshort_gnd ( cp) & * area_fac @@ -2770,6 +2776,9 @@ subroutine increment_patch_vars(csite,np,cp,area_fac,cb_enthalpy,can_exner,cb_ma csite%mmean_sfcw_fliq ( np) = csite%mmean_sfcw_fliq ( np) & + csite%mmean_sfcw_fliq ( cp) & * area_fac + csite%mmean_snowfac ( np) = csite%mmean_snowfac ( np) & + + csite%mmean_snowfac ( cp) & + * area_fac csite%mmean_rshort_gnd ( np) = csite%mmean_rshort_gnd ( np) & + csite%mmean_rshort_gnd ( cp) & * area_fac @@ -3065,6 +3074,9 @@ subroutine increment_patch_vars(csite,np,cp,area_fac,cb_enthalpy,can_exner,cb_ma csite%qmean_sfcw_fliq ( :,np) = csite%qmean_sfcw_fliq ( :,np) & + csite%qmean_sfcw_fliq ( :,cp) & * area_fac + csite%qmean_snowfac ( :,np) = csite%qmean_snowfac ( :,np) & + + csite%qmean_snowfac ( :,cp) & + * area_fac csite%qmean_soil_energy (:,:,np) = csite%qmean_soil_energy (:,:,np) & + csite%qmean_soil_energy (:,:,cp) & * area_fac diff --git a/ED/src/dynamics/euler_driver.f90 b/ED/src/dynamics/euler_driver.f90 index 416104399..a1bcbb0b5 100644 --- a/ED/src/dynamics/euler_driver.f90 +++ b/ED/src/dynamics/euler_driver.f90 @@ -97,7 +97,7 @@ subroutine euler_timestep(cgrid) ! Update the monthly rainfall. ! !------------------------------------------------------------------------------! imon = current_time%month - cpoly%avg_monthly_pcpg(imon,isi) = cpoly%avg_monthly_pcpg(imon,isi) & + cpoly%avg_monthly_accp(imon,isi) = cpoly%avg_monthly_accp(imon,isi) & + cmet%pcpg * dtlsm !------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..cb3cd6ea7 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -247,9 +247,6 @@ subroutine katul_lphys(ib,can_prss,can_rhos,can_shv,can_co2,ipft,leaf_par,leaf_t !update photosynthetic parameters with water stress select case (h2o_plant_lim) - case (0,1,2,3) - ! use fsw to account for water stress in photosyn_driv - water_stress_factor = 1. case (4) ! leaf water potential will influence stomata optimization ! at two different scales @@ -268,6 +265,9 @@ subroutine katul_lphys(ib,can_prss,can_rhos,can_shv,can_co2,ipft,leaf_par,leaf_t 1. / (1. + & 0.1 * (leaf_psi / leaf_psi_tlp(ipft)) ** 6.0))) lambda8 = lambda8 * dble(exp(stoma_beta(ipft) * dmax_leaf_psi)) + case default + ! use fsw to account for water stress in photosyn_driv + water_stress_factor = 1. end select !thispft(ib)%vm0 = thispft(ib)%vm0 * dble(water_stress_factor) @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,16 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario - !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/fire.f90 b/ED/src/dynamics/fire.f90 index 0df3bcbf3..b93c9703e 100644 --- a/ED/src/dynamics/fire.f90 +++ b/ED/src/dynamics/fire.f90 @@ -62,7 +62,7 @@ subroutine fire_frequency(cgrid) real :: fuel real :: ignition_rate real :: mean_fire_intensity - real :: sum_pcpg + real :: sum_accp logical :: people_around !------------------------------------------------------------------------------------! @@ -97,8 +97,8 @@ subroutine fire_frequency(cgrid) ! Find the total rainfall of the past year and reset the counter for this ! ! month. ! !------------------------------------------------------------------------------! - sum_pcpg = sum(cpoly%avg_monthly_pcpg(:,isi)) - cpoly%avg_monthly_pcpg(imon,isi) = 0. + sum_accp = sum(cpoly%avg_monthly_accp(:,isi)) + cpoly%avg_monthly_accp(imon,isi) = 0. !------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/heun_driver.f90 b/ED/src/dynamics/heun_driver.f90 index c3c9631b6..d5aae0d2d 100644 --- a/ED/src/dynamics/heun_driver.f90 +++ b/ED/src/dynamics/heun_driver.f90 @@ -98,7 +98,7 @@ subroutine heun_timestep(cgrid) ! Update the monthly rainfall. ! !------------------------------------------------------------------------------! imon = current_time%month - cpoly%avg_monthly_pcpg(imon,isi) = cpoly%avg_monthly_pcpg(imon,isi) & + cpoly%avg_monthly_accp(imon,isi) = cpoly%avg_monthly_accp(imon,isi) & + cmet%pcpg * dtlsm !------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/hybrid_driver.f90 b/ED/src/dynamics/hybrid_driver.f90 index 7aaf1d59f..54689f0d7 100644 --- a/ED/src/dynamics/hybrid_driver.f90 +++ b/ED/src/dynamics/hybrid_driver.f90 @@ -107,7 +107,7 @@ subroutine hybrid_timestep(cgrid) ! Update the monthly rainfall. ! !---------------------------------------------------------------------! imon = current_time%month - cpoly%avg_monthly_pcpg(imon,isi) = cpoly%avg_monthly_pcpg(imon,isi) & + cpoly%avg_monthly_accp(imon,isi) = cpoly%avg_monthly_accp(imon,isi) & + cmet%pcpg * dtlsm !---------------------------------------------------------------------! diff --git a/ED/src/dynamics/reproduction.f90 b/ED/src/dynamics/reproduction.f90 index 170fec5a8..52ab6a4d6 100644 --- a/ED/src/dynamics/reproduction.f90 +++ b/ED/src/dynamics/reproduction.f90 @@ -179,6 +179,7 @@ subroutine reproduction_driver(cgrid,month,veget_dyn_on) !----- The big loops start here. -------------------------------------------------! polyloop: do ipy = 1,cgrid%npolygons + cpoly => cgrid%polygon(ipy) !------------------------------------------------------------------------------! ! Check whether this is late spring/early summer. This is needed for ! @@ -187,8 +188,8 @@ subroutine reproduction_driver(cgrid,month,veget_dyn_on) !------------------------------------------------------------------------------! late_spring = (cgrid%lat(ipy) >= 0.0 .and. month == 6) .or. & (cgrid%lat(ipy) < 0.0 .and. month == 12) + !------------------------------------------------------------------------------! - cpoly => cgrid%polygon(ipy) siteloop_sort: do isi = 1,cpoly%nsites csite => cpoly%site(isi) @@ -1286,8 +1287,8 @@ subroutine seed_dispersal(cpoly,late_spring) ! of them will land again in this patch, and we correct for this further ! ! down. ! !------------------------------------------------------------------------! - csite%cbudget_seedrain(donpa) = csite%cbudget_seedrain(donpa) & - - bseed_maygo * frqsumi + donsite%cbudget_seedrain(donpa) = donsite%cbudget_seedrain(donpa) & + - bseed_maygo * frqsumi !------------------------------------------------------------------------! @@ -1314,7 +1315,7 @@ subroutine seed_dispersal(cpoly,late_spring) ! (4) RPY = DPA * AD * AR (1->3) ! ! (5) RPA = DPA * AD (4->2, regardless of the patch) ! !------------------------------------------------------------------------! - bseed_xpatch = bseed_maygo * csite%area(donpa) * cpoly%area(donsi) + bseed_xpatch = bseed_maygo * donsite%area(donpa) * cpoly%area(donsi) !------------------------------------------------------------------------! @@ -1343,8 +1344,8 @@ subroutine seed_dispersal(cpoly,late_spring) ! subtracted all the non-local dispersal outside the receptor site ! ! loop. ! !------------------------------------------------------------------! - csite%cbudget_seedrain(recpa) = csite%cbudget_seedrain(recpa) & - + bseed_xpatch * frqsumi + recsite%cbudget_seedrain(recpa) = recsite%cbudget_seedrain(recpa) & + + bseed_xpatch * frqsumi !------------------------------------------------------------------! diff --git a/ED/src/dynamics/rk4_copy_patch.f90 b/ED/src/dynamics/rk4_copy_patch.f90 index 9fbeff87e..fc7556a37 100644 --- a/ED/src/dynamics/rk4_copy_patch.f90 +++ b/ED/src/dynamics/rk4_copy_patch.f90 @@ -2092,6 +2092,8 @@ subroutine initp2modelp(hdid,initp,csite,ipa,nighttime,wbudget_loss2atm,ebudget_ + csite%ground_shv (ipa) * dtlsm_o_frqsum csite%fmean_can_ggnd (ipa) = csite%fmean_can_ggnd (ipa) & + csite%ggnet (ipa) * dtlsm_o_frqsum + csite%fmean_snowfac (ipa) = csite%fmean_snowfac (ipa) & + + csite%snowfac (ipa) * dtlsm_o_frqsum !------------------------------------------------------------------------------------! ! Snow/pounding layers. We keep track of the total, not individual layers. ! ! Energy will be integrated as an extensive variable, we will convert it by the ! diff --git a/ED/src/dynamics/rk4_driver.F90 b/ED/src/dynamics/rk4_driver.F90 index ae758614c..38ba31935 100644 --- a/ED/src/dynamics/rk4_driver.F90 +++ b/ED/src/dynamics/rk4_driver.F90 @@ -112,7 +112,7 @@ subroutine rk4_timestep(cgrid) ! Update the monthly rainfall. ! !------------------------------------------------------------------------------! imon = current_time%month - cpoly%avg_monthly_pcpg(imon,isi) = cpoly%avg_monthly_pcpg(imon,isi) & + cpoly%avg_monthly_accp(imon,isi) = cpoly%avg_monthly_accp(imon,isi) & + cmet%pcpg * dtlsm !------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/vegetation_dynamics.f90 b/ED/src/dynamics/vegetation_dynamics.f90 index 645ae24c9..c30e6dcd7 100644 --- a/ED/src/dynamics/vegetation_dynamics.f90 +++ b/ED/src/dynamics/vegetation_dynamics.f90 @@ -34,7 +34,7 @@ subroutine veg_dynamics_driver(new_month,new_year,gr_tfact0,veget_dyn_on) , yr_day ! ! intent(in) use mem_polygons , only : maxpatch ! ! intent(in) use average_utils , only : normalize_ed_today_vars & ! sub-routine - , normalize_ed_todaynpp_vars & ! sub-routine + , copy_today_to_dmean_vars & ! sub-routine , zero_ed_today_vars ! ! sub-routine use canopy_radiation_coms, only : ihrzrad ! ! intent(in) use hrzshade_utils , only : split_hrzshade & ! sub-routine @@ -129,7 +129,7 @@ subroutine veg_dynamics_driver(new_month,new_year,gr_tfact0,veget_dyn_on) !------ update dmean and mmean values for NPP allocation terms ------------------! - call normalize_ed_todayNPP_vars(cgrid) + call copy_today_to_dmean_vars(cgrid) !---------------------------------------------------------------------------------! diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 98b14d90b..f991239ae 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -525,7 +525,7 @@ subroutine init_decomp_params() rh0 = 0.700 ! 0.701 ! 0.425 rh_q10 = 1.500 ! 1.500 ! 1.893 rh_p_smoist = 1.600 ! 0.836 ! 0.606 - rh_p_oxygen = 0.600 ! 0.404 ! 0.164 + rh_p_oxygen = 0.450 ! 0.404 ! 0.164 !---------------------------------------------------------------------------------------! diff --git a/ED/src/init/ed_type_init.f90 b/ED/src/init/ed_type_init.f90 index 456c93fd4..51a7b1187 100644 --- a/ED/src/init/ed_type_init.f90 +++ b/ED/src/init/ed_type_init.f90 @@ -1128,6 +1128,7 @@ subroutine init_ed_patch_vars(csite,ipaa,ipaz,lsl) csite%fmean_sfcw_mass (ipaa:ipaz) = 0.0 csite%fmean_sfcw_temp (ipaa:ipaz) = 0.0 csite%fmean_sfcw_fliq (ipaa:ipaz) = 0.0 + csite%fmean_snowfac (ipaa:ipaz) = 0.0 csite%fmean_rshort_gnd (ipaa:ipaz) = 0.0 csite%fmean_par_gnd (ipaa:ipaz) = 0.0 csite%fmean_rlong_gnd (ipaa:ipaz) = 0.0 @@ -1210,6 +1211,7 @@ subroutine init_ed_patch_vars(csite,ipaa,ipaz,lsl) csite%dmean_sfcw_mass (ipaa:ipaz) = 0.0 csite%dmean_sfcw_temp (ipaa:ipaz) = 0.0 csite%dmean_sfcw_fliq (ipaa:ipaz) = 0.0 + csite%dmean_snowfac (ipaa:ipaz) = 0.0 csite%dmean_rshort_gnd (ipaa:ipaz) = 0.0 csite%dmean_par_gnd (ipaa:ipaz) = 0.0 csite%dmean_rlong_gnd (ipaa:ipaz) = 0.0 @@ -1286,6 +1288,7 @@ subroutine init_ed_patch_vars(csite,ipaa,ipaz,lsl) csite%mmean_sfcw_mass (ipaa:ipaz) = 0.0 csite%mmean_sfcw_temp (ipaa:ipaz) = 0.0 csite%mmean_sfcw_fliq (ipaa:ipaz) = 0.0 + csite%mmean_snowfac (ipaa:ipaz) = 0.0 csite%mmean_rshort_gnd (ipaa:ipaz) = 0.0 csite%mmean_par_gnd (ipaa:ipaz) = 0.0 csite%mmean_rlong_gnd (ipaa:ipaz) = 0.0 @@ -1409,6 +1412,7 @@ subroutine init_ed_patch_vars(csite,ipaa,ipaz,lsl) csite%qmean_sfcw_mass (:,ipaa:ipaz) = 0.0 csite%qmean_sfcw_temp (:,ipaa:ipaz) = 0.0 csite%qmean_sfcw_fliq (:,ipaa:ipaz) = 0.0 + csite%qmean_snowfac (:,ipaa:ipaz) = 0.0 csite%qmean_rshort_gnd (:,ipaa:ipaz) = 0.0 csite%qmean_par_gnd (:,ipaa:ipaz) = 0.0 csite%qmean_rlong_gnd (:,ipaa:ipaz) = 0.0 @@ -1684,7 +1688,7 @@ subroutine init_ed_site_vars(cpoly) ! by actual rainfall after 12 months. In the future we may initialise with climato- ! ! logical rainfall. ! !------------------------------------------------------------------------------------! - cpoly%avg_monthly_pcpg(:,:) = 500. + cpoly%avg_monthly_accp(:,:) = 500. !------------------------------------------------------------------------------------! @@ -2084,6 +2088,7 @@ subroutine init_ed_poly_vars(cgrid) cgrid%fmean_sfcw_mass (ipy) = 0.0 cgrid%fmean_sfcw_temp (ipy) = 0.0 cgrid%fmean_sfcw_fliq (ipy) = 0.0 + cgrid%fmean_snowfac (ipy) = 0.0 cgrid%fmean_rshort_gnd (ipy) = 0.0 cgrid%fmean_par_gnd (ipy) = 0.0 cgrid%fmean_rlong_gnd (ipy) = 0.0 @@ -2257,6 +2262,7 @@ subroutine init_ed_poly_vars(cgrid) cgrid%dmean_sfcw_mass (ipy) = 0.0 cgrid%dmean_sfcw_temp (ipy) = 0.0 cgrid%dmean_sfcw_fliq (ipy) = 0.0 + cgrid%dmean_snowfac (ipy) = 0.0 cgrid%dmean_rshort_gnd (ipy) = 0.0 cgrid%dmean_par_gnd (ipy) = 0.0 cgrid%dmean_rlong_gnd (ipy) = 0.0 @@ -2414,6 +2420,7 @@ subroutine init_ed_poly_vars(cgrid) cgrid%mmean_sfcw_mass (ipy) = 0.0 cgrid%mmean_sfcw_temp (ipy) = 0.0 cgrid%mmean_sfcw_fliq (ipy) = 0.0 + cgrid%mmean_snowfac (ipy) = 0.0 cgrid%mmean_rshort_gnd (ipy) = 0.0 cgrid%mmean_par_gnd (ipy) = 0.0 cgrid%mmean_rlong_gnd (ipy) = 0.0 @@ -2656,6 +2663,7 @@ subroutine init_ed_poly_vars(cgrid) cgrid%qmean_sfcw_mass (:,ipy) = 0.0 cgrid%qmean_sfcw_temp (:,ipy) = 0.0 cgrid%qmean_sfcw_fliq (:,ipy) = 0.0 + cgrid%qmean_snowfac (:,ipy) = 0.0 cgrid%qmean_rshort_gnd (:,ipy) = 0.0 cgrid%qmean_par_gnd (:,ipy) = 0.0 cgrid%qmean_rlong_gnd (:,ipy) = 0.0 diff --git a/ED/src/io/average_utils.f90 b/ED/src/io/average_utils.f90 index 152c09294..722b61051 100644 --- a/ED/src/io/average_utils.f90 +++ b/ED/src/io/average_utils.f90 @@ -493,6 +493,9 @@ subroutine aggregate_polygon_fmean(cgrid) cgrid%fmean_sfcw_mass (ipy) = cgrid%fmean_sfcw_mass (ipy) & + csite%fmean_sfcw_mass (ipa) & * patch_wgt + cgrid%fmean_snowfac (ipy) = cgrid%fmean_snowfac (ipy) & + + csite%fmean_snowfac (ipa) & + * patch_wgt cgrid%fmean_rshort_gnd (ipy) = cgrid%fmean_rshort_gnd (ipy) & + csite%fmean_rshort_gnd (ipa) & * patch_wgt @@ -1425,11 +1428,13 @@ subroutine zero_ed_fmean_vars(cgrid) cgrid%fmean_sfcw_mass ( ipy) = 0.0 cgrid%fmean_sfcw_temp ( ipy) = 0.0 cgrid%fmean_sfcw_fliq ( ipy) = 0.0 + cgrid%fmean_snowfac ( ipy) = 0.0 cgrid%fmean_soil_energy (:,ipy) = 0.0 cgrid%fmean_soil_mstpot (:,ipy) = 0.0 cgrid%fmean_soil_water (:,ipy) = 0.0 cgrid%fmean_soil_temp (:,ipy) = 0.0 cgrid%fmean_soil_fliq (:,ipy) = 0.0 + cgrid%fmean_snowfac ( ipy) = 0.0 cgrid%fmean_rshort_gnd ( ipy) = 0.0 cgrid%fmean_par_gnd ( ipy) = 0.0 cgrid%fmean_rlong_gnd ( ipy) = 0.0 @@ -1574,6 +1579,7 @@ subroutine zero_ed_fmean_vars(cgrid) csite%fmean_sfcw_mass ( ipa) = 0.0 csite%fmean_sfcw_temp ( ipa) = 0.0 csite%fmean_sfcw_fliq ( ipa) = 0.0 + csite%fmean_snowfac ( ipa) = 0.0 csite%fmean_soil_energy (:,ipa) = 0.0 csite%fmean_soil_mstpot (:,ipa) = 0.0 csite%fmean_soil_water (:,ipa) = 0.0 @@ -2059,6 +2065,9 @@ subroutine integrate_ed_dmean_vars(cgrid) cgrid%dmean_sfcw_mass (ipy) = cgrid%dmean_sfcw_mass (ipy) & + cgrid%fmean_sfcw_mass (ipy) & * frqsum_o_daysec + cgrid%dmean_snowfac (ipy) = cgrid%dmean_snowfac (ipy) & + + cgrid%fmean_snowfac (ipy) & + * frqsum_o_daysec cgrid%dmean_rshort_gnd (ipy) = cgrid%dmean_rshort_gnd (ipy) & + cgrid%fmean_rshort_gnd (ipy) & * frqsum_o_daysec @@ -2363,6 +2372,9 @@ subroutine integrate_ed_dmean_vars(cgrid) csite%dmean_sfcw_mass (ipa) = csite%dmean_sfcw_mass (ipa) & + csite%fmean_sfcw_mass (ipa) & * frqsum_o_daysec + csite%dmean_snowfac (ipa) = csite%dmean_snowfac (ipa) & + + csite%fmean_snowfac (ipa) & + * frqsum_o_daysec csite%dmean_rshort_gnd (ipa) = csite%dmean_rshort_gnd (ipa) & + csite%fmean_rshort_gnd (ipa) & * frqsum_o_daysec @@ -2812,10 +2824,11 @@ end subroutine normalize_ed_today_vars !=======================================================================================! !=======================================================================================! - ! SUBROUTINE: NORMALIZE_ED_TODAYNPP_VARS - !> \brief This subroutine will scale the daily NPP allocation terms + ! SUBROUTINE: COPY_TODAY_TO_DMEAN_VARS + !> \brief This subroutine scales the daily NPP allocation terms and transfer today + !! variables to dmean. !---------------------------------------------------------------------------------------! - subroutine normalize_ed_todayNPP_vars(cgrid) + subroutine copy_today_to_dmean_vars(cgrid) use ed_state_vars , only : edtype & ! structure , polygontype & ! structure , sitetype & ! structure @@ -2833,47 +2846,70 @@ subroutine normalize_ed_todayNPP_vars(cgrid) integer :: isi integer :: ipa integer :: ico + !------------------------------------------------------------------------------------! + + !------ Skip sub-routine and do nothing in case we are not writing daily averages. --! + if (.not. writing_long) return + !------------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------------! + ! Loop through polygons. ! + !------------------------------------------------------------------------------------! polyloop: do ipy=1,cgrid%npolygons cpoly => cgrid%polygon(ipy) + + !---------------------------------------------------------------------------------! + ! Loop through sites. ! + !---------------------------------------------------------------------------------! siteloop: do isi=1,cpoly%nsites csite => cpoly%site(isi) - patchloop: do ipa=1,csite%npatches + !------------------------------------------------------------------------------! + ! Loop through patches. ! + !------------------------------------------------------------------------------! + patchloop: do ipa=1,csite%npatches cpatch => csite%patch(ipa) - - !----- Included a loop so it won't crash with empty cohorts... -------------! + + !---------------------------------------------------------------------------! + ! Loop through cohorts. This must be a loop, so it won't crash with ! + ! empty patches. ! + !---------------------------------------------------------------------------! cohortloop: do ico=1,cpatch%ncohorts !------------------------------------------------------------------------! ! We now update the daily means of NPP allocation terms ! ! and we convert them to kgC/plant/yr ! !------------------------------------------------------------------------! - if (writing_long) then - cpatch%dmean_nppleaf (ico) = cpatch%today_nppleaf (ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppfroot (ico) = cpatch%today_nppfroot (ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppsapwood(ico) = cpatch%today_nppsapwood(ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppbark (ico) = cpatch%today_nppbark (ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppcroot (ico) = cpatch%today_nppcroot (ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppseeds (ico) = cpatch%today_nppseeds (ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppwood (ico) = cpatch%today_nppwood (ico) & - * yr_day / cpatch%nplant (ico) - cpatch%dmean_nppdaily (ico) = cpatch%today_nppdaily (ico) & - * yr_day / cpatch%nplant (ico) - end if + cpatch%dmean_nppleaf (ico) = cpatch%today_nppleaf (ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppfroot (ico) = cpatch%today_nppfroot (ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppsapwood(ico) = cpatch%today_nppsapwood(ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppbark (ico) = cpatch%today_nppbark (ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppcroot (ico) = cpatch%today_nppcroot (ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppseeds (ico) = cpatch%today_nppseeds (ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppwood (ico) = cpatch%today_nppwood (ico) & + * yr_day / cpatch%nplant (ico) + cpatch%dmean_nppdaily (ico) = cpatch%today_nppdaily (ico) & + * yr_day / cpatch%nplant (ico) + !------------------------------------------------------------------------! end do cohortloop + !---------------------------------------------------------------------------! end do patchloop + !------------------------------------------------------------------------------! end do siteloop + !---------------------------------------------------------------------------------! end do polyloop + !------------------------------------------------------------------------------------! return - end subroutine normalize_ed_todayNPP_vars + end subroutine copy_today_to_dmean_vars !=======================================================================================! !=======================================================================================! @@ -3702,6 +3738,7 @@ subroutine zero_ed_dmean_vars(cgrid) cgrid%dmean_sfcw_mass (ipy) = 0.0 cgrid%dmean_sfcw_temp (ipy) = 0.0 cgrid%dmean_sfcw_fliq (ipy) = 0.0 + cgrid%dmean_snowfac (ipy) = 0.0 cgrid%dmean_soil_energy (:,ipy) = 0.0 cgrid%dmean_soil_mstpot (:,ipy) = 0.0 cgrid%dmean_soil_water (:,ipy) = 0.0 @@ -3824,6 +3861,7 @@ subroutine zero_ed_dmean_vars(cgrid) csite%dmean_sfcw_mass (ipa) = 0.0 csite%dmean_sfcw_temp (ipa) = 0.0 csite%dmean_sfcw_fliq (ipa) = 0.0 + csite%dmean_snowfac (ipa) = 0.0 csite%dmean_soil_energy (:,ipa) = 0.0 csite%dmean_soil_mstpot (:,ipa) = 0.0 csite%dmean_soil_water (:,ipa) = 0.0 @@ -4426,6 +4464,9 @@ subroutine integrate_ed_mmean_vars(cgrid) cgrid%mmean_sfcw_mass (ipy) = cgrid%mmean_sfcw_mass (ipy) & + cgrid%dmean_sfcw_mass (ipy) & * ndaysi + cgrid%mmean_snowfac (ipy) = cgrid%mmean_snowfac (ipy) & + + cgrid%dmean_snowfac (ipy) & + * ndaysi cgrid%mmean_soil_energy (:,ipy) = cgrid%mmean_soil_energy (:,ipy) & + cgrid%dmean_soil_energy (:,ipy) & * ndaysi @@ -4951,6 +4992,9 @@ subroutine integrate_ed_mmean_vars(cgrid) csite%mmean_sfcw_mass (ipa) = csite%mmean_sfcw_mass (ipa) & + csite%dmean_sfcw_mass (ipa) & * ndaysi + csite%mmean_snowfac (ipa) = csite%mmean_snowfac (ipa) & + + csite%dmean_snowfac (ipa) & + * ndaysi csite%mmean_soil_energy (:,ipa) = csite%mmean_soil_energy (:,ipa) & + csite%dmean_soil_energy (:,ipa) & * ndaysi @@ -6086,6 +6130,7 @@ subroutine zero_ed_mmean_vars(cgrid) cgrid%mmean_sfcw_mass (ipy) = 0.0 cgrid%mmean_sfcw_temp (ipy) = 0.0 cgrid%mmean_sfcw_fliq (ipy) = 0.0 + cgrid%mmean_snowfac (ipy) = 0.0 cgrid%mmean_soil_energy (:,ipy) = 0.0 cgrid%mmean_soil_mstpot (:,ipy) = 0.0 cgrid%mmean_soil_water (:,ipy) = 0.0 @@ -6274,6 +6319,7 @@ subroutine zero_ed_mmean_vars(cgrid) csite%mmean_sfcw_mass (ipa) = 0.0 csite%mmean_sfcw_temp (ipa) = 0.0 csite%mmean_sfcw_fliq (ipa) = 0.0 + csite%mmean_snowfac (ipa) = 0.0 csite%mmean_soil_energy (:,ipa) = 0.0 csite%mmean_soil_mstpot (:,ipa) = 0.0 csite%mmean_soil_water (:,ipa) = 0.0 @@ -6838,6 +6884,9 @@ subroutine integrate_ed_qmean_vars(cgrid) cgrid%qmean_sfcw_mass (t,ipy) = cgrid%qmean_sfcw_mass (t,ipy) & + cgrid%fmean_sfcw_mass (ipy) & * ndaysi + cgrid%qmean_snowfac (t,ipy) = cgrid%qmean_snowfac (t,ipy) & + + cgrid%fmean_snowfac (ipy) & + * ndaysi cgrid%qmean_soil_energy (:,t,ipy) = cgrid%qmean_soil_energy (:,t,ipy) & + cgrid%fmean_soil_energy (:,ipy) & * ndaysi @@ -7230,6 +7279,9 @@ subroutine integrate_ed_qmean_vars(cgrid) csite%qmean_sfcw_mass (t,ipa) = csite%qmean_sfcw_mass (t,ipa) & + csite%fmean_sfcw_mass (ipa) & * ndaysi + csite%qmean_snowfac (t,ipa) = csite%qmean_snowfac (t,ipa) & + + csite%fmean_snowfac (ipa) & + * ndaysi csite%qmean_soil_energy (:,t,ipa) = csite%qmean_soil_energy (:,t,ipa) & + csite%fmean_soil_energy (:,ipa) & * ndaysi @@ -7796,6 +7848,25 @@ subroutine normalize_ed_qmean_vars(cgrid) + !---------------------------------------------------------------------------! + ! Find the derived properties for the canopy air space. ! + !---------------------------------------------------------------------------! + do t=1,ndcycle + can_exner = press2exner ( csite%qmean_can_prss (t,ipa)) + csite%qmean_can_temp(t,ipa) = extheta2temp( can_exner & + , csite%qmean_can_theta(t,ipa)) + csite%qmean_can_rhos(t,ipa) = idealdenssh ( csite%qmean_can_prss (t,ipa) & + , csite%qmean_can_temp (t,ipa) & + , csite%qmean_can_shv (t,ipa)) + csite%qmean_can_dmol(t,ipa) = idealdmolsh ( csite%qmean_can_prss (t,ipa) & + , csite%qmean_can_temp (t,ipa) & + , csite%qmean_can_shv (t,ipa)) + end do + !---------------------------------------------------------------------------! + + + + !---------------------------------------------------------------------------! ! Soil matric potential, temperature, and liquid water. ! !---------------------------------------------------------------------------! @@ -8163,6 +8234,7 @@ subroutine zero_ed_qmean_vars(cgrid) cgrid%qmean_sfcw_mass (:,ipy) = 0.0 cgrid%qmean_sfcw_temp (:,ipy) = 0.0 cgrid%qmean_sfcw_fliq (:,ipy) = 0.0 + cgrid%qmean_snowfac (:,ipy) = 0.0 cgrid%qmean_soil_energy (:,:,ipy) = 0.0 cgrid%qmean_soil_mstpot (:,:,ipy) = 0.0 cgrid%qmean_soil_water (:,:,ipy) = 0.0 @@ -8309,6 +8381,7 @@ subroutine zero_ed_qmean_vars(cgrid) csite%qmean_sfcw_mass (:,ipa) = 0.0 csite%qmean_sfcw_temp (:,ipa) = 0.0 csite%qmean_sfcw_fliq (:,ipa) = 0.0 + csite%qmean_snowfac (:,ipa) = 0.0 csite%qmean_soil_energy (:,:,ipa) = 0.0 csite%qmean_soil_mstpot (:,:,ipa) = 0.0 csite%qmean_soil_water (:,:,ipa) = 0.0 diff --git a/ED/src/io/ed_init_history.f90 b/ED/src/io/ed_init_history.f90 index f4d91cc49..d9c77c35a 100644 --- a/ED/src/io/ed_init_history.f90 +++ b/ED/src/io/ed_init_history.f90 @@ -1004,6 +1004,8 @@ subroutine fill_history_grid_p11dmean(cgrid,ipy,py_index) ,'DMEAN_SFCW_TEMP_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%dmean_sfcw_fliq (ipy:ipy) & ,'DMEAN_SFCW_FLIQ_PY ',dsetrank,iparallel,.false.,foundvar) + call hdf_getslab_r(cgrid%dmean_snowfac (ipy:ipy) & + ,'DMEAN_SNOWFAC_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%dmean_rshort_gnd (ipy:ipy) & ,'DMEAN_RSHORT_GND_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%dmean_par_gnd (ipy:ipy) & @@ -1432,6 +1434,8 @@ subroutine fill_history_grid_p11mmean(cgrid,ipy,py_index) ,'MMEAN_SFCW_TEMP_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%mmean_sfcw_fliq (ipy:ipy) & ,'MMEAN_SFCW_FLIQ_PY ',dsetrank,iparallel,.false.,foundvar) + call hdf_getslab_r(cgrid%mmean_snowfac (ipy:ipy) & + ,'MMEAN_SNOWFAC_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%mmean_rshort_gnd (ipy:ipy) & ,'MMEAN_RSHORT_GND_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%mmean_par_gnd (ipy:ipy) & @@ -2055,6 +2059,8 @@ subroutine fill_history_grid_m11(cgrid,ipy,py_index) ,'QMEAN_SFCW_TEMP_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%qmean_sfcw_fliq (:,ipy) & ,'QMEAN_SFCW_FLIQ_PY ',dsetrank,iparallel,.false.,foundvar) + call hdf_getslab_r(cgrid%qmean_snowfac (:,ipy) & + ,'QMEAN_SNOWFAC_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%qmean_rshort_gnd (:,ipy) & ,'QMEAN_RSHORT_GND_PY ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(cgrid%qmean_par_gnd (:,ipy) & @@ -3257,8 +3263,8 @@ subroutine fill_history_polygon(cpoly,pysi_index,nsites_global,nsites_now,is_bur memoffs (2) = 0_8 call hdf_getslab_r(cpoly%lambda_fire & ,'LAMBDA_FIRE ',dsetrank,iparallel,.true.,foundvar) - call hdf_getslab_r(cpoly%avg_monthly_pcpg & - ,'AVG_MONTHLY_PCPG ',dsetrank,iparallel,.true.,foundvar) + call hdf_getslab_r(cpoly%avg_monthly_accp & + ,'AVG_MONTHLY_ACCP ',dsetrank,iparallel,.true.,foundvar) call hdf_getslab_r(cpoly%crop_yield & ,'CROP_YIELD_SI ',dsetrank,iparallel,.true.,foundvar) !------------------------------------------------------------------------------------! @@ -4069,6 +4075,8 @@ subroutine fill_history_site(csite,sipa_index,npatches_global,is_burnt) ,'DMEAN_SFCW_TEMP_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%dmean_sfcw_fliq & ,'DMEAN_SFCW_FLIQ_PA ',dsetrank,iparallel,.false.,foundvar) + call hdf_getslab_r(csite%dmean_snowfac & + ,'DMEAN_SNOWFAC_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%dmean_rshort_gnd & ,'DMEAN_RSHORT_GND_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%dmean_par_gnd & @@ -4238,6 +4246,8 @@ subroutine fill_history_site(csite,sipa_index,npatches_global,is_burnt) ,'MMEAN_SFCW_TEMP_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%mmean_sfcw_fliq & ,'MMEAN_SFCW_FLIQ_PA ',dsetrank,iparallel,.false.,foundvar) + call hdf_getslab_r(csite%mmean_snowfac & + ,'MMEAN_SNOWFAC_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%mmean_rshort_gnd & ,'MMEAN_RSHORT_GND_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%mmean_par_gnd & @@ -4443,6 +4453,8 @@ subroutine fill_history_site(csite,sipa_index,npatches_global,is_burnt) ,'QMEAN_SFCW_TEMP_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%qmean_sfcw_fliq & ,'QMEAN_SFCW_FLIQ_PA ',dsetrank,iparallel,.false.,foundvar) + call hdf_getslab_r(csite%qmean_snowfac & + ,'QMEAN_SNOWFAC_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%qmean_rshort_gnd & ,'QMEAN_RSHORT_GND_PA ',dsetrank,iparallel,.false.,foundvar) call hdf_getslab_r(csite%qmean_par_gnd & diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d72654bec..056347b6c 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -1869,6 +1869,7 @@ module ed_state_vars real,pointer,dimension(:) :: fmean_sfcw_mass ! tiny_sfcwater_mass) then csite%fmean_sfcw_energy (recp) = csite%fmean_sfcw_energy (recp) & @@ -7775,6 +7777,8 @@ subroutine fuse_2_patches(csite,donp,recp,mzg,mzs,cmet,lsl,ntext_soil,green_leaf * csite%dmean_sfcw_mass (recp) * rawgt csite%dmean_sfcw_mass (recp) = csite%dmean_sfcw_mass (donp) * dawgt & + csite%dmean_sfcw_mass (recp) * rawgt + csite%dmean_snowfac (recp) = csite%dmean_snowfac (donp) * dawgt & + + csite%dmean_snowfac (recp) * rawgt !----- Check whether there is enough surface water. ---------------------------! if (csite%dmean_sfcw_mass(recp) > tiny_sfcwater_mass) then csite%dmean_sfcw_energy (recp) = csite%dmean_sfcw_energy (recp) & @@ -8169,6 +8173,8 @@ subroutine fuse_2_patches(csite,donp,recp,mzg,mzs,cmet,lsl,ntext_soil,green_leaf * csite%mmean_sfcw_mass (recp) * rawgt csite%mmean_sfcw_mass (recp) = csite%mmean_sfcw_mass (donp) * dawgt & + csite%mmean_sfcw_mass (recp) * rawgt + csite%mmean_snowfac (recp) = csite%mmean_snowfac (donp) * dawgt & + + csite%mmean_snowfac (recp) * rawgt !----- Check whether there is enough surface water. ---------------------------! if (csite%mmean_sfcw_mass(recp) > tiny_sfcwater_mass) then csite%mmean_sfcw_energy (recp) = csite%mmean_sfcw_energy (recp) & @@ -8520,6 +8526,8 @@ subroutine fuse_2_patches(csite,donp,recp,mzg,mzs,cmet,lsl,ntext_soil,green_leaf * csite%qmean_sfcw_mass (t,recp) * rawgt csite%qmean_sfcw_mass (t,recp) = csite%qmean_sfcw_mass (t,donp) * dawgt & + csite%qmean_sfcw_mass (t,recp) * rawgt + csite%qmean_snowfac (t,recp) = csite%qmean_snowfac (t,donp) * dawgt & + + csite%qmean_snowfac (t,recp) * rawgt !----- Check whether there is enough surface water. ------------------------! if (csite%qmean_sfcw_mass(t,recp) > tiny_sfcwater_mass) then csite%qmean_sfcw_energy (t,recp) = csite%qmean_sfcw_energy(t,recp) & diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..d3be988ac 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From 1fa1a8cf4b9bbf010d4ffa45a39e5848d1bd6f2d Mon Sep 17 00:00:00 2001 From: "Eric R. Scott" Date: Thu, 9 Feb 2023 09:30:22 -0500 Subject: [PATCH 08/62] typo in message and comment (poi -> point, none -> node) --- ED/src/memory/ed_mem_alloc.f90 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ED/src/memory/ed_mem_alloc.f90 b/ED/src/memory/ed_mem_alloc.f90 index 5efba6ce5..e4370265c 100644 --- a/ED/src/memory/ed_mem_alloc.f90 +++ b/ED/src/memory/ed_mem_alloc.f90 @@ -72,15 +72,15 @@ subroutine ed_memory_allocation(proc_type) call ed_nullify_work(work_e(ng)) call ed_alloc_work(work_e(ng),nmxp(ng),nmyp(ng),maxsite) end do - + !---------------------------------------------------------------------------------------! ! Allocate the top most hierachical memory structures for the ED2 LSM. We changed the ! ! the way the standalone deals with different regions ans sites of interest. Now it ! - ! allocates each region and each poi in a different grid. This is done to ease the way ! - ! the parallel code is implemented, to take full advantage of MPI. By doing this, we ! - ! can split the polygons among the different nodes for the regional run, and split the ! - ! patches and cohorts in different nodes in the POI grids --- the latter is yet to be ! - ! implemented. ! + ! allocates each region and each point in a different grid. This is done to ease the ! + ! way the parallel code is implemented, to take full advantage of MPI. By doing this, ! + ! we can split the polygons among the different nodes for the regional run, and split ! + ! the patches and cohorts in different nodes in the POI grids --- the latter is yet to ! + ! be implemented. ! !---------------------------------------------------------------------------------------! write (unit=*,fmt='(a,i5,a)') ' + Polygon array allocation, node ',mynum,';' @@ -90,7 +90,7 @@ subroutine ed_memory_allocation(proc_type) call allocate_edtype(edgrid_g(ng),gdpy(mynum,ng)) end do - write (unit=*,fmt='(a,i5,a)') ' + Memory successfully allocated on none ',mynum,';' + write (unit=*,fmt='(a,i5,a)') ' + Memory successfully allocated on node ',mynum,';' return end subroutine ed_memory_allocation !---------------------------------------------------------------------------------------! From b876c1e1eadce43e518f00babfc4ffef4afaece5 Mon Sep 17 00:00:00 2001 From: "Eric R. Scott" Date: Tue, 28 Feb 2023 09:38:41 -0500 Subject: [PATCH 09/62] change metadata units to match comments on lines 665-1054 --- ED/src/memory/ed_state_vars.F90 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d72654bec..d27c9f9b2 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -32484,7 +32484,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPLEAF_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - Leaf' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppfroot )) then nvar = nvar+1 @@ -32493,7 +32493,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPFROOT_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - Fine root' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppsapwood )) then nvar = nvar+1 @@ -32502,7 +32502,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPSAPWOOD_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - Sap wood' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppbark )) then nvar = nvar+1 @@ -32511,7 +32511,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPBARK_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - Bark' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppcroot )) then nvar = nvar+1 @@ -32520,7 +32520,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPCROOT_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - Coarse root' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppseeds )) then nvar = nvar+1 @@ -32529,7 +32529,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPSEEDS_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - seeds' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppwood )) then nvar = nvar+1 @@ -32538,7 +32538,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPWOOD_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - heart wood' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_nppdaily )) then nvar = nvar+1 @@ -32547,7 +32547,7 @@ subroutine filltab_patchtype_p41mmean(cpatch,igr,init,var_len,var_len_global,max ,'MMEAN_NPPDAILY_CO :41:'//trim(eorq_keys)) call metadata_edio(nvar,igr & ,'Monthly mean - Net primary productivity - total' & - ,'[ kgC/m2/yr]','(icohort)' ) + ,'[ kgC/pl/yr]','(icohort)' ) end if if (associated(cpatch%mmean_dmax_leaf_psi )) then From bc4468e2e5f7f26a8cbd5dbbd4945ace73f758ad Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Fri, 2 Jun 2023 17:31:53 -0700 Subject: [PATCH 10/62] A few allometry-related updates. 1. Added new IALLOM option, which combines the leaf area allometry model from IALLOM=3 with the height-based root allometry from IALLOM=4. 2. Define the root profile as a cohort-based variable, and moved the calculation of root distribution to a specific allometric function. 3. Few minor bug fixes. --- ED/build/make/include.mk.macosx | 11 +- ED/src/dynamics/disturbance.f90 | 10 +- ED/src/dynamics/farq_katul.f90 | 12 -- ED/src/dynamics/growth_balive.f90 | 81 +++++----- ED/src/dynamics/plant_hydro.f90 | 50 ++---- ED/src/init/ed_params.f90 | 114 ++++++++------ ED/src/init/ed_type_init.f90 | 9 +- ED/src/io/ed_init_history.f90 | 2 + ED/src/io/ed_read_ed21_history.f90 | 192 +++++++++++++--------- ED/src/memory/ed_state_vars.F90 | 15 ++ ED/src/memory/pft_coms.f90 | 3 + ED/src/utils/allometry.f90 | 150 +++++++++++++----- ED/src/utils/update_derived_utils.f90 | 52 ++++-- diff_version.sh | 219 +++++++++++++++++++------- 14 files changed, 601 insertions(+), 319 deletions(-) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..a2e426af0 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=/usr/local +HDF5_PATH=/usr/local HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,9 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=/usr/local/bin/gfortran-12 +C_COMP=/usr/local/bin/gcc-12 +LOADER=/usr/local/bin/gfortran-12 LIBS= MOD_EXT=mod ############################################################################################ diff --git a/ED/src/dynamics/disturbance.f90 b/ED/src/dynamics/disturbance.f90 index f1dc10627..19c30219d 100644 --- a/ED/src/dynamics/disturbance.f90 +++ b/ED/src/dynamics/disturbance.f90 @@ -4098,7 +4098,8 @@ subroutine prune_lianas(csite, np, lsl) , h2dbh & ! function , size2bl & ! function , size2bd & ! function - , size2krdepth ! ! function + , size2krdepth & ! function + , distrib_root ! ! subroutine use pft_coms, only : qsw & ! intent(in) , qbark & ! intent(in) , agf_bs & ! intent(in) @@ -4222,6 +4223,13 @@ subroutine prune_lianas(csite, np, lsl) !----- Update rooting depth ---------------------------------------------------! cpatch%krdepth(ico) = size2krdepth(cpatch%hite(ico),cpatch%dbh(ico),ipft,lsl) !if new root depth is smaller keep the old one + !------------------------------------------------------------------------------! + + + !----- Update the vertical distribution of roots. -----------------------------! + call distrib_root(cpatch%krdepth(ico),ipft,cpatch%root_frac(:,ico)) + !------------------------------------------------------------------------------! + !------------------------------------------------------------------------------! ! It is likely that biomass has changed, therefore, update ! diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..529d34a04 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,15 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/growth_balive.f90 b/ED/src/dynamics/growth_balive.f90 index e9c66af96..b4309bb59 100644 --- a/ED/src/dynamics/growth_balive.f90 +++ b/ED/src/dynamics/growth_balive.f90 @@ -1379,46 +1379,49 @@ subroutine get_c_xfers(csite,ipa,ico,npp_actual,green_leaf_factor,gr_tfact0 ! net growth (i.e. increment from the value of btissue before ! ! maintenance was applied) is the same every day. ! !------------------------------------------------------------------------------! - if ( (iallom == 3 .or. iallom == 4) & - .and. (.not. (is_grass(ipft) .and. igrass == 1)) ) then - if (delta_bleaf >= tiny_num) then - gtf_bleaf = ( cpatch%leaf_maintenance(ico) & - + gr_tfact0 * (delta_bleaf - cpatch%leaf_maintenance(ico)) ) & - / delta_bleaf - else - gtf_bleaf = gr_tfact0 - end if - if (delta_broot >= tiny_num) then - gtf_broot = ( cpatch%root_maintenance(ico) & - + gr_tfact0 * (delta_broot - cpatch%root_maintenance(ico)) ) & - / delta_broot - else - gtf_broot = gr_tfact0 - end if - if (delta_bbarka >= tiny_num) then - gtf_bbarka = ( cpatch%barka_maintenance(ico) & - + gr_tfact0 & - * (delta_bbarka - cpatch%barka_maintenance(ico)) ) & - / delta_bbarka - else - gtf_bbarka = gr_tfact0 - end if - if (delta_bbarkb >= tiny_num) then - gtf_bbarkb = ( cpatch%barkb_maintenance(ico) & - + gr_tfact0 & - * (delta_bbarkb - cpatch%barkb_maintenance(ico)) ) & - / delta_bbarkb - else - gtf_bbarkb = gr_tfact0 + select case (iallom) + case (3,4,5) + if (.not. (is_grass(ipft) .and. igrass == 1) ) then + if (delta_bleaf >= tiny_num) then + gtf_bleaf = ( cpatch%leaf_maintenance(ico) & + + gr_tfact0 * (delta_bleaf-cpatch%leaf_maintenance(ico))) & + / delta_bleaf + else + gtf_bleaf = gr_tfact0 + end if + if (delta_broot >= tiny_num) then + gtf_broot = ( cpatch%root_maintenance(ico) & + + gr_tfact0 * (delta_broot-cpatch%root_maintenance(ico))) & + / delta_broot + else + gtf_broot = gr_tfact0 + end if + if (delta_bbarka >= tiny_num) then + gtf_bbarka = ( cpatch%barka_maintenance(ico) & + + gr_tfact0 & + * (delta_bbarka - cpatch%barka_maintenance(ico)) ) & + / delta_bbarka + else + gtf_bbarka = gr_tfact0 + end if + if (delta_bbarkb >= tiny_num) then + gtf_bbarkb = ( cpatch%barkb_maintenance(ico) & + + gr_tfact0 & + * (delta_bbarkb - cpatch%barkb_maintenance(ico)) ) & + / delta_bbarkb + else + gtf_bbarkb = gr_tfact0 + end if + !----- Correct deltas based on the time of the month and turnover. ------! + delta_bleaf = delta_bleaf * gtf_bleaf + delta_broot = delta_broot * gtf_broot + delta_bsapwooda = delta_bsapwooda * gr_tfact0 ! sapwood turnover is zero. + delta_bsapwoodb = delta_bsapwoodb * gr_tfact0 ! sapwood turnover is zero. + delta_bbarka = delta_bbarka * gtf_bbarka + delta_bbarkb = delta_bbarkb * gtf_bbarkb end if - !----- Correct deltas based on the time of the month and turnover. ---------! - delta_bleaf = delta_bleaf * gtf_bleaf - delta_broot = delta_broot * gtf_broot - delta_bsapwooda = delta_bsapwooda * gr_tfact0 ! sapwood turnover is zero. - delta_bsapwoodb = delta_bsapwoodb * gr_tfact0 ! sapwood turnover is zero. - delta_bbarka = delta_bbarka * gtf_bbarka - delta_bbarkb = delta_bbarkb * gtf_bbarkb - end if + !---------------------------------------------------------------------------! + end select !------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/plant_hydro.f90 b/ED/src/dynamics/plant_hydro.f90 index 76d6e7e04..3f66480b2 100644 --- a/ED/src/dynamics/plant_hydro.f90 +++ b/ED/src/dynamics/plant_hydro.f90 @@ -340,15 +340,15 @@ subroutine plant_hydro_driver(csite,ipa,ntext_soil) ! and psi_closed. ! !---------------------------------------------------------------------------! call calc_plant_water_flux( & - dtlsm &!input - ,sap_area,cpatch%nplant(ico),ipft &!input - ,cpatch%is_small(ico),cpatch%krdepth(ico) &!input - ,cpatch%bleaf(ico),bsap,cpatch%broot(ico) &!input - ,cpatch%hite(ico),transp &!input - ,cpatch%leaf_psi(ico),cpatch%wood_psi(ico) &!input - ,soil_psi,soil_cond,ipa,ico &!input - ,cpatch%wflux_wl(ico),cpatch%wflux_gw(ico) &!output - ,cpatch%wflux_gw_layer(:,ico)) !!output + dtlsm & ! input + ,sap_area,cpatch%nplant(ico),ipft & ! input + ,cpatch%is_small(ico),cpatch%krdepth(ico) & ! input + ,cpatch%bleaf(ico),bsap,cpatch%broot(ico) & ! input + ,cpatch%hite(ico),cpatch%root_frac(:,ico) & ! input + ,transp,cpatch%leaf_psi(ico),cpatch%wood_psi(ico) & ! input + ,soil_psi,soil_cond,ipa,ico & ! input + ,cpatch%wflux_wl(ico),cpatch%wflux_gw(ico) & ! output + ,cpatch%wflux_gw_layer(:,ico)) ! ! output !---------------------------------------------------------------------------! else !----- Neither leaves nor wood are resolvable. Assume zero flow. ----------! @@ -450,13 +450,12 @@ end subroutine plant_hydro_driver !---------------------------------------------------------------------------------------! subroutine calc_plant_water_flux(dt & !timestep ,sap_area,nplant,ipft,is_small,krdepth & !plant input - ,bleaf,bsap,broot,hite & !plant input + ,bleaf,bsap,broot,hite ,root_frac & !plant input ,transp,leaf_psi,wood_psi & !plant input ,soil_psi,soil_cond & !soil input ,ipa,ico & !debug input ,wflux_wl,wflux_gw,wflux_gw_layer) ! !flux output - use soil_coms , only : slz8 & ! intent(in) - , dslz8 ! ! intent(in) + use soil_coms , only : dslz8 ! ! intent(in) use grid_coms , only : nzg ! ! intent(in) use consts_coms , only : pi18 & ! intent(in) , lnexp_min8 ! ! intent(in) @@ -470,7 +469,6 @@ subroutine calc_plant_water_flux(dt & !timestep , wood_Kmax & ! intent(in) , wood_Kexp & ! intent(in) , vessel_curl_factor & ! intent(in) - , root_beta & ! intent(in) , SRA & ! intent(in) , C2B ! ! intent(in) use ed_misc_coms , only : current_time ! ! intent(in) @@ -486,6 +484,7 @@ subroutine calc_plant_water_flux(dt & !timestep real , intent(in) :: bsap !sapwood biomass [ kgC/pl] real , intent(in) :: broot !fine root biomass [ kgC/pl] real , intent(in) :: hite !plant height [ m] + real , dimension(nzg), intent(in) :: root_frac !Root fraction [ m] real , intent(in) :: transp !transpiration [ kg/s] real , intent(in) :: leaf_psi !leaf water pot. [ m] real , intent(in) :: wood_psi !wood water pot. [ m] @@ -517,12 +516,12 @@ subroutine calc_plant_water_flux(dt & !timestep real(kind=8) :: wood_psi_min_d real(kind=8) :: leaf_psi_lwr_d real(kind=8) :: wood_psi_lwr_d - real(kind=8) :: root_beta_d real(kind=8) :: SRA_d real(kind=8) :: wood_psi50_d real(kind=8) :: wood_Kexp_d real(kind=8) :: wood_Kmax_d real(kind=8) :: vessel_curl_factor_d + real(kind=8) :: root_frac_d !fraction of roots !----- Auxiliary variables. ---------------------------------------------------------! real(kind=8) :: exp_term !exponent term real(kind=8) :: ap ![s-1] @@ -532,7 +531,6 @@ subroutine calc_plant_water_flux(dt & !timestep real(kind=8) :: c_leaf !leaf water capacitance real(kind=8) :: c_stem !stem water capacitance real(kind=8) :: RAI !root area index - real(kind=8) :: root_frac !fraction of roots real(kind=8) :: proj_leaf_psi !projected leaf water pot. real(kind=8) :: proj_wood_psi !projected wood water pot. real(kind=8) :: gw_cond !g->w water conductivity @@ -540,8 +538,6 @@ subroutine calc_plant_water_flux(dt & !timestep real(kind=8) :: org_leaf_psi !used for small tree real(kind=8) :: weighted_soil_psi real(kind=8) :: weighted_gw_cond - real(kind=8) :: above_layer_depth - real(kind=8) :: current_layer_depth real(kind=8) :: total_water_supply real(kind=8) , dimension(nzg) :: layer_water_supply !----- Counters. --------------------------------------------------------------------! @@ -570,14 +566,13 @@ subroutine calc_plant_water_flux(dt & !timestep bleaf_d = dble(bleaf ) bsap_d = dble(bsap ) broot_d = dble(broot ) - nplant_d = dble(nplant ) + nplant_d = dble(nplant ) hite_d = dble(hite ) transp_d = dble(transp ) leaf_psi_d = dble(leaf_psi ) wood_psi_d = dble(wood_psi ) soil_psi_d = dble(soil_psi ) soil_cond_d = dble(soil_cond ) - root_beta_d = dble(root_beta (ipft)) SRA_d = dble(SRA (ipft)) !----- Minimum threshold depends on whether the plant is small or large. ------------! if (is_small) then @@ -795,26 +790,16 @@ subroutine calc_plant_water_flux(dt & !timestep !----- Loop over all soil layers to get the aggregated water conductance. -----------! do k = krdepth,nzg - !---------------------------------------------------------------------------------! - ! Define layer edges - ! - !---------------------------------------------------------------------------------! - current_layer_depth = -slz8(k) - above_layer_depth = -slz8(k+1) - !---------------------------------------------------------------------------------! - - - !----- Calculate the root fraction of this layer. --------------------------------! - root_frac = ( root_beta_d ** (above_layer_depth / (-slz8(krdepth))) & - - root_beta_d ** (current_layer_depth / (-slz8(krdepth))) ) + !----- Retrieve the root fraction of this layer. ---------------------------------! + root_frac_d = dble(root_frac(k)) !---------------------------------------------------------------------------------! !---------------------------------------------------------------------------------! ! Calculate RAI in each layer. ! !---------------------------------------------------------------------------------! - RAI = broot_d * SRA_d * root_frac * nplant_d ! m2/m2 + RAI = broot_d * SRA_d * root_frac_d * nplant_d ! m2/m2 !---------------------------------------------------------------------------------! !---------------------------------------------------------------------------------! @@ -979,7 +964,6 @@ subroutine calc_plant_water_flux(dt & !timestep write (unit=*,fmt='(a)' ) ' ' write (unit=*,fmt=efmt ) ' + LEAF_PSI_MIN =',leaf_psi_min (ipft) - write (unit=*,fmt=efmt ) ' + WOOD_PSI_MIN =',wood_psi_min (ipft) write (unit=*,fmt=efmt ) ' + SMALL_PSI_MIN =',small_psi_min(ipft) write (unit=*,fmt='(a)' ) ' ' diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 98b14d90b..738029fee 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -3041,7 +3041,7 @@ subroutine init_pft_alloc_params() ! Glob. Change Biol., 23(1):177-190. doi:10.1111/gcb.13388 (J17). ! ! ! !---------------------------------------------------------------------------------------! - real, dimension(2) , parameter :: c14f15_bl_xx = (/ 0.46769540,0.6410495 /) + real, dimension(2) , parameter :: c14f15_bl_xx = (/ 0.23384770,0.6410495 /) real, dimension(3) , parameter :: c14f15_la_wd = (/-0.5874,0.5679,0.5476 /) real, dimension(3) , parameter :: c14f15_ht_xx = (/0.5709,-0.1007,0.6734 /) real, dimension(2) , parameter :: c14f15_bs_tf = (/ 0.06080334,1.0044785 /) @@ -3354,7 +3354,7 @@ subroutine init_pft_alloc_params() ! ! !---------------------------------------------------------------------------------------! select case (iallom) - case (3) + case (3,5) do ipft=1,n_pft if (is_liana(ipft)) then !------------------------------------------------------------------------------! @@ -3467,12 +3467,18 @@ subroutine init_pft_alloc_params() ! ! ! The root fraction (Y) above depth D cm for a cohort with max rooting depth as ! ! D_max (cm) can be calculated as: ! - ! Y = 1. - (root_beta) ** (D / D_max) ! ! ! - ! Suggested values range from 0.0001 to 0.01. ! + ! Y = ( 1. - (root_beta) ** (D / D_max) ) / (1 - root_beta) ! + ! ! + ! ! + ! MLO (2020-10-27): I added the denominator (1 - root_beta) to ensure that Y at ! + ! D=D_max is always 1, regardless of the value of root_beta, as ! + ! long as root_beta < 1. ! + ! ! + ! Suggested values range from 0.0001 to 0.1. ! ! ! !---------------------------------------------------------------------------------------! - root_beta(:) = 0.01 + root_beta(:) = 0.1 !---------------------------------------------------------------------------------------! @@ -3531,7 +3537,7 @@ subroutine init_pft_alloc_params() ! qbark - ratio between leaf biomass and bark biomass per unit height. ! !---------------------------------------------------------------------------------------! select case (iallom) - case (3) + case (3,5) !------ New allometry, use estimate based on M01. -----------------------------------! b1Xs(:) = 0.315769481 !------------------------------------------------------------------------------------! @@ -3626,7 +3632,7 @@ subroutine init_pft_alloc_params() !----- hgt_ref is their "Hmax". -----------------------------------------------! hgt_ref(ipft) = 61.7 !------------------------------------------------------------------------------! - case (3) + case (3,5) !------------------------------------------------------------------------------! ! Allometric equation based on the fitted curve using the Sustainable ! ! Landscapes data set (L16) and the size- and site-dependent stratified ! @@ -3812,7 +3818,7 @@ subroutine init_pft_alloc_params() b1Ca(ipft) = exp(ncrown_area(1)) b2Ca(ipft) = ncrown_area(2) !------------------------------------------------------------------------------! - case (3,4) + case (3,4,5) !------------------------------------------------------------------------------! ! Allometry using the Sustainable Landscapes data. ! !------------------------------------------------------------------------------! @@ -3885,7 +3891,7 @@ subroutine init_pft_alloc_params() elseif (is_tropical(ipft)) then !----- Tropical PFTs: check allometry settings. ----------------------------------! select case (iallom) - case (3,4) + case (3,4,5) b1Cl(ipft) = 0.29754 b2Cl(ipft) = 1.0324 case default @@ -3955,7 +3961,7 @@ subroutine init_pft_alloc_params() b1Bl (ipft) = C2B * exp(nleaf(1)) * rho(ipft) / nleaf(3) b2Bl (ipft) = nleaf(2) !------------------------------------------------------------------------------! - case (3) + case (3,5) !------------------------------------------------------------------------------! ! Allometry based on the BAAD data based (F15). We only used leaves from ! ! wild tropical, flowering trees, and applied a stratified sample by DBH class ! @@ -3974,7 +3980,7 @@ subroutine init_pft_alloc_params() ! Amazon. Global Biogeochem. Cycles, 30(11):1639-1660. ! ! doi:10.1002/2016GB005465 (L16). ! !------------------------------------------------------------------------------! - b1Bl(ipft) = c14f15_bl_xx(1) / SLA(ipft) ! XX --> MLO: should ther be a C2B here given c14f15_bl_xx is in m2 (?) and SLA is m2/kgC + b1Bl(ipft) = c14f15_bl_xx(1) b2Bl(ipft) = c14f15_bl_xx(2) !------------------------------------------------------------------------------! case (4) @@ -4097,7 +4103,7 @@ subroutine init_pft_alloc_params() b1Bs_large (ipft) = C2B * exp(ndead_large(1)) * rho(ipft) / ndead_large(3) b2Bs_large (ipft) = ndead_large(2) !------------------------------------------------------------------------------! - case (3,4) + case (3,4,5) !------------------------------------------------------------------------------! ! Trees: set parameters based on Chave et al. (2014). ! ! Grasses: set numbers to small values, too keep bdead at a minimum but still ! @@ -4393,7 +4399,7 @@ subroutine init_pft_alloc_params() , +0.4223014 & , is_tropical(:) .and. (.not. is_liana(:)) ) !------------------------------------------------------------------------------------! - case (4) + case (4,5) !------------------------------------------------------------------------------------! ! Test allometry based on excavation data in Panama based on H. ! ! Multiply it by 2 so that a 40 m tree can get access to water below 5m depth ! @@ -5218,7 +5224,7 @@ subroutine init_pft_resp_params() ! names already in use in c2n factors. ! !---------------------------------------------------------------------------------------! select case (iallom) - case (2,3,4) + case (2,3,4,5) !------------------------------------------------------------------------------------! ! For tropical leaves/fine roots, assume the metabolic/structural ratio obtained ! ! by B17. For grasses and temperate plants, use B17 equation and R96 values for ! @@ -8233,6 +8239,7 @@ subroutine init_derived_params_after_xml() , srf_hor & ! intent(inout) , srf_q10 & ! intent(inout) , bleaf_crit & ! intent(inout) + , ddh_allom & ! intent(out) , d1DBH_small & ! intent(out) , d2DBH_small & ! intent(out) , d1DBH_large & ! intent(out) @@ -8655,6 +8662,14 @@ subroutine init_derived_params_after_xml() !------------------------------------------------------------------------------------! + !----- Set allometric formula. ------------------------------------------------------! + select case (iallom) + case (3,4,5) + ddh_allom(ipft) = is_tropical(ipft) .and. (.not. is_liana(ipft)) + case default + ddh_allom(ipft) = .false. + end select + !------------------------------------------------------------------------------------! !------------------------------------------------------------------------------------! @@ -8662,8 +8677,7 @@ subroutine init_derived_params_after_xml() ! the size2bd and size2bl functions, and to be consistent, they cannot be ! ! initialised through XML. ! !------------------------------------------------------------------------------------! - if ((iallom == 3 .or. iallom == 4) & - .and. is_tropical(ipft) .and. (.not. is_liana(ipft)) ) then + if (ddh_allom(ipft)) then !---------------------------------------------------------------------------------! ! Incorporate both heartwood and height allometric equations to derive DBH. ! !---------------------------------------------------------------------------------! @@ -8680,7 +8694,7 @@ subroutine init_derived_params_after_xml() !------ Inverse of the leaf biomass function. ------------------------------------! l2DBH(ipft) = 1. / ( ( 2. + b2Ht(ipft) ) * b2Bl(ipft) ) - l1DBH(ipft) = ( C2B / (b1Bl(ipft) * exp(b1Ht(ipft) * b2Bl(ipft)) ) ) ** l2DBH(ipft) + l1DBH(ipft) = ( 1. / (b1Bl(ipft) * exp(b1Ht(ipft) * b2Bl(ipft)) ) ) ** l2DBH(ipft) !---------------------------------------------------------------------------------! else !---------------------------------------------------------------------------------! @@ -8769,7 +8783,7 @@ subroutine init_derived_params_after_xml() ! allometry sets define the minimum sizes as before, for back-compability. ! !------------------------------------------------------------------------------------! select case (iallom) - case (3,4) + case (3,4,5) !---------------------------------------------------------------------------------! ! New method, each PFT has a minimum resolvable density. The fraction ensures ! ! that plants start as resolvable. ! @@ -9665,41 +9679,43 @@ subroutine init_derived_params_after_xml() !----- Print allometric coefficients. --------------------------------------------------! if (print_zero_table) then open (unit=18,file=trim(allom_file),status='replace',action='write') - write(unit=18,fmt='(54(1x,a))') ' PFT',' TROPICAL',' GRASS' & + write(unit=18,fmt='(55(1x,a))') ' PFT',' TROPICAL',' GRASS' & ,' CONIFER',' SAVANNAH',' LIANA' & - ,' RHO',' B1HT',' B2HT' & - ,' HGT_REF',' B1BL',' B2BL' & - ,' B1BS_SMALL',' B2BS_SMALL',' B1BS_LARGE' & - ,' B2BS_LARGE',' D1DBH_SMALL',' D2DBH_SMALL' & - ,' D1DBH_LARGE',' D2DBH_LARGE',' L1DBH' & - ,' L2DBH',' B1CA',' B2CA' & - ,' B1WAI',' B2WAI',' B1SA' & - ,' B2SA',' B1RD',' B2RD' & - ,' B1XS',' B1XB',' HGT_MIN' & - ,' HGT_MAX',' MIN_DBH',' DBH_CRIT' & - ,' DBH_BIGLEAF',' BDEAD_CRIT',' BLEAF_CRIT' & - ,' BALIVE_CRIT',' BEVERY_CRIT',' INIT_DENS' & - ,' SLA',' F_BSTOR_INIT',' Q' & - ,' QSW',' QBARK',' QRHOB' & - ,' d18O_REF',' B1_D18O',' B2_D18O' & - ,' B1_EFRD',' B2_EFRD',' INIT_LAIMAX' - + ,' DDH_ALLOM',' RHO',' B1HT' & + ,' B2HT',' HGT_REF',' B1BL' & + ,' B2BL',' B1BS_SMALL',' B2BS_SMALL' & + ,' B1BS_LARGE',' B2BS_LARGE',' D1DBH_SMALL' & + ,' D2DBH_SMALL',' D1DBH_LARGE',' D2DBH_LARGE' & + ,' L1DBH',' L2DBH',' B1CA' & + ,' B2CA',' B1WAI',' B2WAI' & + ,' B1SA',' B2SA',' B1RD' & + ,' B2RD',' B1XS',' B1XB' & + ,' HGT_MIN',' HGT_MAX',' MIN_DBH' & + ,' DBH_CRIT',' DBH_BIGLEAF',' BDEAD_CRIT' & + ,' BLEAF_CRIT',' BALIVE_CRIT',' BEVERY_CRIT' & + ,' INIT_DENS',' SLA',' F_BSTOR_INIT' & + ,' Q',' QSW',' QBARK' & + ,' QRHOB',' d18O_REF',' B1_D18O' & + ,' B2_D18O',' B1_EFRD',' B2_EFRD' & + ,' INIT_LAIMAX' + do ipft=1,n_pft - write (unit=18,fmt='(9x,i5,5(13x,l1),47(1x,f13.6),1(1x,es13.6))') & + write (unit=18,fmt='(9x,i5,6(13x,l1),47(1x,f13.6),1(1x,es13.6))') & ipft,is_tropical(ipft),is_grass(ipft),is_conifer(ipft) & - ,is_savannah(ipft),is_liana(ipft),rho(ipft),b1Ht(ipft),b2Ht(ipft) & - ,hgt_ref(ipft),b1Bl(ipft),b2Bl(ipft),b1Bs_small(ipft) & - ,b2Bs_small(ipft),b1Bs_large(ipft),b2Bs_large(ipft) & - ,d1DBH_small(ipft),d2DBH_small(ipft),d1DBH_large(ipft) & - ,d2DBH_large(ipft),l1DBH(ipft),l2DBH(ipft),b1Ca(ipft),b2Ca(ipft) & - ,b1WAI(ipft),b2WAI(ipft),b1SA(ipft),b2SA(ipft),b1Rd(ipft) & - ,b2Rd(ipft),b1Xs(ipft),b1Xb(ipft),hgt_min(ipft),hgt_max(ipft) & - ,min_dbh(ipft),dbh_crit(ipft),dbh_bigleaf(ipft),bdead_crit(ipft) & - ,bleaf_crit(ipft),balive_crit(ipft),bevery_crit(ipft) & - ,init_density(ipft),sla(ipft),f_bstorage_init(ipft),q(ipft) & - ,qsw(ipft),qbark(ipft),qrhob(ipft),d18O_ref(ipft),b1d18O(ipft) & - ,b2d18O(ipft),b1Efrd(ipft),b2Efrd(ipft),init_laimax(ipft) + ,is_savannah(ipft),is_liana(ipft),ddh_allom(ipft),rho(ipft) & + ,b1Ht(ipft),b2Ht(ipft),hgt_ref(ipft),b1Bl(ipft),b2Bl(ipft) & + ,b1Bs_small(ipft),b2Bs_small(ipft),b1Bs_large(ipft) & + ,b2Bs_large(ipft),d1DBH_small(ipft),d2DBH_small(ipft) & + ,d1DBH_large(ipft),d2DBH_large(ipft),l1DBH(ipft),l2DBH(ipft) & + ,b1Ca(ipft),b2Ca(ipft),b1WAI(ipft),b2WAI(ipft),b1SA(ipft) & + ,b2SA(ipft),b1Rd(ipft),b2Rd(ipft),b1Xs(ipft),b1Xb(ipft) & + ,hgt_min(ipft),hgt_max(ipft),min_dbh(ipft),dbh_crit(ipft) & + ,dbh_bigleaf(ipft),bdead_crit(ipft),bleaf_crit(ipft) & + ,balive_crit(ipft),bevery_crit(ipft),init_density(ipft),sla(ipft) & + ,f_bstorage_init(ipft),q(ipft),qsw(ipft),qbark(ipft),qrhob(ipft) & + ,d18O_ref(ipft),b1d18O(ipft),b2d18O(ipft),b1Efrd(ipft),b2Efrd(ipft) & + ,init_laimax(ipft) end do close(unit=18,status='keep') end if diff --git a/ED/src/init/ed_type_init.f90 b/ED/src/init/ed_type_init.f90 index 456c93fd4..6b6648805 100644 --- a/ED/src/init/ed_type_init.f90 +++ b/ED/src/init/ed_type_init.f90 @@ -19,7 +19,8 @@ module ed_type_init !---------------------------------------------------------------------------------------! subroutine init_ed_cohort_vars(cpatch,ico, lsl,mzg,ntext_soil) use ed_state_vars , only : patchtype ! ! structure - use allometry , only : size2krdepth ! ! function + use allometry , only : size2krdepth & ! function + , distrib_root ! ! sub-routine use pft_coms , only : phenology & ! intent(in) , cuticular_cond & ! intent(in) , leaf_turnover_rate & ! intent(in) @@ -201,6 +202,12 @@ subroutine init_ed_cohort_vars(cpatch,ico, lsl,mzg,ntext_soil) !------------------------------------------------------------------------------------! + + !------ Find the root distribution. -------------------------------------------------! + call distrib_root(kroot,ipft,cpatch%root_frac(:,ico)) + !------------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------------! ! Start variables related with plant hydraulics. ! !------------------------------------------------------------------------------------! diff --git a/ED/src/io/ed_init_history.f90 b/ED/src/io/ed_init_history.f90 index f4d91cc49..0300b24a7 100644 --- a/ED/src/io/ed_init_history.f90 +++ b/ED/src/io/ed_init_history.f90 @@ -5691,6 +5691,8 @@ subroutine fill_history_patch(cpatch,paco_index,ncohorts_global) memdims (2) = int(cpatch%ncohorts,8) memsize (2) = int(cpatch%ncohorts,8) memoffs (2) = 0_8 + call hdf_getslab_r(cpatch%root_frac & + ,'ROOT_FRAC ',dsetrank,iparallel,.true. ,foundvar) call hdf_getslab_r(cpatch%wflux_gw_layer & ,'WFLUX_GW_LAYER ',dsetrank,iparallel,.true. ,foundvar) if (writing_long) then diff --git a/ED/src/io/ed_read_ed21_history.f90 b/ED/src/io/ed_read_ed21_history.f90 index 3e84faf03..bba663ff7 100644 --- a/ED/src/io/ed_read_ed21_history.f90 +++ b/ED/src/io/ed_read_ed21_history.f90 @@ -691,36 +691,52 @@ subroutine read_ed21_history_file !---------------------------------------------------------------! ! Initialise size and structural pools. ! !---------------------------------------------------------------! - if ((iallom == 3 .or. iallom == 4)) then + select case (iallom) + case (3,4,5) !----- New allometry, initialise with DBH. ------------------! cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) bdeadx = size2bd(cpatch%dbh(ico) & ,cpatch%hite(ico),ipft) cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx - elseif ( igrass == 1 .and. is_grass(ipft) & - .and. cpatch%bdeada(ico) > 0.0 ) then - !-- if the initial file was running with igrass = 0, bdead ! - ! should be nonzero. If the new run has igrass = 1, bdead ! - ! is set to zero and the mass is discarded ! - cpatch%hite (ico) = dbh2h (ipft,cpatch%dbh (ico)) - cpatch%bdeada(ico) = 0.0 - cpatch%bdeadb(ico) = 0.0 - - else if (bdeadx > 0.0 .and. igrass == 0) then - ! grasses have bdead in both input and current run (igrass=0) - cpatch%dbh(ico) = bd2dbh(ipft,cpatch%bdeada(ico) & - ,cpatch%bdeadb(ico) ) - cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico) ) - else - ! it is either a new grass (igrass=1) in the initial file, ! - ! or the value for bdead is missing from the files ! - cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) - bdeadx = size2bd(cpatch%dbh(ico) & - ,cpatch%hite(ico),ipft) - cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx - cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx - end if + case default + if ( igrass == 1 .and. is_grass(ipft) & + .and. cpatch%bdeada(ico) > 0.0 ) then + !---------------------------------------------------------! + ! If the initial file was running with igrass = 0, ! + ! bdead should be nonzero. If the new run has ! + ! igrass = 1, bdead is set to zero and the mass is ! + ! discarded. This does not violate carbon conservation ! + ! because this is the initial state of a new run. ! + !---------------------------------------------------------! + cpatch%hite (ico) = dbh2h (ipft,cpatch%dbh (ico)) + cpatch%bdeada(ico) = 0.0 + cpatch%bdeadb(ico) = 0.0 + !---------------------------------------------------------! + + else if (bdeadx > 0.0 .and. igrass == 0) then + !---------------------------------------------------------! + ! Grasses have bdead in both input and current run ! + ! (igrass=0). ! + !---------------------------------------------------------! + cpatch%dbh(ico) = bd2dbh(ipft,cpatch%bdeada(ico) & + ,cpatch%bdeadb(ico) ) + cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico) ) + !---------------------------------------------------------! + else + !---------------------------------------------------------! + ! It is either a new grass (igrass=1) in the initial ! + ! file, or the value for bdead is missing from the files. ! + !---------------------------------------------------------! + cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) + bdeadx = size2bd(cpatch%dbh(ico) & + ,cpatch%hite(ico),ipft) + cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx + cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx + !---------------------------------------------------------! + end if + !------------------------------------------------------------! + end select !---------------------------------------------------------------! @@ -2082,36 +2098,52 @@ subroutine read_ed21_history_unstruct !---------------------------------------------------------------! ! Initialise size and structural pools. ! !---------------------------------------------------------------! - if (iallom == 3 .or. iallom == 4) then + select case (iallom) + case (3,4,5) !----- New allometry, initialise with DBH. ------------------! cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) bdeadx = size2bd(cpatch%dbh(ico) & ,cpatch%hite(ico),ipft) cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx - elseif ( igrass == 1 .and. is_grass(ipft) & - .and. cpatch%bdeada(ico) > 0.0 ) then - !-- if the initial file was running with igrass = 0, bdead ! - ! should be nonzero. If the new run has igrass = 1, bdead ! - ! is set to zero and the mass is discarded ! - cpatch%hite (ico) = dbh2h (ipft,cpatch%dbh (ico)) - cpatch%bdeada(ico) = 0.0 - cpatch%bdeadb(ico) = 0.0 - - else if (bdeadx > 0.0 .and. igrass == 0) then - ! grasses have bdead in both input and current run (igrass=0) - cpatch%dbh(ico) = bd2dbh(ipft,cpatch%bdeada(ico) & - ,cpatch%bdeadb(ico) ) - cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico) ) - else - ! it is either a new grass (igrass=1) in the initial file, ! - ! or the value for bdead is missing from the files ! - cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) - bdeadx = size2bd(cpatch%dbh(ico) & - ,cpatch%hite(ico),ipft) - cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx - cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx - end if + case default + if ( igrass == 1 .and. is_grass(ipft) & + .and. cpatch%bdeada(ico) > 0.0 ) then + !---------------------------------------------------------! + ! If the initial file was running with igrass = 0, ! + ! bdead should be nonzero. If the new run has ! + ! igrass = 1, bdead is set to zero and the mass is ! + ! discarded. This does not violate carbon conservation ! + ! because this is the initial state of a new run. ! + !---------------------------------------------------------! + cpatch%hite (ico) = dbh2h (ipft,cpatch%dbh (ico)) + cpatch%bdeada(ico) = 0.0 + cpatch%bdeadb(ico) = 0.0 + !---------------------------------------------------------! + + else if (bdeadx > 0.0 .and. igrass == 0) then + !---------------------------------------------------------! + ! Grasses have bdead in both input and current run ! + ! (igrass=0). ! + !---------------------------------------------------------! + cpatch%dbh(ico) = bd2dbh(ipft,cpatch%bdeada(ico) & + ,cpatch%bdeadb(ico) ) + cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico) ) + !---------------------------------------------------------! + else + !---------------------------------------------------------! + ! It is either a new grass (igrass=1) in the initial ! + ! file, or the value for bdead is missing from the files. ! + !---------------------------------------------------------! + cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) + bdeadx = size2bd(cpatch%dbh(ico) & + ,cpatch%hite(ico),ipft) + cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx + cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx + !---------------------------------------------------------! + end if + !------------------------------------------------------------! + end select !---------------------------------------------------------------! @@ -3456,36 +3488,52 @@ subroutine read_ed21_polyclone !---------------------------------------------------------------! ! Initialise size and structural pools. ! !---------------------------------------------------------------! - if (iallom == 3 .or. iallom == 4) then + select case (iallom) + case (3,4,5) !----- New allometry, initialise with DBH. ------------------! cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) bdeadx = size2bd(cpatch%dbh(ico) & ,cpatch%hite(ico),ipft) cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx - elseif ( igrass == 1 .and. is_grass(ipft) & - .and. cpatch%bdeada(ico) > 0.0 ) then - !-- if the initial file was running with igrass = 0, bdead ! - ! should be nonzero. If the new run has igrass = 1, bdead ! - ! is set to zero and the mass is discarded ! - cpatch%hite (ico) = dbh2h (ipft,cpatch%dbh (ico)) - cpatch%bdeada(ico) = 0.0 - cpatch%bdeadb(ico) = 0.0 - - else if (bdeadx > 0.0 .and. igrass == 0) then - ! grasses have bdead in both input and current run (igrass=0) - cpatch%dbh(ico) = bd2dbh(ipft,cpatch%bdeada(ico) & - ,cpatch%bdeadb(ico) ) - cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico) ) - else - ! it is either a new grass (igrass=1) in the initial file, ! - ! or the value for bdead is missing from the files ! - cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) - bdeadx = size2bd(cpatch%dbh(ico) & - ,cpatch%hite(ico),ipft) - cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx - cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx - end if + case default + if ( igrass == 1 .and. is_grass(ipft) & + .and. cpatch%bdeada(ico) > 0.0 ) then + !---------------------------------------------------------! + ! If the initial file was running with igrass = 0, ! + ! bdead should be nonzero. If the new run has ! + ! igrass = 1, bdead is set to zero and the mass is ! + ! discarded. This does not violate carbon conservation ! + ! because this is the initial state of a new run. ! + !---------------------------------------------------------! + cpatch%hite (ico) = dbh2h (ipft,cpatch%dbh (ico)) + cpatch%bdeada(ico) = 0.0 + cpatch%bdeadb(ico) = 0.0 + !---------------------------------------------------------! + + else if (bdeadx > 0.0 .and. igrass == 0) then + !---------------------------------------------------------! + ! Grasses have bdead in both input and current run ! + ! (igrass=0). ! + !---------------------------------------------------------! + cpatch%dbh(ico) = bd2dbh(ipft,cpatch%bdeada(ico) & + ,cpatch%bdeadb(ico) ) + cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico) ) + !---------------------------------------------------------! + else + !---------------------------------------------------------! + ! It is either a new grass (igrass=1) in the initial ! + ! file, or the value for bdead is missing from the files. ! + !---------------------------------------------------------! + cpatch%hite(ico) = dbh2h (ipft,cpatch%dbh (ico)) + bdeadx = size2bd(cpatch%dbh(ico) & + ,cpatch%hite(ico),ipft) + cpatch%bdeada(ico) = agf_bs(ipft) * bdeadx + cpatch%bdeadb(ico) = (1.0 - agf_bs(ipft)) * bdeadx + !---------------------------------------------------------! + end if + !------------------------------------------------------------! + end select !---------------------------------------------------------------! diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d72654bec..46eb29116 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -633,6 +633,8 @@ module ed_state_vars real, pointer, dimension(:) :: wflux_wl ! bl_max) then - ! if the new bl_max is smaller than current bleaf, we need to dump - ! the extra carbon into bstorage and change phenology_status - cpatch%bstorage(ico) = cpatch%bstorage(ico) & - + (cpatch%bleaf(ico) - bl_max) - ! Water content will be updated later in structural_growth + + !---------------------------------------------------------------------------------! + ! Check that plasticity doesn't violate allometry. ! + !---------------------------------------------------------------------------------! + if (cpatch%bleaf(ico) > bl_max) then + !------------------------------------------------------------------------------! + ! If the new bl_max is smaller than current bleaf, we need to dump the ! + ! extra carbon into bstorage and change phenology_status. ! + !------------------------------------------------------------------------------! + cpatch%bstorage(ico) = cpatch%bstorage(ico) + (cpatch%bleaf(ico) - bl_max) + + !----- Water content will be updated later in structural_growth. --------------! cpatch%bleaf(ico) = bl_max + !------------------------------------------------------------------------------! - ! we also update balive since bleaf changed + !----- We also update balive since bleaf changed. -----------------------------! cpatch%balive(ico) = ed_balive(cpatch,ico) + !------------------------------------------------------------------------------! + !----- Leaves are at maximum elongation, update phenology flag accordingly. ---! cpatch%phenology_status(ico) = 0 - endif + !------------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------------! end select !------------------------------------------------------------------------------------! diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..d3be988ac 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From a8d3e4aeca7371f4d986b15add69eead6ad95e73 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 4 Jun 2023 10:47:43 -0700 Subject: [PATCH 11/62] Minor bug fix in ed_params.f90, one place was missing the IALLOM=5 setting. --- ED/src/init/ed_params.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 738029fee..343905b31 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -3723,7 +3723,7 @@ subroutine init_pft_alloc_params() ! Minimum and maximum height allowed for each cohort. ! !---------------------------------------------------------------------------------------! select case (iallom) - case (3,4) + case (3,4,5) !------------------------------------------------------------------------------------! ! This value corresponds to the 99% quantile of all trees measured by the ! ! Sustainable Landscapes. ! From 02a8a3c5bd69c6cc5fb9fe38813f547c83c5173a Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 4 Jun 2023 11:17:30 -0700 Subject: [PATCH 12/62] More bug fixes, and updates to comments to reflect the correct references. --- ED/src/init/ed_params.f90 | 134 ++++++++++++++++++++++++-------------- 1 file changed, 86 insertions(+), 48 deletions(-) diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 343905b31..697cc9a5c 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -3016,13 +3016,13 @@ subroutine init_pft_alloc_params() real, dimension(3) , parameter :: nleaf = (/ 0.0192512, 0.9749494, 2.5858509 /) real, dimension(2) , parameter :: ncrown_area = (/ 0.1184295, 1.0521197 /) !---------------------------------------------------------------------------------------! - ! Coefficients for leaf and structural biomass (iallom = 3). For adult individuals, ! - ! we use the pantropical allometric equation from C14 that estimates AGB and the leaf ! - ! biomass from an allometric equation derived from F15 data (tropical forest, wild ! - ! flowering trees only), and the size- and site-dependent stratified sampling and ! - ! aggregation (J17). Total individual leaf area was fitted, so to get biomass we must ! - ! divide by SLA. The C2B term is added here but is removed when the coefficients are ! - ! set. ! + ! Coefficients for leaf and structural biomass (iallom = 3 or 5). For adult ! + ! individuals, we use the pantropical allometric equation from C14 that estimates AGB ! + ! and the leaf biomass from an allometric equation derived from F15 data (tropical ! + ! forest, wild flowering trees only), and the size- and site-dependent stratified ! + ! sampling and aggregation (J17). Total individual leaf area was fitted, so to get ! + ! biomass we must divide by SLA. The C2B term is added here but is removed when the ! + ! coefficients are set. ! ! ! ! References: ! ! ! @@ -3033,7 +3033,7 @@ subroutine init_pft_alloc_params() ! ! ! Falster DS, Duursma RA, Ishihara MI, Barneche DR, FitzJohn RG, Vahammar A, Aiba M, ! ! Ando M, Anten N, Aspinwall MJ. 2015. BAAD: a biomass and allometry database for ! - ! woody plants. Ecology, 96 (5):1445-1445. doi:10.1890/14-1889.1 (F16). ! + ! woody plants. Ecology, 96 (5):1445-1445. doi:10.1890/14-1889.1 (F15). ! ! ! ! Jucker T, Caspersen J, Chave J, Antin C, Barbier N, Bongers F, Dalponte M, ! ! van Ewijk KY, Forrester DI, Haeni M et al. 2017. Allometric equations for ! @@ -3315,9 +3315,10 @@ subroutine init_pft_alloc_params() !---------------------------------------------------------------------------------------! ! KIM: ED1/ED2 codes and Moorcroft et al. had the incorrect ratio. ! - ! MLO: The ratio is corrected only for tropical PFTs using iallom=3. To extend this ! - ! fix to other PFTs, one must refit parameters for other tissues (e.g. bdead), ! - ! so the total AGB is consistent with the original allometric equation for AGB. ! + ! MLO: The ratio is corrected only for tropical PFTs using iallom = 3 or 5. To ! + ! extend this fix to other PFTs, one must refit parameters for other tissues ! + ! (e.g. bdead), so the total AGB is consistent with the original allometric ! + ! equation for AGB. ! ! ! ! For the PFTs that were updated, we combine the pipe model with the data from ! ! CA08 and shape parameter from F16 to derive the ratio. ! @@ -3506,8 +3507,8 @@ subroutine init_pft_alloc_params() !---------------------------------------------------------------------------------------! ! Set bark thickness and carbon allocation to bark. This is currently done only ! - ! for tropical trees when IALLOM=3, because all biomass pools must be corrected to ! - ! ensure that total aboveground biomass is consistent with the allometric equations. ! + ! for tropical trees when IALLOM = 3 or 5, because all biomass pools must be corrected ! + ! to ensure that total aboveground biomass is consistent with the allometric equations. ! ! This may and should be changed in the future. ! ! ! ! References: ! @@ -3636,13 +3637,13 @@ subroutine init_pft_alloc_params() !------------------------------------------------------------------------------! ! Allometric equation based on the fitted curve using the Sustainable ! ! Landscapes data set (L16) and the size- and site-dependent stratified ! - ! sampling and aggregation (J17). This relationship is fitted using ! - ! Standardised Major Axis (SMA) so the same parameters can be used for ! - ! y=f(x) and x=f(y). This is particularly useful when initialising the model ! - ! with airborne lidar data. Because it would be extremely cumbersome to ! - ! derive a SMA-based regression based on Weibull function, we use a log-linear ! - ! relationship. The maximum height is based on the 99% quantile of all trees ! - ! measured by the SL team. ! + ! sampling and aggregation (J17), as described in (L20). This relationship is ! + ! fitted using Standardised Major Axis (SMA) so the same parameters can be ! + ! used for y=f(x) and x=f(y). This is particularly useful when initialising ! + ! the model with airborne lidar data (L20). Because it would be extremely ! + ! cumbersome to derive a SMA-based regression based on Weibull function, we ! + ! use a log-linear relationship. The maximum height is based on the 99% ! + ! quantile of all trees measured by the SL team. ! ! ! ! References: ! ! ! @@ -3656,6 +3657,11 @@ subroutine init_pft_alloc_params() ! biomass variability across intact and degraded forests in the Brazilian ! ! Amazon. Global Biogeochem. Cycles, 30(11):1639-1660. ! ! doi:10.1002/2016GB005465 (L16). ! + ! ! + ! Longo M, Saatchi SS, Keller M, Bowman KW, Ferraz A, Moorcroft PR, Morton D, ! + ! Bonal D, Brando P, Burban B et al. 2020. Impacts of degradation on water, ! + ! energy, and carbon cycling of the Amazon tropical forests. J. Geophys. ! + ! Res.-Biogeosci., 125: e2020JG005677. doi:10.1029/2020JG005677 (L20). ! !------------------------------------------------------------------------------! b1Ht (ipft) = 1.139963 b2Ht (ipft) = 0.564899 @@ -3823,8 +3829,10 @@ subroutine init_pft_alloc_params() ! Allometry using the Sustainable Landscapes data. ! !------------------------------------------------------------------------------! ! ! - ! Longo, M. et al. Carbon Debt and Recovery time of degraded forests in ! - ! the Amazon. Environ. Res. Lett., in prep. ! + ! Longo M, Saatchi SS, Keller M, Bowman KW, Ferraz A, Moorcroft PR, Morton D, ! + ! Bonal D, Brando P, Burban B et al. 2020. Impacts of degradation on water, ! + ! energy, and carbon cycling of the Amazon tropical forests. J. Geophys. ! + ! Res.-Biogeosci., 125: e2020JG005677. doi:10.1029/2020JG005677 (L20). ! ! ! ! Equation was derived from forest inventory measurements carried out at ! ! multiple locations in the Brazilian Amazon, and fitted using a ! @@ -3867,11 +3875,13 @@ subroutine init_pft_alloc_params() ! Poorter L., L. Bongers, F. Bongers, 2006: Architecture of 54 moist-forest tree ! ! species: traits, trade-offs, and functional groups. Ecology, 87, 1289-1301. ! ! ! - ! For iallom = 3, we use the allometric equation based on the Sustainable Landscapes ! - ! data set. ! + ! For iallom = 3 or 5, we use the allometric equation based on the Sustainable ! + ! Landscapes data set. ! ! ! - ! Longo, M. et al. Carbon Debt and Recovery time of degraded forests in the Amazon, ! - ! in prep. ! + ! Longo M, Saatchi SS, Keller M, Bowman KW, Ferraz A, Moorcroft PR, Morton D, Bonal D, ! + ! Brando P, Burban B et al. 2020. Impacts of degradation on water, energy, and ! + ! carbon cycling of the Amazon tropical forests. J. Geophys. Res.-Biogeosci., 125: ! + ! e2020JG005677. doi:10.1029/2020JG005677 (L20). ! ! ! ! Equation was derived from forest inventory measurements carried out at multiple ! ! locations in the Brazilian Amazon, and fitted using a heteroscedastic least ! @@ -3919,9 +3929,9 @@ subroutine init_pft_alloc_params() ! Parameters for DBH -> Bleaf allometry. ! ! ! ! IALLOM = 0,1,2 -- Bleaf = b1Bl * DBH^b2Bl ! - ! IALLOM = 3 -- Bleaf = b1Bl * (DBH*DBH*Height)^b2Bl ! - ! IALLOM = 4 -- leaf_A= b1Bl * (DBH*DBH*Height)^b2Bl ! - ! b1Bl is a fucntion of wood density ! + ! IALLOM = 3,4,5 -- leaf_A= b1Bl * (DBH*DBH*Height)^b2Bl ! + ! b1Bl is a function of wood density (IALLOM=4 only). ! + ! For IALLOM=3,4,5, leaf biomass will depend on SLA. ! ! ! ! The coefficients and thresholds depend on the PFT and allometric equations. In ! ! addition to the coefficients, we define the dbh point that defines adult cohorts as ! @@ -3963,22 +3973,27 @@ subroutine init_pft_alloc_params() !------------------------------------------------------------------------------! case (3,5) !------------------------------------------------------------------------------! - ! Allometry based on the BAAD data based (F15). We only used leaves from ! - ! wild tropical, flowering trees, and applied a stratified sample by DBH class ! - ! and location and cross-validation, following (J17). ! + ! Allometry based on the BAAD data based (F15) and described in (L20). We ! + ! only used leaves from wild tropical, flowering trees, and applied a ! + ! stratified sample by DBH class and location and cross-validation, following ! + ! (J17). ! ! ! ! References: ! ! ! + ! Falster DS, Duursma RA, Ishihara MI, Barneche DR, FitzJohn RG, Vahammar A, ! + ! Aiba M, Ando M, Anten N, Aspinwall MJ. 2015. BAAD: a biomass and ! + ! allometry database for woody plants. Ecology, 96 (5):1445-1445. ! + ! doi:10.1890/14-1889.1 (F15). ! + ! ! ! Jucker T, Caspersen J, Chave J, Antin C, Barbier N, Bongers F, Dalponte M, ! ! van Ewijk KY, Forrester DI, Haeni M et al. 2017. Allometric equations for ! ! integrating remote sensing imagery into forest monitoring programmes. ! ! Glob. Change Biol., 23(1):177-190. doi:10.1111/gcb.13388 (J17). ! ! ! - ! Longo M, Keller M, dos-Santos MN, Leitold V, Pinage ER, Baccini A, ! - ! Saatchi S, Nogueira EM, Batistella M , Morton DC. 2016. Aboveground ! - ! biomass variability across intact and degraded forests in the Brazilian ! - ! Amazon. Global Biogeochem. Cycles, 30(11):1639-1660. ! - ! doi:10.1002/2016GB005465 (L16). ! + ! Longo M, Saatchi SS, Keller M, Bowman KW, Ferraz A, Moorcroft PR, Morton D, ! + ! Bonal D, Brando P, Burban B et al. 2020. Impacts of degradation on water, ! + ! energy, and carbon cycling of the Amazon tropical forests. J. Geophys. ! + ! Res.-Biogeosci., 125: e2020JG005677. doi:10.1029/2020JG005677 (L20). ! !------------------------------------------------------------------------------! b1Bl(ipft) = c14f15_bl_xx(1) b2Bl(ipft) = c14f15_bl_xx(2) @@ -3987,7 +4002,12 @@ subroutine init_pft_alloc_params() !------------------------------------------------------------------------------! ! Allometry based on the BAAD data based (F15). We only used leaves from ! ! wild tropical, note that b1Bl has the unit of m2 leaf under this scenario ! - ! and will be converted to leaf carbon using SLA in size2bl + ! and will be converted to leaf carbon using SLA in size2bl. ! + ! ! + ! Falster DS, Duursma RA, Ishihara MI, Barneche DR, FitzJohn RG, Vahammar A, ! + ! Aiba M, Ando M, Anten N, Aspinwall MJ. 2015. BAAD: a biomass and ! + ! allometry database for woody plants. Ecology, 96 (5):1445-1445. ! + ! doi:10.1890/14-1889.1 (F15). ! !------------------------------------------------------------------------------! b1Bl(ipft) = exp( c14f15_la_wd(1) + c14f15_la_wd(2) * log(rho(ipft))) b2Bl(ipft) = c14f15_la_wd(3) @@ -4040,7 +4060,7 @@ subroutine init_pft_alloc_params() ! Bdead = { ! ! { b1Bs_large * DBH^b2Bl_large , if dbh > dbh_crit ! ! ! - ! IALLOM = 3, 4 ! + ! IALLOM = 3, 4, 5 ! ! ! ! Bdead = b1Bs_small * (DBH^2 * Height) ^ b2Bs_small ! ! ! @@ -4244,7 +4264,7 @@ subroutine init_pft_alloc_params() ! WAI parameters, the choice depends on IALLOM. ! !---------------------------------------------------------------------------------------! select case (iallom) - case (3,4) + case (3,4,5) !------------------------------------------------------------------------------------! ! WAI is defined as a fraction of (potential) LAI. This is just a refit of ! ! allometry 2 but using DBH*DBH*Height as predictor for consistency. ! @@ -4429,11 +4449,6 @@ subroutine init_pft_alloc_params() ! Hydrological niche segregation defines forest structure and drought tolerance ! ! strategies in a seasonal Amazonian forest. J. Ecol., in press. ! ! doi:10.1111/1365-2745.13022 (B18). ! - ! ! - ! Longo M, Keller M, dos-Santos MN, Leitold V, Pinage ER, Baccini A, Saatchi S, ! - ! Nogueira EM, Batistella M , Morton DC. 2016. Aboveground biomass variability ! - ! across intact and degraded forests in the Brazilian Amazon. Global Biogeochem. ! - ! Cycles, 30(11):1639-1660. doi:10.1002/2016GB005465 (L16). ! !---------------------------------------------------------------------------------------! d18O_ref(:) = -5.356 b1d18O (:) = 0.0516 @@ -4722,12 +4737,35 @@ subroutine init_pft_photo_params() !---------------------------------------------------------------------------------------! select case (iphysiol) case (0,2) - !----- Default parameters (Moorcroft et al. 2001; Longo 2014). ----------------------! + !------------------------------------------------------------------------------------! + ! Default parameters (M01/M09/L19). ! + ! ! + ! Longo M, Knox RG, Medvigy DM, Levine NM, Dietze MC, Kim Y, Swann ALS, Zhang K, ! + ! Rollinson CR, Bras RL et al. 2019. The biophysics, ecology, and biogeochemistry ! + ! of functionally diverse, vertically and horizontally heterogeneous ecosystems: ! + ! the Ecosystem Demography model, version 2.2 -- part 1: Model description. ! + ! Geosci. Model Dev., 12: 4309-4346. doi:10.5194/gmd-12-4309-2019 (L19). ! + ! ! + ! Medvigy DM, Wofsy SC, Munger JW, Hollinger DY , Moorcroft PR. 2009. Mechanistic ! + ! scaling of ecosystem function and dynamics in space and time: Ecosystem ! + ! demography model version 2. J. Geophys. Res.-Biogeosci., 114: G01002. ! + ! doi:10.1029/2008JG000812 (M09). ! + ! ! + ! Moorcroft PR, Hurtt GC , Pacala SW. 2001. A method for scaling vegetation ! + ! dynamics: The Ecosystem Demography model (ED). Ecol. Monogr., 71: 557-586. ! + ! doi:10.1890/0012- 9615(2001)071[0557:AMFSVD]2.0.CO;2 (M01). ! + !------------------------------------------------------------------------------------! vm_hor(:) = 3000. vm_q10(:) = merge(q10_c4,q10_c3,photosyn_pathway(:) == 4) !------------------------------------------------------------------------------------! case (1,3) - !----- Use values from von Caemmerer (2000). ----------------------------------------! + !------------------------------------------------------------------------------------! + ! Use values from vC00. ! + ! ! + ! von Caemmerer S. 2000. Biochemical models of leaf photosynthesis. No. 2 in ! + ! Techniques in Plant Sciences. CSIRO Publishing, Collingwood, VIC, Australia. ! + ! doi:10.1006/anbo.2000.1296 (vC00). ! + !------------------------------------------------------------------------------------! vm_hor(:) = 58520. * tphysref / (rmol * (t00+25.)) vm_q10(:) = 2.21 !------------------------------------------------------------------------------------! @@ -8568,7 +8606,7 @@ subroutine init_derived_params_after_xml() !---------------------------------------------------------------------------------------! ! Hgt_max of temperate trees cannot exceed b1Ht, and cannot exceed hgt_ref for ! - ! tropical trees (IALLOM=2 or IALLOM=3). ! + ! tropical trees (IALLOM = 2). ! !---------------------------------------------------------------------------------------! select case (iallom) case (2) From 37bdbcdd4392e0f458ebe3b1f88595e70d94453b Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 4 Jun 2023 17:59:34 -0700 Subject: [PATCH 13/62] Added a few other bug fixes. --- ED/src/driver/ed_driver.F90 | 21 ++++++--- ED/src/driver/ed_met_driver.f90 | 66 +++++++++++++++++++-------- ED/src/dynamics/disturbance.f90 | 2 +- ED/src/dynamics/farq_katul.f90 | 3 +- ED/src/dynamics/forestry.f90 | 4 ++ ED/src/init/landuse_init.f90 | 4 +- ED/src/io/ed_read_ed10_20_history.f90 | 13 ++++-- ED/src/mpi/ed_para_init.f90 | 4 +- 8 files changed, 81 insertions(+), 36 deletions(-) diff --git a/ED/src/driver/ed_driver.F90 b/ED/src/driver/ed_driver.F90 index 1c7ff8724..8e0cfaeb0 100644 --- a/ED/src/driver/ed_driver.F90 +++ b/ED/src/driver/ed_driver.F90 @@ -185,7 +185,8 @@ subroutine ed_driver() !---------------------------------------------------------------------------------------! - if (trim(runtype) == 'HISTORY' ) then + select case (trim(runtype)) + case ('HISTORY') !------------------------------------------------------------------------------------! ! Initialize the model state as a replicate image of a previous state. ! !------------------------------------------------------------------------------------! @@ -210,7 +211,7 @@ subroutine ed_driver() if (nnodetot /= 1 ) call MPI_Barrier(MPI_COMM_WORLD,ierr) #endif !------------------------------------------------------------------------------------! - else + case default !------------------------------------------------------------------------------------! ! Initialize state properties of polygons/sites/patches/cohorts. ! @@ -218,7 +219,7 @@ subroutine ed_driver() if (mynum == nnodetot) write (unit=*,fmt='(a)') ' [+] Load_Ecosystem_State...' call load_ecosystem_state() !------------------------------------------------------------------------------------! - end if + end select !---------------------------------------------------------------------------------------! ! In case the runs is going to produce detailed output, we eliminate all patches ! @@ -294,11 +295,14 @@ subroutine ed_driver() ! Initialise some derived variables. Skip this in case the simulation is resuming ! ! from HISTORY. ! !---------------------------------------------------------------------------------------! - if (trim(runtype) /= 'HISTORY' ) then + select case (trim(runtype)) + case ('HISTORY') + continue + case default do ifm=1,ngrids call update_derived_props(edgrid_g(ifm)) end do - end if + end select !---------------------------------------------------------------------------------------! @@ -307,11 +311,14 @@ subroutine ed_driver() ! Initialise drought phenology. This should be done after the soil moisture has ! ! been set up. ! !---------------------------------------------------------------------------------------! - if (runtype /= 'HISTORY') then + select case (trim(runtype)) + case ('HISTORY') + continue + case default do ifm=1,ngrids call first_phenology(edgrid_g(ifm)) end do - end if + end select !---------------------------------------------------------------------------------------! diff --git a/ED/src/driver/ed_met_driver.f90 b/ED/src/driver/ed_met_driver.f90 index f4db066f3..abc07cfda 100644 --- a/ED/src/driver/ed_met_driver.f90 +++ b/ED/src/driver/ed_met_driver.f90 @@ -345,6 +345,8 @@ subroutine read_met_drivers_init type(edtype) , pointer :: cgrid character(len=str_len) :: infile integer :: igr + integer :: year_cyc + integer :: year_cyc_2 integer :: year_use integer :: iformat integer :: iv @@ -526,8 +528,18 @@ subroutine read_met_drivers_init !------------------------------------------------------------------------------------! ! We now retrieve the met driver year based on the stored sequence. ! !------------------------------------------------------------------------------------! - iyear = current_time%year-iyeara+1 - + !----- If we need to recycle over years, find the appropriate year to apply. --------! + year_cyc = current_time%year + ncyc = metcycf - metcyc1 + 1 + !----- If we are after the last year... ---------------------------------------------! + do while(year_cyc > metcycf) + year_cyc = year_cyc - ncyc + end do + !----- If we are before the first year... -------------------------------------------! + do while(year_cyc < metcyc1) + year_cyc = year_cyc + ncyc + end do + !------------------------------------------------------------------------------------! gridloop: do igr = 1,ngrids @@ -535,7 +547,7 @@ subroutine read_met_drivers_init !----- Loop over the different file formats --------------------------------------! formloop: do iformat = 1, nformats - + !------------------------------------------------------------------------------! ! SPECIAL CASE FOR CO2: ! ! Usually we do not want to cycle CO2 but only the other meteorology. ! @@ -557,13 +569,13 @@ subroutine read_met_drivers_init !------------------------------------------------------------------------! else !----- Typical case. Pool data from the meteorological cycle. -----------! - year_use = metyears(iyear) + year_use = year_cyc !------------------------------------------------------------------------! end if !---------------------------------------------------------------------------! else !----- Typical case. Pool data from the meteorological cycle. --------------! - year_use = metyears(iyear) + year_use = year_cyc !---------------------------------------------------------------------------! end if !------------------------------------------------------------------------------! @@ -579,6 +591,7 @@ subroutine read_met_drivers_init write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE =',year_use write (unit=*,fmt='(a)' ) '------------------------------' call fatal_error('Cannot open met driver input file '//trim(infile)//'!' & @@ -594,7 +607,7 @@ subroutine read_met_drivers_init !----- Loop over variables. and read the data. --------------------------------! do iv = 1, met_nv(iformat) offset = 0 - call read_ol_file(infile,iformat, iv, mname(current_time%month) & + call read_ol_file(infile,iformat, iv, mname(current_time%month) & ,current_time%year, offset, cgrid) end do @@ -605,21 +618,35 @@ subroutine read_met_drivers_init !------------------------------------------------------------------------------! ! For all interpolated variables, we also need the next time. ! !------------------------------------------------------------------------------! - !------ Find next month and year ----------------------------------------------! - m2 = current_time%month + 1 - + !------------------------------------------------------------------------------! - ! If this takes us into the next year, take the next year in sequence and ! - ! reset month to January. ! + ! Find next month and year. If this takes us into the next year, increment ! + ! year and reset month to January. ! !------------------------------------------------------------------------------! - if (m2 == 13) then + m2 = current_time%month + 1 + select case (m2) + case (13) m2 = 1 y2 = current_time%year + 1 - else - !----- Otherwise, use the same year. ---------------------------------------! - y2 = current_time%year - end if - iyear = y2 - iyeara + 1 + year_cyc_2 = y2 + + !----- If we are now after the last year... --------------------------------! + do while(year_cyc_2 > metcycf) + year_cyc_2 = year_cyc_2 - ncyc + end do + !---------------------------------------------------------------------------! + + !----- If we are now before the first year... ------------------------------! + do while(year_use_2 < metcyc1) + year_cyc_2 = year_cyc_2 + ncyc + end do + !---------------------------------------------------------------------------! + case default + !---- Same year as the previous month. -------------------------------------! + y2 = current_time%year + year_cyc_2 = year_cyc + !---------------------------------------------------------------------------! + end select !------------------------------------------------------------------------------# ! Again consider the special case of not cycling co2 @@ -638,13 +665,13 @@ subroutine read_met_drivers_init !------------------------------------------------------------------------! else !----- Typical case. Pool data from the meteorological cycle. -----------! - year_use_2 = metyears(iyear) + year_use_2 = year_cyc_2 !------------------------------------------------------------------------! end if !---------------------------------------------------------------------------! else !----- Typical case. Pool data from the meteorological cycle. --------------! - year_use_2 = metyears(iyear) + year_use_2 = year_cyc_2 !---------------------------------------------------------------------------! end if !----- Now, open the file once. -----------------------------------------------! @@ -757,6 +784,7 @@ subroutine read_met_drivers !----- Loop over the different file formats --------------------------------------! formloop: do iformat = 1, nformats + !------------------------------------------------------------------------------! ! SPECIAL CASE FOR CO2: ! ! Usually we do not want to cycle CO2 but only the other meteorology. ! diff --git a/ED/src/dynamics/disturbance.f90 b/ED/src/dynamics/disturbance.f90 index ad0728a26..ea34fe56f 100644 --- a/ED/src/dynamics/disturbance.f90 +++ b/ED/src/dynamics/disturbance.f90 @@ -1563,7 +1563,7 @@ subroutine site_disturbance_rates(year, cgrid) !---------------------------------------------------------------------------! case default !------ Read anthropogenic disturbance from external data set. -------------! - if (clutime%landuse(12) < 0 .or. clutime%landuse(14) < 0) then + if (clutime%landuse(12) < 0. .or. clutime%landuse(14) < 0.) then find_target = .true. cpoly%primary_harvest_target (isi) = 0. cpoly%secondary_harvest_target(isi) = 0. diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index cb3cd6ea7..0e184f0b1 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -848,7 +848,8 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: k1,k2 !! Variable used in photosynthesis equation real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) - real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc + real(kind=8) :: dbdg !! derivatives of b wrt. gsc + real(kind=8) :: dcdg !! derivatives of c wrt. gsc !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/forestry.f90 b/ED/src/dynamics/forestry.f90 index 320513cbf..39a27c12a 100644 --- a/ED/src/dynamics/forestry.f90 +++ b/ED/src/dynamics/forestry.f90 @@ -142,6 +142,10 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) ! croplands and pastures. ! !---------------------------------------------------------------------------------! select case(ilu) + case (1,8) + !---- Pasture or cropland. Do nothing. ----------------------------------------! + continue + !------------------------------------------------------------------------------! case (2:7) hcoh_loop: do ico=1,cpatch%ncohorts ipft = cpatch%pft(ico) diff --git a/ED/src/init/landuse_init.f90 b/ED/src/init/landuse_init.f90 index 77de83090..b2839475d 100644 --- a/ED/src/init/landuse_init.f90 +++ b/ED/src/init/landuse_init.f90 @@ -112,7 +112,7 @@ subroutine read_landuse_matrix write (unit=*,fmt='(a)') ' so MAX_LU_YEARS >= IYEARZ-IYEARA+1, then recompile' write (unit=*,fmt='(a)') ' your model.' call fatal_error ('Simulation is too long for anthropogenic disturbance.' & - ,'landuse_init','landuse_init.f90') + ,'read_landuse_matrix','landuse_init.f90') end if !------------------------------------------------------------------------------------! @@ -301,7 +301,7 @@ subroutine read_landuse_matrix write (unit=*,fmt='(a,1x,i6)') ' - Nharvest:',nharvest write (unit=*,fmt='(a)') '------------------------------------' call fatal_error('Land use area is zero, it doesn''t make any sense!' & - ,'landuse_init','landuse_init.f90') + ,'read_landuse_matrix','landuse_init.f90') else lu_area_i = 1. / lu_area end if diff --git a/ED/src/io/ed_read_ed10_20_history.f90 b/ED/src/io/ed_read_ed10_20_history.f90 index 083c6e93e..23d16cf17 100644 --- a/ED/src/io/ed_read_ed10_20_history.f90 +++ b/ED/src/io/ed_read_ed10_20_history.f90 @@ -882,11 +882,16 @@ subroutine read_ed10_ed20_history_file !------------------------------------------------------------------! !------------------------------------------------------------------! - ! Initialise SLA with the look-up table value, this may be ! - ! updated during phenology initialisation, but an initial assign- ! - ! ment is needed to obtain area indices. ! + ! Initialise SLA, Vm0, Rd0, and with the look-up table value. ! + ! These variables may be updated during phenology initialisation, ! + ! or trait plasticity, but they must have an initial assignment so ! + ! we can even calculate the initial area indices and inicial trait ! + ! values needed for the trait update. ! !------------------------------------------------------------------! - cpatch%sla(ic2) = SLA(ipft(ic)) + cpatch%sla (ic2) = SLA (ipft(ic)) + cpatch%vm_bar(ic2) = Vm0 (ipft(ic)) + cpatch%rd_bar(ic2) = Rd0 (ipft(ic)) + cpatch%llspan(ic2) = leaf_lifespan(ipft(ic)) !------------------------------------------------------------------! diff --git a/ED/src/mpi/ed_para_init.f90 b/ED/src/mpi/ed_para_init.f90 index b34a0f3dd..2037f5714 100644 --- a/ED/src/mpi/ed_para_init.f90 +++ b/ED/src/mpi/ed_para_init.f90 @@ -517,7 +517,6 @@ subroutine ed_parvec_work(ifm,nxp,nyp) , npolys_run & ! intent(out) , ed_alloc_work_vec & ! subroutine , ed_nullify_work_vec ! ! subroutine - use soil_coms , only : ed_nstyp ! ! intent(in) use mem_polygons , only : maxsite ! ! intent(in) implicit none !----- Arguments. ----------------------------------------------------------------------! @@ -659,7 +658,8 @@ subroutine ed_load_work_from_history() real , external :: dist_gc !---------------------------------------------------------------------------------------! - + write (unit=*,fmt='(a)') ' Welcome to ed_load_work_from_history!' + !---------------------------------------------------------------------------------------! ! Here we decide whether this is a history or an ED-2.1 restart run. In case none ! From 0daf0e1a7078ed5d00739f9b23f54c82fc5bd082 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 4 Jun 2023 19:25:04 -0700 Subject: [PATCH 14/62] Added option for light-driven phenology for drought deciduous. --- ED/build/make/include.mk.macosx | 28 ++-- ED/src/dynamics/farq_katul.f90 | 12 -- ED/src/dynamics/phenology_aux.f90 | 4 +- ED/src/dynamics/phenology_driv.f90 | 73 +++++++--- ED/src/init/ed_params.f90 | 17 ++- ED/src/memory/phenology_coms.f90 | 8 ++ diff_version.sh | 219 ++++++++++++++++++++++------- 7 files changed, 260 insertions(+), 101 deletions(-) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..5b84b9f33 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -5,7 +5,7 @@ #----- Define make (gnu make works best). -------------------------------------------------# -MAKE=/usr/bin/make +MAKE=/usr/local/bin/make #------------------------------------------------------------------------------------------# #----- Libraries. -------------------------------------------------------------------------# @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=/usr/local +HDF5_PATH=/usr/local HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,9 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=/usr/local/bin/gfortran-12 +C_COMP=/usr/local/bin/gcc-12 +LOADER=/usr/local/bin/gfortran-12 LIBS= MOD_EXT=mod ############################################################################################ @@ -88,20 +87,17 @@ endif ifeq ($(KIND_COMP),A) F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror -mmacosx-version-min=10.12 \ - -fopenmp -static - C_OPTS= -O0 -DLITTLE -g -static + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror \ - -mmacosx-version-min=10.12 -fopenmp + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp \ - -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..529d34a04 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,15 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/phenology_aux.f90 b/ED/src/dynamics/phenology_aux.f90 index a8abed4f4..f91e30ae5 100644 --- a/ED/src/dynamics/phenology_aux.f90 +++ b/ED/src/dynamics/phenology_aux.f90 @@ -288,7 +288,7 @@ subroutine update_turnover(cpoly, isi) !------------------------------------------------------------------------------------! sitepft_loop: do ipft=1,n_pft select case (phenology(ipft)) - case (3) + case (3,6) !------ The actual turnover amplitude is based on a running average. ----------! cpoly%turnover_amp(isi) = (1.0 - turnamp_wgt) * cpoly%turnover_amp(isi) & + turnamp_wgt * turnamp_now @@ -414,7 +414,7 @@ subroutine update_turnover(cpoly, isi) ! -modulated. ! !------------------------------------------------------------------------------! select case (phenology(ipft)) - case (3) + case (3,6) !----- Update the data set. ------------------------------------------------! cpatch%llspan(ico) = cpatch%llspan (ico) & * cpoly%llspan_toc(ipft,isi) / llspan_toc_in(ipft) diff --git a/ED/src/dynamics/phenology_driv.f90 b/ED/src/dynamics/phenology_driv.f90 index c4c6322c2..2501f3b42 100644 --- a/ED/src/dynamics/phenology_driv.f90 +++ b/ED/src/dynamics/phenology_driv.f90 @@ -46,31 +46,58 @@ subroutine phenology_driver(cgrid, doy, month, tfact,veget_dyn_on) do ipa = 1,csite%npatches csite%avg_daily_temp(ipa) = csite%avg_daily_temp(ipa) * tfact end do - + select case (iphen_scheme) case (-1,0,2) !---------------------------------------------------------------------------! - ! Default predictive scheme (Botta et al.) or the modified drought ! - ! deciduous phenology for broadleaf PFTs. ! + ! Default predictive scheme (B00) or the modified drought deciduous ! + ! phenology for broadleaf PFTs (L19). ! + ! ! + ! Botta A, Viovy N, Ciais P, Friedlingstein P , Monfray P. 2000. A global ! + ! prognostic scheme of leaf onset using satellite data. Glob. Change ! + ! Biol., 6: 709-725. doi:10.1046/j.1365-2486.2000.00362.x (2000). ! + ! ! + ! Longo M, Knox RG, Medvigy DM, Levine NM, Dietze MC, Kim Y, Swann ALS, ! + ! Zhang K, Rollinson CR, Bras RL et al. 2019. The biophysics, ecology, ! + ! and biogeochemistry of functionally diverse, vertically and ! + ! horizontally heterogeneous ecosystems: the Ecosystem Demography model, ! + ! version 2.2 -- part 1: Model description. Geosci. Model Dev., 12: ! + ! 4309-4346. doi:10.5194/gmd-12-4309-2019 (L19). !---------------------------------------------------------------------------! call update_thermal_sums(month, cpoly, isi, cgrid%lat(ipy)) call update_phenology(doy,cpoly,isi,cgrid%lat(ipy),veget_dyn_on) - + !---------------------------------------------------------------------------! + case (1) - !----- Use prescribed phenology. -------------------------------------------! + !---------------------------------------------------------------------------! + ! Use prescribed phenology (M09). ! + ! ! + ! Medvigy DM, Wofsy SC, Munger JW, Hollinger DY , Moorcroft PR. 2009. ! + ! Mechanistic scaling of ecosystem function and dynamics in space and ! + ! time: Ecosystem demography model version 2. J. Geophys. ! + ! Res.-Biogeosci., 114: G01002. doi:10.1029/2008JG000812 (M09). ! + !---------------------------------------------------------------------------! call prescribed_leaf_state(cgrid%lat(ipy), current_time%month & ,current_time%year, doy & ,cpoly%green_leaf_factor(:,isi) & ,cpoly%leaf_aging_factor(:,isi) & ,cpoly%phen_pars(isi) ) call update_phenology(doy,cpoly,isi,cgrid%lat(ipy),veget_dyn_on) - + !---------------------------------------------------------------------------! case (3,4) - !----- Light-controlled predictive phenology scheme. -----------------------! + !---------------------------------------------------------------------------! + ! Light-controlled predictive phenology scheme (K12). ! + ! ! + ! Kim Y, Knox RG, Longo M, Medvigy D, Hutyra LR, Pyle EH, Wofsy SC, ! + ! Bras RL, Moorcroft PR. 2012. Seasonal carbon dynamics and water fluxes ! + ! in an Amazon rainforest. Glob. Change Biol., 18: 1322-1334. ! + ! doi:10.1111/j.1365-2486.2011.02629.x (K12). ! + !---------------------------------------------------------------------------! call update_thermal_sums(month, cpoly, isi, cgrid%lat(ipy)) call update_turnover(cpoly,isi) call update_phenology(doy,cpoly,isi,cgrid%lat(ipy),veget_dyn_on) + !---------------------------------------------------------------------------! end select end do end do @@ -95,6 +122,7 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) use pft_coms , only : phenology & ! intent(in) , c2n_leaf & ! intent(in) , q & ! intent(in) + , leaf_psi_min & ! intent(in) , leaf_psi_tlp & ! intent(in) , high_psi_threshold & ! intent(in) , low_psi_threshold & ! intent(in) @@ -108,7 +136,8 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) , root_phen_factor & ! intent(in) , iphen_scheme & ! intent(in) , elongf_min & ! intent(in) - , elongf_flush ! ! intent(in) + , elongf_flush & ! intent(in) + , f_psi_xdry ! ! intent(in) use consts_coms , only : t3ple & ! intent(in) , cice & ! intent(in) , cliq & ! intent(in) @@ -628,7 +657,7 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) !------------------------------------------------------------------------! end if !---------------------------------------------------------------------------! - case (5) + case (5,6) !---------------------------------------------------------------------------! ! Drought deciduous driven by plant hydrodynamics. We track the number ! ! of consecutive wet days and dry days. We then modify the phenology ! @@ -664,7 +693,15 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) !----- Modify elongf and phenology_status whenever necessary. --------------! - if (cpatch%low_leaf_psi_days(ico) >= low_psi_threshold(ipft)) then + if ( cpatch%leaf_psi(ico) < ( f_psi_xdry * leaf_psi_min(ipft) ) & + .and. cpatch%wood_psi(ico) < leaf_psi_tlp(ipft) ) then + !------------------------------------------------------------------------! + ! Extremely dry conditions: leaf_psi is too low and even wood_psi is ! + ! below leaf_tlp. Shed all leaves. ! + !------------------------------------------------------------------------! + elongf_try = 0.0 + !------------------------------------------------------------------------! + else if (cpatch%low_leaf_psi_days(ico) >= low_psi_threshold(ipft)) then !----- Too many dry days, decrease elongation factor. -------------------! elongf_try = max(0., cpatch%elongf(ico) - leaf_shed_rate(ipft)) !------------------------------------------------------------------------! @@ -924,12 +961,16 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) ! Adjust root biomass in case phenology is 5 (drought-deciduous driven ! ! by hydrodynamics). ! !---------------------------------------------------------------------------! - if (phenology(ipft) == 5 .and. root_phen_factor > 0.) then - cpatch%broot(ico) = q(ipft) * (elongf_try + root_phen_factor - 1.) & - * size2bl(cpatch%dbh(ico),cpatch%hite(ico) & - ,cpatch%sla(ico),ipft) & - / root_phen_factor - end if + select case (phenology(ipft)) + case (5,6) + if (root_phen_factor > 0.) then + cpatch%broot(ico) = q(ipft) * (elongf_try + root_phen_factor - 1.) & + * size2bl(cpatch%dbh(ico),cpatch%hite(ico) & + ,cpatch%sla(ico),ipft) & + / root_phen_factor + end if + !------------------------------------------------------------------------! + end select !---------------------------------------------------------------------------! end if !------------------------------------------------------------------------------! diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 98b14d90b..7fde108d5 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -2483,6 +2483,7 @@ subroutine init_phen_coms use phenology_coms, only : thetacrit & ! intent(in) , retained_carbon_fraction & ! intent(out) , root_phen_factor & ! intent(out) + , f_psi_xdry & ! intent(out) , elongf_min & ! intent(out) , elongf_flush & ! intent(out) , spot_phen & ! intent(out) @@ -2536,6 +2537,14 @@ subroutine init_phen_coms + !---------------------------------------------------------------------------------------! + ! Threshold for shedding all leaves when leaf water potential is very low. . ! + !---------------------------------------------------------------------------------------! + f_psi_xdry = 0.95 + !---------------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------------! ! Minimum elongation factor before plants give up completely and shed all remain- ! ! ing leaves. ! @@ -6536,6 +6545,12 @@ subroutine init_pft_phen_params() !------------------------------------------------------------------------------! phenology(ipft) = 5 !------------------------------------------------------------------------------! + case (5) + !------------------------------------------------------------------------------! + ! Combined light and plant-hydraulics driven drought phenology. ! + !------------------------------------------------------------------------------! + phenology(ipft) = 6 + !------------------------------------------------------------------------------! end select !---------------------------------------------------------------------------------! end if @@ -8484,7 +8499,7 @@ subroutine init_derived_params_after_xml() ! both in case this simulation is not using light-controlled phenology. ! !---------------------------------------------------------------------------------------! select case (iphen_scheme) - case (3) + case (3,5) !------------------------------------------------------------------------------------! ! Light phenology is enabled. ! !------------------------------------------------------------------------------------! diff --git a/ED/src/memory/phenology_coms.f90 b/ED/src/memory/phenology_coms.f90 index 08844c07d..296412465 100644 --- a/ED/src/memory/phenology_coms.f90 +++ b/ED/src/memory/phenology_coms.f90 @@ -178,6 +178,14 @@ module phenology_coms + !---------------------------------------------------------------------------------------! + ! Threshold for shedding all leaves when leaf water potential is very low. . ! + !---------------------------------------------------------------------------------------! + real :: f_psi_xdry + !---------------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------------! ! Minimum elongation factor before plants give up completely and shed all remain- ! ! ing leaves. ! diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..d3be988ac 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From 9b17b582ec8bdb585f3e65a8d41b2a6759ecb195 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 10:22:56 -0700 Subject: [PATCH 15/62] This commit adds a few changes to logging in ED2. 1. New namelist variable that controls the size class damage associated with skids and roads. In the past, a single parameter would control both felling and skid damage, but in the tropics the minimum commercial size is often much larger than the maximum size typically impacted by skid trail and road implementation. 2. Changes in the way we read land use data. We now have the option to read additional information regarding the logging characteristics from the .lu files. This simplifies regional runs in case different regions have different logging approaches (which are biome-dependent and often associated with national and sub-national regulations). --- BRAMS/src/ed2/edcp_load_namelist.f90 | 16 +- BRAMS/src/ed2/edcp_mpiutils.F90 | 4 + ED/build/make/include.mk.macosx | 28 +- ED/src/dynamics/disturbance.f90 | 118 +++++- ED/src/dynamics/farq_katul.f90 | 12 - ED/src/dynamics/forestry.f90 | 380 +++++++++++++----- ED/src/dynamics/mortality.f90 | 36 +- ED/src/init/ed_params.f90 | 33 +- ED/src/init/landuse_init.f90 | 563 +++++++++++++++++++++------ ED/src/io/ed_opspec.F90 | 15 +- ED/src/memory/disturb_coms.f90 | 2 + ED/src/memory/ed_state_vars.F90 | 125 +++++- ED/src/memory/ename_coms.f90 | 2 + ED/src/mpi/ed_mpass_init.F90 | 4 + diff_version.sh | 219 ++++++++--- 15 files changed, 1191 insertions(+), 366 deletions(-) diff --git a/BRAMS/src/ed2/edcp_load_namelist.f90 b/BRAMS/src/ed2/edcp_load_namelist.f90 index 1275b834a..9a998e101 100644 --- a/BRAMS/src/ed2/edcp_load_namelist.f90 +++ b/BRAMS/src/ed2/edcp_load_namelist.f90 @@ -109,6 +109,7 @@ subroutine read_ednl(iunit,filename) , sl_mindbh_harvest & ! intent(out) , sl_biomass_harvest & ! intent(out) , sl_skid_rel_area & ! intent(out) + , sl_skid_dbh_thresh & ! intent(out) , sl_skid_s_gtharv & ! intent(out) , sl_skid_s_ltharv & ! intent(out) , sl_felling_s_ltharv & ! intent(out) @@ -305,13 +306,14 @@ subroutine read_ednl(iunit,filename) ,lwidth_grass,lwidth_bltree,lwidth_nltree,q10_c3,q10_c4,thetacrit & ,quantum_efficiency_t,n_plant_lim,n_decomp_lim,include_fire,sl_pft & ,sl_prob_harvest,sl_mindbh_harvest,sl_biomass_harvest & - ,sl_skid_rel_area,sl_skid_s_gtharv,sl_skid_s_ltharv & - ,sl_felling_s_ltharv,cl_fseeds_harvest,cl_fstorage_harvest & - ,cl_fleaf_harvest,icanturb,include_these_pft,pasture_stock & - ,agri_stock,plantation_stock,pft_1st_check,ifusion,maxpatch & - ,maxcohort,min_patch_area,treefall_disturbance_rate,time2canopy & - ,iprintpolys,npvars,printvars,pfmtstr,ipmin,ipmax,imetrad,iphenys1 & - ,iphenysf,iphenyf1,iphenyff,iedcnfgf,event_file,phenpath + ,sl_skid_rel_area,sl_skid_dbh_thresh,sl_skid_s_gtharv & + ,sl_skid_s_ltharv,sl_felling_s_ltharv,cl_fseeds_harvest & + ,cl_fstorage_harvest,cl_fleaf_harvest,icanturb,include_these_pft & + ,pasture_stock,agri_stock,plantation_stock,pft_1st_check,ifusion & + ,maxpatch,maxcohort,min_patch_area,treefall_disturbance_rate & + ,time2canopy,iprintpolys,npvars,printvars,pfmtstr,ipmin,ipmax & + ,imetrad,iphenys1,iphenysf,iphenyf1,iphenyff,iedcnfgf,event_file & + ,phenpath !----- Initialise some database variables with a non-sense path. -----------------------! islcolflg (:) = undef_integer diff --git a/BRAMS/src/ed2/edcp_mpiutils.F90 b/BRAMS/src/ed2/edcp_mpiutils.F90 index 2ee522ff8..13393e957 100644 --- a/BRAMS/src/ed2/edcp_mpiutils.F90 +++ b/BRAMS/src/ed2/edcp_mpiutils.F90 @@ -184,6 +184,7 @@ subroutine masterput_ednl(mainnum) , sl_mindbh_harvest & ! intent(in) , sl_biomass_harvest & ! intent(in) , sl_skid_rel_area & ! intent(in) + , sl_skid_dbh_thresh & ! intent(in) , sl_skid_s_gtharv & ! intent(in) , sl_skid_s_ltharv & ! intent(in) , sl_felling_s_ltharv & ! intent(in) @@ -386,6 +387,7 @@ subroutine masterput_ednl(mainnum) call MPI_Bcast(sl_mindbh_harvest ,n_pft,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_biomass_harvest , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_rel_area , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) + call MPI_Bcast(sl_skid_dbh_thresh , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_gtharv , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_ltharv , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_felling_s_ltharv, 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) @@ -710,6 +712,7 @@ subroutine nodeget_ednl(master_num) , sl_mindbh_harvest & ! intent(out) , sl_biomass_harvest & ! intent(out) , sl_skid_rel_area & ! intent(out) + , sl_skid_dbh_thresh & ! intent(out) , sl_skid_s_gtharv & ! intent(out) , sl_skid_s_ltharv & ! intent(out) , sl_felling_s_ltharv & ! intent(out) @@ -913,6 +916,7 @@ subroutine nodeget_ednl(master_num) call MPI_Bcast(sl_mindbh_harvest ,n_pft,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_biomass_harvest , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_rel_area , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) + call MPI_Bcast(sl_skid_dbh_thresh , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_gtharv , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_ltharv , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_felling_s_ltharv, 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..5b84b9f33 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -5,7 +5,7 @@ #----- Define make (gnu make works best). -------------------------------------------------# -MAKE=/usr/bin/make +MAKE=/usr/local/bin/make #------------------------------------------------------------------------------------------# #----- Libraries. -------------------------------------------------------------------------# @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=/usr/local +HDF5_PATH=/usr/local HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,9 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=/usr/local/bin/gfortran-12 +C_COMP=/usr/local/bin/gcc-12 +LOADER=/usr/local/bin/gfortran-12 LIBS= MOD_EXT=mod ############################################################################################ @@ -88,20 +87,17 @@ endif ifeq ($(KIND_COMP),A) F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror -mmacosx-version-min=10.12 \ - -fopenmp -static - C_OPTS= -O0 -DLITTLE -g -static + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror \ - -mmacosx-version-min=10.12 -fopenmp + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp \ - -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# diff --git a/ED/src/dynamics/disturbance.f90 b/ED/src/dynamics/disturbance.f90 index f1dc10627..ee780c326 100644 --- a/ED/src/dynamics/disturbance.f90 +++ b/ED/src/dynamics/disturbance.f90 @@ -51,8 +51,7 @@ subroutine apply_disturbances(cgrid) , plantation_year & ! intent(in) , treefall_hite_threshold & ! intent(in) , does_hite_limit_tfpatch & ! intent(in) - , min_oldgrowth & ! intent(in) - , sl_skid_rel_area ! ! intent(in) + , min_oldgrowth ! ! intent(in) use ed_max_dims , only : n_dist_types & ! intent(in) , n_pft & ! intent(in) , n_dbh ! ! intent(in) @@ -117,8 +116,14 @@ subroutine apply_disturbances(cgrid) logical :: same_pft logical :: is_primary real , dimension(n_pft) :: mindbh_harvest + real , dimension(n_pft) :: felling_s_gtharv + real , dimension(n_pft) :: felling_s_ltharv + real , dimension(n_pft) :: skid_dbh_thresh + real , dimension(n_pft) :: skid_s_gtharv + real , dimension(n_pft) :: skid_s_ltharv real :: pot_area_remain real :: area_loss_tot + real :: lambda_harv_og_max real :: lambda_sum real :: area_fac real :: orig_area @@ -212,8 +217,22 @@ subroutine apply_disturbances(cgrid) cpoly%combusted_fuel (isi) = 0.0 !------------------------------------------------------------------------------! - !----- Copy mindbh for harvesting to a local variable. ------------------------! + + !------------------------------------------------------------------------------! + ! Retrieve maximum logging disturbance rate for logging old-growth forests. ! + !------------------------------------------------------------------------------! + lambda_harv_og_max = cpoly%disturbance_rates(6,3,isi) + !------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------! + ! Copy harvest and skid trail instructions to local variables. ! + !------------------------------------------------------------------------------! mindbh_harvest (:) = cpoly%mindbh_harvest (:,isi) + felling_s_gtharv(:) = cpoly%felling_s_gtharv(:,isi) + felling_s_ltharv(:) = cpoly%felling_s_ltharv(:,isi) + skid_dbh_thresh (:) = cpoly%skid_dbh_thresh (:,isi) + skid_s_gtharv (:) = cpoly%skid_s_gtharv (:,isi) + skid_s_ltharv (:) = cpoly%skid_s_ltharv (:,isi) !------------------------------------------------------------------------------! @@ -257,7 +276,7 @@ subroutine apply_disturbances(cgrid) ! Find the area to be harvested when biomass targets have been ! ! established. ! !------------------------------------------------------------------------------! - call find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) + call find_lambda_harvest(cpoly,isi,onsp,lambda_harv_og_max,lambda_harvest) !------------------------------------------------------------------------------! @@ -445,17 +464,17 @@ subroutine apply_disturbances(cgrid) ! the tree felling disturbance, and can be thought as a way to quantify ! ! the logging impact. ! !---------------------------------------------------------------------------! - if (sl_skid_rel_area == 1.0) then + if (cpoly%skid_rel_area(isi) == 1.0) then !----- Special case: we simply copy the felling disturbance. ------------! lambda_now(7) = lambda_now(6) !------------------------------------------------------------------------! - else if (lambda_now(6) > 0.0 .and. sl_skid_rel_area > 0.0) then + else if (lambda_now(6) > 0.0 .and. cpoly%skid_rel_area(isi) > 0.0) then !------------------------------------------------------------------------! ! The collateral damage is given in terms of area, so we must ! ! convert the ratio to disturbance rate. We use the definition of ! ! disturbed area. ! !------------------------------------------------------------------------! - lfactor = sl_skid_rel_area * (1.0 - exp( - lambda_now(6))) + lfactor = cpoly%skid_rel_area(isi) * (1.0 - exp( - lambda_now(6))) if ( lfactor <= 1.0 * (1.0 - epsilon(1.0)) ) then lambda_now(7) = log( 1.0 / (1.0 - lfactor) ) else @@ -711,9 +730,14 @@ subroutine apply_disturbances(cgrid) ,cb_mass_np,cb_molar_np,cb_water_np & ,cb_co2_np) call insert_survivors(csite,onsp+new_lu,ipa,new_lu,area_fac & - ,mindbh_harvest) + ,mindbh_harvest,felling_s_gtharv & + ,felling_s_ltharv,skid_dbh_thresh & + ,skid_s_gtharv,skid_s_ltharv) call accum_dist_harv_litt(cpoly,isi,1,onsp+new_lu,ipa,new_lu & - ,area_fac,mindbh_harvest) + ,area_fac,mindbh_harvest & + ,felling_s_gtharv,felling_s_ltharv & + ,skid_dbh_thresh,skid_s_gtharv & + ,skid_s_ltharv) !---------------------------------------------------------------! case (1) !---------------------------------------------------------------! @@ -742,9 +766,14 @@ subroutine apply_disturbances(cgrid) ,cb_mass_np,cb_molar_np,cb_water_np & ,cb_co2_np) call insert_survivors(csite,npa,ipa,new_lu,area_fac & - ,mindbh_harvest) + ,mindbh_harvest,felling_s_gtharv & + ,felling_s_ltharv,skid_dbh_thresh & + ,skid_s_gtharv,skid_s_ltharv) call accum_dist_harv_litt(cpoly,isi,1,npa,ipa,new_lu & - ,area_fac,mindbh_harvest) + ,area_fac,mindbh_harvest & + ,felling_s_gtharv,felling_s_ltharv & + ,skid_dbh_thresh,skid_s_gtharv & + ,skid_s_ltharv) !------------------------------------------------------------! case default !------------------------------------------------------------! @@ -796,9 +825,15 @@ subroutine apply_disturbances(cgrid) ,cb_mass_np,cb_molar_np & ,cb_water_np,cb_co2_np) call insert_survivors(csite,npa,ipa,new_lu,area_fac & - ,mindbh_harvest) + ,mindbh_harvest,felling_s_gtharv & + ,felling_s_ltharv,skid_dbh_thresh & + ,skid_s_gtharv,skid_s_ltharv) call accum_dist_harv_litt(cpoly,isi,1,npa,ipa,new_lu & - ,area_fac,mindbh_harvest) + ,area_fac,mindbh_harvest & + ,felling_s_gtharv & + ,felling_s_ltharv & + ,skid_dbh_thresh & + ,skid_s_gtharv,skid_s_ltharv) end if !---------------------------------------------------------! end do @@ -988,7 +1023,9 @@ subroutine apply_disturbances(cgrid) !------------------------------------------------------------------------------! old_lu_l4th: do ipa=1,onsp pat_area_loss = act_area_loss(ipa,:) - call disturbance_mortality(csite,ipa,pat_area_loss,mindbh_harvest) + call disturbance_mortality(csite,ipa,pat_area_loss,mindbh_harvest & + ,felling_s_gtharv,felling_s_ltharv & + ,skid_dbh_thresh,skid_s_gtharv,skid_s_ltharv) csite%area(ipa) = csite%area(ipa) - sum(pat_area_loss) end do old_lu_l4th !------------------------------------------------------------------------------! @@ -1334,6 +1371,8 @@ subroutine site_disturbance_rates(year, cgrid) real :: bharvest real :: pot_harvest_target real :: fire_disturbance_rate + real :: lambda_harv_og_max + real :: f_harv_prim_max logical :: is_plantation logical :: is_rotation logical :: is_mature @@ -1547,6 +1586,26 @@ subroutine site_disturbance_rates(year, cgrid) + !------------------------------------------------------------------------------! + ! Logging disturbance. Here we define the maximum logging disturbance ! + ! possible for old-growth forests. The actual disturbance rate may be lower ! + ! (but never higher) than the rates obtained from the instruction file. ! + ! We save this information in cpoly%disturbance_rates(6,3,isi) only but this ! + ! is accounted for any old-growth patch (which includes types 4, 5, 6, and 7 ! + ! if their age is old). ! + !------------------------------------------------------------------------------! + lambda_harv_og_max = max(0.,min(lnexp_max,clutime%landuse(11))) + if (lambda_harv_og_max == lnexp_max) then + f_harv_prim_max = 1. + else + f_harv_prim_max = 1. - exp( - lambda_harv_og_max) + end if + !----- Save disturbance rate to the site level structure. ---------------------! + cpoly%disturbance_rates(6,3,isi) = lambda_harv_og_max + !------------------------------------------------------------------------------! + + + !------------------------------------------------------------------------------! ! Harvesting (either plantation -> plantation or logging) when a biomass ! ! target does not exist (e.g. SimAmazonia)). Convert the harvest probability ! @@ -1651,8 +1710,9 @@ subroutine site_disturbance_rates(year, cgrid) ! Accumulate site-level harvest target. ! !------------------------------------------------------------------------! if (harv_primary) then - cpoly%primary_harvest_target(isi) = & - cpoly%primary_harvest_target(isi) + bharvest * csite%area(ipa) + cpoly%primary_harvest_target(isi) = cpoly%primary_harvest_target(isi) & + + f_harv_prim_max * bharvest & + * csite%area(ipa) else if (harv_secondary) then cpoly%secondary_harvest_target(isi) = & cpoly%secondary_harvest_target(isi) + bharvest * csite%area(ipa) @@ -3331,7 +3391,9 @@ end subroutine norm_canopy_air_props ! This subroutine will populate the disturbed patch with the cohorts that were ! ! disturbed but did not go extinct. ! !---------------------------------------------------------------------------------------! - subroutine insert_survivors(csite,np,cp,new_lu,area_fac,mindbh_harvest) + subroutine insert_survivors(csite,np,cp,new_lu,area_fac,mindbh_harvest,felling_s_gtharv & + ,felling_s_ltharv,skid_dbh_thresh,skid_s_gtharv & + ,skid_s_ltharv) use ed_state_vars , only : sitetype & ! structure , patchtype ! ! structure use ed_max_dims , only : n_pft ! ! intent(in) @@ -3345,6 +3407,11 @@ subroutine insert_survivors(csite,np,cp,new_lu,area_fac,mindbh_harvest) integer , intent(in) :: np integer , intent(in) :: cp real , dimension(n_pft), intent(in) :: mindbh_harvest + real , dimension(n_pft), intent(in) :: felling_s_gtharv + real , dimension(n_pft), intent(in) :: felling_s_ltharv + real , dimension(n_pft), intent(in) :: skid_dbh_thresh + real , dimension(n_pft), intent(in) :: skid_s_gtharv + real , dimension(n_pft), intent(in) :: skid_s_ltharv real , intent(in) :: area_fac !----- Local variables. -------------------------------------------------------------! type(patchtype) , pointer :: cpatch @@ -3379,7 +3446,10 @@ subroutine insert_survivors(csite,np,cp,new_lu,area_fac,mindbh_harvest) survivalloop: do ico = 1,cpatch%ncohorts ipft = cpatch%pft(ico) survival_fac(ico) = survivorship(new_lu,csite%dist_type(cp),mindbh_harvest & - ,cpatch,ico) * area_fac + ,felling_s_gtharv,felling_s_ltharv & + ,skid_dbh_thresh,skid_s_gtharv,skid_s_ltharv & + ,cpatch,ico ) & + * area_fac n_survivors = cpatch%nplant(ico) * survival_fac(ico) !----- If something survived, make a new cohort. ------------------------------! @@ -3463,7 +3533,8 @@ end subroutine insert_survivors ! place. ! !---------------------------------------------------------------------------------------! subroutine accum_dist_harv_litt(cpoly,isi,census_flag,np,cp,new_lu,area_fac & - ,mindbh_harvest) + ,mindbh_harvest,felling_s_gtharv,felling_s_ltharv & + ,skid_dbh_thresh,skid_s_gtharv,skid_s_ltharv) use ed_state_vars, only : sitetype & ! structure , patchtype & ! structure , polygontype ! ! structure @@ -3492,6 +3563,11 @@ subroutine accum_dist_harv_litt(cpoly,isi,census_flag,np,cp,new_lu,area_fac integer , intent(in) :: np integer , intent(in) :: cp real , dimension(n_pft), intent(in) :: mindbh_harvest + real , dimension(n_pft), intent(in) :: felling_s_gtharv + real , dimension(n_pft), intent(in) :: felling_s_ltharv + real , dimension(n_pft), intent(in) :: skid_dbh_thresh + real , dimension(n_pft), intent(in) :: skid_s_gtharv + real , dimension(n_pft), intent(in) :: skid_s_ltharv integer , intent(in) :: new_lu real , intent(in) :: area_fac !----- Local variables. -------------------------------------------------------------! @@ -3701,7 +3777,9 @@ subroutine accum_dist_harv_litt(cpoly,isi,census_flag,np,cp,new_lu,area_fac !----- Find survivorship. --------------------------------------------------------! - survival_fac = survivorship(new_lu,csite%dist_type(cp),mindbh_harvest,cpatch,ico) + survival_fac = survivorship(new_lu,csite%dist_type(cp),mindbh_harvest & + ,felling_s_gtharv,felling_s_ltharv,skid_dbh_thresh & + ,skid_s_gtharv,skid_s_ltharv,cpatch,ico) !---------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..529d34a04 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,15 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario !------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/forestry.f90 b/ED/src/dynamics/forestry.f90 index 320513cbf..7b8593ff1 100644 --- a/ED/src/dynamics/forestry.f90 +++ b/ED/src/dynamics/forestry.f90 @@ -24,7 +24,7 @@ module forestry ! This subroutine finds the disturbance rates associated with logging, when biomass ! ! demands are provided instead of actual disturbance rates. ! !---------------------------------------------------------------------------------------! - subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) + subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harv_og_max,lambda_harvest) use ed_state_vars , only : polygontype & ! structure , sitetype & ! structure , patchtype & ! structure @@ -32,7 +32,6 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) , deallocate_sitetype & ! subroutine , copy_sitetype ! ! subroutine use disturb_coms , only : ianth_disturb & ! intent(in) - , lutime & ! intent(in) , min_patch_area & ! intent(in) , plantation_rotation & ! intent(in) , min_harvest_biomass & ! intent(in) @@ -47,6 +46,7 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) type(polygontype) , target :: cpoly integer , intent(in) :: isi integer , intent(in) :: onsp + real , intent(inout) :: lambda_harv_og_max real, dimension(onsp) , intent(inout) :: lambda_harvest !----- Local variables --------------------------------------------------------------! type(sitetype) , pointer :: csite @@ -142,6 +142,10 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) ! croplands and pastures. ! !---------------------------------------------------------------------------------! select case(ilu) + case (1,8) + !---- Pasture or cropland. Do nothing. ----------------------------------------! + continue + !------------------------------------------------------------------------------! case (2:7) hcoh_loop: do ico=1,cpatch%ncohorts ipft = cpatch%pft(ico) @@ -241,7 +245,8 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) ,hvmax_mature_secondary,hvpot_mature_secondary & ,hvmax_mature_plantation,hvpot_mature_plantation & ,primary_harvest_target,secondary_harvest_target & - ,pat_hvmax_btimber,lambda_harvest,harvest_deficit) + ,pat_hvmax_btimber,lambda_harv_og_max,lambda_harvest & + ,harvest_deficit) !------------------------------------------------------------------------------------! @@ -251,7 +256,7 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) ! biomass demands. ! !------------------------------------------------------------------------------------! call young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimber & - ,lambda_harvest,harvest_deficit) + ,lambda_harv_og_max,lambda_harvest,harvest_deficit) !------------------------------------------------------------------------------------! @@ -287,14 +292,18 @@ subroutine find_lambda_harvest(cpoly,isi,onsp,lambda_harvest) , hvpot_mature_secondary write (unit=*,fmt='(a,1x,es12.5)') ' HVPOT BIOMASS (PLANTATION) = ' & , hvpot_mature_plantation - write (unit=*,fmt='(a,1x,es12.5)') ' HV AREA (PRIMARY) = ' & + write (unit=*,fmt='(a,1x,es12.5)') ' HARVEST AREA (PRIMARY) = ' & , area_mature_primary - write (unit=*,fmt='(a,1x,es12.5)') ' HV AREA (SECONDARY) = ' & + write (unit=*,fmt='(a,1x,es12.5)') ' HARVEST AREA (SECONDARY) = ' & , area_mature_secondary - write (unit=*,fmt='(a,1x,es12.5)') ' HV AREA (PLANTATION) = ' & + write (unit=*,fmt='(a,1x,es12.5)') ' HARVEST AREA (PLANTATION) = ' & , area_mature_plantation write (unit=*,fmt='(a)' ) ' ' - write (unit=*,fmt='(a,1x,es12.5)') ' HARVEST DEFICIT = ', harvest_deficit + write (unit=*,fmt='(a,1x,es12.5)') ' HARVEST DEFICIT = ' & + , harvest_deficit + write (unit=*,fmt='(a)' ) ' ' + write (unit=*,fmt='(a,1x,es12.5)') ' MAXIMUM LAMBDA (OLD-GROWTH) = ' & + , lambda_harv_og_max write (unit=*,fmt='(a)' ) ' ' write (unit=*,fmt='(a)' ) '---------------------------------------------' write (unit=*,fmt='(9(a,1x))' ) ' IPA',' LU',' AGE',' AREA' & @@ -501,7 +510,8 @@ subroutine mature_forest_harvest(cpoly,isi,onsp ,hvmax_mature_secondary,hvpot_mature_secondary & ,hvmax_mature_plantation,hvpot_mature_plantation & ,primary_harvest_target,secondary_harvest_target & - ,pat_hvmax_btimber,lambda_harvest,harvest_deficit) + ,pat_hvmax_btimber,lambda_harv_og_max,lambda_harvest & + ,harvest_deficit) use ed_state_vars , only : polygontype & ! structure , sitetype ! ! structure use disturb_coms , only : plantation_rotation & ! intent(in) @@ -509,7 +519,8 @@ subroutine mature_forest_harvest(cpoly,isi,onsp , min_harvest_biomass & ! intent(in) , min_oldgrowth ! ! intent(in) use consts_coms , only : lnexp_max & ! intent(in) - , almost_one ! ! intent(in) + , almost_one & ! intent(in) + , tiny_num ! ! intent(in) implicit none !----- Arguments --------------------------------------------------------------------! type(polygontype) , target :: cpoly @@ -524,6 +535,7 @@ subroutine mature_forest_harvest(cpoly,isi,onsp real , intent(in) :: primary_harvest_target real , intent(inout) :: secondary_harvest_target real, dimension(onsp), intent(in) :: pat_hvmax_btimber + real , intent(in) :: lambda_harv_og_max real, dimension(onsp), intent(inout) :: lambda_harvest real , intent(out) :: harvest_deficit !----- Local variables --------------------------------------------------------------! @@ -534,74 +546,158 @@ subroutine mature_forest_harvest(cpoly,isi,onsp logical :: is_mature logical :: is_rotation real :: f_harvest + real :: f_harv_prim_max + real :: harvest_actual real :: lambda_mature_primary real :: lambda_mature_plantation real :: lambda_mature_secondary !------------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------------! + ! Make sure the disturbance rate for primary forests doesn't exceed the maximum ! + ! disturbance taken from the land use instructions for this year. ! !------------------------------------------------------------------------------------! - ! Find harvesting rate in mature primary vegetation. In case there is not enough ! - ! biomass harvest, harvest all primary vegetation then add the unmet biomass to the ! - ! target for secondary vegetation. ! + f_harv_prim_max = 1. - exp (-lambda_harv_og_max) !------------------------------------------------------------------------------------! - if (almost_one * hvmax_mature_primary > primary_harvest_target) then - f_harvest = primary_harvest_target / hvpot_mature_primary - lambda_mature_primary = log(1./(1.-f_harvest)) - elseif (almost_one * hvpot_mature_primary > hvmax_mature_primary) then - f_harvest = hvmax_mature_primary / hvpot_mature_primary - lambda_mature_primary = log(1./(1.-f_harvest)) - harvest_deficit = primary_harvest_target - hvmax_mature_primary - secondary_harvest_target = secondary_harvest_target + harvest_deficit + + + !---- Find harvesting rate in mature primary vegetation. ----------------------------! + if ( hvpot_mature_primary > tiny_num ) then + !---------------------------------------------------------------------------------! + ! Find the total biomass to be harvested from mature primary vegetation. The ! + ! actual harvest cannot exceed the target, cannot exceed the actual biomass, and ! + ! must be bounded by the disturbance rate target. ! + !---------------------------------------------------------------------------------! + harvest_actual = min( f_harv_prim_max * hvpot_mature_primary & + , hvmax_mature_primary, primary_harvest_target ) + f_harvest = harvest_actual / hvpot_mature_primary + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Check fraction to be harvest, to avoid floating point exceptions. ! + !---------------------------------------------------------------------------------! + if (f_harvest > almost_one) then + !---- Apply sweeping logging disturbance across primary forests. --------------! + f_harvest = 1.0 + harvest_actual = hvpot_mature_primary + lambda_mature_primary = lnexp_max + harvest_deficit = primary_harvest_target - harvest_actual + secondary_harvest_target = secondary_harvest_target + harvest_deficit + !------------------------------------------------------------------------------! + else + !---- Find the disturbance rate from the fraction of biomass to be harvested. -! + lambda_mature_primary = log(1./(1.-f_harvest)) + harvest_deficit = primary_harvest_target - harvest_actual + secondary_harvest_target = secondary_harvest_target + harvest_deficit + !------------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------------! else - lambda_mature_primary = lnexp_max - harvest_deficit = primary_harvest_target - hvmax_mature_primary - secondary_harvest_target = secondary_harvest_target + harvest_deficit + !---------------------------------------------------------------------------------! + ! No mature primary forest to harvest. Do not log from any primary forest and ! + ! try to harvest secondary forest instead. ! + !---------------------------------------------------------------------------------! + f_harvest = 0.0 + harvest_actual = 0.0 + lambda_mature_primary = 0.0 + secondary_harvest_target = secondary_harvest_target + primary_harvest_target + !---------------------------------------------------------------------------------! end if !------------------------------------------------------------------------------------! !------------------------------------------------------------------------------------! - ! Find harvesting rate for mature plantations and mature secondary forests. ! - ! First try to remove all biomass from plantations. In case there isn't sufficient ! - ! biomass, harvest all plantations then remove the unmet biomass from mature ! - ! secondary vegetation. In case there isn't enough biomass, leave the remaining ! - ! target in harvest_deficit, which will be used to determine harvesting from young ! - ! forests. ! + ! Find harvest disturbance rates for mature forest plantations. We always give ! + ! preference for logging plantations over second-growth forests. ! !------------------------------------------------------------------------------------! - if (almost_one * hvmax_mature_plantation > secondary_harvest_target) then - f_harvest = secondary_harvest_target / hvpot_mature_plantation - lambda_mature_plantation = log(1./(1.-f_harvest)) - harvest_deficit = 0.0 - elseif (almost_one * hvpot_mature_plantation > hvmax_mature_plantation) then - f_harvest = hvmax_mature_plantation / hvpot_mature_plantation - lambda_mature_plantation = log(1./(1.-f_harvest)) - harvest_deficit = secondary_harvest_target - hvmax_mature_plantation + if ( hvpot_mature_plantation > tiny_num ) then + !---------------------------------------------------------------------------------! + ! Find the total biomass to be harvested from mature forest plantation. The ! + ! actual harvest cannot exceed the target or the actual biomass. ! + !---------------------------------------------------------------------------------! + harvest_actual = min( secondary_harvest_target, hvmax_mature_plantation & + , hvpot_mature_plantation ) + f_harvest = harvest_actual / hvpot_mature_plantation + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Check fraction to be harvest, to avoid floating point exceptions. ! + !---------------------------------------------------------------------------------! + if (f_harvest > almost_one) then + !---- Apply sweeping logging disturbance across primary forests. --------------! + f_harvest = 1.0 + harvest_actual = hvpot_mature_plantation + lambda_mature_plantation = lnexp_max + harvest_deficit = max(0.,secondary_harvest_target - harvest_actual) + !------------------------------------------------------------------------------! + else + !---- Find the disturbance rate from the fraction of biomass to be harvested. -! + lambda_mature_plantation = log(1./(1.-f_harvest)) + harvest_deficit = max(0.,secondary_harvest_target - harvest_actual) + !------------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------------! else - lambda_mature_plantation = lnexp_max - harvest_deficit = secondary_harvest_target - hvmax_mature_plantation + !---------------------------------------------------------------------------------! + ! No forest plantation to harvest. Do not log from any plantation and try to ! + ! harvest secondary forest instead. ! + !---------------------------------------------------------------------------------! + f_harvest = 0.0 + harvest_actual = 0.0 + lambda_mature_plantation = 0.0 + harvest_deficit = secondary_harvest_target + !---------------------------------------------------------------------------------! end if !------------------------------------------------------------------------------------! - - !------------------------------------------------------------------------------------! ! Find disturbance rates for secondary forests other than forest plantation. ! !------------------------------------------------------------------------------------! - if (almost_one * hvmax_mature_secondary > harvest_deficit) then - f_harvest = harvest_deficit / hvpot_mature_secondary - lambda_mature_plantation = log(1./(1.-f_harvest)) - harvest_deficit = 0.0 - elseif (almost_one * hvpot_mature_secondary > hvmax_mature_secondary) then - f_harvest = hvmax_mature_secondary / hvpot_mature_secondary - lambda_mature_secondary = log(1./(1.-f_harvest)) - harvest_deficit = harvest_deficit - hvmax_mature_secondary + if ( hvpot_mature_secondary > tiny_num ) then + !---------------------------------------------------------------------------------! + ! Find the total biomass to be harvested from mature second-growth forest. ! + ! The actual harvest cannot exceed the target or the actual biomass. ! + !---------------------------------------------------------------------------------! + harvest_actual = min( harvest_deficit, hvmax_mature_secondary & + , hvpot_mature_secondary ) + f_harvest = harvest_actual / hvpot_mature_secondary + !---------------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------------! + ! Check fraction to be harvest, to avoid floating point exceptions. ! + !---------------------------------------------------------------------------------! + if (f_harvest > almost_one) then + !---- Apply sweeping logging disturbance across primary forests. --------------! + f_harvest = 1.0 + harvest_actual = hvpot_mature_secondary + lambda_mature_secondary = lnexp_max + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------------! + else + !---- Find the disturbance rate from the fraction of biomass to be harvested. -! + lambda_mature_secondary = log(1./(1.-f_harvest)) + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------------! else - lambda_mature_secondary = lnexp_max - harvest_deficit = harvest_deficit - hvmax_mature_secondary + !---------------------------------------------------------------------------------! + ! No mature second-growth forest to harvest. Do not log from any plantation ! + ! and try to harvest secondary forest instead. ! + !---------------------------------------------------------------------------------! + f_harvest = 0.0 + harvest_actual = 0.0 + lambda_mature_secondary = 0.0 + ! harvest_deficit = harvest_deficit + !---------------------------------------------------------------------------------! end if !------------------------------------------------------------------------------------! @@ -660,6 +756,9 @@ subroutine mature_forest_harvest(cpoly,isi,onsp !------------------------------------------------------------------------------! end select !---------------------------------------------------------------------------------! + + + end do patch_loop !------------------------------------------------------------------------------------! @@ -679,7 +778,7 @@ end subroutine mature_forest_harvest ! the demand for biomass. ! !---------------------------------------------------------------------------------------! subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimber & - ,lambda_harvest,harvest_deficit) + ,lambda_harv_og_max,lambda_harvest,harvest_deficit) use ed_state_vars , only : polygontype & ! structure , sitetype & ! structure , patchtype ! ! structure @@ -688,7 +787,8 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb , min_harvest_biomass & ! intent(in) , min_oldgrowth ! ! intent(in) use consts_coms , only : lnexp_max & ! intent(in) - , almost_one ! ! intent(in) + , almost_one & ! intent(in) + , tiny_num ! ! intent(in) implicit none !----- Arguments --------------------------------------------------------------------! @@ -698,6 +798,7 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb real, dimension(onsp) , intent(in) :: pat_hvmax_btimber real, dimension(onsp) , intent(in) :: pat_hvpot_btimber real, dimension(onsp) , intent(inout) :: lambda_harvest + real , intent(in) :: lambda_harv_og_max real , intent(inout) :: harvest_deficit !----- Local variables --------------------------------------------------------------! type(sitetype) , pointer :: csite @@ -709,6 +810,8 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb logical :: is_primary logical :: is_young real :: f_harvest + real :: f_harv_prim_max + real :: harvest_actual real :: site_hvmax_btimber real :: site_hvpot_btimber !------------------------------------------------------------------------------------! @@ -720,10 +823,19 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb !------------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------------! + ! Make sure the disturbance rate for primary forests doesn't exceed the maximum ! + ! disturbance taken from the land use instructions for this year. ! + !------------------------------------------------------------------------------------! + f_harv_prim_max = 1. - exp (-lambda_harv_og_max) + !------------------------------------------------------------------------------------! + + !------------------------------------------------------------------------------------! ! First loop, try to obtain the biomass from young forest plantations. ! !------------------------------------------------------------------------------------! - patch_loop_fopl: do ipa=1,onsp + patch_loop_fypl: do ipa=1,onsp !----- Check whether we can harvest this patch. ----------------------------------! is_harvestable = pat_hvmax_btimber(ipa) >= min_harvest_biomass is_plantation = csite%dist_type(ipa) == 2 @@ -740,39 +852,52 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb !------------------------------------------------------------------------------! - !----- Immature patch is harvestable. Check how much to harvest. -------------! - if (almost_one * site_hvmax_btimber > harvest_deficit) then - !---------------------------------------------------------------------------! - ! Biomass target has been met, harvest the patch, then quit the sub- ! - ! -routine. ! + + !------------------------------------------------------------------------------! + ! Check if there is enough biomass to harvest in this patch. ! + !------------------------------------------------------------------------------! + if ( site_hvpot_btimber > tiny_num ) then !---------------------------------------------------------------------------! - f_harvest = harvest_deficit / site_hvpot_btimber - lambda_harvest(ipa) = log(1./ (1. - f_harvest)) - harvest_deficit = 0.0 - return + ! Check how much biomass can be extracted from this patch, up to the ! + ! target biomass. ! !---------------------------------------------------------------------------! - else if (almost_one * site_hvpot_btimber > site_hvmax_btimber) then + harvest_actual = min(harvest_deficit,site_hvmax_btimber,site_hvpot_btimber) + f_harvest = harvest_actual / site_hvpot_btimber !---------------------------------------------------------------------------! - ! Biomass target has not been met, harvest the entire patch, and keep ! - ! searching for biomass. ! + + !---------------------------------------------------------------------------! - f_harvest = site_hvmax_btimber / site_hvpot_btimber - lambda_harvest(ipa) = log(1./ (1. - f_harvest)) - harvest_deficit = harvest_deficit - site_hvmax_btimber + ! Check fraction to be harvest, to avoid floating point exceptions. ! !---------------------------------------------------------------------------! - else + if (f_harvest > almost_one) then + !---- Apply sweeping logging disturbance across primary forests. --------! + f_harvest = 1.0 + harvest_actual = site_hvpot_btimber + lambda_harvest(ipa) = lnexp_max + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------! + else + !---- Find the disturbance rate. ----------------------------------------! + lambda_harvest(ipa) = log(1./(1.-f_harvest)) + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------! + end if !---------------------------------------------------------------------------! - ! Biomass target has not been met, harvest the entire patch, and keep ! - ! searching for biomass. ! + + !---- If we successfully met harvest demands, quit routine. ----------------! + if ( harvest_deficit == 0. ) return !---------------------------------------------------------------------------! - lambda_harvest(ipa) = lnexp_max - harvest_deficit = harvest_deficit - site_hvmax_btimber + else + !----- Patch does not have enough biomass. ---------------------------------! + f_harvest = 0.0 + harvest_actual = 0.0 + ! harvest_deficit = harvest_deficit !---------------------------------------------------------------------------! end if !------------------------------------------------------------------------------! end if !---------------------------------------------------------------------------------! - end do patch_loop_fopl + end do patch_loop_fypl !------------------------------------------------------------------------------------! @@ -806,33 +931,46 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb !------------------------------------------------------------------------------! - !----- Immature patch is harvestable. Check how much to harvest. -------------! - if (almost_one * site_hvmax_btimber > harvest_deficit) then - !---------------------------------------------------------------------------! - ! Biomass target has been met, harvest the patch, then quit the sub- ! - ! -routine. ! + + !------------------------------------------------------------------------------! + ! Check if there is enough biomass to harvest in this patch. ! + !------------------------------------------------------------------------------! + if ( site_hvpot_btimber > tiny_num ) then !---------------------------------------------------------------------------! - f_harvest = harvest_deficit / site_hvpot_btimber - lambda_harvest(ipa) = log(1./ (1. - f_harvest)) - harvest_deficit = 0.0 - return + ! Check how much biomass can be extracted from this patch, up to the ! + ! target biomass. ! !---------------------------------------------------------------------------! - else if (almost_one * site_hvpot_btimber > site_hvmax_btimber) then + harvest_actual = min(harvest_deficit,site_hvmax_btimber,site_hvpot_btimber) + f_harvest = harvest_actual / site_hvpot_btimber !---------------------------------------------------------------------------! - ! Biomass target has not been met, harvest the entire patch, and keep ! - ! searching for biomass. ! + + !---------------------------------------------------------------------------! - f_harvest = site_hvmax_btimber / site_hvpot_btimber - lambda_harvest(ipa) = log(1./ (1. - f_harvest)) - harvest_deficit = harvest_deficit - site_hvmax_btimber + ! Check fraction to be harvest, to avoid floating point exceptions. ! !---------------------------------------------------------------------------! - else + if (f_harvest > almost_one) then + !---- Apply sweeping logging disturbance across primary forests. --------! + f_harvest = 1.0 + harvest_actual = site_hvpot_btimber + lambda_harvest(ipa) = lnexp_max + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------! + else + !---- Find the disturbance rate. ----------------------------------------! + lambda_harvest(ipa) = log(1./(1.-f_harvest)) + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------! + end if !---------------------------------------------------------------------------! - ! Biomass target has not been met, harvest the entire patch, and keep ! - ! searching for biomass. ! + + !---- If we successfully met harvest demands, quit routine. ----------------! + if ( harvest_deficit == 0. ) return !---------------------------------------------------------------------------! - lambda_harvest(ipa) = lnexp_max - harvest_deficit = harvest_deficit - site_hvmax_btimber + else + !----- Patch does not have enough biomass. ---------------------------------! + f_harvest = 0.0 + harvest_actual = 0.0 + ! harvest_deficit = harvest_deficit !---------------------------------------------------------------------------! end if !------------------------------------------------------------------------------! @@ -872,6 +1010,56 @@ subroutine young_forest_harvest(cpoly,isi,onsp,pat_hvmax_btimber,pat_hvpot_btimb !------------------------------------------------------------------------------! + + + + !------------------------------------------------------------------------------! + ! Check if there is enough biomass to harvest in this patch. ! + !------------------------------------------------------------------------------! + if ( site_hvpot_btimber > tiny_num ) then + !---------------------------------------------------------------------------! + ! Check how much biomass can be extracted from this patch, up to the ! + ! target biomass. ! + !---------------------------------------------------------------------------! + harvest_actual = min( harvest_deficit, site_hvmax_btimber & + , f_harv_prim_max * site_hvpot_btimber ) + f_harvest = harvest_actual / site_hvpot_btimber + !---------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------! + ! Check fraction to be harvest, to avoid floating point exceptions. ! + !---------------------------------------------------------------------------! + if (f_harvest > almost_one) then + !---- Apply sweeping logging disturbance across primary forests. --------! + f_harvest = 1.0 + harvest_actual = site_hvpot_btimber + lambda_harvest(ipa) = lnexp_max + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------! + else + !---- Find the disturbance rate. ----------------------------------------! + lambda_harvest(ipa) = log(1./(1.-f_harvest)) + harvest_deficit = max(0.,harvest_deficit - harvest_actual) + !------------------------------------------------------------------------! + end if + !---------------------------------------------------------------------------! + + !---- If we successfully met harvest demands, quit routine. ----------------! + if ( harvest_deficit == 0. ) return + !---------------------------------------------------------------------------! + else + !----- Patch does not have enough biomass. ---------------------------------! + f_harvest = 0.0 + harvest_actual = 0.0 + ! harvest_deficit = harvest_deficit + !---------------------------------------------------------------------------! + end if + !------------------------------------------------------------------------------! + + + + !----- Immature patch is harvestable. Check how much to harvest. -------------! if (almost_one * site_hvmax_btimber > harvest_deficit) then !---------------------------------------------------------------------------! diff --git a/ED/src/dynamics/mortality.f90 b/ED/src/dynamics/mortality.f90 index 3b5eb33df..40240a91d 100644 --- a/ED/src/dynamics/mortality.f90 +++ b/ED/src/dynamics/mortality.f90 @@ -143,7 +143,9 @@ end subroutine mortality_rates ! This subroutine determines the mortality rates associated with the current ! ! disturbance. ! !---------------------------------------------------------------------------------------! - subroutine disturbance_mortality(csite,ipa,area_loss,mindbh_harvest) + subroutine disturbance_mortality(csite,ipa,area_loss,mindbh_harvest,felling_s_gtharv & + ,felling_s_ltharv,skid_dbh_thresh,skid_s_gtharv & + ,skid_s_ltharv) use ed_state_vars, only : sitetype & ! structure , patchtype ! ! structure use ed_max_dims , only : n_pft & ! intent(in) @@ -157,6 +159,11 @@ subroutine disturbance_mortality(csite,ipa,area_loss,mindbh_harvest) integer , intent(in) :: ipa real , dimension(n_dist_types), intent(in) :: area_loss real , dimension(n_pft) , intent(in) :: mindbh_harvest + real , dimension(n_pft) , intent(in) :: felling_s_gtharv + real , dimension(n_pft) , intent(in) :: felling_s_ltharv + real , dimension(n_pft) , intent(in) :: skid_dbh_thresh + real , dimension(n_pft) , intent(in) :: skid_s_gtharv + real , dimension(n_pft) , intent(in) :: skid_s_ltharv !----- Local variables. -------------------------------------------------------------! type(patchtype) , pointer :: cpatch integer :: ico @@ -186,6 +193,8 @@ subroutine disturbance_mortality(csite,ipa,area_loss,mindbh_harvest) if (area_loss(new_lu) > tiny_num) then do ico=1,cpatch%ncohorts f_survival = survivorship(new_lu,csite%dist_type(ipa),mindbh_harvest & + ,felling_s_gtharv,felling_s_ltharv & + ,skid_dbh_thresh,skid_s_gtharv,skid_s_ltharv & ,cpatch,ico) a_factor(ico) = a_factor(ico) & + ( 1.0 - f_survival ) * area_loss(new_lu) / csite%area(ipa) @@ -236,7 +245,9 @@ end subroutine disturbance_mortality ! -- cpatch: current patch. ! ! -- ico: index for current cohort. ! !---------------------------------------------------------------------------------------! - real function survivorship(new_lu,old_lu,mindbh_harvest,cpatch,ico) + real function survivorship(new_lu,old_lu,mindbh_harvest,felling_s_gtharv & + ,felling_s_ltharv,skid_dbh_thresh,skid_s_gtharv,skid_s_ltharv & + ,cpatch,ico) use ed_state_vars, only : patchtype ! ! structure use disturb_coms , only : treefall_hite_threshold ! ! intent(in) use pft_coms , only : treefall_s_ltht & ! intent(in) @@ -244,11 +255,7 @@ real function survivorship(new_lu,old_lu,mindbh_harvest,cpatch,ico) , fire_s_min & ! intent(in) , fire_s_max & ! intent(in) , fire_s_inter & ! intent(in) - , fire_s_slope & ! intent(in) - , felling_s_gtharv & ! intent(in) - , felling_s_ltharv & ! intent(in) - , skid_s_ltharv & ! intent(in) - , skid_s_gtharv ! ! intent(in) + , fire_s_slope ! ! intent(in) use ed_max_dims , only : n_pft ! ! intent(in) use consts_coms , only : lnexp_min & ! intent(in) , lnexp_max ! ! intent(in) @@ -256,6 +263,11 @@ real function survivorship(new_lu,old_lu,mindbh_harvest,cpatch,ico) !----- Arguments. -------------------------------------------------------------------! type(patchtype) , target :: cpatch real , dimension(n_pft), intent(in) :: mindbh_harvest + real , dimension(n_pft), intent(in) :: felling_s_gtharv + real , dimension(n_pft), intent(in) :: felling_s_ltharv + real , dimension(n_pft), intent(in) :: skid_dbh_thresh + real , dimension(n_pft), intent(in) :: skid_s_gtharv + real , dimension(n_pft), intent(in) :: skid_s_ltharv integer , intent(in) :: ico integer , intent(in) :: new_lu integer , intent(in) :: old_lu @@ -347,11 +359,13 @@ real function survivorship(new_lu,old_lu,mindbh_harvest,cpatch,ico) !---------------------------------------------------------------------------------! case (7) !---------------------------------------------------------------------------------! - ! Collateral damage from logging (skid trails, roads). The damage currently ! - ! takes into account the minimum harvest size, because presumably loggers avoid ! - ! damaging trees that may be potentially harvested. ! + ! Collateral damage from logging (skid trails, roads). We assign different ! + ! survivorships for small and large trees because loggers avoid large trees when ! + ! building trails and roads: it is easier to build skid trails around large trees ! + ! than felling them just for the trail, and loggers may want to keep the large ! + ! trees alive because they may be their harvest in the next logging cycle. ! !---------------------------------------------------------------------------------! - if (cpatch%dbh(ico) >= mindbh_harvest(ipft)) then + if (cpatch%dbh(ico) >= skid_dbh_thresh(ipft)) then survivorship = skid_s_gtharv(ipft) else survivorship = skid_s_ltharv(ipft) diff --git a/ED/src/init/ed_params.f90 b/ED/src/init/ed_params.f90 index 98b14d90b..eb6937fa8 100644 --- a/ED/src/init/ed_params.f90 +++ b/ED/src/init/ed_params.f90 @@ -5342,10 +5342,6 @@ subroutine init_pft_mort_params() , fire_s_max & ! intent(out) , fire_s_inter & ! intent(out) , fire_s_slope & ! intent(out) - , felling_s_ltharv & ! intent(out) - , felling_s_gtharv & ! intent(out) - , skid_s_ltharv & ! intent(out) - , skid_s_gtharv & ! intent(out) , plant_min_temp & ! intent(out) , frost_mort ! ! intent(out) use consts_coms , only : t00 & ! intent(in) @@ -5356,9 +5352,6 @@ subroutine init_pft_mort_params() , economics_scheme ! ! intent(in) use disturb_coms, only : include_fire & ! intent(in) , time2canopy & ! intent(in) - , sl_skid_s_gtharv & ! intent(in) - , sl_skid_s_ltharv & ! intent(in) - , sl_felling_s_ltharv & ! intent(in) , treefall_disturbance_rate ! ! intent(in) use physiology_coms, only : carbon_mortality_scheme & ! intent(in) , hydraulic_mortality_scheme ! ! intent(in) @@ -5736,18 +5729,6 @@ subroutine init_pft_mort_params() - !---------------------------------------------------------------------------------------! - ! Felling survivorship fraction, and survivorship to collateral damage due to ! - ! logging. ! - !---------------------------------------------------------------------------------------! - felling_s_gtharv(:) = merge(0.70,0.00 ,is_grass(:)) - felling_s_ltharv(:) = merge(0.70,sl_felling_s_ltharv,is_grass(:)) - skid_s_gtharv (:) = merge(1.00,sl_skid_s_gtharv ,is_grass(:)) - skid_s_ltharv (:) = merge(1.00,sl_skid_s_ltharv ,is_grass(:)) - !---------------------------------------------------------------------------------------! - - - !---------------------------------------------------------------------------------------! ! Fire survivorship fraction. These variables will be replaced by bark thickness ! ! !---------------------------------------------------------------------------------------! @@ -8153,10 +8134,6 @@ subroutine init_derived_params_after_xml() , mort3 & ! intent(in) , seedling_mortality & ! intent(in) , treefall_s_ltht & ! intent(in) - , felling_s_gtharv & ! intent(in) - , felling_s_ltharv & ! intent(in) - , skid_s_gtharv & ! intent(in) - , skid_s_ltharv & ! intent(in) , fire_s_min & ! intent(in) , fire_s_max & ! intent(in) , fire_s_inter & ! intent(in) @@ -9708,7 +9685,7 @@ subroutine init_derived_params_after_xml() !----- Print trait coefficients. -------------------------------------------------------! if (print_zero_table) then open (unit=19,file=trim(strat_file),status='replace',action='write') - write(unit=19,fmt='(102(1x,a))') ' PFT',' TROPICAL',' GRASS' & + write(unit=19,fmt='( 98(1x,a))') ' PFT',' TROPICAL',' GRASS' & ,' CONIFER',' SAVANNAH',' LIANA' & ,' R_BANG',' RHO',' SLA' & ,' SRA',' ROOT_BETA',' VM0' & @@ -9716,8 +9693,7 @@ subroutine init_derived_params_after_xml() ,' ROOT_TOR',' BARK_TOR',' STORAGE_TOR' & ,' FLABILE_LEAF',' FLABILE_STEM',' MORT0' & ,' MORT1',' MORT2',' MORT3' & - ,' SEED_MORT',' TFALL_S_GTHT',' FELL_S_GTHV' & - ,' FELL_S_LTHV',' SKID_S_GTHV',' SKID_S_LTHV' & + ,' SEED_MORT',' TFALL_S_GTHT' & ,' FIRE_S_MIN',' FIRE_S_MAX',' FIRE_S_INTER' & ,' FIRE_S_SLOPE',' ST_FRACT',' R_FRACT' & ,' R_CV50',' NONLOC_DISP',' SEED_RAIN' & @@ -9744,7 +9720,7 @@ subroutine init_derived_params_after_xml() ,' STOMA_PSI_C',' HIGH_PSI_THR',' LOW_PSI_THR' do ipft=1,n_pft - write (unit=19,fmt='(9x,i5,6(13x,l1),93(1x,f13.6),2(1x,i13))') & + write (unit=19,fmt='(9x,i5,6(13x,l1),89(1x,f13.6),2(1x,i13))') & ipft,is_tropical(ipft),is_grass(ipft),is_conifer(ipft) & ,is_savannah(ipft),is_liana(ipft),r_bang(ipft),rho(ipft),SLA(ipft) & ,SRA(ipft),root_beta(ipft),Vm0(ipft),dark_respiration_factor(ipft) & @@ -9753,8 +9729,7 @@ subroutine init_derived_params_after_xml() ,storage_turnover_rate(ipft),f_labile_leaf(ipft) & ,f_labile_stem(ipft),mort0(ipft),mort1(ipft),mort2(ipft) & ,mort3(ipft),seedling_mortality(ipft),treefall_s_ltht(ipft) & - ,felling_s_gtharv(ipft),felling_s_ltharv(ipft),skid_s_gtharv(ipft) & - ,skid_s_ltharv(ipft),fire_s_min(ipft),fire_s_max(ipft) & + ,fire_s_min(ipft),fire_s_max(ipft) & ,fire_s_inter(ipft),fire_s_slope(ipft),st_fract(ipft),r_fract(ipft) & ,r_cv50(ipft),nonlocal_dispersal(ipft),seed_rain(ipft) & ,effarea_heat,effarea_evap,effarea_transp(ipft) & diff --git a/ED/src/init/landuse_init.f90 b/ED/src/init/landuse_init.f90 index 77de83090..0a8b4b003 100644 --- a/ED/src/init/landuse_init.f90 +++ b/ED/src/init/landuse_init.f90 @@ -8,31 +8,41 @@ module landuse_init !---------------------------------------------------------------------------------------! subroutine read_landuse_matrix - use ed_state_vars , only : edtype & ! structure - , polygontype & ! structure - , sitetype & ! structure - , edgrid_g ! ! structure - use consts_coms , only : erad & ! intent(in) - , pio180 ! ! intent(in) - use disturb_coms , only : lutime & ! intent(in) - , max_lu_years & ! intent(in) - , num_lu_trans & ! intent(in) - , ianth_disturb & ! intent(in) - , lu_database & ! intent(in) - , sl_pft & ! intent(in) - , sl_scale & ! intent(in) - , sl_nyrs & ! intent(in) - , sl_yr_first & ! intent(in) - , sl_mindbh_harvest & ! intent(in) - , sl_prob_harvest ! ! intent(in) - use ed_misc_coms , only : iyeara & ! intent(in) - , iyearz ! ! intent(in) - use grid_coms , only : ngrids ! ! intent(in) - use ed_max_dims , only : str_len & ! intent(in) - , huge_lu & ! intent(in) - , n_pft & ! intent(in) - , maxlist ! ! intent(in) - use detailed_coms , only : idetailed ! ! intent(in) + use ed_state_vars , only : edtype & ! structure + , polygontype & ! structure + , sitetype & ! structure + , edgrid_g ! ! structure + use pft_coms , only : is_grass & ! intent(in) + , is_liana ! ! intent(in) + use consts_coms , only : erad & ! intent(in) + , pio180 & ! intent(in) + , lnexp_max ! ! intent(in) + use disturb_coms , only : lutime & ! intent(in) + , max_lu_years & ! intent(in) + , num_lu_trans & ! intent(in) + , ianth_disturb & ! intent(in) + , lu_database & ! intent(in) + , sl_pft & ! intent(in) + , sl_scale & ! intent(in) + , sl_nyrs & ! intent(in) + , sl_yr_first & ! intent(in) + , sl_skid_rel_area & ! intent(in) + , sl_skid_dbh_thresh & ! intent(in) + , sl_skid_s_gtharv & ! intent(in) + , sl_skid_s_ltharv & ! intent(in) + , sl_felling_s_ltharv & ! intent(in) + , sl_mindbh_harvest & ! intent(in) + , sl_prob_harvest ! ! intent(in) + use ed_misc_coms , only : iyeara & ! intent(in) + , iyearz ! ! intent(in) + use grid_coms , only : ngrids ! ! intent(in) + use ed_max_dims , only : str_len & ! intent(in) + , huge_lu & ! intent(in) + , n_pft & ! intent(in) + , maxlist & ! intent(in) + , undef_real & ! intent(in) + , undef_integer ! ! intent(in) + use detailed_coms , only : idetailed ! ! intent(in) implicit none !----- Local variables --------------------------------------------------------------! @@ -49,6 +59,7 @@ subroutine read_landuse_matrix character(len=6) :: hform character(len=str_len) :: lu_name character(len=str_len) :: cdum + character(len=str_len) :: vkey character(len=13) :: hifmt character(len=15) :: hffmt integer :: nharvest @@ -67,12 +78,19 @@ subroutine read_landuse_matrix integer :: yd_1st integer :: yd_this integer :: yd_last + integer :: poseq logical :: inside logical :: write_lu_settings + real :: skid_rel_area real , dimension(n_pft) :: mindbh_slog real , dimension(n_pft) :: harvprob_slog real , dimension(n_pft) :: mindbh_fplt real , dimension(n_pft) :: harvprob_fplt + real , dimension(n_pft) :: skid_dbh_thresh + real , dimension(n_pft) :: felling_s_gtharv + real , dimension(n_pft) :: felling_s_ltharv + real , dimension(n_pft) :: skid_s_gtharv + real , dimension(n_pft) :: skid_s_ltharv real , dimension(num_lu_trans) :: landuse_now real :: lu_area real :: lu_area_i @@ -83,7 +101,6 @@ subroutine read_landuse_matrix !----- Local constants. -------------------------------------------------------------! character(len=12) , parameter :: fffmt = '(a,1x,f12.5)' character(len=13) , parameter :: esfmt = '(a,1x,es12.5)' - integer , parameter :: hoff = 18 real , parameter :: huge_dbh = huge(1.) character(len=str_len), parameter :: lu_table = "anth_disturb_table.txt" !----- External function. -----------------------------------------------------------! @@ -148,9 +165,15 @@ subroutine read_landuse_matrix !----- Set the parameters in a way that no logging/ploughing will happen. --! do isi = 1,cpoly%nsites - cpoly%num_landuse_years(isi) = 1 - cpoly%mindbh_harvest (1:n_pft,isi) = huge_dbh - cpoly%prob_harvest (1:n_pft,isi) = 0. + cpoly%num_landuse_years (isi) = 1 + cpoly%mindbh_harvest (:,isi) = huge_dbh + cpoly%prob_harvest (:,isi) = 0. + cpoly%skid_dbh_thresh (:,isi) = huge_dbh + cpoly%skid_s_gtharv (:,isi) = 1. + cpoly%skid_s_ltharv (:,isi) = 1. + cpoly%felling_s_gtharv(:,isi) = 1. + cpoly%felling_s_ltharv(:,isi) = 1. + cpoly%clutimes(1,isi)%landuse_year = iyeara cpoly%clutimes(1,isi)%landuse(1:num_lu_trans) = 0.0 end do @@ -167,9 +190,22 @@ subroutine read_landuse_matrix - !----- Initialise the PFT-dependent arrays. --------------------------------! - cpoly%mindbh_harvest (:,:) = huge_dbh - cpoly%prob_harvest (:,:) = 0. + !---------------------------------------------------------------------------! + ! Initialise the PFT-dependent arrays with namelist data, but keep ! + ! harvest probability zero and minimum DBH for harvesting to infinity, to ! + ! prevent felling of these PFTs. ! + !---------------------------------------------------------------------------! + do isi = 1,cpoly%nsites + cpoly%mindbh_harvest (:,isi) = huge_dbh + cpoly%prob_harvest (:,isi) = 0. + cpoly%skid_dbh_thresh (:,isi) = merge(huge_dbh,sl_skid_dbh_thresh & + ,is_grass(:)) + cpoly%skid_s_gtharv (:,isi) = merge( 1.00,sl_skid_s_gtharv,is_grass(:)) + cpoly%skid_s_ltharv (:,isi) = merge( 1.00,sl_skid_s_ltharv,is_grass(:)) + cpoly%felling_s_gtharv(:,isi) = merge( 0.70, 0.00,is_grass(:)) + cpoly%felling_s_ltharv(:,isi) = merge( 0.70,sl_felling_s_ltharv & + ,is_grass(:)) + end do !---------------------------------------------------------------------------! @@ -201,76 +237,279 @@ subroutine read_landuse_matrix open(unit=12,file=trim(lu_name),form='formatted',status='old',action='read') !---------------------------------------------------------------------------! + + !---------------------------------------------------------------------------! + ! Top header variables. Initialise them with dummy values. Except for ! + ! skid_area, they must be all assigned. Skid area by default the value ! + ! from the namelist. ! + !---------------------------------------------------------------------------! + wlon = undef_real + elon = undef_real + slat = undef_real + nlat = undef_real + lu_area = undef_real + yd_1st = undef_integer + yd_last = undef_integer + skid_rel_area = sl_skid_rel_area + nharvest = undef_integer + !---------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------! + ! Initialise the temporary arrays with dummy values. These are all ! + ! optional variables, but they are useful to define logging strategies in ! + ! more detail. ! !---------------------------------------------------------------------------! - ! Initialise the temporary arrays with data that will not cause any ! - ! harvesting. The actual variables will be read in the following block. ! + harvest_pft (1:n_pft) = undef_integer + mindbh_slog (1:n_pft) = undef_real + harvprob_slog (1:n_pft) = undef_real + mindbh_fplt (1:n_pft) = undef_real + harvprob_fplt (1:n_pft) = undef_real + skid_dbh_thresh (1:n_pft) = undef_real + skid_s_gtharv (1:n_pft) = undef_real + skid_s_ltharv (1:n_pft) = undef_real + felling_s_gtharv(1:n_pft) = undef_real + felling_s_ltharv(1:n_pft) = undef_real !---------------------------------------------------------------------------! - harvest_pft (1:n_pft) = -1 - mindbh_slog (1:n_pft) = huge_dbh - harvprob_slog(1:n_pft) = 0. - mindbh_fplt (1:n_pft) = huge_dbh - harvprob_fplt(1:n_pft) = 0. + !----- Define the format for the header. -----------------------------------! write(hform,fmt='(a,i3.3,a)') '(a',str_len,')' + !---------------------------------------------------------------------------! + - !----- Read the header. ----------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) wlon + !---------------------------------------------------------------------------! + ! Read the top header. ! + !---------------------------------------------------------------------------! + read_tophead: do + !---- Read line. --------------------------------------------------------! + read (unit=12,fmt=hform) cdum + poseq = index(cdum,'=') + !------------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) elon + !---- If we reached the header, exit the loop. --------------------------! + if (poseq == 0) exit read_tophead + !------------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) slat - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) nlat + !---- If not, read the variable key for now and remove it from line. ----! + vkey = cdum(:poseq-1) + cdum = cdum(poseq+1:) + !------------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) lu_area - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) yd_1st + !------------------------------------------------------------------------! + ! Identify which variable to read (multiple options are for ! + ! back compatibility). ! + !------------------------------------------------------------------------! + select case (trim(vkey)) + case ('WEST_LONGITUDE','WEST.LONGITUDE') + !---- Longitude of the west edge of the domain. ----------------------! + read(cdum,fmt=*) wlon + !---------------------------------------------------------------------! + case ('EAST_LONGITUDE','EAST.LONGITUDE') + !---- Longitude of the east edge of the domain. ----------------------! + read(cdum,fmt=*) elon + !---------------------------------------------------------------------! + case ('SOUTH_LATITUDE','SOUTH.LATITUDE') + !---- Latitude of the south edge of the domain. ----------------------! + read(cdum,fmt=*) slat + !---------------------------------------------------------------------! + case ('NORTH_LATITUDE','NORTH.LATITUDE') + !---- Latitude of the north edge of the domain. ----------------------! + read(cdum,fmt=*) nlat + !---------------------------------------------------------------------! + case ('BLOCK_AREA' ,'BLOCK.AREA' ) + !---- Domain area. ---------------------------------------------------! + read(cdum,fmt=*) lu_area + !---------------------------------------------------------------------! + case ('FIRST_LUYEAR' ,'FIRST.LUYEAR' ) + !---- First year with disturbance data. ------------------------------! + read(cdum,fmt=*) yd_1st + !---------------------------------------------------------------------! + case ('LAST_LUYEAR' ,'LAST.LUYEAR' ) + !---- Last year with disturbance data. -------------------------------! + read(cdum,fmt=*) yd_last + !---------------------------------------------------------------------! + case ('SKID_AREA' ,'SKID.AREA' ) + !---- Damage area due to skid trails and roads. ----------------------! + read(cdum,fmt=*) skid_rel_area + !---------------------------------------------------------------------! + case ('N_PFT_HARVEST' ,'N.PFT.HARVEST' ) + !---- Number of PFTs to harvest. -------------------------------------! + read(cdum,fmt=*) nharvest + !---------------------------------------------------------------------! + + !----- This should precede the PFT-specific instructions. ------------! + exit read_tophead + !---------------------------------------------------------------------! + case default + !----- Key is not recognised. Stop the model. ------------------------! + write (unit=*,fmt='(a)' ) '-----------------------------------' + write (unit=*,fmt='(a,1x,a)' ) 'File: ',trim(lu_name) + write (unit=*,fmt='(a,2(1x,a))') 'Key: ',trim(vkey),'is invalid!' + write (unit=*,fmt='(a)' ) '-----------------------------------' + call fatal_error(' Problems reading input file (not an ED2 bug)!' & + ,'read_landuse_matrix','landuse_init.f90') + !---------------------------------------------------------------------! + end select + !------------------------------------------------------------------------! + end do read_tophead + !---------------------------------------------------------------------------! + + + + + !---------------------------------------------------------------------------! + ! Before proceeding, ensure that all top header variables have been ! + ! properly read. ! + !---------------------------------------------------------------------------! + if ( wlon == undef_real .or. elon == undef_real .or. & + slat == undef_real .or. nlat == undef_real .or. & + lu_area == undef_real .or. yd_1st == undef_integer .or. & + yd_last == undef_integer .or. nharvest == undef_integer ) then + write (unit=*,fmt='(a)') '------------------------------------' + write (unit=*,fmt='(2(a,1x))') ' - File: ',trim(lu_name) + write (unit=*,fmt='(a)') '------------------------------------' + write (unit=*,fmt='(a,1x,es12.5)') ' - WEST_LONGITUDE = ',wlon + write (unit=*,fmt='(a,1x,es12.5)') ' - EAST_LONGITUDE = ',elon + write (unit=*,fmt='(a,1x,es12.5)') ' - SOUTH_LATITUDE = ',slat + write (unit=*,fmt='(a,1x,es12.5)') ' - NORTH_LATITUDE = ',nlat + write (unit=*,fmt='(a,1x,es12.5)') ' - BLOCK_AREA = ',lu_area + write (unit=*,fmt='(a,1x,i6)') ' - FIRST_LUYEAR = ',yd_1st + write (unit=*,fmt='(a,1x,i6)') ' - LAST_LUYEAR = ',yd_last + write (unit=*,fmt='(a,1x,es12.5)') ' - SKID_AREA = ',skid_rel_area + write (unit=*,fmt='(a,1x,i6)') ' - N_PFT_HARVEST = ',nharvest + write (unit=*,fmt='(a)') '------------------------------------' + call fatal_error('Missing variables in input file (not an ED2 bug)!' & + ,'read_landuse_matrix','landuse_init.f90') + end if + !---------------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) yd_last - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) nharvest + !---------------------------------------------------------------------------! + ! Decide whether or not to read PFT specific harvest instructions. ! + !---------------------------------------------------------------------------! if (nharvest > 0 ) then !------------------------------------------------------------------------! - ! If nharvest is not 0, then the harvesting is not PFT-blind, read ! - ! the PFT information in the file. ! + ! If nharvest is not 0, then the harvesting is not PFT-agnostic, ! + ! read the PFT information in the file. To allow for back-compatibility ! + ! we must check every variable until we reach the header. ! !------------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) (harvest_pft(h) ,h=1,nharvest) + read_harvest: do + !---- Read line. -----------------------------------------------------! + read (unit=12,fmt=hform) cdum + poseq = index(cdum,'=') + !---------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) (mindbh_slog(h) ,h=1,nharvest) + !---- If we reached the header, exit the loop. -----------------------! + if (poseq == 0) exit read_harvest + !---------------------------------------------------------------------! - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) (harvprob_slog(h) ,h=1,nharvest) - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) (mindbh_fplt(h) ,h=1,nharvest) + !---- If not, read the variable key for now and remove it from line. -! + vkey = cdum(:poseq-1) + cdum = cdum(poseq+1:) + !---------------------------------------------------------------------! + - read (unit=12,fmt=hform) cdum - cdum = cdum(hoff:) - read (cdum, fmt=*) (harvprob_fplt(h) ,h=1,nharvest) + !---------------------------------------------------------------------! + ! Identify which variable to read (multiple options are for ! + ! back compatibility). ! + !---------------------------------------------------------------------! + select case (trim(vkey)) + case ('HARVEST_PFT','HARVEST.PFT') + !---- PFTs to read. -----------------------------------------------! + read (cdum, fmt=*) (harvest_pft(h) ,h=1,nharvest) + !------------------------------------------------------------------! + + !------------------------------------------------------------------! + ! Assign defaults to variables in case they have not been ! + ! read yet. ! + !------------------------------------------------------------------! + mindbh_slog = merge( mindbh_slog , 0. & + , harvest_pft /= undef_integer .and. & + mindbh_slog /= undef_real ) + harvprob_slog = merge( harvprob_slog , 1. & + , harvest_pft /= undef_integer .and. & + harvprob_slog /= undef_real ) + mindbh_fplt = merge( mindbh_fplt , 0. & + , harvest_pft /= undef_integer .and. & + mindbh_fplt /= undef_real ) + harvprob_fplt = merge( harvprob_fplt , 1. & + , harvest_pft /= undef_integer .and. & + harvprob_fplt /= undef_real ) + skid_dbh_thresh = merge( skid_dbh_thresh , sl_skid_dbh_thresh & + , harvest_pft /= undef_integer .and. & + skid_dbh_thresh /= undef_real ) + skid_s_gtharv = merge( skid_s_gtharv , sl_skid_s_gtharv & + , harvest_pft /= undef_integer .and. & + skid_s_gtharv /= undef_real ) + skid_s_ltharv = merge( skid_s_ltharv , sl_skid_s_ltharv & + , harvest_pft /= undef_integer .and. & + skid_s_ltharv /= undef_real ) + felling_s_ltharv = merge( felling_s_ltharv, sl_felling_s_ltharv & + , harvest_pft /= undef_integer .and. & + felling_s_ltharv /= undef_real ) + felling_s_gtharv = merge( felling_s_gtharv, 0. & + , harvest_pft /= undef_integer .and. & + felling_s_gtharv /= undef_real ) + !------------------------------------------------------------------! + + case ('MINDBH_SLOG','MINDBH.SLOG','MINDBH_1ARY','MINDBH.1ARY') + !---- Minimum DBH for harvesting: (selective) logging. ------------! + read (cdum, fmt=*) (mindbh_slog (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('HARVPROB_SLOG','HARVPROB.SLOG','HARVPROB_1ARY','HARVPROB.1ARY') + !---- Harvest probability: (selective) logging. -------------------! + read (cdum, fmt=*) (harvprob_slog (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('MINDBH_FPLT','MINDBH.FPLT','MINDBH_2ARY','MINDBH.2ARY') + !---- Minimum DBH for harvesting: forest plantation. --------------! + read (cdum, fmt=*) (mindbh_fplt (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('HARVPROB_FPLT','HARVPROB.FPLT','HARVPROB_2ARY','HARVPROB.2ARY') + !---- Harvest probability: forest plantation. ---------------------! + read (cdum, fmt=*) (harvprob_fplt (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('SKID_DBH_THRESH','SKID.DBH.THRESH') + !---- Skid damage: DBH threshold for small/large tree. ------------! + read (cdum, fmt=*) (skid_dbh_thresh (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('SKID_S_GTHARV','SKID.S.GTHARV') + !---- Skid damage: Survivorship of large trees. -------------------! + read (cdum, fmt=*) (skid_s_gtharv (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('SKID_S_LTHARV','SKID.S.LTHARV') + !---- Skid damage: Survivorship of small trees. -------------------! + read (cdum, fmt=*) (skid_s_ltharv (h),h=1,nharvest) + !------------------------------------------------------------------! + case ('FELLING_S_LTHARV','FELLING.S.LTHARV') + !---- Tree felling: Survivorship of small trees. ------------------! + read (cdum, fmt=*) (felling_s_ltharv(h),h=1,nharvest) + !------------------------------------------------------------------! + case ('FELLING_S_GTHARV','FELLING.S.GTHARV') + !------------------------------------------------------------------! + ! Tree felling: Survivorship of large trees. Leaving this as ! + ! a future option, though there is no strong reason to make this ! + ! survivorship anything other than 0. ! + !------------------------------------------------------------------! + read (cdum, fmt=*) (felling_s_ltharv(h),h=1,nharvest) + !------------------------------------------------------------------! + case default + !----- Key is not recognised. Stop the model. ---------------------! + write (unit=*,fmt='(a)' ) '--------------------------------' + write (unit=*,fmt='(a,1x,a)' ) 'File: ',trim(lu_name) + write (unit=*,fmt='(a,2(1x,a))') 'Key: ',trim(vkey),'is invalid!' + write (unit=*,fmt='(a)' ) '--------------------------------' + call fatal_error(' Problems reading input file (not an ED2 bug)!' & + ,'read_landuse_matrix','landuse_init.f90') + !------------------------------------------------------------------! + end select + !---------------------------------------------------------------------! + end do read_harvest + !------------------------------------------------------------------------! else !------------------------------------------------------------------------! ! No specific PFT information was given, this is likely to be a case ! @@ -279,13 +518,32 @@ subroutine read_landuse_matrix !------------------------------------------------------------------------! h = 0 nopftloop: do ipft=1,n_pft - h=h+1 - harvest_pft(h) = ipft - mindbh_slog(1:n_pft) = 0. - mindbh_fplt(1:n_pft) = 0. + !--- Skip grasses and lianas. ----------------------------------------! + if ( is_grass(ipft) .or. is_liana(ipft) ) cycle nopftloop + !---------------------------------------------------------------------! + + + !----- Fill in with default. -----------------------------------------! + h = h + 1 + mindbh_slog (h) = 0. + harvprob_slog (h) = 1. + mindbh_fplt (h) = 0. + harvprob_fplt (h) = 1. + skid_dbh_thresh (h) = sl_skid_dbh_thresh + skid_s_gtharv (h) = sl_skid_s_gtharv + skid_s_ltharv (h) = sl_skid_s_ltharv + felling_s_ltharv(h) = sl_felling_s_ltharv + felling_s_gtharv(h) = 0. + !---------------------------------------------------------------------! end do nopftloop + !------------------------------------------------------------------------! + + + !--- Skip header and be ready for reading transitions. ------------------! + read (unit=12,fmt=*) + !------------------------------------------------------------------------! end if - read (unit=12,fmt=*) + !---------------------------------------------------------------------------! !----- Use file_lat to compute the physical area sampled by the file. ------! if (lu_area == 0.) then @@ -323,10 +581,17 @@ subroutine read_landuse_matrix !----- Copy the file information to the first site. ---------------------! isi = 1 csite => cpoly%site(isi) + !------------------------------------------------------------------------! !----- Determine the number of disturbance years. -----------------------! cpoly%num_landuse_years(isi) = max(yd_last,iyearz)-min(yd_1st,iyeara) + 1 + !------------------------------------------------------------------------! + + + !----- Define the degree of damage relative to felling. -----------------! + cpoly%skid_rel_area(isi) = skid_rel_area + !------------------------------------------------------------------------! !----- Fill the arrays with the appropriate PFT. ------------------------! @@ -351,6 +616,24 @@ subroutine read_landuse_matrix !------------------------------------------------------------------------! + + !------------------------------------------------------------------------! + ! These variables are filled the same way for selective logging ! + ! and forest plantations. ! + !------------------------------------------------------------------------! + skidloop_site: do h=1,nharvest + ipft = harvest_pft(h) + if (ipft >= 1 .and. ipft <= n_pft) then + cpoly%skid_dbh_thresh (ipft,isi) = skid_dbh_thresh (h) + cpoly%skid_s_gtharv (ipft,isi) = skid_s_gtharv (h) + cpoly%skid_s_ltharv (ipft,isi) = skid_s_ltharv (h) + cpoly%felling_s_ltharv(ipft,isi) = felling_s_ltharv(h) + cpoly%felling_s_gtharv(ipft,isi) = felling_s_gtharv(h) + end if + end do skidloop_site + !------------------------------------------------------------------------! + + !----- Padding disturbances with zero before first available lu year. ---! iyear = 0 do yd_this = iyeara,(yd_1st-1) @@ -405,9 +688,19 @@ subroutine read_landuse_matrix !---------------------------------------------------------------------! + !----- Define the degree of damage relative to felling. --------------! + cpoly%skid_rel_area(isi) = cpoly%skid_rel_area(1) + !---------------------------------------------------------------------! + + !----- PFT-dependent harvest characteristics. ------------------------! - cpoly%mindbh_harvest(:,isi) = cpoly%mindbh_harvest(:,1) - cpoly%prob_harvest (:,isi) = cpoly%prob_harvest (:,1) + cpoly%mindbh_harvest (:,isi) = cpoly%mindbh_harvest (:,1) + cpoly%prob_harvest (:,isi) = cpoly%prob_harvest (:,1) + cpoly%skid_dbh_thresh (:,isi) = cpoly%skid_dbh_thresh (:,1) + cpoly%skid_s_gtharv (:,isi) = cpoly%skid_s_gtharv (:,1) + cpoly%skid_s_ltharv (:,isi) = cpoly%skid_s_ltharv (:,1) + cpoly%felling_s_ltharv(:,isi) = cpoly%felling_s_ltharv(:,1) + cpoly%felling_s_gtharv(:,isi) = cpoly%felling_s_gtharv(:,1) !---------------------------------------------------------------------! @@ -419,6 +712,7 @@ subroutine read_landuse_matrix clutime%landuse_year = onelutime%landuse_year clutime%landuse(1:num_lu_trans) = onelutime%landuse(1:num_lu_trans) end do + !---------------------------------------------------------------------! end do siteloop_one else @@ -450,8 +744,14 @@ subroutine read_landuse_matrix do isi = 1,cpoly%nsites cpoly%clutimes(1,isi)%landuse_year = iyeara cpoly%clutimes(1,isi)%landuse(1:num_lu_trans) = 0.0 - cpoly%mindbh_harvest(1:n_pft,isi) = huge_dbh - cpoly%prob_harvest (1:n_pft,isi) = 0. + cpoly%skid_rel_area (isi) = 0. + cpoly%mindbh_harvest (:,isi) = huge_dbh + cpoly%prob_harvest (:,isi) = 0. + cpoly%skid_dbh_thresh (:,isi) = huge_dbh + cpoly%skid_s_gtharv (:,isi) = 1. + cpoly%skid_s_ltharv (:,isi) = 1. + cpoly%felling_s_ltharv(:,isi) = 1. + cpoly%felling_s_gtharv(:,isi) = 1. end do end if !---------------------------------------------------------------------------! @@ -488,9 +788,20 @@ subroutine read_landuse_matrix !---------------------------------------------------------------------------! + !----- Define the degree of damage relative to felling. --------------------! + cpoly%skid_rel_area(isi) = cpoly%skid_rel_area(1) + !---------------------------------------------------------------------------! + + !----- Initialise the PFT-dependent arrays. --------------------------------! - cpoly%mindbh_harvest (1:n_pft,isi) = huge_dbh - cpoly%prob_harvest (1:n_pft,isi) = 0. + cpoly%mindbh_harvest (:,isi) = huge_dbh + cpoly%prob_harvest (:,isi) = 0. + cpoly%skid_dbh_thresh (:,isi) = merge(huge_dbh,sl_skid_dbh_thresh & + ,is_grass(:)) + cpoly%skid_s_gtharv (:,isi) = merge( 1.00,sl_skid_s_gtharv ,is_grass(:)) + cpoly%skid_s_ltharv (:,isi) = merge( 1.00,sl_skid_s_ltharv ,is_grass(:)) + cpoly%felling_s_gtharv(:,isi) = merge( 0.70, 0.00 ,is_grass(:)) + cpoly%felling_s_ltharv(:,isi) = merge( 0.70,sl_felling_s_ltharv,is_grass(:)) !---------------------------------------------------------------------------! @@ -528,6 +839,7 @@ subroutine read_landuse_matrix if (yd_this >= sl_yr_first) then if ( (sl_scale == 1) .or. (mod(yd_this-sl_yr_first,sl_nyrs) == 0) ) & then + clutime%landuse(11) = lnexp_max clutime%landuse(12) = -1.0 clutime%landuse(14) = -1.0 end if @@ -549,8 +861,13 @@ subroutine read_landuse_matrix !----- PFT-dependent harvest characteristics. ---------------------------! - cpoly%mindbh_harvest(:,isi) = cpoly%mindbh_harvest(:,1) - cpoly%prob_harvest (:,isi) = cpoly%prob_harvest (:,1) + cpoly%mindbh_harvest (:,isi) = cpoly%mindbh_harvest (:,1) + cpoly%prob_harvest (:,isi) = cpoly%prob_harvest (:,1) + cpoly%skid_dbh_thresh (:,isi) = cpoly%skid_dbh_thresh (:,1) + cpoly%skid_s_gtharv (:,isi) = cpoly%skid_s_gtharv (:,1) + cpoly%skid_s_ltharv (:,isi) = cpoly%skid_s_ltharv (:,1) + cpoly%felling_s_gtharv(:,isi) = cpoly%felling_s_gtharv(:,1) + cpoly%felling_s_ltharv(:,isi) = cpoly%felling_s_ltharv(:,1) !------------------------------------------------------------------------! @@ -593,40 +910,62 @@ subroutine read_landuse_matrix do ipft=1,n_pft if (cpoly%prob_harvest(ipft,isi) > 0.0) then h = h + 1 - harvest_pft (h) = ipft - mindbh_slog (h) = cpoly%mindbh_harvest(ipft,isi) - harvprob_slog(h) = cpoly%prob_harvest (ipft,isi) - mindbh_fplt (h) = cpoly%mindbh_harvest(ipft,isi) - harvprob_fplt(h) = cpoly%prob_harvest (ipft,isi) + harvest_pft (h) = ipft + mindbh_slog (h) = cpoly%mindbh_harvest (ipft,isi) + harvprob_slog (h) = cpoly%prob_harvest (ipft,isi) + mindbh_fplt (h) = cpoly%mindbh_harvest (ipft,isi) + harvprob_fplt (h) = cpoly%prob_harvest (ipft,isi) + skid_dbh_thresh (h) = cpoly%skid_dbh_thresh (ipft,isi) + skid_s_gtharv (h) = cpoly%skid_s_gtharv (ipft,isi) + skid_s_ltharv (h) = cpoly%skid_s_ltharv (ipft,isi) + felling_s_ltharv(h) = cpoly%felling_s_ltharv(ipft,isi) + felling_s_gtharv(h) = cpoly%felling_s_gtharv(ipft,isi) end if end do !---------------------------------------------------------------------------! + !---------------------------------------------------------------------------! + ! Write the LU-like file. ! + !---------------------------------------------------------------------------! + + + !---------------------------------------------------------------------------! ! Write the LU-like file. ! !---------------------------------------------------------------------------! open(unit=16,file=trim(lu_table),status='replace',action='write') - write(unit=16,fmt='(a,1x,f8.3)' ) 'WEST.LONGITUDE = ',wlon - write(unit=16,fmt='(a,1x,f8.3)' ) 'EAST.LONGITUDE = ',elon - write(unit=16,fmt='(a,1x,f8.3)' ) 'SOUTH.LATITUDE = ',slat - write(unit=16,fmt='(a,1x,f8.3)' ) 'NORTH.LATITUDE = ',nlat - write(unit=16,fmt='(a,1x,f20.5)') 'BLOCK.AREA = ',lu_area - write(unit=16,fmt='(a,1x,i4.4)' ) 'FIRST.LUYEAR = ',iyeara - write(unit=16,fmt='(a,1x,i4.4)' ) 'LAST.LUYEAR = ',iyearz - write(unit=16,fmt='(a,1x,i2)' ) 'N.PFT.HARVEST = ',nharvest + write(unit=16,fmt='(a,1x,f8.3)' ) 'WEST_LONGITUDE = ',wlon + write(unit=16,fmt='(a,1x,f8.3)' ) 'EAST_LONGITUDE = ',elon + write(unit=16,fmt='(a,1x,f8.3)' ) 'SOUTH_LATITUDE = ',slat + write(unit=16,fmt='(a,1x,f8.3)' ) 'NORTH_LATITUDE = ',nlat + write(unit=16,fmt='(a,1x,f20.5)') 'BLOCK_AREA = ',lu_area + write(unit=16,fmt='(a,1x,i4.4)' ) 'FIRST_LUYEAR = ',iyeara + write(unit=16,fmt='(a,1x,i4.4)' ) 'LAST_LUYEAR = ',iyearz + write(unit=16,fmt='(a,1x,f8.3)' ) 'SKID_AREA = ',skid_rel_area + write(unit=16,fmt='(a,1x,i2)' ) 'N_PFT_HARVEST = ',nharvest if (nharvest > 0) then write(unit=16,fmt=hifmt) & - 'HARVEST.PFT = ',(harvest_pft (h),h=1,nharvest) + 'HARVEST_PFT = ',(harvest_pft (h),h=1,nharvest) + write(unit=16,fmt=hffmt) & + 'MINDBH_SLOG = ',(mindbh_slog (h),h=1,nharvest) + write(unit=16,fmt=hffmt) & + 'HARVPROB_SLOG = ',(harvprob_slog (h),h=1,nharvest) + write(unit=16,fmt=hffmt) & + 'MINDBH_FPLT = ',(mindbh_fplt (h),h=1,nharvest) + write(unit=16,fmt=hffmt) & + 'HARVPROB_FPLT = ',(harvprob_fplt (h),h=1,nharvest) + write(unit=16,fmt=hffmt) & + 'SKID_DBH_THRESH = ',(skid_dbh_thresh (h),h=1,nharvest) write(unit=16,fmt=hffmt) & - 'MINDBH.SLOG = ',(mindbh_slog (h),h=1,nharvest) + 'SKID_S_GTHARV = ',(skid_s_gtharv (h),h=1,nharvest) write(unit=16,fmt=hffmt) & - 'HARVPROB.SLOG = ',(harvprob_slog(h),h=1,nharvest) + 'SKID_S_LTHARV = ',(skid_s_ltharv (h),h=1,nharvest) write(unit=16,fmt=hffmt) & - 'MINDBH.FPLT = ',(mindbh_fplt (h),h=1,nharvest) + 'FELLING_S_LTHARV = ',(felling_s_ltharv(h),h=1,nharvest) write(unit=16,fmt=hffmt) & - 'HARVPROB.FPLT = ',(harvprob_fplt(h),h=1,nharvest) + 'FELLING_S_GTHARV = ',(felling_s_gtharv(h),h=1,nharvest) end if write(unit=16,fmt='(a,19(1x,a))') 'YEAR',' CPL_PST',' PST_CPL' & ,' PST_VEG',' VEG_PST',' VEG_CLP',' CPL_VEG' & diff --git a/ED/src/io/ed_opspec.F90 b/ED/src/io/ed_opspec.F90 index 1011fcf90..e4ca698c7 100644 --- a/ED/src/io/ed_opspec.F90 +++ b/ED/src/io/ed_opspec.F90 @@ -1263,6 +1263,7 @@ subroutine ed_opspec_misc , sl_mindbh_harvest & ! intent(in) , sl_biomass_harvest & ! intent(in) , sl_skid_rel_area & ! intent(in) + , sl_skid_dbh_thresh & ! intent(in) , sl_skid_s_gtharv & ! intent(in) , sl_skid_s_ltharv & ! intent(in) , sl_felling_s_ltharv & ! intent(in) @@ -2387,7 +2388,15 @@ subroutine ed_opspec_misc write (reason,fmt='(2a,1x,es12.5,a)') & 'Invalid SL_SKID_REL_AREA, it must be between 0. and 5.' & ,' Yours is set to',sl_skid_rel_area,'...' - call opspec_fatal(reason,'opspec_misc') + call opspec_fatal(reason,'opspec_misc') + ifaterr = ifaterr +1 + end if + + if (sl_skid_dbh_thresh < 0. .or. sl_skid_dbh_thresh > 1000.) then + write (reason,fmt='(2a,1x,es12.5,a)') & + 'Invalid SL_SKID_DBH_THRESH, it must be between 0. and 1000.' & + ,' Yours is set to',sl_skid_dbh_thresh,'...' + call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 end if @@ -2395,7 +2404,7 @@ subroutine ed_opspec_misc write (reason,fmt='(2a,1x,es12.5,a)') & 'Invalid SL_SKID_S_GTHARV, it must be between 0. and 1.' & ,' Yours is set to',sl_skid_s_gtharv,'...' - call opspec_fatal(reason,'opspec_misc') + call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 end if @@ -2403,7 +2412,7 @@ subroutine ed_opspec_misc write (reason,fmt='(2a,1x,es12.5,a)') & 'Invalid SL_SKID_S_LTHARV, it must be between 0. and 1.' & ,' Yours is set to',sl_skid_s_ltharv,'...' - call opspec_fatal(reason,'opspec_misc') + call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 end if diff --git a/ED/src/memory/disturb_coms.f90 b/ED/src/memory/disturb_coms.f90 index 942e401df..2d19bfc06 100644 --- a/ED/src/memory/disturb_coms.f90 +++ b/ED/src/memory/disturb_coms.f90 @@ -140,6 +140,7 @@ module disturb_coms ! The following variables are used when IANTH_DISTURB is 1 or 2. ! ! ! ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! @@ -158,6 +159,7 @@ module disturb_coms real(kind=4), dimension(n_pft) :: sl_mindbh_harvest real(kind=4) :: sl_biomass_harvest real(kind=4) :: sl_skid_rel_area + real(kind=4) :: sl_skid_dbh_thresh real(kind=4) :: sl_skid_s_gtharv real(kind=4) :: sl_skid_s_ltharv real(kind=4) :: sl_felling_s_ltharv diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d72654bec..30bdadc42 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -2358,7 +2358,10 @@ module ed_state_vars - !------------------------------------------------------------------------------------! + + !----------------------------------- + ! ANTHROPOGENIC DISTURBANCES (DEFORESTATION, CROPLANDS, FORESTRY) + !----------------------------------- integer ,pointer ,dimension(:) :: num_landuse_years !< The number of years of landuse data calculated at read-in of data during ! ! mindbh_harvest) in patches with tree felling. + + real , pointer, dimension(:,:) :: felling_s_ltharv + !< Survivorship of small trees (DBH < mindbh_harvest) in patches with tree felling. + + real , pointer, dimension(:,:) :: skid_dbh_thresh + !< DBH threshold for survivorship to logging collateral damage (skid trails and + !< roads). Typically skid/road damage affect small trees more than large trees. + + real , pointer, dimension(:,:) :: skid_s_gtharv + !< Survivorship of large trees (DBH > skid_dbh_thresh) to logging collateral damage. + + real , pointer, dimension(:,:) :: skid_s_ltharv + !< Survivorship of small trees (DBH < skid_dbh_thresh) to logging collateral damage. - !----------------------------------- - ! FORESTRY - !----------------------------------- integer,pointer,dimension(:) :: plantation ! MINDBH_HARVEST' & + ,'[0-1]','(n_pft,isite)') + end if + + if (associated(cpoly%felling_s_ltharv)) then + nvar=nvar+1 + call vtable_edio_r(npts,cpoly%felling_s_ltharv & + ,nvar,igr,init,cpoly%siglob_id,var_len,var_len_global,max_ptrs & + ,'FELLING_S_LTHARV :24:hist') + call metadata_edio(nvar,igr & + ,'Survivorship to felling for trees with DBH < MINDBH_HARVEST' & + ,'[0-1]','(n_pft,isite)') + end if + + if (associated(cpoly%skid_dbh_thresh)) then + nvar=nvar+1 + call vtable_edio_r(npts,cpoly%skid_dbh_thresh & + ,nvar,igr,init,cpoly%siglob_id,var_len,var_len_global,max_ptrs & + ,'SKID_DBH_THRESH :24:hist') + call metadata_edio(nvar,igr & + ,'DBH threshold for collateral logging damage survivorship' & + ,'[cm]','(n_pft,isite)') + end if + + if (associated(cpoly%skid_s_gtharv)) then + nvar=nvar+1 + call vtable_edio_r(npts,cpoly%skid_s_gtharv & + ,nvar,igr,init,cpoly%siglob_id,var_len,var_len_global,max_ptrs & + ,'SKID_S_GTHARV :24:hist') + call metadata_edio(nvar,igr & + ,'Survivorship to collateral logging damage (DBH > SKID_DBH_THRESH)' & + ,'[0-1]','(n_pft,isite)') + end if + + if (associated(cpoly%skid_s_ltharv)) then + nvar=nvar+1 + call vtable_edio_r(npts,cpoly%skid_s_ltharv & + ,nvar,igr,init,cpoly%siglob_id,var_len,var_len_global,max_ptrs & + ,'SKID_S_LTHARV :24:hist') + call metadata_edio(nvar,igr & + ,'Survivorship to collateral logging damage (DBH < SKID_DBH_THRESH)' & + ,'[0-1]','(n_pft,isite)') + end if !------------------------------------------------------------------------------------! return diff --git a/ED/src/memory/ename_coms.f90 b/ED/src/memory/ename_coms.f90 index d838efbd3..cf6cb0a45 100644 --- a/ED/src/memory/ename_coms.f90 +++ b/ED/src/memory/ename_coms.f90 @@ -224,6 +224,7 @@ module ename_coms real , dimension(n_pft) :: sl_mindbh_harvest real :: sl_biomass_harvest real :: sl_skid_rel_area + real :: sl_skid_dbh_thresh real :: sl_skid_s_gtharv real :: sl_skid_s_ltharv real :: sl_felling_s_ltharv @@ -528,6 +529,7 @@ subroutine init_ename_vars(enl) enl%sl_mindbh_harvest = (/(undef_real ,i=1,n_pft)/) enl%sl_biomass_harvest = undef_real enl%sl_skid_rel_area = undef_real + enl%sl_skid_dbh_thresh = undef_real enl%sl_skid_s_gtharv = undef_real enl%sl_skid_s_ltharv = undef_real enl%sl_felling_s_ltharv = undef_real diff --git a/ED/src/mpi/ed_mpass_init.F90 b/ED/src/mpi/ed_mpass_init.F90 index 2aebbf93b..e8ef04ee0 100644 --- a/ED/src/mpi/ed_mpass_init.F90 +++ b/ED/src/mpi/ed_mpass_init.F90 @@ -325,6 +325,7 @@ subroutine ed_masterput_nl(par_run) , sl_mindbh_harvest & ! intent(in) , sl_biomass_harvest & ! intent(in) , sl_skid_rel_area & ! intent(in) + , sl_skid_dbh_thresh & ! intent(in) , sl_skid_s_gtharv & ! intent(in) , sl_skid_s_ltharv & ! intent(in) , sl_felling_s_ltharv & ! intent(in) @@ -585,6 +586,7 @@ subroutine ed_masterput_nl(par_run) call MPI_Bcast(sl_mindbh_harvest ,n_pft,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_biomass_harvest , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_rel_area , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) + call MPI_Bcast(sl_skid_dbh_thresh , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_gtharv , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_ltharv , 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_felling_s_ltharv, 1,MPI_REAL ,mainnum,MPI_COMM_WORLD,ierr) @@ -1585,6 +1587,7 @@ subroutine ed_nodeget_nl , sl_mindbh_harvest & ! intent(out) , sl_biomass_harvest & ! intent(out) , sl_skid_rel_area & ! intent(out) + , sl_skid_dbh_thresh & ! intent(out) , sl_skid_s_gtharv & ! intent(out) , sl_skid_s_ltharv & ! intent(out) , sl_felling_s_ltharv & ! intent(out) @@ -1848,6 +1851,7 @@ subroutine ed_nodeget_nl call MPI_Bcast(sl_mindbh_harvest ,n_pft,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_biomass_harvest , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_rel_area , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) + call MPI_Bcast(sl_skid_dbh_thresh , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_gtharv , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_skid_s_ltharv , 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) call MPI_Bcast(sl_felling_s_ltharv, 1,MPI_REAL ,master_num,MPI_COMM_WORLD,ierr) diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..d3be988ac 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From 9cb8100f207f450c05ef6a038801a458fe0adf38 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 11:45:12 -0700 Subject: [PATCH 16/62] Minor bug fix, the initialisation of one variable was missing in landuse_init.f90. --- ED/src/init/landuse_init.f90 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ED/src/init/landuse_init.f90 b/ED/src/init/landuse_init.f90 index 0a8b4b003..3bc338b22 100644 --- a/ED/src/init/landuse_init.f90 +++ b/ED/src/init/landuse_init.f90 @@ -860,6 +860,11 @@ subroutine read_landuse_matrix !------------------------------------------------------------------------! + !----- Define the degree of damage relative to felling. -----------------! + cpoly%skid_rel_area(isi) = cpoly%skid_rel_area(1) + !------------------------------------------------------------------------! + + !----- PFT-dependent harvest characteristics. ---------------------------! cpoly%mindbh_harvest (:,isi) = cpoly%mindbh_harvest (:,1) cpoly%prob_harvest (:,isi) = cpoly%prob_harvest (:,1) From b2162b6e457b4f6618476d1c39689e373e752d63 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 14:42:23 -0700 Subject: [PATCH 17/62] Fix ed_opspec.F90 so the model accepts IALLOM = 5. --- ED/src/io/ed_opspec.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ED/src/io/ed_opspec.F90 b/ED/src/io/ed_opspec.F90 index 1011fcf90..1bc47e331 100644 --- a/ED/src/io/ed_opspec.F90 +++ b/ED/src/io/ed_opspec.F90 @@ -1841,9 +1841,9 @@ subroutine ed_opspec_misc ifaterr = ifaterr +1 end if - if (iallom < 0 .or. iallom > 4) then + if (iallom < 0 .or. iallom > 5) then write (reason,fmt='(a,1x,i4,a)') & - 'Invalid IALLOM, it must be between 0 and 4. Yours is set to' & + 'Invalid IALLOM, it must be between 0 and 5. Yours is set to' & ,iallom,'...' call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 From 27bcf5da388dce22cfaa52865d03483806b9b62b Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 16:14:54 -0700 Subject: [PATCH 18/62] A few bug fixes in the phenology changes, specifically adding variables to the xml initialisation and updating the tests in ed_opspec.F90 to account for the new options. --- ED/src/dynamics/phenology_driv.f90 | 50 +++++++++++++++--------------- ED/src/io/ed_init_history.f90 | 2 +- ED/src/io/ed_opspec.F90 | 6 ++-- ED/src/io/ed_xml_config.f90 | 9 ++++++ diff_version.sh | 4 +-- 5 files changed, 40 insertions(+), 31 deletions(-) diff --git a/ED/src/dynamics/phenology_driv.f90 b/ED/src/dynamics/phenology_driv.f90 index 2501f3b42..a5bfbf3f1 100644 --- a/ED/src/dynamics/phenology_driv.f90 +++ b/ED/src/dynamics/phenology_driv.f90 @@ -48,26 +48,6 @@ subroutine phenology_driver(cgrid, doy, month, tfact,veget_dyn_on) end do select case (iphen_scheme) - case (-1,0,2) - !---------------------------------------------------------------------------! - ! Default predictive scheme (B00) or the modified drought deciduous ! - ! phenology for broadleaf PFTs (L19). ! - ! ! - ! Botta A, Viovy N, Ciais P, Friedlingstein P , Monfray P. 2000. A global ! - ! prognostic scheme of leaf onset using satellite data. Glob. Change ! - ! Biol., 6: 709-725. doi:10.1046/j.1365-2486.2000.00362.x (2000). ! - ! ! - ! Longo M, Knox RG, Medvigy DM, Levine NM, Dietze MC, Kim Y, Swann ALS, ! - ! Zhang K, Rollinson CR, Bras RL et al. 2019. The biophysics, ecology, ! - ! and biogeochemistry of functionally diverse, vertically and ! - ! horizontally heterogeneous ecosystems: the Ecosystem Demography model, ! - ! version 2.2 -- part 1: Model description. Geosci. Model Dev., 12: ! - ! 4309-4346. doi:10.5194/gmd-12-4309-2019 (L19). - !---------------------------------------------------------------------------! - call update_thermal_sums(month, cpoly, isi, cgrid%lat(ipy)) - call update_phenology(doy,cpoly,isi,cgrid%lat(ipy),veget_dyn_on) - !---------------------------------------------------------------------------! - case (1) !---------------------------------------------------------------------------! ! Use prescribed phenology (M09). ! @@ -85,14 +65,27 @@ subroutine phenology_driver(cgrid, doy, month, tfact,veget_dyn_on) call update_phenology(doy,cpoly,isi,cgrid%lat(ipy),veget_dyn_on) !---------------------------------------------------------------------------! - case (3,4) + case default !---------------------------------------------------------------------------! - ! Light-controlled predictive phenology scheme (K12). ! + ! Default predictive scheme (B00), the modified drought deciduous ! + ! phenology for broadleaf PFTs (L19), or the light-controlled predictive ! + ! phenology scheme (K12). ! + ! ! + ! Botta A, Viovy N, Ciais P, Friedlingstein P , Monfray P. 2000. A global ! + ! prognostic scheme of leaf onset using satellite data. Glob. Change ! + ! Biol., 6: 709-725. doi:10.1046/j.1365-2486.2000.00362.x (2000). ! ! ! ! Kim Y, Knox RG, Longo M, Medvigy D, Hutyra LR, Pyle EH, Wofsy SC, ! ! Bras RL, Moorcroft PR. 2012. Seasonal carbon dynamics and water fluxes ! ! in an Amazon rainforest. Glob. Change Biol., 18: 1322-1334. ! ! doi:10.1111/j.1365-2486.2011.02629.x (K12). ! + ! ! + ! Longo M, Knox RG, Medvigy DM, Levine NM, Dietze MC, Kim Y, Swann ALS, ! + ! Zhang K, Rollinson CR, Bras RL et al. 2019. The biophysics, ecology, ! + ! and biogeochemistry of functionally diverse, vertically and ! + ! horizontally heterogeneous ecosystems: the Ecosystem Demography model, ! + ! version 2.2 -- part 1: Model description. Geosci. Model Dev., 12: ! + ! 4309-4346. doi:10.5194/gmd-12-4309-2019 (L19). !---------------------------------------------------------------------------! call update_thermal_sums(month, cpoly, isi, cgrid%lat(ipy)) call update_turnover(cpoly,isi) @@ -300,7 +293,7 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) !------------------------------------------------------------------------------! ! Here we decide what to do depending on the phenology habit. There are ! - ! five different types: ! + ! different types: ! ! 0. Evergreen - neither cold nor drought makes these plants to drop ! ! their leaves; ! ! 1. Drought deciduous - these plants will drop all leaves when drought ! @@ -314,6 +307,13 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) ! 4. Drought deciduous - similar to one, but the threshold is compared against ! ! a 10-day running average rather than the instant- ! ! aneous value. ! + ! 5. Hydro-deciduous - similar to four, but the thresholds are based on ! + ! leaf water potential instead (and thus it requires ! + ! plant hydrodynamics). ! + ! 6. Light phenology ! + ! + Hydro-deciduous - similar to three, but the thresholds are based on ! + ! leaf water potential instead (and thus it requires ! + ! plant hydrodynamics). ! !------------------------------------------------------------------------------! select case (phenology(ipft)) case (0) @@ -958,8 +958,8 @@ subroutine update_phenology(doy, cpoly, isi, lat,veget_dyn_on) !---------------------------------------------------------------------------! - ! Adjust root biomass in case phenology is 5 (drought-deciduous driven ! - ! by hydrodynamics). ! + ! Adjust root biomass in case phenology is 5 or 6 (drought-deciduous ! + ! driven by hydrodynamics). ! !---------------------------------------------------------------------------! select case (phenology(ipft)) case (5,6) diff --git a/ED/src/io/ed_init_history.f90 b/ED/src/io/ed_init_history.f90 index f4d91cc49..b36fa907a 100644 --- a/ED/src/io/ed_init_history.f90 +++ b/ED/src/io/ed_init_history.f90 @@ -430,7 +430,7 @@ subroutine resume_from_history() !----- Load phenology in case it is prescribed (or set them with defaults). ---------! - write(unit=*,fmt='(a,i2.2)') ' Checking prescribed phenology. Node: ',mynum + write(unit=*,fmt='(a,i2.2)') ' Loading prescribed phenology. Node: ',mynum call phenology_init() return diff --git a/ED/src/io/ed_opspec.F90 b/ED/src/io/ed_opspec.F90 index 1011fcf90..8a6badd37 100644 --- a/ED/src/io/ed_opspec.F90 +++ b/ED/src/io/ed_opspec.F90 @@ -1872,9 +1872,9 @@ subroutine ed_opspec_misc end if - if (iphen_scheme < -1 .or. iphen_scheme > 4) then + if (iphen_scheme < -1 .or. iphen_scheme > 5) then write (reason,fmt='(a,1x,i4,a)') & - 'Invalid IPHEN_SCHEME, it must be between -1 and 4. Yours is set to' & + 'Invalid IPHEN_SCHEME, it must be between -1 and 5. Yours is set to' & ,iphen_scheme,'...' call opspec_fatal(reason,'opspec_misc') ifaterr = ifaterr +1 @@ -1893,7 +1893,7 @@ subroutine ed_opspec_misc ! model may be linear or log-linear. Don't bother checking if IPHEN_SCHEME is not 3. ! !---------------------------------------------------------------------------------------! select case (iphen_scheme) - case (3) + case (3,5) !----- Light-driven phenology is enabled. Check settings. --------------------------! select case (economics_scheme) case (1) diff --git a/ED/src/io/ed_xml_config.f90 b/ED/src/io/ed_xml_config.f90 index 22e741ecd..6ac5a3cbd 100644 --- a/ED/src/io/ed_xml_config.f90 +++ b/ED/src/io/ed_xml_config.f90 @@ -1472,6 +1472,12 @@ recursive subroutine read_ed_xml_config(filename) if(texist) retained_carbon_fraction = sngloff(rval,tiny_offset) call getConfigREAL ('root_phen_factor','phenology',i,rval,texist) if(texist) root_phen_factor = sngloff(rval,tiny_offset) + call getConfigREAL ('f_psi_xdry','phenology',i,rval,texist) + if(texist) f_psi_xdry = sngloff(rval,tiny_offset) + call getConfigREAL ('elongf_min','phenology',i,rval,texist) + if(texist) elongf_min = sngloff(rval,tiny_offset) + call getConfigREAL ('elongf_flush','phenology',i,rval,texist) + if(texist) elongf_flush = sngloff(rval,tiny_offset) call getConfigREAL ('theta_crit','phenology',i,rval,texist) if(texist) thetacrit= sngloff(rval,tiny_offset) call getConfigREAL ('dl_tr','phenology',i,rval,texist) @@ -2431,6 +2437,9 @@ subroutine write_ed_xml_config call libxml2f90_ll_opentag("phenology") call putConfigREAL("retained_carbon_fraction",retained_carbon_fraction) call putConfigREAL("root_phen_factor" ,root_phen_factor ) + call putConfigREAL("f_psi_xdry" ,f_psi_xdry ) + call putConfigREAL("elongf_min" ,elongf_min ) + call putConfigREAL("elongf_flush" ,elongf_flush ) call putConfigREAL("theta_crit" ,thetacrit ) call putConfigREAL("dl_tr" ,dl_tr ) call putConfigREAL("st_tr1" ,st_tr1 ) diff --git a/diff_version.sh b/diff_version.sh index d3be988ac..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -38,8 +38,8 @@ work="${HOME}/Models/EDBRAMS" # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# From b2947bc31032db6e8fc8a20a0bb1b3e372ab9263 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 16:21:14 -0700 Subject: [PATCH 19/62] Added the new logging variable to the default ED2IN (and RAMSIN) files! --- BRAMS/Template/RAMSIN | 2 ++ BRAMS/run/RAMSIN | 2 ++ ED/Template/Template/ED2IN | 2 ++ ED/run/ED2IN | 3 ++- diff_version.sh | 4 ++-- 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/BRAMS/Template/RAMSIN b/BRAMS/Template/RAMSIN index 0e9b47465..c81bf7c15 100644 --- a/BRAMS/Template/RAMSIN +++ b/BRAMS/Template/RAMSIN @@ -3000,6 +3000,7 @@ $ED2_INFO ! The following variables are used when IANTH_DISTURB is 1 or 2. ! ! ! ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! @@ -3019,6 +3020,7 @@ $ED2_INFO SL_MINDBH_HARVEST = 35.0,35.0,35.0, SL_BIOMASS_HARVEST = 0., SL_SKID_REL_AREA = 0.6, + SL_SKID_DBH_THRESH = 30., SL_SKID_S_GTHARV = 1.00, SL_SKID_S_LTHARV = 0.60, SL_FELLING_S_LTHARV = 0.35, diff --git a/BRAMS/run/RAMSIN b/BRAMS/run/RAMSIN index dd87f6b44..84c34fc38 100644 --- a/BRAMS/run/RAMSIN +++ b/BRAMS/run/RAMSIN @@ -3018,6 +3018,7 @@ $ED2_INFO ! The following variables are used when IANTH_DISTURB is 1 or 2. ! ! ! ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! @@ -3037,6 +3038,7 @@ $ED2_INFO SL_MINDBH_HARVEST = 35.0,35.0,35.0, SL_BIOMASS_HARVEST = 0., SL_SKID_REL_AREA = 0.6, + SL_SKID_DBH_THRESH = 30., SL_SKID_S_GTHARV = 1.00, SL_SKID_S_LTHARV = 0.60, SL_FELLING_S_LTHARV = 0.35, diff --git a/ED/Template/Template/ED2IN b/ED/Template/Template/ED2IN index 63504ddd5..19c713fd7 100644 --- a/ED/Template/Template/ED2IN +++ b/ED/Template/Template/ED2IN @@ -1550,6 +1550,7 @@ $ED_NL ! The following variables are used when IANTH_DISTURB is 1 or 2. ! ! ! ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! @@ -1569,6 +1570,7 @@ $ED_NL NL%SL_MINDBH_HARVEST = mydbhharv NL%SL_BIOMASS_HARVEST = mybioharv NL%SL_SKID_REL_AREA = myskidarea + NL%SL_SKID_DBH_THRESH = myskiddbhthresh NL%SL_SKID_S_GTHARV = myskidlarge NL%SL_SKID_S_LTHARV = myskidsmall NL%SL_FELLING_S_LTHARV = myfellingsmall diff --git a/ED/run/ED2IN b/ED/run/ED2IN index 11f752ea3..c7ff37948 100644 --- a/ED/run/ED2IN +++ b/ED/run/ED2IN @@ -1577,6 +1577,7 @@ $ED_NL ! The following variables are used when IANTH_DISTURB is 1 or 2. ! ! ! ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! @@ -1589,7 +1590,6 @@ $ED_NL !---------------------------------------------------------------------------------------! NL%IANTH_DISTURB = 0 NL%SL_SCALE = 1 - NL%SL_SCALE = 0 NL%SL_YR_FIRST = 1992 NL%SL_NYRS = 50 NL%SL_PFT = 2,3,4 @@ -1597,6 +1597,7 @@ $ED_NL NL%SL_MINDBH_HARVEST = 50.,50.,50. NL%SL_BIOMASS_HARVEST = 0 NL%SL_SKID_REL_AREA = 1 + NL%SL_SKID_DBH_THRESH = 30. NL%SL_SKID_S_GTHARV = 1 NL%SL_SKID_S_LTHARV = 0.6 NL%SL_FELLING_S_LTHARV = 0.35 diff --git a/diff_version.sh b/diff_version.sh index d3be988ac..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -38,8 +38,8 @@ work="${HOME}/Models/EDBRAMS" # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# From 291b2467a5a0df1c735641d8ccb916c7862dad8c Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 16:55:18 -0700 Subject: [PATCH 20/62] Updated descriptions of the new IALLOM approaches in namelists and in ed_misc_coms.f90. --- BRAMS/Template/RAMSIN | 20 +++++++++------ BRAMS/run/RAMSIN | 20 +++++++++------ ED/Template/Template/ED2IN | 20 +++++++++------ ED/run/ED2IN | 23 ++++++++--------- ED/src/memory/ed_misc_coms.f90 | 45 +++++++++++++++++++++++++--------- 5 files changed, 85 insertions(+), 43 deletions(-) diff --git a/BRAMS/Template/RAMSIN b/BRAMS/Template/RAMSIN index 0e9b47465..dec8caac9 100644 --- a/BRAMS/Template/RAMSIN +++ b/BRAMS/Template/RAMSIN @@ -2347,13 +2347,19 @@ $ED2_INFO ! a few genera in Costa Rica. References: ! ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! ! (2008, Tree Physiol.). ! - ! 3. (Beta) Updated allometric for tropical PFTs based on data from ! - ! Sustainable Landscapes Brazil (Height and crown area), Chave et al. ! - ! (2014, Glob. Change Biol.) (biomass) and the BAAD data base, Falster et ! - ! al. (2015, Ecology) (leaf area). Both leaf and structural biomass take ! - ! DBH and Height as dependent variables, and DBH-Height takes a simpler ! - ! log-linear form fitted using SMA so it can be inverted (useful for ! - ! airborne lidar initialisation). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! + ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! IALLOM = 3, !---------------------------------------------------------------------------------------! diff --git a/BRAMS/run/RAMSIN b/BRAMS/run/RAMSIN index dd87f6b44..a8ce22db7 100644 --- a/BRAMS/run/RAMSIN +++ b/BRAMS/run/RAMSIN @@ -2365,13 +2365,19 @@ $ED2_INFO ! a few genera in Costa Rica. References: ! ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! ! (2008, Tree Physiol.). ! - ! 3. (Beta) Updated allometric for tropical PFTs based on data from ! - ! Sustainable Landscapes Brazil (Height and crown area), Chave et al. ! - ! (2014, Glob. Change Biol.) (biomass) and the BAAD data base, Falster et ! - ! al. (2015, Ecology) (leaf area). Both leaf and structural biomass take ! - ! DBH and Height as dependent variables, and DBH-Height takes a simpler ! - ! log-linear form fitted using SMA so it can be inverted (useful for ! - ! airborne lidar initialisation). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! + ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! IALLOM = 3, !---------------------------------------------------------------------------------------! diff --git a/ED/Template/Template/ED2IN b/ED/Template/Template/ED2IN index 63504ddd5..2bc06efda 100644 --- a/ED/Template/Template/ED2IN +++ b/ED/Template/Template/ED2IN @@ -882,13 +882,19 @@ $ED_NL ! a few genera in Costa Rica. References: ! ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! ! (2008, Tree Physiol.). ! - ! 3. (Beta) Updated allometric for tropical PFTs based on data from ! - ! Sustainable Landscapes Brazil (Height and crown area), Chave et al. ! - ! (2014, Glob. Change Biol.) (biomass) and the BAAD data base, Falster et ! - ! al. (2015, Ecology) (leaf area). Both leaf and structural biomass take ! - ! DBH and Height as dependent variables, and DBH-Height takes a simpler ! - ! log-linear form fitted using SMA so it can be inverted (useful for ! - ! airborne lidar initialisation). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! + ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! NL%IALLOM = myallom !---------------------------------------------------------------------------------------! diff --git a/ED/run/ED2IN b/ED/run/ED2IN index 11f752ea3..b057ba5f3 100644 --- a/ED/run/ED2IN +++ b/ED/run/ED2IN @@ -895,18 +895,19 @@ $ED_NL ! a few genera in Costa Rica. References: ! ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! ! (2008, Tree Physiol.). ! - ! 3. (Beta) Updated allometric for tropical PFTs based on data from ! - ! Sustainable Landscapes Brazil (Height and crown area), Chave et al. ! - ! (2014, Glob. Change Biol.) (biomass) and the BAAD data base, Falster et ! - ! al. (2015, Ecology) (leaf area). Both leaf and structural biomass take ! - ! DBH and Height as dependent variables, and DBH-Height takes a simpler ! - ! log-linear form fitted using SMA so it can be inverted (useful for ! - ! airborne lidar initialisation). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! - ! equations depend on wood density; (b) use leaf area based allometry ! - ! instead of leaf biomass based allometry, which is more compatible with ! - ! trait plasticity in SLA; (c) use height-based root allometry from ! - ! Smith-Martin et al. (2020, New Phyt.) ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! NL%IALLOM = 3 !---------------------------------------------------------------------------------------! diff --git a/ED/src/memory/ed_misc_coms.f90 b/ED/src/memory/ed_misc_coms.f90 index 79968322d..542fc0227 100644 --- a/ED/src/memory/ed_misc_coms.f90 +++ b/ED/src/memory/ed_misc_coms.f90 @@ -260,17 +260,40 @@ module ed_misc_coms !----- Namelist option for allometry scheme. -------------------------------------------! - integer :: iallom ! 0 -- Original ED-2.1 allometry - ! 1 -- DBH -> AGB Tree allometry based on Baker et al. (2004) - ! keep original ED-2.1 Bl/Bd ratio - ! 2 -- DBH -> AGB Tree allometry based on Baker et al. (2004) - ! keep original ED-2.1 Bl - ! 3 -- Updated allometric and trait-based parameters for tropical - ! PFTs. When available, parameters came from regional data - ! sets and regional studies, or from local studies when regional - ! ones were not found. Check ed_params.f90 for details and - ! references. - !---------------------------------------------------------------------------------------! + integer :: iallom ! 0 -- (Legacy) Original ED-1.0, included for back compatibility. + ! 1 -- (Legacy) ED-2.1 allometry, included for back compatibility. + ! a. The coefficients for structural biomass are set so the + ! total AGB is similar to Baker et al. (2004, Glob. Change + ! Biol.), equation 2. + ! b. Experimental root depth that makes canopy trees to have + ! root depths of 5m and grasses/seedlings at 0.5 to have root + ! depth of 0.5 m. + ! c. Crown area defined as in Poorter et al. (2006, Ecology), + ! imposing maximum crown area. + ! 2 -- (ED-2.2 default) Similar to 1, but with a few extra changes. + ! a. Height -> DBH allometry as in Poorter et al. (2006) + ! b. Balive is retuned, using a few leaf biomass allometric + ! equations for a few genera in Costa Rica. References: + ! Cole and Ewel (2006, Forest Ecol. Manag.), and + ! Calvo-Alvarado et al. (2008, Tree Physiol.). + ! 3 -- (Beta) Revised tropical PFT allometric (Longo et al. 2020, + ! J. Geophys. Res.-Biogeosci.). + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the + ! Sustainable Landscapes Dataset (Longo et al. 2016, Glob. + ! Biogeochem. Cycles). DBH-Height takes a simpler log-linear + ! form fitted using SMA so it can be inverted (useful for + ! airborne lidar initialisation). + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change + ! Biol.) + ! c. DBH^2*H -> Leaf area based on the BAAD data base: + ! Falster et al. (2015, Ecology). + ! 4 -- (Under Development) Similar to 3 but (a) leaf and height + ! allometric equations depend on wood density; (b) use + ! height-based root allometry from Smith-Martin et al. (2020, + ! New Phyt.). + ! 5 -- (Under Development) Similar to IALLOM = 3 but using the + ! rooting allometry from IALLOM = 4. + !---------------------------------------------------------------------------------------! From 2e42d08f8bff1be7bb99a0f891d7deae2114189f Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 6 Jun 2023 17:01:13 -0700 Subject: [PATCH 21/62] Updated namelist and module documentation on phenology scheme options. --- BRAMS/Template/RAMSIN | 15 +++++++ BRAMS/run/RAMSIN | 15 +++++++ ED/Template/Template/ED2IN | 15 +++++++ ED/run/ED2IN | 7 ++++ ED/src/memory/phenology_coms.f90 | 69 +++++++++++++++++++------------- 5 files changed, 94 insertions(+), 27 deletions(-) diff --git a/BRAMS/Template/RAMSIN b/BRAMS/Template/RAMSIN index 0e9b47465..2e0bc2064 100644 --- a/BRAMS/Template/RAMSIN +++ b/BRAMS/Template/RAMSIN @@ -2425,10 +2425,25 @@ $ED2_INFO ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 4: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! ! New scheme: plants shed their leaves once a 10-day running average of available ! ! water becomes less than a critical value. ! + ! Hydraulics scheme: plants shed their leaves once predawn leaf water potential is ! + ! lower than tugor loss point for 10 consecutive days ! !---------------------------------------------------------------------------------------! IPHEN_SCHEME = 2, !---------------------------------------------------------------------------------------! diff --git a/BRAMS/run/RAMSIN b/BRAMS/run/RAMSIN index dd87f6b44..5a3545fb4 100644 --- a/BRAMS/run/RAMSIN +++ b/BRAMS/run/RAMSIN @@ -2443,10 +2443,25 @@ $ED2_INFO ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 4: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! ! New scheme: plants shed their leaves once a 10-day running average of available ! ! water becomes less than a critical value. ! + ! Hydraulics scheme: plants shed their leaves once predawn leaf water potential is ! + ! lower than tugor loss point for 10 consecutive days ! !---------------------------------------------------------------------------------------! IPHEN_SCHEME = 2, !---------------------------------------------------------------------------------------! diff --git a/ED/Template/Template/ED2IN b/ED/Template/Template/ED2IN index 63504ddd5..af061c062 100644 --- a/ED/Template/Template/ED2IN +++ b/ED/Template/Template/ED2IN @@ -959,10 +959,25 @@ $ED_NL ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 4: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! ! New scheme: plants shed their leaves once a 10-day running average of available ! ! water becomes less than a critical value. ! + ! Hydraulics scheme: plants shed their leaves once predawn leaf water potential is ! + ! lower than tugor loss point for 10 consecutive days ! !---------------------------------------------------------------------------------------! NL%IPHEN_SCHEME = myiphen !---------------------------------------------------------------------------------------! diff --git a/ED/run/ED2IN b/ED/run/ED2IN index 11f752ea3..eb343a4de 100644 --- a/ED/run/ED2IN +++ b/ED/run/ED2IN @@ -976,12 +976,19 @@ $ED_NL ! tropical - drought-deciduous (light phenology); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! + ! ! ! 4: (Beta). ! ! grasses - drought-deciduous (hydraulics scheme); ! ! tropical - drought-deciduous (hydraulics scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! diff --git a/ED/src/memory/phenology_coms.f90 b/ED/src/memory/phenology_coms.f90 index 296412465..64f1816e7 100644 --- a/ED/src/memory/phenology_coms.f90 +++ b/ED/src/memory/phenology_coms.f90 @@ -22,40 +22,55 @@ module phenology_coms integer :: iphen_scheme !---------------------------------------------------------------------------------------! - !< IPHEN_SCHEME -- It controls the phenology scheme. Even within each scheme, the \n - !< actual phenology will be different depending on the PFT. \n + ! Date: Sun, 11 Jun 2023 12:22:51 -0700 Subject: [PATCH 22/62] Included missing variable declaration in edcp_driver.F90 and replaced huge(1.) statement with huge_num to avoid floating point exception errors. --- BRAMS/src/ed2/edcp_driver.F90 | 3 ++- ED/src/init/ed_type_init.f90 | 3 ++- diff_version.sh | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/BRAMS/src/ed2/edcp_driver.F90 b/BRAMS/src/ed2/edcp_driver.F90 index ffa40b50d..08c0da483 100644 --- a/BRAMS/src/ed2/edcp_driver.F90 +++ b/BRAMS/src/ed2/edcp_driver.F90 @@ -63,7 +63,8 @@ subroutine ed_coup_driver() integer :: jd2 integer :: ierr integer :: igr - integer :: ping + integer :: ping + logical :: new_day real :: wtime1 real :: wtime2 real :: wtime_start ! wall time diff --git a/ED/src/init/ed_type_init.f90 b/ED/src/init/ed_type_init.f90 index 51a7b1187..ad93868f8 100644 --- a/ED/src/init/ed_type_init.f90 +++ b/ED/src/init/ed_type_init.f90 @@ -1526,6 +1526,7 @@ subroutine init_ed_site_vars(cpoly) , writing_eorq & ! intent(in) , writing_dcyc & ! intent(in) , economics_scheme ! ! intent(in) + use consts_coms , only : huge_num ! ! intent(in) implicit none !----- Arguments. -------------------------------------------------------------------! type(polygontype), target :: cpoly @@ -1678,7 +1679,7 @@ subroutine init_ed_site_vars(cpoly) ! Initialise the minimum monthly temperature with a very large value, this is ! ! going to be reduced as the canopy temperature is updated. ! !------------------------------------------------------------------------------------! - cpoly%min_monthly_temp(:) = huge(1.) + cpoly%min_monthly_temp(:) = huge_num !------------------------------------------------------------------------------------! diff --git a/diff_version.sh b/diff_version.sh index d3be988ac..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -38,8 +38,8 @@ work="${HOME}/Models/EDBRAMS" # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# From 73181bee286ee41e8b9bb2190260ed6f4015291a Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 12:33:18 -0700 Subject: [PATCH 23/62] Added call to update rooting distribution after cohort merging. --- ED/src/utils/fuse_fiss_utils.f90 | 9 ++++++++- diff_version.sh | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ED/src/utils/fuse_fiss_utils.f90 b/ED/src/utils/fuse_fiss_utils.f90 index 213f00572..0ce34479f 100644 --- a/ED/src/utils/fuse_fiss_utils.f90 +++ b/ED/src/utils/fuse_fiss_utils.f90 @@ -1995,7 +1995,8 @@ subroutine fuse_2_cohorts(cpatch,donc,recc,can_prss,can_shv,lsl,fuse_initial) , bl2h & ! function , dbh2h & ! function , size2xb & ! function - , ed_balive ! ! function + , ed_balive & ! function + , distrib_root ! ! subroutine use ed_max_dims , only : n_mort ! ! intent(in) use ed_misc_coms , only : writing_long & ! intent(in) , writing_eorq & ! intent(in) @@ -2198,6 +2199,12 @@ subroutine fuse_2_cohorts(cpatch,donc,recc,can_prss,can_shv,lsl,fuse_initial) + !----- Update the vertical distribution of roots. -----------------------------------! + call distrib_root(cpatch%krdepth(recc),cpatch%pft(recc),cpatch%root_frac(:,recc)) + !------------------------------------------------------------------------------------! + + + !----- Maintenance costs. -----------------------------------------------------------! cpatch%leaf_maintenance (recc) = cpatch%leaf_maintenance (recc) * rnplant & diff --git a/diff_version.sh b/diff_version.sh index d3be988ac..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -38,8 +38,8 @@ work="${HOME}/Models/EDBRAMS" # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# From 39c77b85b4ec38713dbfb9babc9e436eac3a134b Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 12:47:16 -0700 Subject: [PATCH 24/62] New version of diff_version.sh to compare merge progress. --- diff_version.sh | 223 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 167 insertions(+), 56 deletions(-) diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -36,8 +38,8 @@ ournew=true # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From 0506c559dba0b6b25fdd061d397a10270381e0aa Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 12:48:08 -0700 Subject: [PATCH 25/62] New version of diff_version.sh to compare merge progress. --- diff_version.sh | 219 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 165 insertions(+), 54 deletions(-) diff --git a/diff_version.sh b/diff_version.sh index 8dcbc32c1..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/Models/EDBRAMS" +ours="${HOME}/Downloads/MLN-EDBRAMS" theirs="${HOME}/Downloads/MLO-EDBRAMS" ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -36,8 +38,8 @@ ournew=false # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From b3b3480d9bbfb82f89c74c8a72d0825403701a10 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 12:48:59 -0700 Subject: [PATCH 26/62] New version of diff_version.sh to compare merge progress. --- diff_version.sh | 223 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 167 insertions(+), 56 deletions(-) diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -36,8 +38,8 @@ ournew=true # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From ba7de5eb1870f598af1cff1c825ac84557fd8655 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 13:07:24 -0700 Subject: [PATCH 27/62] Turned ping into a vector of dimension 1 in ed_state_vars.F90, so the CI compiles correctly (the compiler doesn't like that the same MPI function is used for scalars and vectors). --- ED/src/memory/ed_state_vars.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index 056347b6c..1bb968a69 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -12833,7 +12833,7 @@ subroutine filltab_alltypes !----- Local variables (MPI variables). ---------------------------------------------! #if defined(RAMS_MPI) integer :: ierr - integer :: ping + integer , dimension(1) :: ping integer :: uniqueid integer , dimension(MPI_STATUS_SIZE) :: status #endif From f1332c99ac1c9d9a9ade947c143b15802864a4ab Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 13:12:48 -0700 Subject: [PATCH 28/62] Turn ping into a 2D array to see if the MPI interface errors are fixed. --- ED/build/make/include.mk.macosx | 11 +++++------ ED/src/memory/ed_state_vars.F90 | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index afbfd7cc3..5b84b9f33 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=${HOME}/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=${HOME}/Util/ED2_Libs/hdf5-1.12.1 +ZLIB_PATH=/usr/local +HDF5_PATH=/usr/local HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,9 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran-12 -C_COMP=gcc-12 -LOADER=gfortran-12 -C_LOADER=gcc-12 +F_COMP=/usr/local/bin/gfortran-12 +C_COMP=/usr/local/bin/gcc-12 +LOADER=/usr/local/bin/gfortran-12 LIBS= MOD_EXT=mod ############################################################################################ diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index 1bb968a69..d42925302 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -12833,7 +12833,7 @@ subroutine filltab_alltypes !----- Local variables (MPI variables). ---------------------------------------------! #if defined(RAMS_MPI) integer :: ierr - integer , dimension(1) :: ping + integer , dimension(1,1) :: ping integer :: uniqueid integer , dimension(MPI_STATUS_SIZE) :: status #endif From a45bb91a34f558045bb22b4a0eb564d916637b56 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 13:22:55 -0700 Subject: [PATCH 29/62] Reverting to scalar. We will need a different approach to ensure the compilation works. --- ED/src/memory/ed_state_vars.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d42925302..056347b6c 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -12833,7 +12833,7 @@ subroutine filltab_alltypes !----- Local variables (MPI variables). ---------------------------------------------! #if defined(RAMS_MPI) integer :: ierr - integer , dimension(1,1) :: ping + integer :: ping integer :: uniqueid integer , dimension(MPI_STATUS_SIZE) :: status #endif From 16a65fad95de7441b1d4e2184faa9aff05dbda0e Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 15:31:48 -0700 Subject: [PATCH 30/62] Replaced include mpif.h statements with use mpi, to see if it fixes the interface problems. --- ED/build/make/include.mk.macosx | 28 ++-- ED/build/shell/generate_deps.sh | 1 + ED/src/driver/ed_1st.F90 | 11 +- ED/src/driver/ed_driver.F90 | 5 +- ED/src/driver/ed_model.F90 | 5 +- ED/src/driver/edmain.F90 | 7 +- ED/src/dynamics/farq_katul.f90 | 12 -- ED/src/init/ed_init.F90 | 4 +- ED/src/init/ed_init_atm.F90 | 5 +- ED/src/io/ed_print.F90 | 5 +- ED/src/io/h5_output.F90 | 5 +- ED/src/memory/ed_state_vars.F90 | 5 +- ED/src/utils/fatal_error.F90 | 6 +- diff_version.sh | 223 ++++++++++++++++++++++++-------- 14 files changed, 200 insertions(+), 122 deletions(-) diff --git a/ED/build/make/include.mk.macosx b/ED/build/make/include.mk.macosx index 69ed3365c..5b84b9f33 100644 --- a/ED/build/make/include.mk.macosx +++ b/ED/build/make/include.mk.macosx @@ -5,7 +5,7 @@ #----- Define make (gnu make works best). -------------------------------------------------# -MAKE=/usr/bin/make +MAKE=/usr/local/bin/make #------------------------------------------------------------------------------------------# #----- Libraries. -------------------------------------------------------------------------# @@ -20,8 +20,8 @@ BASE=$(ED_ROOT)/build/ # libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # # be able to compile without HDF5 but it will not run. # #------------------------------------------------------------------------------------------# -ZLIB_PATH=/Users/mlongo/Util/ED2_Libs/zlib-1.2.11 -HDF5_PATH=/Users/mlongo/Util/ED2_Libs/hdf5-1.10.2 +ZLIB_PATH=/usr/local +HDF5_PATH=/usr/local HDF5_INCS=-I$(HDF5_PATH)/include HDF5C_INCS=$(HDF5_INCS) HDF5_LIBS=-L$(ZLIB_PATH)/lib -lz -L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5 -lhdf5_hl @@ -51,10 +51,9 @@ USE_INTERF=1 #################################### COMPILER SETTINGS ##################################### CMACH=MAC_OS_X FC_TYPE=GNU -F_COMP=gfortran -C_COMP=gcc -LOADER=gfortran -C_LOADER=gcc +F_COMP=/usr/local/bin/gfortran-12 +C_COMP=/usr/local/bin/gcc-12 +LOADER=/usr/local/bin/gfortran-12 LIBS= MOD_EXT=mod ############################################################################################ @@ -88,20 +87,17 @@ endif ifeq ($(KIND_COMP),A) F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror -mmacosx-version-min=10.12 \ - -fopenmp -static - C_OPTS= -O0 -DLITTLE -g -static + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ - -fcheck=all -frecursive -fsignaling-nans -Werror \ - -mmacosx-version-min=10.12 -fopenmp + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp \ - -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -mmacosx-version-min=10.12 -fopenmp + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# diff --git a/ED/build/shell/generate_deps.sh b/ED/build/shell/generate_deps.sh index 13e2ef399..e482c5cff 100755 --- a/ED/build/shell/generate_deps.sh +++ b/ED/build/shell/generate_deps.sh @@ -4,6 +4,7 @@ includes="-I ${edroot}/src/include" edsrc="${edroot}/src/*/*.f90 ${edroot}/src/*/*.F90 ${edroot}/src/*/*.c" rm -f dependency.mk ./sfmakedepend.pl ${includes} -f dependency.mk ${bramssrc} ${edsrc} 2> /dev/null +sed -i~ s@mpi.mod@@g dependency.mk sed -i~ s@hdf5.mod@@g dependency.mk sed -i~ s@ifport.mod@@g dependency.mk sed -i~ s@leaf.coms.mod@@g dependency.mk diff --git a/ED/src/driver/ed_1st.F90 b/ED/src/driver/ed_1st.F90 index e2d3acd3b..38a5219c3 100644 --- a/ED/src/driver/ed_1st.F90 +++ b/ED/src/driver/ed_1st.F90 @@ -22,13 +22,12 @@ subroutine ed_1st_master (ipara, nnodestotal,nslaves, headnode_num, max_threads, use ed_misc_coms , only : runtype ! ! intent(inout) use ed_state_vars, only : allocate_edglobals & ! subroutine , filltab_alltypes ! ! subroutine +#if defined(RAMS_MPI) + use mpi +#endif implicit none - !----- Pre-compiled variables from MPI. ------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !----- Arguments. ----------------------------------------------------------------------! integer , intent(in) :: ipara ! 0 if sequential run; 1 if parallel run integer , intent(in) :: nnodestotal ! total number of nodes on any run @@ -176,10 +175,12 @@ end subroutine ed_1st_master !------------------------------------------------------------------------------------------! subroutine ed_1st_node() use ed_mem_alloc, only : ed_memory_allocation ! ! subroutine +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Pre-compiled variables from MPI. ------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' !----- Local variable (MPI only). ------------------------------------------------------! integer :: ierr #endif diff --git a/ED/src/driver/ed_driver.F90 b/ED/src/driver/ed_driver.F90 index 1c7ff8724..0b04d2ef0 100644 --- a/ED/src/driver/ed_driver.F90 +++ b/ED/src/driver/ed_driver.F90 @@ -28,6 +28,7 @@ subroutine ed_driver() , nnodetot & ! intent(in) , sendnum ! ! intent(in) #if defined(RAMS_MPI) + use mpi ! MPI commons use ed_node_coms , only : recvnum ! ! intent(in) #endif use detailed_coms , only : idetailed & ! intent(in) @@ -37,10 +38,6 @@ subroutine ed_driver() use canopy_radiation_coms, only : ihrzrad ! ! intent(in) use random_utils , only : init_random_seed ! ! subroutine implicit none - !----- Included variables. -------------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' ! MPI commons -#endif !----- Local variables. ----------------------------------------------------------------! character(len=12) :: c0 character(len=12) :: c1 diff --git a/ED/src/driver/ed_model.F90 b/ED/src/driver/ed_model.F90 index 77cc8f9d0..49bcb72a7 100644 --- a/ED/src/driver/ed_model.F90 +++ b/ED/src/driver/ed_model.F90 @@ -94,11 +94,10 @@ subroutine ed_model() use vegetation_dynamics , only : veg_dynamics_driver ! ! sub-routine use ed_type_init , only : ed_init_viable ! ! sub-routine use soil_respiration , only : zero_litter_inputs ! ! sub-routine - implicit none - !----- Common blocks. ------------------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Local variables. ----------------------------------------------------------------! type(simtime) :: daybefore character(len=28) :: fmthead diff --git a/ED/src/driver/edmain.F90 b/ED/src/driver/edmain.F90 index 53995bf4a..7be848c37 100644 --- a/ED/src/driver/edmain.F90 +++ b/ED/src/driver/edmain.F90 @@ -14,6 +14,9 @@ !------------------------------------------------------------------------------------------! program main !$ use omp_lib +#if defined(RAMS_MPI) + use mpi +#endif implicit none !---------------------------------------------------------------------------------------! @@ -49,10 +52,6 @@ program main integer, dimension(64) :: thread_use integer, dimension(64) :: cpu_use integer, external :: findmycpu - !------ MPI interface. -----------------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !---------------------------------------------------------------------------------------! diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..529d34a04 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,15 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario !------------------------------------------------------------------------------------! diff --git a/ED/src/init/ed_init.F90 b/ED/src/init/ed_init.F90 index b4913d66c..46a016b5c 100644 --- a/ED/src/init/ed_init.F90 +++ b/ED/src/init/ed_init.F90 @@ -311,6 +311,7 @@ subroutine load_ecosystem_state() , near_bare_ground_big_leaf_init ! ! sub-routine use ed_bigleaf_init , only : sas_to_bigleaf ! ! sub-routine #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : mynum & ! intent(in) , nnodetot & ! intent(in) , sendnum & ! intent(in) @@ -320,9 +321,6 @@ subroutine load_ecosystem_state() #endif implicit none -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !----- Local variables --------------------------------------------------------------! integer :: igr integer :: ping diff --git a/ED/src/init/ed_init_atm.F90 b/ED/src/init/ed_init_atm.F90 index 65cf07ee4..041ab13d0 100644 --- a/ED/src/init/ed_init_atm.F90 +++ b/ED/src/init/ed_init_atm.F90 @@ -33,6 +33,7 @@ subroutine ed_init_atm() , terminate_cohorts & ! subroutine , split_cohorts ! ! subroutine #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : nnodetot & ! intent(in) , mynum & ! intent(in) , sendnum & ! intent(in) @@ -95,10 +96,6 @@ subroutine ed_init_atm() !----- Local variables (MPI only). -----------------------------------------------------! #if defined(RAMS_MPI) integer :: ierr -#endif - !----- Add the MPI common block. -------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! diff --git a/ED/src/io/ed_print.F90 b/ED/src/io/ed_print.F90 index aeb2115b8..33f5a51a7 100644 --- a/ED/src/io/ed_print.F90 +++ b/ED/src/io/ed_print.F90 @@ -30,6 +30,7 @@ module ed_print subroutine print_fields(ifm,cgrid) #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : mynum & ! intent(in) , nnodetot & ! intent(in) , sendnum & ! intent(in) @@ -49,10 +50,6 @@ subroutine print_fields(ifm,cgrid) , num_var ! ! intent(in) use ed_max_dims , only : str_len_short ! ! intent(in) implicit none - !----- Standard common blocks. ------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !----- Arguments. -------------------------------------------------------------------! integer , intent(in) :: ifm type(edtype) , target :: cgrid diff --git a/ED/src/io/h5_output.F90 b/ED/src/io/h5_output.F90 index 209b184aa..eee0a5a38 100644 --- a/ED/src/io/h5_output.F90 +++ b/ED/src/io/h5_output.F90 @@ -30,6 +30,7 @@ subroutine h5_output(vtype) , stride & ! intent(in) , globdims ! ! intent(in) #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : mynum & ! intent(in) , nnodetot & ! intent(in) , recvnum & ! intent(in) @@ -50,10 +51,6 @@ subroutine h5_output(vtype) , gdpy ! ! intent(in) implicit none - !------ Include standard common blocks. ------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !------ Arguments. ---------------------------------------------------------------------! character(len=*) , intent(in) :: vtype !------ Local variables. ---------------------------------------------------------------! diff --git a/ED/src/memory/ed_state_vars.F90 b/ED/src/memory/ed_state_vars.F90 index d72654bec..abf907612 100644 --- a/ED/src/memory/ed_state_vars.F90 +++ b/ED/src/memory/ed_state_vars.F90 @@ -12763,6 +12763,7 @@ subroutine filltab_alltypes , var_table & ! intent(inout) , reset_vt_vector_pointers ! ! sub-routine #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : mynum & ! intent(in) , nnodetot & ! intent(in) , machs & ! intent(in) @@ -12775,10 +12776,6 @@ subroutine filltab_alltypes use ed_max_dims , only : maxgrds & ! intent(in) , maxmach ! ! intent(in) implicit none - -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !----- Local variables. -------------------------------------------------------------! type(edtype) , pointer :: cgrid type(polygontype) , pointer :: cpoly diff --git a/ED/src/utils/fatal_error.F90 b/ED/src/utils/fatal_error.F90 index 18bf18a8c..e54335c03 100644 --- a/ED/src/utils/fatal_error.F90 +++ b/ED/src/utils/fatal_error.F90 @@ -8,6 +8,9 @@ subroutine fatal_error(reason,subr,file) use ed_node_coms , only : nnodetot & ! intent(in) , mynum ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Arguments. ----------------------------------------------------------------------! character(len=*), intent(in) :: reason @@ -18,9 +21,6 @@ subroutine fatal_error(reason,subr,file) logical :: slavenode !---------------------------------------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !---------------------------------------------------------------------------------------! ! Check which type of end we should use. For the main program, this should never ! diff --git a/diff_version.sh b/diff_version.sh index 77a083c15..3e69ceee0 100755 --- a/diff_version.sh +++ b/diff_version.sh @@ -24,9 +24,11 @@ subdirs="ED BRAMS Ramspost R-utils" #------ Editor to use (I've only tested with nedit, use others at your own risk). ---------# editor="nedit" #------ Two paths with EDBRAMS (full path). -----------------------------------------------# -ours="${HOME}/EDBRAMS" -theirs="${HOME}/MainLine/EDBRAMS" -ournew=true +ours="${HOME}/Downloads/MLN-EDBRAMS" +theirs="${HOME}/Downloads/MLO-EDBRAMS" +ournew=false +#------ Working path when implementing a partial merge (otherwise, leave it blank). -------# +work="${HOME}/Models/EDBRAMS" #------------------------------------------------------------------------------------------# @@ -36,8 +38,8 @@ ournew=true # Extensions. Decide how much to check. # #------------------------------------------------------------------------------------------# case "${comptype}" in -partial) exts=".c .f90 .F90" ;; -*) exts=".c .f90 .F90 .r .txt" ;; +partial) exts=".c .F90 .f90" ;; +*) exts=".c .F90 .f90 .r .txt" ;; esac #------------------------------------------------------------------------------------------# @@ -45,7 +47,24 @@ esac #------------------------------------------------------------------------------------------# # Remove any comparison file that may exist. # #------------------------------------------------------------------------------------------# -/bin/rm -f notthesame.* +/bin/rm -f notthesame.* \~notthesame.* +#------------------------------------------------------------------------------------------# + + +#------------------------------------------------------------------------------------------# +# Add settings for partial merge (if sought). # +#------------------------------------------------------------------------------------------# +if [[ "${work}" == "" ]] +then + #---- Disable work version (preferred method, much less messy). ------------------------# + load_work=false + work=${theirs} + #---------------------------------------------------------------------------------------# +else + #---- Enable work version (more prone to complications, be careful). -------------------# + load_work=true + #---------------------------------------------------------------------------------------# +fi #------------------------------------------------------------------------------------------# @@ -60,11 +79,11 @@ do #---------------------------------------------------------------------------------------# for ext in ${exts} do - if [ ${subdir} == "R-utils" ] && [ ${ext} == ".txt" ] + if [[ ${subdir} == "R-utils" ]] && [[ ${ext} == ".txt" ]] then srcours="${ours}/${subdir}/samap" srctheirs="${theirs}/${subdir}/samap" - elif [ ${subdir} == "R-utils" ] + elif [[ ${subdir} == "R-utils" ]] then srcours="${ours}/${subdir}" srctheirs="${theirs}/${subdir}" @@ -82,12 +101,14 @@ do for fileours in ${lookuptable} do file=$(basename ${fileours}) - newpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + theirpath=$(dirname ${fileours} | sed s@${ours}@${theirs}@g) + workpath=$(dirname ${fileours} | sed s@${ours}@${work}@g) case "${myos}" in Darwin|Cygwin) #---- Case-insensitive file system. ---------------------------------------------# - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + filework="${workpath}/${file}" + theirs_alt="" ;; #--------------------------------------------------------------------------------# *) @@ -95,64 +116,154 @@ do case "${ext}" in ".f90") alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".F90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".F90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; ".F90") alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) - if [ -s "${newpath}/${alt_file}" ] + if [[ -s "${theirpath}/${alt_file}" ]] then - filetheirs="${newpath}/${alt_file}" - alt=".f90" + filetheirs="${theirpath}/${alt_file}" + theirs_alt=".f90" else - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" fi ;; *) - filetheirs="${newpath}/${file}" - alt="" + filetheirs="${theirpath}/${file}" + theirs_alt="" ;; esac - ;; #--------------------------------------------------------------------------------# + + + #----- Probably Linux or Unix, assume case-sensitive file system. ---------------# + case "${ext}" in + ".f90") + alt_file=$(echo ${file} | sed s@"\\.f90"@".F90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".F90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + ".F90") + alt_file=$(echo ${file} | sed s@"\\.F90"@".f90"@g) + if [[ -s "${workpath}/${alt_file}" ]] + then + filework="${workpath}/${alt_file}" + work_alt=".f90" + else + filework="${workpath}/${file}" + work_alt="" + fi + ;; + *) + filework="${workpath}/${file}" + work_alt="" + ;; + esac + #--------------------------------------------------------------------------------# + + ;; esac - filetheirs="${newpath}/${file}" - if [ -s ${filetheirs} ] + + + #-----------------------------------------------------------------------------------# + # If we are doing partial merge, we must check the existence three-way, # + # otherwise we compare just the "ours" and "theirs". # + #-----------------------------------------------------------------------------------# + if [[ -s ${filetheirs} ]] then - ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) - if [ ${ldif} -gt 0 ] - then - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - case "${alt}" in - .f90|.F90) - echo "${woroot} has changed. New extension is ${alt}." - ;; - *) - echo "${woroot} has changed." - ;; - esac - if ${ournew} - then - diff -uibB <(grep -vE "^\s*!" ${filetheirs}) <(grep -vE "^\s*!" ${fileours})\ - > notthesame${ext} - else - diff -uibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs})\ - > notthesame${ext} - fi - ${editor} ${fileours} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null - /bin/rm -f notthesame${ext} - fi + #---- Check for extension change. -----------------------------------------------# + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + case "${theirs_alt}" in + .f90|.F90) + if ${ournew} + then + ext_mess="Old extension was ${theirs_alt}." + else + ext_mess="New extension is ${theirs_alt}." + fi + ;; + *) + ext_mess="" + ;; + esac + #--------------------------------------------------------------------------------# + + + + #--------------------------------------------------------------------------------# + # Check for changes (ignoring spaces and commented lines). # + #--------------------------------------------------------------------------------# + ldif=$(diff -ibB <(grep -vE "^\s*!" ${fileours}) <(grep -vE "^\s*!" ${filetheirs}) | wc -l) + if [[ ${ldif} -gt 0 ]] + then + change=true + if [[ "${ext_mess}" == "" ]] + then + echo "File ${woroot}. Code has changed." + else + echo "File ${woroot}. Code has changed. ${ext_mess}" + fi + elif [[ "${ext_mess}" == "" ]] + then + change=false + else + change=false + echo "File ${woroot}. ${ext_mess}" + fi + #--------------------------------------------------------------------------------# + + + #--------------------------------------------------------------------------------# + # If files have changes, report differences. # + #--------------------------------------------------------------------------------# + if ${change} + then + #----- Write differences to a temporary file. --------------------------------# + if ${ournew} + then + diff -uibB <(grep -vE "^\s*!" ${filetheirs}) \ + <(grep -vE "^\s*!" ${fileours}) > notthesame${ext} + else + diff -uibB <(grep -vE "^\s*!" ${fileours}) \ + <(grep -vE "^\s*!" ${filetheirs}) > notthesame${ext} + fi + #-----------------------------------------------------------------------------# + + + #----- Open editor with all files needed. ------------------------------------# + if ${load_work} && [[ -s ${filework} ]] + then + ${editor} ${filework} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + /bin/rm -f notthesame${ext} + elif ${load_work} + then + ${editor} ${filetheirs} notthesame${ext} 1> /dev/null 2> /dev/null + echo " ---> Working file is missing!" + else + ${editor} ${fileours} ${filetheirs} notthesame${ext} \ + 1> /dev/null 2> /dev/null + fi + #-----------------------------------------------------------------------------# + fi else - woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) - echo "${woroot} is exclusive to ${ours} version." - fi #if [ -s ${filetheirs} ] + woroot=$(echo ${fileours} | sed s@"${srcours}/"@""@g) + echo "${woroot} is exclusive to ${ours} version." + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# @@ -165,13 +276,13 @@ do for filetheirs in ${lookuptable} do file=$(basename ${filetheirs}) - newpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) - fileours="${newpath}/${file}" - if [ ! -s ${fileours} ] + ourpath=$(dirname ${filetheirs} | sed s@${theirs}@${ours}@g) + fileours="${ourpath}/${file}" + if [[ ! -s ${fileours} ]] then woroot=$(echo ${filetheirs} | sed s@"${srctheirs}/"@""@g) echo "${woroot} is exclusive to ${theirs} version." - fi #if [ -s ${filetheirs} ] + fi #if [[ -s ${filetheirs} ]] done #for fileours in ${lookuptable} #-------------------------------------------------------------------------------------# done #for ext in ${exts} From 49828ce5ffb40f061d9ceb57a4deb1df4ee6b358 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 15:48:02 -0700 Subject: [PATCH 31/62] Removing obsolete comment. --- ED/src/driver/ed_driver.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ED/src/driver/ed_driver.F90 b/ED/src/driver/ed_driver.F90 index 0b04d2ef0..c0bd69053 100644 --- a/ED/src/driver/ed_driver.F90 +++ b/ED/src/driver/ed_driver.F90 @@ -28,7 +28,7 @@ subroutine ed_driver() , nnodetot & ! intent(in) , sendnum ! ! intent(in) #if defined(RAMS_MPI) - use mpi ! MPI commons + use mpi use ed_node_coms , only : recvnum ! ! intent(in) #endif use detailed_coms , only : idetailed & ! intent(in) From 5297ede610e62bf2b1015ea7ef76d751831fa55a Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 15:50:31 -0700 Subject: [PATCH 32/62] Temporarily disabling MPI compilation for continuous integration. The code is not compiling due to MPI_Send and MPI_Recv using mixed arguments in the same routine. This seems more of a MPI problem than a ED2 problem. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From 95dba682b3127e196f875ec91a5e908bb2ea34cb Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 15:57:17 -0700 Subject: [PATCH 33/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From 8a9e7d068c66eca7309c8d60f8c3d0760fb6667e Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 15:58:45 -0700 Subject: [PATCH 34/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From 54ffbd200388ac1eecfa3bcd45b97c4f0f7e759b Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 15:59:12 -0700 Subject: [PATCH 35/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From cc7b79c0aaa15deb2980e4e743274506192ebcdd Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:00:37 -0700 Subject: [PATCH 36/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From 07e6d7b2c5f0a5c1fc1da5b6695aba9dc42a2cc0 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:01:01 -0700 Subject: [PATCH 37/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From 32d4771e3bbe6a474a0013a5818876eec09f8fd9 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:01:16 -0700 Subject: [PATCH 38/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From 3824954629de90713a2a9a0e23f48b03e63fda03 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:01:57 -0700 Subject: [PATCH 39/62] Temporarily disabling mpi compilation from CI. --- ED/build/make/include.mk.travisci | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/ED/build/make/include.mk.travisci b/ED/build/make/include.mk.travisci index 243995438..35ade16d0 100644 --- a/ED/build/make/include.mk.travisci +++ b/ED/build/make/include.mk.travisci @@ -39,17 +39,27 @@ USE_COLLECTIVE_MPIO=0 + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + + + #################################### COMPILER SETTINGS ##################################### CMACH=TRAVISCI FC_TYPE=GNU -F_COMP=mpif90 -C_COMP=mpicc -LOADER=mpif90 +F_COMP=gfortran +C_COMP=gcc +LOADER=gfortran LIBS= MOD_EXT=mod #------------------------------------------------------------------------------------------# -USE_INTERF=1 ##################################### COMPILER OPTIONS ##################################### @@ -62,19 +72,19 @@ ifeq ($(KIND_COMP),) endif #------------------------------------------------------------------------------------------# ifeq ($(KIND_COMP),$(filter $(KIND_COMP), A B C D)) - F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive - C_OPTS= -O0 -DLITTLE -g - LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=nan \ - -ffpe-trap=invalid,zero,overflow,underflow -fbacktrace -fbounds-check \ - -frecursive + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace -static + C_OPTS= -O0 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif ifeq ($(KIND_COMP),E) - F_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file -static - C_OPTS= -O0 -DLITTLE -g -static - LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fno-whole-file + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace -static + C_OPTS= -O3 -DLITTLE -g -fbacktrace -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -fbacktrace #---------------------------------------------------------------------------------------# endif #------------------------------------------------------------------------------------------# @@ -91,7 +101,7 @@ endif MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +PAR_DEFS= #------------------------------------------------------------------------------------------# From e7016b1aff86c743b8a178ad9805e643906f8a6e Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:04:24 -0700 Subject: [PATCH 40/62] Removing unused variables from farq_katul.f90 so the code compiles. --- ED/src/dynamics/farq_katul.f90 | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..529d34a04 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,15 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario !------------------------------------------------------------------------------------! From 18ebcbc6f60af1e417ed8021f8092926967d3812 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:08:23 -0700 Subject: [PATCH 41/62] Deleted unused variables in farq_katul.f90 --- ED/src/dynamics/farq_katul.f90 | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/ED/src/dynamics/farq_katul.f90 b/ED/src/dynamics/farq_katul.f90 index 31ac9b186..529d34a04 100644 --- a/ED/src/dynamics/farq_katul.f90 +++ b/ED/src/dynamics/farq_katul.f90 @@ -409,9 +409,6 @@ subroutine optimization_solver8(ib,ipft,lambda, real(kind=8) :: test_dcidg real(kind=8) :: test_dfcdg real(kind=8) :: test_dfedg - real(kind=8) :: test_fc_light - real(kind=8) :: test_fc_rubp - real(kind=8) :: test_fc_3rd real(kind=8) :: opt_ci_light real(kind=8) :: opt_ci_rubp real(kind=8) :: opt_ci_3rd @@ -852,15 +849,6 @@ subroutine photosynthesis_stomata_solver8(ib,gsc,limit_case, real(kind=8) :: a,b,c !! Coefficients of the quadratic equation to solve ci real(kind=8) :: rad !! sqrt(b2-4ac) real(kind=8) :: dbdg,dcdg !! derivatives of b,c wrt. gsc - real(kind=8) :: ci_rubp !! ci for rubp-limited scenario - real(kind=8) :: dcidg_rubp !! derivative of ci wrt. gsc for rubp-limited scenario - real(kind=8) :: dfcdg_rubp !! derivative of fc wrt. gsc for rubp-limited scenario - real(kind=8) :: ci_light !! ci for light-limited scenario - real(kind=8) :: dcidg_light !! derivative of ci wrt. gsc for light-limited scenario - real(kind=8) :: dfcdg_light !! derivative of fc wrt. gsc for light-limited scenario - real(kind=8) :: ci_3rd !! ci for TPU/CO2-limited scenario - real(kind=8) :: dcidg_3rd !! derivative of ci wrt. gsc for TPU/CO2-limited scenario - real(kind=8) :: dfcdg_3rd !! derivative of fc wrt. gsc for TPU/CO2-limited scenario !------------------------------------------------------------------------------------! From a1136d95bfbfd81fc39a7a751d2859f16490afc3 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:21:21 -0700 Subject: [PATCH 42/62] Expand error message in ed_met_driver for better debugging. --- ED/src/driver/ed_met_driver.f90 | 35 ++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/ED/src/driver/ed_met_driver.f90 b/ED/src/driver/ed_met_driver.f90 index abc07cfda..dea3142f6 100644 --- a/ED/src/driver/ed_met_driver.f90 +++ b/ED/src/driver/ed_met_driver.f90 @@ -588,11 +588,17 @@ subroutine read_met_drivers_init call shdf5_open_f(trim(infile),'R') else write (unit=*,fmt='(a)' ) '------------------------------' - write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 - write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf - write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear - write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc - write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE =',year_use + write (unit=*,fmt='(a,1x,a)' ) ' - MET_VARS =',trim(met_vars(iformat,1)) + write (unit=*,fmt='(a,1x,l1)' ) ' - CYCLE_CO2 =',.not. not_cycle_co2 + write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 + write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf + write (unit=*,fmt='(a,1x,i12)') ' - NCYC =',ncyc + write (unit=*,fmt='(a,1x,i12)') ' - NYEARS =',nyears + write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear + write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CURR =',current_time%month + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CURR =',current_time%year + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE =',year_use write (unit=*,fmt='(a)' ) '------------------------------' call fatal_error('Cannot open met driver input file '//trim(infile)//'!' & ,'read_met_drivers_init','ed_met_driver.f90') @@ -656,8 +662,7 @@ subroutine read_met_drivers_init ! Make sure that the special CO2 file exists. If not, then use the ! ! default met cycle years. ! !---------------------------------------------------------------------------! - write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)),y2 & - ,mname(current_time%month),'.h5' + write(infile,fmt='(a,i4.4,a,a)') trim(met_names(iformat)),y2,mname(m2),'.h5' inquire(file=trim(infile),exist=exans) if (exans) then !----- Allow CO2 outside met cycle. -------------------------------------! @@ -681,6 +686,22 @@ subroutine read_met_drivers_init if (exans) then call shdf5_open_f(trim(infile),'R') else + write (unit=*,fmt='(a)' ) '------------------------------' + write (unit=*,fmt='(a,1x,a)' ) ' - MET_VARS =',trim(met_vars(iformat,1)) + write (unit=*,fmt='(a,1x,l1)' ) ' - CYCLE_CO2 =',.not. not_cycle_co2 + write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 + write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf + write (unit=*,fmt='(a,1x,i12)') ' - NCYC =',ncyc + write (unit=*,fmt='(a,1x,i12)') ' - NYEARS =',nyears + write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear + write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CURR =',current_time%month + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CURR =',current_time%year + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE =',year_use + write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CYC_2 =',m2 + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC_2 =',year_cyc_2 + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE_2 =',year_use_2 + write (unit=*,fmt='(a)' ) '------------------------------' call fatal_error('Cannot open met driver input file '//trim(infile)//'!' & ,'read_met_drivers_init','ed_met_driver.f90') end if From 08c92e871485dd88f0a3021be24e762d292803ab Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:31:53 -0700 Subject: [PATCH 43/62] Fixed a couple of typo in the do while loops in ed_met_driver.f90. --- ED/src/driver/ed_met_driver.f90 | 39 ++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/ED/src/driver/ed_met_driver.f90 b/ED/src/driver/ed_met_driver.f90 index dea3142f6..22cf8ba18 100644 --- a/ED/src/driver/ed_met_driver.f90 +++ b/ED/src/driver/ed_met_driver.f90 @@ -632,8 +632,8 @@ subroutine read_met_drivers_init m2 = current_time%month + 1 select case (m2) case (13) - m2 = 1 - y2 = current_time%year + 1 + m2 = 1 + y2 = current_time%year + 1 year_cyc_2 = y2 !----- If we are now after the last year... --------------------------------! @@ -643,7 +643,7 @@ subroutine read_met_drivers_init !---------------------------------------------------------------------------! !----- If we are now before the first year... ------------------------------! - do while(year_use_2 < metcyc1) + do while(year_cyc_2 < metcyc1) year_cyc_2 = year_cyc_2 + ncyc end do !---------------------------------------------------------------------------! @@ -787,7 +787,7 @@ subroutine read_met_drivers !----- If we need to recycle over years, find the appropriate year to apply. --------! year_cyc = current_time%year - ncyc = metcycf - metcyc1 + 1 + ncyc = metcycf - metcyc1 + 1 !----- If we are after the last year... ---------------------------------------------! do while(year_cyc > metcycf) @@ -848,6 +848,19 @@ subroutine read_met_drivers if(exans)then call shdf5_open_f(trim(infile),'R') else + write (unit=*,fmt='(a)' ) '------------------------------' + write (unit=*,fmt='(a,1x,a)' ) ' - MET_VARS =',trim(met_vars(iformat,1)) + write (unit=*,fmt='(a,1x,l1)' ) ' - CYCLE_CO2 =',.not. not_cycle_co2 + write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 + write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf + write (unit=*,fmt='(a,1x,i12)') ' - NCYC =',ncyc + write (unit=*,fmt='(a,1x,i12)') ' - NYEARS =',nyears + write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear + write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CURR =',current_time%month + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CURR =',current_time%year + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE =',year_use + write (unit=*,fmt='(a)' ) '------------------------------' call fatal_error('Cannot open met driver input file '//trim(infile)//'!' & ,'read_met_drivers','ed_met_driver.f90') end if @@ -901,7 +914,7 @@ subroutine read_met_drivers !---------------------------------------------------------------------------! !----- If we are now before the first year... ------------------------------! - do while(year_use_2 < metcyc1) + do while(year_cyc_2 < metcyc1) year_cyc_2 = year_cyc_2 + ncyc end do !---------------------------------------------------------------------------! @@ -946,6 +959,22 @@ subroutine read_met_drivers if (exans) then call shdf5_open_f(trim(infile),'R') else + write (unit=*,fmt='(a)' ) '------------------------------' + write (unit=*,fmt='(a,1x,a)' ) ' - MET_VARS =',trim(met_vars(iformat,1)) + write (unit=*,fmt='(a,1x,l1)' ) ' - CYCLE_CO2 =',.not. not_cycle_co2 + write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 + write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf + write (unit=*,fmt='(a,1x,i12)') ' - NCYC =',ncyc + write (unit=*,fmt='(a,1x,i12)') ' - NYEARS =',nyears + write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear + write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CURR =',current_time%month + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CURR =',current_time%year + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE =',year_use + write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CYC_2 =',m2 + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC_2 =',year_cyc_2 + write (unit=*,fmt='(a,1x,i12)') ' - YEAR_USE_2 =',year_use_2 + write (unit=*,fmt='(a)' ) '------------------------------' call fatal_error ('Cannot open met driver input file '//trim(infile)//'!' & ,'read_met_drivers','ed_met_driver.f90') end if From c11f2a504c733089fcaba2924c27e0a839b9b109 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:36:38 -0700 Subject: [PATCH 44/62] Fixed error messages by excluding non-declared variables. --- ED/src/driver/ed_met_driver.f90 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ED/src/driver/ed_met_driver.f90 b/ED/src/driver/ed_met_driver.f90 index 22cf8ba18..8323013ef 100644 --- a/ED/src/driver/ed_met_driver.f90 +++ b/ED/src/driver/ed_met_driver.f90 @@ -854,8 +854,6 @@ subroutine read_met_drivers write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf write (unit=*,fmt='(a,1x,i12)') ' - NCYC =',ncyc - write (unit=*,fmt='(a,1x,i12)') ' - NYEARS =',nyears - write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CURR =',current_time%month write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CURR =',current_time%year write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc @@ -965,8 +963,6 @@ subroutine read_met_drivers write (unit=*,fmt='(a,1x,i12)') ' - METCYC1 =',metcyc1 write (unit=*,fmt='(a,1x,i12)') ' - METCYCF =',metcycf write (unit=*,fmt='(a,1x,i12)') ' - NCYC =',ncyc - write (unit=*,fmt='(a,1x,i12)') ' - NYEARS =',nyears - write (unit=*,fmt='(a,1x,i12)') ' - IYEAR =',iyear write (unit=*,fmt='(a,1x,i12)') ' - MONTH_CURR =',current_time%month write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CURR =',current_time%year write (unit=*,fmt='(a,1x,i12)') ' - YEAR_CYC =',year_cyc From 5b59c4d89c099138ead8544e4b4470a12315e261 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:43:45 -0700 Subject: [PATCH 45/62] Fixed copy/paste error. --- ED/src/driver/ed_met_driver.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ED/src/driver/ed_met_driver.f90 b/ED/src/driver/ed_met_driver.f90 index 8323013ef..a5e6d6628 100644 --- a/ED/src/driver/ed_met_driver.f90 +++ b/ED/src/driver/ed_met_driver.f90 @@ -944,7 +944,7 @@ subroutine read_met_drivers !---------------------------------------------------------------------------! else !----- Typical case. Pool data from the meteorological cycle. --------------! - year_use = year_cyc_2 + year_use_2 = year_cyc_2 !---------------------------------------------------------------------------! end if !------------------------------------------------------------------------------! From 81be7fb98cc66caa35903f365a7a51686daf7b0c Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 16:58:19 -0700 Subject: [PATCH 46/62] Add new ED2IN variables to the CI namelists. --- EDTS/Templates/ED2IN-TEST | 1 + EDTS/Templates/ED2IN-tonzi | 65 ++++++++++++++++++++++++++++-- EDTS/Templates/ED2IN-tonzi.harvest | 65 ++++++++++++++++++++++++++++-- EDTS/Templates/ED2IN-umbs.bg | 7 ++-- 4 files changed, 127 insertions(+), 11 deletions(-) diff --git a/EDTS/Templates/ED2IN-TEST b/EDTS/Templates/ED2IN-TEST index 64f489146..84ef74295 100644 --- a/EDTS/Templates/ED2IN-TEST +++ b/EDTS/Templates/ED2IN-TEST @@ -1540,6 +1540,7 @@ $ED_NL ! The following variables are used when IANTH_DISTURB is 1 or 2. ! ! ! ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! diff --git a/EDTS/Templates/ED2IN-tonzi b/EDTS/Templates/ED2IN-tonzi index 06ed7ff22..46c64fa7d 100644 --- a/EDTS/Templates/ED2IN-tonzi +++ b/EDTS/Templates/ED2IN-tonzi @@ -1324,10 +1324,67 @@ $ED_NL !---------------------------------------------------------------------------------------! ! IANTH_DISTURB -- This flag controls whether to include anthropogenic disturbances ! ! such as land clearing, abandonment, and logging. ! - ! 0. no anthropogenic disturbance. ! - ! 1. use anthropogenic disturbance dataset. ! - !---------------------------------------------------------------------------------------! - NL%IANTH_DISTURB = 0 + ! 0. No anthropogenic disturbance. ! + ! 1. Use anthropogenic disturbance dataset (ED-2.2 default when ! + ! anthropogenic disturbance is sought). ! + ! 2. Site-specific forest plantation or selective logging cycle. ! + ! (Longo et al., in prep.) (Beta) ! + ! ! + ! The following variables are used only when IANTH_DISTURB is 2. ! + ! ! + ! SL_SCALE -- This flag assumes whether the simulation scale is local or ! + ! landscape. This controls the recurrence of logging. ! + ! 0. Local. The simulation represents one logging unit. Apply ! + ! logging only once every SL_NYRS ! + ! 1. Landscape. The simulation represents a landscape. Logging ! + ! occurs every year but it is restricted to patches with age ! + ! greater than or equal to SL_NYRS ! + ! SL_YR_FIRST -- The first year to apply logging. In case IANTH_DISTURB is 2 it ! + ! must be a simulation year (i.e. between IYEARA and IYEARZ). ! + ! SL_NYRS -- This variable defines the logging cycle, in years (see variable ! + ! SL_SCALE above) ! + ! SL_PFT -- PFTs that can be harvested. ! + ! SL_PROB_HARVEST -- Logging intensity (one value for each PFT provided in SL_PFT). ! + ! Values should be between 0.0 and 1.0, with 0 meaning no ! + ! removal, and 1 removal of all trees needed to meet demands. ! + ! SL_MINDBH_HARVEST -- Minimum DBH for logging (one value for each PFT provided in ! + ! SL_PFT). ! + ! SL_BIOMASS_HARVEST -- Target biomass to be harvested in each cycle, in kgC/m2. If ! + ! zero, then all trees that meet the minimum DBH and minimum ! + ! patch age will be logged. In case you don't want logging to ! + ! occur, don't set this value to zero! Instead, set IANTH_DISTURB ! + ! to zero. ! + ! ! + ! The following variables are used when IANTH_DISTURB is 1 or 2. ! + ! ! + ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! + ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! + ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! + ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! + ! ! + ! Cropland variables, used when IANTH_DISTURB is 1 or 2. ! + ! ! + ! CL_FSEEDS_HARVEST -- fraction of seeds that is harvested. ! + ! CL_FSTORAGE_HARVEST -- fraction of non-structural carbon that is harvested. ! + ! CL_FLEAF_HARVEST -- fraction of leaves that is harvested in croplands. ! + !---------------------------------------------------------------------------------------! + NL%IANTH_DISTURB = 0 + NL%SL_SCALE = 1 + NL%SL_YR_FIRST = 1992 + NL%SL_NYRS = 50 + NL%SL_PFT = 2,3,4 + NL%SL_PROB_HARVEST = 1.0,1.0,1.0 + NL%SL_MINDBH_HARVEST = 50.,50.,50. + NL%SL_BIOMASS_HARVEST = 0 + NL%SL_SKID_REL_AREA = 1 + NL%SL_SKID_DBH_THRESH = 30. + NL%SL_SKID_S_GTHARV = 1 + NL%SL_SKID_S_LTHARV = 0.6 + NL%SL_FELLING_S_LTHARV = 0.35 + NL%CL_FSEEDS_HARVEST = 0.75 + NL%CL_FSTORAGE_HARVEST = 0.00 + NL%CL_FLEAF_HARVEST = 0.00 !---------------------------------------------------------------------------------------! diff --git a/EDTS/Templates/ED2IN-tonzi.harvest b/EDTS/Templates/ED2IN-tonzi.harvest index fed665436..5f9902dfb 100644 --- a/EDTS/Templates/ED2IN-tonzi.harvest +++ b/EDTS/Templates/ED2IN-tonzi.harvest @@ -1324,10 +1324,67 @@ $ED_NL !---------------------------------------------------------------------------------------! ! IANTH_DISTURB -- This flag controls whether to include anthropogenic disturbances ! ! such as land clearing, abandonment, and logging. ! - ! 0. no anthropogenic disturbance. ! - ! 1. use anthropogenic disturbance dataset. ! - !---------------------------------------------------------------------------------------! - NL%IANTH_DISTURB = 0 + ! 0. No anthropogenic disturbance. ! + ! 1. Use anthropogenic disturbance dataset (ED-2.2 default when ! + ! anthropogenic disturbance is sought). ! + ! 2. Site-specific forest plantation or selective logging cycle. ! + ! (Longo et al., in prep.) (Beta) ! + ! ! + ! The following variables are used only when IANTH_DISTURB is 2. ! + ! ! + ! SL_SCALE -- This flag assumes whether the simulation scale is local or ! + ! landscape. This controls the recurrence of logging. ! + ! 0. Local. The simulation represents one logging unit. Apply ! + ! logging only once every SL_NYRS ! + ! 1. Landscape. The simulation represents a landscape. Logging ! + ! occurs every year but it is restricted to patches with age ! + ! greater than or equal to SL_NYRS ! + ! SL_YR_FIRST -- The first year to apply logging. In case IANTH_DISTURB is 2 it ! + ! must be a simulation year (i.e. between IYEARA and IYEARZ). ! + ! SL_NYRS -- This variable defines the logging cycle, in years (see variable ! + ! SL_SCALE above) ! + ! SL_PFT -- PFTs that can be harvested. ! + ! SL_PROB_HARVEST -- Logging intensity (one value for each PFT provided in SL_PFT). ! + ! Values should be between 0.0 and 1.0, with 0 meaning no ! + ! removal, and 1 removal of all trees needed to meet demands. ! + ! SL_MINDBH_HARVEST -- Minimum DBH for logging (one value for each PFT provided in ! + ! SL_PFT). ! + ! SL_BIOMASS_HARVEST -- Target biomass to be harvested in each cycle, in kgC/m2. If ! + ! zero, then all trees that meet the minimum DBH and minimum ! + ! patch age will be logged. In case you don't want logging to ! + ! occur, don't set this value to zero! Instead, set IANTH_DISTURB ! + ! to zero. ! + ! ! + ! The following variables are used when IANTH_DISTURB is 1 or 2. ! + ! ! + ! SL_SKID_REL_AREA -- area damaged by skid trails (relative to felled area). ! + ! SL_SKID_DBH_THRESH -- DBH threshold for damage caused in skid trails. ! + ! SL_SKID_S_GTHARV -- survivorship of trees with DBH > MINDBH in skid trails. ! + ! SL_SKID_S_LTHARV -- survivorship of trees with DBH < MINDBH in skid trails. ! + ! SL_FELLING_S_LTHARV -- survivorship of trees with DBH < MINDBH in felling gaps. ! + ! ! + ! Cropland variables, used when IANTH_DISTURB is 1 or 2. ! + ! ! + ! CL_FSEEDS_HARVEST -- fraction of seeds that is harvested. ! + ! CL_FSTORAGE_HARVEST -- fraction of non-structural carbon that is harvested. ! + ! CL_FLEAF_HARVEST -- fraction of leaves that is harvested in croplands. ! + !---------------------------------------------------------------------------------------! + NL%IANTH_DISTURB = 0 + NL%SL_SCALE = 1 + NL%SL_YR_FIRST = 1992 + NL%SL_NYRS = 50 + NL%SL_PFT = 2,3,4 + NL%SL_PROB_HARVEST = 1.0,1.0,1.0 + NL%SL_MINDBH_HARVEST = 50.,50.,50. + NL%SL_BIOMASS_HARVEST = 0 + NL%SL_SKID_REL_AREA = 1 + NL%SL_SKID_DBH_THRESH = 30. + NL%SL_SKID_S_GTHARV = 1 + NL%SL_SKID_S_LTHARV = 0.6 + NL%SL_FELLING_S_LTHARV = 0.35 + NL%CL_FSEEDS_HARVEST = 0.75 + NL%CL_FSTORAGE_HARVEST = 0.00 + NL%CL_FLEAF_HARVEST = 0.00 !---------------------------------------------------------------------------------------! diff --git a/EDTS/Templates/ED2IN-umbs.bg b/EDTS/Templates/ED2IN-umbs.bg index 0d928cfae..50ec0b65d 100644 --- a/EDTS/Templates/ED2IN-umbs.bg +++ b/EDTS/Templates/ED2IN-umbs.bg @@ -181,9 +181,10 @@ $ED_NL NL%SL_PROB_HARVEST = 1.0,1.0,1.0 NL%SL_MINDBH_HARVEST = 50.,50.,50. NL%SL_BIOMASS_HARVEST = 0 - NL%SL_SKID_REL_AREA = 1 - NL%SL_SKID_S_GTHARV = 1 - NL%SL_SKID_S_LTHARV = 0.6 + NL%SL_SKID_REL_AREA = 1 + NL%SL_SKID_DBH_THRESH = 30. + NL%SL_SKID_S_GTHARV = 1 + NL%SL_SKID_S_LTHARV = 0.6 NL%SL_FELLING_S_LTHARV = 0.35 NL%CL_FSEEDS_HARVEST = 0.75 NL%CL_FSTORAGE_HARVEST = 0.00 From cf1eeb2c6e6f59dff7061c9eb2ec328bfde8b668 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 17:00:06 -0700 Subject: [PATCH 47/62] Update ED2IN variable description in the CI namelists. --- EDTS/Templates/ED2IN-TEST | 20 +++++++++----- EDTS/Templates/ED2IN-tonzi | 43 ++++++++++++++++++------------ EDTS/Templates/ED2IN-tonzi.harvest | 43 ++++++++++++++++++------------ 3 files changed, 65 insertions(+), 41 deletions(-) diff --git a/EDTS/Templates/ED2IN-TEST b/EDTS/Templates/ED2IN-TEST index 64f489146..11845187c 100644 --- a/EDTS/Templates/ED2IN-TEST +++ b/EDTS/Templates/ED2IN-TEST @@ -887,13 +887,19 @@ $ED_NL ! a few genera in Costa Rica. References: ! ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! ! (2008, Tree Physiol.). ! - ! 3. (Beta) Updated allometric for tropical PFTs based on data from ! - ! Sustainable Landscapes Brazil (Height and crown area), Chave et al. ! - ! (2014, Glob. Change Biol.) (biomass) and the BAAD data base, Falster et ! - ! al. (2015, Ecology) (leaf area). Both leaf and structural biomass take ! - ! DBH and Height as dependent variables, and DBH-Height takes a simpler ! - ! log-linear form fitted using SMA so it can be inverted (useful for ! - ! airborne lidar initialisation). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! + ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! NL%IALLOM = 3 !---------------------------------------------------------------------------------------! diff --git a/EDTS/Templates/ED2IN-tonzi b/EDTS/Templates/ED2IN-tonzi index 06ed7ff22..a3e0b78c4 100644 --- a/EDTS/Templates/ED2IN-tonzi +++ b/EDTS/Templates/ED2IN-tonzi @@ -788,27 +788,36 @@ $ED_NL !---------------------------------------------------------------------------------------! - ! IALLOM -- Which allometry to use (this mostly affects tropical PFTs. Temperate PFTs ! - ! will use the new root allometry and the maximum crown area if IALLOM is set ! - ! to 1 or 2). ! - ! 0. Original ED-2.1 ! - ! 1. a. The coefficients for structural biomass are set so the total AGB ! - ! is similar to Baker et al. (2004), equation 2. Balive is the ! - ! default ED-2.1; ! + ! IALLOM -- Which allometry to use (this mostly affects tropical PFTs). Temperate PFTs ! + ! will use the new root allometry and the maximum crown area unless IALLOM is ! + ! set to 0). ! + ! 0. (Legacy) Original ED-1.0, included for back compatibility. ! + ! 1. (Legacy) ! + ! a. The coefficients for structural biomass are set so the total AGB ! + ! is similar to Baker et al. (2004, Glob. Change Biol.), equation 2. ! ! b. Experimental root depth that makes canopy trees to have root depths ! ! of 5m and grasses/seedlings at 0.5 to have root depth of 0.5 m. ! - ! c. Crown area defined as in Poorter et al. (2006), imposing maximum ! - ! crown area ! - ! 2. Similar to 1, but with a few extra changes. ! + ! c. Crown area defined as in Poorter et al. (2006, Ecology), imposing ! + ! maximum crown area. ! + ! 2. (ED-2.2 default) Similar to 1, but with a few extra changes. ! ! a. Height -> DBH allometry as in Poorter et al. (2006) ! ! b. Balive is retuned, using a few leaf biomass allometric equations for ! - ! a few genuses in Costa Rica. References: ! - ! Cole and Ewel (2006), and Calvo Alvarado et al. (2008). ! - ! 3. Similar to 2, except that tropical leaf biomass is estimated from ! - ! Lescure et al. (1983), and PFT differences on bleaf are based on SLA ! - ! instead of wood density. Also, the leaf allometry is split into ! - ! small classes ("saplings") and large classes ("trees"), like in Cole ! - ! and Ewel (2006). ! + ! a few genera in Costa Rica. References: ! + ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! + ! (2008, Tree Physiol.). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! + ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! NL%IALLOM = 2 !---------------------------------------------------------------------------------------! diff --git a/EDTS/Templates/ED2IN-tonzi.harvest b/EDTS/Templates/ED2IN-tonzi.harvest index fed665436..590485aaf 100644 --- a/EDTS/Templates/ED2IN-tonzi.harvest +++ b/EDTS/Templates/ED2IN-tonzi.harvest @@ -788,27 +788,36 @@ $ED_NL !---------------------------------------------------------------------------------------! - ! IALLOM -- Which allometry to use (this mostly affects tropical PFTs. Temperate PFTs ! - ! will use the new root allometry and the maximum crown area if IALLOM is set ! - ! to 1 or 2). ! - ! 0. Original ED-2.1 ! - ! 1. a. The coefficients for structural biomass are set so the total AGB ! - ! is similar to Baker et al. (2004), equation 2. Balive is the ! - ! default ED-2.1; ! + ! IALLOM -- Which allometry to use (this mostly affects tropical PFTs). Temperate PFTs ! + ! will use the new root allometry and the maximum crown area unless IALLOM is ! + ! set to 0). ! + ! 0. (Legacy) Original ED-1.0, included for back compatibility. ! + ! 1. (Legacy) ! + ! a. The coefficients for structural biomass are set so the total AGB ! + ! is similar to Baker et al. (2004, Glob. Change Biol.), equation 2. ! ! b. Experimental root depth that makes canopy trees to have root depths ! ! of 5m and grasses/seedlings at 0.5 to have root depth of 0.5 m. ! - ! c. Crown area defined as in Poorter et al. (2006), imposing maximum ! - ! crown area ! - ! 2. Similar to 1, but with a few extra changes. ! + ! c. Crown area defined as in Poorter et al. (2006, Ecology), imposing ! + ! maximum crown area. ! + ! 2. (ED-2.2 default) Similar to 1, but with a few extra changes. ! ! a. Height -> DBH allometry as in Poorter et al. (2006) ! ! b. Balive is retuned, using a few leaf biomass allometric equations for ! - ! a few genuses in Costa Rica. References: ! - ! Cole and Ewel (2006), and Calvo Alvarado et al. (2008). ! - ! 3. Similar to 2, except that tropical leaf biomass is estimated from ! - ! Lescure et al. (1983), and PFT differences on bleaf are based on SLA ! - ! instead of wood density. Also, the leaf allometry is split into ! - ! small classes ("saplings") and large classes ("trees"), like in Cole ! - ! and Ewel (2006). ! + ! a few genera in Costa Rica. References: ! + ! Cole and Ewel (2006, Forest Ecol. Manag.), and Calvo-Alvarado et al. ! + ! (2008, Tree Physiol.). ! + ! 3. (Beta) Revised tropical PFT allometric (Longo et al. 2020, JGR-B). ! + ! a. Height -> DBH and DBH^2*H -> CA. Model fitting using the Sustainable ! + ! Landscapes Dataset (Longo et al. 2016, Glob. Biogeochem. Cycles). ! + ! DBH-Height takes a simpler log-linear form fitted using SMA so it can ! + ! be inverted (useful for airborne lidar initialisation). ! + ! b. DBH^2*H -> AGB. Based on Chave et al. (2014, Glob. Change Biol.) ! + ! c. DBH^2*H -> Leaf area based on the BAAD data base: ! + ! Falster et al. (2015, Ecology). ! + ! 4. (Under Development) Similar to 3 but (a) leaf and height allometric ! + ! equations depend on wood density; (b) use height-based root allometry ! + ! from Smith-Martin et al. (2020, New Phyt.). ! + ! 5. (Under Development) Similar to IALLOM = 3 but using the rooting ! + ! allometry from IALLOM = 4. ! !---------------------------------------------------------------------------------------! NL%IALLOM = 2 !---------------------------------------------------------------------------------------! From 5fa04176b9ff1962dd92ab334c2bd9401c1a0a82 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 17:01:19 -0700 Subject: [PATCH 48/62] Update ED2IN variable description in the CI namelists. --- EDTS/Templates/ED2IN-TEST | 15 +++++++++++++++ EDTS/Templates/ED2IN-tonzi | 29 ++++++++++++++++++++++------- EDTS/Templates/ED2IN-tonzi.harvest | 29 ++++++++++++++++++++++------- 3 files changed, 59 insertions(+), 14 deletions(-) diff --git a/EDTS/Templates/ED2IN-TEST b/EDTS/Templates/ED2IN-TEST index 64f489146..afda1e606 100644 --- a/EDTS/Templates/ED2IN-TEST +++ b/EDTS/Templates/ED2IN-TEST @@ -964,10 +964,25 @@ $ED_NL ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 4: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! ! New scheme: plants shed their leaves once a 10-day running average of available ! ! water becomes less than a critical value. ! + ! Hydraulics scheme: plants shed their leaves once predawn leaf water potential is ! + ! lower than tugor loss point for 10 consecutive days ! !---------------------------------------------------------------------------------------! NL%IPHEN_SCHEME = 2 !---------------------------------------------------------------------------------------! diff --git a/EDTS/Templates/ED2IN-tonzi b/EDTS/Templates/ED2IN-tonzi index 06ed7ff22..1ca69de05 100644 --- a/EDTS/Templates/ED2IN-tonzi +++ b/EDTS/Templates/ED2IN-tonzi @@ -848,37 +848,52 @@ $ED_NL ! IPHEN_SCHEME -- It controls the phenology scheme. Even within each scheme, the ! ! actual phenology will be different depending on the PFT. ! ! ! - ! -1: grasses - evergreen; ! + ! -1: (ED-2.2 default for evergreen tropical). ! + ! grasses - evergreen; ! ! tropical - evergreen; ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous (Botta et al.); ! ! ! - ! 0: grasses - drought-deciduous (old scheme); ! + ! 0: (Deprecated). ! + ! grasses - drought-deciduous (old scheme); ! ! tropical - drought-deciduous (old scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! - ! 1: prescribed phenology ! + ! 1: (ED-2.2 default for prescribed phenology; deprecated for tropical PFTs). ! + ! phenology is prescribed for cold-deciduous broadleaf trees. ! ! ! - ! 2: grasses - drought-deciduous (new scheme); ! + ! 2: (ED-2.2 default). ! + ! grasses - drought-deciduous (new scheme); ! ! tropical - drought-deciduous (new scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! - ! 3: grasses - drought-deciduous (new scheme); ! + ! 3: (Beta). ! + ! grasses - drought-deciduous (new scheme); ! ! tropical - drought-deciduous (light phenology); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! - ! 4: grasses - drought-deciduous (plant hydraulics); ! - ! tropical - drought-deciduous (plant hydraulics; ! + ! 4: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! ! New scheme: plants shed their leaves once a 10-day running average of available ! ! water becomes less than a critical value. ! + ! Hydraulics scheme: plants shed their leaves once predawn leaf water potential is ! + ! lower than tugor loss point for 10 consecutive days ! !---------------------------------------------------------------------------------------! NL%IPHEN_SCHEME = 2 !---------------------------------------------------------------------------------------! diff --git a/EDTS/Templates/ED2IN-tonzi.harvest b/EDTS/Templates/ED2IN-tonzi.harvest index fed665436..8345de2ae 100644 --- a/EDTS/Templates/ED2IN-tonzi.harvest +++ b/EDTS/Templates/ED2IN-tonzi.harvest @@ -848,37 +848,52 @@ $ED_NL ! IPHEN_SCHEME -- It controls the phenology scheme. Even within each scheme, the ! ! actual phenology will be different depending on the PFT. ! ! ! - ! -1: grasses - evergreen; ! + ! -1: (ED-2.2 default for evergreen tropical). ! + ! grasses - evergreen; ! ! tropical - evergreen; ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous (Botta et al.); ! ! ! - ! 0: grasses - drought-deciduous (old scheme); ! + ! 0: (Deprecated). ! + ! grasses - drought-deciduous (old scheme); ! ! tropical - drought-deciduous (old scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! - ! 1: prescribed phenology ! + ! 1: (ED-2.2 default for prescribed phenology; deprecated for tropical PFTs). ! + ! phenology is prescribed for cold-deciduous broadleaf trees. ! ! ! - ! 2: grasses - drought-deciduous (new scheme); ! + ! 2: (ED-2.2 default). ! + ! grasses - drought-deciduous (new scheme); ! ! tropical - drought-deciduous (new scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! - ! 3: grasses - drought-deciduous (new scheme); ! + ! 3: (Beta). ! + ! grasses - drought-deciduous (new scheme); ! ! tropical - drought-deciduous (light phenology); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! - ! 4: grasses - drought-deciduous (plant hydraulics); ! - ! tropical - drought-deciduous (plant hydraulics; ! + ! 4: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme); ! ! conifers - evergreen; ! ! hardwoods - cold-deciduous; ! ! ! + ! 5: (Beta). ! + ! grasses - drought-deciduous (hydraulics scheme); ! + ! tropical - drought-deciduous (hydraulics scheme + light phenology); ! + ! conifers - evergreen; ! + ! hardwoods - cold-deciduous; ! + ! ! + ! ! ! Old scheme: plants shed their leaves once instantaneous amount of available water ! ! becomes less than a critical value. ! ! New scheme: plants shed their leaves once a 10-day running average of available ! ! water becomes less than a critical value. ! + ! Hydraulics scheme: plants shed their leaves once predawn leaf water potential is ! + ! lower than tugor loss point for 10 consecutive days ! !---------------------------------------------------------------------------------------! NL%IPHEN_SCHEME = 2 !---------------------------------------------------------------------------------------! From d6755db7f87d6abf64e354d76c9701e027df4a21 Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 17:11:34 -0700 Subject: [PATCH 49/62] Updated a few other R scripts. --- R-utils/assign.pft.r | 2 +- R-utils/fuse.fiss.utils.r | 182 +++- R-utils/neon_utils.r | 1630 ++++++++++++++++++++++++++++++++++ R-utils/optim.gbm.r | 3 + R-utils/optim.pls.r | 60 +- R-utils/optim.randomforest.r | 3 + R-utils/qapply.r | 21 + 7 files changed, 1830 insertions(+), 71 deletions(-) create mode 100644 R-utils/neon_utils.r diff --git a/R-utils/assign.pft.r b/R-utils/assign.pft.r index 4567345dc..5d22144da 100644 --- a/R-utils/assign.pft.r +++ b/R-utils/assign.pft.r @@ -333,7 +333,7 @@ assign.pft <<- function(datum,path=srcdir,approach=c("rho","cluster"),verbose=FA #==========================================================================================# #==========================================================================================# -# This function finds the most similar group to the data in +# This function finds the most similar group to the data input. #------------------------------------------------------------------------------------------# which.pft <<- function(datum,medoid,trait,wcluster){ diff --git a/R-utils/fuse.fiss.utils.r b/R-utils/fuse.fiss.utils.r index 12d330bc4..4224c50d4 100644 --- a/R-utils/fuse.fiss.utils.r +++ b/R-utils/fuse.fiss.utils.r @@ -250,15 +250,21 @@ fuse.trees <<- function(receptor,donor,don.2.rec,survey.years,sci.strict=TRUE){ #---------------------------------------------------------------------------------# - }else if ( length(grep(pattern="dead." ,x=vname)) > 0 - || length(grep(pattern="canopy." ,x=vname)) > 0 - || length(grep(pattern="height." ,x=vname)) > 0 - || length(grep(pattern="band." ,x=vname)) > 0 - || length(grep(pattern="pom." ,x=vname)) > 0 - || length(grep(pattern="ladder" ,x=vname)) > 0 - || length(grep(pattern="cnpj" ,x=vname)) > 0 - || length(grep(pattern="soil" ,x=vname)) > 0 - || length(grep(pattern="code" ,x=vname)) > 0 + }else if ( any(grepl(pattern="dead." ,x=vname)) + || any(grepl(pattern="canopy." ,x=vname)) + || any(grepl(pattern="height." ,x=vname)) + || any(grepl(pattern="band." ,x=vname)) + || any(grepl(pattern="pom." ,x=vname)) + || any(grepl(pattern="ladder" ,x=vname)) + || any(grepl(pattern="cnpj" ,x=vname)) + || any(grepl(pattern="soil" ,x=vname)) + || any(grepl(pattern="code" ,x=vname)) + || any(grepl(pattern="plant.ID" ,x=vname)) + || any(grepl(pattern="voucher.number",x=vname)) + || any(grepl(pattern="status" ,x=vname)) + || any(grepl(pattern="tax.reliab" ,x=vname)) + || any(grepl(pattern="flag" ,x=vname)) + || any(grepl(pattern="n.tag" ,x=vname)) ){ #---- Variables that we update only if they have NA. -----------------------------# sel = ( is.na(receptor[[vname]]) @@ -332,7 +338,7 @@ fuse.trees <<- function(receptor,donor,don.2.rec,survey.years,sci.strict=TRUE){ }else{ #----- Missing instructions, quit... ---------------------------------------------# - cat (" * VARIABLE: ",vname," has no instrucion!","\n") + cat (" * VARIABLE: ",vname," has no instruction!","\n") stop("Could not process the variable, sorry!") #---------------------------------------------------------------------------------# }#end if @@ -351,19 +357,25 @@ fuse.trees <<- function(receptor,donor,don.2.rec,survey.years,sci.strict=TRUE){ #==========================================================================================# #==========================================================================================# -# Function blend.trees # +# Function merge.trees # # # -# This function blends one tree to the other. This is slightly different from the # -# fusion routine above because blending adds information but compares the periods for # +# This function merges one tree to the other. This is slightly different from the # +# fusion routine above because merging adds information but compares the periods for # # which information is to be added. The other difference is that IT CANNOT BE USED IN # # VECTOR MODE: it works between one donor and one receptor only. # # # # receptor -- The data frame that will receive the data # # donor -- The data frame that will send the data # -# don.2.rec -- The indices of the receptor that will receive the data. # -# update.yr.notes -- Should we use notes.orig to make year notes? (TRUE/FALSE). # +# years.merge -- Years to merge data. # +# use.xy -- Variable to force using either donor ("from") or receptor ("to") # +# coordinate information. Default (NA_character_) is to check for # +# merged year and data availability. # +# use.tag -- Variable to force using either donor ("from") or receptor ("to") # +# tag information. Default (NA_character_) is to check for # +# merged year and data availability. # #------------------------------------------------------------------------------------------# -blend.trees = function(receptor,donor,years.blend){ +merge.trees = function(receptor,donor,years.merge + ,use.xy=NA_character_,use.tag=NA_character_){ #---------------------------------------------------------------------------------------# # Get the list of all variables. # @@ -394,7 +406,7 @@ blend.trees = function(receptor,donor,years.blend){ vname = variables[nv] old = paste("old",vname,sep=".") first = paste(vname,"1st",sep=".") - blend.input = paste(substring(vname,1,nchar(vname)-5),years.blend,sep=".") + merge.input = paste(substring(vname,1,nchar(vname)-5),years.merge,sep=".") #------------------------------------------------------------------------------------# @@ -402,16 +414,17 @@ blend.trees = function(receptor,donor,years.blend){ #------------------------------------------------------------------------------------# # Decide what to do based on the variable. # #------------------------------------------------------------------------------------# - if ( length(grep(pattern="trans" ,x=vname)) > 0 || - length(grep(pattern="full.tag" ,x=vname)) > 0 || - length(grep(pattern="old." ,x=vname)) > 0 || - length(grep(pattern=".1st" ,x=vname)) > 0 || - length(grep(pattern="scientific",x=vname)) > 0 || - length(grep(pattern="genus" ,x=vname)) > 0 || - length(grep(pattern="family" ,x=vname)) > 0 || - length(grep(pattern="year.last" ,x=vname)) > 0 || - length(grep(pattern="cnpj" ,x=vname)) > 0 || - length(grep(pattern="conflict." ,x=vname)) > 0){ + if ( any(grepl(pattern="trans" ,x=vname)) || + any(grepl(pattern="full.tag" ,x=vname)) || + any(grepl(pattern="old." ,x=vname)) || + any(grepl(pattern=".1st" ,x=vname)) || + any(grepl(pattern="scientific",x=vname)) || + any(grepl(pattern="genus" ,x=vname)) || + any(grepl(pattern="family" ,x=vname)) || + any(grepl(pattern="year.last" ,x=vname)) || + any(grepl(pattern="cnpj" ,x=vname)) || + any(grepl(pattern="conflict." ,x=vname)) + ){ #---------------------------------------------------------------------------------# # We skip these variables. # #---------------------------------------------------------------------------------# @@ -422,7 +435,7 @@ blend.trees = function(receptor,donor,years.blend){ }else if (vname %in% c("year.added")){ #---- We always keep the lowest value. -------------------------------------------# - receptor$year.added = min(receptor$year.added,min(years.blend)) + receptor$year.added = min(receptor$year.added,min(years.merge)) #---------------------------------------------------------------------------------# @@ -440,16 +453,17 @@ blend.trees = function(receptor,donor,years.blend){ #---------------------------------------------------------------------------------# - }else if (vname %in% c("tag","x","y")){ + }else if (vname %in% c("x","y")){ #---------------------------------------------------------------------------------# - # We will consider changing the values only if the donor has information. # + # We will consider changing the values only if the donor has information or # + # if we have clear instructions of what to do. # #---------------------------------------------------------------------------------# - if (! is.na(donor[[vname]])){ + if (is.na(use.xy) && (! is.na(donor[[vname]]))){ #------------------------------------------------------------------------------# # We update coordinates only if the last year of the original dataset was # - # less than the years we are blending. # + # less than the years we are merging. # #------------------------------------------------------------------------------# - if ( ( ( max(years.blend) > receptor$year.last ) + if ( ( ( max(years.merge) > receptor$year.last ) && ( receptor[[vname]] != donor[[vname]] ) ) || is.na(receptor[[vname]]) ){ receptor[[old ]] = receptor[[vname]] @@ -459,16 +473,83 @@ blend.trees = function(receptor,donor,years.blend){ #------------------------------------------------------------------------------# - # We don't change the "1st" variables unless the data we are blending is # + # We don't change the "1st" variables unless the data we are merging is # # older than the first year the receptor has data. # #------------------------------------------------------------------------------# - if ( ( ( min(years.blend) < receptor$year.1st ) + if ( ( ( min(years.merge) < receptor$year.1st ) && ( receptor[[vname]] != donor[[vname]] ) ) || is.na(receptor[[vname]]) ){ receptor[[first]] = donor[[first]] }#end if #------------------------------------------------------------------------------# - }#end if + }else if (use.xy %in% "from"){ + #------------------------------------------------------------------------------# + # Set coordinates based on donor. # + #------------------------------------------------------------------------------# + receptor[[vname]] = donor[[vname]] + receptor[[old ]] = donor[[old ]] + receptor[[first]] = donor[[first]] + #------------------------------------------------------------------------------# + }else if (use.xy %in% "to"){ + #------------------------------------------------------------------------------# + # Set coordinates based on receptor. Dummy commands, no need to do # + # anything. # + #------------------------------------------------------------------------------# + receptor[[vname]] = receptor[[vname]] + receptor[[old ]] = receptor[[old ]] + receptor[[first]] = receptor[[first]] + #------------------------------------------------------------------------------# + }#end if (is.na(use.xy) && (! is.na(donor[[vname]]))) + #---------------------------------------------------------------------------------# + + + }else if (vname %in% c("tag")){ + #---------------------------------------------------------------------------------# + # We will consider changing the values only if the donor has information or # + # if we have clear instructions of what to do. # + #---------------------------------------------------------------------------------# + if (is.na(use.tag) && (! is.na(donor[[vname]]))){ + #------------------------------------------------------------------------------# + # We update coordinates only if the last year of the original dataset was # + # less than the years we are merging. # + #------------------------------------------------------------------------------# + if ( ( ( max(years.merge) > receptor$year.last ) + && ( receptor[[vname]] != donor[[vname]] ) ) + || is.na(receptor[[vname]]) ){ + receptor[[old ]] = receptor[[vname]] + receptor[[vname]] = donor [[vname]] + }#end if + #------------------------------------------------------------------------------# + + + #------------------------------------------------------------------------------# + # We don't change the "1st" variables unless the data we are merging is # + # older than the first year the receptor has data. # + #------------------------------------------------------------------------------# + if ( ( ( min(years.merge) < receptor$year.1st ) + && ( receptor[[vname]] != donor[[vname]] ) ) + || is.na(receptor[[vname]]) ){ + receptor[[first]] = donor[[first]] + }#end if + #------------------------------------------------------------------------------# + }else if (use.tag %in% "from"){ + #------------------------------------------------------------------------------# + # Set coordinates based on donor. # + #------------------------------------------------------------------------------# + receptor[[vname]] = donor[[vname]] + receptor[[old ]] = donor[[old ]] + receptor[[first]] = donor[[first]] + #------------------------------------------------------------------------------# + }else if (use.tag %in% "to"){ + #------------------------------------------------------------------------------# + # Set coordinates based on receptor. Dummy commands, no need to do # + # anything. # + #------------------------------------------------------------------------------# + receptor[[vname]] = receptor[[vname]] + receptor[[old ]] = receptor[[old ]] + receptor[[first]] = receptor[[first]] + #------------------------------------------------------------------------------# + }#end if (is.na(use.tag) && (! is.na(donor[[vname]]))) #---------------------------------------------------------------------------------# @@ -528,7 +609,7 @@ blend.trees = function(receptor,donor,years.blend){ #------------------------------------------------------------------------------# # Check whether we update the common name. # #------------------------------------------------------------------------------# - if ( receptor$year.last < max(years.blend) ){ + if ( receptor$year.last < max(years.merge) ){ copy.common = ! donor.c.ignotum update.old = ( copy.common && (! receptor.c.ignotum) && receptor$common != donor$common ) @@ -541,7 +622,7 @@ blend.trees = function(receptor,donor,years.blend){ #------------------------------------------------------------------------------# # Check whether the donor first name is older than the receptor one. # #------------------------------------------------------------------------------# - if ( receptor$year.1st > min(years.blend) ){ + if ( receptor$year.1st > min(years.merge) ){ if ( ! donor.f.ignotum ){ receptor$common.1st = donor$common.1st }#end if @@ -600,9 +681,9 @@ blend.trees = function(receptor,donor,years.blend){ || ( length(grep(pattern="notes.",x=vname)) > 0 && ! vname %in% c("notes.orig","notes.qaqc") ) ){ #---------------------------------------------------------------------------------# - # Variables that we update only if this is the blending year. # + # Variables that we update only if this is the merging year. # #---------------------------------------------------------------------------------# - if (vname %in% blend.input && (! is.na(donor[[vname]]))){ + if (vname %in% merge.input && (! is.na(donor[[vname]]))){ #----- Copy only the cells that had no info before. ---------------------------# receptor[[vname]] = donor[[vname]] #------------------------------------------------------------------------------# @@ -612,7 +693,7 @@ blend.trees = function(receptor,donor,years.blend){ #---------------------------------------------------------------------------------# # For DBH, we also check whether they match in case of overlap, and flag any # - # mismatch for blending years. # + # mismatch for merging years. # #---------------------------------------------------------------------------------# if ( length(grep(pattern="dbh." ,x=vname)) > 0){ dbh.vars = c(dbh.vars,vname) @@ -624,11 +705,18 @@ blend.trees = function(receptor,donor,years.blend){ #---------------------------------------------------------------------------------# - }else if ( length(grep(pattern="canopy." ,x=vname)) > 0 - || length(grep(pattern="height." ,x=vname)) > 0 - || length(grep(pattern="band." ,x=vname)) > 0 - || length(grep(pattern="pom." ,x=vname)) > 0 - || length(grep(pattern="ladder" ,x=vname)) > 0 + }else if ( any(grepl(pattern="canopy." ,x=vname)) + || any(grepl(pattern="height." ,x=vname)) + || any(grepl(pattern="band." ,x=vname)) + || any(grepl(pattern="pom." ,x=vname)) + || any(grepl(pattern="ladder" ,x=vname)) + || any(grepl(pattern="plant.ID" ,x=vname)) + || any(grepl(pattern="voucher.number",x=vname)) + || any(grepl(pattern="status" ,x=vname)) + || any(grepl(pattern="tax.reliab" ,x=vname)) + || any(grepl(pattern="flag" ,x=vname)) + || any(grepl(pattern="n.tag" ,x=vname)) + ){ #---- Variables that we update only if they have NA. -----------------------------# sel = ( is.na(receptor[[vname]]) @@ -645,7 +733,7 @@ blend.trees = function(receptor,donor,years.blend){ }else{ #----- Missing instructions, quit... ---------------------------------------------# - cat (" * VARIABLE: ",vname," has no instrucion!","\n") + cat (" * VARIABLE: ",vname," has no instruction!","\n") stop("Could not process the variable, sorry!") #---------------------------------------------------------------------------------# }#end if diff --git a/R-utils/neon_utils.r b/R-utils/neon_utils.r new file mode 100644 index 000000000..3a6dd1a45 --- /dev/null +++ b/R-utils/neon_utils.r @@ -0,0 +1,1630 @@ +#----- List of flags for undetermined species. --------------------------------------------# +unknown_wildcard <<- c("aff","cf","deleteme","ind","indet","na","ni","sp","spp" + ,"spnov","unknown","unidentified" + ,paste0("sp" ,sequence(99)) + ,paste0("spb" ,sequence(99)) + ,paste0("spp" ,sequence(99)) + ,paste0("sp" ,sequence(99),"cay-atdn") + ,paste0("sp" ,sequence(99),"-cay" ) + ,paste0("sp" ,sequence(99),"guyafor" ) + ,paste0("spfg",sequence(99),"-holst" ) + )#end c +unknown_common <<- "unknown" +unk_liana_common <<- "liana" +unknown_phylum <<- "Ignotophyta" +unknown_class <<- "Ignotopsida" +unknown_order <<- "Ignotales" +unknown_family <<- "Ignotaceae" +unknown_genus <<- "Ignotum" +unknown_epithet <<- "indet" +unk_liana_phylum <<- "Lianophyta" +unk_liana_class <<- "Lianopsida" +unk_liana_order <<- "Lianales" +unk_liana_family <<- "Lianaceae" +unk_liana_genus <<- "Liana" +unknown_scientific <<- paste(unknown_genus,unknown_epithet) +unk_liana_scientific <<- paste(unk_liana_genus,unknown_epithet) +#------------------------------------------------------------------------------------------# + + + +#========================================================================================== +#========================================================================================== +# This function standardises the spelling of common names of trees. +#------------------------------------------------------------------------------------------ +standard_common_name_NEON <<- function(x){ + #---~--- + # Make sure common names are lower case. + #---~--- + x = tolower(x) + #---~--- + + + #---~--- + # Remove underscore marks. + #---~--- + x = gsub(pattern="_",replacement=" ",x=x) + #---~--- + + + + #---~--- + # General substitutions. These are very aggressive, so don't use it too much. + # Good things to put here are names that are often misspelt in a way that cannot occur + # in other words. For example, abiuarana instead of abiurana is a good case; replacing + # abiu with abiurana is a bad idea because abiurana would become abiuranarana. It's + # wise to use regexpr rules such as ^ and $ to make sure gsub won't substitute more + # than it is supposed to. + #---~--- + # x = gsub(pattern="^abiuarana" ,replacement="abiurana" ,x=x) + #---~--- + + + + #---~--- + # Specific substitutions. Most cases should come here. + #---~--- + sel = (x %in% "dense sedge" ); x[sel] = NA_character_ + #---~--- + + return(x) +}#end function standard.common.name +#========================================================================================== +#========================================================================================== + + + + + + +#========================================================================================== +#========================================================================================== +# This function corrects scientific names and families that are not correctly typed, +# are synonyms or have become obsolete. +#------------------------------------------------------------------------------------------# + + + + + + +#========================================================================================== +#========================================================================================== +# This attributes scientific names based on common names for NEON surveys. +# It is NOT a good idea to use this anywhere else because common names may mean completely +# diferent things... +#------------------------------------------------------------------------------------------ +scientific_lookup_NEON <<- function(datum,lookup_path,site){ + + #---~--- + # Read in the look-up table. + #---~--- + lookup_file = file.path(lookup_path,"NEON_taxon_lookup.csv") + look_up = as.data.table(read.csv(file=lookup_file,stringsAsFactors=FALSE)) + look_up$common = tolower(trim(look_up$common )) + look_up$scientific = trim(look_up$scientific) + look_up$family = trim(look_up$family ) + #---~--- + + + #---~--- + # Keep only entries for this NEON site. + #---~--- + if (site %in% names(look_up)){ + look_up = look_up[look_up[[site]],,drop=FALSE] + }else{ + cat0("-------------------------------------------------------------------") + cat0(" ERROR! Site is not available at the look-up data base." ) + cat0("-------------------------------------------------------------------") + cat0(" " ) + cat0(" Site: ",site ) + cat0(" Data base file: ",lookup_file ) + cat0(" " ) + cat0(" Edit data base file, adding all the common names occurring at" ) + cat0(" your site, and add a column named site with the entries that" ) + cat0(" should be applicable to your site. Look for existing nearby" ) + cat0(" sites, it is fine to have the same common name valid for multiple" ) + cat0(" locations. If the common name already exists in the data base" ) + cat0(" but refers to a different species in your site, duplicate the" ) + cat0(" common name, make sure to set the new entry to TRUE for the new" ) + cat0(" site, and FALSE to all the other sites. Also set the new site to" ) + cat0(" FALSE in the existing entry." ) + cat0(" " ) + cat0("-------------------------------------------------------------------") + stop("Invalid site.") + }#end if (site %in% look_up) + #---~--- + + + + #---~--- + # Break into genus and epithet. + #---~--- + ge_list = sapply(X = tolower(look_up$scientific),FUN=strsplit,split=" ") + ge_length = sapply(X = ge_list, FUN = length) + ge_mat = cbind( mapply(FUN="[",ge_list,MoreArgs=list(1)) + , mapply(FUN="[",ge_list,MoreArgs=list(2)) + )#end cbind + g = capwords(ge_mat[,1],strict=TRUE) + e = tolower(ge_mat[,2]) + g_e = paste(g,e,sep=" ") + g_e[is.na(g) & is.na(e)] = NA_character_ + look_up$scientific = g_e + look_up$genus = g + #---~--- + + + + #---~--- + # Trim the common names, and simplify/replace some names. + #---~--- + datum$common = tolower(trim(datum$common)) + datum$common[is.na(datum$common)] = unknown_common + #---~--- + + + #---~--- + # Initialise column gf.scientific in case it is not available. + #---~--- + if (! "gf.scientific" %in% names(datum)){ + datum$gf.scientific = rep(NA_integer_,times=nrow(datum)) + }#end (! "gf.scientific" %in% names(datum)) + #---~--- + + + #---~--- + # Find all unique common names. + #---~--- + unique_common = unique(datum$common) + n_common = length(unique_common) + not_found = character(0L) + for (n in sequence(n_common)){ + #---~--- + # Find the trees that have the same common name as this one. + #---~--- + cat0(" - ",n,"/",n_common," -- ",unique_common[n],".") + w_dat = which(datum$common %in% unique_common[n]) + n_dat = length(w_dat) + #---~--- + + + #---~--- + # Find the trees in the look-up table with the same common name. + #---~--- + w_look = which(look_up$common %in% unique_common[n]) + n_look = length(w_look) + #---~--- + + + + #---~--- + # Check how many trees have the same common name in the look-up table. + #---~--- + if (n_look == 1){ + #---~--- + # Only one. Use it. + #---~--- + datum$scientific [w_dat] = look_up$scientific[w_look] + datum$genus [w_dat] = look_up$genus [w_look] + datum$gf.scientific[w_dat] = 1L + }else if (n_look > 1){ + datum$scientific [w_dat] = sample( x = look_up$scientific[w_look] + , size = n_dat + , replace = TRUE + )#end sample + datum$genus [w_dat] = look_up$genus [w_look] + datum$gf.scientific[w_dat] = 1 + }else{ + not_found = c(not_found,unique_common[n]) + datum$scientific [w_dat] = unknown_scientific + datum$genus [w_dat] = unknown_genus + datum$gf.scientific[w_dat] = 0 + }#end if + #---~--- + }#end for (n in sequence(n_common)) + #---~--- + + + #---~--- + # In case species were not found, list them so the user is aware. + #---~--- + not_found = not_found[! not_found %in% unknown_common] + if (length(not_found) %gt% 0L){ + #---~--- + # Report the unmatched names. + #---~--- + cat0(" " ) + cat0(" " ) + cat0("-------------------------------------------------------------------") + cat0(" WARNING! Some names were not found in the common name data base." ) + cat0("-------------------------------------------------------------------") + cat0(" " ) + cat0(" Site: ",site ) + cat0(" Data base file: ",lookup_file ) + cat0(" " ) + cat0(" Species not found:" ) + #---~--- + + #---~--- + # Loop through unmatched names. + #---~--- + for (n in seq_along(not_found)){ + cat0(" - ",not_found[n],"." ) + }#end for (n in seq_along(not_found)) + #---~--- + + #---~--- + # End report + #---~--- + cat0(" " ) + cat0("-------------------------------------------------------------------") + cat0(" " ) + cat0(" " ) + #---~--- + }#end if (length(not_found) %gt% 0L) + #---~--- + + #---~--- + # Return standardised data. + #---~--- + return(datum) + #---~--- +}#end function scientific_lookup_NEON +#==========================================================================================# +#==========================================================================================# + + + + + + +#========================================================================================== +#========================================================================================== +# Fill in the traits for all individuals. We do this in three stages, and save how +# the trait was determined. The numbers represent the flag given for each trait. +# 0 -- Individuals have full identification and the species is listed in the +# database; we used the reported density for that species. +# 1 -- The species/genus is identified but it isn't listed in the database, we use an +# average of all other species of that genus that exist in database. +# 2 -- We could not identify the individual to the genus level, but we know the +# family. We use the average wood density of all individuals of this census that +# belong to that family. +# 3 -- No taxonomic information could be retrieved for this individual, so we filled +# with random sampling. +# +# We also add 10 when the scientific name was gap filled. +# +# INPUT variables: +# +# - datum -- data frame with data. This is going to be the output as well +# - trait -- trait to fill +# - tdb.csv -- csv file containing the trait data base +# - country -- restrict attribution to these countries (NULL uses all countries) +# - continents -- restrict attribution to these continents (NULL uses all continents) +# - fsample -- use random sampling to fill unidentified individuals, or individuals +# with genus that is not available at the trait data base? +# If FALSE then it uses averages +# - weight -- A weighting factor to give either probability or to weight +# the average. This could be a vector with weights, or a character with +# the name of the variable in datum to use as the weight, or an integer +# with the column to be used as the weighting factor +# - verbose -- Flag to control the amount of information +#------------------------------------------------------------------------------------------ +find_trait_NEON <<- function( datum + , trait = c( "wood.dens", "SLA", "leaf.phen" + , "growth.form", "woodland") + , tdb.csv = file.path(srcdir,"NEON_trait_table.csv") + , country = NULL + , continent = NULL + , fsample = TRUE + , weight = NULL + , verbose = FALSE + ){ + + #---~--- + # Check that trait is valid. + #---~--- + trait = match.arg(trait) + n.trait = paste0("n." ,trait) + gf.trait = paste0("gf.",trait) + #---~--- + + + #---~--- + # Initialise gap filling flag and region in case they are not there. + #---~--- + if (! trait %in% names(datum)){ + if ( trait %in% c("leaf.phen","growth.form") ){ + datum[[trait]] = rep(NA_character_,times=nrow(datum)) + }else if ( trait %in% "woodland" ){ + datum[[trait]] = rep(NA_logical_ ,times=nrow(datum)) + }else{ + datum[[trait]] = rep(NA_real_ ,times=nrow(datum)) + }#end if ( trait %in% c("leaf.phen","growth.form") ) + }#end (! trait %in% names(datum)) + if (! gf.trait %in% names(datum)){ + datum[[gf.trait]] = rep(NA_integer_,times=nrow(datum)) + }#end (! gf.trait %in% names(datum)) + if (! "country" %in% names(datum)){ + datum$country = rep(NA_character_,times=nrow(datum)) + }#end (! "country" %in% names(datum)) + if (! "continent" %in% names(datum)){ + datum$continent = rep(NA_character_,times=nrow(datum)) + }#end (! "continent" %in% names(datum)) + #---~--- + + + #---~--- + # Check whether weight is a vector, or a character. Make them a vector here. + #---~--- + if (is.null(weight)){ + #---~--- + # No weight provided, use equal weights. + #---~--- + wgtfac = rep(x=1/nrow(datum),times=nrow(datum)) + #---~--- + }else if (is.character(weight) && (length(weight) == 1)){ + #---~--- + # Character with column name was provided. + #---~--- + if (weight %in% names(datum)){ + wgtfac = ifelse(datum[[weight]] %gt% 0, datum[[weight]], 0) + }else{ + stop(paste0(" Weight Variable name (",weight,") not found in datum!")) + }#end if + #---~--- + }else if (is.numeric(weight) && (length(weight) == 1)){ + #---~--- + # Column index provided. + #---~--- + if (! (weight %wr% c(1,ncol(datum)))){ + stop(paste0(" Weight column index (",weight,") doesn't make sense")) + }else if (is.numeric(datum[,weight])){ + wgtfac = ifelse(datum[,weight] %gt% 0, datum[,weight], 0) + }else{ + stop(paste0(" Column ",weight," of data frame is not numeric!")) + }#end if + #---~--- + }else if (is.numeric(weight) && (length(weight) == nrow(datum))){ + wgtfac = ifelse(weight %gt% 0, weight, 0) + }else{ + stop("Variable weight is not properly set!") + }#end if (is.null(weight)) + #---~--- + + + + #---~--- + # Check that the weighting factor makes sense. + #---~--- + if (sum(wgtfac) > 0){ + wgtfac = wgtfac / sum(wgtfac) + }else{ + stop(" Invalid weighting variable. Most numbers should be positive...") + }#end if + #---~--- + + + + #---~--- + # Read data base to fill traits. + #---~--- + tdb = read.csv(file=tdb.csv,header=TRUE,stringsAsFactors=FALSE) + keep = ! is.na(tdb[[trait]]) + tdb = tdb[keep,,drop=FALSE] + #---~--- + + + + #---~--- + # Restrict data base to valid traits in selected regions, and make sure the data base + # can be used. + #---~--- + if (! (trait %in% names(tdb))){ + stop(paste0(" Trait ",trait," is not available in trait file \"" + ,basename(tdb.csv),"\".")) + }else if (! all(c("country","continent") %in% names(tdb))){ + stop(paste0(" \"country\" and/or \"continent\" missing in trait file \"" + ,basename(tdb.csv),"\".")) + }else{ + #---~--- + # Restrict species to regions of interest. + #---~--- + if (is.null(country)){ + sel.country = rep(x=TRUE,times=nrow(tdb)) + }else{ + sel.country = tdb$country %in% country + }#end if (is.null(country)) + if (is.null(continent)){ + sel.continent = rep(x=TRUE,times=nrow(tdb)) + }else{ + sel.continent = tdb$continent %in% continent + }#end if (is.null(continent)) + keep = (! is.na(tdb[[trait]]) ) & sel.country & sel.continent + ntdb = sum(keep) + if (ntdb == 0){ + cat0(" - Selected trait: ",trait) + if (! is.null(country)){ + cat0(" - Selected countries: " ,paste(country ,collapse="; ")) + }#end if (! is.null(country)) + if (! is.null(continent)){ + cat0(" - Selected continents: ",paste(continent,collapse="; ")) + }#end if (! is.null(continent)) + stop(paste0("No data available for trait ",trait," in file \"" + ,basename(tdb.csv),"\".")) + }else{ + tdb = tdb[keep,,drop=FALSE] + }#end if (ntdb == 0) + #---~--- + }#end if (! (trait %in% names(tdb))) + #---~--- + + + #======================================================================================= + #======================================================================================= + # First loop, fill in information to all individuals for which the genus is + # known. + #--------------------------------------------------------------------------------------- + #---~--- + # Separate all species. + #---~--- + species = unique(datum$scientific) + nspecies = length(species) + sci.genus.mean = matrix(nrow=0,ncol=3 + ,dimnames=list(NULL,c("scientific","genus","family"))) + sci.loose.mean = matrix(nrow=0,ncol=3 + ,dimnames=list(NULL,c("scientific","genus","family"))) + #---~--- + + + #---~--- + # Loop through species + #---~--- + for (s in sequence(nspecies)){ + if ((! is.na(species[s])) && length(grep(unknown_genus,species[s])) == 0){ + if (verbose) cat0(" - ",s,"/",nspecies," - ",species[s],".") + + #---~--- + # Get the genus and family of this species, in case we need it. + #---~--- + igen = which (datum$scientific %in% species[s]) + this.genus = unique(datum$genus[igen]) + this.family = unique(capwords(datum$family[igen],strict=TRUE)) + if (length(this.genus) != 1 || length(this.family) != 1){ + cat0(" - Perhaps a bastard genus?") + browser() + }#end if + #---~--- + + + + #---~--- + # Check whether we have biomass for this species. + #---~--- + if (species[s] %in% tdb$scientific){ + #---~--- + # Find the index of this species in the database, and assign the trait + # from there. + #---~--- + itrait = intersect( which(tdb$scientific %in% species[s] ) + , intersect( which(tdb$genus %in% this.genus ) + , which(tdb$family %in% this.family) ) ) + + if (length(itrait) != 1){ + #---~--- + # Intersection was zero! Misidentification, maybe? + #---~--- + loose = TRUE + cat0("Weird, length(itrait)=",length(itrait),"!") + browser() + #---~--- + }else{ + if (any(c(FALSE,! is.na(tdb[[trait]][itrait])),na.rm=TRUE)){ + sel = datum$scientific %in% species[s] + datum[[trait]] [sel] = tdb[[trait]][itrait] + datum[[gf.trait]][sel] = 0L + datum$country [sel] = tdb$country [itrait] + datum$continent [sel] = tdb$continent[itrait] + fill.genus = FALSE + loose = FALSE + }else{ + loose = TRUE + fill.genus = this.genus %in% tdb$genus + }#end if + #---~--- + }#end if + #---~--- + }else{ + loose = TRUE + fill.genus = this.genus %in% tdb$genus + }#end if + #---~--- + + + + #---~--- + # If this species is to be filled with genus average. + #---~--- + if (fill.genus){ + #---~--- + # Find all the plants from this genus, take the average, and attribute + # to this species. In this case, warn the user about the species, it may + # be a typo in the scientific name that is easy to fix. + #---~--- + itrait = intersect( which( tdb$genus %in% this.genus ) + , which( tdb$family %in% this.family) + )#end intersect + + #---~--- + # Find individuals that belong to this species. + #---~--- + sel = datum$scientific %in% species[s] + nsel = sum(sel) + #---~--- + + if (length(itrait) == 0){ + #---~--- + # Intersection was zero! Misidentification, maybe? + #---~--- + loose = TRUE + #---~--- + }else if (nsel > 0){ + #---~--- + # Select data that can be used for weighting. + #---~--- + t.value = tdb[[trait ]][itrait] + t.weight = tdb[[n.trait]][itrait] / sum(tdb[[n.trait]][itrait]) + t.continent = tdb$continent [itrait] + t.country = tdb$country [itrait] + t.idx = seq_along(t.value) + if (any(is.na(t.weight))) browser() + #---~--- + + + #---~--- + # Decide whether to use sample (non-numeric) or average (numeric). + #---~--- + if (fsample || ( trait %in% c("leaf.phen","growth.form","woodland") )){ + smp.idx = lit.sample(x=t.idx,size=nsel,replace=TRUE,prob=t.weight) + smp.trait = t.value [smp.idx] + smp.country = t.country [smp.idx] + smp.continent = t.continent[smp.idx] + }else{ + smp.trait = weighted.mean (x=t.value ,w=t.weight,na.rm=TRUE) + smp.country = weighted.commonest(x=t.country ,w=t.weight,na.rm=TRUE) + smp.continent = weighted.commonest(x=t.continent,w=t.weight,na.rm=TRUE) + }#end if (fsample || ( trait %in% c("leaf.phen") )) + #---~--- + + + #---~--- + # Fill in missing entries. + #---~--- + datum[[trait]] [sel] = smp.trait + datum[[gf.trait]][sel] = 1L + datum$country [sel] = smp.country + datum$continent [sel] = smp.continent + sci.genus.mean = rbind(sci.genus.mean + ,c(species[s],this.genus,this.family)) + if (verbose){ + cat0(" * Species ",species[s]," not found." + ," Use genus average instead.") + }#end if + loose = FALSE + #---~--- + }#end if + #---~--- + }#end if + #---~--- + + + #---~--- + # Append plants that have no family together. + #---~--- + if (loose){ + #---~--- + # The plant probably doesn't have any family. + #---~--- + sci.loose.mean = rbind(sci.loose.mean + ,c(species[s],this.genus,this.family)) + #---~--- + }#end if + #---~--- + }#end if + #---~--- + }#end for + #---~--- + + + + #---~--- + # List all genera that were not filled with species information. + #---~--- + sci.genus.mean = sci.genus.mean[order(sci.genus.mean[,"scientific"]),,drop=FALSE] + genus.only = grepl( pattern = " NA$" + , x = sci.genus.mean[,"scientific",drop=FALSE] + , ignore.case = TRUE + )#end grepl + if (verbose && (nrow(sci.genus.mean[!genus.only,,drop=FALSE]) > 0)){ + cat0("") + cat0("-----------------------------------------------------------------------") + cat0(" Found species that were not in trait data base (check for synonyms)!") + print(sci.genus.mean[! genus.only,,drop=FALSE],quote=FALSE) + cat0("-----------------------------------------------------------------------") + cat0("") + }#end if (verbose && nrow(sci.genus.mean[!genus.only,,drop=FALSE]) > 0) + if (verbose && (nrow(sci.genus.mean[genus.only,,drop=FALSE]) > 0)){ + cat0("") + cat0("-----------------------------------------------------------------------") + cat0("Only genus was provided: filled with average genus value:") + print (sci.genus.mean[genus.only,,drop=FALSE],quote=FALSE) + cat0("-----------------------------------------------------------------------") + cat0("") + }#end if (verbose && nrow(sci.genus.mean[genus.only,,drop=FALSE]) > 0) + #---~--- + + + #---~--- + # List all genera that didn't belong to any known family. + #---~--- + if (verbose && (nrow(sci.loose.mean) > 0)){ + cat0("") + cat0("-----------------------------------------------------------------------") + cat0(" Found genera from families with no valid data in the trait data base!") + print(sci.loose.mean,quote=FALSE) + cat0("-----------------------------------------------------------------------") + cat0("") + }#end if + #---~--- + #======================================================================================= + #======================================================================================= + + + + + + #======================================================================================= + #======================================================================================= + # Second loop: we list all families, and look for individuals that have no genus + # associated. We compute the mean trait of the known individuals for that family and + # use that as an estimate of the trait. + #--------------------------------------------------------------------------------------- + #---~--- + families = unique(datum$family) + nfamilies = length(families) + sci.family.sample = matrix(nrow=0,ncol=3 + ,dimnames=list(NULL,c("scientific","family",trait))) + #---~--- + + + #---~--- + # Loop over all families + #---~--- + for (f in sequence(nfamilies)){ + if (! (families[f] %in% unknown_family)){ + if (verbose) cat0(" - ",f,"/",nfamilies," - ",families[f],".") + + #---~--- + # Get the individuals that belong to this family. + #---~--- + ifam = which (datum$family %in% families[f] & (! is.na(datum[[trait]])) ) + imiss = which (datum$family %in% families[f] & is.na(datum[[trait]]) ) + nmiss = length(imiss) + #---~--- + + if (length(imiss) > 0 && length(ifam) > 0){ + #---~--- + # Select data that can be used for weighting. + #---~--- + t.value = datum[[trait]] [ifam] + t.weight = wgtfac [ifam] + t.continent = datum$continent[ifam] + t.country = datum$country [ifam] + t.idx = seq_along(t.value) + #---~--- + + + + #---~--- + # Decide whether to use sample or average. + #---~--- + if (fsample || ( trait %in% c("leaf.phen","growth.form","woodland") )){ + smp.idx = lit.sample(x=t.idx,size=nmiss,replace=TRUE,prob=t.weight) + smp.trait = t.value [smp.idx] + smp.country = t.country [smp.idx] + smp.continent = t.continent[smp.idx] + }else{ + smp.trait = weighted.mean (x=t.value ,w=t.weight,na.rm=TRUE) + smp.country = weighted.commonest(x=t.country ,w=t.weight,na.rm=TRUE) + smp.continent = weighted.commonest(x=t.continent,w=t.weight,na.rm=TRUE) + }#end if (fsample || ( trait %in% c("leaf.phen") )) + #---~--- + + + + #---~--- + # Fill in with the sample/mean. + #---~--- + datum[[trait]] [imiss] = smp.trait + datum[[gf.trait]][imiss] = 2L + datum$country [imiss] = smp.country + datum$continent [imiss] = smp.continent + gf2 = cbind(datum$scientific[imiss] + ,datum$family [imiss] + ,sprintf("%6.3f",smp.trait) + )#end cbind + sci.family.sample = rbind(sci.family.sample,gf2) + #---~--- + }#end if + #---~--- + }#end if + #---~--- + }#end for + #---~--- + + + #---~--- + # Stop if there was any genus that didn't belong to any known family. + #---~--- + if (nrow(sci.family.sample) > 0){ + if (verbose){ + cat0(" Found families with unidentified genera!") + print(sci.family.sample,quote=FALSE) + }#end if + }#end if + #---~--- + + + #---~--- + # Final block. We fill in the trait for unknown individuals, by randomly sampling + # from the individuals we know the density. + #---~--- + imiss = which(is.na(datum[[trait]])) + nmiss = length(imiss) + nvalid = nrow(datum) - nmiss + + if (nmiss > 0){ + if (verbose){ + cat0(" The following families are filled with global sampling: ") + fam.global.sampling = t(t(sort(unique(datum$family[imiss])))) + print(fam.global.sampling,quote=FALSE) + }#end if + #---~--- + + + #---~--- + # Check whether this is going to be a complete guess or something slightly more + # elegant. + #---~--- + if (nvalid == 0){ + #---~--- + # Use any data from the trait data base. + #---~--- + warning(" None of the trees are known! Trait-filling is going to be very crude!") + itrait = which(tdb$life.type %in% "T") + t.value = tdb[[trait ]][itrait] + t.weight = tdb[[n.trait]][itrait] / sum(tdb[[n.trait]][itrait]) + t.continent = tdb$continent [itrait] + t.country = tdb$country [itrait] + t.idx = seq_along(t.value) + #---~--- + }else{ + + #---~--- + # Select data that can be used for weighting. + #---~--- + t.value = datum[[trait]] [-imiss] + t.weight = wgtfac [-imiss] + t.continent = datum$continent[-imiss] + t.country = datum$country [-imiss] + t.idx = seq_along(t.value) + #---~--- + }#end if (nvalid == 0) + #---~--- + + + #---~--- + # Decide whether to use sample or averaged values. + #---~--- + if (fsample || ( trait %in% c("leaf.phen") )){ + smp.idx = lit.sample(x=t.idx,size=nmiss,replace=TRUE,prob=t.weight) + smp.trait = t.value [smp.idx] + smp.country = t.country [smp.idx] + smp.continent = t.continent[smp.idx] + }else{ + smp.trait = weighted.mean (x=t.value ,w=t.weight,na.rm=TRUE) + smp.country = weighted.commonest(x=t.country ,w=t.weight,na.rm=TRUE) + smp.continent = weighted.commonest(x=t.continent,w=t.weight,na.rm=TRUE) + }#end if (fsample || ( trait %in% c("leaf.phen") )) + #---~--- + + + #---~--- + # Fill the remaining gaps. + #---~--- + datum[[trait]] [imiss] = smp.trait + datum$country [imiss] = smp.country + datum$continent [imiss] = smp.continent + datum[[gf.trait]][imiss] = 3L + #---~--- + }#end if + #---~--- + + + #---~--- + # Adjust the gap-filling flag for trait by adding whether the scientific name + # itself was gap-filled. + #---~--- + if ("gf.scientific" %in% names(datum)){ + datum[[gf.trait]] = datum[[gf.trait]] + as.integer(10 * datum$gf.scientific) + }#end if ("gf.scientific" %in% names(datum)) + #---~--- + + + #---~--- + # Assign a plant functional type based on the wood density. + #---~--- + if (trait %in% "wood.dens"){ + pft.cut = cut(datum[[trait]],breaks=pft.breaks) + pft.levels = levels(pft.cut) + pft.idx = match(pft.cut,pft.levels) + datum$pft = mypfts[pft.idx] + }#end if (trait %in% "wood.dens") + #---~--- + return(datum) +}#end function find_trait_NEON +#========================================================================================== +#========================================================================================== + + + + + + +#========================================================================================== +#========================================================================================== +# This function assigns a PFT given the genus and the full data set. This will +# use imputed data for those genera that do not have all traits. +#------------------------------------------------------------------------------------------ +assign_pft_NEON <<- function(datum,path=srcdir,refsites,verbose=FALSE,...){ + #---~--- + # Load the cluster analysis with the medoid matrix. + #---~--- + neon_lut = read.csv( file = file.path(srcdir,"NEON_taxon_lookup.csv") + , header = TRUE + , stringsAsFactors = FALSE + )#end read.csv + #---~--- + + + #---~--- + # Select species from the sites of interest (it is fine to use more than one + # reference site, just mind that they should be somewhat similar. + #---~--- + sel = rep(FALSE,times=nrow(neon_lut)) + for (r in seq_along(refsites)){ + site = refsites[r] + sel = sel | neon_lut[[site]] + }#end for (r in seq_along(refsites)) + neon_lut = neon_lut[sel,,drop=FALSE] + #---~--- + + + + #---~--- + # Initialise genus with the actual one, but replace those not find in the + # look-up table. + #---~--- + if ("scientific.name" %in% names(datum)) datum$scientific = datum$scientific.name + if ("genus.name" %in% names(datum)) datum$genus = datum$genus.name + if ("family.name" %in% names(datum)) datum$family = datum$family.name + #---~--- + + + + #---~--- + # Initialise use.scientific with the actual scientific name. We will replace + # those that are not found in the look-up table for traits. + #---~--- + ans = rep(NA_integer_,times=nrow(datum)) + #---~--- + + + #---~--- + # First attempt, fill in the species that have an exact match. + #---~--- + idx = match(datum$scientific,neon_lut$scientific) + sel = ! is.na(idx) + ans[sel] = neon_lut$pft[idx[sel]] + #---~--- + + + #---~--- + # Second attempt, find genera that can be filled with existing data. + #---~--- + un_genus = sort(unique(datum$genus[is.na(ans)])) + un_genus = un_genus[un_genus %in% neon_lut$genus] + for (u in seq_along(un_genus)){ + #---~--- + # Handy alias. + #---~--- + genus_now = un_genus[u] + #---~--- + + + #---~--- + # Retrieve PFTs associated with this genus. + #---~--- + pft_pool = neon_lut$pft[neon_lut$genus %in% genus_now] + #---~--- + + + #---~--- + # Fill in missing data with random sampling. + #---~--- + sel = ( datum$genus %in% genus_now ) & is.na(ans) + ans[sel] = lit.sample(x=pft_pool,size=sum(sel),replace=TRUE) + #---~--- + }#end for (u in seq_along(un_genus)) + #---~--- + + + #---~--- + # Third attempt, find families that can be filled with existing data. + #---~--- + un_family = sort(unique(datum$family[is.na(ans)])) + un_family = un_genus[un_family %in% neon_lut$family] + for (u in seq_along(un_family)){ + #---~--- + # Handy alias. + #---~--- + family_now = un_family[u] + #---~--- + + #---~--- + # Retrieve PFTs associated with this family. We include any existing data from + # this family that has been already filled, as families can be broad and it may + # be better to assume unidentified species are close to the identified species. + #---~--- + pft_pool = c( neon_lut$pft[neon_lut$family %in% family_now] + , ans[ ( datum$family %in% family_now ) & (! is.na(ans))] + )#end c + #---~--- + + + #---~--- + # Fill in missing data with random sampling. + #---~--- + sel = ( datum$family %in% family_now ) & is.na(ans) + ans[sel] = lit.sample(x=pft_pool,size=sum(sel),replace=TRUE) + #---~--- + }#end for (u in seq_along(un_family)) + #---~--- + + + #---~--- + # Last attempt, sample from within the entries that have been identified. + #---~--- + sel = is.na(ans) + ans[sel] = lit.sample(x=ans[! sel],size=sum(sel),replace=TRUE) + + un_family = sort(unique(datum$family[is.na(ans)])) + un_family = un_genus[un_family %in% neon_lut$family] + for (u in seq_along(un_family)){ + #---~--- + # Handy alias. + #---~--- + family_now = un_family[u] + #---~--- + + #---~--- + # Retrieve PFTs associated with this genus. + #---~--- + pft_pool = neon_lut$pft[neon_lut$family %in% family_now] + #---~--- + + + #---~--- + # Fill in missing data with random sampling. + #---~--- + sel = ( datum$family %in% family_now ) & is.na(ans) + ans[sel] = lit.sample(pft_pool,size=sum(sel),replace=TRUE) + #---~--- + }#end for (u in seq_along(un_family)) + #---~--- + + + + + #---~--- + # Assign PFT + #---~--- + return(ans) + #---~--- +}#end function assign_pft_NEON +#========================================================================================== +#========================================================================================== + + + + + + +#========================================================================================== +#========================================================================================== +# Biomass allometry that is used for the NEON plots. Results are always in kgC/plant. +# +# References: +# +# Chojnacky DC, Heath LS , Jenkins JC. 2014. Updated generalized biomass equations for +# North American tree species. Forestry (Lond), 87: 129-151. +# doi:10.1093/forestry/cpt053. +# +# Lutz JA, Furniss TJ, Germain SJ, Becker KML, Blomdahl EM, Jeronimo SMA, Cansler CA, +# Freund JA, Swanson ME , Larson AJ. 2017. Shrub communities, spatial patterns, and +# shrub- mediated tree mortality following reintroduced fire in Yosemite National Park, +# California, USA. Fire Ecol., 13: 104-126. doi:10.4996/fireecology.1301104. +# +# Input: +# ---------------------------------------------------------------------------------------- +# dxh --- Diameter of reference (either DBH or basal diameter) [cm] +# wdens --- Wood density [g/cm3] +# scientific --- Species +# genus --- Genus +# family --- Family +# type --- Plant type: +# B - broadleaf tree +# N - needleleaf tree +# S - shrubs +# dead --- Life status: +# TRUE - plant is dead +# FALSE - plant is alive +# In case dead = NULL, all plants are assumed to be alive. +# eps.dbh --- Relative uncertainty for DBH [1 means 100%] +# eps.height --- Relative uncertainty for height [1 means 100%] +# eps.wdens --- Relative uncertainty for wood density [1 means 100%] +# out.err --- Output error in addition to the estimates of biomass/necromass? +# ---------------------------------------------------------------------------------------- +# +# +# +# ---------------------------------------------------------------------------------------- +# Output: +# ---------------------------------------------------------------------------------------- +# - In case out.err is FALSE, the function returns a vector with biomass for each entry. +# - In case out.err is TRUE, the output is a data frame with the following vectors +# with the same length as the entries: +# * agb -- biomass (necromass) [kgC] +# * ae.agb -- uncertainty in biomass due to allometry [kgC, not relative] +# * me.agb -- uncertainty in biomass due to measurement [kgC, not relative] +# * lnagb -- log(biomass), used for error propagation. +# * sd.lnagb -- standard error of log-biomass +#------------------------------------------------------------------------------------------ +agb_NEON <<- function( dbh + , ddh + , wdens + , scientific + , genus + , family + , type + , phenology + , woodland + , dead = NULL + , eps.dxh = 0.02 + , eps.height = 0.167 + , eps.wdens = 0.10 + , out.err = FALSE + ){ + #---~--- + # If variable "dead" is missing, assume all individuals are alive + #---~--- + if (is.null(dead)) dead = rep(FALSE,times=length(dbh)) + #---~--- + + + + #---~--- + # Make sure all terms have the same length and correct type. + #---~--- + lens = unique( c( length(dbh) , length(ddh) , length(wdens), length(scientific) + , length(genus) , length(family), length(type) , length(phenology) + , length(woodland), length(dead) ) ) + if ( length(lens) != 1 ){ + #---~--- + # Stop if any variable has a different length. + #---~--- + cat0("-----------------------------------------------------------") + cat0(" Variables don't have the same length." ) + cat0(" DBH = ",length(dbh) ) + cat0(" DDH = ",length(ddh) ) + cat0(" WDENS = ",length(wdens) ) + cat0(" SCIENTIFIC = ",length(scientific) ) + cat0(" GENUS = ",length(genus) ) + cat0(" FAMILY = ",length(family) ) + cat0(" TYPE = ",length(type) ) + cat0(" PHENOLOGY = ",length(phenology) ) + cat0(" WOODLAND = ",length(woodland) ) + cat0(" DEAD = ",length(dead) ) + cat0("-----------------------------------------------------------") + stop(" Incorrect input data.") + #---~--- + }else{ + fine.dbh = is.numeric (dbh) || all(is.na(dbh )) + fine.ddh = is.numeric (ddh) || all(is.na(ddh )) + fine.wdens = is.numeric (wdens) || all(is.na(wdens )) + fine.scientific = is.character(scientific) || all(is.na(scientific)) + fine.genus = is.character(genus) || all(is.na(genus )) + fine.family = is.character(family) || all(is.na(family )) + fine.type = is.character(type) || all(is.na(type )) + fine.phenology = is.character(phenology) || all(is.na(phenology )) + fine.woodland = is.logical (woodland) || all(is.na(woodland )) + fine.dead = is.logical (dead) || all(is.na(dead )) + all.fine = ( fine.dbh && fine.ddh && fine.wdens && fine.scientific + && fine.genus && fine.family && fine.type && fine.phenology + && fine.woodland && fine.dead + )#end all.fine + #---~--- + # Stop if anything is unexpected. + #---~--- + if (! all.fine){ + cat0("-----------------------------------------------------------") + cat0(" Not all variables have the correct type." ) + cat0(" DBH (numeric) = ",fine.dbh ) + cat0(" DDH (numeric) = ",fine.ddh ) + cat0(" WDENS (numeric) = ",fine.wdens ) + cat0(" SCIENTIFIC (character) = ",fine.scientific ) + cat0(" GENUS (character) = ",fine.genus ) + cat0(" FAMILY (character) = ",fine.family ) + cat0(" TYPE (character) = ",fine.type ) + cat0(" PHENOLOGY (character) = ",fine.phenology ) + cat0(" WOODLAND (logical) = ",fine.woodland ) + cat0(" DEAD (logical) = ",fine.dead ) + cat0("-----------------------------------------------------------") + stop(" Incorrect data types.") + }#end if (! all.fine) + #---~--- + }#end if ( length(lens) != 1) + #---~--- + + + + #---~--- + # Initialise the output. + #---~--- + a0.agb = NA_real_ * dbh + a1.agb = NA_real_ * dbh + #---~--- + + + + #---~--- + # Simplify phenology labels. + #---~--- + phenology = toupper(substr(phenology,1,1)) + #---~--- + + + #---~--- + # Link names to the equation sets. + #---~--- + bleaf = ( type %in% "B" ) & (! dead) + nleaf = ( type %in% "N" ) & (! dead) + shrub = ( type %in% "S" ) & (! dead) + tree = ( bleaf | nleaf ) & (! shrub) + wlnd = tree & woodland + multigroup.01 = family %in% c( "Cornaceae" , "Ericaceae", "Lauraceae" + , "Platanaceae", "Rosaceae" , "Ulmaceae" ) + multigroup.02 = family %in% c("Fabaceae","Juglandaceae") + multigroup.03 = family %in% c("Hippocastanaceae","Tiliaceae") + multigroup.04 = family %in% c("Fabaceae","Rosaceae") + #---~--- + + + + #---~--- + # Define generic diameter (useful for shrubs). + #---~--- + dxh = ifelse( test = shrub | wlnd + , yes = ifelse( test = is.finite(ddh), yes = ddh, no = dbh ) + , no = ifelse( test = is.finite(dbh), yes = dbh, no = ddh ) + )#end ifelse + #---~--- + + + #---~--- + # Handles for the tree equations + #---~--- + t.abies.lwr = (genus %in% "Abies" ) & (wdens %lt% 0.35 ) & tree + t.abies.upr = (genus %in% "Abies" ) & (wdens %ge% 0.35 ) & tree + t.cupressaceae.lwr = (family %in% "Cupressaceae" ) & (wdens %lt% 0.30 ) & tree + t.cupressaceae.mid = (family %in% "Cupressaceae" ) & (wdens %wl% c(0.30,0.40)) & tree + t.cupressaceae.upr = (family %in% "Cupressaceae" ) & (wdens %ge% 0.40 ) & tree + t.larix = (genus %in% "Larix" ) & tree + t.picea.lwr = (genus %in% "Picea" ) & (wdens %lt% 0.35 ) & tree + t.picea.upr = (genus %in% "Picea" ) & (wdens %ge% 0.35 ) & tree + t.pinus.lwr = (genus %in% "Pinus" ) & (wdens %lt% 0.45 ) & tree + t.pinus.upr = (genus %in% "Pinus" ) & (wdens %ge% 0.45 ) & tree + t.pseudotsuga = (genus %in% "Pseudotsuga" ) & tree + t.tsuga.lwr = (genus %in% "Tsuga" ) & (wdens %lt% 0.40 ) & tree + t.tsuga.upr = (genus %in% "Tsuga" ) & (wdens %ge% 0.40 ) & tree + t.aceraceae.lwr = (family %in% "Aceraceae" ) & (wdens %lt% 0.50 ) & tree + t.aceraceae.upr = (family %in% "Aceraceae" ) & (wdens %ge% 0.50 ) & tree + t.betulaceae.lwr = (family %in% "Betulaceae" ) & (wdens %lt% 0.40 ) & tree + t.betulaceae.lmd = (family %in% "Betulaceae" ) & (wdens %wl% c(0.40,0.50)) & tree + t.betulaceae.umd = (family %in% "Betulaceae" ) & (wdens %wl% c(0.50,0.60)) & tree + t.betulaceae.upr = (family %in% "Betulaceae" ) & (wdens %ge% 0.60 ) & tree + t.multigroup.01 = (family %in% multigroup.01 ) & tree + t.carya = (genus %in% "Carya" ) & tree + t.multigroup.02 = (family %in% multigroup.02 ) & ( ! genus %in% "Carya" ) & tree + t.fagaceae.dcd = (family %in% "Fagaceae" ) & (phenology %in% "D" ) & tree + t.fagaceae.evg = (family %in% "Fagaceae" ) & (phenology %in% "E" ) & tree + t.hamamelidaceae = (family %in% "Hamamelidaceae") & tree + t.multigroup.03 = (family %in% multigroup.03 ) & tree + t.magnoliaceae = (family %in% "Magnoliaceae" ) & tree + t.oleaceae.lwr = (family %in% "Oleaceae" ) & (wdens %lt% 0.55 ) & tree + t.oleaceae.upr = (family %in% "Oleaceae" ) & (wdens %ge% 0.55 ) & tree + t.salicaceae.lwr = (family %in% "Salicaceae" ) & (wdens %lt% 0.35 ) & tree + t.salicaceae.upr = (family %in% "Salicaceae" ) & (wdens %ge% 0.35 ) & tree + w.cupressaceae = (family %in% "Cupressaceae" ) & wlnd + w.multigroup.04 = (family %in% multigroup.04 ) & wlnd + w.fagaceae = (family %in% "Fagaceae" ) & wlnd + w.pinaceae = (family %in% "Pinaceae" ) & wlnd + #---~--- + + + #---~--- + # Handles for the shrub equations. + #---~--- + s.arctostaphylos = (genus %in% "Arctostaphylos") & shrub + s.ceanothus = (genus %in% "Ceanothus" ) & shrub + s.chrysolepis = (genus %in% "Chrysolepis" ) & shrub + s.corylus = (genus %in% "Corylus" ) & shrub + s.cornus = (genus %in% "Cornus" ) & shrub + s.leucothoe = (genus %in% "Leucothoe" ) & shrub + s.rhododendron = (genus %in% "Rhododendron" ) & shrub + s.ribes = (genus %in% "Ribes" ) & shrub + s.rosa = (genus %in% "Rosa" ) & shrub + s.rubus = (genus %in% "Rubus" ) & shrub + s.sambucus = (genus %in% "Sambucus" ) & shrub + s.symphoricarpos = (genus %in% "Symphoricarpos") & shrub + s.vaccinium = (genus %in% "Vaccinium" ) & shrub + #---~--- + + + + #---~--- + # Set coefficients. We initialise them with a generic equation that only + # distinguishes whether they are shrubs, broadleaf trees, or needleleaf trees. For + # trees, we currently used some common families, but this can be refined later. + # After the initial assignment, we update the coefficients if we find a better match + # for the tree/shrub. + #---~--- + #--- General coefficients + a0.agb[bleaf ] = -2.2118 ; a1.agb[bleaf ] = 2.4133 + a0.agb[nleaf ] = -2.6177 ; a1.agb[nleaf ] = 2.4638 + a0.agb[shrub ] = -3.1478 ; a1.agb[shrub ] = 2.3750 + #--- Specific coefficients + a0.agb[t.abies.lwr ] = -2.3123 ; a1.agb[t.abies.lwr ] = 2.3482 + a0.agb[t.abies.upr ] = -3.1774 ; a1.agb[t.abies.upr ] = 2.6426 + a0.agb[t.cupressaceae.lwr] = -1.9615 ; a1.agb[t.cupressaceae.lwr] = 2.1063 + a0.agb[t.cupressaceae.mid] = -2.7765 ; a1.agb[t.cupressaceae.mid] = 2.4195 + a0.agb[t.cupressaceae.upr] = -2.6327 ; a1.agb[t.cupressaceae.upr] = 2.4757 + a0.agb[t.larix ] = -2.3012 ; a1.agb[t.larix ] = 2.3853 + a0.agb[t.picea.lwr ] = -3.0300 ; a1.agb[t.picea.lwr ] = 2.5567 + a0.agb[t.picea.upr ] = -2.1364 ; a1.agb[t.picea.upr ] = 2.3233 + a0.agb[t.pinus.lwr ] = -2.6177 ; a1.agb[t.pinus.lwr ] = 2.4638 + a0.agb[t.pinus.upr ] = -3.0506 ; a1.agb[t.pinus.upr ] = 2.6465 + a0.agb[t.pseudotsuga ] = -2.4623 ; a1.agb[t.pseudotsuga ] = 2.4852 + a0.agb[t.tsuga.lwr ] = -2.3480 ; a1.agb[t.tsuga.lwr ] = 2.3876 + a0.agb[t.tsuga.upr ] = -2.9208 ; a1.agb[t.tsuga.upr ] = 2.5697 + a0.agb[t.aceraceae.lwr ] = -2.0470 ; a1.agb[t.aceraceae.lwr ] = 2.3852 + a0.agb[t.aceraceae.upr ] = -1.8011 ; a1.agb[t.aceraceae.upr ] = 2.3852 + a0.agb[t.betulaceae.lwr ] = -2.5932 ; a1.agb[t.betulaceae.lwr ] = 2.5349 + a0.agb[t.betulaceae.lmd ] = -2.2271 ; a1.agb[t.betulaceae.lmd ] = 2.4513 + a0.agb[t.betulaceae.umd ] = -1.8096 ; a1.agb[t.betulaceae.umd ] = 2.3480 + a0.agb[t.betulaceae.upr ] = -2.2652 ; a1.agb[t.betulaceae.upr ] = 2.5349 + a0.agb[t.multigroup.01 ] = -2.2118 ; a1.agb[t.multigroup.01 ] = 2.4133 + a0.agb[t.carya ] = -2.5095 ; a1.agb[t.carya ] = 2.6175 + a0.agb[t.multigroup.02 ] = -2.5095 ; a1.agb[t.multigroup.02 ] = 2.5437 + a0.agb[t.fagaceae.dcd ] = -2.0705 ; a1.agb[t.fagaceae.dcd ] = 2.4410 + a0.agb[t.fagaceae.evg ] = -2.2198 ; a1.agb[t.fagaceae.evg ] = 2.4410 + a0.agb[t.hamamelidaceae ] = -2.6390 ; a1.agb[t.hamamelidaceae ] = 2.5466 + a0.agb[t.multigroup.03 ] = -2.4108 ; a1.agb[t.multigroup.03 ] = 2.4177 + a0.agb[t.magnoliaceae ] = -2.5497 ; a1.agb[t.magnoliaceae ] = 2.5011 + a0.agb[t.oleaceae.lwr ] = -2.0314 ; a1.agb[t.oleaceae.lwr ] = 2.3524 + a0.agb[t.oleaceae.upr ] = -1.8384 ; a1.agb[t.oleaceae.upr ] = 2.3524 + a0.agb[t.salicaceae.lwr ] = -2.6863 ; a1.agb[t.salicaceae.lwr ] = 2.4561 + a0.agb[t.salicaceae.upr ] = -2.4441 ; a1.agb[t.salicaceae.upr ] = 2.4561 + a0.agb[w.cupressaceae ] = -2.7096 ; a1.agb[w.cupressaceae ] = 2.1942 + a0.agb[w.multigroup.04 ] = -2.9255 ; a1.agb[w.multigroup.04 ] = 2.4109 + a0.agb[w.fagaceae ] = -3.0304 ; a1.agb[w.fagaceae ] = 2.4982 + a0.agb[w.pinaceae ] = -3.2007 ; a1.agb[w.pinaceae ] = 2.5339 + a0.agb[s.arctostaphylos ] = -3.5892 ; a1.agb[s.arctostaphylos ] = 2.6846 + a0.agb[s.ceanothus ] = -3.2406 ; a1.agb[s.ceanothus ] = 2.6502 + a0.agb[s.chrysolepis ] = -3.0198 ; a1.agb[s.chrysolepis ] = 2.3110 + a0.agb[s.corylus ] = -3.3776 ; a1.agb[s.corylus ] = 2.3720 + a0.agb[s.cornus ] = -3.5928 ; a1.agb[s.cornus ] = 2.6470 + a0.agb[s.leucothoe ] = -4.1588 ; a1.agb[s.leucothoe ] = 2.3060 + a0.agb[s.rhododendron ] = -3.1478 ; a1.agb[s.rhododendron ] = 2.3750 + a0.agb[s.ribes ] = -3.1478 ; a1.agb[s.ribes ] = 2.3750 + a0.agb[s.rosa ] = -3.1478 ; a1.agb[s.rosa ] = 2.3750 + a0.agb[s.rubus ] = -3.1478 ; a1.agb[s.rubus ] = 2.3750 + a0.agb[s.sambucus ] = -3.3378 ; a1.agb[s.sambucus ] = 2.3720 + a0.agb[s.symphoricarpos ] = -3.1478 ; a1.agb[s.symphoricarpos ] = 2.3750 + a0.agb[s.vaccinium ] = -3.1478 ; a1.agb[s.vaccinium ] = 2.3750 + #---~--- + + + #---~--- + # Find biomass. + #---~--- + agb = exp(a0.agb + a1.agb * log(dxh)) / C2B + #---~--- + + + #---~--- + # Check whether to estimate associated errors (measurement and allometry), + # following: + # + # Chave, J., and co-authors, 2004: Error propagation and scaling for tropical forest + # biomass estimates. Phil. Trans. R. Soc. Lond. B., 359, 409-420. + # doi:10.1098/rstb.2003.1425 + #---~--- + if (out.err){ + #---~--- + # Find error associated with allometry. The papers do not present the actual error + # of each equation. For the time being, we use the same error as reported by + # Chave et al. (2014) as a zero-order guess. + # + # Chave, J., and co-authors, 2014: Improved allometric models to estimate the + # aboveground biomass of tropical trees. Glob. Change Biol., 20, 3177-3190 + # doi:10.1111/gcb.12629 + #---~--- + ae.agb = sqrt(exp(0.357^2)-1)*agb + #---~--- + + + + #---~--- + # Find error associated with measurements. + #---~--- + me.agb = agb * a1.agb * eps.dxh + #---~--- + + + #---~--- + # Save the standard error of the log scale: it will be useful for error analysis. + # The 0*agb term will ensure that sd.lnagb will be NA when agb is NA. + #---~--- + sd.lnagb = 0.357 + 0. * agb + #---~--- + + #---~--- + # Combine estimates and errors in a data frame. + #---~--- + ans = data.frame( agb = agb + , a0 = a0.agb + , a1 = a1.agb + , ae.agb = ae.agb + , me.agb = me.agb + , lnagb = log(agb) - 0.5 * sd.lnagb^2 + , sd.lnagb = sd.lnagb + )#end data.frame + #---~--- + + }else{ + #---~--- + # No error needed. Return estimate only. + #---~--- + ans = agb + #---~--- + }#end if + #---~--- + + return(ans) +}#end function agb_NEON +#========================================================================================== +#========================================================================================== + + + + + +#========================================================================================== +#========================================================================================== +# This function determines the plot aggregated error due to measurement and +# allometry for NEON. +# +# Input: +# ---------------------------------------------------------------------------------------- +# datum - a data frame with all trees in this plot (note, you can't run this for all +# plots at once, either use a for loop or mapply). The data frame must +# contain the following variables: +# * nplant - 1/area sampled if tree is alive, zero if tree is dead [1/m2] +# * ntotal - 1/area sampled [1/m2] +# For nplant/ntotal, if the sampled area was 2500 m2, the number should be +# 0.0004. In case a differential sampling effort was used, then nplant +# varies. For example, if trees with 10 <= DBH < 35 cm were measured in a +# 50x5 subplot and trees with DBH >= 35 cm were measured in the entire +# 2500m2 plots, then nplant should be 0.004 for the trees with DBH < 35cm +# and 0.0004 for trees with DBH >= 35cm. +# * AGC - above-ground carbon [ kgC] +# * ME.AGC - measurement uncertainty of above-ground carbon [ kgC] +# * LNAGC - log of above-ground carbon +# * SD.LNAGC - allometry uncertainty, using the log-scale +# * X - x position in the plot (used only if epsilon.smp is NULL) +# * Y - y position in the plot (used only if epsilon.smp is NULL) +# xmax - maximum size along the x axis (used only if epsilon.smp is NULL) +# ymax - maximum size along the y axis (used only if epsilon.smp is NULL) +# subalong - which axis has the subplot +# epsilon.smp - in case epsilon.smp is null, the function will try to estimate within-plot +# sampling uncertainty. This is unlikely to work unless you have large +# plots or at the very least have plots without sub-sampling. +# Alternatively, you may provide the number from previous studies. +# n.sub - number of subplot samples +# n.real - number of replicates for estimating uncertainty. Large numbers +# (10000 or more) are needed for stable results. +# ---------------------------------------------------------------------------------------- +# +# +# +# ---------------------------------------------------------------------------------------- +# Output: +# ---------------------------------------------------------------------------------------- +# A vector with 8 numbers: +# se.agb.xxxxx - uncertainties for plot estimate of biomass (no standing dead) [kgC/m2] +# se.acd.xxxxx - uncertainties for plot estimate of biomass+necromass [kgC/m2] +# se.xxx.measurement - contribution of measurement uncertainty to plot uncertainty +# se.xxx.allometry - contribution of allometry uncertainty to plot uncertainty +# se.xxx.sampling - contribution of sampling uncertainty to plot uncertainty +# se.xxx.census - total uncertainty (combining the three terms above). +#------------------------------------------------------------------------------------------ +find_agb_error_NEON <<- function(datum,xmax,ymax,subalong=c("x","y"),epsilon.smp=NULL + ,n.sub=25,n.real=10000){ + + #---~--- + # Standardise subalong. + #---~--- + subalong = match.arg(subalong) + #---~--- + + + #---~--- + # Number of data points. + #---~--- + ndatum = nrow(datum) + #---~--- + + + #---~--- + # First, find the combined error. + #---~--- + se.use = data.frame( measurement = sqrt(log(1+(datum$ME.AGC / datum$AGC)^2)) + , allometry = datum$SD.LNAGC + )#end datum + #---~--- + + + #---~--- + # Initialise answer. + #---~--- + se.agb = rep(x=NA_real_,length(se.use)+2) + names(se.agb) = c(names(se.use),"sampling","census") + #---~--- + + + + #---~--- + # Create a population matrix. + #---~--- + NPLANT = matrix( data = rep(datum$nplant,times=n.real), nrow=ndatum,ncol=n.real) + #---~--- + + + #---~--- + # Initialise answer. We will create the vector before and loop through the errors. + #---~--- + for (e in seq_along(se.use)){ + AGC = matrix( data = rlnorm( n = n.real*ndatum + , meanlog = rep(datum$LNAGC,times=n.real) + , sdlog = rep(se.use[[e]],times=n.real) + )#end rlnorm + , nrow = ndatum + , ncol = n.real + )#end matrix + AGB = colSums(NPLANT * AGC) + se.agb[e] = sd(AGB) + }#end for (e in seq_along(se.use)) + #---~--- + + + #---~--- + # Find total biomass, to be used by the within plot sampling error. + #---~--- + agb.bar = sum(datum$nplant * datum$AGC) + #---~--- + + + #---~--- + # Unless epsilon.smp is provided, we estimate the within-plot sampling error. + #---~--- + if (is.null(epsilon.smp)){ + #---~--- + # Split domain into smaller subsplots. + #---~--- + if (subalong %in% "x"){ + xbreaks = seq(from=0,to=xmax,length.out=n.sub+1) + xlwr = sqrt(.Machine$double.eps) * xmax + xupr = (1. - sqrt(.Machine$double.eps)) * xmax + xnow = pmax(xlwr,pmin(xupr,datum$X)) + isub = as.integer(cut(xnow,breaks=xbreaks)) + }else{ + ybreaks = seq(from=0,to=ymax,length.out=n.sub+1) + ylwr = sqrt(.Machine$double.eps) * ymax + yupr = (1. - sqrt(.Machine$double.eps)) * ymax + ynow = pmax(ylwr,pmin(yupr,datum$Y)) + isub = as.integer(cut(ynow,breaks=ybreaks)) + }#end if + #---~--- + + + #---~--- + # Find the AGB/ACD for each subplot. + #---~--- + agb.sub = rep(0.,times=n.sub) + acd.sub = rep(0.,times=n.sub) + agb.tmp = tapply(X=n.sub*datum$nplant*datum$AGC,INDEX=isub,FUN=sum) + acd.tmp = tapply(X=n.sub*datum$ntotal*datum$AGC,INDEX=isub,FUN=sum) + agb.idx = as.integer(names(agb.tmp)) + acd.idx = as.integer(names(acd.tmp)) + agb.sub[agb.idx] = agb.tmp + acd.sub[acd.idx] = acd.tmp + #---~--- + + + + + #---~--- + # Create replicates using bootstrap with replacement. + #---~--- + AGB = colMeans( matrix( data = sample(agb.sub,size=n.real*n.sub,replace=TRUE) + , nrow = n.sub + , ncol = n.real + )#end matrix + )#end colMeans + se.agb["sampling"] = sd(AGB) + #---~--- + }else{ + #---~--- + # Use pre-defined sampling error. + #---~--- + se.agb["sampling"] = epsilon.smp * agb.bar + #---~--- + }#end if (is.null(epsilon.smp)) + #---~--- + + + + #---~--- + # Find combined source of errors. + #---~--- + se.agb["census"] = sqrt(sum(se.agb[c("measurement","allometry","sampling")]^2)) + #---~--- + + + #---~--- + # Error is the standard deviation of all realisations. + #---~--- + ans = se.agb + names(ans) = paste0("se.agb.",names(se.agb)) + #---~--- + + + #---~--- + # Return answer. + #---~--- + return(ans) + #---~--- +}#end find_agb_error_NEON +#========================================================================================== +#========================================================================================== diff --git a/R-utils/optim.gbm.r b/R-utils/optim.gbm.r index f60dd04ae..c1b89d481 100644 --- a/R-utils/optim.gbm.r +++ b/R-utils/optim.gbm.r @@ -137,6 +137,9 @@ optim.gbm <<- function( formula if (is.null (boot.class)){ idx = sample.int(n=n.data,replace=TRUE) ixval = which(! (sequence(n.data) %in% idx)) + }else if (n.uniq.class == 1L){ + idx = sample.int(n=n.data,replace=TRUE) + ixval = which(! (sequence(n.data) %in% idx)) }else{ use.class = lit.sample(x=uniq.class,size=n.uniq.class,replace=TRUE) use.sample = mapply( FUN = function(x,y) which(y %in% x) diff --git a/R-utils/optim.pls.r b/R-utils/optim.pls.r index f8634bf5c..b11798a1d 100644 --- a/R-utils/optim.pls.r +++ b/R-utils/optim.pls.r @@ -67,7 +67,11 @@ optim.pls <<- function( formula #----- Run PLS. ------------------------------------------------------------------------# if (verbose) cat0( " > PLS (full model)") - ans = plsr(formula=form.now,data=data,verbose=verbose,...) + ans = plsr( formula = form.now + , data = data + , verbose = verbose + , ... + )#end plsr ans$orig.formula = formula ans$formula = form.now ans$yname = yname @@ -79,16 +83,18 @@ optim.pls <<- function( formula #----- Retrieve MSE in case back-transformation is sought. -----------------------------# - resnow = ans$residuals[,1,] - rsumsq = apply(X=resnow,MARGIN=2,FUN=sum2,na.rm=TRUE) - nnow = apply(X=resnow,MARGIN=2,FUN=function(x) sum(is.finite(x))) - msenow = MSEP(object=ans,"adjCV") - ans$mse = c(msenow$val[1,1,-1]) - ans$vary = if(ylog){var(log(data[yname]),na.rm=TRUE)}else{var(data[yname],na.rm=TRUE)} - ans$fve = 1 - ans$mse / ans$vary - max.fve = max(ans$fve,na.rm=TRUE) - rel.fve = ans$fve / max.fve - ans$ncomp = min(which(rel.fve >= fve.tolerance)) + msenow.t = MSEP(object=ans,"train")$val[,,] + msenow.a = MSEP(object=ans,"adjCV")$val[,,] + if (ylog){ + yvar = var(log(data[[yname]]),na.rm=TRUE) + }else{ + yvar = var(data[[yname]],na.rm=TRUE) + }#end if (ylog) + fve = 1. - msenow.a / yvar + max.fve = max(fve,na.rm=TRUE) + rel.fve = fve / max.fve + ans$ncomp = min(which(rel.fve %ge% fve.tolerance)) - 1L + ans$mse = apply(ans$residuals[,1,],MARGIN=2L,FUN=mean2) #---------------------------------------------------------------------------------------# @@ -106,7 +112,7 @@ optim.pls <<- function( formula ans$ln.pred = ypred ans$ln.sigma = sqrt(ans$mse[ans$ncomp]) ans$predicted = exp(ypred + 0.5 * ans$mse[ans$ncomp]) - ans$sigma = with(ans,sqrt(exp(mse[ncomp])-1)*exp(2.*ans$ln.pred + mse[ncomp])) + ans$sigma = with(ans,sqrt(exp(mse[ncomp])-1)*exp(2.*ln.pred + mse[ncomp])) plwr = 0.5 * (1.0 - ci.level) pupr = 0.5 * (1.0 + ci.level) ans$qlow = qlnorm(p=plwr,meanlog=ans$ln.pred,sdlog=ans$ln.sigma) @@ -139,7 +145,6 @@ optim.pls <<- function( formula dotdotdot = modifyList( x = dotdotdot , val = list( verbose = FALSE , model = FALSE - , ncomp = ans$ncomp )#end list )#end modifyList #---------------------------------------------------------------------------------------# @@ -228,6 +233,9 @@ optim.pls <<- function( formula if (is.null (boot.class)){ idx = sample.int(n=n.data,replace=TRUE) ixval = which(! (sequence(n.data) %in% idx)) + }else if (n.uniq.class == 1L){ + idx = sample.int(n=n.data,replace=TRUE) + ixval = which(! (sequence(n.data) %in% idx)) }else{ use.class = lit.sample(x=uniq.class,size=n.uniq.class,replace=TRUE) use.sample = mapply( FUN = function(x,y) which(y %in% x) @@ -248,8 +256,12 @@ optim.pls <<- function( formula #----- Call PLS. --------------------------------------------------------------------# - dotnow = modifyList(x=dotdotdot,val=list(data=boot.data)) - pls.now = try(do.call(what="plsr",args=dotnow),silent=TRUE) + dotnow = modifyList(x=dotdotdot,val=list(data=boot.data)) + pls.now = try(do.call(what="plsr",args=dotnow),silent=TRUE) + boot.fine = ! ("try-error" %in% is(pls.now)) + if (boot.fine){ + boot.fine = any(is.finite(pls.now$fitted.values)) + }#end if (boot.fine) #------------------------------------------------------------------------------------# @@ -257,12 +269,11 @@ optim.pls <<- function( formula #------------------------------------------------------------------------------------# # Check whether to append to the data set. # #------------------------------------------------------------------------------------# - if (! ("try-error" %in% is(pls.now))){ + if (boot.fine){ ib = ib + 1 #----- Retrieve MSE in case back-transformation is sought. -----------------------# - mse.now = MSEP(object=pls.now,"adjCV") - mse.now = c(mse.now$val[1,1,ans$ncomp+1]) + mse.now = mean2(pls.now$residuals[,1,ans$ncomp],na.rm=TRUE) #---------------------------------------------------------------------------------# @@ -288,7 +299,7 @@ optim.pls <<- function( formula #---------------------------------------------------------------------------------# }else if (verbose){ cat0(" > Bootstrap realisation failed, skip it.") - }#end if (! ("try-error" %in% is(pls.now))) + }#end if (boot.fine) #------------------------------------------------------------------------------------# }#end while (ib < n.boot) #---------------------------------------------------------------------------------------# @@ -363,17 +374,20 @@ optim.pls <<- function( formula #----- Call PLS. -----------------------------------------------------------------# dotnow = modifyList(x=dotdotdot,val=list(data=sim.data)) pls.now = try(do.call(what="plsr",args=dotnow),silent=TRUE) + syobs.fine = ! ("try-error" %in% is(pls.now)) + if (syobs.fine){ + syobs.fine = any(is.finite(pls.now$fitted.values)) + }#end if (boot.fine) #---------------------------------------------------------------------------------# #---------------------------------------------------------------------------------# # Check whether to append to the data set. # #---------------------------------------------------------------------------------# - if (! ("try-error" %in% is(pls.now))){ + if (syobs.fine){ #----- Retrieve MSE in case back-transformation is sought. --------------------# - mse.now = MSEP(object=pls.now,"adjCV") - mse.now = c(mse.now$val[1,1,ans$ncomp+1]) + mse.now = mean2(pls.now$residuals[,1,ans$ncomp]) #------------------------------------------------------------------------------# @@ -405,7 +419,7 @@ optim.pls <<- function( formula #----- Show banner to entertain the bored user. -------------------------------# if (verbose) cat0(" > Sigma-y realisation failed, skip it.") #------------------------------------------------------------------------------# - }#end if (! ("try-error" %in% is(pls.now))) + }#end if (syobs.fine) #---------------------------------------------------------------------------------# diff --git a/R-utils/optim.randomforest.r b/R-utils/optim.randomforest.r index d73f55381..ba774f152 100644 --- a/R-utils/optim.randomforest.r +++ b/R-utils/optim.randomforest.r @@ -136,6 +136,9 @@ optim.randomForest <<- function( formula if (is.null (boot.class)){ idx = sample.int(n=n.data,replace=TRUE) ixval = which(! (sequence(n.data) %in% idx)) + }else if (n.uniq.class == 1L){ + idx = sample.int(n=n.data,replace=TRUE) + ixval = which(! (sequence(n.data) %in% idx)) }else{ use.class = lit.sample(x=uniq.class,size=n.uniq.class,replace=TRUE) use.sample = mapply( FUN = function(x,y) which(y %in% x) diff --git a/R-utils/qapply.r b/R-utils/qapply.r index b05ceca20..b9606058a 100644 --- a/R-utils/qapply.r +++ b/R-utils/qapply.r @@ -8,6 +8,15 @@ #------------------------------------------------------------------------------------------# qapply <<- function(X,INDEX,DIM,FUN,...){ + #---------------------------------------------------------------------------------------# + # Find out whether X is a data frame. If so, we return the same variable types and # + # names. # + #---------------------------------------------------------------------------------------# + X.df = is.data.frame(X) + if (missing(DIM) && X.df) DIM = 1 + #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# # Find the number of dimensions. # #---------------------------------------------------------------------------------------# @@ -86,6 +95,18 @@ qapply <<- function(X,INDEX,DIM,FUN,...){ }#end if #---------------------------------------------------------------------------------------# + + #---------------------------------------------------------------------------------------# + # If the original data was a data frame and DIM was 1 (or missing), make sure the # + # output is also a data frame. # + #---------------------------------------------------------------------------------------# + if (X.df && (DIM == 1)){ + eout = as.data.frame(eout) + names(eout) = names(X) + }#end if (X.df && (DIM == 1)) + #---------------------------------------------------------------------------------------# + + return(eout) }#end function qapply #==========================================================================================# From e0f97d919b90ae5662caf59ce0b946e1b1c49dfe Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Sun, 11 Jun 2023 17:36:01 -0700 Subject: [PATCH 50/62] Add option to crash ed_filelist.F90 when the extension is not recognised. --- ED/src/utils/ed_filelist.F90 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ED/src/utils/ed_filelist.F90 b/ED/src/utils/ed_filelist.F90 index 88dd482bc..b8da21e54 100644 --- a/ED/src/utils/ed_filelist.F90 +++ b/ED/src/utils/ed_filelist.F90 @@ -202,6 +202,15 @@ subroutine ed1_fileinfo(text,nfiles,full_list,ntype,type_list,tlon_list,tlat_lis okdot = 3 case ('.lu') okdot = 2 + case default + write (unit=*,fmt='(a)' ) '----------------------------------------------' + write (unit=*,fmt='(a)' ) ' Unrecognised extension for ED1 file style! ' + write (unit=*,fmt='(a)' ) '----------------------------------------------' + write (unit=*,fmt='(a,1x,a)' ) ' TEXT = ',trim(text) + write (unit=*,fmt='(a,1x,i12)') ' NFILES = ',nfiles + write (unit=*,fmt='(a,1x,a)' ) ' FULL_LIST(1st) = ',trim(full_list(1)) + write (unit=*,fmt='(a)' ) '----------------------------------------------' + call fatal_error('Invalid file extension','ed1_fileinfo','ed_filelist.F90') end select From 34047d8e8ee9faedd46738c6112ed235e0ea3f3e Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Mon, 12 Jun 2023 08:03:37 -0700 Subject: [PATCH 51/62] Adding missing variable FC_TYPE to include.mk.docker, and temporarily disabling MPI settings in the same file. MPI is giving some odd messages in the CI (like failing in fatal_error.F90 when trying to compile call to MPI_Abort). The call to MPI_Abort seems correct, so this may be a problem in the MPI side, not ED2. For now we disable it as very few people are using truly regional runs nowadays, but if anyone knows a solution, please feel free to revise the code and revert the CI and Docker CI compilations to allow MPI. --- ED/build/make/include.mk.docker | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ED/build/make/include.mk.docker b/ED/build/make/include.mk.docker index 1ad2869eb..d3e40b250 100644 --- a/ED/build/make/include.mk.docker +++ b/ED/build/make/include.mk.docker @@ -27,13 +27,17 @@ USE_MPIWTIME=1 # gfortran CMACH=PC_LINUX1 -F_COMP=mpif90 +FC_TYPE=GNU +# F_COMP=mpif90 +F_COMP=gfortran F_OPTS=-O3 -ffree-line-length-none -fno-whole-file -C_COMP=mpicc +# C_COMP=mpicc +C_COMP=gcc C_OPTS=-O3 -LOADER=mpif90 +# LOADER=mpif90 +LOADER=gfortran LOADER_OPTS=${F_OPTS} -C_LOADER=mpicc +# C_LOADER=mpicc # C_LOADER is obsolete and can be removed LIBS= MOD_EXT=mod @@ -41,7 +45,8 @@ MOD_EXT=mod MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +# PAR_DEFS=-DRAMS_MPI +PAR_DEFS= # For IBM,HP,SGI,ALPHA,LINUX use these: ARCHIVE=ar rs From e0dbf8f6821c1f981c6a669a591f0ce60edc427c Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Mon, 12 Jun 2023 08:29:05 -0700 Subject: [PATCH 52/62] Spotted one place where I had not switched from "include 'mpif.h'" to "use mpi", which may explain the cryptic errors with Docker. Also replaced the same instances in BRAMS, just for consistency. --- BRAMS/src/core/local_proc.F90 | 23 ++++++------ BRAMS/src/core/model.F90 | 6 ++-- BRAMS/src/core/rammain.F90 | 4 ++- BRAMS/src/core/rams_master.F90 | 4 ++- BRAMS/src/core/rnode.F90 | 13 +++++-- BRAMS/src/ed2/edcp_driver.F90 | 7 ++-- BRAMS/src/ed2/edcp_init.F90 | 30 ++++++++-------- BRAMS/src/ed2/edcp_mpiutils.F90 | 10 +++--- BRAMS/src/io/error_mess.F90 | 12 +++---- BRAMS/src/mpi/mpass_advec.F90 | 8 +++-- BRAMS/src/mpi/mpass_cyclic.F90 | 14 ++++---- BRAMS/src/mpi/mpass_dtl.F90 | 20 ++++++----- BRAMS/src/mpi/mpass_feed.F90 | 8 +++-- BRAMS/src/mpi/mpass_full.F90 | 16 ++++++--- BRAMS/src/mpi/mpass_init.F90 | 64 ++++++++++++++++++++++++--------- BRAMS/src/mpi/mpass_lbc.F90 | 8 +++-- BRAMS/src/mpi/mpass_nest.F90 | 8 +++-- BRAMS/src/mpi/mpass_oda.F90 | 8 +++-- BRAMS/src/mpi/mpass_st.F90 | 8 +++-- BRAMS/src/mpi/paral.F90 | 8 +++-- ED/src/mpi/ed_mpass_init.F90 | 27 ++++++-------- 21 files changed, 189 insertions(+), 117 deletions(-) diff --git a/BRAMS/src/core/local_proc.F90 b/BRAMS/src/core/local_proc.F90 index e538cb55a..f01819257 100644 --- a/BRAMS/src/core/local_proc.F90 +++ b/BRAMS/src/core/local_proc.F90 @@ -325,6 +325,9 @@ subroutine master_putdxt(master_num) use rpara, only : & nmachs, & ! INTENT(IN) machnum ! INTENT(IN) +#if defined(RAMS_MPI) + use mpi +#endif implicit none @@ -333,10 +336,6 @@ subroutine master_putdxt(master_num) real :: dxtmax(maxgrds) integer :: master_num,ierr -#if defined(RAMS_MPI) - include 'mpif.h' -#endif - ! Calculating DXTMAX do ifm = 1,ngrids nn2 = nnxp(ifm) @@ -367,10 +366,10 @@ subroutine master_putcflmax(master_num) nmachs, & ! INTENT(IN) machnum, & ! INTENT(IN) mainnum ! intent(in) - #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none integer :: master_num,ierr #if defined(RAMS_MPI) @@ -387,11 +386,11 @@ subroutine node_getdxt(dxtmax_local) use io_params, only : & maxgrds ! INTENT(IN) use node_mod, only: master_num - implicit none - #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none + real, intent(out) :: dxtmax_local(maxgrds) integer :: ierr #if defined(RAMS_MPI) @@ -413,12 +412,12 @@ subroutine node_getcflmax() cflxy, & ! INTENT(OUT) cflz ! INTENT(OUT) use node_mod, only : master_num +#if defined(RAMS_MPI) + use mpi +#endif implicit none -#if defined(RAMS_MPI) - include 'mpif.h' -#endif integer :: ierr #if defined(RAMS_MPI) diff --git a/BRAMS/src/core/model.F90 b/BRAMS/src/core/model.F90 index b7e7f2bac..f61570550 100644 --- a/BRAMS/src/core/model.F90 +++ b/BRAMS/src/core/model.F90 @@ -265,6 +265,9 @@ subroutine par_model(master_num) ptimes ! INTENT(IN) use dtset, only: dtset_new ! subroutine +#if defined(RAMS_MPI) + use mpi +#endif implicit none ! +------------------------------------------------------------------ @@ -284,9 +287,6 @@ subroutine par_model(master_num) !MLO integer :: ierr, master_num -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !ALF real :: dxtmax_local(maxgrds) diff --git a/BRAMS/src/core/rammain.F90 b/BRAMS/src/core/rammain.F90 index fd6c98910..fe4a86f4c 100644 --- a/BRAMS/src/core/rammain.F90 +++ b/BRAMS/src/core/rammain.F90 @@ -16,6 +16,9 @@ program main ! invoking master/slave processes or full model process ! destroy processes ! +#if defined(RAMS_MPI) + use mpi +#endif implicit none @@ -65,7 +68,6 @@ program main ! For MPI interface integer :: ierr #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif ! Get input arguments (required by C interface of MPI_Init) diff --git a/BRAMS/src/core/rams_master.F90 b/BRAMS/src/core/rams_master.F90 index 8eba33de1..1722160e0 100644 --- a/BRAMS/src/core/rams_master.F90 +++ b/BRAMS/src/core/rams_master.F90 @@ -38,6 +38,9 @@ subroutine rams_master(ipara, nslaves, master_num, name_name) use mem_radiate, only: ISWRTYP, ILWRTYP ! Intent(in) use mem_leaf, only : isfcl ! Intent(in) use dtset, only: dtset_new ! subroutine +#if defined(RAMS_MPI) + use mpi +#endif implicit none @@ -63,7 +66,6 @@ subroutine rams_master(ipara, nslaves, master_num, name_name) integer :: ierr #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !MLO] diff --git a/BRAMS/src/core/rnode.F90 b/BRAMS/src/core/rnode.F90 index 6604df513..c00c9c903 100644 --- a/BRAMS/src/core/rnode.F90 +++ b/BRAMS/src/core/rnode.F90 @@ -78,13 +78,16 @@ subroutine rams_node() use mem_leaf, only: isfcl ! intent(in) use dtset, only: dtset_new ! subroutine +#if defined(RAMS_MPI) + use mpi +#endif + implicit none ! Local Variables: #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif integer :: isendflg,isendlite,isendmean,isendboth,nt,npass,icm,ifm,nfeed real :: wstart,totcpu,t1,w1,t6,w6 @@ -385,13 +388,15 @@ subroutine init_params(init) use mem_oda use mem_radiate, only: ISWRTYP, ILWRTYP ! Intent(in) use mem_leaf , only: isfcl ! Intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none integer, intent(in) :: init #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif integer :: ierr @@ -438,6 +443,9 @@ subroutine init_fields(init) use mem_cuparm, only : nclouds use mem_aerad , only : nwave use grid_dims , only : ndim_types +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Arguments. ----------------------------------------------------------------------! @@ -473,7 +481,6 @@ subroutine init_fields(init) !----- Include modules. ----------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! diff --git a/BRAMS/src/ed2/edcp_driver.F90 b/BRAMS/src/ed2/edcp_driver.F90 index ffa40b50d..6272d0b93 100644 --- a/BRAMS/src/ed2/edcp_driver.F90 +++ b/BRAMS/src/ed2/edcp_driver.F90 @@ -47,6 +47,9 @@ subroutine ed_coup_driver() use budget_utils , only : ed_init_budget ! ! sub-routine use ed_type_init , only : ed_init_viable ! ! sub-routine use soil_respiration , only : zero_litter_inputs ! ! sub-routine +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Local variables. ----------------------------------------------------------------! @@ -70,10 +73,6 @@ subroutine ed_coup_driver() real :: cputime1 !----- External function. --------------------------------------------------------------! real , external :: walltime ! wall time - !----- MPI header. ---------------------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !---------------------------------------------------------------------------------------! diff --git a/BRAMS/src/ed2/edcp_init.F90 b/BRAMS/src/ed2/edcp_init.F90 index c5dc646ad..d87e7ad34 100644 --- a/BRAMS/src/ed2/edcp_init.F90 +++ b/BRAMS/src/ed2/edcp_init.F90 @@ -20,11 +20,11 @@ subroutine master_ed_init(iparallel) , allocate_edglobals & ! subroutine , allocate_edtype & ! subroutine , edgrid_g ! ! intent(inout) - implicit none - !------Included variables. -------------------------------------------------------------! + !------MPI variables and procedures. ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Arguments. ----------------------------------------------------------------------! integer, intent(in) :: iparallel !----- Local variables. ----------------------------------------------------------------! @@ -108,11 +108,11 @@ subroutine node_ed_init , allocate_edglobals & ! sub-routine , allocate_edtype & ! sub-routine , edgrid_g ! ! structure - implicit none - !------Included variables. -------------------------------------------------------------! + !------MPI variables and procedures. ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Local variables. ----------------------------------------------------------------! integer :: ifm integer :: ierr @@ -181,12 +181,11 @@ subroutine copy_in_bramsmpi(master_num_b,mchnum_b,mynum_b,nmachs_b,machs_b,ipara use grid_coms , only : ngrids & ! intent(out) , nnxp & ! intent(out) , nnyp ! ! intent(out) - - implicit none - !----- Included variables. -------------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + + implicit none !----- Arguments. ----------------------------------------------------------------------! integer , intent(in) :: master_num_b integer , intent(in) :: mchnum_b @@ -267,11 +266,11 @@ subroutine init_master_work(ipara) , allocate_edglobals & ! sub-routine , allocate_edtype ! ! sub-routine use mem_polygons , only : maxsite ! ! intent(in) - implicit none - !----- Included variables. -------------------------------------------------------------! + !----- MPI variables and procedures. ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Arguments. ----------------------------------------------------------------------! integer, intent(in) :: ipara !----- Local variables. ----------------------------------------------------------------! @@ -510,11 +509,10 @@ subroutine init_node_work() , allocate_edglobals & ! sub-routine , allocate_edtype ! ! sub-routine use mem_polygons , only : maxsite ! ! sub-routine - implicit none - !----- Included variables. -------------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Local variables. ----------------------------------------------------------------! integer :: ifm integer :: nm diff --git a/BRAMS/src/ed2/edcp_mpiutils.F90 b/BRAMS/src/ed2/edcp_mpiutils.F90 index 2ee522ff8..9a4ee4fc4 100644 --- a/BRAMS/src/ed2/edcp_mpiutils.F90 +++ b/BRAMS/src/ed2/edcp_mpiutils.F90 @@ -234,11 +234,10 @@ subroutine masterput_ednl(mainnum) , idetailed & ! intent(in) , patch_keep ! ! intent(in) use fusion_fission_coms , only : ifusion ! ! intent(in) - implicit none - !----- Standard common blocks. ---------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Arguments. ----------------------------------------------------------------------! integer, intent(in) :: mainnum !----- Local variables. ----------------------------------------------------------------! @@ -760,11 +759,10 @@ subroutine nodeget_ednl(master_num) , idetailed & ! intent(out) , patch_keep ! ! intent(out) use fusion_fission_coms , only : ifusion ! ! intent(out) - implicit none - !----- Standard common blocks. ---------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Arguments. ----------------------------------------------------------------------! integer, intent(in) :: master_num !----- Local variables. ----------------------------------------------------------------! diff --git a/BRAMS/src/io/error_mess.F90 b/BRAMS/src/io/error_mess.F90 index 1e868e3b2..276496f8c 100644 --- a/BRAMS/src/io/error_mess.F90 +++ b/BRAMS/src/io/error_mess.F90 @@ -6,11 +6,11 @@ subroutine abort_run(reason,subr,file) ! being frozen. ! !------------------------------------------------------------------------------------------! use node_mod, only: nmachs,mynum - implicit none - character(len=*), intent(in) :: reason,subr,file #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none + character(len=*), intent(in) :: reason,subr,file write(unit=*,fmt='(a)') '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::' write(unit=*,fmt='(a)') '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::' write(unit=*,fmt='(a)') '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::' @@ -49,12 +49,12 @@ subroutine opspec_mess(reason,opssub) ! This is just a first warning to be given in the standard output. Since the namelist ! ! may have more than one error, I list all the problems, then the model will stop. ! !------------------------------------------------------------------------------------------! +#if defined(RAMS_MPI) + use mpi +#endif implicit none character(len=*), intent(in) :: reason,opssub -#if defined(RAMS_MPI) - include 'mpif.h' -#endif write (unit=*,fmt='(a)') ' ' write (unit=*,fmt='(a)') '----------------------------------------------------------------------------' write (unit=*,fmt='(3(a,1x))') '>>>> ',trim(opssub),' error! in your namelist!' diff --git a/BRAMS/src/mpi/mpass_advec.F90 b/BRAMS/src/mpi/mpass_advec.F90 index 540945520..111187a2f 100644 --- a/BRAMS/src/mpi/mpass_advec.F90 +++ b/BRAMS/src/mpi/mpass_advec.F90 @@ -36,6 +36,9 @@ subroutine node_sendadv(iaflag) use mem_cuparm , only : nclouds ! ! intent(in) use grid_dims , only : maxgrds ! ! intent(in) use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Arguments. ----------------------------------------------------------------------! @@ -59,7 +62,6 @@ subroutine node_sendadv(iaflag) !----- Module variables. ---------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! @@ -220,12 +222,14 @@ subroutine node_getadv(iaflag) use mem_scratch use mem_cuparm , only : nclouds ! ! intent(in) use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Module variables. ---------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments. ----------------------------------------------------------------------! integer , intent(in) :: iaflag diff --git a/BRAMS/src/mpi/mpass_cyclic.F90 b/BRAMS/src/mpi/mpass_cyclic.F90 index a9e5cea5e..71a9628b7 100644 --- a/BRAMS/src/mpi/mpass_cyclic.F90 +++ b/BRAMS/src/mpi/mpass_cyclic.F90 @@ -49,10 +49,10 @@ subroutine node_cycinit(nzp,nxp,nyp,npvar,nmachs,ibnd,jbnd,mynum) use mem_cuparm, only : nclouds use mem_aerad , only : nwave use grid_dims, only : ndim_types - implicit none #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none integer :: nmachs,mynum,icypts,nzp,nxp,nyp,icycpts,iadd,mdn,msn,ndn,nsn & ,ibnd,jbnd,nm,maxijrecv_cyc integer, dimension(ndim_types) :: npvar @@ -282,12 +282,14 @@ subroutine node_sendcyclic(isflag) use grid_dims use mem_cuparm, only: nclouds use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Included variables --------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: isflag @@ -479,13 +481,13 @@ subroutine node_getcyclic(isflag) use grid_dims use mem_cuparm, only : nclouds use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Included variables --------------------------------------------------------------! include 'interface.h' -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !----- Arguments -----------------------------------------------------------------------! integer , intent(in) :: isflag !----- Local variables -----------------------------------------------------------------! diff --git a/BRAMS/src/mpi/mpass_dtl.F90 b/BRAMS/src/mpi/mpass_dtl.F90 index d4236305b..c929f11f1 100644 --- a/BRAMS/src/mpi/mpass_dtl.F90 +++ b/BRAMS/src/mpi/mpass_dtl.F90 @@ -23,12 +23,12 @@ subroutine master_getcflcpu() use mem_grid use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none include 'interface.h' -#if defined(RAMS_MPI) -include 'mpif.h' -#endif integer :: ngr,nm,k real, save, allocatable :: buff1(:),buff2(:) integer, save :: ncall=0 @@ -69,12 +69,14 @@ subroutine node_putcflcpu(totcpu,totwall) use mem_grid use node_mod +#if defined(RAMS_MPI) + use mpi +#endif implicit none #if defined(RAMS_MPI) include 'interface.h' -include 'mpif.h' #endif real :: totcpu,totwall integer :: ierr @@ -94,12 +96,12 @@ subroutine master_putdtsched(isendflg,isendlite,isendmean & ,isendboth,ntsend) use mem_grid use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none -#if defined(RAMS_MPI) -include 'mpif.h' -#endif integer :: ierr integer :: isendflg,isendlite,isendmean,isendboth,ntsend @@ -135,13 +137,15 @@ subroutine node_getdtsched(isendflg,isendlite,isendmean,isendboth) use mem_grid use node_mod +#if defined(RAMS_MPI) + use mpi +#endif implicit none integer :: isendflg,isendlite,isendmean,isendboth,ntsend #if defined(RAMS_MPI) include 'interface.h' -include 'mpif.h' #endif integer :: ierr diff --git a/BRAMS/src/mpi/mpass_feed.F90 b/BRAMS/src/mpi/mpass_feed.F90 index 8b318aa7a..a9462ebee 100644 --- a/BRAMS/src/mpi/mpass_feed.F90 +++ b/BRAMS/src/mpi/mpass_feed.F90 @@ -56,13 +56,15 @@ subroutine node_sendfeed(ngr) use grid_dims , only: & maxgrds ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none integer :: ngr #if defined(RAMS_MPI) include 'interface.h' -include 'mpif.h' #endif integer :: ierr,ipos @@ -255,12 +257,14 @@ subroutine node_getfeed(icm,ifm) nypmax, & ! intent(in) nzpmax, & ! intent(in) maxgrds ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none #if defined(RAMS_MPI) include 'interface.h' -include 'mpif.h' #endif integer :: ierr,ipos diff --git a/BRAMS/src/mpi/mpass_full.F90 b/BRAMS/src/mpi/mpass_full.F90 index 166db5138..54a01a54f 100644 --- a/BRAMS/src/mpi/mpass_full.F90 +++ b/BRAMS/src/mpi/mpass_full.F90 @@ -32,12 +32,14 @@ subroutine master_sendinit() use io_params use rpara use mem_aerad, only: nwave +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif !----- Local constants. ----------------------------------------------------------------! @@ -194,12 +196,14 @@ subroutine node_getinit() use mem_grid use io_params use mem_aerad, only: nwave +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif !----- Local constants. ----------------------------------------------------------------! @@ -407,11 +411,13 @@ subroutine node_sendall() use grid_dims use mem_cuparm , only : nclouds ! ! intent(in) use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif !----- Local constants -----------------------------------------------------------------! @@ -534,11 +540,13 @@ subroutine master_getall() use mem_cuparm , only: nclouds ! ! intent(in) use mem_aerad , only: nwave ! ! intent(in) use grid_dims +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif !----- Local constants -----------------------------------------------------------------! diff --git a/BRAMS/src/mpi/mpass_init.F90 b/BRAMS/src/mpi/mpass_init.F90 index bb809fe5e..76e524e79 100644 --- a/BRAMS/src/mpi/mpass_init.F90 +++ b/BRAMS/src/mpi/mpass_init.F90 @@ -21,12 +21,14 @@ subroutine masterput_processid(nproc,taskids,master_num) use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, dimension(*), intent(in) :: taskids @@ -165,11 +167,13 @@ subroutine masterput_nl(master_num) , ribmax & ! intent(in) , leaf_maxwhc & ! intent(in) , min_patch_area ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: master_num @@ -498,12 +502,14 @@ subroutine masterput_gridinit(master_num) use mem_grid use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if (RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: master_num @@ -550,11 +556,13 @@ subroutine masterput_grid_dimens(master_num) use mem_grid use cyclic_mod use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' include 'interface.h' #endif !----- Arguments -----------------------------------------------------------------------! @@ -640,12 +648,14 @@ subroutine masterput_gridset(master_num) use mem_grid use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: master_num @@ -702,13 +712,15 @@ subroutine masterput_misc(master_num) use rpara use mem_cuparm use ref_sounding +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer , intent(in) :: master_num @@ -777,12 +789,14 @@ subroutine masterput_cofnest(master_num) use mem_grid use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: master_num @@ -841,12 +855,14 @@ subroutine masterput_micphys(master_num) use micphys use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: master_num @@ -900,12 +916,14 @@ subroutine nodeget_processid(init) use grid_dims use node_mod +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: init @@ -1033,11 +1051,13 @@ subroutine nodeget_nl , ribmax & ! intent(out) , leaf_maxwhc & ! intent(out) , min_patch_area ! ! intent(out) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: nm,ierr @@ -1363,12 +1383,14 @@ subroutine nodeget_gridinit use mem_grid use node_mod +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: nm,ierr @@ -1413,12 +1435,14 @@ subroutine nodeget_grid_dimens() use mem_grid use node_mod use cyclic_mod +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: nm @@ -1525,12 +1549,14 @@ subroutine nodeget_gridset use mem_grid use node_mod +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: ierr @@ -1586,12 +1612,14 @@ subroutine nodeget_misc use mem_cuparm use ref_sounding use node_mod, only : master_num +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: ierr @@ -1659,12 +1687,14 @@ subroutine nodeget_cofnest use mem_grid use node_mod, only : master_num +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: ierr @@ -1722,12 +1752,14 @@ subroutine nodeget_micphys use micphys use node_mod, only : master_num +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables -----------------------------------------------------------------! integer :: ierr diff --git a/BRAMS/src/mpi/mpass_lbc.F90 b/BRAMS/src/mpi/mpass_lbc.F90 index 177b1f712..d39cc79d0 100644 --- a/BRAMS/src/mpi/mpass_lbc.F90 +++ b/BRAMS/src/mpi/mpass_lbc.F90 @@ -36,6 +36,9 @@ subroutine node_sendlbc() use mem_cuparm , only : nclouds ! ! intent(in) use grid_dims , only : maxgrds ! ! intent(in) use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Local variables. ----------------------------------------------------------------! @@ -56,7 +59,6 @@ subroutine node_sendlbc() !----- Module variables. ---------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! @@ -168,12 +170,14 @@ subroutine node_getlbc() use mem_scratch use mem_cuparm , only : nclouds ! ! intent(in) use mem_aerad , only : nwave ! ! intent(in) +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Module variables. ---------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Local variables. ----------------------------------------------------------------! #if defined(RAMS_MPI) diff --git a/BRAMS/src/mpi/mpass_nest.F90 b/BRAMS/src/mpi/mpass_nest.F90 index f4f323dda..6951b21bf 100644 --- a/BRAMS/src/mpi/mpass_nest.F90 +++ b/BRAMS/src/mpi/mpass_nest.F90 @@ -27,10 +27,12 @@ subroutine node_sendnbc(ifm,icm) use var_tables use mem_basic use grid_dims, only: maxgrds +#if defined(RAMS_MPI) + use mpi +#endif implicit none #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif integer :: ierr,ipos integer :: nm,i1,i2,j1,j2,k1,k2,ng,itype,mtp,iptr,nv @@ -249,11 +251,13 @@ subroutine node_getnbc(ifm,icm) use mem_scratch use mem_basic use mem_nestb +#if defined(RAMS_MPI) + use mpi +#endif implicit none #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif integer :: ierr,ipos #if defined(RAMS_MPI) diff --git a/BRAMS/src/mpi/mpass_oda.F90 b/BRAMS/src/mpi/mpass_oda.F90 index f03f1c892..f204789ba 100644 --- a/BRAMS/src/mpi/mpass_oda.F90 +++ b/BRAMS/src/mpi/mpass_oda.F90 @@ -24,6 +24,9 @@ subroutine masterput_oda(master_num) use grid_dims use mem_oda use rpara +#if defined(RAMS_MPI) + use mpi +#endif implicit none @@ -33,7 +36,6 @@ subroutine masterput_oda(master_num) ! +------------------------------------------------------------------ #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif integer :: ns integer :: master_num @@ -137,11 +139,13 @@ subroutine nodeget_oda() use node_mod use mem_oda +#if defined(RAMS_MPI) + use mpi +#endif implicit none #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif integer :: ierr integer :: ns diff --git a/BRAMS/src/mpi/mpass_st.F90 b/BRAMS/src/mpi/mpass_st.F90 index 92a54c5cc..129061c4b 100644 --- a/BRAMS/src/mpi/mpass_st.F90 +++ b/BRAMS/src/mpi/mpass_st.F90 @@ -35,13 +35,15 @@ subroutine node_sendst(isflag) use mem_scratch use mem_basic +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Module variables. ---------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer, intent(in) :: isflag @@ -215,12 +217,14 @@ subroutine node_getst(isflag) use node_mod use mem_scratch use mem_basic +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- Module variables. ---------------------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! integer , intent(in) :: isflag diff --git a/BRAMS/src/mpi/paral.F90 b/BRAMS/src/mpi/paral.F90 index 3a3e5b351..88c91be62 100644 --- a/BRAMS/src/mpi/paral.F90 +++ b/BRAMS/src/mpi/paral.F90 @@ -25,13 +25,15 @@ subroutine node_sendanl(vtype) use var_tables use mem_scratch use grid_dims +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! character(len=*) , intent(in) :: vtype @@ -120,12 +122,14 @@ subroutine master_getanl(vtype) use mem_cuparm, only : nclouds use mem_aerad , only : nwave use grid_dims +#if defined(RAMS_MPI) + use mpi +#endif implicit none !----- External variable declaration ---------------------------------------------------! #if defined(RAMS_MPI) include 'interface.h' - include 'mpif.h' #endif !----- Arguments -----------------------------------------------------------------------! character(len=*) , intent(in) :: vtype diff --git a/ED/src/mpi/ed_mpass_init.F90 b/ED/src/mpi/ed_mpass_init.F90 index 2aebbf93b..6f29675af 100644 --- a/ED/src/mpi/ed_mpass_init.F90 +++ b/ED/src/mpi/ed_mpass_init.F90 @@ -16,6 +16,7 @@ subroutine ed_masterput_processid(nproc,headnode_num,masterworks,par_run) , recvnum & ! intent(out) , master_num & ! intent(out) , machs ! ! intent(out) + use mpi #else use ed_para_coms, only : nmachs & ! intent(in) , machsize & ! intent(in) @@ -38,7 +39,6 @@ subroutine ed_masterput_processid(nproc,headnode_num,masterworks,par_run) integer :: nm #if defined(RAMS_MPI) integer :: ierr - include 'mpif.h' !---------------------------------------------------------------------------------------! #endif @@ -101,6 +101,7 @@ end subroutine ed_masterput_processid !------------------------------------------------------------------------------------------! subroutine ed_masterput_nl(par_run) #if defined(RAMS_MPI) + use mpi use ed_para_coms , only : mainnum ! ! intent(in) use ed_max_dims , only : str_len & ! intent(in) , max_poi & ! intent(in) @@ -368,8 +369,6 @@ subroutine ed_masterput_nl(par_run) !----- Local variables. ----------------------------------------------------------------! integer :: ierr integer :: n - !------ Pre-compiled options. ----------------------------------------------------------! - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! @@ -706,6 +705,7 @@ end subroutine ed_masterput_nl !------------------------------------------------------------------------------------------! subroutine ed_masterput_met_header(par_run) #if defined(RAMS_MPI) + use mpi use ed_para_coms , only : mainnum ! ! intent(in) use ed_max_dims , only : max_met_vars & ! intent(in) , str_len ! ! intent(in) @@ -736,8 +736,6 @@ subroutine ed_masterput_met_header(par_run) integer :: nsize integer :: f integer :: v - !------ Pre-compiled options. ----------------------------------------------------------! - include 'mpif.h' !---------------------------------------------------------------------------------------! #endif @@ -802,6 +800,7 @@ end subroutine ed_masterput_met_header !==========================================================================================! subroutine ed_masterput_poly_dims(par_run,masterworks) #if defined(RAMS_MPI) + use mpi use ed_para_coms , only : mainnum ! ! intent(in) #endif use ed_para_coms , only : nmachs & ! intent(in) @@ -838,7 +837,6 @@ subroutine ed_masterput_poly_dims(par_run,masterworks) real :: totalwork #if defined(RAMS_MPI) integer :: ierr - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! @@ -1107,6 +1105,7 @@ end subroutine ed_masterput_poly_dims !------------------------------------------------------------------------------------------! subroutine ed_masterput_worklist_info(par_run) #if defined(RAMS_MPI) + use mpi use ed_para_coms , only : machnum ! ! intent(in) #endif use ed_max_dims , only : maxmach @@ -1139,8 +1138,6 @@ subroutine ed_masterput_worklist_info(par_run) integer :: mpiid integer , dimension(:), allocatable :: iscratch real , dimension(:), allocatable :: rscratch - !------ Pre-compiled options. ----------------------------------------------------------! - include 'mpif.h' #endif !---------------------------------------------------------------------------------------! @@ -1300,6 +1297,7 @@ end subroutine ed_masterput_worklist_info !------------------------------------------------------------------------------------------! subroutine ed_nodeget_processid(init) #if defined(RAMS_MPI) + use mpi use ed_node_coms, only : master_num & ! intent(out) , mchnum & ! intent(out) , mynum & ! intent(out) @@ -1316,7 +1314,6 @@ subroutine ed_nodeget_processid(init) integer, intent(in) :: init !----- Local variables. ----------------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' integer, dimension(MPI_STATUS_SIZE) :: status #endif integer :: ierr @@ -1361,6 +1358,7 @@ end subroutine ed_nodeget_processid !------------------------------------------------------------------------------------------! subroutine ed_nodeget_nl #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : master_num ! ! intent(in) use ed_max_dims , only : str_len & ! intent(in) , max_poi & ! intent(in) @@ -1622,7 +1620,6 @@ subroutine ed_nodeget_nl #endif implicit none #if defined(RAMS_MPI) - include 'mpif.h' !----- Local variables. ----------------------------------------------------------------! integer :: n #endif @@ -1975,6 +1972,7 @@ end subroutine ed_nodeget_nl !------------------------------------------------------------------------------------------! subroutine ed_nodeget_met_header() #if defined(RAMS_MPI) + use mpi use ed_node_coms , only : master_num ! ! intent(in) use ed_max_dims , only : max_met_vars & ! intent(in) , str_len ! ! intent(in) @@ -1998,7 +1996,6 @@ subroutine ed_nodeget_met_header() implicit none #if defined(RAMS_MPI) - include 'mpif.h' !---- Local variables. -----------------------------------------------------------------! integer :: ierr integer :: nsize @@ -2077,6 +2074,7 @@ end subroutine ed_nodeget_met_header !==========================================================================================! subroutine ed_nodeget_poly_dims #if defined(RAMS_MPI) + use mpi use ed_state_vars, only : gdpy & ! intent(out) , py_off ! ! intent(out) use ed_node_coms , only : master_num & ! intent(in) @@ -2091,8 +2089,6 @@ subroutine ed_nodeget_poly_dims integer :: ierr integer :: ifm integer :: nm - !------ Pre-compiled options. ----------------------------------------------------------! - include 'mpif.h' !---------------------------------------------------------------------------------------! do ifm=1,ngrids do nm=1,nmachs @@ -2127,15 +2123,12 @@ subroutine ed_nodeget_worklist_info use mem_polygons , only : maxsite ! ! intent(in) use ed_node_coms , only : mynum ! ! intent(in) #if defined(RAMS_MPI) + use mpi use ed_max_dims , only : maxmach ! ! intent(in) use ed_node_coms , only : master_num ! ! intent(in) #endif implicit none -#if defined(RAMS_MPI) - !------ Pre-compiled options. ----------------------------------------------------------! - include 'mpif.h' -#endif !------ Local variables. ---------------------------------------------------------------! integer :: npolygons integer :: ifm From 8345951b510d3d95b443009cf45569c46c5f883b Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Mon, 12 Jun 2023 08:30:52 -0700 Subject: [PATCH 53/62] Reverting include.mk.docker to go back with mpi now that all routines are consistently using the MPI module. Let's see if this fixes things. --- ED/build/make/include.mk.docker | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/ED/build/make/include.mk.docker b/ED/build/make/include.mk.docker index d3e40b250..c27ce4ec3 100644 --- a/ED/build/make/include.mk.docker +++ b/ED/build/make/include.mk.docker @@ -28,16 +28,12 @@ USE_MPIWTIME=1 # gfortran CMACH=PC_LINUX1 FC_TYPE=GNU -# F_COMP=mpif90 -F_COMP=gfortran +F_COMP=mpif90 F_OPTS=-O3 -ffree-line-length-none -fno-whole-file -# C_COMP=mpicc -C_COMP=gcc +C_COMP=mpicc C_OPTS=-O3 -# LOADER=mpif90 -LOADER=gfortran +LOADER=mpif90 LOADER_OPTS=${F_OPTS} -# C_LOADER=mpicc # C_LOADER is obsolete and can be removed LIBS= MOD_EXT=mod @@ -45,8 +41,7 @@ MOD_EXT=mod MPI_PATH= PAR_INCS= PAR_LIBS= -# PAR_DEFS=-DRAMS_MPI -PAR_DEFS= +PAR_DEFS=-DRAMS_MPI # For IBM,HP,SGI,ALPHA,LINUX use these: ARCHIVE=ar rs From 79f660b711fd4ff893f860707f71224c1d7cc56a Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Mon, 12 Jun 2023 08:40:32 -0700 Subject: [PATCH 54/62] Temporarily disabling MPI from Docker. The error messages remain even when using the "use mpi" module approach instead of the deprecated "include 'mpif.h'" one. There is a possibility for using mpi_f08 (Fortran 2008), which may could be a long-term solution if it solves the issue. --- ED/build/make/include.mk.docker | 13 +++++++++---- EDR/src/driver/ed_1st.F90 | 13 ++++++------- EDR/src/driver/ed_driver.F90 | 5 ++--- EDR/src/driver/ed_model.F90 | 5 ++--- EDR/src/driver/edmain.F90 | 7 +++---- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/ED/build/make/include.mk.docker b/ED/build/make/include.mk.docker index c27ce4ec3..d3e40b250 100644 --- a/ED/build/make/include.mk.docker +++ b/ED/build/make/include.mk.docker @@ -28,12 +28,16 @@ USE_MPIWTIME=1 # gfortran CMACH=PC_LINUX1 FC_TYPE=GNU -F_COMP=mpif90 +# F_COMP=mpif90 +F_COMP=gfortran F_OPTS=-O3 -ffree-line-length-none -fno-whole-file -C_COMP=mpicc +# C_COMP=mpicc +C_COMP=gcc C_OPTS=-O3 -LOADER=mpif90 +# LOADER=mpif90 +LOADER=gfortran LOADER_OPTS=${F_OPTS} +# C_LOADER=mpicc # C_LOADER is obsolete and can be removed LIBS= MOD_EXT=mod @@ -41,7 +45,8 @@ MOD_EXT=mod MPI_PATH= PAR_INCS= PAR_LIBS= -PAR_DEFS=-DRAMS_MPI +# PAR_DEFS=-DRAMS_MPI +PAR_DEFS= # For IBM,HP,SGI,ALPHA,LINUX use these: ARCHIVE=ar rs diff --git a/EDR/src/driver/ed_1st.F90 b/EDR/src/driver/ed_1st.F90 index 571477f54..9ac94dcaa 100644 --- a/EDR/src/driver/ed_1st.F90 +++ b/EDR/src/driver/ed_1st.F90 @@ -22,13 +22,12 @@ subroutine ed_1st_master (ipara, nnodestotal,nslaves, headnode_num, max_threads, use ed_misc_coms , only : runtype ! ! intent(inout) use ed_state_vars, only : allocate_edglobals & ! subroutine , filltab_alltypes ! ! subroutine +#if defined(RAMS_MPI) + use mpi +#endif implicit none - !----- Pre-compiled variables from MPI. ------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !----- Arguments. ----------------------------------------------------------------------! integer , intent(in) :: ipara ! 0 if sequential run; 1 if parallel run integer , intent(in) :: nnodestotal ! total number of nodes on any run @@ -170,10 +169,10 @@ end subroutine ed_1st_master !------------------------------------------------------------------------------------------! subroutine ed_1st_node() use ed_mem_alloc, only : ed_memory_allocation ! ! subroutine - implicit none - !----- Pre-compiled variables from MPI. ------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi +#endif + implicit none !----- Local variable (MPI only). ------------------------------------------------------! integer :: ierr #endif diff --git a/EDR/src/driver/ed_driver.F90 b/EDR/src/driver/ed_driver.F90 index b9fc14731..58a8759a5 100644 --- a/EDR/src/driver/ed_driver.F90 +++ b/EDR/src/driver/ed_driver.F90 @@ -30,11 +30,10 @@ subroutine ed_driver() use detailed_coms , only : idetailed & ! intent(in) , patch_keep ! ! intent(in) use phenology_aux , only : first_phenology ! ! subroutine - implicit none - !----- Included variables. -------------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' ! MPI commons + use mpi #endif + implicit none !----- Local variables. ----------------------------------------------------------------! character(len=12) :: c0 character(len=12) :: c1 diff --git a/EDR/src/driver/ed_model.F90 b/EDR/src/driver/ed_model.F90 index fe00a6003..aa23d598e 100644 --- a/EDR/src/driver/ed_model.F90 +++ b/EDR/src/driver/ed_model.F90 @@ -85,11 +85,10 @@ subroutine ed_model() , zero_ed_fmean_vars & ! sub-routine , integrate_ed_fmean_met_vars & ! sub-routine , zero_ed_yearly_vars ! ! sub-routine - implicit none - !----- Common blocks. ------------------------------------------------------------------! #if defined(RAMS_MPI) - include 'mpif.h' + use mpi #endif + implicit none !----- Local variables. ----------------------------------------------------------------! character(len=28) :: fmthead character(len=32) :: fmtcntr diff --git a/EDR/src/driver/edmain.F90 b/EDR/src/driver/edmain.F90 index f5b8c1f44..33614086d 100644 --- a/EDR/src/driver/edmain.F90 +++ b/EDR/src/driver/edmain.F90 @@ -14,6 +14,9 @@ !------------------------------------------------------------------------------------------! program main !$ use omp_lib +#if defined(RAMS_MPI) + use mpi +#endif implicit none !---------------------------------------------------------------------------------------! @@ -46,10 +49,6 @@ program main integer, dimension(64) :: thread_use integer, dimension(64) :: cpu_use integer, external :: findmycpu - !------ MPI interface. -----------------------------------------------------------------! -#if defined(RAMS_MPI) - include 'mpif.h' -#endif !---------------------------------------------------------------------------------------! From 9692af6023a5fa55fe48b230bf1e169ed4f4a96b Mon Sep 17 00:00:00 2001 From: Marcos Longo Date: Tue, 11 Jul 2023 08:49:12 -0700 Subject: [PATCH 55/62] No actual change, testing Docker commit, which mysteriously failed in the previous commit. --- ED/src/io/ed_read_ed22_initial.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/ED/src/io/ed_read_ed22_initial.f90 b/ED/src/io/ed_read_ed22_initial.f90 index 4e7ccf8f1..bcdd1a5ef 100644 --- a/ED/src/io/ed_read_ed22_initial.f90 +++ b/ED/src/io/ed_read_ed22_initial.f90 @@ -6,7 +6,6 @@ !------------------------------------------------------------------------------------------! subroutine read_ed22_initial_file - use ed_max_dims , only : n_pft & ! intent(in) , huge_site & ! intent(in) , huge_patch & ! intent(in) From 3cc00e98969201f042c7f0596a4d6da4d50a0de3 Mon Sep 17 00:00:00 2001 From: Marcos Longo <5891904+mpaiao@users.noreply.github.com> Date: Wed, 24 Jul 2024 12:14:40 -0700 Subject: [PATCH 56/62] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..26a45ee07 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# ED2 Community Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +ed2_core@googlegroups.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. From b43ece5bbc41390ce8eda99c32703b3d70f9da6c Mon Sep 17 00:00:00 2001 From: Marcos Longo <5891904+mpaiao@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:27:16 -0700 Subject: [PATCH 57/62] Create SECURITY.md Initial security policy for the ED2 model. We can expand this if needed. --- SECURITY.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..6b14275d4 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,14 @@ +# Security Policy + +ED2 is a numerical model that reads in multiple data sets and generates simulation output files. The code development is guided towards making the code safe to use and should not pose any system vulnerability. +However, we recommend using only data that come from trusted sources and to use the model with full understanding that the simulations can be memory intensive and require large storage depending on the configuration. + +Please do not post anything on issues, discussions or pull requests that can lead to data deletion or can damage operating systems. This is not acceptable through our code of conduct. + +## Supported Versions + +We strongly recommend to keep the code up to date with the most recent tags and commits. + +## Reporting a Vulnerability + +If you find a potential vulnerability in the ED2 code, the best way of reporting it is by documenting it as an issue. If you know how to fix the vulnerability, please submit a pull request and the development team will address the matter and follow up with you through GitHub. From 7f9cb285ca1ac3e422452117886901181a03f6e9 Mon Sep 17 00:00:00 2001 From: Rob Kooper Date: Thu, 22 Aug 2024 07:12:10 -0400 Subject: [PATCH 58/62] fix docker build (#357) * fix docker build - push to dockerhub if setup - push to github - build arm (mac) container as well as x86 - use intel compiler 2023.1 --- .github/workflows/ci.yml | 16 +- .github/workflows/docker.yml | 220 +++++++++++++++++++------- Dockerfile | 55 ------- Dockerfile.gnu | 50 ++++++ Dockerfile.intel | 46 ++++++ ED/build/make/include.mk.docker | 4 +- ED/build/make/include.mk.docker.gnu | 117 ++++++++++++++ ED/build/make/include.mk.docker.intel | 157 ++++++++++++++++++ ED/src/utils/random_utils.F90 | 2 +- README.md | 23 ++- 10 files changed, 572 insertions(+), 118 deletions(-) delete mode 100644 Dockerfile create mode 100644 Dockerfile.gnu create mode 100644 Dockerfile.intel create mode 100644 ED/build/make/include.mk.docker.gnu create mode 100644 ED/build/make/include.mk.docker.intel diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b3381f063..eb8349c91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,12 +1,18 @@ name: CI -on: [push, pull_request] +on: + push: + branches: + - master + - main + + pull_request: jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Install dependencies run: sudo apt-get install -y --no-install-recommends gfortran libhdf5-openmpi-dev libopenmpi-dev - name: Install ED2 @@ -23,7 +29,7 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Retrieve compiled binary uses: actions/download-artifact@v1 with: @@ -40,7 +46,7 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Retrieve compiled binary uses: actions/download-artifact@v1 with: @@ -57,7 +63,7 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Retrieve compiled binary uses: actions/download-artifact@v1 with: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 824ab0ab9..35d4c6019 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,7 +1,7 @@ name: Docker # This will run when: -# - when new code is pushed to master to push the tags latest. +# - when new code is pushed to master/main to push the tags latest. # - when a pull request is created and updated to make sure the # Dockerfile is still valid. @@ -19,77 +19,189 @@ on: push: branches: - master + - main + + release: + types: + - published pull_request: -# Certain actions will only run when this is the master repo. +# Certain actions will only run when this is the master/main repo. env: - MASTER_REPO: EDModel/ED2 - DOCKERHUB_ORG: pecan + MAIN_REPO: EDmodel/ED2 + DOCKERHUB_ORG: edmodel jobs: docker: runs-on: ubuntu-latest + permissions: + packages: write + + strategy: + fail-fast: false + matrix: + include: + - name: gnu + PLATFORM: "linux/amd64,linux/arm64" + - name: intel + PLATFORM: "linux/amd64" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + + # free up space + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: true + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: false + swap-storage: true # calculate some variables that are used later - - name: github branch + - name: version information run: | - BRANCH=${GITHUB_REF##*/} - if [ "$BRANCH" == "master" ]; then - TAGS="latest" + # find out what the BRANCH is, in case of a PR we will use the PR- + if [ "${{ github.event.release.target_commitish }}" != "" ]; then + BRANCH="${{ github.event.release.target_commitish }}" + elif [[ $GITHUB_REF =~ pull ]]; then + BRANCH="$(echo $GITHUB_REF | sed 's#refs/pull/\([0-9]*\)/merge#PR-\1#')" else - TAGS="$BRANCH" + BRANCH=${GITHUB_REF##*/} fi - echo "TAGS=${TAGS}" >> $GITHUB_ENV - echo "GITHUB_BRANCH=${BRANCH}" >> $GITHUB_ENV - # build the docker image, this will always run to make sure - # the Dockerfile still works. - - name: Build image - uses: elgohr/Publish-Docker-Github-Action@2.22 - env: - BRANCH: ${{ env.GITHUB_BRANCH }} - BUILDNUMBER: ${{ github.run_number }} - GITSHA1: ${{ github.sha }} + # calculate the version and all tags + if [ "$BRANCH" == "main" -o "$BRANCH" == "master" ]; then + VERSION="latest" + tags="${{ matrix.name }}" + if [ "${{ matrix.name }}" == "intel" ]; then + tags="${tags} latest" + fi + else + VERSION="${{ matrix.name }}-$BRANCH" + tags="${{ matrix.name }}-$BRANCH" + fi + + # should we push to dockerhub, and is there a README + DOCKERHUB_PUSH="false" + DOCKERHUB_README="false" + if [ "${{ github.repository }}" == "${{ env.MAIN_REPO }}" ]; then + if [ "${{ secrets.DOCKERHUB_USERNAME }}" != "" -a "${{ secrets.DOCKERHUB_PASSWORD }}" != "" ]; then + DOCKERHUB_PUSH="true" + if [ -e "README.md" ]; then + DOCKERHUB_README="true" + fi + fi + fi + + # create a list of all images to be pushed + REPO="${{ github.repository_owner }}" + REPO="${REPO,,}" + IMAGE="${{ github.event.repository.name }}" + IMAGE="${IMAGE,,}" + DEV_IMAGES="" + IMAGES="" + for tag in ${tags}; do + if [ "$DOCKERHUB_PUSH" == "true" ]; then + DEV_IMAGES="${DEV_IMAGES}${{ env.DOCKERHUB_ORG }}/${IMAGE}-dev:${tag}," + IMAGES="${IMAGES}${{ env.DOCKERHUB_ORG }}/${IMAGE}:${tag}," + fi + DEV_IMAGES="${DEV_IMAGES}ghcr.io/${REPO}/${IMAGE}-dev:${tag}," + IMAGES="${IMAGES}ghcr.io/${REPO}/${IMAGE}:${tag}," + done + IMAGES="${IMAGES%,*}" + + # save the results in env + echo "BRANCH=${BRANCH}" + echo "VERSION=${VERSION}" + echo "DOCKERHUB_README=${DOCKERHUB_README}" + echo "DOCKERHUB_PUSH=${DOCKERHUB_PUSH}" + echo "IMAGES=${IMAGES}" + + echo "BRANCH=${BRANCH}" >> $GITHUB_ENV + echo "VERSION=${VERSION}" >> $GITHUB_ENV + echo "DOCKERHUB_README=${DOCKERHUB_README}" >> $GITHUB_ENV + echo "DOCKERHUB_PUSH=${DOCKERHUB_PUSH}" >> $GITHUB_ENV + echo "DEV_IMAGES=${DEV_IMAGES}" >> $GITHUB_ENV + echo "IMAGES=${IMAGES}" >> $GITHUB_ENV + + # setup docker build + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Inspect Builder + run: | + echo "Name: ${{ steps.buildx.outputs.name }}" + echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}" + echo "Status: ${{ steps.buildx.outputs.status }}" + echo "Flags: ${{ steps.buildx.outputs.flags }}" + echo "Platforms: ${{ steps.buildx.outputs.platforms }}" + + # login to registries + - name: Login to DockerHub + if: env.DOCKERHUB_PUSH == 'true' + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 with: - registry: docker.pkg.github.com - name: ${{ github.repository_owner }}/${{ github.event.repository.name }}/ed + registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - tags: "${{ env.TAGS }}" - buildargs: BRANCH,BUILDNUMBER,GITSHA1 - no_push: true - - # this will publish to github container registry - - name: Publish to GitHub - if: github.event_name == 'push' && github.repository == env.MASTER_REPO - uses: elgohr/Publish-Docker-Github-Action@2.22 - env: - BRANCH: ${{ env.GITHUB_BRANCH }} - BUILDNUMBER: ${{ github.run_number }} - GITSHA1: ${{ github.sha }} + + - name: DF + run: df -h . + + # build the dev docker images + - name: Build and push docker + uses: docker/build-push-action@v4 with: - registry: ghcr.io - name: ${{ github.repository_owner }}/ed - username: ${{ secrets.GHCR_USERNAME }} - password: ${{ secrets.GHCR_PASSWORD }} - tags: "${{ env.TAGS }}" - buildargs: BRANCH,BUILDNUMBER,GITSHA1 - - # this will publish to the pecan dockerhub repo - - name: Publish to Docker Hub - if: github.event_name == 'push' && github.repository == env.MASTER_REPO - uses: elgohr/Publish-Docker-Github-Action@2.22 - env: - BRANCH: ${{ env.GITHUB_BRANCH }} - BUILDNUMBER: ${{ github.run_number }} - GITSHA1: ${{ github.sha }} + push: true + platforms: ${{ matrix.PLATFORM }} + file: Dockerfile.${{ matrix.name }} + target: build + cache-from: type=gha,scope=ed-${{ matrix.name }}-build + cache-to: type=gha,scope=ed-${{ matrix.name }}-build,mode=max + tags: ${{ env.DEV_IMAGES }} + build-args: | + BRANCH: ${{ env.BRANCH }} + VERSION=${{ env.VERSION }} + BUILDNUMBER=${{ github.run_number }} + GITSHA1=${{ github.sha }} + + # build the docker images + - name: Build and push docker + uses: docker/build-push-action@v4 with: - name: ${{ env.DOCKERHUB_ORG }}/ed - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - tags: "${{ env.TAGS }}" - buildargs: BRANCH,BUILDNUMBER,GITSHA1 + push: true + platforms: ${{ matrix.PLATFORM }} + file: Dockerfile.${{ matrix.name }} + cache-from: type=gha,scope=ed-${{ matrix.name }}-build + cache-to: type=gha,scope=ed-${{ matrix.name }}-build,mode=max + tags: ${{ env.IMAGES }} + build-args: | + BRANCH: ${{ env.BRANCH }} + VERSION=${{ env.VERSION }} + BUILDNUMBER=${{ github.run_number }} + GITSHA1=${{ github.sha }} + + # this will update the README of the dockerhub repo + - name: Docker Hub Description + if: env.DOCKERHUB_README == 'true' + uses: peter-evans/dockerhub-description@v3 + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + DOCKERHUB_REPOSITORY: ${{ env.DOCKERHUB_ORG }}/${{ github.event.repository.name }} + README_FILEPATH: README.md diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index cfce22303..000000000 --- a/Dockerfile +++ /dev/null @@ -1,55 +0,0 @@ -# ---------------------------------------------------------------------- -# BUILD MODEL BINARY -# ---------------------------------------------------------------------- -FROM debian:buster-slim AS builder - -# Some variables that can be used to set control the docker build -ARG MODEL_VERSION="2.2.0" -ARG BINARY_VERSION="2.2" - -# specify fortran compiler -ENV FC_TYPE=GNU - -# install dependencies -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - build-essential \ - curl \ - gfortran \ - git \ - libhdf5-dev \ - libopenmpi-dev \ - && rm -rf /var/lib/apt/lists/* - -# download, unzip and build ed2 -COPY . /src/ -WORKDIR /src/ED/build -RUN ./install.sh -g -p docker && mv ed_*-opt ed - -######################################################################## - -# ---------------------------------------------------------------------- -# BUILD PECAN FOR MODEL -# ---------------------------------------------------------------------- -FROM debian:buster-slim - -# ---------------------------------------------------------------------- -# INSTALL MODEL SPECIFIC PIECES -# ---------------------------------------------------------------------- - -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - libhdf5-103 \ - libopenmpi3 \ - && rm -rf /var/lib/apt/lists/* - -WORKDIR /data - -# Some variables that can be used to set control the docker build -ARG MODEL_VERSION="2.2.0" -ENV MODEL_VERSION="${MODEL_VERSION}" - -# COPY model binary -COPY --from=builder /src/ED/build/ed /usr/local/bin/ed - - diff --git a/Dockerfile.gnu b/Dockerfile.gnu new file mode 100644 index 000000000..ff3c155c3 --- /dev/null +++ b/Dockerfile.gnu @@ -0,0 +1,50 @@ +# ---------------------------------------------------------------------- +# Build ED2 model +# ---------------------------------------------------------------------- +FROM ubuntu:22.04 AS build + +# Some variables that can be used to set control the docker build +ARG ED2_KIND=E + +# environment variables controlling the build +ENV FC_TYPE=GNU \ + ED2_KIND=${ED2_KIND} \ + TZ=America/Chicago \ + DEBIAN_FRONTEND=noninteractive + +# install dependencies +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + build-essential \ + gfortran \ + libhdf5-openmpi-dev \ + && rm -rf /var/lib/apt/lists/* + +# copy the source only, this prevents a full rebuild in case of changes to Dockerfile or non source files +COPY BRAMS /ED2/BRAMS +COPY ED /ED2/ED +COPY EDR /ED2/EDR +COPY RAPP /ED2/RAPP +COPY Ramspost /ED2/Ramspost + +WORKDIR /ED2/ED/build +RUN ./install.sh -k ${ED2_KIND} -g -p docker.gnu +RUN if [ -e ed_*-opt ]; then mv ed_*-opt ed2; else mv ed_*-dbg ed2; fi + +######################################################################## + +# ---------------------------------------------------------------------- +# Minimal image with just ED2 model +# ---------------------------------------------------------------------- +FROM ubuntu:22.04 + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + libhdf5-openmpi-103 \ + libgomp1 \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /data +COPY --from=build /ED2/ED/build/ed2 /usr/bin + +CMD /usr/bin/ed2 diff --git a/Dockerfile.intel b/Dockerfile.intel new file mode 100644 index 000000000..5b42d6dbf --- /dev/null +++ b/Dockerfile.intel @@ -0,0 +1,46 @@ +# ---------------------------------------------------------------------- +# Build ED2 model +# ---------------------------------------------------------------------- +FROM intel/oneapi-hpckit:2023.1.0-devel-ubuntu22.04 AS build + +# Some variables that can be used to set control the docker build +ARG ED2_KIND=E + +# environment variables controlling the build +ENV ED2_KIND=${ED2_KIND} + +# compile HDF5 with intel +RUN wget -q https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.9/src/CMake-hdf5-1.10.9.tar.gz && \ + tar xf CMake-hdf5-1.10.9.tar.gz && \ + cd CMake-hdf5-1.10.9 && \ + sed -e 's/^#*\(.*BUILD_FORTRAN:BOOL=ON.*\)/\1/' \ + -e 's/^#*\(.*BUILD_FORTRAN:BOOL=OFF.*\)/#\1/' \ + -e 's/^#*\(.*intel.cmake.*\)/\1/' \ + -i HDF5options.cmake && \ + ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix,INSTALLDIR=/opt/hdf5 -C Release -V -O hdf5.log && \ + ./HDF5-1.10.9-Linux.sh --skip-license --exclude-subdir --prefix=/opt && \ + cd && \ + rm -rf CMake-hdf5-1.10.9.tar.gz CMake-hdf5-1.10.9 + +# copy the source only, this prevents a full rebuild in case of changes to Dockerfile or non source files +COPY BRAMS /ED2/BRAMS +COPY ED /ED2/ED +COPY EDR /ED2/EDR +COPY RAPP /ED2/RAPP +COPY Ramspost /ED2/Ramspost + +WORKDIR /ED2/ED/build +RUN ./install.sh -k ${ED2_KIND} -g -p docker.intel +RUN if [ -e ed_*-opt ]; then mv ed_*-opt ed2; else mv ed_*-dbg ed2; fi + +######################################################################## + +# ---------------------------------------------------------------------- +# Minimal image with just ED2 model +# ---------------------------------------------------------------------- +FROM ubuntu:22.04 + +WORKDIR /data +COPY --from=build /ED2/ED/build/ed2 /usr/bin + +CMD ["/usr/bin/ed2"] diff --git a/ED/build/make/include.mk.docker b/ED/build/make/include.mk.docker index d3e40b250..a291b0bb2 100644 --- a/ED/build/make/include.mk.docker +++ b/ED/build/make/include.mk.docker @@ -9,8 +9,8 @@ BASE=$(ED_ROOT)/build/ # HDF 5 Libraries USE_HDF5=1 -HDF5_INCS=-I/usr/include/hdf5/serial -HDF5_LIBS=-L/usr/lib/x86_64-linux-gnu/hdf5/serial -lz -lhdf5_fortran -lhdf5 -lhdf5_hl +HDF5_INCS=-I/usr/include/hdf5/openmpi +HDF5_LIBS=-L/usr/lib/x86_64-linux-gnu/hdf5/openmpi -lz -lhdf5_fortran -lhdf5 -lhdf5_hl #HDF5_INCS=-I/usr/include #HDF5_LIBS=-lz -lhdf5_fortran -lhdf5 -lhdf5_hl USE_COLLECTIVE_MPIO=0 diff --git a/ED/build/make/include.mk.docker.gnu b/ED/build/make/include.mk.docker.gnu new file mode 100644 index 000000000..02a5559dd --- /dev/null +++ b/ED/build/make/include.mk.docker.gnu @@ -0,0 +1,117 @@ +#==========================================================================================# +#==========================================================================================# +# Make file include.mk.docker.gnu # +#------------------------------------------------------------------------------------------# + +#----- Define make (gnu make works best). -------------------------------------------------# +MAKE=/usr/bin/make +#------------------------------------------------------------------------------------------# + +#----- Libraries. -------------------------------------------------------------------------# +BASE=$(ED_ROOT)/build/ +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# HDF5 libraries # +# # +# Since ED-2.1, this is no longer optional for real simulations. You must have HDF5 # +# libraries compiled with the same compiler you set for F_COMP and C_COMP. You may still # +# be able to compile without HDF5 but it will not run. # +#------------------------------------------------------------------------------------------# +HDF5_INCS=-I/usr/include/hdf5/openmpi +HDF5_LIBS= -L/usr/lib/$(shell uname -m)-linux-gnu/hdf5/openmpi -lhdf5_fortran -lhdf5_hl -lhdf5 -lz -lm + +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# If you have a version of hdf5 compiled in parallel, then you may benefit from # +# collective I/O, then use this flag = 1. Otherwise, set it to zero. # +#------------------------------------------------------------------------------------------# +USE_COLLECTIVE_MPIO=0 +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + +#################################### COMPILER SETTINGS ##################################### +CMACH=DOCKER_GNU +FC_TYPE=GNU +#F_COMP=gfortran +F_COMP=mpif90.openmpi +#C_COMP=gcc +C_COMP=mpicc.openmpi +#LOADER=gfortran +LOADER=mpif90.openmpi +#C_LOADER=gcc +C_LOADER=mpicc.openmpi +LIBS= +MOD_EXT=mod +############################################################################################ + + + + + +##################################### COMPILER OPTIONS ##################################### +#------------------------------------------------------------------------------------------# +# A. Pickiest - Use this whenever you change arguments on functions and subroutines. # +# This will perform the same tests as B but it will also check whether all # +# arguments match between subroutine declaration and subroutine calls. # +# WARNING: In order to really check all interfaces you must compile with # +# this option twice: # +# 1. Compile (./install.sh A) # +# 2. Prepare second compilation(./2ndcomp.sh) # +# 3. Compile one more time (./install.sh B) # +# If the compilation fails either at step 3, then your code has interface # +# problems. If it successfully compiles, then the code is fine for # +# interfaces. # +# E. Fast - This is all about performance, use only when you are sure that the model has # +# no code problem, and you want results asap. This will not check for any # +# problems, which means that this is an option suitable for end users, not de- # +# velopers. # +#------------------------------------------------------------------------------------------# +ifeq ($(KIND_COMP),) + KIND_COMP=E +endif +#------------------------------------------------------------------------------------------# +ifeq ($(KIND_COMP),A) + F_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp -static + C_OPTS= -O0 -DLITTLE -g -static + LOADER_OPTS= -O0 -ffree-line-length-none -g -fimplicit-none -Wall -finit-real=snan \ + -finit-integer=-2147483648 -ffpe-trap=invalid,zero,overflow,underflow \ + -fcheck=all -frecursive -fsignaling-nans -Werror -fopenmp + #---------------------------------------------------------------------------------------# +endif +ifeq ($(KIND_COMP),E) + F_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp -static + C_OPTS= -O0 -DLITTLE -g -static + LOADER_OPTS= -O3 -ffree-line-length-none -frecursive -fopenmp + #---------------------------------------------------------------------------------------# +endif +#------------------------------------------------------------------------------------------# +############################################################################################ + +#------------------------------------------------------------------------------------------# +# If using mpicc and mpif90 as compilers (recommended), leave MPI_PATH, PAR_INCS, and # +# PAR_LIBS blank, otherwise provide the includes and libraries for mpi. Either way, don't # +# change PAR_DEFS. # +#------------------------------------------------------------------------------------------# +MPI_PATH= +PAR_INCS= +PAR_LIBS= +PAR_DEFS= +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# Archive options. # +#------------------------------------------------------------------------------------------# +#ARCHIVE=libtool -c -static -stack_size 0x1000000 -o +ARCHIVE=ar rs +#------------------------------------------------------------------------------------------# diff --git a/ED/build/make/include.mk.docker.intel b/ED/build/make/include.mk.docker.intel new file mode 100644 index 000000000..6defd47fe --- /dev/null +++ b/ED/build/make/include.mk.docker.intel @@ -0,0 +1,157 @@ +#==========================================================================================# +#==========================================================================================# +# Makefile include.mk.docker.intel # +#------------------------------------------------------------------------------------------# + +#----- Define make (gnu make works best). -------------------------------------------------# +MAKE=/usr/bin/make +#------------------------------------------------------------------------------------------# + +#----- Main path for compilation. ---------------------------------------------------------# +BASE=$(ED_ROOT)/build/ +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# HDF 5 libraries. # +# # +# Since ED-2.1, this is no longer optional for real simulations. You must have the # +# HDF5 libraries compiled with the same compiler you set for F_COMP and C_COMP. You may # +# still be able to compile without HDF5 but the code is not going to run. # +#------------------------------------------------------------------------------------------# +HDF5_PATH=/opt/HDF_Group/HDF5/1.10.9 +HDF5_INCS=-I$(HDF5_PATH)/include/static +HDF5_LIBS=-L$(HDF5_PATH)/lib -lhdf5_fortran -lhdf5_f90cstub -lhdf5_hl -lhdf5 \ + -lz -lszaec -laec -lm +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# If you have a version of hdf5 compiled in parallel, then you may benefit from # +# collective I/O, then use this flag = 1. Otherwise, set it to zero. # +#------------------------------------------------------------------------------------------# +USE_COLLECTIVE_MPIO=0 +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# This should be 1 unless you are running with -gen-interfaces. Interfaces usually # +# make the compilation to crash when the -gen-interfaces option are on, so this flag # +# bypass all interfaces in the code. # +#------------------------------------------------------------------------------------------# +USE_INTERF=1 +#------------------------------------------------------------------------------------------# + +#################################### COMPILER SETTINGS ##################################### +CMACH=DOCKER_INTEL +FC_TYPE=INTEL +F_COMP=ifort +C_COMP=icc +LOADER=ifort +LIBS= +MOD_EXT=mod +#------------------------------------------------------------------------------------------# + +##################################### COMPILER OPTIONS ##################################### +#------------------------------------------------------------------------------------------# +# A/B. Pickiest - Use this whenever you change arguments on functions and subroutines. # +# This will perform the same tests as B but it will also check whether all # +# arguments match between subroutine declaration and subroutine calls. # +# WARNING: In order to really check all interfaces you must compile with # +# this option twice: # +# 1. Compile (./install.sh A) # +# 2. Prepare second compilation(./2ndcomp.sh) # +# 3. Compile one more time (./install.sh B) # +# If the compilation fails either at step 3, then your code has interface # +# problems. If it successfully compiles, then the code is fine for # +# interfaces. # +# C. Pickiest with no interface - This will compile fast but the run will be slow due to # +# the -O0 option. However, by setting -O0 you will take full advantage of the intel # +# debugger. # +# Ideally, you should compile your code with this option whenever you make any changes. # +# Note, however, that if you change arguments you should first try A. # +# D. Fast check - This will check pretty much the same as C, but it will not set up # +# anything for the debugger. Use this only if you really don't want to deal with idb or # +# if you have a good idea of which problem you are dealing with. # +# E. Fast - This is all about performance, use only when you are sure that the model has # +# no code problem, and you want results asap. This will not check for any # +# problems, which means that this is an option suitable for end users, not de- # +# velopers. # +#------------------------------------------------------------------------------------------# +ifeq ($(KIND_COMP),) + KIND_COMP=E +endif +#------------------------------------------------------------------------------------------# +ifeq ($(KIND_COMP),A) + USE_INTERF=0 + F_OPTS= -FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ + -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ + -implicitnone -assume byterecl -warn unused -warn uncalled -warn usage \ + -warn declarations -gen-interfaces -qopenmp -diag-error=all -static + C_OPTS= -O0 -DLITTLE -g -traceback -qopenmp -static + LOADER_OPTS=-FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ + -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ + -implicitnone -assume byterecl -warn unused -warn uncalled -warn usage \ + -warn declarations -gen-interfaces -qopenmp -diag-error=all -static + #---------------------------------------------------------------------------------------# +endif +ifeq ($(KIND_COMP),B) + USE_INTERF=0 + F_OPTS= -FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ + -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ + -implicitnone -assume byterecl -warn unused -warn uncalled -warn usage \ + -warn interfaces -warn declarations -qopenmp -diag-error=all -static + C_OPTS= -O0 -DLITTLE -g -traceback -qopenmp -static + LOADER_OPTS=-FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ + -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ + -implicitnone -assume byterecl -warn unused -warn uncalled -warn usage \ + -warn interfaces -warn declarations -qopenmp -diag-error=all -static + #---------------------------------------------------------------------------------------# +endif +ifeq ($(KIND_COMP),C) + USE_INTERF=1 + F_OPTS= -FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ + -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ + -implicitnone -assume byterecl -qopenmp -diag-error=all -static + C_OPTS= -O0 -DLITTLE -g -traceback -qopenmp -static + LOADER_OPTS=-FR -O0 -recursive -check all,noarg_temp_created -g -debug extended \ + -debug-parameters all -fpe0 -no-ftz -traceback -ftrapuv -fp-stack-check \ + -implicitnone -assume byterecl -qopenmp -diag-error=all -static + #---------------------------------------------------------------------------------------# +endif +ifeq ($(KIND_COMP),D) + USE_INTERF=1 + F_OPTS= -FR -O0 -recursive -check all,noarg_temp_created -fpe0 -no-ftz -traceback \ + -ftrapuv -fp-stack-check -implicitnone -assume byterecl -qopenmp \ + -diag-error=all -static + C_OPTS= -O0 -DLITTLE -g -traceback -qopenmp -static + LOADER_OPTS=-FR -O0 -recursive -check all,noarg_temp_created -fpe0 -no-ftz -traceback \ + -ftrapuv -fp-stack-check -implicitnone -assume byterecl -qopenmp \ + -diag-error=all -static + #---------------------------------------------------------------------------------------# +endif +ifeq ($(KIND_COMP),E) + USE_INTERF=1 + F_OPTS=-FR -O3 -recursive -traceback -assume byterecl -qopenmp -static + C_OPTS=-O3 -DLITTLE -traceback -qopenmp -static + F_LOWO_OPTS=-FR -O2 -recursive -traceback -assume byterecl -qopenmp -static + LOADER_OPTS=-FR -O3 -recursive -traceback -assume byterecl -qopenmp -static + #---------------------------------------------------------------------------------------# +endif +#------------------------------------------------------------------------------------------# +############################################################################################ + +#------------------------------------------------------------------------------------------# +# If using mpicc and mpif90 as compilers (recommended), leave MPI_PATH, PAR_INCS, and # +# PAR_LIBS blank, otherwise provide the includes and libraries for mpi. Either way, don't # +# change PAR_DEFS unless you know what you are doing. # +#------------------------------------------------------------------------------------------# +MPI_PATH= +PAR_INCS= +PAR_LIBS= +PAR_DEFS= +#------------------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------------------# +# Archive options. # +#------------------------------------------------------------------------------------------# +#------ For IBM, HP, SGI, ALPHA, LINUX, and MAC_OS_X use these. ---------------------------# +ARCHIVE=ar rs +#------------------------------------------------------------------------------------------# diff --git a/ED/src/utils/random_utils.F90 b/ED/src/utils/random_utils.F90 index 77b1044b7..13aaf4089 100644 --- a/ED/src/utils/random_utils.F90 +++ b/ED/src/utils/random_utils.F90 @@ -31,7 +31,7 @@ subroutine init_random_seed() ! case you create a new name, please be creative so it doesn't conflict with other ! ! user's choice. ! !------------------------------------------------------------------------------------! -#if defined(ODYSSEY) || defined(SUNHPC) || defined(PC_INTEL) +#if defined(ODYSSEY) || defined(SUNHPC) || defined(PC_INTEL) || defined(DOCKER_INTEL) use ifport, only : getpid #endif !------------------------------------------------------------------------------------! diff --git a/README.md b/README.md index cb0bdb99a..d0d7881de 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ 4. Implementation Notes 5. Further Information 6. Code Development, Pull Requests, and Commits +7. Using Docker ## Model Overview @@ -38,7 +39,7 @@ The primary data structure in ED, which can be found in ed_state_vars.F90, is a - site: A collection of patches sharing a common soil system and ground hydrology. - patch: A collection of cohorts sharing a disturbance history and age. - cohort: A collection of plants of identical PFT and height. - + Note: height and age, being continuous variables, are "binned". "Identical" in this context means sufficiently similar to be placed in the same bin. These bins are dynamically defined, based on the number of classes sought by the user and the similarity along the age and height axes. ## Further Information @@ -53,3 +54,23 @@ If you plan to develop the code, please refer to the Wiki entries on Doxygen instructions, and especially the Doxygen and Git commits section, so additional documentation can be automatically generated from the source code comments. +## Using Docker + +To use ED2 with Docker use either the `Dockerfile.gnu` for the GNU compiler (works with both x86 and arm64) or `Dockerfile.intel` which compiled ED2 using the intel compiler (x86 only). For example the following command builds the GNU version (run this in the root of the ED2 source code): + +``` +docker build -t edmodel/ed2:gnu -f Dockerfile.gnu . +``` + +Once you have build ED2 model you can run it using: + +```bash +docker run -ti --rm --ulimit stack=-1 --volume ${PWD}:/data edmodel/ed2:gnu +``` + +`-ti` : tells docker to use an interactive shell session +`--rm` : will remove the container after it finishes running, make sure outputs are written to /data or current folder +`--ulimit stack=-1` : set the stack to be unlimited in size, this is needed otherwise ED2 will coredump +`--volume ${PWD}:/data` : mounts the current folder to the /data folder. This is where the container starts + +If no arguments are given it will run `ed2` in the /data folder. Otherwise you can pass in any arguments, for example you can use `ed2 -f Templates/ED2IN-tonzi.harvest` to run ed2 with the input file Templates/ED2IN-tonzi.harvest. From 781eab0849f41dd6e02e63fbd128fc4d78aa8cc1 Mon Sep 17 00:00:00 2001 From: Rob Kooper Date: Thu, 22 Aug 2024 08:57:39 -0400 Subject: [PATCH 59/62] update actions --- .github/workflows/ci.yml | 2 +- .github/workflows/docker.yml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eb8349c91..2d8c80adf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: cd ED/build ./install.sh -g -p travisci -k A - name: Upload compiled ED2 binary - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: ed2-binary path: ED/build/ed_2.2-dbg diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 35d4c6019..9c5a97e39 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -131,11 +131,11 @@ jobs: # setup docker build - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Inspect Builder run: | @@ -148,13 +148,13 @@ jobs: # login to registries - name: Login to DockerHub if: env.DOCKERHUB_PUSH == 'true' - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} @@ -165,7 +165,7 @@ jobs: # build the dev docker images - name: Build and push docker - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: push: true platforms: ${{ matrix.PLATFORM }} @@ -182,7 +182,7 @@ jobs: # build the docker images - name: Build and push docker - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: push: true platforms: ${{ matrix.PLATFORM }} From 1a3be69a7ca12c03cca330b91706e1c59388e2b5 Mon Sep 17 00:00:00 2001 From: Rob Kooper Date: Thu, 22 Aug 2024 09:06:06 -0400 Subject: [PATCH 60/62] update actions --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d8c80adf..0519c1806 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Retrieve compiled binary - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: ed2-binary - name: Install dependencies @@ -48,7 +48,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Retrieve compiled binary - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: ed2-binary - name: Install dependencies @@ -65,7 +65,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Retrieve compiled binary - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v4 with: name: ed2-binary - name: Install dependencies From a3f24972e6d7fce7974b268634478b45ab48b187 Mon Sep 17 00:00:00 2001 From: Rob Kooper Date: Thu, 22 Aug 2024 09:15:33 -0400 Subject: [PATCH 61/62] remove more warnings in actions also use matrix for test --- .github/workflows/ci.yml | 46 ++++++++---------------------------- .github/workflows/docker.yml | 2 +- Dockerfile.gnu | 2 +- 3 files changed, 12 insertions(+), 38 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0519c1806..51673f5ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,43 +25,17 @@ jobs: name: ed2-binary path: ED/build/ed_2.2-dbg - test-umbs-bg: + tests: needs: build runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Retrieve compiled binary - uses: actions/download-artifact@v4 - with: - name: ed2-binary - - name: Install dependencies - run: sudo apt-get install -y --no-install-recommends gfortran libhdf5-openmpi-dev libopenmpi-dev - - name: Run ED2 - working-directory: ./EDTS/ - run: | - chmod +x "$GITHUB_WORKSPACE"/ed2-binary/ed_2.2-dbg - ./run-test.sh umbs.bg "$GITHUB_WORKSPACE/ed2-binary/ed_2.2-dbg" + strategy: + fail-fast: false + matrix: + name: + - umbs.bg + - tonzi + - tonzi.harvest - test-tonzi: - needs: build - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Retrieve compiled binary - uses: actions/download-artifact@v4 - with: - name: ed2-binary - - name: Install dependencies - run: sudo apt-get install -y --no-install-recommends gfortran libhdf5-openmpi-dev libopenmpi-dev - - name: Run ED2 - working-directory: ./EDTS/ - run: | - chmod +x "$GITHUB_WORKSPACE"/ed2-binary/ed_2.2-dbg - ./run-test.sh tonzi "$GITHUB_WORKSPACE/ed2-binary/ed_2.2-dbg" - - test-tonzi-harvest: - needs: build - runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Retrieve compiled binary @@ -73,5 +47,5 @@ jobs: - name: Run ED2 working-directory: ./EDTS/ run: | - chmod +x "$GITHUB_WORKSPACE"/ed2-binary/ed_2.2-dbg - ./run-test.sh tonzi.harvest "$GITHUB_WORKSPACE/ed2-binary/ed_2.2-dbg" + chmod +x "$GITHUB_WORKSPACE"/ed2-binary + ./run-test.sh ${{ matrix.name }} "$GITHUB_WORKSPACE/ed2-binary" diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 9c5a97e39..c6117af85 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -199,7 +199,7 @@ jobs: # this will update the README of the dockerhub repo - name: Docker Hub Description if: env.DOCKERHUB_README == 'true' - uses: peter-evans/dockerhub-description@v3 + uses: peter-evans/dockerhub-description@v4 env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} diff --git a/Dockerfile.gnu b/Dockerfile.gnu index ff3c155c3..fac933349 100644 --- a/Dockerfile.gnu +++ b/Dockerfile.gnu @@ -47,4 +47,4 @@ RUN apt-get update \ WORKDIR /data COPY --from=build /ED2/ED/build/ed2 /usr/bin -CMD /usr/bin/ed2 +CMD ["/usr/bin/ed2"] From f5acf6d649b30fb11ecad44c81ede9c421ffcd36 Mon Sep 17 00:00:00 2001 From: Rob Kooper Date: Thu, 22 Aug 2024 13:41:43 -0400 Subject: [PATCH 62/62] fix name (#405) --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51673f5ce..e8edae433 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,5 +47,5 @@ jobs: - name: Run ED2 working-directory: ./EDTS/ run: | - chmod +x "$GITHUB_WORKSPACE"/ed2-binary - ./run-test.sh ${{ matrix.name }} "$GITHUB_WORKSPACE/ed2-binary" + chmod +x "$GITHUB_WORKSPACE"/ed_2.2-dbg + ./run-test.sh ${{ matrix.name }} "$GITHUB_WORKSPACE/ed_2.2-dbg"

Pc5Oidm0!||EJOZm6fx#Mrj*L^l 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

tt59YJfNCJ&l~V4)^iu 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�{gDI>uT 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