-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ECCORestoring
method accepts architecture and grid; validation required?
#231
Comments
ECCORestoring
method accepts architecture and gridECCORestoring
method accepts architecture and grid; validation required?
It does matter. Note that Also I think there is a bug and it doesn't work. We need to test this. Haha. And of course in addition to writing jst the basic tests, some nice validation and error checking for users would be nice too. |
Was trying to run the Mediterranean regional setup -
Got the following errors - first it gives unsupported keyword argument "connected_regions_allowed" for -
(Full error) ERROR: LoadError: MethodError: no method matching regrid_bathymetry(::LatitudeLongitudeGrid{Float64, Bounded, Bounded, Bounded, OffsetArrays.OffsetVector{Float64, CUDA.CuArray{Float64, 1, CUDA.DeviceMemory}}, Float64, Float64, Float64, OffsetArrays.OffsetVector{Float64, CUDA.CuArray{Float64, 1, CUDA.DeviceMemory}}, OffsetArrays.OffsetVector{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, OffsetArrays.OffsetVector{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, OffsetArrays.OffsetVector{Float64, CUDA.CuArray{Float64, 1, CUDA.DeviceMemory}}, GPU}; height_above_water::Int64, minimum_depth::Int64, interpolation_passes::Int64, connected_regions_allowed::Int64)
This error has been manually thrown, explicitly, so the method may exist but be intentionally marked as unimplemented.
Closest candidates are:
regrid_bathymetry(::Any; height_above_water, minimum_depth, dir, url, filename, interpolation_passes, major_basins) got unsupported keyword argument "connected_regions_allowed"
@ ClimaOcean /g/data/er50/sb4233/.julia/packages/ClimaOcean/nctgo/src/Bathymetry.jl:85
Stacktrace:
[1] kwerr(::@NamedTuple{height_above_water::Int64, minimum_depth::Int64, interpolation_passes::Int64, connected_regions_allowed::Int64}, ::Function, ::LatitudeLongitudeGrid{Float64, Bounded, Bounded, Bounded, OffsetArrays.OffsetVector{Float64, CUDA.CuArray{Float64, 1, CUDA.DeviceMemory}}, Float64, Float64, Float64, OffsetArrays.OffsetVector{Float64, CUDA.CuArray{Float64, 1, CUDA.DeviceMemory}}, OffsetArrays.OffsetVector{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, OffsetArrays.OffsetVector{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, OffsetArrays.OffsetVector{Float64, CUDA.CuArray{Float64, 1, CUDA.DeviceMemory}}, GPU})
@ Base ./error.jl:165
[2] top-level scope
@ /g/data/er50/sb4233/Oceananigans/test_julia/ClimaOcean.jl/examples/mediterranean_simulation_with_ecco_restoring.jl:62
in expression starting at /g/data/er50/sb4233/Oceananigans/test_julia/ClimaOcean.jl/examples/mediterranean_simulation_with_ecco_restoring.jl:62 Then if I try to remove the ERROR: LoadError: UndefVarError: `ECCO_restoring_forcing` not defined in `Main`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
[1] top-level scope
@ /g/data/er50/sb4233/Oceananigans/test_julia/ClimaOcean.jl/examples/mediterranean_simulation_with_ecco_restoring.jl:81
in expression starting at /g/data/er50/sb4233/Oceananigans/test_julia/ClimaOcean.jl/examples/mediterranean_simulation_with_ecco_restoring.jl:81 |
can you open a new issue for this? The syntax has changed. If you're able to update the script that is much appreciated. For cexample, you have to use |
Okay just to summarize the decision tree for What grid are we using? |
I think the grid / architecture should be positional arguments so that the user cannot possibly supply conflicting inputs, like this: grid_restoring = ECCORestoring(:temperature, grid)
gpu_restoring = ECCORestoring(:temperature, GPU()) |
sounds good! |
Do we want to check whether
architecture
is different from that of grid's? Does it matter?ClimaOcean.jl/src/DataWrangling/ECCO/ECCO_restoring.jl
Lines 309 to 316 in 2e3ce57
The text was updated successfully, but these errors were encountered: