The USGS Data Importer is opened from Data → New Data → Import from USGS.

This utility downloads gage records from the USGS Water Data (NWIS) service. One run can pull many stations and both varieties at once — a whole state's annual peaks is a normal use of this tool.

There are two steps as outlined below.

Before you start: the API key

The USGS Water Data API rate-limits to **50 requests per hour without a key**, **1,000 per hour with one**. To set a key:

  1. Request one at `https://api.waterdata.usgs.gov/signup/`.
  2. In Neptune, open the **gear icon ▸ Settings…** and paste it into **API key**.

The key is stored in Neptune's application database — not in the project file — applies immediately without a restart, and is only ever displayed masked (`••••` plus the last four characters).

If a run hits the rate limit, Neptune surfaces the service's message once per import rather than reporting every station as failed.

Step 1 — Metadata and query

NameThis field is required, and forms a portion of the dataset name displayed in the project tree.
DescriptionThis field is optional and allows a max of 256 characters.
Data TypeThis field determines the data frequency and defaults to Annual Peak Data.
Date RangeThese fields determine the date range of data to be downloaded. These fields are disabled and cleared when Data Type is Annual Peak Data because the entire period of record will be downloaded.
Retrieve Period of RecordFetches the full record instead of a date range. Cleared when Data Type is Annual Peak Data.
VarietyAllows selection of Flow and/or Stage. Defaults to Flow. Each selected variety produces its own dataset per station.
Station IDsEnter station IDs manually or Get USGS Station IDs by State.

Choosing Get USGS Station IDs by State enables Get Station IDs, which opens a state picker.
Confirming a state queries USGS for that state's stations and merges them into the station table on step 2. Retrieved states appear as removable chips — removing a state drops its stations. Several states can be added in sequence.

Next requires a name.

Step 2 — Stations

Stations are presented in tabular format. When one or more states have been selected in the previous step, the table will be populated with data from all retrieved stations.

ImportCheckbox. **Select all** / **Unselect all** toggle every row.
Station IDThis is the USGS site number.
Stream / Basin NameLocation naming, pre-filled from the USGS station name for state-retrieved rows.
LocationLocation naming, pre-filled from the USGS location for state-retrieved rows.
QualifierDefaults to "USGS".
Delete RowDeletes the row from the table.
Add Station RowAppends a blank row for manual entry
Unselect AllUnselects (unchecks) all rows in the table.

Clicking the Import button queries the USGS API for all selected data. Import requires at least one checked row with a non-blank station ID.

What happens during the import

The progress dialog (Importing USGS Data) reports three phases:

  1. Querying – stations are requested in batches of up to 100 site numbers per request, four batches in flight at a time. Batching is the dominant optimization and it is also what keeps a run inside the hourly request cap.
  2. Downloading – counts completed batches. Requests failing with a rate limit (429), a server error (5xx), or a network error are retried up to four times with exponential backoff.
  3. Writing – one dataset per station per variety, reported as "Writing flow…" / "Writing stage…".

Imported stations are added to the Project Map, accessed in the Project Tree under the Maps node..

Naming

Each dataset is named according to traditional DSS part names`<Name>-<A part>-<C part>`, where the C-part is:

"FLOW", "STAGE", or "FLOW-/STAGE-ANNUAL PEAK" depending on choices made in step 1.

What is stored

Interval is inferred from the data type: `1Day` for Daily, `15Minute` for Instantaneous, `IR-Century` for Annual Peak Data. Annual peaks are additionally tagged as an annual-peak series, which is what makes them eligible for the flood-frequency analyses. Times are stored in UTC; null-valued points are dropped and the rest sorted by time.

The re-import key is the site number and the requested parameter — not a file path — so re-running the same query later refreshes the dataset in place.