def volume_contaminant_consumed(node_results, detection_limit):
""" Volume of contaminant consumed, equation from [1].
Parameters
----------
node_results : pd.Panel
A pandas Panel containing node results.
Items axis = attributes, Major axis = times, Minor axis = node names
Volume of contaminant consumed uses 'demand' and quality' attrbutes.
detection_limit : float
Contaminant detection limit
References
----------
[1] EPA, U. S. (2015). Water security toolkit user manual version 1.3.
Technical report, U.S. Environmental Protection Agency
"""
maskQ = np.greater(node_results['quality'], detection_limit)
maskD = np.greater(node_results['demand'], 0) # positive demand
deltaT = node_results['quality'].index[1] # this assumes constant timedelta
VC = node_results['demand']*deltaT*maskQ*maskD # m3/s * s * bool - > m3
return VC
评论列表
文章目录