aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--R/nafta.R3
-rw-r--r--build.log1
-rw-r--r--data/NAFTA_2015.rdabin264 -> 0 bytes
-rw-r--r--data/NAFTA_SOP_2015.rdabin0 -> 390 bytes
-rw-r--r--man/NAFTA_SOP_2015.Rd (renamed from man/NAFTA_2015_datasets.Rd)15
-rw-r--r--man/nafta.Rd2
-rw-r--r--test.log43
-rw-r--r--tests/figs/evaluations-according-to-2015-nafta-guidance/nafta-sop-appendix-b.svg462
-rw-r--r--tests/figs/plotting/mkinparplot-for-focus-c-sfo.svg85
-rw-r--r--tests/testthat/FOCUS_2006_D.csf2
-rw-r--r--tests/testthat/NAFTA_SOP_Appendix_B.txt35
-rw-r--r--tests/testthat/NAFTA_SOP_Appendix_D.txt (renamed from tests/testthat/print_nafta_analysis.txt)2
-rw-r--r--tests/testthat/test_CAKE_export.R22
-rw-r--r--tests/testthat/test_nafta.R28
14 files changed, 647 insertions, 53 deletions
diff --git a/R/nafta.R b/R/nafta.R
index 2af2404f..03bd77c1 100644
--- a/R/nafta.R
+++ b/R/nafta.R
@@ -49,7 +49,7 @@ nafta <- function(ds, title = NA, quiet = FALSE) {
result$S["IORE"]
result$S_c <- result$S[["IORE"]] * (1 + p/(n - p) * qf(0.5, p, n - p))
- result$t_rep <- .evaluate_nafta_results(result$S, result$S_c,
+ result$t_rep <- .evaluate_nafta_results(result$S, result$S_c,
result$distimes, quiet = quiet)
class(result) <- "nafta"
@@ -67,6 +67,7 @@ plot.nafta <- function(x, legend = FALSE, main = "auto", ...) {
print.nafta <- function(x, quiet = TRUE, ...) {
cat("Sums of squares:\n")
print(x$S)
+ cat("\nCritical sum of squares for checking the SFO model:\n")
print(x$S_c)
cat("\nParameters:\n")
print(x$parameters)
diff --git a/build.log b/build.log
index 6831459d..217b621f 100644
--- a/build.log
+++ b/build.log
@@ -5,6 +5,7 @@
* creating vignettes ... OK
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
+Removed empty directory ‘mkin/tests/figs/export-dataset-for-reading-into-cake’
* looking to see if a ‘data/datalist’ file should be added
* building ‘mkin_0.9.48.1.tar.gz’
diff --git a/data/NAFTA_2015.rda b/data/NAFTA_2015.rda
deleted file mode 100644
index 48183048..00000000
--- a/data/NAFTA_2015.rda
+++ /dev/null
Binary files differ
diff --git a/data/NAFTA_SOP_2015.rda b/data/NAFTA_SOP_2015.rda
new file mode 100644
index 00000000..eb7ce63f
--- /dev/null
+++ b/data/NAFTA_SOP_2015.rda
Binary files differ
diff --git a/man/NAFTA_2015_datasets.Rd b/man/NAFTA_SOP_2015.Rd
index 4ca494ee..a47ae155 100644
--- a/man/NAFTA_2015_datasets.Rd
+++ b/man/NAFTA_SOP_2015.Rd
@@ -1,15 +1,16 @@
-\name{NAFTA_2015_datasets}
-\alias{MRID_555555}
+\name{NAFTA_SOP_2015}
+\alias{NAFTA_SOP_Appendix_B}
+\alias{NAFTA_SOP_Appendix_D}
\docType{data}
\title{
-Example datasets from the NAFTA guidance published 2015
+Example datasets from the NAFTA SOP published 2015
}
\description{
-Data taken from US EPA (2015), p. 23.
+Data taken from US EPA (2015), p. 19 and 23.
}
-\usage{NAFTA_2015_datasets}
+\usage{NAFTA_SOP_2015}
\format{
- 1 dataset with observations on the following variables.
+ 2 datasets with observations on the following variables.
\describe{
\item{\code{name}}{a factor containing the name of the observed variable}
\item{\code{time}}{a numeric vector containing time points}
@@ -28,7 +29,7 @@ Data taken from US EPA (2015), p. 23.
\url{https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/standard-operating-procedure-using-nafta-guidance}
}
\examples{
- nafta_evaluation <- nafta(MRID_555555)
+ nafta_evaluation <- nafta(NAFTA_SOP_Appendix_D)
print(nafta_evaluation)
plot(nafta_evaluation)
}
diff --git a/man/nafta.Rd b/man/nafta.Rd
index cd06e02b..48b4fefe 100644
--- a/man/nafta.Rd
+++ b/man/nafta.Rd
@@ -39,7 +39,7 @@ nafta(ds, title = NA, quiet = FALSE)
\url{https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/standard-operating-procedure-using-nafta-guidance}
}
\examples{
- nafta_evaluation <- nafta(MRID_555555)
+ nafta_evaluation <- nafta(NAFTA_SOP_Appendix_D)
print(nafta_evaluation)
plot(nafta_evaluation)
}
diff --git a/test.log b/test.log
index 63f5b542..77981c86 100644
--- a/test.log
+++ b/test.log
@@ -1,15 +1,24 @@
Loading mkin
Testing mkin
✔ | OK F W S | Context
- ⠏ | 0 | Export dataset for reading into CAKE ⠋ | 1 | Export dataset for reading into CAKE ⠙ | 1 1 | Export dataset for reading into CAKE ⠙ | 2 | Export dataset for reading into CAKE ⠹ | 3 | Export dataset for reading into CAKE ⠸ | 4 | Export dataset for reading into CAKE ⠼ | 5 | Export dataset for reading into CAKE ⠴ | 6 | Export dataset for reading into CAKE ⠦ | 7 | Export dataset for reading into CAKE ⠧ | 8 | Export dataset for reading into CAKE ⠇ | 8 1 | Export dataset for reading into CAKE ✔ | 8 1 | Export dataset for reading into CAKE [1.4 s]
-────────────────────────────────────────────────────────────────────────────────
-test_CAKE_export.R:50: skip: Test data from Appendix D are correctly evaluated
-Figure not generated yet: plot-nafta-analysis.svg
-Please run `vdiffr::manage_cases()` to validate the figure.
-────────────────────────────────────────────────────────────────────────────────
- ⠏ | 0 | Calculation of FOCUS chi2 error levels ⠋ | 1 | Calculation of FOCUS chi2 error levels ⠙ | 2 | Calculation of FOCUS chi2 error levels ✔ | 2 | Calculation of FOCUS chi2 error levels [2.2 s]
- ⠏ | 0 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠙ | 2 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠸ | 4 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠼ | 5 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠴ | 6 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠦ | 7 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠧ | 8 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠇ | 9 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠏ | 10 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠋ | 11 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠙ | 12 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠹ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [7.8 s]
- ⠏ | 0 | Iteratively reweighted least squares (IRLS) fitting ⠋ | 1 | Iteratively reweighted least squares (IRLS) fitting ⠙ | 2 | Iteratively reweighted least squares (IRLS) fitting ⠹ | 2 1 | Iteratively reweighted least squares (IRLS) fitting ✔ | 2 1 | Iteratively reweighted least squares (IRLS) fitting [15.9 s]
+ ⠏ | 0 | Export dataset for reading into CAKE ⠋ | 1 | Export dataset for reading into CAKE ⠙ | 1 1 | Export dataset for reading into CAKE ✖ | 1 1 | Export dataset for reading into CAKE
+────────────────────────────────────────────────────────────────────────────────
+test_CAKE_export.R:32: error: Test data from Appendix D are correctly evaluated
+Objekt 'MRID_555555' nicht gefunden
+1: expect_message(res <- nafta(MRID_555555, "MRID 555555")) at /home/jranke/git/mkin/tests/testthat/test_CAKE_export.R:32
+2: quasi_capture(enquo(object), capture_messages, label = label)
+3: capture(act$val <- eval_bare(get_expr(quo), get_env(quo)))
+4: withCallingHandlers(code, message = function(condition) {
+ out$push(condition)
+ invokeRestart("muffleMessage")
+ })
+5: eval_bare(get_expr(quo), get_env(quo))
+6: nafta(MRID_555555, "MRID 555555")
+7: levels(ds$name) at /home/jranke/git/mkin/R/nafta.R:20
+────────────────────────────────────────────────────────────────────────────────
+ ⠏ | 0 | Calculation of FOCUS chi2 error levels ⠋ | 1 | Calculation of FOCUS chi2 error levels ⠙ | 2 | Calculation of FOCUS chi2 error levels ✔ | 2 | Calculation of FOCUS chi2 error levels [2.3 s]
+ ⠏ | 0 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠙ | 2 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠸ | 4 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠼ | 5 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠴ | 6 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠦ | 7 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠧ | 8 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠇ | 9 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠏ | 10 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠋ | 11 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠙ | 12 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠹ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠸ | 14 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ✔ | 14 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [7.9 s]
+ ⠏ | 0 | Iteratively reweighted least squares (IRLS) fitting ⠋ | 1 | Iteratively reweighted least squares (IRLS) fitting ⠙ | 2 | Iteratively reweighted least squares (IRLS) fitting ⠹ | 2 1 | Iteratively reweighted least squares (IRLS) fitting ✔ | 2 1 | Iteratively reweighted least squares (IRLS) fitting [16.0 s]
────────────────────────────────────────────────────────────────────────────────
test_irls.R:48: skip: Reweighting method 'tc' works
Too much trouble with datasets that are randomly generated
@@ -20,9 +29,9 @@ test_logistic.R:41: skip: The logistic fit can be done via differential equation
Skip slow fit of logistic model using deSolve without compilation
────────────────────────────────────────────────────────────────────────────────
⠏ | 0 | Model predictions with mkinpredict ⠋ | 1 | Model predictions with mkinpredict ⠙ | 2 | Model predictions with mkinpredict ⠹ | 3 | Model predictions with mkinpredict ✔ | 3 | Model predictions with mkinpredict [0.3 s]
- ⠏ | 0 | Evaluations according to 2015 NAFTA guidance ⠋ | 1 | Evaluations according to 2015 NAFTA guidance ⠙ | 1 1 | Evaluations according to 2015 NAFTA guidance ⠙ | 2 | Evaluations according to 2015 NAFTA guidance ⠹ | 3 | Evaluations according to 2015 NAFTA guidance ⠸ | 4 | Evaluations according to 2015 NAFTA guidance ⠼ | 5 | Evaluations according to 2015 NAFTA guidance ⠴ | 6 | Evaluations according to 2015 NAFTA guidance ⠦ | 7 | Evaluations according to 2015 NAFTA guidance ⠧ | 8 | Evaluations according to 2015 NAFTA guidance ⠇ | 9 | Evaluations according to 2015 NAFTA guidance ✔ | 9 | Evaluations according to 2015 NAFTA guidance [0.8 s]
- ⠏ | 0 | Fitting of parent only models ⠋ | 1 | Fitting of parent only models ⠙ | 2 | Fitting of parent only models ⠹ | 3 | Fitting of parent only models ⠸ | 4 | Fitting of parent only models ⠼ | 5 | Fitting of parent only models ⠴ | 6 | Fitting of parent only models ⠦ | 7 | Fitting of parent only models ⠧ | 8 | Fitting of parent only models ⠇ | 9 | Fitting of parent only models ⠏ | 10 | Fitting of parent only models ⠋ | 11 | Fitting of parent only models ⠙ | 12 | Fitting of parent only models ⠹ | 13 | Fitting of parent only models ⠸ | 14 | Fitting of parent only models ⠼ | 15 | Fitting of parent only models ⠴ | 16 | Fitting of parent only models ⠦ | 17 | Fitting of parent only models ⠧ | 18 | Fitting of parent only models ⠇ | 19 | Fitting of parent only models ⠏ | 20 | Fitting of parent only models ⠋ | 21 | Fitting of parent only models ✔ | 21 | Fitting of parent only models [23.7 s]
- ⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs) ⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs) ⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs) ⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs) ⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs) ⠼ | 5 | Calculation of maximum time weighted average concentrations (TWAs) ⠴ | 6 | Calculation of maximum time weighted average concentrations (TWAs) ⠦ | 7 | Calculation of maximum time weighted average concentrations (TWAs) ⠧ | 8 | Calculation of maximum time weighted average concentrations (TWAs) ✔ | 8 | Calculation of maximum time weighted average concentrations (TWAs) [7.2 s]
+ ⠏ | 0 | Evaluations according to 2015 NAFTA guidance ⠋ | 1 | Evaluations according to 2015 NAFTA guidance ⠙ | 2 | Evaluations according to 2015 NAFTA guidance ⠹ | 3 | Evaluations according to 2015 NAFTA guidance ⠸ | 4 | Evaluations according to 2015 NAFTA guidance ⠼ | 5 | Evaluations according to 2015 NAFTA guidance ⠴ | 6 | Evaluations according to 2015 NAFTA guidance ⠦ | 7 | Evaluations according to 2015 NAFTA guidance ⠧ | 8 | Evaluations according to 2015 NAFTA guidance ⠇ | 9 | Evaluations according to 2015 NAFTA guidance ⠏ | 9 1 | Evaluations according to 2015 NAFTA guidance ⠏ | 10 | Evaluations according to 2015 NAFTA guidance ⠋ | 11 | Evaluations according to 2015 NAFTA guidance ⠙ | 12 | Evaluations according to 2015 NAFTA guidance ⠹ | 13 | Evaluations according to 2015 NAFTA guidance ⠸ | 14 | Evaluations according to 2015 NAFTA guidance ⠼ | 15 | Evaluations according to 2015 NAFTA guidance ⠴ | 16 | Evaluations according to 2015 NAFTA guidance ⠦ | 17 | Evaluations according to 2015 NAFTA guidance ✔ | 17 | Evaluations according to 2015 NAFTA guidance [1.5 s]
+ ⠏ | 0 | Fitting of parent only models ⠋ | 1 | Fitting of parent only models ⠙ | 2 | Fitting of parent only models ⠹ | 3 | Fitting of parent only models ⠸ | 4 | Fitting of parent only models ⠼ | 5 | Fitting of parent only models ⠴ | 6 | Fitting of parent only models ⠦ | 7 | Fitting of parent only models ⠧ | 8 | Fitting of parent only models ⠇ | 9 | Fitting of parent only models ⠏ | 10 | Fitting of parent only models ⠋ | 11 | Fitting of parent only models ⠙ | 12 | Fitting of parent only models ⠹ | 13 | Fitting of parent only models ⠸ | 14 | Fitting of parent only models ⠼ | 15 | Fitting of parent only models ⠴ | 16 | Fitting of parent only models ⠦ | 17 | Fitting of parent only models ⠧ | 18 | Fitting of parent only models ⠇ | 19 | Fitting of parent only models ⠏ | 20 | Fitting of parent only models ⠋ | 21 | Fitting of parent only models ✔ | 21 | Fitting of parent only models [24.5 s]
+ ⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs) ⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs) ⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs) ⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs) ⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs) ⠼ | 5 | Calculation of maximum time weighted average concentrations (TWAs) ⠴ | 6 | Calculation of maximum time weighted average concentrations (TWAs) ⠦ | 7 | Calculation of maximum time weighted average concentrations (TWAs) ⠧ | 8 | Calculation of maximum time weighted average concentrations (TWAs) ✔ | 8 | Calculation of maximum time weighted average concentrations (TWAs) [7.3 s]
⠏ | 0 | Summary ⠋ | 1 | Summary ✔ | 1 | Summary
⠏ | 0 | Plotting ⠋ | 1 | Plotting ⠙ | 1 1 | Plotting ⠹ | 2 1 | Plotting ⠸ | 3 1 | Plotting ✔ | 3 1 | Plotting [0.3 s]
────────────────────────────────────────────────────────────────────────────────
@@ -31,12 +40,12 @@ Figure not generated yet: mkinparplot-for-focus-c-sfo.svg
Please run `vdiffr::manage_cases()` to validate the figure.
────────────────────────────────────────────────────────────────────────────────
⠏ | 0 | Complex test case from Schaefer et al. (2007) Piacenza paper ⠋ | 1 | Complex test case from Schaefer et al. (2007) Piacenza paper ⠙ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.9 s]
- ⠏ | 0 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠙ | 2 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠸ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) ✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.3 s]
+ ⠏ | 0 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠙ | 2 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠸ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) ✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.5 s]
══ Results ═════════════════════════════════════════════════════════════════════
-Duration: 74.6 s
+Duration: 75.2 s
-OK: 77
-Failed: 0
+OK: 79
+Failed: 1
Warnings: 0
-Skipped: 4
+Skipped: 3
diff --git a/tests/figs/evaluations-according-to-2015-nafta-guidance/nafta-sop-appendix-b.svg b/tests/figs/evaluations-according-to-2015-nafta-guidance/nafta-sop-appendix-b.svg
new file mode 100644
index 00000000..617e39b3
--- /dev/null
+++ b/tests/figs/evaluations-according-to-2015-nafta-guidance/nafta-sop-appendix-b.svg
@@ -0,0 +1,462 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 720.00 576.00'>
+<defs>
+ <style type='text/css'><![CDATA[
+ line, polyline, polygon, path, rect, circle {
+ fill: none;
+ stroke: #000000;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10.00;
+ }
+ ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<line x1='52.35' y1='168.38' x2='318.93' y2='168.38' style='stroke-width: 0.75;' />
+<line x1='52.35' y1='168.38' x2='52.35' y2='173.42' style='stroke-width: 0.75;' />
+<line x1='96.78' y1='168.38' x2='96.78' y2='173.42' style='stroke-width: 0.75;' />
+<line x1='141.21' y1='168.38' x2='141.21' y2='173.42' style='stroke-width: 0.75;' />
+<line x1='185.64' y1='168.38' x2='185.64' y2='173.42' style='stroke-width: 0.75;' />
+<line x1='230.07' y1='168.38' x2='230.07' y2='173.42' style='stroke-width: 0.75;' />
+<line x1='274.50' y1='168.38' x2='274.50' y2='173.42' style='stroke-width: 0.75;' />
+<line x1='318.93' y1='168.38' x2='318.93' y2='173.42' style='stroke-width: 0.75;' />
+<text x='50.01' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text x='92.10' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text x='136.54' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text x='180.97' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text>
+<text x='225.40' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text>
+<text x='267.49' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text>
+<text x='311.92' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text>
+<line x1='41.33' y1='163.68' x2='41.33' y2='51.42' style='stroke-width: 0.75;' />
+<line x1='41.33' y1='163.68' x2='36.29' y2='163.68' style='stroke-width: 0.75;' />
+<line x1='41.33' y1='141.22' x2='36.29' y2='141.22' style='stroke-width: 0.75;' />
+<line x1='41.33' y1='118.77' x2='36.29' y2='118.77' style='stroke-width: 0.75;' />
+<line x1='41.33' y1='96.32' x2='36.29' y2='96.32' style='stroke-width: 0.75;' />
+<line x1='41.33' y1='73.87' x2='36.29' y2='73.87' style='stroke-width: 0.75;' />
+<line x1='41.33' y1='51.42' x2='36.29' y2='51.42' style='stroke-width: 0.75;' />
+<text transform='translate(29.23,166.01) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text transform='translate(29.23,145.90) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>10</text>
+<text transform='translate(29.23,123.45) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text transform='translate(29.23,100.99) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>30</text>
+<text transform='translate(29.23,78.54) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text transform='translate(29.23,56.09) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>50</text>
+<polyline points='41.33,168.38 338.83,168.38 338.83,41.33 41.33,41.33 41.33,168.38 ' style='stroke-width: 0.75;' />
+<defs>
+ <clipPath id='cpMC4wMHwzNjAuMDB8MTk4LjYyfDAuMDA='>
+ <rect x='0.00' y='0.00' width='360.00' height='198.62' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8MTk4LjYyfDAuMDA=)'><text x='180.92' y='206.68' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8MTk4LjYyfDAuMDA=)'><text transform='translate(9.07,123.07) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g>
+<defs>
+ <clipPath id='cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw=='>
+ <rect x='41.33' y='41.33' width='297.50' height='127.05' />
+ </clipPath>
+</defs>
+<circle cx='52.35' cy='46.03' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='52.35' cy='49.18' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='61.23' cy='132.02' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='61.23' cy='121.69' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='70.12' cy='142.35' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='70.12' cy='143.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='99.00' cy='148.63' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='99.00' cy='147.06' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='185.64' cy='155.14' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='185.64' cy='158.74' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='252.28' cy='156.94' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='252.28' cy='156.49' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='327.81' cy='158.29' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<circle cx='327.81' cy='159.18' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<polyline points='52.35,48.63 55.13,79.89 57.91,102.65 60.69,119.23 63.48,131.31 66.26,140.10 69.04,146.51 71.82,151.17 74.61,154.57 77.39,157.04 80.17,158.85 82.95,160.16 85.74,161.11 88.52,161.81 91.30,162.32 94.08,162.69 96.87,162.95 99.65,163.15 102.43,163.29 105.21,163.40 108.00,163.47 110.78,163.53 113.56,163.57 116.34,163.60 119.13,163.62 121.91,163.63 124.69,163.64 127.47,163.65 130.26,163.66 133.04,163.66 135.82,163.67 138.60,163.67 141.39,163.67 144.17,163.67 146.95,163.67 149.73,163.67 152.52,163.67 155.30,163.67 158.08,163.67 160.86,163.67 163.65,163.67 166.43,163.67 169.21,163.67 171.99,163.67 174.78,163.67 177.56,163.67 180.34,163.67 183.12,163.67 185.91,163.68 188.69,163.68 191.47,163.68 194.25,163.68 197.04,163.68 199.82,163.68 202.60,163.68 205.38,163.68 208.17,163.68 210.95,163.68 213.73,163.68 216.51,163.68 219.30,163.68 222.08,163.68 224.86,163.68 227.64,163.68 230.43,163.68 233.21,163.68 235.99,163.68 238.77,163.68 241.56,163.68 244.34,163.68 247.12,163.68 249.90,163.68 252.69,163.68 255.47,163.68 258.25,163.68 261.03,163.68 263.82,163.68 266.60,163.68 269.38,163.68 272.16,163.68 274.95,163.68 277.73,163.68 280.51,163.68 283.29,163.68 286.08,163.68 288.86,163.68 291.64,163.68 294.42,163.68 297.21,163.68 299.99,163.68 302.77,163.68 305.55,163.68 308.34,163.68 311.12,163.68 313.90,163.68 316.68,163.68 319.47,163.68 322.25,163.68 325.03,163.68 327.81,163.68 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDE2OC4zOHw0MS4zMw==)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='323.02' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='73.95px' lengthAdjust='spacingAndGlyphs'>aerobic aquatic</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='140.01' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='17.25px' lengthAdjust='spacingAndGlyphs'>SFO</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='157.26' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='159.36' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='163.26' y='29.33' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='166.53' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='168.62' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='207.89' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='216.35' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>20.4%</text></g>
+<defs>
+ <clipPath id='cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM='>
+ <rect x='401.33' y='41.33' width='297.50' height='127.05' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='412.35' y1='168.38' x2='695.08' y2='168.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='412.35' y1='168.38' x2='412.35' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='452.74' y1='168.38' x2='452.74' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='493.13' y1='168.38' x2='493.13' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='533.52' y1='168.38' x2='533.52' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='573.91' y1='168.38' x2='573.91' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='614.30' y1='168.38' x2='614.30' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='654.69' y1='168.38' x2='654.69' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='695.08' y1='168.38' x2='695.08' y2='173.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='448.07' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='488.46' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='528.85' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='569.24' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='607.29' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='647.68' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='688.08' y='186.52' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>140</text></g>
+<line x1='401.33' y1='139.14' x2='401.33' y2='70.57' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='139.14' x2='396.29' y2='139.14' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='104.85' x2='396.29' y2='104.85' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='70.57' x2='396.29' y2='70.57' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,142.88) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-5</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,107.19) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,72.90) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>5</text></g>
+<polyline points='401.33,168.38 698.83,168.38 698.83,41.33 401.33,41.33 401.33,168.38 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMzYwLjAwfDcyMC4wMHwxOTguNjJ8MC4wMA=='>
+ <rect x='360.00' y='0.00' width='360.00' height='198.62' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwxOTguNjJ8MC4wMA==)'><text x='540.92' y='206.68' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwxOTguNjJ8MC4wMA==)'><text transform='translate(369.07,121.19) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g>
+<defs>
+ <clipPath id='cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM='>
+ <rect x='401.33' y='41.33' width='297.50' height='127.05' />
+ </clipPath>
+</defs>
+<circle cx='412.35' cy='96.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='412.35' cy='106.52' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='420.42' cy='135.83' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='420.42' cy='104.28' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='428.50' cy='86.09' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='428.50' cy='90.89' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='454.76' cy='60.64' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='454.76' cy='55.84' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='533.52' cy='78.80' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='533.52' cy='89.77' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='594.11' cy='84.28' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='594.11' cy='82.91' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='662.77' cy='88.40' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<circle cx='662.77' cy='91.14' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<line x1='401.33' y1='104.85' x2='698.83' y2='104.85' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxNjguMzh8NDEuMzM=)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='523.49' y='35.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='53.19px' lengthAdjust='spacingAndGlyphs'>SFO residuals</text></g>
+<defs>
+ <clipPath id='cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk='>
+ <rect x='41.33' y='219.79' width='297.50' height='127.35' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='52.35' y1='347.14' x2='318.93' y2='347.14' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='52.35' y1='347.14' x2='52.35' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='96.78' y1='347.14' x2='96.78' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='141.21' y1='347.14' x2='141.21' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='185.64' y1='347.14' x2='185.64' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='230.07' y1='347.14' x2='230.07' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='274.50' y1='347.14' x2='274.50' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='318.93' y1='347.14' x2='318.93' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='50.01' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='92.10' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='136.54' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='180.97' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='225.40' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='267.49' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='311.92' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g>
+<line x1='41.33' y1='342.42' x2='41.33' y2='229.91' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='342.42' x2='36.29' y2='342.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='319.92' x2='36.29' y2='319.92' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='297.42' x2='36.29' y2='297.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='274.91' x2='36.29' y2='274.91' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='252.41' x2='36.29' y2='252.41' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='229.91' x2='36.29' y2='229.91' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,344.76) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,324.59) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>10</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,302.09) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,279.58) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>30</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,257.08) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,234.58) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>50</text></g>
+<polyline points='41.33,347.14 338.83,347.14 338.83,219.79 41.33,219.79 41.33,347.14 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMC4wMHwzNjAuMDB8Mzc3LjM4fDE5OC42Mg=='>
+ <rect x='0.00' y='198.62' width='360.00' height='178.76' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8Mzc3LjM4fDE5OC42Mg==)'><text x='180.92' y='385.44' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8Mzc3LjM4fDE5OC42Mg==)'><text transform='translate(9.07,301.67) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g>
+<defs>
+ <clipPath id='cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk='>
+ <rect x='41.33' y='219.79' width='297.50' height='127.35' />
+ </clipPath>
+</defs>
+<circle cx='52.35' cy='224.51' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='52.35' cy='227.66' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='61.23' cy='310.69' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='61.23' cy='300.34' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='70.12' cy='321.04' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='70.12' cy='322.62' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='99.00' cy='327.35' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='99.00' cy='325.77' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='185.64' cy='333.87' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='185.64' cy='337.47' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='252.28' cy='335.67' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='252.28' cy='335.22' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='327.81' cy='337.02' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<circle cx='327.81' cy='337.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<polyline points='52.35,226.06 55.13,282.03 57.91,297.96 60.69,306.10 63.48,311.19 66.26,314.74 69.04,317.38 71.82,319.45 74.61,321.11 77.39,322.49 80.17,323.66 82.95,324.66 85.74,325.52 88.52,326.29 91.30,326.97 94.08,327.58 96.87,328.12 99.65,328.62 102.43,329.07 105.21,329.49 108.00,329.87 110.78,330.23 113.56,330.56 116.34,330.86 119.13,331.15 121.91,331.42 124.69,331.67 127.47,331.91 130.26,332.13 133.04,332.34 135.82,332.54 138.60,332.73 141.39,332.91 144.17,333.08 146.95,333.25 149.73,333.41 152.52,333.55 155.30,333.70 158.08,333.83 160.86,333.97 163.65,334.09 166.43,334.21 169.21,334.33 171.99,334.44 174.78,334.55 177.56,334.66 180.34,334.76 183.12,334.85 185.91,334.95 188.69,335.04 191.47,335.13 194.25,335.21 197.04,335.30 199.82,335.38 202.60,335.46 205.38,335.53 208.17,335.60 210.95,335.68 213.73,335.75 216.51,335.81 219.30,335.88 222.08,335.94 224.86,336.01 227.64,336.07 230.43,336.13 233.21,336.19 235.99,336.24 238.77,336.30 241.56,336.35 244.34,336.40 247.12,336.46 249.90,336.51 252.69,336.55 255.47,336.60 258.25,336.65 261.03,336.70 263.82,336.74 266.60,336.79 269.38,336.83 272.16,336.87 274.95,336.91 277.73,336.95 280.51,336.99 283.29,337.03 286.08,337.07 288.86,337.11 291.64,337.15 294.42,337.18 297.21,337.22 299.99,337.25 302.77,337.29 305.55,337.32 308.34,337.36 311.12,337.39 313.90,337.42 316.68,337.45 319.47,337.48 322.25,337.51 325.03,337.54 327.81,337.57 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM0Ny4xNHwyMTkuNzk=)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='323.02' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='73.95px' lengthAdjust='spacingAndGlyphs'>aerobic aquatic</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='138.38' y='212.01' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='20.52px' lengthAdjust='spacingAndGlyphs'>IORE</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='158.90' y='212.01' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='160.99' y='212.01' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='164.90' y='207.79' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='168.16' y='212.01' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='170.26' y='212.01' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='209.53' y='212.01' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='217.98' y='212.01' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>5.06%</text></g>
+<defs>
+ <clipPath id='cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5'>
+ <rect x='401.33' y='219.79' width='297.50' height='127.35' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='412.35' y1='347.14' x2='695.08' y2='347.14' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='412.35' y1='347.14' x2='412.35' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='452.74' y1='347.14' x2='452.74' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='493.13' y1='347.14' x2='493.13' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='533.52' y1='347.14' x2='533.52' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='573.91' y1='347.14' x2='573.91' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='614.30' y1='347.14' x2='614.30' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='654.69' y1='347.14' x2='654.69' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='695.08' y1='347.14' x2='695.08' y2='352.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='448.07' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='488.46' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='528.85' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='569.24' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='607.29' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='647.68' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='688.08' y='365.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>140</text></g>
+<line x1='401.33' y1='315.46' x2='401.33' y2='251.47' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='315.46' x2='396.29' y2='315.46' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='283.46' x2='396.29' y2='283.46' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='251.47' x2='396.29' y2='251.47' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,319.19) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,285.80) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,253.80) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>2</text></g>
+<polyline points='401.33,347.14 698.83,347.14 698.83,219.79 401.33,219.79 401.33,347.14 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMzYwLjAwfDcyMC4wMHwzNzcuMzh8MTk4LjYy'>
+ <rect x='360.00' y='198.62' width='360.00' height='178.76' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwzNzcuMzh8MTk4LjYy)'><text x='540.92' y='385.44' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwzNzcuMzh8MTk4LjYy)'><text transform='translate(369.07,299.80) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g>
+<defs>
+ <clipPath id='cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5'>
+ <rect x='401.33' y='219.79' width='297.50' height='127.35' />
+ </clipPath>
+</defs>
+<circle cx='412.35' cy='272.43' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='412.35' cy='294.83' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='420.42' cy='307.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='420.42' cy='234.33' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='428.50' cy='303.41' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='428.50' cy='314.61' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='454.76' cy='275.19' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='454.76' cy='263.99' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='533.52' cy='275.87' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='533.52' cy='301.46' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='594.11' cy='277.23' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='594.11' cy='274.04' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='662.77' cy='279.55' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<circle cx='662.77' cy='285.95' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<line x1='401.33' y1='283.46' x2='698.83' y2='283.46' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzNDcuMTR8MjE5Ljc5)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='521.85' y='213.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='56.45px' lengthAdjust='spacingAndGlyphs'>IORE residuals</text></g>
+<defs>
+ <clipPath id='cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU='>
+ <rect x='41.33' y='398.55' width='297.50' height='126.04' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='52.35' y1='524.59' x2='318.93' y2='524.59' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='52.35' y1='524.59' x2='52.35' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='96.78' y1='524.59' x2='96.78' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='141.21' y1='524.59' x2='141.21' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='185.64' y1='524.59' x2='185.64' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='230.07' y1='524.59' x2='230.07' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='274.50' y1='524.59' x2='274.50' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='318.93' y1='524.59' x2='318.93' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='50.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='92.10' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='136.54' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='180.97' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='225.40' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='267.49' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='311.92' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g>
+<line x1='41.33' y1='519.92' x2='41.33' y2='408.56' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='519.92' x2='36.29' y2='519.92' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='497.65' x2='36.29' y2='497.65' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='475.38' x2='36.29' y2='475.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='453.11' x2='36.29' y2='453.11' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='430.83' x2='36.29' y2='430.83' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='41.33' y1='408.56' x2='36.29' y2='408.56' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,522.26) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,502.32) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>10</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,480.05) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,457.78) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>30</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,435.51) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,413.23) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>50</text></g>
+<polyline points='41.33,524.59 338.83,524.59 338.83,398.55 41.33,398.55 41.33,524.59 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMC4wMHwzNjAuMDB8NTc2LjAwfDM3Ny4zOA=='>
+ <rect x='0.00' y='377.38' width='360.00' height='198.62' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDM3Ny4zOA==)'><text x='180.92' y='562.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDM3Ny4zOA==)'><text transform='translate(9.07,479.78) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g>
+<defs>
+ <clipPath id='cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU='>
+ <rect x='41.33' y='398.55' width='297.50' height='126.04' />
+ </clipPath>
+</defs>
+<circle cx='52.35' cy='403.22' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='52.35' cy='406.33' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='61.23' cy='488.52' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='61.23' cy='478.27' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='70.12' cy='498.76' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='70.12' cy='500.32' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='99.00' cy='505.00' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='99.00' cy='503.44' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='185.64' cy='511.46' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='185.64' cy='515.02' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='252.28' cy='513.24' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='252.28' cy='512.80' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='327.81' cy='514.58' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<circle cx='327.81' cy='515.47' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<polyline points='52.35,404.76 55.13,444.04 57.91,467.49 60.69,481.54 63.48,490.00 66.26,495.14 69.04,498.31 71.82,500.30 74.61,501.59 77.39,502.46 80.17,503.08 82.95,503.55 85.74,503.93 88.52,504.26 91.30,504.55 94.08,504.82 96.87,505.07 99.65,505.32 102.43,505.55 105.21,505.78 108.00,506.01 110.78,506.23 113.56,506.45 116.34,506.66 119.13,506.87 121.91,507.08 124.69,507.28 127.47,507.48 130.26,507.68 133.04,507.87 135.82,508.06 138.60,508.25 141.39,508.43 144.17,508.62 146.95,508.80 149.73,508.97 152.52,509.14 155.30,509.32 158.08,509.48 160.86,509.65 163.65,509.81 166.43,509.97 169.21,510.13 171.99,510.28 174.78,510.44 177.56,510.59 180.34,510.73 183.12,510.88 185.91,511.02 188.69,511.16 191.47,511.30 194.25,511.44 197.04,511.57 199.82,511.70 202.60,511.83 205.38,511.96 208.17,512.09 210.95,512.21 213.73,512.33 216.51,512.45 219.30,512.57 222.08,512.69 224.86,512.80 227.64,512.92 230.43,513.03 233.21,513.14 235.99,513.24 238.77,513.35 241.56,513.45 244.34,513.56 247.12,513.66 249.90,513.76 252.69,513.85 255.47,513.95 258.25,514.04 261.03,514.14 263.82,514.23 266.60,514.32 269.38,514.41 272.16,514.49 274.95,514.58 277.73,514.66 280.51,514.75 283.29,514.83 286.08,514.91 288.86,514.99 291.64,515.07 294.42,515.14 297.21,515.22 299.99,515.29 302.77,515.37 305.55,515.44 308.34,515.51 311.12,515.58 313.90,515.65 316.68,515.72 319.47,515.78 322.25,515.85 325.03,515.91 327.81,515.98 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzOTguNTU=)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='323.02' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='73.95px' lengthAdjust='spacingAndGlyphs'>aerobic aquatic</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='136.98' y='390.76' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.31px' lengthAdjust='spacingAndGlyphs'>DFOP</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='160.30' y='390.76' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='162.39' y='390.76' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='166.30' y='386.55' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='169.56' y='390.76' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='171.66' y='390.76' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='210.92' y='390.76' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='219.38' y='390.76' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>3.39%</text></g>
+<defs>
+ <clipPath id='cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1'>
+ <rect x='401.33' y='398.55' width='297.50' height='126.04' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='412.35' y1='524.59' x2='695.08' y2='524.59' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='412.35' y1='524.59' x2='412.35' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='452.74' y1='524.59' x2='452.74' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='493.13' y1='524.59' x2='493.13' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='533.52' y1='524.59' x2='533.52' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='573.91' y1='524.59' x2='573.91' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='614.30' y1='524.59' x2='614.30' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='654.69' y1='524.59' x2='654.69' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='695.08' y1='524.59' x2='695.08' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='448.07' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='488.46' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='528.85' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='569.24' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='607.29' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='647.68' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='688.08' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>140</text></g>
+<line x1='401.33' y1='523.41' x2='401.33' y2='399.73' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='523.41' x2='396.29' y2='523.41' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='502.80' x2='396.29' y2='502.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='482.18' x2='396.29' y2='482.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='461.57' x2='396.29' y2='461.57' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='440.96' x2='396.29' y2='440.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='420.34' x2='396.29' y2='420.34' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='401.33' y1='399.73' x2='396.29' y2='399.73' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,527.15) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-3</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,506.53) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,485.92) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-1</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,463.91) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,443.29) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>1</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,422.68) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,402.06) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>3</text></g>
+<polyline points='401.33,524.59 698.83,524.59 698.83,398.55 401.33,398.55 401.33,524.59 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8Mzc3LjM4'>
+ <rect x='360.00' y='377.38' width='360.00' height='198.62' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8Mzc3LjM4)'><text x='540.92' y='562.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8Mzc3LjM4)'><text transform='translate(369.07,477.91) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g>
+<defs>
+ <clipPath id='cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1'>
+ <rect x='401.33' y='398.55' width='297.50' height='126.04' />
+ </clipPath>
+</defs>
+<circle cx='412.35' cy='447.25' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='412.35' cy='476.11' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='420.42' cy='507.77' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='420.42' cy='412.94' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='428.50' cy='457.67' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='428.50' cy='472.10' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='454.76' cy='459.18' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='454.76' cy='444.75' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='533.52' cy='465.75' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='533.52' cy='498.73' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='594.11' cy='456.04' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='594.11' cy='451.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='662.77' cy='448.62' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<circle cx='662.77' cy='456.87' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<line x1='401.33' y1='461.57' x2='698.83' y2='461.57' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8Mzk4LjU1)' />
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='520.53' y='392.50' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='59.09px' lengthAdjust='spacingAndGlyphs'>DFOP residuals</text></g>
+<defs>
+ <clipPath id='cpNTkuMDR8Njg5Ljc2fDUwMi41Nnw1OS4wNA=='>
+ <rect x='59.04' y='59.04' width='630.72' height='443.52' />
+ </clipPath>
+</defs>
+</svg>
diff --git a/tests/figs/plotting/mkinparplot-for-focus-c-sfo.svg b/tests/figs/plotting/mkinparplot-for-focus-c-sfo.svg
new file mode 100644
index 00000000..c6a19428
--- /dev/null
+++ b/tests/figs/plotting/mkinparplot-for-focus-c-sfo.svg
@@ -0,0 +1,85 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 720.00 576.00'>
+<defs>
+ <style type='text/css'><![CDATA[
+ line, polyline, polygon, path, rect, circle {
+ fill: none;
+ stroke: #000000;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10.00;
+ }
+ ]]></style>
+</defs>
+<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
+<polyline points='30.24,257.76 689.76,257.76 689.76,1.44 30.24,1.44 30.24,257.76 ' style='stroke-width: 0.75;' />
+<line x1='54.67' y1='257.76' x2='576.04' y2='257.76' style='stroke-width: 0.75;' />
+<line x1='54.67' y1='257.76' x2='54.67' y2='264.96' style='stroke-width: 0.75;' />
+<line x1='185.01' y1='257.76' x2='185.01' y2='264.96' style='stroke-width: 0.75;' />
+<line x1='315.35' y1='257.76' x2='315.35' y2='264.96' style='stroke-width: 0.75;' />
+<line x1='445.70' y1='257.76' x2='445.70' y2='264.96' style='stroke-width: 0.75;' />
+<line x1='576.04' y1='257.76' x2='576.04' y2='264.96' style='stroke-width: 0.75;' />
+<text x='51.33' y='283.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text x='178.34' y='283.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text x='308.68' y='283.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text x='439.03' y='283.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text>
+<text x='569.37' y='283.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8Mjg4LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='288.00' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMzAuMjR8Njg5Ljc2fDI1Ny43NnwxLjQ0'>
+ <rect x='30.24' y='1.44' width='659.52' height='256.32' />
+ </clipPath>
+</defs>
+<rect x='589.58' y='126.90' width='5.40' height='5.40' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDI1Ny43NnwxLjQ0)' />
+<g clip-path='url(#cpMzAuMjR8Njg5Ljc2fDI1Ny43NnwxLjQ0)'><text x='61.87' y='132.35' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='47.36px' lengthAdjust='spacingAndGlyphs'>parent_0</text></g>
+<line x1='519.23' y1='129.60' x2='665.33' y2='129.60' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDI1Ny43NnwxLjQ0)' />
+<polyline points='519.23,126.00 519.23,129.60 519.23,133.20 ' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDI1Ny43NnwxLjQ0)' />
+<polyline points='665.33,133.20 665.33,129.60 665.33,126.00 ' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDI1Ny43NnwxLjQ0)' />
+<defs>
+ <clipPath id='cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ='>
+ <rect x='30.24' y='289.44' width='659.52' height='256.32' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<polyline points='30.24,545.76 689.76,545.76 689.76,289.44 30.24,289.44 30.24,545.76 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='54.67' y1='545.76' x2='614.49' y2='545.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='54.67' y1='545.76' x2='54.67' y2='552.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='194.62' y1='545.76' x2='194.62' y2='552.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='334.58' y1='545.76' x2='334.58' y2='552.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='474.53' y1='545.76' x2='474.53' y2='552.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='614.49' y1='545.76' x2='614.49' y2='552.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='46.33' y='571.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>0.0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='186.29' y='571.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>0.1</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='326.24' y='571.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>0.2</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='466.20' y='571.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>0.3</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='606.15' y='571.68' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>0.4</text></g>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDI4OC4wMA=='>
+ <rect x='0.00' y='288.00' width='720.00' height='288.00' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ='>
+ <rect x='30.24' y='289.44' width='659.52' height='256.32' />
+ </clipPath>
+</defs>
+<rect x='480.32' y='414.90' width='5.40' height='5.40' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ=)' />
+<line x1='54.67' y1='545.76' x2='54.67' y2='289.44' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ=)' />
+<g clip-path='url(#cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ=)'><text x='61.87' y='420.35' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='74.70px' lengthAdjust='spacingAndGlyphs'>k_parent_sink</text></g>
+<line x1='355.13' y1='417.60' x2='665.33' y2='417.60' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ=)' />
+<polyline points='355.13,414.00 355.13,417.60 355.13,421.20 ' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ=)' />
+<polyline points='665.33,421.20 665.33,417.60 665.33,414.00 ' style='stroke-width: 0.75;' clip-path='url(#cpMzAuMjR8Njg5Ljc2fDU0NS43NnwyODkuNDQ=)' />
+<defs>
+ <clipPath id='cpNTkuMDR8Njg5Ljc2fDUwMi41Nnw1OS4wNA=='>
+ <rect x='59.04' y='59.04' width='630.72' height='443.52' />
+ </clipPath>
+</defs>
+</svg>
diff --git a/tests/testthat/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf
index d695e90d..22c5f2b4 100644
--- a/tests/testthat/FOCUS_2006_D.csf
+++ b/tests/testthat/FOCUS_2006_D.csf
@@ -5,7 +5,7 @@ Description:
MeasurementUnits: % AR
TimeUnits: days
Comments: Created using mkin::CAKE_export
-Date: 2019-02-25
+Date: 2019-02-26
Optimiser: IRLS
[Data]
diff --git a/tests/testthat/NAFTA_SOP_Appendix_B.txt b/tests/testthat/NAFTA_SOP_Appendix_B.txt
new file mode 100644
index 00000000..54b70880
--- /dev/null
+++ b/tests/testthat/NAFTA_SOP_Appendix_B.txt
@@ -0,0 +1,35 @@
+Sums of squares:
+ SFO IORE DFOP
+174.39718 21.91831 16.57180
+
+Critical sum of squares for checking the SFO model:
+[1] 26.93798
+
+Parameters:
+$SFO
+ Estimate Pr(>t) Lower Upper
+parent_0 51.2430312 1.178492e-10 45.4036817 57.0823806
+k_parent_sink 0.2531291 1.608492e-06 0.1935733 0.3310082
+
+$IORE
+ Estimate Pr(>t) Lower Upper
+parent_0 51.71052958 8.522722e-15 4.951371e+01 53.907348315
+k__iore_parent_sink 0.00134836 6.841092e-02 3.421381e-04 0.005313861
+N_parent 2.66146927 3.975823e-08 2.191012e+00 3.131926902
+
+$DFOP
+ Estimate Pr(>t) Lower Upper
+parent_0 51.70546719 3.457982e-14 49.677926850 53.73300753
+k1 0.41569648 1.002119e-06 0.330769606 0.52242879
+k2 0.01273299 1.393989e-03 0.007230162 0.02242399
+g 0.83380396 5.718367e-12 0.771816175 0.88153694
+
+
+DTx values:
+ DT50 DT90 DT50_rep
+SFO 3 9 3
+IORE 1 28 9
+DFOP 2 40 54
+
+Representative half-life:
+[1] 8.573301
diff --git a/tests/testthat/print_nafta_analysis.txt b/tests/testthat/NAFTA_SOP_Appendix_D.txt
index 61d2539f..d01accf2 100644
--- a/tests/testthat/print_nafta_analysis.txt
+++ b/tests/testthat/NAFTA_SOP_Appendix_D.txt
@@ -1,6 +1,8 @@
Sums of squares:
SFO IORE DFOP
1378.6832 615.7730 517.8836
+
+Critical sum of squares for checking the SFO model:
[1] 717.4598
Parameters:
diff --git a/tests/testthat/test_CAKE_export.R b/tests/testthat/test_CAKE_export.R
index aeb192c8..5f984782 100644
--- a/tests/testthat/test_CAKE_export.R
+++ b/tests/testthat/test_CAKE_export.R
@@ -27,25 +27,3 @@ test_that("Exporting is reproducible", {
csf <- readLines(con = "FOCUS_2006_D.csf")
expect_known_output(csf, "FOCUS_2006_D.txt")
})
-
-test_that("Test data from Appendix D are correctly evaluated", {
- expect_message(res <- nafta(MRID_555555, "MRID 555555"))
-
- # From Figure D.1
- dtx_sop <- matrix(c(407, 541, 429, 1352, 5192066, 2383), nrow = 3, ncol = 2)
- expect_equivalent(res$distimes[, 1:2], dtx_sop, tolerance = 1,
- scale = 1)
-
- C0_sop <- c(SFO = 83.8, IORE = 96.9, DFOP = 97.6)
- C0_mkin <- sapply(res$parameters, function(x) x["parent_0", "Estimate"])
- expect_equivalent(C0_mkin, C0_sop, scale = 1, tolerance = 0.1)
-
- expect_equal(round(res$S_c), 717)
- expect_equal(signif(res$S[["SFO"]], 3), 1.38e+3)
- expect_equal(round(res$t_rep), 841)
-
- expect_known_output(print(res), "print_nafta_analysis.txt")
-
- plot_nafta <- function() plot(res)
- vdiffr::expect_doppelganger("Plot NAFTA analysis", plot_nafta)
-})
diff --git a/tests/testthat/test_nafta.R b/tests/testthat/test_nafta.R
index 10de3ce0..a50d8f36 100644
--- a/tests/testthat/test_nafta.R
+++ b/tests/testthat/test_nafta.R
@@ -21,13 +21,33 @@ context("Evaluations according to 2015 NAFTA guidance")
test_that("Data for more than one compound are rejected",
expect_error(nafta(FOCUS_2006_D)))
+test_that("Test data from Appendix B are correctly evaluated", {
+ expect_message(res <- nafta(NAFTA_SOP_Appendix_B, "aerobic aquatic"))
+
+ # From Figure D.1
+ dtx_sop <- matrix(c(2.74, 1.37, 2.17, 9.1, 28.5, 39.9), nrow = 3, ncol = 2)
+ expect_equivalent(signif(res$distimes[, 1:2], 3), dtx_sop)
+
+ C0_sop <- c(SFO = 51.2, IORE = 51.7, DFOP = 51.7)
+ C0_mkin <- sapply(res$parameters, function(x) x["parent_0", "Estimate"])
+ expect_equivalent(C0_mkin, C0_sop, scale = 1, tolerance = 0.1)
+
+ expect_equal(signif(res$S_c, 3), 26.9)
+ expect_equal(signif(res$S[["SFO"]], 3), 174)
+ expect_equal(signif(res$t_rep, 3), 8.57)
+
+ expect_known_output(print(res), "NAFTA_SOP_Appendix_B.txt")
+
+ plot_nafta <- function() plot(res)
+ vdiffr::expect_doppelganger("NAFTA SOP Appendix B", plot_nafta)
+})
+
test_that("Test data from Appendix D are correctly evaluated", {
- expect_message(res <- nafta(MRID_555555, "MRID 555555"))
+ expect_message(res <- nafta(NAFTA_SOP_Appendix_D, "MRID 555555"))
# From Figure D.1
dtx_sop <- matrix(c(407, 541, 429, 1352, 5192066, 2383), nrow = 3, ncol = 2)
- expect_equivalent(res$distimes[, 1:2], dtx_sop, tolerance = 1,
- scale = 1)
+ expect_equivalent(round(res$distimes[, 1:2]), dtx_sop)
C0_sop <- c(SFO = 83.8, IORE = 96.9, DFOP = 97.6)
C0_mkin <- sapply(res$parameters, function(x) x["parent_0", "Estimate"])
@@ -37,7 +57,7 @@ test_that("Test data from Appendix D are correctly evaluated", {
expect_equal(signif(res$S[["SFO"]], 3), 1.38e+3)
expect_equal(round(res$t_rep), 841)
- expect_known_output(print(res), "print_nafta_analysis.txt")
+ expect_known_output(print(res), "NAFTA_SOP_Appendix_D.txt")
plot_nafta <- function() plot(res)
vdiffr::expect_doppelganger("Plot NAFTA analysis", plot_nafta)

Contact - Imprint