Official RUSLE2 Climate and Erosivity Data
Vendored normalization of the canonical official RUSLE2 climate-database distribution and its companion polygon bundle.
See also: ../../specification.md for the R-mode contracts that distinguish official RUSLE2 planning datasets from
cligen_staticWEPP-aligned runtime erosivity.
Overview
This directory vendors the official RUSLE2 climate-database release published through the NRCS or Purdue-hosted RUSLE2 data site, converted into repository- native Parquet or GeoParquet artifacts for inspection, provenance, and future runtime or validation work.
These assets now back the implemented canonical_rusle2 r_mode in the
RUSLE controller, with a v1 runtime scope limited to watershed-centroid
selection against polygon-backed official links.
The official distribution is not packaged as modern analytics formats. It is published as:
- state or territory ZIP files containing legacy
.gdbclimate databases - an official polygon shapefile bundle for climate zones
For local use in this repo, those sources were normalized into:
- one Parquet of official source-file inventory
- one Parquet of all extracted climate records
- one GeoParquet of the official polygon bundle with deterministic joins to the
extracted climate records where an official or defensible
REC_LINKexists
Files
| File | Purpose |
|---|---|
| rusle2_official_source_files.parquet | Inventory of the 54 official climate ZIP files used for extraction |
| rusle2_official_climate_records.parquet | Normalized climate-record table extracted from the official .gdb files |
| rusle2_official_climate_zones.geoparquet | Official polygon bundle converted to GeoParquet and joined to selected climate records |
Source Attribution
- Official RUSLE2 climate landing page: https://www.nrcs.usda.gov/resources/tech-tools/water-erosion-rusle2
- Official climate database index: https://fargo.nserl.purdue.edu/rusle2_dataweb/NRCS_Climate_Database.htm
- Official climate ZIP directory: https://fargo.nserl.purdue.edu/RUSLE2_ftp/Climate_data/
- Official polygon bundle: https://fargo.nserl.purdue.edu/RUSLE2_ftp/Climate_data/Climate%20Data%20Shp%20Files/climate%20data%20shp%20files.zip
The vendored Parquet or GeoParquet artifacts in this directory are derivative convenience products created for local runtime, inspection, and reproducible repository access.
Metadata
Source Inventory Parquet
- Rows:
54 - Coverage: official state or territory climate ZIP files present in the public RUSLE2 climate directory at extraction time
- Key columns:
zip_name,zip_urlgdb_namerecord_countstatus
Climate Records Parquet
- Rows:
10,319 - Unique non-null
official_rec_link:9,091 - Rows without polygon join:
41 - Coverage:
- official climate records from the public RUSLE2 climate databases
- includes CONUS, Alaska, Hawaii, Puerto Rico, Pacific Basin, and Virgin Islands table records where present in the official databases
- Key columns:
- record identity:
state_name,local_area,record_name,record_name_decoded - join diagnostics:
official_rec_link,official_rec_link_method,in_official_polygon_bundle - erosivity values:
r_factor_english,r_equiv_english,r_monthly_janthroughr_monthly_dec,r_monthly_sum - supporting climate fields:
eros_density_*,precip_mm_*,temp_c_* - official metadata:
climate_ei_choice,runoff_rainfall_choice,science_version
- record identity:
Climate Zones GeoParquet
- Rows:
32,932 - Unique polygon
official_rec_link:8,970 - Polygon rows with a matched climate record:
32,645 - Unique polygon
official_rec_linkvalues with a matched climate record:8,803 - CRS: inherited from the official polygon shapefile (
EPSG:4326) - Key columns:
- official polygon fields:
OBJECTID,RUSLE_REQ,REC_LINK,Shape_Leng,Shape_Area - deterministic selected climate record:
selected_record_name,selected_record_variant,selected_official_rec_link_method,r_factor_english,r_monthly_*,r_monthly_sum - duplicate diagnostics:
matched_record_count,matched_record_variants,matched_record_names
- official polygon fields:
Transformation Notes
The vendored artifacts apply these local normalization steps:
- extracted the official
.gdbtables from the public ZIP distribution - excluded one non-data placeholder row named
default - normalized text fields with HTML unescaping, accent folding, and a small alias map for known legacy or misspelled county names
- parsed both
RandReqregion labels into official polygonREC_LINKforms such as10-11or16-18 - retained official
R_MONTHLYwhen present - derived monthly erosivity as
PRECIP * EROS_DENSITYwhenR_MONTHLYwas absent but the official monthly precipitation and erosivity-density fields were present - converted the official polygon shapefile to GeoParquet
- joined one deterministic selected climate record per polygon
REC_LINKwith this preference order:- monthly data present
- non-
Reqrecord preferred overReq CLIMATE_EI_CHOICE_R_RATIOpreferred overR_AND_EI_PTR- explicit region-labeled record preferred over plain county fallback
The GeoParquet also preserves duplicate diagnostics so the selected record is
auditable when multiple official climate rows share the same REC_LINK.
Limitations
41official climate-table rows remain table-only in the vendored Parquet:30MontanaYellowstonePark Countyrows10Virgin Islands station rows1VirginiaCity of Clifton Forgerow
- The official polygon bundle is not a complete geometry companion for every climate record in the official tables.
- The climate-record Parquet therefore has broader official coverage than the polygon GeoParquet.
- The
.gdbfiles in the official distribution are legacy SQLite 2.x databases, so reproducible regeneration requires compatible extraction tooling. - Runtime v1 behavior intentionally rejects centroid selections that do not resolve to a polygon-backed official climate record; there is no silent fallback to table-only rows.
Developer Notes
- Use the repository
.venvto read these artifacts withpandas,pyarrow, andgeopandas. - Prefer the climate-record Parquet when you need the full official table inventory, including table-only rows and non-CONUS records.
- Prefer the GeoParquet when you need the official polygon geometry plus one deterministic joined climate record per zone.
- Do not assume
selected_record_nameis the only official climate row for a polygon. Checkmatched_record_countandmatched_record_nameswhen join multiplicity matters.