Skip to content

Issue with compute_bounding_indices #399

@simone-silvestri

Description

@simone-silvestri

that makes the single_column_os_papa_simulaition.jl crash

MWE:

using ClimaOcean
using ClimaOcean.JRA55
using Oceananigans
using Oceananigans.Units

atmosphere = JRA55PrescribedAtmosphere(1:200; 
                                       longitude = 35.1,
                                       latitude = 50.1,
                                       backend = JRA55NetCDFBackend(30))

t = Oceananigans.Units.Time(10days)
update_field_time_series!(atmosphere.pressure, t)

error

ERROR: BoundsError: attempt to access 2×2×30 view(::Array{Float32, 4}, 3:4, 3:4, 1, :) with eltype Float32 at index [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270]

basically compute_bounding_indices has a different result when passing latitude and longitude

(i₁, i₂, j₁, j₂, TX, longitude, latitude, λbounds, φbounds) = (63, 64, 222, 223, Oceananigans.Grids.Bounded, 35.1, 35.1, (35.099000000000004, 35.101), (35.099000000000004, 35.101))

and when set!ing the fts upon updating

(i₁, i₂, j₁, j₂, TX, longitude, latitude, λbounds, φbounds) = (62, 64, 222, 224, Bounded, nothing, nothing, (34.875f0, 35.4375f0), (34.539734f0, 35.101357f0))

because of this condition

function compute_bounding_nodes(x::Number, ::Nothing, LH, hnodes)
ϵ = convert(typeof(x), 0.001) # arbitrary?
return (x - ϵ, x + ϵ)
end

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions