Drinking water chlorination efficiency: Difference between revisions
m (→Calculations) |
|||
| Line 128: | Line 128: | ||
library(OpasnetUtils) | library(OpasnetUtils) | ||
library(reshape2) | library(reshape2) | ||
mrt <- 2 # mean residence time, the time water on average spends in each cstr | mrt <- 2 # mean residence time, the time water on average spends in each cstr | ||
| Line 138: | Line 133: | ||
k <- 0.13 # the rate at which chlorine concentration decreases | k <- 0.13 # the rate at which chlorine concentration decreases | ||
CT <- Ovariable("CT", dependencies = | CT <- Ovariable( | ||
"CT", | |||
dependencies = data.frame( | |||
Name = c("ChlorineDose", "mrt", "Ncstr", "k"), | |||
Ident = c("Op_en7956/dose")), | |||
save=TRUE, | |||
formula = function(...){ | |||
# Produces a distribution of total time water spends in the contactor | # Produces a distribution of total time water spends in the contactor | ||
| Line 150: | Line 151: | ||
Times <- Ovariable(name="Times", output=Times) | Times <- Ovariable(name="Times", output=Times) | ||
# Integral of concentration along Times: | |||
# Int(ChlorineDose*exp(-k*Times)) = ChlorineDose*(-1/k)*exp(-k*Times) | |||
# Definite integral from 0 to Times = ChlorineDose*(-1/k)*exp(-k*Times) - ChlorineDose(-1/k) = ChlorineDose/k (1-exp(-k*Times)) | |||
CT <- ChlorineDose/k * (1-exp(-k * Times)) | CT <- ChlorineDose/k * (1-exp(-k * Times)) | ||
return(CT) | return(CT) | ||
| Line 175: | Line 172: | ||
library(reshape2) | library(reshape2) | ||
ChlorineEfficiency <- Ovariable("ChlorineEfficiency", save = TRUE, dependencies = data.frame( | |||
Name = c("CT", "ClSensitivity"), | Name = c("CT", "ClSensitivity"), | ||
Ident = c("Op_en7956/CT", "Op_en7956/sensitivity") | Ident = c("Op_en7956/CT", "Op_en7956/sensitivity")), | ||
) | formula = function(...){ | ||
ClSensitivity <- EvalOutput(ClSensitivity) | ClSensitivity <- EvalOutput(ClSensitivity) | ||
# make CT into an Ovariable, if it's not already | |||
if(!"ovariable" %in% class(CT)) CT <- Ovariable(name=CT, output=data.frame(Result=CT)) | |||
CT <- EvalOutput(CT) | CT <- EvalOutput(CT) | ||
sensname <- paste0(ClSensitivity@name,"Result") # put "ClSensitivityResult" into sensname | sensname <- paste0(ClSensitivity@name,"Result") # put "ClSensitivityResult" into sensname | ||
| Line 191: | Line 187: | ||
ova <- merge(ClSensitivity, CT) # merge to get the variables into the same table | ova <- merge(ClSensitivity, CT) # merge to get the variables into the same table | ||
ova$Logdecrease <- as.numeric(as.character(ova$Logdecrease)) # make sure Logdecrease-column is numeric | ova$Logdecrease <- as.numeric(as.character(ova$Logdecrease)) # make sure Logdecrease-column is numeric | ||
out <- aggregate( | out <- aggregate( | ||
1:nrow(ova@output), #take a set of row numbers included in ova... | 1:nrow(ova@output), #take a set of row numbers included in ova... | ||
by = ova@output[ova@marginal & colnames(ova@output)!="Logdecrease"], #...that has a unique combination of values in the index-columns, except Logdecrease. It takes the row numbers with different values of Logdecrease, with the combination of other indices unique. | by = ova@output[ova@marginal & colnames(ova@output)!="Logdecrease"], #...that has a unique combination of values in the | ||
# index-columns, except Logdecrease. It takes the row numbers with different values of Logdecrease, with the | |||
# combination of other indices unique. | |||
FUN = function(x) { | |||
tmp <- ova@output[x,] # actually takes those rows whose numbers were selected above from ova | tmp <- ova@output[x,] # actually takes those rows whose numbers were selected above from ova | ||
ord <- order(tmp$Logdecrease) # saves the order of rows ordered based on Logdecrease, smallest first. | ord <- order(tmp$Logdecrease) # saves the order of rows ordered based on Logdecrease, smallest first. | ||
Revision as of 12:20, 11 July 2019
| Moderator:Päivi Meriläinen (see all) |
|
|
| Upload data
|
Question
How does chlorination affect the concentrations of pathogens in drinking water, reported in log-decrese?
Answer
| Pathogen | Log-dercease |
| Campylobacter | 8.837981871 |
| E.coli O157:H7 | 7.182699561 |
| Rotavirus | 11.97117474 |
| Norovirus | 13.55252482 |
| Cryptosporidium | 0 |
| Giardia | 0.095329311 |
Rationale
Chloriantion efficiency, or chlorine's capacity to destroy microbes, depends on many factors: the form of the chlorine, temperature, retention period, pH and concentration as well as other chemicals in the water. In some circumstances it might efficiently kill all indicator organisms, but some active viruses, protists or their cysts may remain in the water. The meter to measure the efficiency of chlorination is kloorikokema ⇤--arg5411: . Someone else has to translate this --Heta (talk) 14:31, 4 July 2019 (UTC) (type: truth; paradigms: science: attack), which is the concentration multiplied by retention period, so called CT-value. The required CT-value depends on the temperature: the lower the temperature, the higher the CT-value has to be.
Data
Pathogen sensitivity to chlorine:
The rows tell which pathogen the ct-values on that row are for.
The columns tell the ct-value required to decrease the amount of each pathogen in the drinking water to a certain level on the log-scale. Column 1 means pathogen concentration will drop to 10-1 of the original, column 2 means the concentration will drop to 10-2 and so on.
| Obs | Pathogen | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|---|
| 1 | Campylobacter | 0 | 0.152 | 0.294 | 0.436 | 0 | 0 |
| 2 | E.coli O157:H7 | 0 | 0.17 | 0.34 | 0.52 | 1.06 | 0 |
| 3 | Rotavirus | 0 | 0.12 | 0.16 | 0.2 | 0.3 | 0 |
| 4 | Norovirus | 0 | 0.09 | 0.18 | 0.245 | 0.314 | 0 |
| 5 | Cryptosporidium | 0 | 0 | 0 | 0 | 0 | 0 |
| 6 | Giardia | 0 | 75 | 150 | 216 | 0 | 0 |
| Pathogen | Reference |
| Campylobacter | [2]; [3] |
| E.coli O157:H7 | [4]; [5] |
| Rotavirus | [6] |
| Norovirus | [7] |
| Cryptosporidium | [8] |
| Giardia | [9] |
Causality
Unit
logarithmic decrease
Calculations
CT-value = Chlorine residue concentration (mg/l)* time (min)
See also
References
- ↑ Valve, M ja Isomäki, E. 2007. Klooraus - Tuttu ja turvallinen? Vesitalous 4/2007.
- ↑ Blaser, M. J., Smith, P. F., Wang, W.‐L. L. and Hoff, J. C. (1986). "Inactivation of Campylobacter jejuni by Chlorine and Monochloramine." Applied and Environmental Microbiology 51(2): 307‐311.
- ↑ Lund, V. (1996). "Evaluation of E. coli as an indicator for the presence of Campylobacter jejuni and Yersinia enterocolitica in chlorinated and untreated oligotrophic lake water." Water Research 30(6): 1528‐ 1534.
- ↑ Blaser, M. J., Smith, P. F., Wang, W.‐L. L. and Hoff, J. C. (1986). "Inactivation of Campylobacter jejuni by Chlorine and Monochloramine." Applied and Environmental Microbiology 51(2): 307‐311.
- ↑ Lund, V. (1996). "Evaluation of E. coli as an indicator for the presence of Campylobacter jejuni and Yersinia enterocolitica in chlorinated and untreated oligotrophic lake water." Water Research 30(6): 1528‐ 1534.
- ↑ Rice, E. W., Hoff, J. C. and III, F. W. S. (1982). "Inactivation of Giardia cysts by chlorine." Applied and Environmental Microbiology 43(1): 250‐251
- ↑ Keswick, B. H., Satterwhite, T. K., Johnson, P. C., DuPont, H. L., Secor, S. L., Bitsura, J. A., Gary, G. W. and Hoff, J. C. (1985). Inactivation of norwalk virus in drinking water by chlorine. Applied and Environmental Microbiology 50(2): 261-264.
- ↑ Benito Corona-Vasquez, Amy Samuelson, Jason L. Rennecker and Benito J. Mariñas (2002): Inactivation of Cryptosporidium parvum oocysts with ozone and free chlorine. Water Research 36, 4053-4063
- ↑ Rice, E. W., Hoff, J. C. and III, F. W. S. (1982). "Inactivation of Giardia cysts by chlorine." Applied and Environmental Microbiology 43(1): 250‐251
|
|

