upgrade_weatherDF()
adds requested weather columns to a data frame
(@dschlaep).dbW_weatherData_round()
now rounds both "weatherList"
and
"weatherDF"
objects; argument "digits"
can now also be logical
(if TRUE
, then digits takes the default value of 4) or not finite
(e.g., NA
; not finite values return the input without rounding)."round"
of dbW_dataframe_to_weatherData()
is deprecated and
changed the default value from rounding to 2 digits to no rounding (NA
);
recommended replacement is a separate call to dbW_weatherData_round()
."digits"
of dbW_generateWeather()
changed the default value
from rounding to 4 digits to no rounding (NA
).dbW_generateWeather()
gained "return_weatherDF"
and now returns a
user requested weather object type (@dschlaep).
If return_weatherDF
is TRUE
, then the result is converted to a
data frame where columns represent weather variables; otherwise,
a list of elements of class swWeatherData
is returned (as previously).dbW_imputeWeather()
replaces missing weather values using
using the weather generator and
using functionality by rSW2utils::impute_df()
(@dschlaep).dbW_substituteWeather()
replaces missing weather values in one
weather data object with values from a second weather data object (@dschlaep).dbW_fixWeather()
fixes missing weather values using a sequence of
approaches including linear interpolation for short missing spells,
a fixed value for short spells of missing precipitation (optionally),
substitution from a second weather data object, and
replacement with long term daily mean values (@dschlaep).sw_meteo_obtain
that obtain (download) weather
data from external sources and prepare for use by "rSOILWAT2"
(@dschlaep):sw_meteo_obtain_DayMet()
obtains and formats data from "Daymet"
sw_meteo_obtain_SCAN()
obtains and formats data from "SCAN"
SOILWAT2
to v7.2.0 which improves error handling and fixes
memory leaks on error (#239; @dschlaep, @N1ckP3rsl3y).pcg
header (@dschlaep).SOILWAT2
to v7.1.0 which prepares for thread-safety and reentrancy
(@N1ckP3rsl3y, @dschlaep).rSOILWAT2
gains new globals of the four main abstract types in
SOILWAT2
- SW_ALL, SW_OUTPUT_POINTERS, LOG_INFO, and PATH_INFO -
to interact with SOILWAT2
(@N1ckP3rsl3y, @dschlaep).dbW_dataframe_to_weatherData()
is now compatible with data frames that
contain a subset of all possible weather variables, e.g.,
weather data frames from previous versions (#236; @dschlaep).SOILWAT2
updated to v7.0.0sw_upgrade()
upgrades objects with
outdated rSOILWAT2
S4 classes to the current version;
new upgrade_weatherHistory()
upgrades outdated weather history objects.get_soilmoisture()
to consistently extract soil moisture content,
volumetric water content (bulk soil), or
volumetric water content for the matric component.
The function calculates the requested type if not stored in the output
from those that are available.get_XXX()
gain new argument keep_time
;
if keep_time
is requested (TRUE
), then year and sub-year time step values
are added as first one or two columns to the returned matrix.time_columns()
returns the output column indices with time information.New nrow_output()
returns the number of time steps in output.
Daily weather inputs, in addition to the previous variables maximum air temperature, minimum air temperature, and precipitation amount, can now process the following variables (issue #229; @dschlaep, @N1ckP3rsl3y):
This version now handles a variety of soil water retention curves SWRC
and pedotransfer functions PTF
(issue #207, @dschlaep).
SWRC
and PTF
as well as to provide
parameter values of the selected SWRC
for each soil layer.
Default values are backwards compatible, i.e.,
default SWRC
is "Campbell1974"
and
default PTF
is "Cosby1984AndOthers"
.rSOILWAT2
swInputData
object,
then they are automatically set to their default values.SWRCs
and PTFs
includecheck_SWRC_vs_PTF()
checks if PTF
and SWRC
are compatible and implemented.check_ptf_availability()
checks availability of PTFs
.list_matched_swrcs_ptfs()
lists matching pairs of
implemented SWRCs
and PTFs
.ptf_estimate()
estimates SWRC
parameters from soil texture
with a pedotransfer function.ptf_names()
lists pedotransfer functions PTFs
.swrc_conversion()
, swrc_swp_to_vwc()
, and swrc_vwc_to_swp()
convert between bulk soil water content and soil water potential.swrc_names()
lists soil water retention curves SWRCs
."Notes for implementing a new PTF"
and
"Notes for implementing a new SWRC"
.Soil density inputs can now represent either matric or bulk density (issue #280; @dschlaep).
SOILWAT2
between matric and bulk density
as needed using the new slot "SoilDensityInputType"
.calc_SiteClimate()
is now implemented via SOILWAT2
(issue #205; @N1ckP3rsl3y, @dschlaep).
The old implementation in R is still available as non-exported and deprecated
calc_SiteClimate_old()
.Month7th_PPT_mm
,
MeanTemp_ofDriestQuarter_C
, and MinTemp_of2ndMonth_C
,
are now adjusted for location by hemisphere.estimate_PotNatVeg_composition()
is now implemented via SOILWAT2
(issues #206, #218, #219; @N1ckP3rsl3y, @dschlaep).
The old implementation in R is still available as non-exported and deprecated
estimate_PotNatVeg_composition_old()
.C4
grass correction based on Teeri & Stowe 1976 is now applied
as documented (issue #218).swSite
gains new slots "swrc_flags"
and "has_swrcp"
and associated
methods swSite_SWRCflags()
and swSite_hasSWRCp()
for names of selected SWRC
and PTF
as well as indicating
whether SWRC
parameters are provided as inputs or to be calculated
at run time (issue #207, @dschlaep).swSoils
gains new slot "SWRCp"
and associated methods
swSoils_SWRCp()
for SWRC
parameters by soil layer (issue #207, @dschlaep).swFiles
gains a new file name for the SWRC
parameter input file and
associated methods swFiles_SWRCp()
(issue #207, @dschlaep).swSite
gains new slot "SoilDensityInputType"
and associated
methods swSite_SoilDensityInputType()
(issue #209, @dschlaep).
This encodes whether soil density inputs represent
matric soil or bulk soil values.swProd
gains new slot "veg_method"
(issue #206, @N1ckP3rsl3y).
This encodes if land cover is estimated at run-time by SOILWAT2
via
estimatePotNatVegComposition()
(value 1) or if land cover values are passed
as inputs (value 0, as previously).SWPtoVWC()
and VWCtoSWP()
are deprecated in favor of
swrc_swp_to_vwc()
and swrc_vwc_to_swp()
respectively.swWeather
gains new slots (issue #229)"use_cloudCoverMonthly"
, "use_windSpeedMonthly"
, and
"use_humidityMonthly"
which determine whether mean monthly values
(from swCloud
) or daily values (from swWeatherData
) are utilized;"dailyInputFlags"
which indicates which of the 14 possible daily
weather variables are present in the inputs;"desc_rsds"
which describes units of input shortwave radiation.swWeatherData
gains new columns in slot "data"
that accommodate
all 14 possible daily weather variables (issue #229).get_transpiration()
and get_evaporation()
now also work with
rSOILWAT2
output objects produced before v5.0.0
(#230; @dschlaep).SOILWAT2
is updated to v6.7.0 which fixed vegetation establishment.This version produces identical simulation output as the previous release under default values (i.e., vegetation establishment is turned off).
Functionality to calculate and output establishment/recruitment of species now works and is covered by tests (issue #225, @dschlaep). Note that this functionality assesses yearly the chances of species to recruit/establish based on simulated daily conditions; however, establishment/recruitment outcomes are not utilized to inform the simulation.
swEstabSpecies
gains new slot "vegType"
to specify vegetation type
of a species establishment parameters (issue #225, @dschlaep).get_soiltemp()
now correctly locates soil temperature output for all
rSOILWAT2
output objects
(even if created with rSOILWAT2
before v5.3.0
and
soillayers
is specified; issue #221, @dschlaep).r-lib
Github Actions updated to v2
;
separate workflows for R-CMD-check
and test-coverage
(issue #202; @dschlaep).SOILWAT2
is updated to v6.6.0
which updated random number functionality;
however, none of those updates affect rSOILWAT2
because rSOILWAT2
utilizes
R API random number functionality which has not changed.3.5.0
(#194).get_soiltemp()
extracts soil temperature at surface and/or at
requested depths of soil layers from simulation output.
This function works with simulation output from
rSOILWAT2 versions before and after v5.3.0
.SOILWAT2
is updated to v6.5.0
which provides
the estimated minimum/maximum soil temperature for every layer and
at the surface."TEMP"
in columns
surfaceTemp_min_C
, surfaceTemp_avg_C
(previously surfaceTemp_C
),
and surfaceTemp_max_C
."SOILTEMP"
in columns Lyr_X_min_C
, Lyr_X_avg_C
(previously Lyr_X
),
and Lyr_X_max_C
where X
stands for layer number 1, 2, ...lintr
>= 3 and
lint workflow switched from package tests to Github Action.SOILWAT2
is updated to v6.4.0
which provides
the phase of soil moisture (frozen or not) in each soil layer."FROZEN"
of class swOutput
(#101)..dbW_setConnection()
is a bare-bones version of dbW_setConnection()
that
quickly and without any error checking connects to a weather database.dbW_delete_duplicated_weatherData()
gains arguments
with backwards-compatible defaults:site_id
: delete duplicates only for one selected sitecarefully
: in combination with site_id
, thoroughly identify and
delete duplicated entries only if quick counts suggests that there
might be duplicates, i.e, this safes time if there are no duplicates.check_version()
now checks for the possible presence of
(an arbitrary number of) development version levels and the argument level
can now also take the value "devel".dbW_getWeatherData()
is now vectorized over sites and scenarios and
gained the argument stop_if_missing
.dbW_getSiteId()
is now correctly vectorized over Labels
.dbW_getIDs()
is now correctly vectorized for all arguments
that identify sites: site_id
, site_label
, long
/lat
.SOILWAT2
is updated to v6.3.0
with
improved percolation and behavior at minimum soil water content
(https://github.com/DrylandEcology/SOILWAT2/releases/tag/v6.3.0) including:swc_min
,
i.e., percolation rate is smaller at very low moisture levels.swc_min
.swc_min
is now set at -30 MPa.dbW_updateSites()
and dbW_getSiteId()
are faster.dbW_have_sites_all_weatherData()
checks if the weather database
contains weather data objects of requested sites and scenarios.dbW_delete_duplicated_weatherData()
removes duplicated weather data.dbW_has_weatherData()
now counts unique (instead of all)
weather data entries as documented.SOILWAT2
updated to v6.2.2remotes::install_github("DrylandEcology/rSOILWAT2")
works again (#177).SOILWAT2
-related functionality,
i.e., creation of a family of rSW2
-related packages
(see https://github.com/DrylandEcology/rSOILWAT2#rSW2):rSW2utils
provides miscellaneous utility toolsrSW2st
provides spatiotemporal tools
including functions to create and interact with netCDF
filesrSW2data
provides input data preparationrSW2exter
provides access to external datarSOILWAT2
is a R package that directly connects to SOILWAT2
in memory,
i.e., without writing/reading input and output files to/from diskrSW2funs
calculates new response variables from rSOILWAT2
outputrSFSW2
manages large rSOILWAT2
simulation experimentrSFSTEP2
manages large STEPWAT2
simulation experimentrSW2utils
and rSW2data
.rSW2
appropriate packages):rSW2funs
: calc_SMTRs()
, SMR_names()
, SMRq_names()
,
STR_names()
, calc_RRs_Chambers2014()
, calc_RRs_Maestas2016()
rSW2data
: getStartYear()
, setup_time_simulation_run()
,
simTiming_ForEachUsedTimeUnit()
, update_requested_years()
adjust_TranspirationRegions()
, check_TranspirationRegions()
,
prepare_TranspirationRegions()
, dbW_check_weatherData()
,
estimate_PotNatVeg_roots()
, lookup_annual_CO2a()
,
activate_swOUT_OutKey<-()
, deactivate_swOUT_OutKey<-()
sw2_tr_VegBiom
, sw2_trco_table
, sw2_tr_CO2a
SOILWAT2
updated to v6.2.1travis
and appveyor
to Github Actions.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.