This function takes user-defined water quality parameters and creates an S4 "water" class object that forms the input and output of all tidywater models.
define_water(
ph,
temp = 25,
alk,
tot_hard,
ca,
mg,
na,
k,
cl,
so4,
free_chlorine = 0,
combined_chlorine = 0,
tot_po4 = 0,
tot_nh3 = 0,
tds,
cond,
toc,
doc,
uv254,
br,
f,
fe,
al,
mn
)
A water class object where slots are filled or calculated based on input parameters.
water pH
Temperature in degree C
Alkalinity in mg/L as CaCO3
Total hardness in mg/L as CaCO3
Calcium in mg/L Ca2+
Magnesium in mg/L Mg2+
Sodium in mg/L Na+
Potassium in mg/L K+
Chloride in mg/L Cl-
Sulfate in mg/L SO42-
Free chlorine in mg/L as Cl2. Used when a starting water has a free chlorine residual.
Combined chlorine (chloramines) in mg/L as Cl2. Used when a starting water has a chloramine residual.
Phosphate in mg/L as PO4 3-. Used when a starting water has a phosphate residual.
Total ammonia in mg/L as N
Total Dissolved Solids in mg/L (optional if ions are known)
Electrical conductivity in uS/cm (optional if ions are known)
Total organic carbon (TOC) in mg/L
Dissolved organic carbon (DOC) in mg/L
UV absorbance at 254 nm (cm-1)
Bromide in ug/L Br-
Fluoride in mg/L F-
Iron in mg/L Fe3+
Aluminum in mg/L Al3+
Manganese in ug/L Mn2+
Carbonate balance is calculated and units are converted to mol/L. Ionic strength is determined from ions, TDS, or conductivity. Missing values are handled by defaulting to 0 or NA. Calcium hardness defaults to 65 manually specify all ions in the define_water arguments. The following equations are used to determine ionic strength: Ionic strength (if TDS provided): Crittenden et al. (2012) equation 5-38 Ionic strength (if electrical conductivity provided): Snoeyink & Jenkins (1980) Ionic strength (from ion concentrations): Lewis and Randall (1921), Crittenden et al. (2012) equation 5-37 Temperature correction of dielectric constant (relative permittivity): Harned and Owen (1958), Crittenden et al. (2012) equation 5-45.
water_missingions <- define_water(ph = 7, temp = 15, alk = 100, tds = 10)
water_defined <- define_water(7, 20, 50, 100, 80, 10, 10, 10, 10, tot_po4 = 1)
Run the code above in your browser using DataLab