reporting#
hydromodpy.reporting is the HTML composites layer. It assembles
figures from display/ and analysis features from analysis/
into standalone HTML deliverables: the calibration session report
and the simulation comparison web report.
Not every HTML report lives in this package: workflow-owned reports
such as site-selection and catchment review pages may live beside their
workflow code, but should reuse hydromodpy.display.report_blocks
when they are block-based static pages.
Reporting is a one-way sink: display and analysis must not
import from reporting.
Every deliverable of this package lands under <project>/share/,
the publication directory: reports in share/reports/<name>/,
exports next to them. Nothing in share/ is a source of truth; it is
regenerated from runs/ and sessions/.
Sub-modules#
reporting/calibration_report.py– calibration session HTML report (moved fromdisplay/). Reads the session descriptor and the trial log fromsessions/<session_name>/; renders six calibration figures through thedisplayfigure registry; emitsshare/reports/<session_name>/report.htmlnext to afigures/sub-directory.reporting/comparison/– simulation comparison HTML web report (moved fromanalysis/comparison/web/).comparison/render.py– top-level orchestration of the web report; main entry point.comparison/context.py– per-pair / per-N rendering context.comparison/figures.py– figure assembly delegated todisplayandanalysis.comparison/html_utils.py– small HTML helpers.comparison/sections/– one module per report section.comparison/compact_network/– compact network synthesis section (wascompact_network_synthesis).
Key public symbols#
hydromodpy.reporting.calibration_report.render_sessionhydromodpy.reporting.comparison.render(web report orchestrator)hydromodpy.reporting.comparison.compact_network.builder.build_compact_network_synthesis
Block-based reports#
Use hydromodpy.display.report_blocks for static HTML pages whose
content can be represented as blocks with metrics, figures, tables,
links and warnings. Keep the report producer in the package that owns
the manifest or workflow contract, then delegate HTML rendering to the
shared display renderer. This keeps reporting focused on the
cross-run composites it owns directly and avoids moving workflow logic
into a generic HTML package.
Recommended reading path#
hydromodpy/reporting/comparison/render.pyfor the comparison web report entry point.hydromodpy/reporting/calibration_report.pyfor the calibration session report.hydromodpy/reporting/comparison/sections/__init__.pyfor the per-section composition.
Layer-matrix neighbours#
Allowed targets:
core,schema,config,results,display,analysis,reporting.Allowed sources:
workflow,cli, top-level facade.displaycannot importreporting.analysishas one documented tolerance toreportingfor the comparison HTML report; that edge should not expand.
See also#
display for the figure catalog reused by every HTML report.
Add a Block HTML Report for the shared block-report recipe.
analysis for the comparison features fed into the web report.
Calibration Guide – the calibration HTML report end to end.