Skip to content

Commit

Permalink
Merge branch 'main' into esmf_args
Browse files Browse the repository at this point in the history
* main:
  Fix for older iris versions (<3.10) (#431)
  Numpy 2 fix (#426)
  Bump scitools/workflows from 2024.09.9 to 2024.10.3 (#425)
  [pre-commit.ci] pre-commit autoupdate (#421)
  Fix load_regridder docstring (#404)
  Bump peter-evans/create-pull-request from 7.0.0 to 7.0.5 (#411)
  Bump scitools/workflows from 2024.09.2 to 2024.09.9 (#416)
  Updated environment lockfiles (#414)
  add zenodo badge, update LICENSE (#419)
  Authorise the pull request using the SciTools App token. (#418)
  remove references to SciTools-incubator (#417)
  Updated environment lockfiles (#393)
  Bump scitools/workflows from 2024.08.0 to 2024.09.2 (#400)
  Bump peter-evans/create-pull-request from 6.1.0 to 7.0.0 (#399)
  • Loading branch information
stephenworsley committed Nov 7, 2024
2 parents 6c23d65 + af9a69e commit 4ac5bb8
Show file tree
Hide file tree
Showing 18 changed files with 775 additions and 723 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci-manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ concurrency:
jobs:
manifest:
name: "check-manifest"
uses: scitools/workflows/.github/workflows/ci-manifest.yml@2024.08.0
uses: scitools/workflows/.github/workflows/ci-manifest.yml@2024.10.3
4 changes: 2 additions & 2 deletions .github/workflows/ci-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ jobs:
runs-on: ubuntu-latest
# upload to Test PyPI for every commit on main branch
# and check for the SciTools repo
if: github.event_name == 'push' && github.event.ref == 'refs/heads/main' && github.repository_owner == 'SciTools-incubator'
if: github.event_name == 'push' && github.event.ref == 'refs/heads/main' && github.repository_owner == 'SciTools'
steps:
- uses: actions/download-artifact@v4
with:
Expand All @@ -140,7 +140,7 @@ jobs:
name: "Publish to PyPI"
runs-on: ubuntu-latest
# upload to PyPI for every tag starting with 'v'
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') && github.repository_owner == 'SciTools-incubator'
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') && github.repository_owner == 'SciTools'
steps:
- uses: actions/download-artifact@v4
with:
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/refresh-lockfiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,26 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: install nox
run: |
source $CONDA/bin/activate base
conda install -y -c conda-forge nox pyyaml
- name: generate lockfiles
run: $CONDA/bin/nox --session update_lockfiles

- name: generate token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
id: generate-token
with:
app_id: ${{ secrets.AUTH_APP_ID }}
private_key: ${{ secrets.AUTH_APP_PRIVATE_KEY }}

- name: create pull request
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
with:
token: ${{ steps.generate-token.outputs.token }}
commit-message: Updated environment lockfiles
delete-branch: true
branch: auto-update-lockfiles
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ jobs:
- uses: actions/[email protected]
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: '@SciTools-incubator/esmf-regrid-devs This issue is stale due to a lack of activity in the last 180 days. Remove stale label or comment, otherwise this issue will close automatically in 14 days time.'
stale-pr-message: '@SciTools-incubator/esmf-regrid-devs This pull-request is stale due to a lack of activity in the last 180 days. Remove stale label or comment, otherwise this pull-request will close automatically in 14 days time.'
stale-issue-message: '@SciTools/esmf-regrid-devs This issue is stale due to a lack of activity in the last 180 days. Remove stale label or comment, otherwise this issue will close automatically in 14 days time.'
stale-pr-message: '@SciTools/esmf-regrid-devs This pull-request is stale due to a lack of activity in the last 180 days. Remove stale label or comment, otherwise this pull-request will close automatically in 14 days time.'
stale-issue-label: 'Stale: Closure warning'
stale-pr-label: 'Stale: Closure warning'
close-issue-message: '@SciTools-incubator/esmf-regrid-devs This stale issue has been automatically closed due to no community activity'
close-pr-message: '@SciT@SciTools-incubator/esmf-regrid-devs This stale pull-request has been automatically closed due to no community activity'
close-issue-message: '@SciTools/esmf-regrid-devs This stale issue has been automatically closed due to no community activity'
close-pr-message: '@SciT@SciTools/esmf-regrid-devs This stale pull-request has been automatically closed due to no community activity'
close-issue-label: 'Stale: Closed'
close-pr-label: 'Stale: Closed'
exempt-issue-labels: 'Status: Blocked,Status: Decision needed,Status: Needs info,Status: Stalled,Status: Will not fix,Status: Work in progress'
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: 'v4.6.0'
rev: 'v5.0.0'
hooks:
# Prevent giant files from being committed.
- id: check-added-large-files
Expand All @@ -17,7 +17,7 @@ repos:
# Don't commit to master branch.
- id: no-commit-to-branch
- repo: https://github.com/psf/black
rev: '24.8.0'
rev: '24.10.0'
hooks:
- id: black
# Force black to run on whole repo, using settings from pyproject.toml
Expand Down
96 changes: 48 additions & 48 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Fixed

- [PR#385](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/385)
- [PR#385](https://github.com/SciTools/iris-esmf-regrid/pull/385)
Fixed bug when connectivities are described by non-masked arrays.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#387](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/387)
- [PR#387](https://github.com/SciTools/iris-esmf-regrid/pull/387)
Fixed incompatibilities with changes to iris API in v3.10.0.
[@stephenworsley](https://github.com/stephenworsley)

### Added

- [PR#276](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/276)
- [PR#276](https://github.com/SciTools/iris-esmf-regrid/pull/276)
Allow regridding for grids defined on coordinates without bounds for
nearest neighbour and bilinear methods.
[@stephenworsley](https://github.com/stephenworsley)
Expand All @@ -29,51 +29,51 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Added

- [PR#357](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/357)
- [PR#357](https://github.com/SciTools/iris-esmf-regrid/pull/357)
Added support for saving and loading of `ESMFAreaWeighted`, `ESMFBilinear`
and `ESMFNearest` regridders.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#319](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/319)
- [PR#319](https://github.com/SciTools/iris-esmf-regrid/pull/319)
Added `CITATION.cff`.
[@bjlittle](https://github.com/bjlittle)

### Changed

- [PR#361](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/361)
- [PR#361](https://github.com/SciTools/iris-esmf-regrid/pull/361)
Moved the code for running benchmarks to `bm_runner.py` in line with iris
benchmarks.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#293](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/293)
- [PR#293](https://github.com/SciTools/iris-esmf-regrid/pull/293)
Enumerated method and normtype input.
[@ESadek-MO](https://github.com/ESadek-MO)

### Fixed

- [PR#239](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/239)
- [PR#239](https://github.com/SciTools/iris-esmf-regrid/pull/239)
Ensured dtype is preserved by regridding.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#353](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/353)
- [PR#353](https://github.com/SciTools/iris-esmf-regrid/pull/353)
Fixed a bug which caused errors with ESMF versions 8.6 and higher.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#338](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/338)
- [PR#338](https://github.com/SciTools/iris-esmf-regrid/pull/338)
Fixed a potential memory leak when creating regridders.
[@stephenworsley](https://github.com/stephenworsley)

## [0.9] - 2023-11-03

### Added

- [PR#178](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/178)
- [PR#178](https://github.com/SciTools/iris-esmf-regrid/pull/178)
Added support for coordinate systems with non-degree type units.
[@stephenworsley](https://github.com/stephenworsley)

- [PR#311](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/311)
- [PR#311](https://github.com/SciTools/iris-esmf-regrid/pull/311)
Added support for Mesh to Mesh regridding.
[@HGWright](https://github.com/HGWright)

### Fixed

- [PR#301](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/301)
- [PR#301](https://github.com/SciTools/iris-esmf-regrid/pull/301)
Fixed a bug which caused errors when regridding with the node locations
of a mesh whose face_node_connectivity had non-zero start_index.
[@stephenworsley](https://github.com/stephenworsley)
Expand All @@ -82,15 +82,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Added

- [PR#289](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/289)
- [PR#289](https://github.com/SciTools/iris-esmf-regrid/pull/289)
Added the ability to regrid onto a Mesh as a target instead of a Cube.
[@stephenworsley](https://github.com/stephenworsley)

## [0.7] - 2023-05-23

### Added

- [PR#198](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/198)
- [PR#198](https://github.com/SciTools/iris-esmf-regrid/pull/198)
As a result of refactoring regridders to all derive from the same class,
`_ESMFRegridder`, functionality has been added to the `ESMFAreaWeighted`
scheme and a new scheme, `ESMFBilinear`, has been added.
Expand All @@ -99,17 +99,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
these grids with the `src_resolution` and `tgt_resolution` keywords.
[@stephenworsley](https://github.com/stephenworsley) with extensive review
work from [@trexfeathers](https://github.com/trexfeathers)
- [PR#266](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/266)
- [PR#266](https://github.com/SciTools/iris-esmf-regrid/pull/266)
Added Nearest neighbour regridding.
[@stephenworsley](https://github.com/stephenworsley)
[@HGWright](https://github.com/HGWright)
- [PR#272](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/272)
- [PR#272](https://github.com/SciTools/iris-esmf-regrid/pull/272)
Add support for Python 3.11.
[@stephenworsley](https://github.com/stephenworsley)

### Changed

- [PR#198](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/198)
- [PR#198](https://github.com/SciTools/iris-esmf-regrid/pull/198)
Refactor regridders to all derive from the same class `_ESMFRegridder`.
For the sake of consistency, the resolution keyword in
`GridToMeshESMFRegridder` and `MeshToGridESMFRegridder` have been
Expand All @@ -119,41 +119,41 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Removed

- [PR#272](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/272)
- [PR#272](https://github.com/SciTools/iris-esmf-regrid/pull/272)
Remove support for Python 3.8.
[@stephenworsley](https://github.com/stephenworsley)

### Fixed

- [PR#258](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/258)
- [PR#258](https://github.com/SciTools/iris-esmf-regrid/pull/258)
Allow the documentation to build properly.
[@zklaus](https://github.com/zklaus)

## [0.6] - 2023-03-31

### Added

- [PR#217](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/217)
- [PR#217](https://github.com/SciTools/iris-esmf-regrid/pull/217)
Changed the behaviour of coordinate fetching to allow Cubes with both
1D DimCoords and 2D AuxCoords. In this case the DimCoords are prioritised.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#220](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/220)
- [PR#220](https://github.com/SciTools/iris-esmf-regrid/pull/220)
Matured the benchmarking architecture in line with the latest setup in
SciTools/iris.
[@trexfeathers](https://github.com/trexfeathers)
- [PR#241](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/241)
- [PR#241](https://github.com/SciTools/iris-esmf-regrid/pull/241)
Fixed compatibility with esmpy 8.4.
[@stephenworsley](https://github.com/stephenworsley) with help from
[@bjlittle](https://github.com/bjlittle) and
[@valeriupredoi](https://github.com/valeriupredoi)
- [PR#219](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/219)
- [PR#219](https://github.com/SciTools/iris-esmf-regrid/pull/219)
Added support for 2D AuxCoords with discontiguities under masked values
with the use_src_mask and use_tgt_mask keywords.
[@stephenworsley](https://github.com/stephenworsley)with extensive review
work from [@trexfeathers](https://github.com/trexfeathers)

### Fixed
- [PR#242](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/242)
- [PR#242](https://github.com/SciTools/iris-esmf-regrid/pull/242)
Fixed an issue which caused regridding to curvilinear grids with lazy
data to fail.
[@stephenworsley](https://github.com/stephenworsley)
Expand All @@ -165,16 +165,16 @@ curvilinear grids and low resolution grids.

### Added

- [PR#148](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/148)
- [PR#148](https://github.com/SciTools/iris-esmf-regrid/pull/148)
Added support for Bilinear regridding for unstructured regridding.
- [PR#165](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/165)
- [PR#165](https://github.com/SciTools/iris-esmf-regrid/pull/165)
Added RefinedGridInfo and resolution keyword for unstructured regridders.
- [PR#166](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/166)
- [PR#166](https://github.com/SciTools/iris-esmf-regrid/pull/166)
Made weights array handling more robust for different formats of
pre-computed weights matrices.
- [PR#175](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/175)
- [PR#175](https://github.com/SciTools/iris-esmf-regrid/pull/175)
Add curvilinear support for unstructured regridders.
- [PR#208](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/208)
- [PR#208](https://github.com/SciTools/iris-esmf-regrid/pull/208)
Unpin Python.

## [0.4] - 2022-02-24
Expand All @@ -183,24 +183,24 @@ This release added the ability to regrid data stored on a UGRID mesh.

### Added

- [PR#31](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/31)
[PR#32](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/32)
[PR#36](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/36)
[PR#39](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/39)
[PR#46](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/46)
[PR#55](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/55)
[PR#96](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/96)
- [PR#31](https://github.com/SciTools/iris-esmf-regrid/pull/31)
[PR#32](https://github.com/SciTools/iris-esmf-regrid/pull/32)
[PR#36](https://github.com/SciTools/iris-esmf-regrid/pull/36)
[PR#39](https://github.com/SciTools/iris-esmf-regrid/pull/39)
[PR#46](https://github.com/SciTools/iris-esmf-regrid/pull/46)
[PR#55](https://github.com/SciTools/iris-esmf-regrid/pull/55)
[PR#96](https://github.com/SciTools/iris-esmf-regrid/pull/96)
Added the unstructured regridders `GridToMeshESMFRegridder` and
`MeshToGridESMFRegridder`.
[@stephenworsley](https://github.com/stephenworsley) with extensive review
work from [@abooton](https://github.com/abooton) and
[@jamesp](https://github.com/jamesp) with benchmarking help from
[@trexfeathers](https://github.com/trexfeathers)
- [PR#130](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/130)
[PR#137](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/137)
- [PR#130](https://github.com/SciTools/iris-esmf-regrid/pull/130)
[PR#137](https://github.com/SciTools/iris-esmf-regrid/pull/137)
Added functions for saving of the unstructured regridders.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#155](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/155)
- [PR#155](https://github.com/SciTools/iris-esmf-regrid/pull/155)
Enabled Sphinx and RTD for automatically rendering the API.
[@trexfeathers](https://github.com/trexfeathers)

Expand All @@ -210,10 +210,10 @@ The major change with this version was the addition of the ability to
regrid curvilinear grids (i.e. grids with 2D arrays of coordinates).

### Added
- [PR#125](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/125)
- [PR#125](https://github.com/SciTools/iris-esmf-regrid/pull/125)
Added support for curvilinear grids, i.e. cubes with 2D lat/lon coords.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#124](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/124)
- [PR#124](https://github.com/SciTools/iris-esmf-regrid/pull/124)
Improved generation of benchmark data to allow data to be generated from
a common version/environment.
[@trexfeathers](https://github.com/trexfeathers)
Expand All @@ -225,22 +225,22 @@ This defers the calculation of regridding to the realisation of the data
when the data is a dask array. Calculations may be parallelised via dask.

### Added
- [PR#80](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/80)
- [PR#80](https://github.com/SciTools/iris-esmf-regrid/pull/80)
Added support for lazy regridding, this showed an improvement in the
performance of the regridding benchmarks.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#79](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/79)
- [PR#79](https://github.com/SciTools/iris-esmf-regrid/pull/79)
Added support for benchmarks on the CI.
[@trexfeathers](https://github.com/trexfeathers)
- [PR#98](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/98)
- [PR#98](https://github.com/SciTools/iris-esmf-regrid/pull/98)
Added benchmarks for regridding with realised data.
[@stephenworsley](https://github.com/stephenworsley)
- [PR#100](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/100)
- [PR#100](https://github.com/SciTools/iris-esmf-regrid/pull/100)
Added benchmarks for regridding with lazy data.
[@stephenworsley](https://github.com/stephenworsley)

### Fixed
- [PR#92](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/92)
- [PR#92](https://github.com/SciTools/iris-esmf-regrid/pull/92)
Fixed an issue with directory naming. [@lbdreyer](https://github.com/lbdreyer)
- [PR#83](https://github.com/SciTools-incubator/iris-esmf-regrid/pull/83)
- [PR#83](https://github.com/SciTools/iris-esmf-regrid/pull/83)
Added missing docstrings. [@stephenworsley](https://github.com/stephenworsley)
3 changes: 2 additions & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ authors:
orcid: "https://orcid.org/0009-0008-1704-8445"
title: "iris-esmf-regrid"
abstract: "A collection of structured and unstructured ESMF regridding schemes for Iris"
repository-code: "https://github.com/SciTools-incubator/iris-esmf-regrid"
repository-code: "https://github.com/SciTools/iris-esmf-regrid"
license: "BSD-3-Clause"
license-url: "https://spdx.org/licenses/BSD-3-Clause.html"
doi: "10.5281/zenodo.11401116"
type: "software"
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2020 - 2022, SciTools-incubator
Copyright (c) 2020 - 2024, SciTools
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
Loading

0 comments on commit 4ac5bb8

Please sign in to comment.