diff options
| author | Johannes Ranke <jranke@uni-bremen.de> | 2019-02-26 09:12:50 +0100 | 
|---|---|---|
| committer | Johannes Ranke <jranke@uni-bremen.de> | 2019-02-26 09:12:50 +0100 | 
| commit | 6693ee373c61d716e877386d6be16e3f9f0f40ab (patch) | |
| tree | 7e1e8607c96b459878ca81e9b183795399aeb516 | |
| parent | 885ea2cd3392e57efff72e5094643917d6ba2be8 (diff) | |
Add another NAFTA dataset + test
| -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.rdaBinary files differ deleted 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.rdaBinary files differ new 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) | 
