From 109f6cc9578ad62e873a9206ef8d37261992cdba Mon Sep 17 00:00:00 2001 From: Sid Date: Sat, 30 Aug 2025 17:02:14 +0100 Subject: [PATCH 1/2] Extend the interior function to MultiRegionFields --- src/MultiRegion/multi_region_field.jl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/MultiRegion/multi_region_field.jl b/src/MultiRegion/multi_region_field.jl index 388359b285b..4215bd60077 100644 --- a/src/MultiRegion/multi_region_field.jl +++ b/src/MultiRegion/multi_region_field.jl @@ -9,7 +9,7 @@ using Base: @propagate_inbounds import Oceananigans.DistributedComputations: reconstruct_global_field, CommunicationBuffers import Oceananigans.BoundaryConditions: regularize_field_boundary_conditions import Oceananigans.Grids: xnodes, ynodes -import Oceananigans.Fields: set!, compute!, compute_at!, validate_field_data, validate_boundary_conditions +import Oceananigans.Fields: set!, compute!, compute_at!, interior, validate_field_data, validate_boundary_conditions import Oceananigans.Fields: validate_indices, communication_buffers import Oceananigans.Diagnostics: hasnan @@ -140,6 +140,11 @@ function compute!(comp::MultiRegionComputedField, time=nothing) return comp end +function interior(mrf::MultiRegionField) + @apply_regionally interior_mrf = interior(mrf) + return interior_mrf +end + @inline hasnan(field::MultiRegionField) = (&)(construct_regionally(hasnan, field).regional_objects...) validate_indices(indices, loc, mrg::MultiRegionGrids) = From f18e8257b1e654437e4aa0e4bce8020cf59f50de Mon Sep 17 00:00:00 2001 From: Sid Date: Sat, 30 Aug 2025 17:36:22 +0100 Subject: [PATCH 2/2] Extend interior to MRFs with specified indices --- src/MultiRegion/multi_region_field.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/MultiRegion/multi_region_field.jl b/src/MultiRegion/multi_region_field.jl index 4215bd60077..f6befd8bf01 100644 --- a/src/MultiRegion/multi_region_field.jl +++ b/src/MultiRegion/multi_region_field.jl @@ -145,6 +145,11 @@ function interior(mrf::MultiRegionField) return interior_mrf end +function interior(mrf::MultiRegionField, I...) + @apply_regionally interior_mrf = interior(mrf, I...) + return interior_mrf +end + @inline hasnan(field::MultiRegionField) = (&)(construct_regionally(hasnan, field).regional_objects...) validate_indices(indices, loc, mrg::MultiRegionGrids) =