From c961ed7ceed465a1e2da0f342d960d168a5eadc7 Mon Sep 17 00:00:00 2001 From: Simone Silvestri Date: Fri, 26 Sep 2025 12:08:21 +0200 Subject: [PATCH 1/3] Add generic regridding function to XESMF.jl Added a generic regridding function to perform regridding without dimension checks. --- src/XESMF.jl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/XESMF.jl b/src/XESMF.jl index 46ee3d5..84f90d6 100644 --- a/src/XESMF.jl +++ b/src/XESMF.jl @@ -3,6 +3,7 @@ module XESMF using CondaPkg using PythonCall using SparseArrays +using LinearAlgebra struct Regridder{S, M, V1, V2} method :: M @@ -40,6 +41,16 @@ function sparse_regridder_weights(FT, regridder) return weights end +# Generic regridding function that does not check the dimensions of the `src` and +# `dst` arrays +function regrid!(dst::AbstractVector, regridder::Regridder, src::AbstractVector) + regridder.src_temp .= src + LinearAlgebra.mul!(regridder.dst_temp, regridder.weights, regridder.src_temp) + dst .= regridder.dst_temp + + return dst +end + sparse_regridder_weights(regridder) = sparse_regridder_weights(Float64, regridder) """ From 70e020144c1bf8b8a3495aa9db79eced2e0cad48 Mon Sep 17 00:00:00 2001 From: Simone Silvestri Date: Fri, 26 Sep 2025 12:11:40 +0200 Subject: [PATCH 2/3] bump --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 94cd608..0f6a7f8 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "XESMF" uuid = "2e0b0046-e7a1-486f-88de-807ee8ffabe5" authors = ["NumericalEarth and contributors"] -version = "0.1.2" +version = "0.1.3" [deps] CondaPkg = "992eb4ea-22a4-4c89-a5bb-47a3300528ab" From 72cb78f15a312cd2c80b1fa6f6f3ce08daf72867 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 26 Sep 2025 06:44:15 -0400 Subject: [PATCH 3/3] add LinearAlgebra --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index 0f6a7f8..f77b0bc 100644 --- a/Project.toml +++ b/Project.toml @@ -5,6 +5,7 @@ version = "0.1.3" [deps] CondaPkg = "992eb4ea-22a4-4c89-a5bb-47a3300528ab" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"