-
Notifications
You must be signed in to change notification settings - Fork 1
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
ETOPO2022 artifact: elevation, bathymetry, land-sea masks at high resolutions (up to 15 arc-second) #47
base: main
Are you sure you want to change the base?
Conversation
new file: create_artifacts.jl
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.
Can you provide an example of how this would be used?
Here's some things to note:
- HDF5 files are tied to ClimaCore and the specifics of the target Space. Changing parameters (e.g., the number of quadrature points or the type of mesh) would probably require regenerating the files.
- There is no guarentee that different versions of ClimaCore behave the same and are compatible (e.g., things I am currently fixing to support restarts). People that change ClimaCore would have to know that they might have to regenerate these files.
- The generation of files containing topography maps should not require ClimaAtmos
- How is consistency enforced with the Space that is being simulated? For example, what happens when one reads a file generated with SpaceFillingCurve but is not using a space with such topology?
I think the easiest way to read topography data is from a standard NetCDF file and resample it onto the desired grid. (The challenge that needs to be addressed here is size of the fine resolution of the NetCDF files). In addition to this, we can provide files for standard resolutions, but I think that should be seen as an optimization as opposed to the main way to accomplish this.
(1) Generated artifacts are stored following the ClimaArtifacts guidelines. Source
(2) User downloads high-res (3)
Noted, these can be re-written as lon-lat regridded
I've used convenient wrappers from within these packages to generate the desired horizontal cube-sphere space. The current draft generates a cubed-sphere representation (as you point out, tied to the specific version of ClimaCore used to generate the target space) for spectral regridding. I'll remove the ClimaAtmos functions (or move them to a
This is reasonable, if we can update
Yes, a loop over panels seemed reasonable here (only required once when generating the artifact), at least in generating this single HDF5 (draft) / nc (finalised) file. This is being tested on serial launches only for now, but I expect this operation can be parallelized. |
yvalues = CC.Fields.coordinate_field(space).lat | ||
xmin, xmax = extrema(data_x) | ||
ymin, ymax = extrema(data_y) | ||
Δx = diff(data_x)[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.
Assumes data resolution is uniform.
|
||
Outputs: | ||
HDF5 format | ||
- Land-sea mask (on 256 `h_elem` cubed-sphere) |
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.
Can we use an UInt32
instead of (4) separate masks?
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.
Yes - they'll be integer representations in each file (multiple such versions, following the NCAR information for different levels of down-sampling if necessary)
Checklist:
$artifact_name
README.md
in that that folder thatLICENSE
fileProject.toml
and
Manifest.toml
)OutputArtifacts.toml
file containing the informationneeded for package developers to add
$artifact_name
to their package/groups/esm/ClimaArtifacts/artifacts/$artifact_name
)Overides.toml
on the Caltech Cluster(in
/groups/esm/ClimaArtifacts/artifacts/Overrides.toml
)README.md
to point to the new artifact