isotopylog.fit_PH12¶
-
isotopylog.fit_PH12(he, logy=True, p0=[-10.0, 0.5], thresh=1e-10)¶ Fits D evolution data using the first-order model approximation of Passey and Henkes (2012). The function uses curvature in t vs. ln(G) space to extract the linear region and only fits this region.
Parameters: - he (isotopylog.HeatingExperiment) – ipl.HeatingExperiment instance containing the D data to be modeled.
- logy (Boolean) – Tells the function whether or not to calculate fits using the natural
logarithm of reaction progress as the y axis. If
True, results should be in closer alignment with PH12 and Hea14 literature values. - p0 (array-like) – Array of paramter guess to initialize the fitting algorithm, in the
order [ln(k), intercept]. Defaults to
[-7, 0.5]. - thresh (float) – Curvature threshold to use for extracting the linear region. All
points after the first point that drops below this threshold are
considered to be in the linear region. Defaults to
1e-6.
Returns: - params (np.ndarray) – Array of resulting parameter values, in the order [ln(k), intercept].
- params_cov (np.ndarray) – Covariance matrix associated with the resulting parameter values, of
shape [2 x 2]. The +/- 1 sigma uncertainty for each parameter can be
calculated as
np.sqrt(np.diag(params_cov)) - rmse (float) – Root Mean Square Error (in D47 permil units) of the model fit. Only includes data points that are deemed to be in the linear region.
- npt (int) – Number of data points deemed to be in the linear region.
Raises: ValueError– If the curvature in t vs. ln(G) space never drops below the inputted thresh value.Notes
Results are bounded such that k and intercept are non-negative; intercept value in
paramsis the intercept in G vs. t space. All calculations are done in G space and thus only depend on relative changes in D47.If
logy = True, note that fits are subject to high uncertainty when approaching equilibrium, so ensure that HeatingExperiment data are culled.See also
isotopylog.fit_Hea14()- Method for fitting heating experiment data using the transient defect/ equilibrium model of Henkes et al. (2014). ‘Hea14’ can be considered an updated version of the present method.
isotopylog.fit_HH21()- Method for fitting heating experiment data using the distributed activation energy model of Hemingway and Henkes (2021).
isotopylog.fit_SE15()- Method for fitting heatinge experiment data using the paird diffusion model of Stolper and Eiler (2015).
isotopylog.kDistribution.invert_experiment()- Method for generating a
kDistributioninstance from experimental data.
Examples
Basic implementation, assuming a
ipl.HeatingExperimentinstanceheexists:#import modules import isotopylog as ipl #assume he is a HeatingExperiment instance results = ipl.fit_PH12(he, thresh = 1e-6)
References
[1] Passey and Henkes (2012) Earth Planet. Sci. Lett., 351, 223–236.