#1055981 wmforecast: Does not retrieve data; shows error

#1055981#5
Date:
2023-11-15 09:57:30 UTC
From:
To:
Since some time (about 2 weeks, but I'm not entirely sure) wmforecast
displays an image with a question mark along with the text "ERROR".  The
following message(s) appear on the console:

$ LC_ALL=C wmforecast
GWeather-Message: 11:51:41.964: Failed to get weather.gov point data: [status: 404] Not Found
GWeather-Message: 11:52:41.353: Failed to get weather.gov point data: [status: 404] Not Found
GWeather-Message: 11:53:41.349: Failed to get weather.gov point data: [status: 404] Not Found

(process:179771): GWeather-WARNING **: 11:54:40.649: Failed to get METAR data: HTTP/2 Error: NO_ERROR

My ~/GNUstep/Defaults/wmforecast:
,----
| {
|   longitude = "27,91108";
|   interval = 60;
|   text = "#20b2aa";
|   icondir = "/usr/share/wmforecast";
|   units = c;
|   background = "#000000";
|   latitude = "43,211375";
| }
`----

#1055981#10
Date:
2023-11-15 13:41:00 UTC
From:
To:
Control: reassign -1 libgweather4

This is not a bug in wmforecast per se.  It uses libgweather4 to
retrieve forecasts are retrieved by libgweather4 from weather.gov, and
it appears that 404's are being returned for some locations.

The example given in the API doc's at
https://www.weather.gov/documentation/services-web-api succeeds:

  GET /points/39.7456,-97.0892 HTTP/1.1
  Host: api.weather.gov
  Accept: application/geo+json
  User-Agent: (azazel.net, jeremy@azazel.net)

  HTTP/1.1 200 OK
  Server: nginx/1.20.1
  Content-Type: application/geo+json
  Access-Control-Allow-Origin: *
  Access-Control-Expose-Headers: X-Correlation-Id, X-Request-Id, X-Server-Id
  X-Request-ID: 08058eeb-9934-448a-bb4d-da9735491564
  X-Correlation-ID: 9922208
  X-Server-ID: vm-bldr-nids-apiapp1.ncep.noaa.gov
  Cache-Control: public, max-age=85382, s-maxage=120
  Expires: Thu, 16 Nov 2023 12:41:45 GMT
  Date: Wed, 15 Nov 2023 12:58:43 GMT
  Content-Length: 3096
  Connection: keep-alive
  X-Edge-Request-ID: b07ff2
  Vary: Accept,Feature-Flags,Accept-Language
  Strict-Transport-Security: max-age=31536000 ; includeSubDomains ; preload

  {
      "@context": [
          "https://geojson.org/geojson-ld/geojson-context.jsonld",
  ...

However, if I send your latitude and longitude, I get a 404:

  GET /points/43.2113,27.911 HTTP/1.1
  Host: api.weather.gov
  Accept: application/geo+json
  User-Agent: (azazel.net, jeremy@azazel.net)

  HTTP/1.1 404 Not Found
  Server: nginx/1.20.1
  Content-Type: application/problem+json
  X-Request-ID: 2f158817-e80e-40b1-bcb0-1ef801e85f04
  X-Correlation-ID: 3db7f703
  X-Server-ID: vm-bldr-nids-apiapp12.ncep.noaa.gov
  Access-Control-Allow-Origin: *
  Access-Control-Expose-Headers: X-Correlation-Id, X-Request-Id, X-Server-Id
  Pragma: no-cache
  Content-Length: 304
  Cache-Control: private, must-revalidate, max-age=86353
  Expires: Thu, 16 Nov 2023 12:55:30 GMT
  Date: Wed, 15 Nov 2023 12:56:17 GMT
  Connection: keep-alive
  X-Edge-Request-ID: afdb0d
  Vary: Accept,Feature-Flags,Accept-Language
  Strict-Transport-Security: max-age=31536000 ; includeSubDomains ; preload

  {
      "correlationId": "3db7f703",
      "title": "Data Unavailable For Requested Point",
      "type": "https://api.weather.gov/problems/InvalidPoint",
      "status": 404,
      "detail": "Unable to provide data for requested point 43.2113,27.911",
      "instance": "https://api.weather.gov/requests/3db7f703"
  }

I am going to reassign this bug to libgweather4.

J.

#1055981#19
Date:
2025-02-14 19:55:42 UTC
From:
To:
Hi all,
This doesn't look like a grave bug to me. It would be nice if the tools
handled the error better.

Paul