isotopylog.fit_HH21

isotopylog.fit_HH21(he, nu_max=10, nu_min=-50, nnu=300, p0=[-20, 5])

Fits D evolution data using the distributed activation energy model of Hemingway and Henkes (2021). This function solves for mu_nu and sig_nu, the mean and standard deviation of a Gaussian distribution in lnk space. See HH21 Eq. 24 for notation and details.

Parameters:
  • he (isotopylog.HeatingExperiment) – ipl.HeatingExperiment instance containing the D data to be modeled.
  • nu_max (float) – The maximum lnk value to consider. Defaults to 10.
  • nu_min (float) – The minimum lnk value to consider. Defaults to -50.
  • nnu (int) – The number of nu values in the array such that dnu = (nu_max - nu_min)/nnu. Defaults to 300.
  • p0 (array-like) – Array of paramter guess to initialize the fitting algorithm, in the order [ln(k_mu), ln(k_sig)]. Defaults to [-20, 5].
Returns:

  • params (np.ndarray) – Array of resulting parameter values, in the order [ln(k_mu), ln(k_sig)].
  • params_cov (np.ndarray) – Covariance matrix associated with the resulting parameter values, of shape [3 x 3]. 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. Includes model fit to all data points.
  • npt (int) – Number of data points included in the model solution.
  • nu (np.ndarray) – The array of nu values used for calcualtions, of length nnu and ranging from nu_min to nu_max.
  • rho_nu (np.ndarray) – The array of corresponding Gaussian rho_nu values.

Notes

Results are bounded such that mu_nu is between nu_min and nu_max; sig_nu <= (nu_max - nu_min)/2. All calculations are done in G space and thus only depend on relative changes in D47.

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_HH21inv()
Method for fitting heating experiment data using the L-curve approach of Hemingway and Henkes (2021).
isotopylog.fit_PH12()
Method for fitting heating experiment data using the pseudo first- order method of Passey and Henkes (2012). Called to determine linear region.
isotopylog.fit_SE15()
Method for fitting heatinge experiment data using the paird diffusion model of Stolper and Eiler (2015).
kDistribution.invert_experiment()
Method for generating a kDistribution instance from experimental data.

Examples

Basic implementation, assuming a ipl.HeatingExperiment instance he exists:

#import modules
import isotopylog as ipl

#assume he is a HeatingExperiment instance
results = ipl.fit_HH21(he)

References

[1] Hemingway and Henkes (2021) Earth Planet. Sci. Lett., 566, 116962.