aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJohannes Ranke <johannes.ranke@jrwb.de>2025-02-14 07:19:15 +0100
committerJohannes Ranke <johannes.ranke@jrwb.de>2025-02-14 07:19:15 +0100
commitb0f08271d1dae8ffaf57f557c27eba1314ece1d5 (patch)
tree98da899d455d6945849d6f4b4e98adfb98dc8b2b /tests
parent7dc59c522d0639f6473463340e518e2e8074e364 (diff)
parent55d9c2331e468efd364472555dbfae84603a4f73 (diff)
Merge branch 'main' into dev
Diffstat (limited to 'tests')
-rw-r--r--tests/testthat/Rplots.pdfbin0 -> 3611 bytes
-rw-r--r--tests/testthat/_snaps/multistart/parplot-for-dfop-sfo-fit.svg339
-rw-r--r--tests/testthat/print_dfop_saem_1.txt2
-rw-r--r--tests/testthat/summary_hfit_sfo_tc.txt4
-rw-r--r--tests/testthat/summary_saem_dfop_sfo_s.txt2
-rw-r--r--tests/testthat/test_mixed.R2
-rw-r--r--tests/testthat/test_multistart.R9
-rw-r--r--tests/testthat/test_saemix_parent.R27
-rw-r--r--tests/testthat/test_water-sediment.R17
9 files changed, 228 insertions, 174 deletions
diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf
new file mode 100644
index 00000000..2638aff8
--- /dev/null
+++ b/tests/testthat/Rplots.pdf
Binary files differ
diff --git a/tests/testthat/_snaps/multistart/parplot-for-dfop-sfo-fit.svg b/tests/testthat/_snaps/multistart/parplot-for-dfop-sfo-fit.svg
index ed9168fb..c733f84f 100644
--- a/tests/testthat/_snaps/multistart/parplot-for-dfop-sfo-fit.svg
+++ b/tests/testthat/_snaps/multistart/parplot-for-dfop-sfo-fit.svg
@@ -20,177 +20,182 @@
<g clip-path='url(#cpMC4wMHw3MjAuMDB8MC4wMHw1NzYuMDA=)'>
</g>
<defs>
- <clipPath id='cpNTkuMDR8Njg5Ljc2fDU5LjA0fDUwMi41Ng=='>
- <rect x='59.04' y='59.04' width='630.72' height='443.52' />
+ <clipPath id='cpNTkuMDR8Njg5Ljc2fDMwLjI0fDQzMC41Ng=='>
+ <rect x='59.04' y='30.24' width='630.72' height='400.32' />
</clipPath>
</defs>
-<g clip-path='url(#cpNTkuMDR8Njg5Ljc2fDU5LjA0fDUwMi41Ng==)'>
-<polygon points='86.57,280.78 119.94,280.78 119.94,280.26 86.57,280.26 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='86.57' y1='280.70' x2='119.94' y2='280.70' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='103.26' y1='280.80' x2='103.26' y2='280.78' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='103.26' y1='279.89' x2='103.26' y2='280.26' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='94.91' y1='280.80' x2='111.60' y2='280.80' style='stroke-width: 0.75;' />
-<line x1='94.91' y1='279.89' x2='111.60' y2='279.89' style='stroke-width: 0.75;' />
-<polygon points='86.57,280.78 119.94,280.78 119.94,280.26 86.57,280.26 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='128.29,282.92 161.66,282.92 161.66,281.57 128.29,281.57 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='128.29' y1='282.61' x2='161.66' y2='282.61' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='144.97' y1='282.96' x2='144.97' y2='282.92' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='144.97' y1='280.80' x2='144.97' y2='281.57' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='136.63' y1='282.96' x2='153.31' y2='282.96' style='stroke-width: 0.75;' />
-<line x1='136.63' y1='280.80' x2='153.31' y2='280.80' style='stroke-width: 0.75;' />
-<polygon points='128.29,282.92 161.66,282.92 161.66,281.57 128.29,281.57 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='170.00,282.03 203.37,282.03 203.37,281.10 170.00,281.10 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='170.00' y1='281.44' x2='203.37' y2='281.44' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='186.69' y1='282.58' x2='186.69' y2='282.03' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='186.69' y1='280.80' x2='186.69' y2='281.10' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='178.34' y1='282.58' x2='195.03' y2='282.58' style='stroke-width: 0.75;' />
-<line x1='178.34' y1='280.80' x2='195.03' y2='280.80' style='stroke-width: 0.75;' />
-<polygon points='170.00,282.03 203.37,282.03 203.37,281.10 170.00,281.10 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='211.71,281.58 245.09,281.58 245.09,280.01 211.71,280.01 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='211.71' y1='281.14' x2='245.09' y2='281.14' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='228.40' y1='281.69' x2='228.40' y2='281.58' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='228.40' y1='279.21' x2='228.40' y2='280.01' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='220.06' y1='281.69' x2='236.74' y2='281.69' style='stroke-width: 0.75;' />
-<line x1='220.06' y1='279.21' x2='236.74' y2='279.21' style='stroke-width: 0.75;' />
-<polygon points='211.71,281.58 245.09,281.58 245.09,280.01 211.71,280.01 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='253.43,281.87 286.80,281.87 286.80,280.63 253.43,280.63 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='253.43' y1='281.30' x2='286.80' y2='281.30' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='270.11' y1='281.93' x2='270.11' y2='281.87' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='270.11' y1='280.47' x2='270.11' y2='280.63' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='261.77' y1='281.93' x2='278.46' y2='281.93' style='stroke-width: 0.75;' />
-<line x1='261.77' y1='280.47' x2='278.46' y2='280.47' style='stroke-width: 0.75;' />
-<polygon points='253.43,281.87 286.80,281.87 286.80,280.63 253.43,280.63 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='295.14,281.17 328.51,281.17 328.51,278.48 295.14,278.48 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='295.14' y1='280.00' x2='328.51' y2='280.00' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='311.83' y1='281.54' x2='311.83' y2='281.17' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='311.83' y1='277.75' x2='311.83' y2='278.48' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='303.49' y1='281.54' x2='320.17' y2='281.54' style='stroke-width: 0.75;' />
-<line x1='303.49' y1='277.75' x2='320.17' y2='277.75' style='stroke-width: 0.75;' />
-<polygon points='295.14,281.17 328.51,281.17 328.51,278.48 295.14,278.48 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='336.86,282.43 370.23,282.43 370.23,280.88 336.86,280.88 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='336.86' y1='281.56' x2='370.23' y2='281.56' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='353.54' y1='282.69' x2='353.54' y2='282.43' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='353.54' y1='280.80' x2='353.54' y2='280.88' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='345.20' y1='282.69' x2='361.89' y2='282.69' style='stroke-width: 0.75;' />
-<line x1='345.20' y1='280.80' x2='361.89' y2='280.80' style='stroke-width: 0.75;' />
-<polygon points='336.86,282.43 370.23,282.43 370.23,280.88 336.86,280.88 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='378.57,280.97 411.94,280.97 411.94,280.81 378.57,280.81 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='378.57' y1='280.83' x2='411.94' y2='280.83' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='395.26' y1='281.09' x2='395.26' y2='280.97' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='395.26' y1='280.80' x2='395.26' y2='280.81' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='386.91' y1='281.09' x2='403.60' y2='281.09' style='stroke-width: 0.75;' />
-<line x1='386.91' y1='280.80' x2='403.60' y2='280.80' style='stroke-width: 0.75;' />
-<polygon points='378.57,280.97 411.94,280.97 411.94,280.81 378.57,280.81 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='420.29,409.00 453.66,409.00 453.66,-143.74 420.29,-143.74 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='420.29' y1='40.61' x2='453.66' y2='40.61' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='436.97' y1='640.00' x2='436.97' y2='409.00' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='436.97' y1='-189.02' x2='436.97' y2='-143.74' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='428.63' y1='640.00' x2='445.31' y2='640.00' style='stroke-width: 0.75;' />
-<line x1='428.63' y1='-189.02' x2='445.31' y2='-189.02' style='stroke-width: 0.75;' />
-<polygon points='420.29,409.00 453.66,409.00 453.66,-143.74 420.29,-143.74 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='462.00,279.09 495.37,279.09 495.37,274.52 462.00,274.52 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='462.00' y1='277.09' x2='495.37' y2='277.09' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='478.69' y1='280.80' x2='478.69' y2='279.09' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='478.69' y1='272.26' x2='478.69' y2='274.52' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='470.34' y1='280.80' x2='487.03' y2='280.80' style='stroke-width: 0.75;' />
-<line x1='470.34' y1='272.26' x2='487.03' y2='272.26' style='stroke-width: 0.75;' />
-<polygon points='462.00,279.09 495.37,279.09 495.37,274.52 462.00,274.52 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='503.71,282.68 537.09,282.68 537.09,281.44 503.71,281.44 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='503.71' y1='282.32' x2='537.09' y2='282.32' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='520.40' y1='282.78' x2='520.40' y2='282.68' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='520.40' y1='280.80' x2='520.40' y2='281.44' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='512.06' y1='282.78' x2='528.74' y2='282.78' style='stroke-width: 0.75;' />
-<line x1='512.06' y1='280.80' x2='528.74' y2='280.80' style='stroke-width: 0.75;' />
-<polygon points='503.71,282.68 537.09,282.68 537.09,281.44 503.71,281.44 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='545.43,282.11 578.80,282.11 578.80,277.47 545.43,277.47 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='545.43' y1='279.88' x2='578.80' y2='279.88' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='562.11' y1='283.43' x2='562.11' y2='282.11' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='562.11' y1='275.97' x2='562.11' y2='277.47' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='553.77' y1='283.43' x2='570.46' y2='283.43' style='stroke-width: 0.75;' />
-<line x1='553.77' y1='275.97' x2='570.46' y2='275.97' style='stroke-width: 0.75;' />
-<polygon points='545.43,282.11 578.80,282.11 578.80,277.47 545.43,277.47 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='587.14,282.38 620.51,282.38 620.51,279.47 587.14,279.47 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='587.14' y1='281.36' x2='620.51' y2='281.36' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='603.83' y1='282.85' x2='603.83' y2='282.38' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='603.83' y1='278.14' x2='603.83' y2='279.47' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='595.49' y1='282.85' x2='612.17' y2='282.85' style='stroke-width: 0.75;' />
-<line x1='595.49' y1='278.14' x2='612.17' y2='278.14' style='stroke-width: 0.75;' />
-<polygon points='587.14,282.38 620.51,282.38 620.51,279.47 587.14,279.47 ' style='stroke-width: 0.75; fill: none;' />
-<polygon points='628.86,296.96 662.23,296.96 662.23,282.03 628.86,282.03 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
-<line x1='628.86' y1='289.88' x2='662.23' y2='289.88' style='stroke-width: 2.25; stroke-linecap: butt;' />
-<line x1='645.54' y1='297.26' x2='645.54' y2='296.96' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='645.54' y1='280.80' x2='645.54' y2='282.03' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='637.20' y1='297.26' x2='653.89' y2='297.26' style='stroke-width: 0.75;' />
-<line x1='637.20' y1='280.80' x2='653.89' y2='280.80' style='stroke-width: 0.75;' />
-<polygon points='628.86,296.96 662.23,296.96 662.23,282.03 628.86,282.03 ' style='stroke-width: 0.75; fill: none;' />
+<g clip-path='url(#cpNTkuMDR8Njg5Ljc2fDMwLjI0fDQzMC41Ng==)'>
+<polygon points='86.57,230.39 119.94,230.39 119.94,229.91 86.57,229.91 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='86.57' y1='230.31' x2='119.94' y2='230.31' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='103.26' y1='230.40' x2='103.26' y2='230.39' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='103.26' y1='229.58' x2='103.26' y2='229.91' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='94.91' y1='230.40' x2='111.60' y2='230.40' style='stroke-width: 0.75;' />
+<line x1='94.91' y1='229.58' x2='111.60' y2='229.58' style='stroke-width: 0.75;' />
+<polygon points='86.57,230.39 119.94,230.39 119.94,229.91 86.57,229.91 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='128.29,232.31 161.66,232.31 161.66,231.10 128.29,231.10 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='128.29' y1='232.04' x2='161.66' y2='232.04' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='144.97' y1='232.35' x2='144.97' y2='232.31' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='144.97' y1='230.40' x2='144.97' y2='231.10' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='136.63' y1='232.35' x2='153.31' y2='232.35' style='stroke-width: 0.75;' />
+<line x1='136.63' y1='230.40' x2='153.31' y2='230.40' style='stroke-width: 0.75;' />
+<polygon points='128.29,232.31 161.66,232.31 161.66,231.10 128.29,231.10 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='170.00,231.51 203.37,231.51 203.37,230.67 170.00,230.67 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='170.00' y1='230.98' x2='203.37' y2='230.98' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='186.69' y1='232.01' x2='186.69' y2='231.51' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='186.69' y1='230.40' x2='186.69' y2='230.67' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='178.34' y1='232.01' x2='195.03' y2='232.01' style='stroke-width: 0.75;' />
+<line x1='178.34' y1='230.40' x2='195.03' y2='230.40' style='stroke-width: 0.75;' />
+<polygon points='170.00,231.51 203.37,231.51 203.37,230.67 170.00,230.67 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='211.71,231.11 245.09,231.11 245.09,229.68 211.71,229.68 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='211.71' y1='230.71' x2='245.09' y2='230.71' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='228.40' y1='231.20' x2='228.40' y2='231.11' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='228.40' y1='228.97' x2='228.40' y2='229.68' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='220.06' y1='231.20' x2='236.74' y2='231.20' style='stroke-width: 0.75;' />
+<line x1='220.06' y1='228.97' x2='236.74' y2='228.97' style='stroke-width: 0.75;' />
+<polygon points='211.71,231.11 245.09,231.11 245.09,229.68 211.71,229.68 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='253.43,231.37 286.80,231.37 286.80,230.25 253.43,230.25 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='253.43' y1='230.85' x2='286.80' y2='230.85' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='270.11' y1='231.42' x2='270.11' y2='231.37' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='270.11' y1='230.10' x2='270.11' y2='230.25' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='261.77' y1='231.42' x2='278.46' y2='231.42' style='stroke-width: 0.75;' />
+<line x1='261.77' y1='230.10' x2='278.46' y2='230.10' style='stroke-width: 0.75;' />
+<polygon points='253.43,231.37 286.80,231.37 286.80,230.25 253.43,230.25 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='295.14,230.73 328.51,230.73 328.51,228.30 295.14,228.30 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='295.14' y1='229.68' x2='328.51' y2='229.68' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='311.83' y1='231.07' x2='311.83' y2='230.73' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='311.83' y1='227.65' x2='311.83' y2='228.30' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='303.49' y1='231.07' x2='320.17' y2='231.07' style='stroke-width: 0.75;' />
+<line x1='303.49' y1='227.65' x2='320.17' y2='227.65' style='stroke-width: 0.75;' />
+<polygon points='295.14,230.73 328.51,230.73 328.51,228.30 295.14,228.30 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='336.86,231.87 370.23,231.87 370.23,230.47 336.86,230.47 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='336.86' y1='231.08' x2='370.23' y2='231.08' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='353.54' y1='232.11' x2='353.54' y2='231.87' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='353.54' y1='230.40' x2='353.54' y2='230.47' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='345.20' y1='232.11' x2='361.89' y2='232.11' style='stroke-width: 0.75;' />
+<line x1='345.20' y1='230.40' x2='361.89' y2='230.40' style='stroke-width: 0.75;' />
+<polygon points='336.86,231.87 370.23,231.87 370.23,230.47 336.86,230.47 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='378.57,230.55 411.94,230.55 411.94,230.41 378.57,230.41 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='378.57' y1='230.43' x2='411.94' y2='230.43' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='395.26' y1='230.66' x2='395.26' y2='230.55' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='395.26' y1='230.40' x2='395.26' y2='230.41' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='386.91' y1='230.66' x2='403.60' y2='230.66' style='stroke-width: 0.75;' />
+<line x1='386.91' y1='230.40' x2='403.60' y2='230.40' style='stroke-width: 0.75;' />
+<polygon points='378.57,230.55 411.94,230.55 411.94,230.41 378.57,230.41 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='420.29,346.11 453.66,346.11 453.66,-152.79 420.29,-152.79 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='420.29' y1='13.60' x2='453.66' y2='13.60' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='436.97' y1='554.61' x2='436.97' y2='346.11' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='436.97' y1='-193.66' x2='436.97' y2='-152.79' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='428.63' y1='554.61' x2='445.31' y2='554.61' style='stroke-width: 0.75;' />
+<line x1='428.63' y1='-193.66' x2='445.31' y2='-193.66' style='stroke-width: 0.75;' />
+<polygon points='420.29,346.11 453.66,346.11 453.66,-152.79 420.29,-152.79 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='462.00,228.86 495.37,228.86 495.37,224.73 462.00,224.73 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='462.00' y1='227.05' x2='495.37' y2='227.05' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='478.69' y1='230.40' x2='478.69' y2='228.86' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='478.69' y1='222.69' x2='478.69' y2='224.73' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='470.34' y1='230.40' x2='487.03' y2='230.40' style='stroke-width: 0.75;' />
+<line x1='470.34' y1='222.69' x2='487.03' y2='222.69' style='stroke-width: 0.75;' />
+<polygon points='462.00,228.86 495.37,228.86 495.37,224.73 462.00,224.73 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='503.71,232.09 537.09,232.09 537.09,230.98 503.71,230.98 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='503.71' y1='231.78' x2='537.09' y2='231.78' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='520.40' y1='232.19' x2='520.40' y2='232.09' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='520.40' y1='230.40' x2='520.40' y2='230.98' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='512.06' y1='232.19' x2='528.74' y2='232.19' style='stroke-width: 0.75;' />
+<line x1='512.06' y1='230.40' x2='528.74' y2='230.40' style='stroke-width: 0.75;' />
+<polygon points='503.71,232.09 537.09,232.09 537.09,230.98 503.71,230.98 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='545.43,231.58 578.80,231.58 578.80,227.39 545.43,227.39 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='545.43' y1='229.57' x2='578.80' y2='229.57' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='562.11' y1='232.77' x2='562.11' y2='231.58' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='562.11' y1='226.04' x2='562.11' y2='227.39' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='553.77' y1='232.77' x2='570.46' y2='232.77' style='stroke-width: 0.75;' />
+<line x1='553.77' y1='226.04' x2='570.46' y2='226.04' style='stroke-width: 0.75;' />
+<polygon points='545.43,231.58 578.80,231.58 578.80,227.39 545.43,227.39 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='587.14,231.83 620.51,231.83 620.51,229.20 587.14,229.20 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='587.14' y1='230.91' x2='620.51' y2='230.91' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='603.83' y1='232.25' x2='603.83' y2='231.83' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='603.83' y1='228.00' x2='603.83' y2='229.20' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='595.49' y1='232.25' x2='612.17' y2='232.25' style='stroke-width: 0.75;' />
+<line x1='595.49' y1='228.00' x2='612.17' y2='228.00' style='stroke-width: 0.75;' />
+<polygon points='587.14,231.83 620.51,231.83 620.51,229.20 587.14,229.20 ' style='stroke-width: 0.75; fill: none;' />
+<polygon points='628.86,244.99 662.23,244.99 662.23,231.51 628.86,231.51 ' style='stroke-width: 0.75; stroke: none; fill: #D3D3D3;' />
+<line x1='628.86' y1='238.60' x2='662.23' y2='238.60' style='stroke-width: 2.25; stroke-linecap: butt;' />
+<line x1='645.54' y1='245.26' x2='645.54' y2='244.99' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='645.54' y1='230.40' x2='645.54' y2='231.51' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='637.20' y1='245.26' x2='653.89' y2='245.26' style='stroke-width: 0.75;' />
+<line x1='637.20' y1='230.40' x2='653.89' y2='230.40' style='stroke-width: 0.75;' />
+<polygon points='628.86,244.99 662.23,244.99 662.23,231.51 628.86,231.51 ' style='stroke-width: 0.75; fill: none;' />
</g>
<g clip-path='url(#cpMC4wMHw3MjAuMDB8MC4wMHw1NzYuMDA=)'>
-<line x1='103.26' y1='502.56' x2='645.54' y2='502.56' style='stroke-width: 0.75;' />
-<line x1='103.26' y1='502.56' x2='103.26' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='144.97' y1='502.56' x2='144.97' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='186.69' y1='502.56' x2='186.69' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='228.40' y1='502.56' x2='228.40' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='270.11' y1='502.56' x2='270.11' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='311.83' y1='502.56' x2='311.83' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='353.54' y1='502.56' x2='353.54' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='395.26' y1='502.56' x2='395.26' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='436.97' y1='502.56' x2='436.97' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='478.69' y1='502.56' x2='478.69' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='520.40' y1='502.56' x2='520.40' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='562.11' y1='502.56' x2='562.11' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='603.83' y1='502.56' x2='603.83' y2='509.76' style='stroke-width: 0.75;' />
-<line x1='645.54' y1='502.56' x2='645.54' y2='509.76' style='stroke-width: 0.75;' />
-<text x='103.26' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='47.38px' lengthAdjust='spacingAndGlyphs'>parent_0</text>
-<text x='186.69' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='84.07px' lengthAdjust='spacingAndGlyphs'>f_parent_to_m1</text>
-<text x='270.11' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='12.68px' lengthAdjust='spacingAndGlyphs'>k2</text>
-<text x='311.83' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>g</text>
-<text x='353.54' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>a.1</text>
-<text x='395.26' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>b.1</text>
-<text x='478.69' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='72.05px' lengthAdjust='spacingAndGlyphs'>SD.log_k_m1</text>
-<text x='562.11' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='55.38px' lengthAdjust='spacingAndGlyphs'>SD.log_k1</text>
-<text x='645.54' y='528.48' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='64.71px' lengthAdjust='spacingAndGlyphs'>SD.g_qlogis</text>
-<line x1='59.04' y1='486.13' x2='59.04' y2='75.47' style='stroke-width: 0.75;' />
-<line x1='59.04' y1='486.13' x2='51.84' y2='486.13' style='stroke-width: 0.75;' />
-<line x1='59.04' y1='280.80' x2='51.84' y2='280.80' style='stroke-width: 0.75;' />
-<line x1='59.04' y1='160.69' x2='51.84' y2='160.69' style='stroke-width: 0.75;' />
-<line x1='59.04' y1='75.47' x2='51.84' y2='75.47' style='stroke-width: 0.75;' />
-<text x='44.64' y='490.26' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>0.5</text>
-<text x='44.64' y='284.93' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>1.0</text>
-<text x='44.64' y='164.82' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>1.5</text>
-<text x='44.64' y='79.60' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>2.0</text>
-<text transform='translate(12.96,280.80) rotate(-90)' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='124.73px' lengthAdjust='spacingAndGlyphs'>Normalised parameters</text>
-<polygon points='59.04,502.56 689.76,502.56 689.76,59.04 59.04,59.04 ' style='stroke-width: 0.75; fill: none;' />
+<line x1='103.26' y1='430.56' x2='645.54' y2='430.56' style='stroke-width: 0.75;' />
+<line x1='103.26' y1='430.56' x2='103.26' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='144.97' y1='430.56' x2='144.97' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='186.69' y1='430.56' x2='186.69' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='228.40' y1='430.56' x2='228.40' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='270.11' y1='430.56' x2='270.11' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='311.83' y1='430.56' x2='311.83' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='353.54' y1='430.56' x2='353.54' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='395.26' y1='430.56' x2='395.26' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='436.97' y1='430.56' x2='436.97' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='478.69' y1='430.56' x2='478.69' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='520.40' y1='430.56' x2='520.40' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='562.11' y1='430.56' x2='562.11' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='603.83' y1='430.56' x2='603.83' y2='437.76' style='stroke-width: 0.75;' />
+<line x1='645.54' y1='430.56' x2='645.54' y2='437.76' style='stroke-width: 0.75;' />
+<text transform='translate(107.39,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='47.38px' lengthAdjust='spacingAndGlyphs'>parent_0</text>
+<text transform='translate(149.10,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='29.35px' lengthAdjust='spacingAndGlyphs'>k_m1</text>
+<text transform='translate(190.81,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='84.07px' lengthAdjust='spacingAndGlyphs'>f_parent_to_m1</text>
+<text transform='translate(232.53,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='12.68px' lengthAdjust='spacingAndGlyphs'>k1</text>
+<text transform='translate(274.24,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='12.68px' lengthAdjust='spacingAndGlyphs'>k2</text>
+<text transform='translate(315.96,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>g</text>
+<text transform='translate(357.67,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>a.1</text>
+<text transform='translate(399.39,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>b.1</text>
+<text transform='translate(441.10,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='67.38px' lengthAdjust='spacingAndGlyphs'>SD.parent_0</text>
+<text transform='translate(482.81,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='72.05px' lengthAdjust='spacingAndGlyphs'>SD.log_k_m1</text>
+<text transform='translate(524.53,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='102.07px' lengthAdjust='spacingAndGlyphs'>SD.f_parent_qlogis</text>
+<text transform='translate(566.24,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='55.38px' lengthAdjust='spacingAndGlyphs'>SD.log_k1</text>
+<text transform='translate(607.96,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='55.38px' lengthAdjust='spacingAndGlyphs'>SD.log_k2</text>
+<text transform='translate(649.67,444.96) rotate(-90)' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='64.71px' lengthAdjust='spacingAndGlyphs'>SD.g_qlogis</text>
+<line x1='59.04' y1='415.73' x2='59.04' y2='45.07' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='415.73' x2='51.84' y2='415.73' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='230.40' x2='51.84' y2='230.40' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='121.99' x2='51.84' y2='121.99' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='45.07' x2='51.84' y2='45.07' style='stroke-width: 0.75;' />
+<text x='44.64' y='419.86' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>0.5</text>
+<text x='44.64' y='234.53' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>1.0</text>
+<text x='44.64' y='126.12' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>1.5</text>
+<text x='44.64' y='49.20' text-anchor='end' style='font-size: 12.00px; font-family: sans;' textLength='16.68px' lengthAdjust='spacingAndGlyphs'>2.0</text>
+<text transform='translate(12.96,230.40) rotate(-90)' text-anchor='middle' style='font-size: 12.00px; font-family: sans;' textLength='124.73px' lengthAdjust='spacingAndGlyphs'>Normalised parameters</text>
+<polygon points='59.04,430.56 689.76,430.56 689.76,30.24 59.04,30.24 ' style='stroke-width: 0.75; fill: none;' />
</g>
-<g clip-path='url(#cpNTkuMDR8Njg5Ljc2fDU5LjA0fDUwMi41Ng==)'>
-<circle cx='103.26' cy='279.64' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='144.97' cy='286.44' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='186.69' cy='283.22' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='228.40' cy='269.36' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='270.11' cy='283.47' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='311.83' cy='285.42' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='353.54' cy='258.25' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='395.26' cy='-596.36' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='103.26' cy='280.60' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='144.97' cy='281.94' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='186.69' cy='281.42' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='228.40' cy='283.69' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='270.11' cy='282.86' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='311.83' cy='277.19' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='353.54' cy='280.74' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='395.26' cy='281.31' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='436.97' cy='-50.55' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='478.69' cy='282.91' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='520.40' cy='281.35' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='562.11' cy='277.34' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='603.83' cy='281.94' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='645.54' cy='296.99' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
-<line x1='59.04' y1='280.80' x2='689.76' y2='280.80' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
-<line x1='93.82' y1='465.98' x2='115.42' y2='465.98' style='stroke-width: 0.75;' />
-<circle cx='104.62' cy='437.18' r='2.70' style='stroke-width: 0.75; stroke: #61D04F;' />
-<circle cx='104.62' cy='451.58' r='2.70' style='stroke-width: 0.75; stroke: #DF536B;' />
-<circle cx='104.62' cy='465.98' r='2.70' style='stroke-width: 0.75;' />
-<text x='126.22' y='441.31' style='font-size: 12.00px; font-family: sans;' textLength='68.03px' lengthAdjust='spacingAndGlyphs'>Original start</text>
-<text x='126.22' y='455.71' style='font-size: 12.00px; font-family: sans;' textLength='80.04px' lengthAdjust='spacingAndGlyphs'>Original results</text>
-<text x='126.22' y='470.11' style='font-size: 12.00px; font-family: sans;' textLength='75.36px' lengthAdjust='spacingAndGlyphs'>Multistart runs</text>
+<g clip-path='url(#cpNTkuMDR8Njg5Ljc2fDMwLjI0fDQzMC41Ng==)'>
+<circle cx='103.26' cy='229.36' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='144.97' cy='235.49' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='186.69' cy='232.58' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='228.40' cy='220.07' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='270.11' cy='232.81' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='311.83' cy='234.57' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='353.54' cy='210.04' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='395.26' cy='-561.33' r='8.10' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='103.26' cy='230.22' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='144.97' cy='231.43' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='186.69' cy='230.96' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='228.40' cy='233.01' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='270.11' cy='232.26' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='311.83' cy='227.14' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='353.54' cy='230.35' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='395.26' cy='230.86' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='436.97' cy='-68.67' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='478.69' cy='232.30' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='520.40' cy='230.90' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='562.11' cy='227.27' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='603.83' cy='231.42' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='645.54' cy='245.02' r='5.40' style='stroke-width: 0.75; stroke: #DF536B;' />
+<line x1='59.04' y1='230.40' x2='689.76' y2='230.40' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' />
+<line x1='93.82' y1='396.14' x2='115.42' y2='396.14' style='stroke-width: 0.75;' />
+<circle cx='104.62' cy='367.34' r='2.70' style='stroke-width: 0.75; stroke: #61D04F;' />
+<circle cx='104.62' cy='381.74' r='2.70' style='stroke-width: 0.75; stroke: #DF536B;' />
+<circle cx='104.62' cy='396.14' r='2.70' style='stroke-width: 0.75;' />
+<text x='126.22' y='371.47' style='font-size: 12.00px; font-family: sans;' textLength='68.03px' lengthAdjust='spacingAndGlyphs'>Original start</text>
+<text x='126.22' y='385.87' style='font-size: 12.00px; font-family: sans;' textLength='80.04px' lengthAdjust='spacingAndGlyphs'>Original results</text>
+<text x='126.22' y='400.27' style='font-size: 12.00px; font-family: sans;' textLength='75.36px' lengthAdjust='spacingAndGlyphs'>Multistart runs</text>
</g>
</svg>
diff --git a/tests/testthat/print_dfop_saem_1.txt b/tests/testthat/print_dfop_saem_1.txt
index f7354320..3a1f1667 100644
--- a/tests/testthat/print_dfop_saem_1.txt
+++ b/tests/testthat/print_dfop_saem_1.txt
@@ -18,6 +18,6 @@ log_k1 -2.71 -2.94 -2.49
log_k2 -4.14 -4.26 -4.01
g_qlogis -0.36 -0.54 -0.17
a.1 0.93 0.69 1.17
-b.1 0.05 0.04 0.06
+b.1 0.05 0.04 0.05
SD.log_k1 0.37 0.23 0.51
SD.log_k2 0.23 0.14 0.31
diff --git a/tests/testthat/summary_hfit_sfo_tc.txt b/tests/testthat/summary_hfit_sfo_tc.txt
index 0618c715..ba7d1362 100644
--- a/tests/testthat/summary_hfit_sfo_tc.txt
+++ b/tests/testthat/summary_hfit_sfo_tc.txt
@@ -43,7 +43,7 @@ Optimised parameters:
est. lower upper
parent_0 92.52 89.11 95.9
log_k_parent -1.66 -2.07 -1.3
-a.1 2.03 1.60 2.5
+a.1 2.03 1.61 2.5
b.1 0.09 0.07 0.1
SD.log_k_parent 0.51 0.22 0.8
@@ -57,7 +57,7 @@ SD.log_k_parent 0.5 0.2 0.8
Variance model:
est. lower upper
-a.1 2.03 1.60 2.5
+a.1 2.03 1.61 2.5
b.1 0.09 0.07 0.1
Backtransformed parameters:
diff --git a/tests/testthat/summary_saem_dfop_sfo_s.txt b/tests/testthat/summary_saem_dfop_sfo_s.txt
index 6468ff17..a19824ce 100644
--- a/tests/testthat/summary_saem_dfop_sfo_s.txt
+++ b/tests/testthat/summary_saem_dfop_sfo_s.txt
@@ -86,7 +86,7 @@ SD.g 0.21 0.06 0.4
Variance model:
est. lower upper
-a.1 0.93 0.79 1.06
+a.1 0.93 0.80 1.06
b.1 0.05 0.05 0.06
Resulting formation fractions:
diff --git a/tests/testthat/test_mixed.R b/tests/testthat/test_mixed.R
index d8ad4417..b9715096 100644
--- a/tests/testthat/test_mixed.R
+++ b/tests/testthat/test_mixed.R
@@ -89,6 +89,7 @@ test_that("saemix results are reproducible for biphasic fits", {
test_that("Reading spreadsheets, finding ill-defined parameters and covariate modelling", {
skip_on_cran()
+ skip_on_travis()
data_path <- system.file(
"testdata", "lambda-cyhalothrin_soil_efsa_2014.xlsx",
@@ -115,6 +116,7 @@ test_that("Reading spreadsheets, finding ill-defined parameters and covariate mo
test_that("SFO-SFO saemix specific analytical solution work", {
skip_on_cran()
+ skip_on_travis()
SFO_SFO <- mkinmod(DMTA = mkinsub("SFO", "M23"),
M23 = mkinsub("SFO"), quiet = TRUE)
diff --git a/tests/testthat/test_multistart.R b/tests/testthat/test_multistart.R
index dda0ea23..36aa63f7 100644
--- a/tests/testthat/test_multistart.R
+++ b/tests/testthat/test_multistart.R
@@ -44,13 +44,16 @@ test_that("multistart works for saem.mmkin models", {
vdiffr::expect_doppelganger("mixed model fit for saem object with mkin transformations", plot_dfop_sfo_saem_m)
llhist_sfo <- function() llhist(saem_sfo_s_multi)
- parplot_sfo <- function() parplot(saem_sfo_s_multi, ylim = c(0.5, 2))
+ parplot_sfo <- function() parplot(saem_sfo_s_multi, ylim = c(0.5, 2), las = 1)
vdiffr::expect_doppelganger("llhist for sfo fit", llhist_sfo)
vdiffr::expect_doppelganger("parplot for sfo fit", parplot_sfo)
llhist_dfop_sfo <- function() llhist(saem_dfop_sfo_m_multi)
- parplot_dfop_sfo <- function() parplot(saem_dfop_sfo_m_multi,
- ylim = c(0.5, 2), llquant = 0.5)
+ parplot_dfop_sfo <- function() {
+ par(mar = c(10.1, 4.1, 2.1, 2.1))
+ parplot(saem_dfop_sfo_m_multi,
+ ylim = c(0.5, 2), llquant = 0.5, las = 2)
+ }
vdiffr::expect_doppelganger("llhist for dfop sfo fit", llhist_dfop_sfo)
vdiffr::expect_doppelganger("parplot for dfop sfo fit", parplot_dfop_sfo)
diff --git a/tests/testthat/test_saemix_parent.R b/tests/testthat/test_saemix_parent.R
index 7fbecd0c..8ac04614 100644
--- a/tests/testthat/test_saemix_parent.R
+++ b/tests/testthat/test_saemix_parent.R
@@ -148,3 +148,30 @@ test_that("We can also use mkin solution methods for saem", {
rel_diff <- abs(distimes_dfop_analytical - distimes_dfop) / distimes_dfop
expect_true(all(rel_diff < 0.01))
})
+
+test_that("illparms finds a single random effect that is ill-defined", {
+ set.seed(123456)
+ n <- 4
+ SFO <- mkinmod(parent = mkinsub("SFO"))
+ sfo_pop <- list(parent_0 = 100, k_parent = 0.03)
+ sfo_parms <- as.matrix(data.frame(
+ k_parent = rlnorm(n, log(sfo_pop$k_parent), 0.001)))
+ sampling_times = c(0, 1, 3, 7, 14, 28, 60, 90, 120)
+ err_1 = list(const = 1, prop = 0.05)
+ tc <- function(value) sigma_twocomp(value, err_1$const, err_1$prop)
+ set.seed(123456)
+ ds_sfo <- lapply(1:n, function(i) {
+ ds_mean <- mkinpredict(SFO, sfo_parms[i, ],
+ c(parent = sfo_pop$parent_0), sampling_times)
+ add_err(ds_mean, tc, n = 1)[[1]]
+ })
+ m_mmkin <- mmkin("SFO", ds_sfo, error_model = "tc", quiet = TRUE, cores = n_cores)
+ m_saem_1 <- saem(m_mmkin)
+ expect_equal(
+ as.character(illparms(m_saem_1)),
+ c("sd(parent_0)", "sd(log_k_parent)"))
+ m_saem_2 <- saem(m_mmkin, no_random_effect = "parent_0")
+ expect_equal(
+ as.character(illparms(m_saem_2)),
+ "sd(log_k_parent)")
+})
diff --git a/tests/testthat/test_water-sediment.R b/tests/testthat/test_water-sediment.R
new file mode 100644
index 00000000..6d5693c9
--- /dev/null
+++ b/tests/testthat/test_water-sediment.R
@@ -0,0 +1,17 @@
+# Issue #13 on github
+water_sed_no_sed_sink <- mkinmod(
+ use_of_ff = "min",
+ water = mkinsub("SFO", "sediment"),
+ sediment = mkinsub("SFO", "water", sink = FALSE))
+
+ws_data <- FOCUS_D
+levels(ws_data$name) <- c("water", "sediment")
+
+test_that("An reversible reaction with the sink turned off in the second compartment works", {
+ # Solution method "analytical" was previously available, but erroneous
+ expect_error(
+ ws_fit_no_sed_sink <- mkinfit(water_sed_no_sed_sink, ws_data, quiet = TRUE, solution_type = "analytical"),
+ "Analytical solution not implemented")
+ ws_fit_no_sed_sink_default <- mkinfit(water_sed_no_sed_sink, ws_data, quiet = TRUE)
+ expect_equal(ws_fit_no_sed_sink_default$solution_type, "deSolve")
+})

Contact - Imprint