-
Notifications
You must be signed in to change notification settings - Fork 62
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
Draft for FESOM recipe #52
base: master
Are you sure you want to change the base?
Conversation
Also, currently only the surface data is available to flux to the cloud. The interior should be ready soonish. |
Thanks @roxyboy. I'll take a look today. |
@roxyboy, your draft was super helpful. I'm now caching these inputs to GCS. |
@roxyboy, FESOM inputs are cached. Before building the Zarr, I wanted to confirm your Currently, Thoughts? If you don't have another preference, I'll build the Zarr with cache_path = rec.input_cache.root_path # `rec` is the `"FESOM/surf/fma"` recipe
first_input_url = fs_gcs.ls(cache_path)[0] # `fs_gcs` is the endpoint where inputs are cached
first_input_file = fs_gcs.open(first_input_url, mode='rb')
ds = xr.open_dataset(first_input_file)
ntime = len(ds.time) # the number of time slices
ncfile_size = ds.nbytes # the netcdf file size
target_chunk_options = (6, 15)
for option in target_chunk_options:
chunksize = int((ncfile_size/ntime) * option)
print(f"With {option} time slices per chunk, chunksize is {chunksize/1e6} MBs")
|
|
Noting that, along with #24 (comment), this build is also blocked by pangeo-forge/pangeo-forge-recipes#164. The surface data for this recipe contain single-variable arrays of shape |
I was able to build the FESOM surface data using an un-merged draft of pangeo-forge/pangeo-forge-recipes#166. It can be accessed via the project catalog, as demonstrated here: https://github.com/pangeo-data/swot_adac_ogcms/blob/main/intake_demo.ipynb |
@cisaacstern Are the interior data for FESOM on OSN...? |
Not yet. Is it on the ftp server? Last I was aware it wasn't available over ftp yet. |
@cisaacstern The FESOM group notified me that their data was corrupted so they re-ran their simulation. They've finished remaking the winter data. Could we swap the data on OSN?? |
Sure thing, @roxyboy. Do you have a deadline (either specific or general) for this? |
It'd be nice if I could include it in the talk I'll give at the high-res ocean modelling workshop that will take place from Sep. 29 so... the sooner the better but if you're occupied with other projects, it's ok if the FESOM data doesn't make it to it. |
That's very doable, probably won't get to it this week, but will get it done by end of next week. |
@roxyboy, apologies that I won't be able to complete this by the end of this week as I'd initially planned. I will make sure to revisit this on Monday and should still be able to get it to you in advance of your deadline. I'll follow-up with a better time estimate next week once I've taken a closer look. |
@roxyboy, I'm removing the existing FESOM surface winter Zarr store from OSN now, to replace it with the corrected data you've linked in #52 (comment). I'll be adding the winter 3D data at the same time and will ping you again here when both new Zarr stores are complete. |
Ok, thanks a lot! :) |
@roxyboy, the updated FESOM data (surface and interior) is now on OSN and I've added FESOM interior data as an option in the project catalog pangeo-data/swot_adac_ogcms#6 Here's a quick summary of how you'd use the workflow described in pangeo-data/swot_adac_ogcms/intake_demo.ipynb to open the FESOM interior data:
# load the catalog and determine the allowable params for the selected item
from validate_catalog import all_params
params_dict, cat = all_params()
item = "FESOM"
params_dict[item]
# select a param set from the list and confirm its the one you want
params = params_dict[item][2]
print(item, params)
# load item with the selected params
ds = cat[item](**params).to_dask()
print(ds)
|
@cisaacstern FESOM data appears to working fine :) Thanks again! |
I tried to build upon the INALT60 PR #26 but I couldn't quite figure out the correct syntax...