OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
subcatch.c File Reference

Subcatchment properties, runoff, and water quality calculations. More...

#include <math.h>
#include <string.h>
#include "headers.h"
#include "lid.h"
#include "odesolve.h"
Include dependency graph for subcatch.c:

Macros

#define _CRT_SECURE_NO_DEPRECATE
 

Functions

int subcatch_readParams (int subcatchIndex, char *tok[], int ntoks)
 Reads subcatchment parameters from a tokenized line of input data.
 
int subcatch_readSubareaParams (char *tok[], int ntoks)
 Rreads subcatchment's subarea parameters from a tokenized line of input data.
 
int subcatch_readLanduseParams (char *tok[], int ntoks)
 Reads assignment of landuses to subcatchment from a tokenized line of input data.
 
int subcatch_readInitBuildup (char *tok[], int ntoks)
 Reads initial pollutant buildup on subcatchment from tokenized line of input data.
 
void subcatch_validate (int subcatchIndex)
 Validate a subcatchment and initialize derived runoff coefficients.
 
void subcatch_initState (int subcatchIndex)
 Initializes state of a subcatchment.
 
void subcatch_setOldState (int subcatchIndex)
 Replaces old state of subcatchment with new state.
 
double subcatch_getFracPerv (int j)
 Determines what fraction of subcatchment area, including any LID area, is pervious.
 
double subcatch_getStorage (int subcatchIndex)
 Finds total volume of water stored on a subcatchment's surface and its LIDs at the current time.
 
void subcatch_getRunon (int subcatchIndex)
 Routes runoff from a subcatchment to its outlet subcatchment or between its subareas.
 
void subcatch_addRunonFlow (int subcatchIndex, double flow)
 Updates the total runon flow (ft/s) seen by a subcatchment that receives runon flow from an upstream subcatchment.
 
double subcatch_getEvapRate (int subcatchIndex)
 Returns the potential evaporation rate (ft/sec) for a subcatchment.
 
double subcatch_getRunoff (int subcatchIndex, double tStep)
 Computes runoff & new storage depth for subcatchment.
 
double subcatch_getDepth (int j)
 Finds average depth of water over the non-LID portion of a subcatchment.
 
double subcatch_getWtdOutflow (int subcatchIndex, double f)
 Computes weighted combination of old and new subcatchment runoff.
 
void subcatch_getResults (int subcatchIndex, double wt, float x[])
 Form report-period subcatchment results from old/current states.
 

Variables

const double MEXP = 1.6666667
 
const double ODETOL = 0.0001
 
double Vevap
 
double Vpevap
 
double Vinfil
 
double Vinflow
 
double Voutflow
 
double VlidIn
 
double VlidInfil
 
double VlidOut
 
double VlidDrain
 
double VlidReturn
 

Detailed Description

Subcatchment properties, runoff, and water quality calculations.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com (OpenSWMM maintenance and extensions)
License
Apache-2.0 for OpenSWMM contributions; original EPA SWMM provenance is retained.

Macro Definition Documentation

◆ _CRT_SECURE_NO_DEPRECATE

#define _CRT_SECURE_NO_DEPRECATE

Variable Documentation

◆ MEXP

const double MEXP = 1.6666667

◆ ODETOL

const double ODETOL = 0.0001

◆ Vevap

double Vevap

◆ Vinfil

double Vinfil

◆ Vinflow

double Vinflow

◆ VlidDrain

double VlidDrain

◆ VlidIn

double VlidIn

◆ VlidInfil

double VlidInfil

◆ VlidOut

double VlidOut

◆ VlidReturn

double VlidReturn

◆ Voutflow

double Voutflow

◆ Vpevap

double Vpevap