Changelog
v1.5.1
Compatibility fixes for scipy and matplotlib
Added
Add compatibility fixes for scipy 1.14, see !74 <https://codebase.helmholtz.cloud/psyplot/psyplot/-/merge_requests/74>
Add compatibility fixes for matplotlib 3.9, see !76 <https://codebase.helmholtz.cloud/psyplot/psyplot/-/merge_requests/76>
v1.5.0
Compatibility fixes, cli improvements and code formatting
Changed
migrate to python-package-template, see merge request !60
implement custom warning handling, see merge request !61
fallback to nearest index when not found, see merge request !62
improve guessing of coordinates based on their names, see merge request !63
Fix enhanced attrs, see merge request !66
minor fix for matplotlib 3.8 compatibility, see merge request !68
implement ci-matrix for different python and mpl versions, see merge request !69
Update plugin guide, see merge request !71
Added
v1.4.3
Minor fix for grid files (#53)
v1.4.2
Fix for compatibility with python 3.7
Changed
v1.4.1
Compatibility fixes and minor improvements
Added
An abstract
convert_coordinatemethod has been implemented for thePlotterandFormatoptionclass that can be used in subclasses to convert coordinates for the required visualization. The default implementation does nothing (see #39)
Fixed
the update method now only takes the coordinates that are dimensions in the dataset see #39
psyplot is now compatible with matplotlib 3.5 and python 3.10
Changed
loading more than one variables into a
DataArraynow first selects the corresponding dimensions, then puts it into a singleDataArray. This avoids loading the entire data (see #39)
v1.4.0
Compatibility fixes and LGPL license
Fixed
psyplot is now compatible with 0.18
Added
psyplot does now have a CITATION.cff file, see https://citation-file-format.github.io
Changed
psyplot is now officially licensed under LGPL-3.0-only, see #33
the lower bound for supported xarray versions is now 0.17.
project files do not store the Store anymore as this information cannot be gathered from xarray 0.18. We now rely on xarray to automatically find the engine to open the files.
Documentation is now hosted with Github Pages at https://psyplot.github.io/psyplot. Redirects from the old documentation at https://psyplot.readthedocs.io have been configured.
Examples have been removed from the psyplot repository as they now live in a central place at https://github.com/psyplot/examples
We use CicleCI now for a standardized CI/CD pipeline to build and test the code and docs all at one place, see #32
v1.3.2
Fixed
The
get_xname-like methods of the decoder have been fixed if they get a variable without any dimensions. See #30
v1.3.1
Fixed
3D bounds of coordinate are not interpreted as unstructured anymore (see 660c703
v1.3.0
New repository, presets and compatibility fixes
Added
You can now save and load presets for the formatoptions of a project which applies the formatoptions that you stored in a file to a specific plot method, see #24
the
rcParamsdo now have acatchmethod that allows a temporary change of formatoptions.Usage:
rcParams['some_key'] = 0 with rcParams.catch(): rcParams['some_key'] = 1 assert rcParams['some_key'] == 1 assert rcParams['some_key'] == 0
ArrayList.from_dataset(and consecutively all plotmethods) now support different input types for the decoder. You can pass an instance of theCFDecoderclass, a sub class ofCFDecoder, or keyword arguments that are used to initialize the decoder, see #20. Furthermore, the check_data method of the various plotmethods now also accept a decoder parameter, see #22psyplot.data.open_datasetnow decodes grid_mappings attributes, see #17psyplot projects now support the with syntax, e.g. something like:
with psy.plot.mapplot('file.nc') as sp: sp.export('output.png')
sp will be closed automatically (see #18)
the update to variables with other dimensions works now as well (see #22)
a
psyplot.project.Projectnow has a newformat_stringmethod to format a string with the meta attributes of the data in the projectsThe
ArrayListclass now supports filtering by formatoption keys. You can filter for plotters that have acmapformatoption via:sp1 = psy.plot.mapplot(ds) sp2 = psy.plot.lineplot(ds) full_sp = sp1 + sp2 full_sp(fmts='cmap') # gives equivalent results as addressing sp1 directly
Changed
psyplot has been moved from https://github.com/Chilipp/psyplot to https://github.com/psyplot/psyplot, see #16
Specifying names in x, y, t and z attributes of the CFDecoder class now means that any other attribute (such as the coordinates or axis attribute) are ignored
If a given variable cannot be found in the provided coords to
CFDecoder.get_variable_by_axis, we fall back to theCFDecoder.ds.coordsattribute, see #19A bug has been fixed for initializing a
CFDecoderwithx, y, zandtparameters (see #20)
v1.2.1
This patch fixes compatibility issues with xarray 0.12 and cdo 1.5. Additionally we now officially drop support for python 2.7.
v1.2.0
Added
The
psyplot.plotter.Plotter.initialize_plotmethod now takes a priority keyword to only initialize only formatoptions of a certain priority
Removed
The installers from the psyplot-conda repositories have been depreceated. Instead, now download the latest miniconda and install psyplot and the plugins via
conda install -c conda-forge psy-maps psyplot-gui psy-reg
Changed
We generalized the handling of unstructured data as lined out in issue#6. The new method
psyplot.data.CFDecoder.get_cell_node_coordreturns the coordinates of the nodes for a given grid cell. These informations are used by the psy-simple and psy-maps plugins for displaying any unstructured data. See also the example on the visualization of unstructured gridsWe removed the inplace parameter for the CFDecoder methods since it is deprecated with xarray 0.12 (see issue #8). The
CFDecoder.decode_dsmethod now always decodes inplace
v1.1.0
This new release mainly adds new xarray accossors (psy) for DataArrays
and Datasets. Additionally we provide methods to calculate the spatially
weighted mean, such as fldmean, fldstd and fldpctl.
Added
The yaxis_inverted and xaxis_inverted is now considered when loading and saving a matplotlib axes
Added the
seaborn-stylecommand line argumentAdded the
concat_dimcommand line argumentAdded the plot attribute to the DataArray and Dataset accessors. It is now possible to plot directly from the dataset and the data array
Added
requires_replotattribute for theFormatoptionclass. If this attribute is True and the formatoption is contained in an update, it is the same as callingPlotter.update(replot=True)).We added support for multifile datasets when saving a project. Multifile datasets are datasets that have been opened with, e.g.
psyplot.data.open_mfdatasetorpsyplot.project.plot.<plotmethod>(..., mfmode=True). This however does not always work with datasets opened withxarray.open_mfdataset. In these cases, you have to set theDataset.psy._concat_dimattribute manuallyAdded the
chnameparameter when loading a project. This parameter can be used to display another variable from the dataset than the one stored in the psyplot project fileAdded the
gridweights,fldmean,fldstdandfldpctlmethods to thepsyDataArray accessor to calculate weighted means, standard deviations and percentiles over the spatial dimensions (x- and y).Added the
additional_childrenandadditional_dependenciesparameters to the Formatoption intialization. These parameters can be used to provide additional children for a formatoption for one plotter classWe added the
psyplot.plotter.Formatoption.get_fmt_widgetmethod which can be implemented to insert widgets in the formatoptions widget of the graphical user interface
v1.0.0
Added
Changelog
Changed
When creating new plots using the
psyplot.project.Project.plotattribute,scpfor the newly created subproject is only called when the correspondingProjectis the current main project (gcp(True))The
alternate_pathskeyword in thepsyplot.project.Project.save_projectandpsyplot.data.ArrayList.array_infomethods has been changed toalternative_pathsThe
psyplot.project.Cdoclass does not accept any of the keywordsreturnDA, returnMapsorreturnLineanymore. Instead it takes theplot_methodkeyword and several others.The
psyplot.project.closemethod by default now removes the data from the current project and closes attached datasetsThe modules in the psyplot.plotter modules have been moved to separate packages to make the debugging and testing easier
The psyplot.plotter.simple, baseplotter and colors modules have been moved to the psy-simple package
The psyplot.plotter.maps and boxes modules have been moved to the psy-maps package
The psyplot.plotter.linreg module has been moved to the psy-reg package
The endings of the yaml configuration files are now all .yml. Hence,
the configuration file name is now psyplotrc.yml instead of psyplotrc.yaml
the default logging configuration file name is now logging.yml instead of logging.yaml
Under osx, the configuration directory is now also expected to be in
$HOME/.config/psyplot(as it is for linux)