Skip to content

Decouple noise floor argo workflow from fme#1083

Merged
spencerkclark merged 6 commits into
mainfrom
scripts/update-noise-floor
Apr 27, 2026
Merged

Decouple noise floor argo workflow from fme#1083
spencerkclark merged 6 commits into
mainfrom
scripts/update-noise-floor

Conversation

@spencerkclark
Copy link
Copy Markdown
Member

@spencerkclark spencerkclark commented Apr 23, 2026

This PR decouples the argo portion of the noise floor workflow from fme so that we can run it using the standard data processing image instead of an old fme image. Old fme images cannot open zarr v3 stores, but new fme images do not have dask installed, which is necessary for this workflow. The only coupling was in computing the area weights, which is straightforward to do without a special function.

The main motivation for this is to enable computing noise floor statistics for the total_frozen_precipitation_rate, which is only present in our newer intermediate zarr v3 stores.

Note I have not touched generate_train_report.py, which still depends on fme, but is typically run in a local environment, and does not require dask.

Changes:

  • Computes the area weights within scripts/noise_floor/generate_stats.get_output_datasets so that we do not need to import a function from fme.
  • Removes the need for the fme.core.distributed.distributed.Distributed context, since we are no longer calling anything in fme.
  • Adds auto-chunking along the time dimension to ensure more performant reads from zarr v3 stores with inner chunk sizes of one.
  • Updates the SHiELD-AMIP and SHiELD-SOM equilibrium-climate configurations to point to new reference datasets, adds total_frozen_precipitation_rate to the names, and updates the output stats_path to new locations for output from the re-run workflow for each.

Successful argo jobs (the longer one is the AMIP case):

compute-noise-floor-kgrsf            Succeeded   21h    5h         0
compute-noise-floor-vgbc7            Succeeded   21h    1h         0
compute-noise-floor-rp2r5            Succeeded   21h    1h         0
compute-noise-floor-vw7hs            Succeeded   21h    1h         0
compute-noise-floor-jrssh            Succeeded   21h    1h         0

@spencerkclark spencerkclark changed the title Decouple noise floor workflow from fme and update configurations to include frozen precipitation Decouple noise floor argo workflow from fme and update configurations to include frozen precipitation Apr 23, 2026
Broadcast area weights so that we can compute means of fields that
are not already 2D over "grid_yt" and "grid_xt". Xarray's weighted
will automatically broadcast weights to match each data variable's
dimensions, but scalar coordinates like ak and bk do not have such
dimensions to broadcast to and therefore taking a mean over
"grid_yt" and "grid_xt" raises an error. Another option would be
to drop these variables when computing the noise floor, but we
will keep things this way for backwards compatibility.
@spencerkclark spencerkclark force-pushed the scripts/update-noise-floor branch from 34e76e9 to a31de0e Compare April 26, 2026 16:36
@spencerkclark spencerkclark changed the title Decouple noise floor argo workflow from fme and update configurations to include frozen precipitation Decouple noise floor argo workflow from fme Apr 26, 2026
Copy link
Copy Markdown
Contributor

@Arcomano1234 Arcomano1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@spencerkclark spencerkclark enabled auto-merge (squash) April 27, 2026 17:58
@spencerkclark spencerkclark merged commit b9100ba into main Apr 27, 2026
7 checks passed
@spencerkclark spencerkclark deleted the scripts/update-noise-floor branch April 27, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants