Releases: NCAS-CMS/cf-python
Releases · NCAS-CMS/cf-python
3.16.2
2024-04-26
- Improve the performance of reading and accessing the data of PP and UM fields files (#746)
- Improve
cf.Field.collapse
performance by lazily computing reduced axis coordinates (#741) - Improve
cf.Field.__getitem__
performance by not re-calculating axis cyclicity (#744) - Reduce output CFA netCDF file size by setting the HDF5 chunksizes of CFA variables to be no larger than required (#739)
- Allow a halo to be added by
cf.Field.indices
andcf.Field.subspace
(#759) - Added spherical regridding to discrete sampling geometry destination grids (#716)
- Added 3-d spherical regridding to
cf.Field.regrids
, and the option to regrid the vertical axis in logarithmic coordinates tocf.Field.regrids
andcf.Field.regridc
(#715) - New keyword parameter to
cf.Field.regrids
andcf.Field.regridc
:return_esmpy_regrid_operator
(#766) - New keyword parameters to
cf.wi
:open_lower
andopen_upper
(#740) - Fix misleading error message when it is not possible to create area weights requested from
cf.Field.collapse
(#731) - Fix bug in
cf.read
when reading UM files that caused LBPROC value 131072 (Mean over an ensemble of parallel runs) to be ignored (#737) - Fix bug in
cf.aggregate
that sometimes put a null transpose operation into the Dask graph when one was not needed (#754) - Fix bug in
cf.aggregate
that caused a failure when property values werenumpy
arrays with two or more elements (#764) - Fix bug in
cf.aggregate
that didn't correctly handle the "actual_range" CF attribute (#764) - Fix bug whereby
Field.cyclic
is not updated after aField.del_construct
operation (#758) - Fix bug that meant
cyclic()
always returned an empty set for domains produced bycf.Field.domain
(#762) - Changed dependency:
cfunits>=3.3.7
- Changed dependency:
netCDF4>=1.6.5
3.16.1
2024-03-01
- Allow DSG trajectories with identical
trajectory_id
values to be aggregated (#723) - New methods:
cf.Field.pad_missing
andcf.Data.pad_missing
(#717) - Fix occasional bug when calculating UGRID cell areas when non-spatial coordinates span the discrete axis (#721)
- New keyword parameter to
cf.Field.insert_dimension
:constructs
(#719) - Added the
cell_measures
andcoordinates
keyword arguments tocf.Field.weights
(#709) - Added the
cell_measures
,coordinates
,return_cell_measure
, andmethods
keyword arguments tocf.Field.cell_area
(#709) - Allow
cf.Data
to be initialised withxarray.DataAarray
(#706) - Fix bug that caused
cf.Field.del_file_location
to fail when updating its metadata constructs (#707) - Fix bug that caused incorrect data arrays in some cyclic subspaces created by
cf.Field.subspace
andcf.Field.__getitem__
(#713) - Changed dependency:
1.11.1.0<=cfdm<1.11.2.0
3.16.0
2023-12-06
- Implemented the reading and manipulation of UGRID mesh topologies (#696)
- New methods:
cf.Field.cell_connectivity
,cf.Field.cell_connectivities
(#696) - New methods:
cf.Field.domain_topology
,cf.Field.domain_topologies
(#696) - New method:
cf.Data.masked_values
(#696) - New method:
cf.Data.arctan2
(#38) - Fix bug that caused
cf.Field.collapse
to give incorrect results for the "sum", "sum_of_weights" and "sum_of_weights2" methods, only in the case that weights have been requested (#701) - Changed dependency:
1.11.0.0<=cfdm<1.11.1.0
- New dependency:
scipy>=1.10.0
3.15.4
2023-10-10
- Record dimension coordinate cell characteristics (#692)
- New set of methods to query, set, del, and
get_cell_characteristics
- Fix bug in
cf.Field.match_by_construct
that always returned True for 1-d constructs whose axis is not in the data, even when the
criterion was not matched (#691) - Fix bug that prevented "https://" netCDF files from being read (#699)
3.15.3
3.15.2
2023-07-21
- Performance improvements to
cf.Field.regrids
andcf.Field.regridc
(#675) - Performance improvements to
cf.read
when reading datasets with compression-by-convention (#671) - New keyword parameter to
cf.Field.regrids
andcf.Field.regridc
:weights_file
(#675) - New keyword parameter to
cf.aggregate
:cells
(#452) - New function:
cf.isclose
(#661) - Allow
cf.Data
and other objects that have data (such ascf.DimensionCoordinate
) to be used as indices (#677) - Fix bug that caused
cf.Field.regrids
andcf.Field.regridc
to fail when the regrid axes are chunked with more than one chunk (#665) - Fix bug that caused
cf.read
to fail for some PP data with a single vertical level (#667) - Changed dependency:
1.10.1.1<=cfdm<1.10.2.0
3.15.1
2023-06-09
- New documentation cheat sheet (#591)
- Performance improvements to
cf.aggregate
(#640) - New methods:
cf.Data.argmin
,cf.Field.argmin
(#577) - Deprecate
cf.relative_vorticity
in favour ofcf.curl_xy
(#643) - Fix bug when using the
-d
option to thecfa
script (#649) - Fix the return tppe from
cf.example_fields
(#654) - Fix
set_data
when the units are invalid (#646) - Fix
cf.Field.laplacian_xy
,cf.Field.grad_xy
,cf.curl_xy
andcf.div_xy
to work in cases when the dimension coordinates are missing standard names (#643) - Changed dependency:
cfunits>=3.3.6
- Changed dependency:
cftime>=1.6.2
3.15.0
2023-04-27
- Re-introduction of CFA-netCDF functionality for CFA-0.6 (#451, #475, #637)
- New function: cf.CFA
- New method: cf.Data.get_cfa_write
- New method: cf.Data.set_cfa_write
- Fix excessive memory use arising from cf.Field.regrids and cf.Field.regridc (#623)
- Fixed bug in cf.Field.read when reading UM/PP data that are run-length encoded (#621)
- Fixed bug in cf.Field.compute_vertical_coordinates that retained incorrect bounds properties (#626)
- Removed benign UserWarning from cf.Field.percentile (#619)
- Handled the renaming of the ESMF Python interface from ESMF to esmpy at version 8.4.0. Both module names are accepted for now.
- Changed dependency: 1.10.1.0<=cfdm<1.10.2.0
- Changed (optional) dependency: 8.0.0<=esmpy
- Changed (optional) dependency: 1.10.0<=scipy
3.14.1
2023-03-10
- Python 3.7 support removed (#611)
- New method:
cf.Field.del_properties
(#598) - New keyword parameter to
cf.Data.concatenate
:relaxed_units
(#602) - New keyword parameter to
cf.unique_constructs
:ignore_properties
(#597) - Allow
cf.aggregate
and to retain external cell measures (#605) - Fixed bug in
cf.Field.collapse
that always retained invalid vertical coordinate reference systems (#599) - Changed dependency:
1.10.0.3<=cfdm<1.10.1.0
- Changed dependency:
cfunits>=3.3.5
- Changed dependency:
8.0.0<=ESMPYcfdm<8.2.0
3.14.0
2023-01-31
- Introduction of
dask
for all data manipulations, replacing the old LAMA methodology (e.g. #295, #428) - Backwards incompatible API changes to facilitate the use of Dask (#579)
- New method:
cf.Field.get_original_filenames
(#448) - New method:
cf.Field.to_dask_array
- Fixed bug when reading UM stash codes that imply an area mean cell method (#487)
- New keyword parameter to
cf.write
:omit_data
(#477) - New keyword parameter to
cf.read
:chunks
(#522) - Extend functionality of
cf.Data.roll
andcf.Field.roll
to allow multiple axes to be rolled simultaneously. - Fixed bug that raised an exception when using the
equal
orexist
keyword ofcf.aggregate
(#499) - Fixed bug that created incorrect cyclic Voronoi bounds from
DimensionCoordinate.create_bounds
(#514) - Changed dependency:
1.10.0.2<=cfdm<1.10.1.0
- New dependency:
dask>=2022.12.1