Skip to content

Releases: NCAS-CMS/cf-python

3.16.2

26 Apr 22:57
Compare
Choose a tag to compare

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 and cf.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 to cf.Field.regrids and cf.Field.regridc (#715)
  • New keyword parameter to cf.Field.regrids and cf.Field.regridc: return_esmpy_regrid_operator (#766)
  • New keyword parameters to cf.wi: open_lower and open_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 were numpy 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 a Field.del_construct operation (#758)
  • Fix bug that meant cyclic() always returned an empty set for domains produced by cf.Field.domain (#762)
  • Changed dependency: cfunits>=3.3.7
  • Changed dependency: netCDF4>=1.6.5

3.16.1

01 Mar 17:07
Compare
Choose a tag to compare

2024-03-01

  • Allow DSG trajectories with identical trajectory_id values to be aggregated (#723)
  • New methods: cf.Field.pad_missing and cf.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 and coordinates keyword arguments to cf.Field.weights (#709)
  • Added the cell_measures, coordinates, return_cell_measure, and methods keyword arguments to cf.Field.cell_area (#709)
  • Allow cf.Data to be initialised with xarray.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 and cf.Field.__getitem__ (#713)
  • Changed dependency: 1.11.1.0<=cfdm<1.11.2.0

3.16.0

06 Dec 18:23
Compare
Choose a tag to compare

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

10 Oct 14:19
Compare
Choose a tag to compare

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

31 Aug 14:31
Compare
Choose a tag to compare

2023-08-31

  • Prevent unlimited dimensions from being written to CFA-netCDF files (#689)

3.15.2

21 Jul 15:16
Compare
Choose a tag to compare

2023-07-21

  • Performance improvements to cf.Field.regrids and cf.Field.regridc (#675)
  • Performance improvements to cf.read when reading datasets with compression-by-convention (#671)
  • New keyword parameter to cf.Field.regrids and cf.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 as cf.DimensionCoordinate) to be used as indices (#677)
  • Fix bug that caused cf.Field.regrids and cf.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

09 Jun 14:16
Compare
Choose a tag to compare

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 of cf.curl_xy (#643)
  • Fix bug when using the -d option to the cfa 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 and cf.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

27 Apr 17:46
Compare
Choose a tag to compare

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

10 Mar 18:04
Compare
Choose a tag to compare

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

31 Jan 11:42
Compare
Choose a tag to compare

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 and cf.Field.roll to allow multiple axes to be rolled simultaneously.
  • Fixed bug that raised an exception when using the equal or exist keyword of cf.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