Skip to content

Extend the ERA5 driven SCM to multi-day and smooth data #3863

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

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

Julians42
Copy link
Member

@Julians42 Julians42 commented Jun 20, 2025

Two purposes:

  1. Extend the ERA5 driven time-varying case to work over multiple days.
  2. Smooth the ERA5 data, arbitrarily over 2°, to reduce noise and improve stability for certain cases

Purpose

To-do

Content


  • I have read and checked the items on the review checklist.

@Julians42 Julians42 requested a review from imreddyTeja June 20, 2025 06:05
@Julians42 Julians42 force-pushed the j/multi_smooth branch 3 times, most recently from ba1ea82 to da9befb Compare June 23, 2025 17:31
@Julians42 Julians42 requested a review from costachris June 23, 2025 18:11
sim_forcing["hus"] = tvforcing["q"][lon_index, lat_index, :, :]
sim_forcing["ta"] = tvforcing["t"][lon_index, lat_index, :, :]
sim_forcing["zg"] = tvforcing["z"][lon_index, lat_index, :, :]
sim_forcing["ua"] = smooth_4D_era5(tvforcing, "u", lon_index, lat_index)
Copy link
Member

Choose a reason for hiding this comment

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

I think the assert statements on lines 250 and 251 need to be updated to reflect the extra requirements for 4d smoothing.


defVar(ds, "ts", FT, ("x", "y", "z", "time"))
skt =
tv_inst["skt"][lon_index_surf2, lat_index_surf2, matching_time_indices]
skt = smooth_3D_era5(tv_inst, "skt", lon_index_surf2, lat_index_surf2)
Copy link
Member

Choose a reason for hiding this comment

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

same comment about updating the asserts

lat_index_surf,
matching_time_indices,
] / time_resolution
-smooth_3D_era5(tv_accum, "slhf", lon_index_surf, lat_index_surf) /
Copy link
Member

Choose a reason for hiding this comment

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

same comment about updating the asserts

# get forcing file path
single_parsed_args = Dict(
"start_date" => Dates.format(dd, "yyyymmdd"),
"t_end" => "23hours", # some value between 0 and 24 hours to generate the single day file
Copy link
Member

Choose a reason for hiding this comment

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

Should this be hard coded?

Copy link
Member Author

Choose a reason for hiding this comment

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

I used get to return the start date as default so we don't need to pass t_end explicitly here. let me know if you thought of a better solution.

Copy link
Member

@costachris costachris left a comment

Choose a reason for hiding this comment

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

Could you document somewhere the time specification (i.e start_date [yyyymmdd] and t_end, with end_time inferred from start_date)

working multifile read; add functions for smoothing but not yet implemented

updates smooth forcing
@Julians42 Julians42 requested a review from imreddyTeja June 24, 2025 23:22
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.

3 participants