Skip to content

Issue passing -kl into CWMS-CLI #108

@david-a-ries

Description

@david-a-ries

CLI Script

getusgs-timeseries

Describe the bug

When attempting to run 'cwms-cli usgs timeseries', the script failed with a message of "Invalid User". I attempted to pass in the key-location (-kl) but It appears that even when a key location is provided, cwms-cli defaults to what is stored as an environment variable.
@Enovotny had me change my CDA_API_KEY=$(< $CWMS_HOME/.cwms/cwbi_test_api_key) so the key would be read in as the actual key in the file

REDACTED relevant log output

NWW-T7App:user:~/rwcds/da/nww/get_usgs_cda >cwms-cli usgs timeseries -d 1 -o NWDP -a https://t7:8243/nwdp-data/ -kl /wm/nww/user/.cwms/cda_api_key
2026-02-03 16:31:06;INFO;CDA connection: https://T7:8243/nwdp-data/
2026-02-03 16:31:06;INFO;Data will be grabbed and stored from USGS for past 1.0 days for office: NWDP
2026-02-03 16:31:06;ERROR;CDA Error: response=<Response [401]>
Traceback (most recent call last):
  File "/wm/nww/user/.local/bin/cwms-cli", line 8, in <module>
   sys.exit(cli())
  File "/wm/nww/user/.local/lib/python3.9/site-packages/click/core.py", line 1161, in __call__
   return self.main(*args, **kwargs)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/click/core.py", line 1082, in main
   rv = self.invoke(ctx)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/click/core.py", line 1697, in invoke
   return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/wm/nww/user/.local/lib/python3.9/site-packages/click/core.py", line 1697, in invoke
   return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/wm/nww/user/.local/lib/python3.9/site-packages/click/core.py", line 1443, in invoke
   return ctx.invoke(self.callback, **ctx.params)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/click/core.py", line 788, in invoke
   return __callback(*args, **kwargs)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/cwmscli/utils/deps.py", line 110, in wrapper
   return func(*args, **kwargs)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/cwmscli/usgs/__init__.py", line 54, in getusgs_timeseries
   getusgs_cda(
  File "/wm/nww/user/.local/lib/python3.9/site-packages/cwmscli/usgs/getusgs_cda.py", line 25, in getusgs_cda
   USGS_ts = get_CMWS_TS_Loc_Data(office_id)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/cwmscli/usgs/getusgs_cda.py", line 118, in get_CMWS_TS_Loc_Data
   df = cwms.get_timeseries_group(
  File "/wm/nww/user/.local/lib/python3.9/site-packages/cwms/timeseries/timeseries_group.py", line 47, in get_timeseries_group
   response = api.get(endpoint=endpoint, params=params, api_version=1)
  File "/wm/nww/user/.local/lib/python3.9/site-packages/cwms/api.py", line 287, in get
   raise ApiError(response)
cwms.api.ApiError: CWMS API Error (https://t7:8243/nwdp-data/timeseries/group/USGS%20TS%20Data%20Acquisition?off… {"message":"Invalid User","incidentIdentifier":"user input error","details":{}}

Steps to Reproduce

  1. run the following:
    a. cwms-cli usgs timeseries -d 1 -o NWDP -a https://t7:8243/nwdp-data/ -kl /wm/nww/user/.cwms/cda_api_key
  2. if your API key in your .bashrc file is set up as follows: export CDA_API_KEY=$HOME/.cwms/cda_api_key
  3. then cwms-cli will not run

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions