Skip to content

Releases: NCAS-CMS/cf-python

3.16.3

28 Jan 17:07
Compare
Choose a tag to compare

2025-01-28

  • Allow 'nearest_dtos' 2-d regridding to work with discrete sampling geometry source grids (#832)
  • New method: cf.Field.filled (#811)
  • New method: cf.Field.is_discrete_axis (#784)
  • Include the UM version as a field property when reading UM files (#777)
  • Fix bug that caused climatological time collapses within/over days to fail (#809)
  • New keyword parameter to cf.Field.derivative: ignore_coordinate_units (#807)
  • Allow access to netCDF-4 files in S3 object stores (#712)
  • New class cf.H5netcdfArray
  • New class cf.NetCDF4Array
  • New class cf.CFAH5netcdfArray
  • New class cf.CFANetCDF4Array
  • Replace core dask functionality with that imported from cfdm (#839)
  • Fix bug that sometimes puts an incorrect radian-1 or radian-2 in the returned units of the differential operator methods and functions (#807)
  • Fix bug where cf.example_fields returned a list of Fields rather than a Fieldlist (#725)
  • Fix bug where combining UGRID fields erroneously creates an extra axis and broadcasts over it (#784)
  • Fix bug where cf.normalize_slice doesn't correctly handle certain cyclic slices (#774)
  • Fix bug where cf.Field.subspace doesn't always correctly handle global or near-global cyclic subspaces (#828)
  • New dependency: h5netcdf>=1.3.0
  • New dependency: h5py>=3.10.0
  • New dependency: s3fs>=2024.6.0
  • Changed dependency: numpy>=1.15,<2.0
  • Changed dependency: 1.11.2.0<=cfdm<1.11.3.0
  • Changed dependency: cfunits>=3.3.7
  • Changed dependency: dask>=2024.6.0,<=2024.7.1

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