-
Notifications
You must be signed in to change notification settings - Fork 8
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
Optimise extraction process #19
Comments
There is a broader issue here. At the moment, the domain covering all the boundaries is extracted for processing the boundaries. It would be more efficient and require less data if the boundaries were divided in smaller chunks that could be processed individually.
Made a new branch 019-optimise-extraction |
Functions have been added to calculate chunk_number which is an array designating which chunk an i,j coordinate belongs to. This deals with land separating boundaries, corners in boundaries, long straight boundaries and potentially wrapping boundaries (need a better example to test). The associated tests have raised an issue with the pybdy code that assigns boundary points at 90 degree corners from diagonal to diagonal. I haven't yet included code that can deal with the extraction of data according to chunk_number. |
Made a start on the extract routine. sc_ind needed changing and a few other variables but a lot can be left the same and indexed with chunk_number. |
The code runs but the result is not identical. The problem appears to be the filling below bathymetry using the (maybe) surface value instead of bottom value. |
I've found and fixed one bug with the filling below seabed to do with NaNs not being masked. There is another smaller problem with the results not being identical but close (within +-0.05 C temp or 0.0022 m ssh). Given it is in SSH too it is a horizontal interpolation problem and I've narrowed it down to the corner points in SW of AMM15 where chunks separate corners. i,j = (3,2) (6,5) (9,8). Problem is also in U files vobtcrtx but not vozocrtx. Turns out this is the 1-2-1 filter and won't be the same solution with the chunks so we're removing filter for now. The filter can be re-implemented later. |
The code produces the exact same result as master with the filtering turned off in both. |
write in a east-west wrap in the search for parent grid points to avoid the whole zonal domain being extracted if the open boundary spans the east-west wrap
The text was updated successfully, but these errors were encountered: