Skip to content

Latest commit

 

History

History
358 lines (274 loc) · 13.5 KB

CHANGELOG.rst

File metadata and controls

358 lines (274 loc) · 13.5 KB

Changelog

3.1.0 (2024-09-13) ---

Added

  • support for Python 3.12.
  • AP sensing .tra support, as the reference temperature sensor data by this device in only logged in .tra and not in the .xml log files.
    added functions in io/apsensing.py to read .tra files if they are in the same directory as the .xml files.
  • more test data from AP sensing device N4386B, which do also contain their .tra log files

Fixed

  • device ID bug for APSensing. Device ID is N4386B instead of C320. C320 was an arbitrary name given for the wellbore by the user.

Changed

  • the verify_timedeltas keyword argument is now optional when merging two single ended datasets.
  • removed statsmodels as a dependency. It is now optional, and only used for testing the wls_sparse solver

3.0.3 (2024-04-18) ---

Fixed

  • Improved error message when some variables cannot be shifted by the suggest_shift_double_ended function.

Changed:

  • [dev] Moved to Ruff instead of isort for import sorting

3.0.2 (2024-04-13) ---

Fixed

  • Bumpversion configuration was incorrect since v3.0.0. Therefore the 3.0.1 release failed. This is a re-release of 3.0.1:

3.0.1 (2024-04-13) ---

Fixed

  • Oryx v4 double ended could have the backward measurements incorrectly cut off during loading.

3.0.0 (2023-11-05) ---

Added

  • Calibration functions are now accessed via the .dts accessor in favor of the DataStore class.
  • Improved the functionality of merge_double_ended, by adding a check that handles measurements missing in one channel while present in the other ([#171](#171))
  • Support for Python 3.11
  • matching_sections is now similarly implemented as sections.

Fixed

  • Single-ended measurements with fix_alpha failed due to a bug introduced in v2.0.0 ([#173](#173)).
  • Headers in example notebooks and their appearance in the docs are now at correct levels
  • Big clean up of the documentation. The documentation is now more consistent and easier to read.

Changed

  • Notebooks now reflect the new API with the .dts accessor.
  • Calibration functions now return only calibration results instead of adding the results to the Dataset inplace.
  • Standardized parameter names. Reduced the freedom in choosing parameter names and dimension names in favor of simplifying the code.
  • Requiring netcdf4 >= 1.6.4
  • Optional dependencies of xarray that improve performance are now required by default.
  • variance_stokes_linear() does not default through zero anymore.
  • Refactored calibration_single_ended and calibration_double_ended()
  • Moved ParameterIndices classes to calibration_utils.py
  • Flox included in requirements to speed up resampling via xarray ([Xarray #5734](pydata/xarray#5734)).

Removed

  • Removed the DataStore module in favor of the dts accessor.
  • Removed ds.resample_datastore() in favor of using xarray's resample function. See example notebook 2.
  • Removed support for Python 3.8

Developer changes

  • Added mypy to dev dependencies and CI.
  • Using ruff for most of the formattting. Black is used for the notebooks. Isort is used for sorting the imports.
  • Changed all import statements to be absolute instead of relative.
  • Cleaned up old 'pylint: disable' comments

2.0.0 (2023-05-24)

  • Faster approach on error propagation. As alternative to computational intensive Monte Carlo runs.
  • Refractored some of the indexing logic of the calibration routines.
  • Rewritten single-ended and double-ended example notebooks.
  • Removed support for OLS calibration, as with minor extra efforts WLS could be used, which has significant benefits.

1.2.0 (2023-03-13)

Bug fixes

  • Fixed deprecated np.float and np.int

Other

  • Moved project build system & scripts to hatch.
  • Project is now fully configured using pyproject.toml
  • Linting is handled by Ruff.
  • Notebooks are now rendered as part of the documentation.

Removed

  • cli.py script (unused) has been removed.

New contributors: * Karl Lapo (@klapo)

1.1.2 (2022-09-25)

  • Added support for Sensornet Sentinel v5 files.

1.1.1 (2022-09-25)

  • Deprecated Python 3.7
  • Fixed documention rendering
  • Updated readme badges

1.1.0 (2022-09-25)

New features

  • Added support for Python 3.9, 3.10.
  • Silixa's xml version 8 is now supported

Bug fixes

  • Loading in untested sensornet files will not give a UnboundLocalError error anymore
  • Sensornet .ddf file version check is now more robust (commas are replaced to periods)
  • Changed matplotlib's deprecated DivergingNorm to TwoSlopeNorm
  • Updated the stokes_variance_linear docstring to remove incorrect and duplicate information
  • Adjusted resample_datastore to avoid using deprecated 'base' kwarg, instead using the new arguments 'origin' and 'offset'. See http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html

Others

  • Notebook 04 on Stokes variance has been updated to explain the different estimation methods for the variance, and their importance.
  • Notebook 07 and 08 have been updated to take into account the changes in ds.stokes_variance.
  • Silenced xarray's __slots__ warning
  • Deprecated Python 3.6
  • CI has been moved to GitHub Actions. Travis-CI and AppVeyor have been removed.

1.0.2 (2020-05-04)

  • Same as v1.0.1

1.0.1 (2020-05-04)

New features

  • st_var can now be array-like. The array-like can vary in x or time, or both.
  • When converting from a xr.Dataset to a DataStore object, the attributes arenow transfered over
  • Added 'verbose' kwarg to shift_double_ended utility function to silence theconsole output

Bug fixes

  • If the '_sections' attribute is missing from a DataStore object it is automagically re-added.
  • Assert that stokes variances are passed when running a double-ended WLS calibration
  • Added check for NaN/inf values in wls_sparse solver to avoid unclear error messages
  • Before calibration, the values of the used reference temperatures are checked if they are valid (float dtype, no NaN/inf values, correct time dimension)

Others

  • European Geosciences Union conference 2020 presentation added
  • Updated documentation with content article
  • Use YAPF formatting of the Python files
  • Travis-CI.org integration in GitHub restored.

1.0.0 (2020-03-30)

  • First major release
  • Reduced flexibility in defining names under which the Stokes are stored
  • 4 Averaging functions implemented, with uncertainty estimation. See notebook 16 for the various options
  • Notebook about transient attenuation caused by for example connectors
  • Bug in singel ended transient attenuation
  • Check for consistent number of measurement locations across read files

0.9.2 (2020-03-17)

  • Reduced flexibility in defining Stokes labels

0.9.1 (2020-03-17)

  • Same as 0.9.2

0.9.0 (2020-03-16)

  • Increased precision of least squares solver, as this was limiting theprecision of the parameter estimation
  • The variance of the noise in the Stokes can change linear with the intensity
  • Improved residuals plot function
  • Reduced the number of equations for double ended calibration
  • Support for transient attenuation due to connectors along fibers
  • Matching sections

0.8.0 (2020-02-14)

  • Valentine edition
  • Added example for fixing parameters
  • Bug fixed in routine for reading Sensornet files (Bor van der Scheer)
  • Official support for Python 3.8
  • When the datastore is printed to the screen, the mean and std of thereference temperature is plotted
  • Integrated differential attenuation is reformulated. Starts integrating atthe first reference section location.
  • Estimation of the variance of the Stokes that is linear dependent on theintensity (Poisson)
  • Removed __slots__ attribute

0.7.4 (2020-01-26)

  • Update automated zenodo reference requires to draft a new release

0.7.3 (2020-01-24)

  • Solved xlim in subplots of plot_residuals_reference_sections funciton
  • Solved YAML deprecation related problems
  • Introduced new approach for double ended calibration, with a different Cfor the forward and backward channel
  • First code added for time variant asymmetric attenuation, such as connectors.
  • First code added for matching sections

0.7.2 (2019-11-22)

  • Set alpha and or gamma to known value, with corresponding variance.
  • Bug in computation of the weights for single and double-ended calibration
  • Added notebook about merging two single ended measurements
  • Added example notebook on how to create a custom datastore
  • Added notebook examples for loading in data from the different manufa..
  • Loading AP Sensing files and tests
  • Loading Sensortran files

0.7.0 (2019-11-07)

  • Ensure order of dimension upon initialization of DataStore. Resamplingwould lead to issues
  • Bug in section definition (reported by Robert Law)
  • Rewritten calibration solvers to align with article of this package
  • Removed old calibration solvers
  • New possibilities of saving and loading large DataStores saved to multiplenetCDF files

0.6.7 (2019-11-01)

  • Use twine to check if the compiled package meets all the requirements of Pypi

0.6.6 (2019-11-01)

  • Use twine to check if the compiled package meets all the requirements of Pypi

0.6.5 (2019-11-01)

  • Major bug fix version.
  • More flexibility in defining the time and space dimensions
  • Fixed unsave yaml loading
  • Added support for Silixa 7 files
  • Start using __slots__ as it is something new
  • xarray doesn't have the attribute ._initialized anymore. Rewritten teststo make more sense by checking the sum of the Stokes instead.
  • Support for double ended Sensornet files and tests
  • Bug fixing

0.6.4 (2019-04-09)

  • More flexibility in defining the time dimension
  • Cleanup of some plotting functions

0.6.3 (2019-04-03)

  • Added reading support for zipped silixa files. Still rarely fails due to upstream bug.
  • pretty __repr__
  • Reworked double ended calibration procedure. Integrated differential attenuation outside of reference sections is now calculated seperately.
  • New approach for estimation of Stokes variance. Not restricted to a decaying exponential
  • Bug in averaging TMPF and TMPB to TMPW
  • Modified residuals plot, especially useful for long fibers (Great work Bart!)
  • Example notebooks updatred accordingly
  • Bug in to_netcdf when passing encodings
  • Better support for sections that are not related to a timeseries.

0.6.2 (2019-02-26)

  • Double-ended weighted calibration procedure is rewritten so that the integrated differential attenuation outside of the reference sections is calculated seperately. Better memory usage and faster
  • Other calibration routines cleaned up
  • Official support for Python 3.7
  • Coverage figures are now trustworthy
  • String representation improved
  • Include test for aligning double ended measurements
  • Example for aligning double ended measurements

0.6.1 (2019-01-04)

  • Many examples were shown in the documentation
  • Fixed verbose settings of solvers
  • Revised example notebooks
  • Moved to 80 characters per line (PEP)
  • More Python formatting using YAPF
  • Use example of plot_residuals_reference_sections function in Stokes variance example notebook
  • Support Python 3.7

0.6.0 (2018-12-08)

  • Reworked the double-ended calibration routine and the routine for confidence intervals. The integrated differential attenuation is not zero at x=0 anymore.
  • Verbose commands carpentry
  • Bug fixed that would make the read_silixa routine crash if there are copies of the same file in the same folder
  • Routine to read sensornet files. Only single-ended configurations supported for now. Anyone has double-ended measurements?
  • Lazy calculation of the confidence intervals
  • Bug solved. The x-coordinates where not calculated correctly. The bug only appeared for measurements along long cables.
  • Example notebook of importing a timeseries. For example, importing measurments from an external temperature sensor for calibration.
  • Updated documentation

0.5.3 (2018-10-26)

  • No changes

0.5.2 (2018-10-26)

  • New resample_datastore method (see basic usage notebook)
  • New notebook on basic usage of DataStore
  • Support for Silixa v4 (Windows xp based system) and Silixa v6 (Windows 7) measurement files
  • The representation string now includes the sections
  • Reorganized the IO related files
  • CI: Add appveyor to continuesly test on Windows platform
  • Auto load Silixa files to memory option, if size is small

0.5.1 (2018-10-19)

  • Rewritten the routine that reads Silixa measurement files
  • dts-calibration is now citable
  • Refractored the MC confidence interval routine
  • MC confidence interval routine speed up, with full dask support
  • Link to mybinder.org to try the example notebooks online
  • Added a few missing dependencies
  • The routine to read the Silixa files is completely refractored. Faster, smarter. Supports both the path to a directory and a list of file paths.
  • Changed imports from dtscalibration to be relative

0.4.0 (2018-09-06)

  • Single ended calibration
  • Confidence intervals for single ended calibration
  • Example notebooks have figures embedded
  • Several bugs squashed
  • Reorganized DataStore functions

0.2.0 (2018-08-16)

  • Double ended calibration
  • Confidence intervals for double ended calibration

0.1.0 (2018-08-01)

  • First release on PyPI.