History#
Wavespectra is an open source project that was started at MetOcean Solutions and open sourced in April 2018. In July 2019 it was moved into the wavespectra github open source organisation and transitioned into a fully community developed project. This changelog covers the release history since v3.0 when wavespectra was open-sourced.
Releases#
5.0.0 (unreleased)#
Breaking Changes#
The
dataset_transformsbehaviour introduced in 4.7.0 becomes the default: methods that transform the spectral variable (interp,interp_like,smooth,split,oned,rotate,to_energy,scale_by_hsand the partitioning methods in thespec.partitionnamespace) return aDatasetinstead of aDataArraywhen called from the Dataset accessor, carrying the non-spectral variables (e.g.wspd,wdir,dpt) from the source dataset which were previously silently dropped. The DataArray accessor is unchanged, e.g.dset.efth.spec.oned()still returns a DataArray. Variables that depend on the spectral dims other than the spectral variable itself are dropped from the output since their coordinates may no longer be consistent with the transformed spectra. Methods that reduce the spectra into parameters such ashsandtpare unaffected and still return a named DataArray from both accessors.The
wspd,wdiranddptarguments of thehp01andtrackpartitioning methods now default to the variables with those names in the underlying dataset when partitioning from a Dataset.
4.7.0 (2026-07-09)#
New Features#
New
wavespectra.set_options/wavespectra.get_optionsfunctions to set package-level options globally or within a context block. The first supported option isdataset_transformswhich opts in to the future behaviour where methods that transform the spectral variable (interp,interp_like,smooth,split,oned,rotate,to_energy,scale_by_hsand the partitioning methods in thespec.partitionnamespace) return aDatasetpreserving the non-spectral variables when called from the Dataset accessor. This will become the default behaviour in wavespectra 5.0; until then, calling these methods from the Dataset accessor without the option set emits aFutureWarningand returns the bare spectral DataArray as before.The
wspd,wdiranddptarguments of theptm1,ptm2andptm4partitioning methods now default to the variables with those names in the underlying dataset when partitioning from a Dataset, e.g.dset.spec.partition.ptm1(). The same defaults apply tohp01andtrackonly when thedataset_transformsoption is set, since falling back on dataset wind would change the wind sea classification of existing code calling these methods without wind arguments.
Bug Fixes#
read_triaxysnow returns a Dataset as documented when reading withmagnetic_variationandregrid_dir=True(previously it returned a DataArray in that case).read_swansnow appends the winds and depth from tab files when thentimesoption is used, previously the tab data were dropped with a warning since they were not sliced consistently with the spectra (#51).
Internal Changes#
rmsenow accepts a Dataset in theotherargument.The
ndaysandntimesoptions ofread_swansnow share a common early-stopping reading loop sondaysalso stops parsing each file once the requested period is read, and the two options can be combined with whichever limit is reached first stopping the reading. Thendayscutoff now keeps records up to the exact end of the period instead of the record nearest to it.
4.6.0 (2026-07-08)#
New Features#
New
trackpartitioning method replacingptm1_track, tracking wave systems in time from partitions produced by any of theptm1,ptm2,ptm3orhp01methods (methodargument, default"ptm1"). Wind-sea matching thresholds are applied to the leading wind sea partitions of each method (both wind seas inptm2) and swell thresholds to the remaining ones;ptm3partitions are unclassified so they are all matched with swell thresholds and wind inputs are not required.The partition tracker now evaluates the time step for each pair of consecutive spectra, so records with gaps or irregular sampling use matching thresholds consistent with the actual time elapsed.
Candidate partition pairs are now matched globally in ascending order of their distance in frequency-direction space, making the tracking independent of partition ordering.
New
systemsoption in thetrackmethod to remap the tracked partitions onto awave_systemdimension in place ofpart, so each tracked wave system occupies its own index and carries values along the entire time axis, null where the system does not exist. Systems spanning fewer time steps thanmin_durationcan be excluded. The remapping is lazy on dask datasets and is also available as the standalonewave_systemsfunction.Rewritten
hp01partitioning method implementing the swell combining criteria of Hanson and Phillips (2001) and Hanson et al. (2009) from scratch. Swell partitions belonging to the same wave system are combined based on the saddle point between adjacent partitions (zeta), the separation between partition peaks relative to their spectral spread (kappa, renamed fromk) and the angle between partition mean directions (angle_max). The criteria are evaluated on an adjacency graph of the watershed partitions with statistics recomputed after every merge and the strongest candidate pairs combined first, so results are independent of partition ordering; spectral variance is conserved throughout. Small partitions are merged onto their most connected neighbours based on thehs_minthreshold or the optional Hanson and Phillips (2001) noise floor (noise_a,noise_b). The method supports prescribing an exact number of output partitions, with extra swells either combined or dropped.Support
swells=None(parts=Noneinptm3) in all watershed partitioning methods, sizing the outputpartdimension from the largest number of partitions detected across all spectra by an extra counting pass over the data.New
awac,datawellandobscapeengines forxr.open_dataset, completing the xarray backend registration of all wavespectra readers.Binary wheels published for CPython 3.9-3.13 on Linux (x86_64, aarch64), macOS (x86_64, arm64) and Windows (amd64), so installing wavespectra no longer requires a C compiler.
Breaking Changes#
The
ptm1_trackmethod has been replaced bytrack(usemethod="ptm1"for the previous behaviour). The output variables have been renamed for clarity:part_idis nowtrack_idandnpart_idis nowntracks.match_consecutive_partitionsnow takes per-partition threshold arrays andnp_track_partitions/track_partitionstake annseaargument defining the number of leading wind sea partitions; times must be strictly increasing andwspdis only required whennsea > 0.The experimental
wstypeargument ofhp01and the associatednp_hp01_wseabinsandnp_hp01_wseafrac_wseabinsvariants have been removed; the wind sea is now always defined by the wind-sea fraction criterion as inptm1. Thekargument ofhp01has been renamedkappaand the internals of thehanson_and_phillips_2001module have been rewritten, removing the previous helper functions. These changes are confined to thehp01method, which was previously documented as under development.
Bug Fixes#
Fix
DatawellBackendEntrypointpassing an unsupportedfiletypeargument toread_datawell, which madexr.open_dataset(..., engine="datawell")unusable.Fix silent corruption of watershed partitions for spectra that are not C-contiguous in memory, e.g. datasets stored with dims
(..., dir, freq). ThespecpartC extension wrapper now converts any input dtype and memory layout at the boundary, matching the behaviour of the f2py wrapper around the pre-v4 Fortran code. Reported by daniel-caichac-DHI (GH142, PR160).Fix intermittent deadlock when writing dask-backed spectra to netCDF in
to_ww3andto_netcdfby forcing the single-threaded dask scheduler during the write, avoiding cross-thread contention on the netCDF4/HDF5 global lock.Fix
as_siteargument silently ignored when reading ERA5 spectra through the xarray backend entrypoint (xr.open_dataset(..., engine="era5", as_site=True)).Fix wrong default upper direction bound
dmaxin thebboxpartition method.
Internal Changes#
Rewrite the
specpartC extension without global state, making it reentrant and thread-safe under dask’s threaded scheduler; release the GIL during computation, validate inputs, raise proper Python exceptions instead of exiting, and fix a memory leak. The rewritten kernel is verified to produce partition maps bit-identical to the pre-v4 Fortran implementation over 1420 comparison cases (seewavespectra/partition/specpart/ANALYSIS.md).Run ruff linting and coverage reporting in CI; add pip caching and a per-test timeout so hanging tests fail fast with a traceback; remove the unused tox and flake8 configurations.
Clean up lint findings across the source and test suite; restore disabled test assertions (HP01 Hs conservation,
peak_directional_spread) and fix Pierson-Moskowitz test tolerances that previously asserted nothing.Documentation fixes: correct JONSWAP
sigma_a/sigma_bvalues in the Zieger reconstruction page, fix broken imports in the reconstruction examples, remove the orphaned library page and enablesphinx.ext.napoleonso Google-style docstrings render properly in the API reference.Report reader import failures with
warnings.warninstead of printing to stdout, including the module name and the original error; new parity tests ensure every reader module keeps a top-levelread_*function, a registered xarray engine and a backend signature consistent with its reader.Reconcile the reader listings in the API documentation with the available readers (add missing
read_awac,read_datawell,read_obscapeandread_wavespectraentries, remove a duplicate).
4.5.1 (2026-06-27)#
Bug Fixes#
Clip energy to non-negative before the
sqrtin theto_funwaveandto_funwave_newwriters so that tiny negative energy left by interpolation or rotation (float cancellation, ~1e-21) no longer producesNaNamplitudes.
4.5.0 (2026-06-16)#
New Features#
New
to_funwave_newwriter to save spectra as individual wave components in the format expected by the FUNWAVE-TVDWK_NEW_DATA2Dwavemaker (WaveCompFile), supporting optional phases, direction clipping, 1D spectra and zip archives for multiple spectra.New
read_funwave_newreader to reconstruct gridded spectra from FUNWAVE-TVDWK_NEW_DATA2Dwave component files, also available as thefunwave_newengine inxr.open_dataset.
4.4.3 (2026-06-02)#
Bug Fixes#
Internal Changes#
Fix pandas 4 deprecation warning in NDBC ASCII reader by passing
include=["object", "str"]toselect_dtypesinstead of bareobject
4.4.2 (2025-10-30)#
Bug Fixes#
Replace np.trapzoid with scipy’s version in the awac reader to avoid issues with numpy 2.0 (PR152)
Fix broken cli tests
Internal Changes#
Add deepwiki badge
Remove incompatible autodoc dependency to support Python 3.11+
Address deprecation warnings
Several improvements to the README file
4.4.1 (2025-04-18)#
Bug Fixes#
Internal Changes#
Replace np.trapz with np.trapzoid to remove deprecation warning
Set float64 dtype in time encoding when writing ww3 netcdf files to silence warning
Support Python 3.13
Drop support for Python 3.8
4.4.0 (2025-03-25)#
New Features#
Support ERA5 netcdf files from the new cds api which have different naming conventions.
New utils function to calculate a logarithmic frequency array.
Generalise the generation of the spectral coordinates in read_era5 to support different spectral grids, e.g., files from the operational ECMWF wave model.
Breaking Changes#
read_era5 no longer supports the freqs and dirs arguments. It now accepts f0 and df arguments, defaulting to 0.03453 and 1.1, respectively.
Internal Changes#
Update documentation to include missing util functions.
4.3.0 (2024-12-20)#
New Features#
4.2.1 (2024-11-26)#
Internal Changes#
Bug fixes to allow writing swan ascii files from spectra with no time or site dims.
4.2.0 (2024-11-13)#
Breaking Changes#
Remove dset_lons / dset_lats variables from the select methods. These variables were not necessary and were only defined to support some legacy chunking issues.
Internal Changes#
Support datasets with different coordinate names in the select module.
Support lons/lats specified as scalars in the SpecDataset.sel method.
Add new github workflow to test the package on push on different OS with different python versions.
4.1.1 (2024-09-18)#
Internal Changes#
Rename specpartc to specpart to try and fix inconsistencies in module definition.
4.1.0 (2024-09-09)#
New Features#
New reader for Nortec AWAC files by Ruben de Bruin (PR137).
New reader for Datawell buoy files (PR135).
Allow reading spotter buoy files as 2D spectra (PR134).
Internal Changes#
Changes to the csv and json spotter readers to optimise and standardise them.
4.0.3 (2024-06-19)#
Internal Changes#
Declare integers in specpart.c to fix compilation on macOS.
4.0.2 (2024-06-18)#
Internal Changes#
Changes to specpart.c to fix compilation on Windows by Sebastien Dealaux (PR130)
Fix sel tests that started to break after numpy 2.0 upgrade due to float precision.
Fix ncswan test that started to break after numpy 2.0 upgrade due to f5py error.
4.0.1 (2024-06-14)#
Bug Fixes#
Fix path of specpart data files so they are packaged properly.
4.0.0 (2024-06-14)#
This major release brings several new features and improvements including spectra construction capability, a new partitioning api and replacement of the fortran watershed algorithm with a new translated version in C freeing wavespectra from the fortran dependency. The release also includes new methods for spectral statistics, backend engines to open spectra files directly in xarray, and a new command line interface to convert between spectra file formats and create netcdf files with integrated spectral parameters from spectra files.
New Features#
Spectra construction#
New functions to construct frequency spectra within the wavespectra.construct.frequency module:
pierson-moskowitz spectrum for fully developed seas (Pierson and Moskowitz, 1964)
jonswap spectrum for developing seas (Hasselmann et al., 1973)
tma spectrum for seas in finite depth (Bouws et al., 1985)
gaussian spectrum for swells (Bunney et al., 2014)
Directional spreading functions within the wavespectra.construct.direction module:
cartwright cosine-square distribution (Cartwright, 1963)
asymmetric distribution for turning wind seas (Bunney et al., 2014)
Methods for fitting Jonswap and Gaussian in SpecArray from existing spectra by Paul Branson (PR4).
Partitioning#
New partition api with several new methods:
ptm1
ptm2
ptm3
ptm4
ptm5
bbox
hp01
New method to track watershed partitions ptm1_track by Sebastien Dealaux (PR5).
Stats#
Method for non-linear gaussian fit in SpecArray by Paul Branson (PR3).
Methods to calculate stokes drift and the mean squared slope by Paul Branson (PR1).
Gaussian frequency width method gw in SpecArray.
Jonswap peak enhancement factor method gamma in SpecArray.
Jonswap fetch scaling coefficient method alpha in SpecArray.
Peak directional spread method dpspr in SpecArray.
Peak frequency method fp in SpecArray.
Root-mean-square wave height method hrms in SpecArray.
Root-mean-square error method rmse in SpecArray.
IO#
New xarray backend entrypoints for reading wavespectra datasets with xr.open_dataset.
New input function to read xwaves mat format.
New input function to read obscape buoy spectra by Ruben de Bruin. (PR116).
Command line interface#
New CLI to convert between spectra file formats.
New CLI to create netcdf file with integrated spectral parameters from spectra file.
New CLI to Partition and reconstruct spectra from file
Other#
New Spectra smoothing capability.
New method in SpecArray to rotate spectra.
Bug Fixes#
Fix reading of ndbc-type dataset in read_dataset.
Fix bug in the spec.split() method where direction slicing was not working correctly.
Internal Changes#
Watershed partitioning algorithm translated from fortran to C by Sebastien Dealaux (PR121). Fortran is no longer required to install wavespectra. This also fixes a problem with trying to install wavespectra in development mode.
SpecArray.partition now longer is a method but a namespace to access the different partitioning options.
Change ihmax default from 200 to 100 in specpart (in line with WAVEWATCHIII), options to redefine ihmax in the partition methods.
Allow reading WW3 and SWAN files without winds and depth available.
Optimised and simplified calculations in frequency and directional moments methods.
Rename SpecArray.dfarr as SpecArray.df.
wavenuma function now takes the cyclic frequency (Hz) instead of the angular frequency omega.
Ensure spectral attributes are defined in the interp method of SpecArray.
Make read_ndbc return 1D spectra if any of the directional variables are missing.
Support arbitrary kwargs in the read_dataset reader.
Deprecation#
Removed wavespectra.SpecArray.dfarr method, replaced by wavespectra.SpecArray.df.
Removed the unused wavespectra.core.utils.GAMMA lambda function.
Removed the deprecated SpecArray.partition() method; SpecArray.partition is now a new namespace to access the different partitioning options. The legacy partition method is now equivalent to spec.partition.ptm1() with the ihmax argument set to 200.
3.19.0 (2024-05-02)#
Internal Changes#
Remove numba dependency (PR122)
Remove other dependencies already installed by xarray.
3.18.0 (2024-02-01)#
New Features#
Support gzip writing in octopus writer and reader (PR110).
New option to set compression level when writing gzipped swan ascii file.
Internal Changes#
Gzipped swan ascii files are written with compresslevel=6 by default instead of 9.
Explicitly set text mode when reading / writing swan ascii files.
3.17.0 (2024-01-09)#
New Features#
Support ERA5 and NDBC netcdf file types in read_dataset reader.
Support datasets with no lat / lon variables when writing octopus and swan ascii. There is now an option to specify the coordinates manually or skip specifying them.
Internal Changes#
Stop relying on lon/lat coordinates in order to identify file types in read_dataset.
Ensure octopus writer can handle lon/lat defined as coordinates in dataset rather than data_vars.
Fix octopus writer to support datasets without site as a dimension.
Fix swan ascii writer for bug in cases where lon/lat are dimensions and site is not.
3.16.0 (2023-12-14)#
New Features#
Allow ignoring missing sites within tolerance in the nearest method (PR102).
Internal Changes#
Ensure at least one site is found in nearest method.
Ensure sites are returned in the same order as the input dataset in nearest method when the unique option is selected.
3.15.2 (2023-12-01)#
New Features#
Docker image based on ubuntu:22.04 built and push to github packages (PR100).
Internal Changes#
Stop pinning netcdf4, opendap issue seems to be fixed.
Remove numpy from pyproject.toml since numba installs specific versions (Fixes GH95)
Move content of tox.ini into pyproject.toml.
3.15.1 (2023-08-29)#
New Features#
New reader read_ww3_station for WW3 stations spectral files from GFS / NOAA by Matthew Iannucci (PR92).
Internal Changes#
Changes to all netcdf- and zarr-based, and some ascii-based reader functions to allow providing file objects. This allows reading from remote files without downloading them first, e.g. from Google Cloud Storage or AWS S3 by providing a fsspec file object. By Matthew Iannucci (PR92).
Replace deprecated date_parser argument in pandas.read_csv calls by date_format (GH90).
3.15.0 (2023-08-14)#
This release adds deprecation warnings to functions and modules that will be removed or redesigned in the next major release.
Bug Fixes#
Fix reading of gzipped swan ascii files.
Internal Changes#
Add deprecation warnings to prepare for the next major release.
3.14.0 (2023-07-03)#
Internal Changes#
Redefine packaging via pyproject.toml to conform to PEP517/518 (PR87).
All packaging metadata removed from setup.py and moved to pyproject.toml. The setup.py file is now only used to build the Fortran module.
Removed the MANIFEST.in file, package data now handled in pyproject.toml.
Removed the requirements folder, requirements now handled in pyproject.toml.
Removed some packaging attributes from wavespectra.__init__.py, now handled in pyproject.toml.
Replace docs the RTD by the PYDATA docs theme, this fixes issue with rtd not working with sphinx>=7.0.
Add readthedocs config.
3.13.0 (2023-01-09)#
New Features#
Support for CSV Spotter files in read_spotter by by ryancoe (PR77).
New reader read_ndbc for NDBC netcdf datasets (PR80).
Bug Fixes#
Fix bug in 2D spectra construction in read_ndbc_ascii due to wrong scaling (GH70).
Ensure directions are continuous when reading from Funwave file with split directions.
Internal Changes#
New github action to test and publish package on new releases.
Deprecation#
Replace previous NDBC ASCII reader read_ndbc by read_ndbc_ascii.
3.12.1 (2022-10-27)#
Internal Changes#
Fix numpy pre-install requirement by cmichelenstrofer (PR75).
3.12.0 (2022-08-19)#
New Features#
Improve installation section in the docs to mention pre-install requirements of numpy and Fortran compiler.
Bug Fixes#
Fix bug caused by fixed numpy version (PR72).
Internal Changes#
Import Fortran partition code inside function so the library can still be imported if the module does not build.
Remove Hypothesis from requirements.
3.11.0 (2022-05-04)#
New Features#
New reader for Octopus file format by Ruben de Bruin (PR65).
Bug Fixes#
Fix bug in direction calculation caused by changes in xr ufuncs (PR59).
Fix nrecs in test octopus file.
Fix to zarr testing by Ruben de Bruin (PR55).
Internal Changes#
Only interpolate with inverse distance weighting if 2 or more neighbour sites are found within tolerance (PR62).
Allow pathlib objects in read_swan (PR64).
Increase float precision in Octopus writer.
Make zarr, fsspec and gcsfs extra dependencies instead of default.
Remove get_mapper call from zarr opener.
3.10.0 (2021-08-21)#
New Features#
New option in read_triaxys to allow providing the magnitic declination to correct.
New spectral regridding capability by Ruben de Bruin. The function is wrapped in SpecArray.interp and SpecArray.interp_by which mimic the behaviour in the respective counterparts from xarray.
Replace plot api by a simple wrapper around xarray plotting capability. The new wrapper no longer duplicate internal functions from xarray and should better integrate any upstream changes. The new api also handles logarithmic axes and masking in a more natural way (PR48).
New Orcaflex export function by Ruben de Bruin (PR37).
New wavespectra.core.utils.unique_indices function (unique_times will be deprecated in future releases.
Bug Fixes#
Fix plot bug with the new plot api (GH44).
Fix bug in scale_by_hs when run on dask datasets.
Internal Changes#
Fixed sphinx-gallery dependency by by Ruben de Bruin (PR41).
Add new funwave functiont to docs.
Update authors list.
Allow pathlib objects in read_triaxys.
Deprecation#
Calling the plot kind as a method from SpecArray.plot, e.g. SpecArray.plot.contourf is deprecated with the new plotting api. Now kind needs to be provided as an argument.
Arguments show_radius_label and show_direction_label are deprecated from SpecArray.plot. Labels are no longer drawn as they fall on top of ticks. In order to show it the axes properties now must be manually defined from the axis.
Argument as_log10 from the old plot api to plot the log10(efth) is deprecated in the new api. Similar result can be achieved in the new api by manually converting efth before plotting.
Remove deprecated methods _strictly_increasing and _collapse_array and _twod.
Remove dfarr attribute from SpecArray, replaced by df.
Remove unused functions to_datetime and dnum_to_datetime.
The “mask” argument has been removed from SpecArray.sw method.
3.9.0 (2021-05-29)#
New Features#
Funwave spectra reader read_funwave (PR36).
Funwave spectra writer to_funwave (PR36).
3.8.1 (2021-04-06)#
Bug Fixes#
Add numba to setup.py, not installed properly from requirements/default.txt for some reason.
3.8.0 (2021-03-30)#
New Features#
Watershed partitioning now supports dask (PR27).
Spectral splitting now supports dask.
- The following spectral parameters now support dask (PR11):
tp
dp
dpm
dspr
Wavespectra conda recipe by Ruben de Bruin.
Internal Changes#
Core watershed partitioning code organised into watershed module.
max_swells replaced by swells in watershed partition to return fixed number of swells.
Renamed module wavespectra.core.misc by wavespectra.core.utils.
Removed deprecated method _same_dims, _inflection and _product from SpecArray.
Get rid of simpy dependency.
New daskable stats defined as ufuncs using numba.
SpecArray attributes redefined as property methods.
Bug Fixes#
deprecation#
Drop support for python < 3.7
Dropped args hs_min and nearest in SpecArray.partition.
3.7.2 (2021-01-12)#
New Features#
Handle ndbc spectra files with no minutes column (PR25).
Writers to_swan and to_octopus now deal with extra non-supported dimensions.
Internal Changes#
Stop fixing pandas and xarray versions.
Remove attrdict dependency.
Define _FillValue in to_netcdf.
Bug Fixes#
3.7.1 (2020-08-26)#
Internal Changes#
Optimise to_swan (over 100x improvements when writing very large spectra).
Optimise to_octopus (over 10x improvements when writing very large spectra).
Allow loading time chunks when writing swan and octopus files.
3.7.0 (2020-07-16)#
New Features#
New json reader and writer (PR21).
Internal Changes#
Raise exception when trying to compute directional methods on 1d, frequency spectra.
3.6.5 (2020-07-10)#
Bug Fixes#
Fix bug in sel methods.
3.6.4 (2020-06-29)#
Bug Fixes#
Ensure yml config is shipped with distribution.
3.6.3 (2020-06-28)#
Internal Changes#
Increase time resolution in netcdf outptu from to_netcdf.
3.6.2 (2020-06-28)#
Internal Changes#
Make netcdf packing work for datasets in zarr format.
3.6.1 (2020-06-28)#
Internal Changes#
Packing output netcdf files as int32 dtype by default.
3.6.0 (2020-06-27)#
New Features#
New method to construct spectra from NDBC buoy data (PR17).
New method to output spectra in native WW3 format.
Bug Fixes#
Fix bug with selecting circular longitudes in different conventions (GH20).
Ensure directions in coming-from convention in read_era5 (PR18).
Fix radian convertions in read_era5 (PR19).
Fix coordinate values assignment errors with xarray>=0.15.1 (GH16).
Ensure coordinates attributes are kept with certain readers.
deprecation#
Internal Changes#
Remove curly brackets from units.
Remove original variable attributes from files hidden with underscores (_units and _variable_name).
Remove xarray version limitation to <0.15.0.
3.5.3 (2020-04-14)#
Fix xarray version until breaking changes with 0.15.1 are taken care of.
Bug Fixes#
Avoid index duplication when merging datasets in to_octopus function.
Internal Changes#
Fix xarray at 0.15.0 for now as 0.15.1 introduces many breaking changes.
3.5.2 (2020-03-09)#
New Features#
New method read_era5 to read spectra in ERA5 format by John Harrington.
New method read_wavespectra to read files already in wavespectra convention.
3.5.1 (2019-12-12)#
Bug Fixes#
Import accessors within try block in __init__.py so install won’t break.
Internal Changes#
Implemented coveralls.
Added some more tests.
3.5.0 (2019-12-09)#
The first PyPI release from new wavespectra github organisation.
Breaking Changes#
Drop support for Python 2.
Drop support for Python < 3.6.
New Features#
Add method in SpecDataset accessor to plot polar wave spectra, api borrowed from xarray.
New sel method in SpecDataset accessor to select sites using different methods.
Support for zarr wave spectra datasets from either local or remote sources.
New read_spotter function to read spectra from Spotter file format, currently only reading as 1D.
Add read_dataset function to convert existing dataset from unknown file into SpecDataset.
Python Notebooks split into a new notebooks repository within the wavespectra organisation.
New branch pure-python with fortran watershed algorithm replaced by python. This code is ~3x slower than the fortran one but it is easier to install particularly if the system does not have fortran compiler. We will make an effort to keep this branch in sync with Master.
Redefined autodocs.
Bug Fixes#
Consolidate history to link to github commits from all contributors.
Fix error in partition with dask array not supportting item assignment.
Fix docs building, currently working from pure-python branch due to gfortran dependency.
Internal Changes#
Decouple file reading from accessor definition in input functions so existing datasets can be converted.
Compute method _twod lazily.
Replace drop calls to fix deprecation warnings.
Consolidate changelog in history file.
Building with travis and tox.
Adopt black code formatting.
Set up flake8.
3.4.0 (2019-03-28)#
The last PyPI release from old metocean github organisation.
New Features#
Add support to Python 3.
3.3.1 (2019-03-19)#
New Features#
Support SWAN Cartesian locations.
Support energy unit in SWAN ASCII spectra.
3.3.0 (2019-02-21)#
New Features#
Add dircap_270 option in read_swan.
Bug Fixes#
Ensure lazy computations in swe method.
Internal Changes#
Remove inplace calls that will deprecate in xarray.
3.2.5 (2019-01-25)#
Bug Fixes#
Ensure datasets are loaded lazily in read_swan and read_wwm.
3.2.4 (2019-01-23)#
Bug Fixes#
Fix tp-smooth bug caused by float32 dtype.
3.2.3 (2019-01-08)#
New Features#
Function read_triaxys to read spectra from TRIAXYS file format.
Bug Fixes#
Fix bug with frequency and energy units in read_wwm.
3.2.2 (2018-12-04)#
Bug Fixes#
Ensure dataset from swan netcdf has site coordinate.
3.2.1 (2018-11-14)#
New Features#
Function read_wwm to read spectra from WWM model format.
Bug Fixes#
Convert direction to degree in read_ncswan.
3.2.0 (2018-11-04)#
New Features#
Function read_ncswan to read spectra from SWAN netcdf model format.
Bug Fixes#
Ensure lazy computation in uv_to_spddir.
Internal changes#
Unify library PyPI release versions.
3.1.4 (2018-08-29)#
Bug Fixes#
Fix bug in read_swans when handling swan bnd files with ntimes argument.
3.1.3 (2018-07-27)#
Changes#
Use 10m convention in default wind standard names.
3.1.2 (2018-07-05)#
Changes#
Adjust default standard name for dm.
Bug Fixes#
Fix renaming option in stats method.
3.1.1 (2018-05-17)#
Bug Fixes#
New Features#
Allow choosing maximum number of partitions in partition method.
3.1.0 (2018-05-09)#
New Features#
Function to read spectra in cf-json formatting.
Bug Fixes#
Fix but in read_swan when files have no timestamp.
3.0.2 (2018-05-03)#
Bug Fixes#
Ensure data is not loaded into memory in read_ww3.
3.0.1 (2018-04-28)#
New Features#
Sphinx autodoc.
Method read_dictionary to define SpecDataset from python dictionary.
Set pytest as the testing framework and add several new testings.
Add notebooks.
Bug Fixes#
Get rid of left over freq coordinate in hs method.
Fix calculation in _peak method.
Stop misleading warning in tp method.
Fix to hs method.
Internal Changes#
Replace obsolete sort method by xarray’s sortby.
Falster calculation in tp.
Improvements to SpecDataset wrapper.
3.0 (2018-03-05)#
This major release marks the migration from the predecessor pyspectra library, as well as the open-sourcing of wavespectra and first PyPI release.
New Features#
Library restructured with plugins input / output modules .
New _peak method to return the true peak instead of the maxima.
Making reading functions available at module level.
Bug Fixes#
Ensure slicing won’t break due to precision (xarray bug).
Internal Changes#
Rename package.