Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DSS Concepts

Pathnames

Every record in a DSS file is identified by a six-part pathname:

/A-Part/B-Part/C-Part/D-Part/E-Part/F-Part/
PartNameExampleDescription
AProjectSACRAMENTOGeographic area or project
BLocationFOLSOM DAMSpecific measurement location
CParameterFLOWWhat is measured (FLOW, STAGE, PRECIP)
DDate01JAN2020Start date of data block
EInterval1HOURTime step (1MIN, 1HOUR, 1DAY, IR-MONTH)
FVersionOBSData source or version (OBS, SIM, COMPUTED)

Maximum length: 393 characters.

Record Types

CodeNameDescription
100RTSRegular time series (floats)
105RTDRegular time series (doubles)
110ITSIrregular time series (floats)
115ITDIrregular time series (doubles)
200PDPaired data (floats)
205PDDPaired data (doubles)
300TXTText data
400-431GridSpatial grids (SHG, HRAP, Albers)
90-93ArrayGeneric arrays (int, float, double)
20LocationCoordinate and datum information

Time Series Blocks

Regular time series are stored in blocks aligned to calendar boundaries:

  • Hourly data: one block per month (744 values for January)
  • Daily data: one block per year (365/366 values)
  • Monthly data: one block per decade (120 values)

The write_ts_multi() method handles block splitting automatically.

Missing Values

  • DSS v7: -3.4028235e+38 (float minimum)
  • DSS v6: -901.0

The convert_missing_values() function handles v6→v7 conversion.

File Versions

  • DSS v7 (current): 64-bit addressing, supports up to exabytes, C-based
  • DSS v6 (legacy): 32-bit addressing, 4GB limit, Fortran-based

Use dss-convert to convert v6 files to v7.