-
Notifications
You must be signed in to change notification settings - Fork 18
New interface for ECCORestoring #185
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
Conversation
@@ -20,43 +21,41 @@ import Oceananigans.OutputReaders: new_backend, update_field_time_series! | |||
struct ECCONetCDFBackend{N} <: AbstractInMemoryBackend{Int} | |||
start :: Int | |||
length :: Int | |||
maxiter :: Int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we make it more clear this refers to inpainting?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have changed it to inpainting_maxiter
. I am not super happy about it though. Do you have a suggestion for a name for this variable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about making a new struct, Inpainting
, which has a property maxiter
(and which may be generalized to include more settings in the future)
grid = nothing) | ||
function ECCORestoring(metadata::ECCOMetadata; | ||
architecture = CPU(), | ||
time_indices_in_memory = 2, # Not more than this if we want to use GPU! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be backend
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the moment, the only supported backend is the ECCOBackendNetCDF
. If we want to be able to preprocess data we can change this to accept a backend and support different backends.
test/test_ecco.jl
Outdated
dates, | ||
mask, | ||
rate = 1 / 1000.0, | ||
maxiter = 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should the max iter be set to the order of the advection scheme? or something like that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure. I don't think it has to do with the model detail, it has more to do with the discrepancy of the bathymetry we use with the ECCO bathymetry
Should be ready to go as soon as the tests pass |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #185 +/- ##
=====================================
Coverage 0.00% 0.00%
=====================================
Files 32 32
Lines 1779 1806 +27
=====================================
- Misses 1779 1806 +27 ☔ View full report in Codecov by Sentry. |
should be mergeable |
test/runtests.jl
Outdated
include("test_bathymetry.jl") | ||
CUDA.set_runtime_version!(v"12.6"; local_toolkit = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you may want to keep the test file though
should close #177
This PR also includes a
maxiter
field to the ECCONetCDFbackend that controls the maximum number of iterations for the inpainting algorithm