Changelog
All notable changes to this project will be documented here.
Development
Note
Changes noted in this subsection are to be released in the next version. If you’re keen to check something out before its released, you can use a development install.
0.1.6
Minor import upgrades for compatibility with
pyrolite
v0.2.7Minor bugfix for environment validation.
0.1.5
MELTS web service functionality archived.
Updated data examples within
pyrolite_meltsutil.data.data_examples
pyrolite_meltsutil.tables
Bugfix for duplicated columns (‘logfO2(absolute)’).
Added ‘alloy-solid’ to bug phases where ‘structure’ is not included as a header name.
Bugfix for non-numeric columns produced via
import_tables
(which was breakingplot_sulfur_saturation_point
)
pyrolite_meltsutil.vis
Updated relevant visualisation docs examples to refer to the (
(ax, proxies)
) syntax wheretemplates
are usedpandas-1.0 related bugfix for
templates
(#6).
pyrolite_meltsutil.util
pandas-1.0 related bugfix for cumulate integration functions (#6).
0.1.4
Web tests switched off, as the MELTS web service appears to be retired.
pyrolite_meltsutil.tables
Added note to
integrate_solid_composition()
to assert that it’s for use with singular experiments, not aggregations of experiments.
pyrolite_meltsutil.vis
Updated
pyrolite_meltsutil.vis.templates
functions to return a tuple of axes and proxies ((ax, proxies)
) for easier legend creation. The proxies object is a dictionary ofphaseID
:{**styling}
.Updated
pyrolite_meltsutil.vis.style
functions to have expanded sets of linestyles/markers for plotting up to 8 different series (note that half of these would be duplicates)
pyrolite_meltsutil.util
Added
log
for consistent logging handling.Move
get_process_tree()
andcheck_perl()
over frompyrolite
0.1.3
Updated
from_melts_cstr()
to ignore vacancies ([]
)
pyrolite_meltsutil.automation
Updated
exp_hash()
for consistent naming by sorting dictionary keys before taking a hash of a json-encoded configurationUpdate chemistry modifications to better handle
np.nan
in compositions, where it is now replaced by zero.Directory keyword argument updated to
fromdir
fromdir
, to avoid any potential conflict with the python function.Updated
make_meltsfolder()
directory keyword argument toindir
fromdir
pyrolite_meltsutil.tables
Table files now checked for inconsistent line lengths before import into
pandas.DataFrame
. Bug fix to deal with alphaMELTS omitting a column header for ‘structure’ for specific minerals (here nepheline and kalsilite)Bug fix for dealing with duplicated column headers (specifically, this is typically ‘logfO2(absolute)’)
pyrolite_meltsutil.vis
Updated templates to make plots including missing intervals.
pyrolite_meltsutil.util
Integrate solids updated to
integrate_solid_composition()
Added
integrate_solid_proportions()
for integrating mineral mass proportions.Updated indexing for cumulate integration functions to include all experiment steps
0.1.2
Updated data examples under
pyrolite_meltsutil.data.data_examples
Added DOI badge to readme.
pyrolite_meltsutil.automation
Added
process_modifications()
to deal with modifications to config (e.g. chemistry), and moved modifications such that they’re included in the experiment configuration grid before it’s serialized.Bugfix for config serialization
pyrolite_meltsutil.tables
Added try-except loop to deal with missing experiment files (e.g. if an experiment failed to run in the middle of an set of experiments)
Improved error handling for bad tables
0.1.1
Bugfix for
pyrolite_meltsutil.util
Fixed broken link on docs index page
Removed support for Python 3.5
0.1.0
Added
pyrolite_meltsutil.data
Data examples of finished experiments added to
pyrolite_meltsutil.data.data_examples
Updated automated docs example
Added documentation example table styling with custom CSS
Updated
pyrolite_meltsutil.env
to use data viapyrolite_meltsutil.data.environment
Updated meltsfile export utility to be able to export variables encoded as lists, sets or tuples within singular
pandas.DataFrame
columnsFixed a parsing issue for
pyrolite_meltsutil.parse.from_melts_cstr()
to deal with NaN/0.0/-0.0
pyrolite_meltsutil.automation
Split out
automation
into submodule and organised files (naming
,org
,process
,timing
)Added timeouts for automated experiments within
MeltsProcess
Started using hashes of configuration for indexing experiments to identify which are identical and avoid duplication (
exp_hash
,exp_name
)Split out the indexes of the experiment grid (
configs
&composition
, which together form a grid ofexperiments
)Made sure that experiment grids contain unique experiments - i.e. no duplication.
Added
pyrolite_meltsutil.automation.MeltsExperiment.dump()
to serialize configuration for a series of experiments.
pyrolite_meltsutil.tables
Updated table read functions
Converted tables to a submodule including
load
: andutil
Added
convert_thermo_names()
to convert with single-letter thermodynamic parameter names (including V/volume, which would conflict with vanadium, S/entropy which would conflict with sulfur and H/enthalpy which could potentially conflict with hydrogen).Added
aggregate_tables()
to aggregate all experiments within a directory to a singleDataFrame
Defaults updated to lowercase column names.
Added
import_batch_config()
for importing configurations exported on run, in order to use relevant metadata.Bugfixes for inconsistent table widths with specific phases, where a column name is not added for
structure
(nepheline, kalsilite, alloys)Added
read_phase_table()
for reading in phase tables.Added
phasetable_from_phasemain()
andphasetable_from_alphameltstxt()
for reading phase tables from the phasemain.txt and alphaMELTS_tbl.txt files, respectivelyAdded automatic detection of fractionation (i.e. where experiment mass changes beyond a threshold)
Updated table percentages to be formatted as 0-100% (rather than fractional 0-1.)
pyrolite_meltsutil.vis
Added submodule for visualisation components
Added styling functions in
style
Added SCSS function in
scss
Added
plot_xy_phase_groupby()
and the convenience functionsplot_phasevolumes()
andplot_phasemasses()
Added
phaseID_marker()
and updatedpyrolite_meltsutil.vis.style.phaseID_linestyle()
for modulating styling based on ID.
pyrolite_meltsutil.util
Added
pyrolite_meltsutil.util.general.pyrolite_meltsutil_datafolder()
to identify the relevant data folder.Added
pyrolite_meltsutil.util.synthetic.isobaricGaleMORBexample()
for generating aDataFrame
based on the Gale (2013) MORB dataset for general use withpyrolite_meltsutil
.Added
get_local_example()
for loading examples installed withalphaMELTS
, andget_local_link()
for identifying the link files created uponalphaMELTS
installation.Added
get_data_example()
to get the folder of an example already-finished experiment folder
0.0.2
Split out the
pyrolite-meltsutil
project frompyrolite
Updated and refactored documentation