Skip to content

Add ERA5 single-level blh, cape, cp, lsm, siconc, and fal - #709

Open
glwagner wants to merge 3 commits into
mainfrom
glw/era5-more-single-levels
Open

glwagner wants to merge 3 commits into
mainfrom
glw/era5-more-single-levels

Conversation

@glwagner

Copy link
Copy Markdown
Member

Adds six variables to the ERA5 single-level dataset (reanalysis-era5-single-levels) so that a global single-level ERA5 predownload for the LESbrary can be run on our clusters through NumericalEarth.

NumericalEarth name CDS request name netCDF name Units Type
:boundary_layer_height boundary_layer_height blh m instantaneous
:convective_available_potential_energy convective_available_potential_energy cape J kg⁻¹ instantaneous
:convective_precipitation convective_precipitation cp m (hourly accumulation) accumulated
:land_sea_mask land_sea_mask lsm 0–1 invariant
:sea_ice_concentration sea_ice_cover siconc (GRIB shortName ci) 0–1 instantaneous
:forecast_albedo forecast_albedo fal 0–1 instantaneous

Request names, units, and types come from the ERA5 parameter tables. I checked the netCDF names, units, and long names against a real one-hour CDS download of each variable, and each one loads into a Field.

  • cp is handled the same way as tp: MetersPerHour conversion to kg m⁻² s⁻¹ at load time, and it is in ERA5_window_averaged_variables, so its window covers the hour ending at the stamp.
  • lsm is time-invariant. It is requested like an instantaneous variable, the same way surface geopotential/topography already are, because the CDS returns the same field for every date. A comment in the variable map now says this.
  • :sea_ice_concentration uses the name ECCO already uses in NumericalEarth.
  • ERA5-Land counterparts are left out. Only fal exists in ERA5-Land, and it can be added later.

Tests: test_cds.jl checks the request and netCDF names for each variable and the cp unit conversion. test_metadata.jl checks that cp has a backward averaging window and that the other five are instantaneous.

🤖 Generated with Claude Code

Adds boundary_layer_height, convective_available_potential_energy,
convective_precipitation, land_sea_mask, sea_ice_concentration, and
forecast_albedo to the ERA5 single-level variable maps. Convective
precipitation is accumulated like total precipitation: it gets the same
m/hr -> kg/m²/s conversion and the backward hourly averaging window.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

This branch has not been deployed

No deployments
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