-
Notifications
You must be signed in to change notification settings - Fork 63
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
Adding EOOffshore CMEMS ASCAT REP and NRT recipes #183
base: master
Are you sure you want to change the base?
Adding EOOffshore CMEMS ASCAT REP and NRT recipes #183
Conversation
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.
@derekocallaghan, this is certainly a very clever way to introduce a custom Stage
.
In forthcoming releases, pangeo-forge-recipes
will support arbitrary stages. Until then, something like this (or chaining two recipes) is probably the only path for customization.
We don't need the setup_logging
import & call here. Once you've accepted the below suggestions removing them, we can try a test run of this recipe on Pangeo Forge Cloud.
recipes/eooffshore_ics_cms_WIND_GLO_WIND_L3_OBSERVATIONS_Metop_ASCAT/recipe.py
Outdated
Show resolved
Hide resolved
recipes/eooffshore_ics_cms_WIND_GLO_WIND_L3_OBSERVATIONS_Metop_ASCAT/recipe.py
Outdated
Show resolved
Hide resolved
/run eooffshore_ics_cmems_WIND_GLO_WIND_L3_REP_OBSERVATIONS_012_005_MetOp_ASCAT |
/run eooffshore_ics_cmems_WIND_GLO_WIND_L3_NRT_OBSERVATIONS_012_002_MetOp_ASCAT |
I noticed the
So, to recap, we need to:
and then we can re-run these tests. |
Thanks for the update @cisaacstern. Should I look into getting the recipe to work with a local copy of |
@derekocallaghan, let's stick with |
I've opened pangeo-forge/pangeo-forge-runner#31 to track adding tests to |
pre-commit.ci autofix |
Hi @cisaacstern, it looks like the pre-commit autofix didn't work as the PR was made from an organization, similar to #145 (comment) |
Hi @cisaacstern, I don't think these recipes have been run yet, but I wanted to confirm that all imports required by the It looks like the current def process_ds(
ds: xr.Dataset, fname: str, satellites: List[str], service: str
) -> xr.Dataset: |
@derekocallaghan, thanks for checking in. Since we last looked at this, the two TODO items in #183 (comment) are now complete. I'll take a moment here to explain how I confirmed that, in the event it's useful to @andersy005 or other admins to see the thought process. Then after this comment, I'll trigger tests of your recipes here. The TODO items were:
|
/run eooffshore_ics_cmems_WIND_GLO_WIND_L3_REP_OBSERVATIONS_012_005_Metop_ASCAT |
/run eooffshore_ics_cmems_WIND_GLO_WIND_L3_NRT_OBSERVATIONS_012_002_Metop_ASCAT |
Thanks for the update @cisaacstern, and for triggering the recipe tests. I see that they were started and have been running for a few hours now. I'm assuming that there's a problem with the recipes as the pruned version normally runs in a couple of minutes locally. I don't see any logs, would you be able to check on your side? Thanks. |
Hi @cisaacstern, I just saw your reply regarding logs to a separate PR, so no problem if they're not readily available for these ASCAT recipes, thanks. |
@derekocallaghan thanks for checking in. I've taken a look on the backend and I actually do not see these jobs registered on Google Cloud Dataflow. This tells me there was likely some problem with the recipe parsing and/or job submission process. As it happens, I am beginning a roughly monthlong family leave tomorrow, however it's possible that another maintainer will be able to help debug this in my absence, in which case my recommendation would be for a maintainer to re-trigger these test runs while tracking the backend server logs, as described in:
This may provide some hint of the problem. If the problem is at the |
Hi @yuvipanda - any chance you might be able to help us debug this recipe run in Charles' absence? |
I've been trying to run these recipes locally with Beam (and looking at
I'll look at refactoring the recipes so that the required operations are performed on |
These recipes will create two data sets containing Copernicus Marine Service (CMS), or Copernicus Marine Environment Monitoring Service (CMEMS) Reprocessed (2007 - 2021) and Near Real Time (2016 - 2021) Metop-A/B/C ASCAT Ascending/Descending products, for the Irish Continental Shelf (ICS) region, where the original time coordinates have been replaced with the satellite/pass measurement_time values. Products are retrieved from the following source data sets:
The recipes will recreate the ASCAT data sets used in the EOOffshore project (https://eooffshore.github.io), whose outputs were presented (Scalable Offshore Wind Analysis With Pangeo) at the Meeting Exascale Computing Challenges with Compression and Pangeo 2022 EGU General Assembly session.
Example usage of the ASCAT data sets in EOOffshore:
Note:
pangeo_forge_recipes
, version0.9.1
.time
coordinates provided by ASCAT products are replaced with a corresponding ICS spatial mean of themeasurement_time
variable. However, this means that the file pattern URLs need to be sorted prior to subseqent Zarr store creation. This has been achieved by subclassingXarrayZarrRecipe
and replacing bothself.file_pattern
andself._compiler
, where the latter function inserts an additionalStage
that performs the sort operation into thePipeline
.