How to Add Daily Capability to a Monthly Model
StateMod allows a daily analysis to be performed with or without monthly data being provided. In general providing and preparing a monthly model first is recommended for the following reasons:
- The most difficult part of developing a basin wide model is understanding the system. By first developing a monthly model, the system operation can be investigated without burdening the user with the volume of information required for a daily model.
- Relying on monthly data means that daily natural flow generation is not required. If daily baseflows are developed, then the sum of daily baseflows will equal monthly baseflow estimates.
- A daily model is typically developed to be able to simulate large and small flow events that occur within a monthly time step or to investigate flow requests that vary within a monthly time step. Therefore, although daily streamflow data will be required, the user may want to estimate the other terms required for daily analysis, such as diversion demands or reservoir targets, using a simplified approach. As presented in the table below, StateMod provides six options to provide or estimate daily data.
- Note that the daily ID code/Station ID are generally set in the station files, including the well station (*.wes), diversion station (*.dds), reservoir station (*.res), instream flow (*.ifs), and the river station (*.ris) files.
Table 3 - Daily Modeling Options
Distribution Code | Daily ID Code for Station ID | Description | Controlling Data |
---|---|---|---|
0 | 0 | Daily data are estimated to be the average of monthly data | Monthly |
1 | Station ID | Daily data are estimated using the daily pattern provided under the station ID | Monthly |
2 | Another Station's ID | Daily data are estimated using the daily pattern provided under another station’s ID | Monthly |
3 | 3 | Daily data are provided in a daily file | Daily |
4 | 4 | Daily data are estimated by connecting the midpoints of monthly data. | Monthly |
5 | 5 | Daily data are estimated by connecting the endpoints of monthly data | Monthly |
- As described above, if both daily and monthly data are provided for the same structure and the daily data does not sum to the monthly total, the type of daily distribution specified determines which data (monthly or daily) takes precedence. For example, when option 2 is selected, daily data are used to distribute the monthly value to daily values regardless of what the sum of the daily values equal. Similarly, when option 3 is selected and the sum of daily data does equal the monthly value, the daily values are used.
- For the case where a user supplies monthly data and a representative gage to use for daily data, the sum of daily data typically equals the monthly total. Daily data may not equal the monthly total if the representative gage with daily data contains all zeros.
- The routing of daily streamflows is accounted for by the gain and loss term that results from the natural flows estimated by or provided to the model.
- Routing of reservoir releases are not included for the following reasons:
- StateMod is a primarily a planning model.
- The additional detail required to properly implement reservoir releases with a travel time component is not justified since the system would have to include some kind of forecasting to know when a reservoir release is required before a reservoir demand actually occurs.
- The volume of water potentially delivered early by ignoring a reservoir's travel time is offset by the potential over release that occurs after the demand is satisfied.
- StateMod allows a user to estimate daily demands by providing a monthly total that is decreased each day in the month that a
diversion occurs (see the control file (*.ctl) variable
iday
). This "daily decrementing" capability can be important when simulating a ditch with a significant flood right that typically only diverts a few days a month. When this option is used for ditches without a significant flood right, water rights or canal capacity typically limit the amount diverted in a day.
StateMod’s ability to use or estimate daily data requires the user be extremely careful when assigning a daily streamflow gage for a given structure. Following are four examples successfully used in prior StateMod applications. The first two examples (Table 4 and Table 5) perform a daily analysis using monthly natural flow results. The last two examples (Table 6 and Table 7) perform a daily analysis by first calculating daily natural flows.
Table 4 is an example used for a typical Historical Calibration run with natural flows. It does not perform a daily natural flow analysis to estimate daily natural flows. Instead it uses monthly natural flow results and disaggregates them to daily values using historical daily data at a streamflow gage. Daily diversion data are used to estimate daily historical diversion demands and instream flow demands. Interpolation routines are used to estimate daily reservoir targets and well demands. Note that daily diversion demands are typically equal to daily historical diversions for a Historical Calibration run. Also daily instream flow demands often change from one value to another on a specified day of the month that requires daily data.
Table 4 - Example 1, Daily ID Assignment for Historical Calibration Scenario with Monthly Natural Flow
File | Daily ID | Comment |
---|---|---|
River Station (*.ris) | USGS Gage ID | Estimate daily streamflows by distributing monthly natural flows to daily values using daily data at a streamflow gage. Note the monthly totals in the monthly natural flow file (*.rim or *.xbm) control. |
Diverstion Station (*.dds) | 3 | Daily diversion data (*.ddd) is used to estimate daily demands. Note the daily data controls. |
Reservoir Station | 5 | Estimate daily reservoir targets by connecting the endpoints of data in the Monthly Target file (*.tar/*.eom). |
Instream Flow Station | 3 | Daily instream flow demand data (*.ifd) is used to estimate daily demands. Note the daily data controls. |
Well Station | 4 | Estimated daily well demands by connecting the midpoints of data in the monthly well demand (*.wem) file. |
Table 5 is an example used for a typical Daily Baseline run. Similar to the Historical Calibration run, it does not perform a daily natural flow analysis to estimate daily streamflows. Instead it uses monthly natural flow results and disaggregates them to daily values using historical daily data at a stream gage. Daily data are used to estimate daily instream flow demands. Interpolation routines are used to estimate daily diversion demands, daily reservoir targets and well demands. Note that daily diversion demands are estimated using an interpolation approach because it is the most appropriate technique to estimated future daily diversion demands. The approach used to estimate daily reservoir targets, instream flow demands and well demands are the same as those used in Table 4 above.
Table 5 - Example 2, Daily ID Assignment for Daily Calculated/Baseline Scenario with Monthly Natural Flow
File | Daily ID | Comment |
---|---|---|
River Station (*.ris) | USGS Gage ID | Estimate daily streamflows by distributing monthly natural flows to daily values using daily data at a streamflow gage. Note the monthly totals in the monthly natural flow file (*.rim or *.xbm) control. |
Diverstion Station (*.dds) | 4 | Estimated daily diversion demands by connecting the midpoints of data in the calculated monthly demand (*C.ddm) file. |
Reservoir Station | 5 | Estimate daily reservoir targets by connecting the endpoints of data in the calculated monthly reservoir target file (*C.tar) |
Instream Flow Station | 3 | Daily instream flow demand data (*.ifd) is used to estimate daily demands. Note the daily data controls. |
Well Station | 4 | Estimated daily well demands by connecting the midpoints of data in the monthly well demand (*.wem) file. |
Table 6 is an example used for a Daily Historical Calibration Run with daily natural flows. Unlike the examples described above, this example does perform a daily natural flow analysis to estimate daily streamflows. Note that daily data are used for streamflow, diversions and instream flows. Interpolation routines are used to estimate daily reservoir contents and daily reservoir targets. An interpolation approach is used for reservoirs and wells because daily reservoir and well data are typically unavailable.
Table 6 - Example 3, Daily ID Assignment for a Daily Historical Calibration Scenario with Daily Natural Flows
File | Daily ID | Comment |
---|---|---|
River Station (*.ris) | 3 | For the natural flow run, use the daily streamflow data located in the Daily Historical Streamflow file (*.riy). For a simulation run, use the daily natural flow streamflow data located in the Daily Streamflow file (*.rid or *.xby) created by the daily natural flow run. |
Diverstion Station (*.dds) | 3 | For the natural flow run, use the Daily Historical Diversion data (*.ddy) to estimate daily historical diversions. For the simulation run, use the Daily Diversion Demand data (*.ddd) to estimate daily historical demands. |
Reservoir Station | 5 | For the natural flow run, estimate daily reservoir end-of-day contents by connecting the endpoints of data in the monthly reservoir target file (*.eom). For the simulation run, estimate daily reservoir targets by connecting the endpoints of data in the Monthly Reservoir Target file (*.tar). |
Instream Flow Station | 3 | For the natural flow run, instream flows are not required because they are non-consumptive. For the simulation run, use daily instream flow demand data (*.ifd). |
Well Station | 4 | Estimated daily well demands by connecting the midpoints of data in the monthly well demand (*.wem) file. |
Table 7 is an example used for a Daily Calculated or Baseline Run with daily natural flows. The simulation run uses an interpolation routine for diversion demands and well demands because it is the most appropriate technique to estimate future daily diversion demands. Using a different approach for diversions during a natural flow run and a simulation run requires a different diversion station file be used for each. Interpolation routines are again used to estimate daily historical reservoir contents and daily reservoir targets for both the natural flow and simulation runs because daily reservoir data are typically unavailable.
Table 7 - Example 4, Daily ID Assignment for a Daily Calculated/Baseline Scenario with Daily Natural Flows
File | Daily ID | Comment |
---|---|---|
River Station (*.ris) | 3 | For the natural flow run, use the daily streamflow data located in the Daily Historical Streamflow file (*.riy). For a simulation run, use the daily natural flow streamflow data located in the Daily Streamflow file (*.rid or *.xby) created by the daily natural flow run. |
Diverstion Station (*.dds) | 3 = natural flow, 4 = simulation | For the natural flow run, use the Daily Historical Diversion data (*.ddy) to estimate daily historical diversions. For the simulation run, use the Daily Diversion Demand data (*.ddd) to estimate daily historical demands. |
Reservoir Station | 5 | For the natural flow run, estimate daily reservoir end-of-day contents by connecting the endpoints of data in the monthly reservoir target file (*.eom). For the simulation run, estimate daily reservoir targets by connecting the endpoints of data in the Monthly Reservoir Target file (*.tar). |
Instream Flow Station | 3 | For the natural flow run, instream flows are not required because they are non-consumptive. For the simulation run, use daily instream flow demand data (*.ifd). |
Well Station | 4 | Estimated daily well demands by connecting the midpoints of data in the monthly well demand (*.wem) file. |