modules/data/datasources/usgs.js

/**
 * https://waterservices.usgs.gov/rest/IV-Service.html
 * This API returns stream stages for US
 * @type {Object}
 * @name USGS
 * @memberof datasources
 */

 export default {
  "instant-values": {
    endpoint: "http://waterservices.usgs.gov/nwis/iv/",
    params: {
      // These are only written to aid users to know
      // what parameters are available
      format: null,
      site: null,
      stateCd: null,
      huc: null,
      countyCd: null,
      startDT: null,
      endDT: null,
      // and more...
    },
    "data-fields": {
      // "output-data-field-1": null,
      // enter data field here
    },
    methods:{
      type: "json",
      method: "GET"
    }
  },

  "daily-values": {
    endpoint: "http://waterservices.usgs.gov/nwis/dv/",
    params: {
      // These are only written to aid users to know
      // what parameters are available
      format: null,
      site: null,
      stateCd: null,
      huc: null,
      countyCd: null,
      startDT: null,
      endDT: null,
      // and more...
    },
    "data-fields": {
      // "output-data-field-1": null,
      // enter data field here
    },
    methods:{
      type: "json",
      method: "GET"
    }
  },

  "groundwater": {
    endpoint: "http://waterservices.usgs.gov/nwis/gwlevels/",
    params: {
      // These are only written to aid users to know
      // what parameters are available
      format: null,
      site: null,
      stateCd: null,
      huc: null,
      countyCd: null,
      startDT: null,
      endDT: null,
      // and more...
    },
    "data-fields": {
      // "output-data-field-1": null,
      // enter data field here
    },
    methods:{
      type: "json",
      method: "GET"
    }
  },

  "site-information": {
    endpoint: "https://waterservices.usgs.gov/nwis/site/",
    params: {
      format: null,
      sites: null,
      stateCd: null,
      huc: null,
      bBox: null,
      countyCd: null,
      siteType: null,
      hasDataTypeCd: null
    },
    "data-fields": {
      // enter data field here
    },
    methods:{
      type: "json",
      method: "GET"
    }
  },

  "water-quality": {
    endpoint: "https://nwis.waterdata.usgs.gov/nwis/qwdata",
    params: {
      search_site_no: null,
      site_tp_cd: null,
      huc: null,
      format: null,
      sample_media: null,
      begin_date: null,
      end_date: null,
      column_name: null
    },
    "data-fields": {
      // enter data field here
    },
    methods:{
      type: "json",
      method: "GET"
    }
  },

  "water-use": {
    endpoint: "https://waterdata.usgs.gov/nwis/water_use",
    params: {
      format: null,
      stateCd: null,
      countyCd: null,
      year: null,
      category: null,
      wu_area: null,
      wu_county: null,
      wu_year: null
    },
    "data-fields": {
      // enter data field here
    },
    methods:{
      type: "json",
      method: "GET"
    }
  },

  requirements: {
    needProxy: true,
    requireskey: false,
  },

  info: {
    returnFormats: "json",
    MoreInfo: "https://waterservices.usgs.gov/rest/IV-Service.html",
    About: "This API returns stream stages for US"
  },
  
  "endpoint-info": {
    "instant-values": {
      paramFormat: {
        format: "String - Response format (json, waterml, etc.)",
        site: "String - Site number(s), comma-separated",
        stateCd: "String - State code (e.g., 'ia' for Iowa)",
        huc: "String - Hydrologic Unit Code",
        countyCd: "String - County code",
        startDT: "String - Start date (YYYY-MM-DD format)",
        endDT: "String - End date (YYYY-MM-DD format)"
      },
      infoSource: "https://waterservices.usgs.gov/rest/IV-Service.html",
      example: {
        format: "json",
        sites: "05454500",
        startDT: "2020-01-01",
        endDT: "2020-01-07",
        exampleRequest: "http://waterservices.usgs.gov/nwis/iv/?format=json&sites=05454500&startDT=2020-01-01&endDT=2020-01-07"
      }
    },
    "daily-values": {
      paramFormat: {
        format: "String - Response format (json, waterml, etc.)",
        site: "String - Site number(s), comma-separated",
        stateCd: "String - State code (e.g., 'ia' for Iowa)",
        huc: "String - Hydrologic Unit Code",
        countyCd: "String - County code",
        startDT: "String - Start date (YYYY-MM-DD format)",
        endDT: "String - End date (YYYY-MM-DD format)"
      },
      infoSource: "https://waterservices.usgs.gov/rest/DV-Service.html",
      example: {
        format: "json",
        sites: "05454500",
        startDT: "2020-01-01",
        endDT: "2020-01-31",
        exampleRequest: "http://waterservices.usgs.gov/nwis/dv/?format=json&sites=05454500&startDT=2020-01-01&endDT=2020-01-31"
      }
    },
    "groundwater": {
      paramFormat: {
        format: "String - Response format (json, waterml, etc.)",
        site: "String - Site number(s), comma-separated",
        stateCd: "String - State code (e.g., 'ia' for Iowa)",
        huc: "String - Hydrologic Unit Code",
        countyCd: "String - County code",
        startDT: "String - Start date (YYYY-MM-DD format)",
        endDT: "String - End date (YYYY-MM-DD format)"
      },
      infoSource: "https://waterservices.usgs.gov/rest/GW-Levels-Service.html",
      example: {
        format: "json",
        sites: "414638088384201",
        startDT: "2020-01-01",
        endDT: "2020-12-31",
        exampleRequest: "http://waterservices.usgs.gov/nwis/gwlevels/?format=json&sites=414638088384201&startDT=2020-01-01&endDT=2020-12-31"
      }
    },
    "site-information": {
      paramFormat: {
        format: "String - Response format (json, rdb, etc.)",
        sites: "String - Site number(s), comma-separated",
        stateCd: "String - State code (e.g., 'ia' for Iowa)",
        huc: "String - Hydrologic Unit Code",
        bBox: "String - Bounding box (west,south,east,north)",
        countyCd: "String - County code",
        siteType: "String - Site type (e.g., 'ST' for stream, 'LK' for lake)",
        hasDataTypeCd: "String - Data type code (e.g., 'dv' for daily values)"
      },
      infoSource: "https://waterservices.usgs.gov/rest/Site-Service.html",
      example: {
        format: "rdb",
        sites: "05454500,05481000",
        siteOutput: "expanded",
        exampleRequest: "https://waterservices.usgs.gov/nwis/site/?format=rdb&sites=05454500,05481000&siteOutput=expanded"
      }
    },
    "water-quality": {
      paramFormat: {
        search_site_no: "String - Site number(s), comma-separated",
        site_tp_cd: "String - Site type code",
        huc: "String - Hydrologic Unit Code",
        format: "String - Response format",
        sample_media: "String - Sample media (e.g., 'Water', 'Sediment')",
        begin_date: "String - Start date (YYYY-MM-DD format)",
        end_date: "String - End date (YYYY-MM-DD format)",
        column_name: "String - Column name for output"
      },
      infoSource: "https://nwis.waterdata.usgs.gov/nwis/qw",
      example: {
        search_site_no: "05454500",
        format: "rdb",
        begin_date: "2020-01-01",
        end_date: "2020-12-31",
        exampleRequest: "https://nwis.waterdata.usgs.gov/nwis/qwdata?search_site_no=05454500&format=rdb&begin_date=2020-01-01&end_date=2020-12-31"
      }
    },
    "water-use": {
      paramFormat: {
        format: "String - Response format",
        stateCd: "String - State code (e.g., 'ia' for Iowa)",
        countyCd: "String - County code",
        year: "String - Year for data retrieval",
        category: "String - Water use category",
        wu_area: "String - Water use area",
        wu_county: "String - Water use county",
        wu_year: "String - Water use year"
      },
      infoSource: "https://waterdata.usgs.gov/nwis/wu",
      example: {
        format: "rdb",
        wu_area: "US",
        wu_year: "2015",
        wu_category: "ALL",
        exampleRequest: "https://waterdata.usgs.gov/nwis/water_use?format=rdb&wu_area=US&wu_year=2015&wu_category=ALL"
      }
    }
  },

  /* DATA SOURCE 2 */

  /* DATA SOURCE ... */
};