Skip to main content

Model Flags

HydroPol2D is controlled through binary and categorical flags defined in General_Data.xlsx. This page documents the public behavior exposed by those flags and highlights where a flag activates a validated default path versus a diagnostic or experimental pathway.


Boundary and Forcing Flags​

FlagDescription
flag_rainfall\mathrm{flag\_rainfall}Activates rainfall forcing over the domain.
flag_spatial_rainfall\mathrm{flag\_spatial\_rainfall}Uses spatially distributed rainfall instead of uniform rainfall.
flag_ETP\mathrm{flag\_ETP}Activates evapotranspiration computation from meteorological forcing.
flag_input_rainfall_map\mathrm{flag\_input\_rainfall\_map}Uses raster-based rainfall input.
flag_rainfall_multiple_runs\mathrm{flag\_rainfall\_multiple\_runs}Under development.
flag_data_source\mathrm{flag\_data\_source}Under development.
flag_inflow\mathrm{flag\_inflow}Activates inflow hydrograph boundary conditions.
flag_satellite_rainfall\mathrm{flag\_satellite\_rainfall}Uses satellite-derived rainfall products.
flag_alternated_blocks\mathrm{flag\_alternated\_blocks}Activates the Alternating Block design-storm method.
flag_huff\mathrm{flag\_huff}Activates the Huff storm distribution method.
flag_stage_hydrograph\mathrm{flag\_stage\_hydrograph}Applies stage (water-level) boundary conditions.
flag_input_ETP_map\mathrm{flag\_input\_ETP\_map}Uses raster-based evapotranspiration inputs.

Process and Routing Flags​

FlagDescription
flag_infiltration\mathrm{flag\_infiltration}Activates infiltration into the soil and vadose storage.
flag_groundwater_modeling\mathrm{flag\_groundwater\_modeling}Activates groundwater recharge and local groundwater-table coupling. With layered soil enabled, this follows the current default layered vadose-groundwater path.
flag_groundwater_async\mathrm{flag\_groundwater\_async}Uses asynchronous saturated-groundwater updates while keeping vadose exchange coupled every surface step. Recommended when groundwater is active.
groundwater_target_dt_min\mathrm{groundwater\_target\_dt\_min}Target groundwater update interval in minutes.
groundwater_min_dt_min\mathrm{groundwater\_min\_dt\_min}Minimum groundwater update interval in minutes.
groundwater_max_head_change_m\mathrm{groundwater\_max\_head\_change\_m}Maximum accumulated groundwater head change before forcing an update.
groundwater_courant\mathrm{groundwater\_courant}Safety factor used in the explicit groundwater timestep cap.
flag_capillary_rise\mathrm{flag\_capillary\_rise}Enables layered capillary rise from shallow groundwater into vadose storage.
flag_baseflow\mathrm{flag\_baseflow}Activates 2D Boussinesq lateral groundwater routing.
flag_snow_modeling\mathrm{flag\_snow\_modeling}Activates snow accumulation, melt, and sublimation.
flag_waterquality\mathrm{flag\_waterquality}Activates water-quality transport.
flag_wq_model\mathrm{flag\_wq\_model}Selects the pollutant build-up/washoff model.
flag_human_instability\mathrm{flag\_human\_instability}Activates human-instability diagnostics. Publicly documented implemented modes are 1 and 3; mode 2 is not implemented.
flag_reservoir\mathrm{flag\_reservoir}Activates reservoir or internal hydraulic-control logic.
flag_critical\mathrm{flag\_critical}Applies a critical-flow limiter where supported by the routing family.
flag_boundary\mathrm{flag\_boundary}Enforces all boundary cells as outlet cells.
flag_neglect_infiltration_river\mathrm{flag\_neglect\_infiltration\_river}Disables infiltration in river cells.
flag_real_time_satellite_rainfall\mathrm{flag\_real\_time\_satellite\_rainfall}Enables real-time satellite rainfall ingestion with Persiann.
flag_dam_break\mathrm{flag\_dam\_break}Under development.
flag_river_rasters\mathrm{flag\_river\_rasters}Uses raster-based river geometry inputs.
flag_spatial_albedo\mathrm{flag\_spatial\_albedo}Uses spatially distributed albedo instead of uniform values.
flag_DTM\mathrm{flag\_DTM}Uses digital terrain model corrections or processing.
flag_abstraction\mathrm{flag\_abstraction}Activates water abstraction or withdrawal processes.
flag_WQ_Rasters\mathrm{flag\_WQ\_Rasters}Uses raster-based pollutant inputs.

Routing-Family Flags​

FlagDescription
flag_inertial\mathrm{flag\_inertial}Activates the local inertial shallow-water solver. This is the recommended default routing family.
flag_full_momentum\mathrm{flag\_full\_momentum}Activates the full-momentum shallow-water solver. Use as an alternative to the other major routing families, not in combination with them.
flag_diffusive\mathrm{flag\_diffusive}Activates diffusive D4 routing driven by water-surface slope.
flag_kinematic\mathrm{flag\_kinematic}Activates kinematic D4 routing driven by bed slope and donor depth.
flag_CA\mathrm{flag\_CA}Activates Cellular Automata routing.
flag_D8\mathrm{flag\_D8}Activates a secondary D8 routing pathway. This should be treated as limited-scope rather than a full parallel theory family.
flag_subgrid\mathrm{flag\_subgrid}Activates the Neal (2012) rectangular channel representation when used with local-inertial routing and flag_overbanks = 1.
flag_overbanks\mathrm{flag\_overbanks}Separates channel and floodplain conveyance and applies the bankfull storage transition in Neal (2012) mode.
flag_numerical_scheme\mathrm{flag\_numerical\_scheme}Selects the local inertial scheme variant: 1 Bates, 2 upwind, 3 centered. Applies to the inertial family, not to full momentum, diffusive, kinematic, or CA routing.
flag_outlet_type\mathrm{flag\_outlet\_type}Outlet treatment: 1 normal flow, 2 critical flow.
flag_adaptive_timestepping\mathrm{flag\_adaptive\_timestepping}Selects adaptive time-step control.

Neal (2012) Subgrid Model Configuration​

The supported channel-subgrid mode follows Neal et al. (2012). Use the following flag combination:

FlagRequired value
flag_inertial1
flag_subgrid1
flag_overbanks1
flag_full_momentum0
flag_diffusive0
flag_kinematic0
flag_CA0
flag_river_rasters1 when channel geometry is supplied as rasters

The active channel cells require both RiverWidths_path and RiverDepths_path. Channel width and depth must be positive, and channel width must be smaller than the model-cell resolution. The channel Manning coefficient is assigned through the river or in-bank roughness input. The surrounding LULC roughness supplies the floodplain Manning coefficient.

The solver computes channel and floodplain discharge separately on each orthogonal face and updates cell storage in volume space. The formulation and validation range are described in Hydrodynamic Model and Neal (2012) Subgrid Model Validation.


Performance Flags​

FlagDescription
flag_GPU\mathrm{flag\_GPU}Enables GPU acceleration.
flag_single\mathrm{flag\_single}Uses single-precision arithmetic for performance optimization.

Initial-Condition Flags​

FlagDescription
flag_warmup\mathrm{flag\_warmup}Activates model warm-up for state stabilization.
flag_initial_buildup\mathrm{flag\_initial\_buildup}Initializes pollutant buildup conditions.

DEM and Terrain Processing Flags​

FlagDescription
flag_resample\mathrm{flag\_resample}Activates raster resampling to a target resolution.
flag_smoothening\mathrm{flag\_smoothening}Applies DEM smoothing.
flag_trunk\mathrm{flag\_trunk}Smooths only the main river trunk.
flag_fill_DEM\mathrm{flag\_fill\_DEM}Fills DEM sinks for hydrologic consistency.
flag_smooth_cells\mathrm{flag\_smooth\_cells}Applies cell-level terrain smoothing.
flag_reduce_DEM\mathrm{flag\_reduce\_DEM}Reduces DEM elevation in river cells to account for channel bathymetry.

Output and Utility Flags​

FlagDescription
flag_export_maps\mathrm{flag\_export\_maps}Enables export of raster outputs.
flag_dashboard\mathrm{flag\_dashboard}Activates dashboard-style outputs or visualization.
flag_elapsed_time\mathrm{flag\_elapsed\_time}Tracks simulation runtime.
flag_obs_gauges\mathrm{flag\_obs\_gauges}Activates output extraction at observation gauges.

Notes​

  • Only one major routing family should be active at a time: flag_full_momentum, flag_inertial, flag_diffusive, flag_kinematic, or flag_CA.
  • The Neal (2012) channel-subgrid mode requires local-inertial routing, flag_subgrid = 1, and flag_overbanks = 1.
  • flag_D8 should be treated as secondary/limited-scope rather than as another report-ready routing family.
  • Groundwater async scheduling and capillary rise are public configuration behaviors, not hidden internal details.
  • Human-instability mode 2 is not implemented and should not be presented as an available public method.