Introduction

In this document, the example evaluations provided in Attachment 1 to the SOP of US EPA for using the NAFTA guidance (US EPA 2015) are repeated using mkin. The original evaluations reported in the attachment were performed using PestDF in version 0.8.4. Note that PestDF 0.8.13 is the version distributed at the US EPA website today (2019-02-26).

The datasets are now distributed with the mkin package.

Examples where DFOP did not converge with PestDF 0.8.4

In attachment 1, it is reported that the DFOP model does not converge for these datasets when PestDF 0.8.4 was used. For all four datasets, the DFOP model can be fitted with mkin (see below). The negative half-life given by PestDF 0.8.4 for these fits appears to be the result of a bug. The results for the other two models (SFO and IORE) are the same.

Example on page 5, upper panel

p5a <- nafta(NAFTA_SOP_Attachment[["p5a"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p5a)

print(p5a)
## Sums of squares:
##       SFO      IORE      DFOP 
## 465.21753  56.27506  32.06401 
## 
## Critical sum of squares for checking the SFO model:
## [1] 64.4304
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0       95.8401     NA    NA    NA
## k_parent_sink   0.0102     NA    NA    NA
## sigma           4.8230     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            1.01e+02     NA    NA    NA
## k__iore_parent_sink 1.54e-05     NA    NA    NA
## N_parent            2.57e+00     NA    NA    NA
## sigma               1.68e+00     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 9.99e+01     NA    NA    NA
## k1       2.67e-02     NA    NA    NA
## k2       2.86e-12     NA    NA    NA
## g        6.47e-01     NA    NA    NA
## sigma    1.27e+00     NA    NA    NA
## 
## 
## DTx values:
##      DT50     DT90 DT50_rep
## SFO  67.7 2.25e+02 6.77e+01
## IORE 58.2 1.07e+03 3.22e+02
## DFOP 55.5 4.42e+11 2.42e+11
## 
## Representative half-life:
## [1] 321.51

Example on page 5, lower panel

p5b <- nafta(NAFTA_SOP_Attachment[["p5b"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p5b)

print(p5b)
## Sums of squares:
##      SFO     IORE     DFOP 
## 94.81123 10.10936  7.55871 
## 
## Critical sum of squares for checking the SFO model:
## [1] 11.77879
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0        96.497     NA    NA    NA
## k_parent_sink    0.008     NA    NA    NA
## sigma            2.295     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            9.85e+01     NA    NA    NA
## k__iore_parent_sink 1.53e-04     NA    NA    NA
## N_parent            1.94e+00     NA    NA    NA
## sigma               7.49e-01     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 9.84e+01     NA    NA    NA
## k1       1.55e-02     NA    NA    NA
## k2       1.16e-11     NA    NA    NA
## g        6.89e-01     NA    NA    NA
## sigma    6.48e-01     NA    NA    NA
## 
## 
## DTx values:
##      DT50     DT90 DT50_rep
## SFO  86.6 2.88e+02 8.66e+01
## IORE 85.5 7.17e+02 2.16e+02
## DFOP 83.6 9.80e+10 5.98e+10
## 
## Representative half-life:
## [1] 215.87

Example on page 6

p6 <- nafta(NAFTA_SOP_Attachment[["p6"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p6)

print(p6)
## Sums of squares:
##       SFO      IORE      DFOP 
## 188.45361  51.00699  42.46931 
## 
## Critical sum of squares for checking the SFO model:
## [1] 58.39888
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0       94.7759     NA    NA    NA
## k_parent_sink   0.0179     NA    NA    NA
## sigma           3.0696     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            97.12446     NA    NA    NA
## k__iore_parent_sink  0.00252     NA    NA    NA
## N_parent             1.49587     NA    NA    NA
## sigma                1.59698     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 9.66e+01     NA    NA    NA
## k1       2.55e-02     NA    NA    NA
## k2       4.90e-11     NA    NA    NA
## g        8.61e-01     NA    NA    NA
## sigma    1.46e+00     NA    NA    NA
## 
## 
## DTx values:
##      DT50     DT90 DT50_rep
## SFO  38.6 1.28e+02 3.86e+01
## IORE 34.0 1.77e+02 5.32e+01
## DFOP 34.1 6.66e+09 1.41e+10
## 
## Representative half-life:
## [1] 53.17

Example on page 7

p7 <- nafta(NAFTA_SOP_Attachment[["p7"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p7)

print(p7)
## Sums of squares:
##      SFO     IORE     DFOP 
## 3661.661 3195.030 3174.145 
## 
## Critical sum of squares for checking the SFO model:
## [1] 3334.194
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      96.41796     NA    NA    NA
## k_parent_sink  0.00735     NA    NA    NA
## sigma          7.94557     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            9.92e+01     NA    NA    NA
## k__iore_parent_sink 1.60e-05     NA    NA    NA
## N_parent            2.45e+00     NA    NA    NA
## sigma               7.42e+00     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 9.89e+01     NA    NA    NA
## k1       1.81e-02     NA    NA    NA
## k2       1.97e-10     NA    NA    NA
## g        6.06e-01     NA    NA    NA
## sigma    7.40e+00     NA    NA    NA
## 
## 
## DTx values:
##      DT50     DT90 DT50_rep
## SFO  94.3 3.13e+02 9.43e+01
## IORE 96.7 1.51e+03 4.55e+02
## DFOP 96.4 6.97e+09 3.52e+09
## 
## Representative half-life:
## [1] 454.55

Examples where the representative half-life deviates from the observed DT50

Example on page 8

For this dataset, the IORE fit does not converge when the default starting values used by mkin for the IORE model are used. Therefore, a lower value for the rate constant is used here.

p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent_sink = 1e-3))
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p8)

print(p8)
## Sums of squares:
##       SFO      IORE      DFOP 
## 1996.9408  444.9237  547.5616 
## 
## Critical sum of squares for checking the SFO model:
## [1] 477.4924
## 
## Parameters:
## $SFO
##                     Estimate Pr(>t) Lower Upper
## parent_0            88.16549     NA    NA    NA
## k__iore_parent_sink  0.00100     NA    NA    NA
## k_parent_sink        0.00803     NA    NA    NA
## sigma                7.44786     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            9.77e+01     NA    NA    NA
## k__iore_parent_sink 6.14e-05     NA    NA    NA
## N_parent            2.27e+00     NA    NA    NA
## sigma               3.52e+00     NA    NA    NA
## 
## $DFOP
##                     Estimate Pr(>t) Lower Upper
## parent_0            95.70619     NA    NA    NA
## k__iore_parent_sink  0.00100     NA    NA    NA
## k1                   0.02500     NA    NA    NA
## k2                   0.00273     NA    NA    NA
## g                    0.58835     NA    NA    NA
## sigma                3.90001     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  86.3  287     86.3
## IORE 53.4  668    201.0
## DFOP 55.6  517    253.0
## 
## Representative half-life:
## [1] 201.03

Examples where SFO was not selected for an abiotic study

Example on page 9, upper panel

p9a <- nafta(NAFTA_SOP_Attachment[["p9a"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p9a)

print(p9a)
## Sums of squares:
##       SFO      IORE      DFOP 
## 839.35238  88.57064   9.93363 
## 
## Critical sum of squares for checking the SFO model:
## [1] 105.5678
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0       88.1933     NA    NA    NA
## k_parent_sink   0.0409     NA    NA    NA
## sigma           7.2429     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            9.89e+01     NA    NA    NA
## k__iore_parent_sink 1.93e-05     NA    NA    NA
## N_parent            2.91e+00     NA    NA    NA
## sigma               2.35e+00     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 9.85e+01     NA    NA    NA
## k1       1.38e-01     NA    NA    NA
## k2       6.02e-13     NA    NA    NA
## g        6.52e-01     NA    NA    NA
## sigma    7.88e-01     NA    NA    NA
## 
## 
## DTx values:
##      DT50     DT90 DT50_rep
## SFO  16.9 5.63e+01 1.69e+01
## IORE 11.6 3.37e+02 1.01e+02
## DFOP 10.5 2.07e+12 1.15e+12
## 
## Representative half-life:
## [1] 101.43

In this example, the residuals of the SFO indicate a lack of fit of this model, so even if it was an abiotic experiment, the data do not suggest a simple exponential decline.

Example on page 9, lower panel

p9b <- nafta(NAFTA_SOP_Attachment[["p9b"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p9b)

print(p9b)
## Sums of squares:
##      SFO     IORE     DFOP 
## 35.64867 23.22334 35.64867 
## 
## Critical sum of squares for checking the SFO model:
## [1] 28.54188
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0       94.7123     NA    NA    NA
## k_parent_sink   0.0389     NA    NA    NA
## sigma           1.5957     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0              93.863     NA    NA    NA
## k__iore_parent_sink    0.127     NA    NA    NA
## N_parent               0.711     NA    NA    NA
## sigma                  1.288     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0  94.7123     NA    NA    NA
## k1         0.0389     NA    NA    NA
## k2         0.0389     NA    NA    NA
## g          0.7742     NA    NA    NA
## sigma      1.5957     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  17.8 59.2     17.8
## IORE 18.4 49.2     14.8
## DFOP 17.8 59.2     17.8
## 
## Representative half-life:
## [1] 14.8

Here, mkin gives a longer slow DT50 for the DFOP model (17.8 days) than PestDF (13.5 days). Presumably, this is related to the fact that PestDF gives a negative value for the proportion of the fast degradation which should be between 0 and 1, inclusive. This parameter is called f in PestDF and g in mkin. In mkin, it is restricted to the interval from 0 to 1.

Example on page 10

p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p10)

print(p10)
## Sums of squares:
##      SFO     IORE     DFOP 
## 899.4089 336.4348 899.4089 
## 
## Critical sum of squares for checking the SFO model:
## [1] 413.4841
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      101.7315     NA    NA    NA
## k_parent_sink   0.0495     NA    NA    NA
## sigma           8.0152     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0               96.86     NA    NA    NA
## k__iore_parent_sink     2.96     NA    NA    NA
## N_parent                0.00     NA    NA    NA
## sigma                   4.90     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 101.7315     NA    NA    NA
## k1         0.0495     NA    NA    NA
## k2         0.0495     NA    NA    NA
## g          0.6634     NA    NA    NA
## sigma      8.0152     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  14.0 46.5    14.00
## IORE 16.4 29.4     8.86
## DFOP 14.0 46.5    14.00
## 
## Representative half-life:
## [1] 8.86

Here, a value below N is given for the IORE model, because the data suggests a faster decline towards the end of the experiment, which appears physically rather unlikely in the case of a photolysis study. It seems PestDF does not constrain N to values above zero, thus the slight difference in IORE model parameters between PestDF and mkin.

The DT50 was not observed during the study

Example on page 11

p11 <- nafta(NAFTA_SOP_Attachment[["p11"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p11)

print(p11)
## Sums of squares:
##      SFO     IORE     DFOP 
## 579.6805 204.7932 144.7783 
## 
## Critical sum of squares for checking the SFO model:
## [1] 251.6944
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      96.15820     NA    NA    NA
## k_parent_sink  0.00321     NA    NA    NA
## sigma          6.43473     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            1.05e+02     NA    NA    NA
## k__iore_parent_sink 3.11e-17     NA    NA    NA
## N_parent            8.36e+00     NA    NA    NA
## sigma               3.82e+00     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 1.05e+02     NA    NA    NA
## k1       4.41e-02     NA    NA    NA
## k2       7.25e-13     NA    NA    NA
## g        3.22e-01     NA    NA    NA
## sigma    3.22e+00     NA    NA    NA
## 
## 
## DTx values:
##          DT50     DT90 DT50_rep
## SFO  2.16e+02 7.18e+02 2.16e+02
## IORE 9.73e+02 1.37e+08 4.11e+07
## DFOP 4.21e+11 2.64e+12 9.56e+11
## 
## Representative half-life:
## [1] 41148169

In this case, the DFOP fit reported for PestDF resulted in a negative value for the slower rate constant, which is not possible in mkin. The other results are in agreement.

N is less than 1 and the DFOP rate constants are like the SFO rate constant

In the following three examples, the same results are obtained with mkin as reported for PestDF. As in the case on page 10, the N values below 1 are deemed unrealistic and appear to be the result of an overparameterisation.

Example on page 12, upper panel

p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p12a)

print(p12a)
## Sums of squares:
##      SFO     IORE     DFOP 
## 695.4440 220.0685 695.4440 
## 
## Critical sum of squares for checking the SFO model:
## [1] 270.4679
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0       100.521     NA    NA    NA
## k_parent_sink    0.124     NA    NA    NA
## sigma            7.048     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0              96.823     NA    NA    NA
## k__iore_parent_sink    2.436     NA    NA    NA
## N_parent               0.263     NA    NA    NA
## sigma                  3.965     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0  100.521     NA    NA    NA
## k1          0.124     NA    NA    NA
## k2          0.124     NA    NA    NA
## g           0.877     NA    NA    NA
## sigma       7.048     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  5.58 18.5     5.58
## IORE 6.49 13.2     3.99
## DFOP 5.58 18.5     5.58
## 
## Representative half-life:
## [1] 3.99

Example on page 12, lower panel

p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p12b)

print(p12b)
## Sums of squares:
##      SFO     IORE     DFOP 
## 58.90242 19.06353 58.90242 
## 
## Critical sum of squares for checking the SFO model:
## [1] 51.51756
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0       97.6840     NA    NA    NA
## k_parent_sink   0.0589     NA    NA    NA
## sigma           3.4323     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0              95.523     NA    NA    NA
## k__iore_parent_sink    0.333     NA    NA    NA
## N_parent               0.568     NA    NA    NA
## sigma                  1.953     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0  97.6840     NA    NA    NA
## k1         0.0589     NA    NA    NA
## k2         0.0589     NA    NA    NA
## g          0.6902     NA    NA    NA
## sigma      3.4323     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  11.8 39.1    11.80
## IORE 12.9 31.4     9.46
## DFOP 11.8 39.1    11.80
## 
## Representative half-life:
## [1] 9.46

Example on page 13

p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p13)

print(p13)
## Sums of squares:
##      SFO     IORE     DFOP 
## 174.5971 142.3951 174.5971 
## 
## Critical sum of squares for checking the SFO model:
## [1] 172.131
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      92.73500     NA    NA    NA
## k_parent_sink  0.00258     NA    NA    NA
## sigma          3.41172     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0             91.6016     NA    NA    NA
## k__iore_parent_sink   0.0396     NA    NA    NA
## N_parent              0.3541     NA    NA    NA
## sigma                 3.0811     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 92.73500     NA    NA    NA
## k1        0.00258     NA    NA    NA
## k2        0.00258     NA    NA    NA
## g         0.00442     NA    NA    NA
## sigma     3.41172     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO   269  892      269
## IORE  261  560      169
## DFOP  269  892      269
## 
## Representative half-life:
## [1] 168.51

DT50 not observed in the study and DFOP problems in PestDF

p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p14)

print(p14)
## Sums of squares:
##      SFO     IORE     DFOP 
## 48.43249 28.67746 27.26248 
## 
## Critical sum of squares for checking the SFO model:
## [1] 32.83337
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      99.47124     NA    NA    NA
## k_parent_sink  0.00279     NA    NA    NA
## sigma          1.55616     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            1.00e+02     NA    NA    NA
## k__iore_parent_sink 9.44e-08     NA    NA    NA
## N_parent            3.31e+00     NA    NA    NA
## sigma               1.20e+00     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 1.00e+02     NA    NA    NA
## k1       9.53e-03     NA    NA    NA
## k2       7.29e-12     NA    NA    NA
## g        3.98e-01     NA    NA    NA
## sigma    1.17e+00     NA    NA    NA
## 
## 
## DTx values:
##          DT50     DT90 DT50_rep
## SFO  2.48e+02 8.25e+02 2.48e+02
## IORE 4.34e+02 2.22e+04 6.70e+03
## DFOP 2.54e+10 2.46e+11 9.51e+10
## 
## Representative half-life:
## [1] 6697.44

The slower rate constant reported by PestDF is negative, which is not physically realistic, and not possible in mkin. The other fits give the same results in mkin and PestDF.

N is less than 1 and DFOP fraction parameter is below zero

p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p15a)

print(p15a)
## Sums of squares:
##      SFO     IORE     DFOP 
## 245.5248 135.0132 245.5248 
## 
## Critical sum of squares for checking the SFO model:
## [1] 165.9335
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      97.96751     NA    NA    NA
## k_parent_sink  0.00952     NA    NA    NA
## sigma          4.18778     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0              95.874     NA    NA    NA
## k__iore_parent_sink    0.629     NA    NA    NA
## N_parent               0.000     NA    NA    NA
## sigma                  3.105     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 97.96752     NA    NA    NA
## k1        0.00952     NA    NA    NA
## k2        0.00952     NA    NA    NA
## g         0.17247     NA    NA    NA
## sigma     4.18778     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  72.8  242     72.8
## IORE 76.3  137     41.3
## DFOP 72.8  242     72.8
## 
## Representative half-life:
## [1] 41.33
p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p15b)

print(p15b)
## Sums of squares:
##       SFO      IORE      DFOP 
## 106.91629  68.55574 106.91629 
## 
## Critical sum of squares for checking the SFO model:
## [1] 84.25618
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0      1.01e+02     NA    NA    NA
## k_parent_sink 4.86e-03     NA    NA    NA
## sigma         2.76e+00     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0               99.83     NA    NA    NA
## k__iore_parent_sink     0.38     NA    NA    NA
## N_parent                0.00     NA    NA    NA
## sigma                   2.21     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0 1.01e+02     NA    NA    NA
## k1       4.86e-03     NA    NA    NA
## k2       4.86e-03     NA    NA    NA
## g        1.50e-01     NA    NA    NA
## sigma    2.76e+00     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO   143  474    143.0
## IORE  131  236     71.2
## DFOP  143  474    143.0
## 
## Representative half-life:
## [1] 71.18

In mkin, only the IORE fit is affected (deemed unrealistic), as the fraction parameter of the DFOP model is restricted to the interval between 0 and 1 in mkin. The SFO fits give the same results for both mkin and PestDF.

The DFOP fraction parameter is greater than 1

p16 <- nafta(NAFTA_SOP_Attachment[["p16"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix

## Warning in summary.mkinfit(x): Could not calculate correlation; no
## covariance matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The representative half-life of the IORE model is longer than the one corresponding
## to the terminal degradation rate found with the DFOP model.
## The representative half-life obtained from the DFOP model may be used
plot(p16)

print(p16)
## Sums of squares:
##      SFO     IORE     DFOP 
## 3831.804 2062.008 1550.980 
## 
## Critical sum of squares for checking the SFO model:
## [1] 2247.348
## 
## Parameters:
## $SFO
##               Estimate Pr(>t) Lower Upper
## parent_0        71.953     NA    NA    NA
## k_parent_sink    0.159     NA    NA    NA
## sigma           11.302     NA    NA    NA
## 
## $IORE
##                     Estimate Pr(>t) Lower Upper
## parent_0            8.74e+01     NA    NA    NA
## k__iore_parent_sink 4.55e-04     NA    NA    NA
## N_parent            2.70e+00     NA    NA    NA
## sigma               8.29e+00     NA    NA    NA
## 
## $DFOP
##          Estimate Pr(>t) Lower Upper
## parent_0  88.5333     NA    NA    NA
## k1        18.5561     NA    NA    NA
## k2         0.0776     NA    NA    NA
## g          0.4733     NA    NA    NA
## sigma      7.1902     NA    NA    NA
## 
## 
## DTx values:
##      DT50 DT90 DT50_rep
## SFO  4.35 14.4     4.35
## IORE 1.48 32.1     9.67
## DFOP 0.67 21.4     8.93
## 
## Representative half-life:
## [1] 8.93

In PestDF, the DFOP fit seems to have stuck in a local minimum, as mkin finds a solution with a much lower \(\chi^2\) error level. As the half-life from the slower rate constant of the DFOP model is larger than the IORE derived half-life, the NAFTA recommendation obtained with mkin is to use the DFOP representative half-life of 8.9 days.

Conclusions

The results obtained with mkin deviate from the results obtained with PestDF either in cases where one of the interpretive rules would apply, i.e. the IORE parameter N is less than one or the DFOP k values obtained with PestDF are equal to the SFO k values, or in cases where the DFOP model did not converge, which often lead to negative rate constants returned by PestDF.

Therefore, mkin appears to suitable for kinetic evaluations according to the NAFTA guidance.

References

US EPA. 2015. “Standard Operating Procedure for Using the NAFTA Guidance to Calculate Representative Half-Life Values and Characterizing Pesticide Degradation.”