Skip to content

Seasonality Module Development #27

Description

@danmcgraw94

Summary

Develop a new seasonality module in rfaR that allows flood events to be classified by season or meteorological regime. This would support season-aware frequency analysis and provide date/cluster assignments for use in the starting pool module (see related issue).

Motivation

Flood seasonality matters for dam safety applications: spring snowmelt events and summer convective storms have different frequency behaviors, different antecedent conditions, and different implications for reservoir starting pool. Ignoring seasonality conflates these regimes and can bias stage-frequency results. A seasonality module would allow rfaR to partition or weight events by season, enabling more physically defensible frequency analysis.

Proposed Approaches

1. clust-based clustering

Haden mentioned the clust method/package during a project meeting as a candidate approach.

  • Investigate the clust package (or equivalent clustering methodology) for applicability to flood seasonality classification in R.
  • Determine appropriate clustering variables (e.g., Julian day of peak, temperature, snowpack index).
  • Evaluate number of clusters / seasons.

2. User-defined seasons

Allow the user to supply explicit season boundaries (e.g., winter: Nov–Mar, spring: Apr–Jun, summer: Jul–Oct) as a simple override when domain knowledge is sufficient.

3. Peaks-Over-Threshold (POT) with clustering

Use POT to extract independent flood peaks, then apply clustering on the timing or meteorological covariates of those peaks to define seasons empirically.

Implementation Considerations

  • Design a consistent interface that works with all three approaches above.
  • Output should include season/cluster assignments for each event as a labeled vector or data frame column.
  • Season assignments should flow cleanly into the starting pool module (i.e., the output date/season metadata should be usable for conditioning starting pool estimates).
  • Consider whether seasonality weights need to propagate into the stratified sampling framework.

Related

  • Starting Pool module (see related issue)
  • rfa_simulate()
  • Stratified sampling bin structure

Metadata

Metadata

Assignees

Labels

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions