For HEC-DSS time series data, a "dataset" is generally used, not individual records. A time series dataset contains data over a span of time and is defined by a start date/time and end date/time. HEC-DSS take dates as character strings (e.g. "09Jan1982") or Julian days since 01Jan1900 (where 01Jan1900is day one.) Times are typically defined as either seconds or minutes past midnight for that day. "HecTime" has functions for converting character dates into Julian and visa-versa, as well as time conversion functions.


In DSS version 7, if an explicit time window is not specified, it can be implied. For example, a condensed pathname's D part (e.g., "09Jul1973 - 20Sep2003") is the date span of the time window, and DSS will interpret that as the start of the day for the first date until the end of the day for the second date. If just a single date is given (e.g., "01Jan2000"), then the data for that single record will be retrieved.


If you do not know the time window for a data set, you can obtain it using the function "HecTimeSeries getSeriesTimeRange". If you have a valid pathname with a valid "D" (date) part, getSeriesTimeRange will search forwards and backwards until no more records are found to determine the "ends" of the time window.

If you do not have a valid "D" (date) part, then you can have it to do an exhaustive search of the database, where it will search the catalog for the same pathname, except for the D part. This is a resource intensive call and should be avoided.

If you wish to read the entire dataset (all times or period of record), you can either just set the D part to an astrick "*", or set the TimeSeriesContainer "periodOfRecord" flag to true and DSS will automatically read all of the data. That is faster than Do not calling getSeriesTimeRange. .Is performance the reason?


Generally data is stored as "End-Of-Period" (EOP), which corresponds to midnight being 2400 hours, or the end of the day compared to 0000 hours as the beginning of the day. If you have daily average flow, you cannot know the average flow until the day is complete (at the end of the day).

Monthly average data is reported at the end of the month (the 30th or 31st); hourly data is reported at the end of the hour. One exception is when the start of a value is needed, such as the start measurement for a grid set. For those cases, the "Beginning of Period" time is given.

Some commercial programs do not account for time in this manner. For example, Microsoft Excel will generally ignore the time for daily data. The unset time defaults to "0" (zero), which can make it display as beginning of period. When importing Excel data into HEC-DSS, this time discrepancy needs to be accounted for.