Standardisation is done in a two-step process following Hafner et al. (2015).
First, the contribution of water vapor is removed and volume is corrected to the standard pressure:
vd = vm*(pm - rh*pw)/ps
where vd = dry volume at standard pressure ps, vm = measured volume at pressure pm, pw = saturation vapor pressure of water (all pressures in Pa), and rh = relative humidity (rh
above).
Water vapor pressure pw is calculated from the Magnus form equation given in Alduchov and Eskridge (1996) (Eqs. (21) and (22)).
In the second step, the volume is adjusted for temperature.
vs = vd*Ts/T
where vs = standardised volume and Ts = standardisation temperature (K, converted from temp.std
argument).
This approach is based on Charles's and Boyle's laws.
Comparison with calculations using the Peng-Robinson equation of state suggests that error in stdVol
is around 0.1% for typical biogas with volume measured at 25 degrees C, and higher at higher temperatures (up to 0.3% at 55 degrees C).
Standard temperature and pressure and their units can be defined by the user using the temp.std
, pres.std
, temp.unit
, and pres.unit
arguments.
Alternatively, standard values and units of temperature and pressure can be globally set using the function options
.
Default values are 0 degrees C and 1.0 atm.
stdVol
is vectorized, and if one argument has a shorter length than the others, it will be recycled.