QUAL2K JSON Schema: Import/Export Data Format Reference

The QUAL2K Web Wizard uses JSON as its native data format for saving and loading project configurations. This page documents the complete schema with annotated examples. For a description of each field's meaning and units, see the Wizard Fields Reference.

Top-Level JSON Schema Structure

jsonRoot schema structure
{
  "project": { ... },
  "reaches": { "items": [ ... ] },
  "headwater": { ... },
  "pointSources": { "items": [ ... ] },
  "diffuseSources": { "items": [ ... ] },
  "kinetics": { ... },
  "lightHeat": { ... },
  "metData": { ... },
  "observedData": { ... }
}

Section: project

jsonProject configuration
{
  "project": {
    "riverName": "Rio Paraluz",
    "simDate": "2026-02-24",
    "timezone": -5,
    "calcStep": 11.25,
    "integration": "Euler",
    "simType": "Steady"
  }
}

Section: reaches

jsonReach definition array
{
  "reaches": {
    "items": [
      {
        "name": "PR1",
        "downstreamDist": 2.64,
        "upstreamElev": 45.0,
        "downstreamElev": 42.0,
        "manningN": 0.035,
        "bottomWidth": 3.0,
        "sideSlope1": 2.0,
        "sideSlope2": 2.0
      },
      {
        "name": "VPR1",
        "downstreamDist": 3.87,
        "upstreamElev": 42.0,
        "downstreamElev": 40.5,
        "manningN": 0.035,
        "bottomWidth": 3.5,
        "sideSlope1": 2.0,
        "sideSlope2": 2.0
      }
    ]
  }
}

Section: headwater

jsonHeadwater boundary conditions
{
  "headwater": {
    "flow": 0.06,
    "temperature": 22.0,
    "do": 7.5,
    "cbodFast": 4.0,
    "cbodSlow": 2.0,
    "orgN": 200,
    "nh4": 150,
    "no3": 600,
    "orgP": 50,
    "inorgP": 100,
    "iss": 10,
    "cond": 350,
    "pathogens": 5000,
    "alk": 100
  }
}

Section: pointSources

jsonPoint sources array
{
  "pointSources": {
    "items": [
      {
        "name": "WWTP Effluent",
        "location": 3.5,
        "flow": 0.02,
        "abstraction": 0,
        "temperature": 25.0,
        "do": 2.0,
        "cbodFast": 15.0,
        "nh4": 8000,
        "no3": 2000,
        "pathogens": 50000
      }
    ]
  }
}

Section: kinetics

jsonKinetic rate constants
{
  "kinetics": {
    "kdc": 0.20,
    "kdcs": 0.01,
    "khc": 0.02,
    "kn": 0.20,
    "ki": 0.00,
    "khn": 0.02,
    "khp": 0.01,
    "kb": 1.00,
    "vss": 0.00,
    "ron": 4.57,
    "SOD": 0.00
  }
}

JSON Schema Data Types

Field TypeJSON TypeExampleNotes
Namesstring"PR1"Free text identifier
Distancesnumber2.64Kilometers, always positive
Elevationsnumber45.0Meters above sea level
Flowsnumber0.06Cubic meters per second (m³/s)
Concentrationsnumber150mg/L or μg/L as indicated
Ratesnumber0.20Per day (day⁻¹)
Arraysarray of objects[{...}, {...}]Multiple reaches, sources
Datesstring"2026-02-24"ISO 8601 format