diff options
-rw-r--r-- | R/nafta.R | 3 | ||||
-rw-r--r-- | build.log | 1 | ||||
-rw-r--r-- | data/NAFTA_2015.rda | bin | 264 -> 0 bytes | |||
-rw-r--r-- | data/NAFTA_SOP_2015.rda | bin | 0 -> 390 bytes | |||
-rw-r--r-- | man/NAFTA_SOP_2015.Rd (renamed from man/NAFTA_2015_datasets.Rd) | 15 | ||||
-rw-r--r-- | man/nafta.Rd | 2 | ||||
-rw-r--r-- | test.log | 43 | ||||
-rw-r--r-- | tests/figs/evaluations-according-to-2015-nafta-guidance/nafta-sop-appendix-b.svg | 462 | ||||
-rw-r--r-- | tests/figs/plotting/mkinparplot-for-focus-c-sfo.svg | 85 | ||||
-rw-r--r-- | tests/testthat/FOCUS_2006_D.csf | 2 | ||||
-rw-r--r-- | tests/testthat/NAFTA_SOP_Appendix_B.txt | 35 | ||||
-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.R | 22 | ||||
-rw-r--r-- | tests/testthat/test_nafta.R | 28 |
14 files changed, 647 insertions, 53 deletions
@@ -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) @@ -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 Binary files differdeleted file mode 100644 index 48183048..00000000 --- a/data/NAFTA_2015.rda +++ /dev/null diff --git a/data/NAFTA_SOP_2015.rda b/data/NAFTA_SOP_2015.rda Binary files differnew file mode 100644 index 00000000..eb7ce63f --- /dev/null +++ b/data/NAFTA_SOP_2015.rda 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) } @@ -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) |