skill:oracle-assess
Answer this question about chain 1 over blocks 26051649 to 26051947 (closing hash 0x779cb990e9009ba1a8a15dab55a041bae0bb21454f81029131c14574d918c1b7), exactly as .imd/reads/oracle.json pins it: What air temperature, in whole degrees Celsius, did the last routine METAR for KOMA (Eppley Airfield, Omaha, Nebraska) issued at or before 17:00 UTC on 23 September 2026 (1:00 PM Eastern Daylight Time) report? Answer type: uint256. Evidence: panel. Definitions the requester fixed: - answer: the temperature in whole degrees Celsius as a non-negative whole number, taken from the temperature/dew-point group in the body of that METAR (for example 26 from "26/20"), not the tenths in the T-group remarks and not converted to Fahrenheit - subject: The weather observation at KOMA (Nebraska) on 23 September 2026. "The last routine METAR issued at or before 17:00 UTC" means the report of type METAR (not SPECI) whose observation time (the DDHHMMZ group) is the latest at or before 231700Z, typically about 1651Z-1656Z. The pinned chain and window of this request only timestamp it; the answer is a recorded weather observation, not a reading taken at the pinned block. - source: Answer from the archived METAR text itself, read from a public archive (aviationweather.gov data API, Iowa Environmental Mesonet ASOS archive, Ogimet, or NOAA/NWS observation history), quote the raw report in your notes, and name the source. - missing: If you cannot find that report, report that; do not estimate from a forecast, a nearby station, or an hourly summary. Three steps: (1) read one or two sources that state the fact and note which; (2) write artifacts/answer.json with recipe kind "panel" and the source; (3) run node .imd/reads/skills/oracle-assess/scripts/check-answer.mjs and fix what it prints. Nothing else needs reading first: the brief above is in .imd/reads/oracle.json, and .imd/reads/skills/oracle-assess/REFERENCE.md lists the recipe's fields if the checker asks for one.
VERDICT: paths and tree verified; no suite was run for this kind of work
Wrote [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**, taken from the 16:52Z KOMA METAR in the [Iowa Environmental Mesonet ASOS archive](https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=OMA&data=all&year1=2026&month1=9&day1=23&year2=2026&month2=9&day2=24&tz=UTC&format=comma&latlon=no&elev=no&missing=empty&trace=T&direct=no&report_type=1,2). The requested checker printed `ok`.
Recorded **18°C** from the IEM archive’s 16:52Z KOMA METAR (`18/13`). The raw report and source URL are in `artifacts/answer.json:11`; the pinned request window is copied exactly. The checker prints `ok`.
The archived METAR reports **18°C** in the `18/13` temperature/dew-point group. I recorded the raw report and Aviation Weather Center API source in [artifacts/answer.json](/home/imd/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). The required checker printed `ok`.
Wrote [artifacts/answer.json](/home/identitymd3/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**, based on the archived 16:52Z METAR. The checker printed `ok`.
The reported temperature is **18°C** from the `18/13` group in the 231652Z report. I recorded the raw METAR and source URL in [artifacts/answer.json](/home/imd/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). The checker printed `ok`. The source is the [Aviation Weather Center Data API](https://aviationweather.gov/api/data/metar?ids=KOMA&date=2026-09-23T17:00:00Z&format=raw).
- Answer: `18 °C`, from the 16:55Z KOMA report recorded in `artifacts/answer.json:1`. - The required checker prints `ok`.
The reported temperature is **18°C**, from the 16:52Z routine METAR’s `18/13` group. The raw report and Aviation Weather Center API source are recorded in `artifacts/answer.json:11` and `artifacts/answer.json:23`. The required checker passed: `ok`.
Wrote [artifacts/answer.json](/home/imd/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with **18°C**, from the 16:52Z KOMA METAR’s `18/13` group. The checker printed `ok`.
Created [artifacts/answer.json](/opt/identitymd/worker3/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**. The supplied checker prints `ok`.
Wrote [artifacts/answer.json](/home/worker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**, from the 16:55Z KOMA report archived by the Iowa Environmental Mesonet. The checker printed `ok`.
Completed [artifacts/answer.json](/home/seat/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). Answer: 18 °C. Validation passed: `ok`.
Checker prints `ok`. The answer is 18°C, from the METAR `KOMA 231652Z COR ... 18/13 ...` (aviationweather.gov Data API), the latest KOMA METAR at or before 231700Z.
Checker prints `ok`. Answer: KOMA's last routine METAR at/before 231700Z was `KOMA 231652Z COR ... 18/13 A3034 ...` (IEM ASOS archive), giving 18°C — written to `artifacts/answer.json`.
Created [artifacts/answer.json](/home/imd-worker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**, from the KOMA 231652Z routine METAR archived by the Iowa Environmental Mesonet. The checker printed `ok`.
Checker passed. The last routine METAR for KOMA at/before 1700Z on 2026-09-23 was `231652Z ... 18/13`, giving a temperature of **18°C**, sourced from aviationweather.gov's raw METAR archive. `artifacts/answer.json` is written and validated.
Wrote [artifacts/answer.json](/home/imd/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18 °C**, based on the archived 231652Z METAR. The checker printed `ok`.
The checker prints `ok`. Answer: **18°C**, from METAR `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133`, confirmed identically via both the IEM ASOS archive and aviationweather.gov's Data API. Written to `artifacts/answer.json`.
Created [artifacts/answer.json](/home/seat/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer `18`. Validated successfully: `check-answer.mjs` prints `ok`.
Checker passes. The last routine METAR for KOMA at/before 17:00Z on 2026-09-23 was `KOMA 231652Z COR ... 18/13 ...` (IEM ASOS archive), giving a temperature of 18°C, written to `artifacts/answer.json`.
Checker prints `ok`. The last routine METAR for KOMA at or before 231700Z was **231652Z COR ... 18/13**, giving temperature = 18°C, sourced from the IEM ASOS archive and cross-checked against aviationweather.gov. `artifacts/answer.json` is written and validated.
Checker passed with `ok`. Answer: 18°C, from the 231652Z KOMA METAR (`18/13`) per IEM ASOS archive, written to `artifacts/answer.json`.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok` for it. The last routine METAR at or before 17:00 UTC on 23 September was the 1652Z report: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature group in the body is 18/13, so the answer is 18. I read it from the aviationweather.gov data API. There is no SPECI between that report and 17:00Z; the next METAR is 231752Z. The recipe kind is `panel`, with that API named as the source. The first write failed the checker because the `window` keys were in the wrong order. I reordered them to match `oracle.json` and the check then passed.
The answer is 18 °C, and `check-answer.mjs` prints ok for `artifacts/answer.json`. The recipe is `panel`, with the aviationweather.gov data API as the source. The report is the 231652Z one: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01778133` - **Report choice:** it is a corrected routine METAR, the latest one at or before 231700Z. The next report, 231752Z, is after the cutoff and read 19/13. - **Definitions:** they state the group used (temperature from the T/Td group in the METAR body) and that 231652Z is the report chosen. - **Fix:** the first check failed because the `window` keys were in the wrong order. I reordered them to match `oracle.json`. I read only the aviationweather.gov API and did not cross-check against a second archive.
Checker prints `ok`. The last routine METAR at/before 1700Z was KOMA 231652Z (COR) with temperature/dew-point group 18/13, giving an answer of 18°C, sourced from the IEM ASOS archive; written to `artifacts/answer.json`.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok` for it. The last routine METAR at or before 17:00 UTC is the 1652Z report. Iowa Environmental Mesonet's ASOS archive returned it, and the aviationweather.gov data API lists the same report: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group in the body is 18/13, so the temperature is 18. The next report is 1752Z, which falls after the cutoff. The recipe is kind `panel` with the IEM archive named as the source. The first write failed the checker because the `window` keys were in the wrong order. I reordered them to match `.imd/reads/oracle.json`.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok`. It's a panel answer, so there is no scan. The value comes from the archived METAR text, read from the aviationweather.gov data API. The last routine METAR at or before 231700Z is the 231652Z report. It is a correction (COR) of the routine report, not a SPECI. The raw report reads: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` Its temperature/dew-point group is 18/13, so the answer is 18. The next METAR is 231752Z, which is after the cutoff. My first write of the file failed the check because the `window` keys were in the wrong order, so I reordered them to match `.imd/reads/oracle.json`.
I wrote `artifacts/answer.json` with the answer **18**, and `check-answer.mjs` prints `ok`. The last routine METAR for KOMA at or before 17:00 UTC on 23 September 2026 is the 231652Z report. Its raw text is: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature group `18/13` gives 18 °C. The 231752Z METAR is after 17:00 UTC, so I excluded it. I read the report from the aviationweather.gov data API and confirmed it in the Iowa Environmental Mesonet ASOS archive (station OMA, valid 2026-09-23 16:52 UTC). The recipe kind is `panel`, with those two sources named. The checker first rejected the file because the `window` keys were in a different order from `oracle.json`. I reordered them and it passed.
`artifacts/answer.json` is written with the answer **18** (°C), and `check-answer.mjs` prints `ok` for it. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 231652Z report: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group reads 18/13, so the air temperature is 18 °C. The next METAR, 231752Z, is after the cutoff. No SPECI shows between 1652Z and 1700Z. I read it from two archives that show the same report: the Iowa Environmental Mesonet ASOS archive (cited as the recipe source) and the aviationweather.gov data API. The recipe kind is `panel`. The checker first rejected the window because the keys were in the wrong order (`toBlock` must come before `fromBlock`); I reordered them.
The answer is 18 °C, and `check-answer.mjs` prints ok for `artifacts/answer.json`. The last routine METAR for KOMA at or before 1700Z on 23 September was the 231652Z report, from the aviationweather.gov data API: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The body group reads 18/13, so the temperature is 18 °C. The T-group tenths (17.8) were not used. The next METAR, 231752Z, is after 1700Z. I found no SPECI to consider, since only METAR-type reports count. The file uses the `panel` recipe with the source named. The request id, chain and window are copied from `.imd/reads/oracle.json`. I only read one source, aviationweather.gov, and didn't cross-check a second archive.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok` for it. The last routine METAR at or before 17:00 UTC on 23 September 2026 was the 231652Z report, a corrected one (COR). The observation before it was 231552Z, and the next was 231752Z, which is after the cutoff. The raw report reads: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature group in the body is 18/13, so the answer is 18. I read it from the aviationweather.gov data API (`ids=KOMA`, 48 hours of history). I used only that one source. The file uses recipe kind `panel` with that source, and the request id, chain and window are copied from `.imd/reads/oracle.json`. The checker first rejected the file because the `window` keys were in the wrong order, and I reordered them to match.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok`. The last routine METAR at or before 17:00 UTC on 23 September 2026 is the 1652Z report: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` Its temperature/dew-point group is 18/13, so the temperature is 18. Both the aviationweather.gov data API and the Iowa Environmental Mesonet ASOS archive show this report with the same 18/13. The recipe is `panel` with those two sources named. The window in the file is copied exactly from `.imd/reads/oracle.json`. The checker first rejected the file because it wanted `toBlock` listed before `fromBlock`, so I reordered the keys.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok`. The report is the last routine METAR for KOMA at or before 17:00 UTC on 23 September 2026, issued at 1652Z. I read it from the aviationweather.gov data API: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature group in the body is 18/13, so the answer is 18. The next report, 231752Z, falls after the cutoff, and no SPECI was involved. The recipe is kind `panel` with that API URL as its source. The checker first rejected the window because my keys were in a different order from `.imd/reads/oracle.json`. I reordered them to match, and it then passed.
The answer is 18 °C, and `check-answer.mjs` prints ok for `artifacts/answer.json`. The last routine METAR for KOMA at or before 1700Z on 23 September is the 1652Z report, which reads `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133`. Its temperature/dew-point group is 18/13. The next METAR is 231752Z, which is after the cutoff. The source is the aviationweather.gov data API. The checker first rejected the file because the `window` keys were in the wrong order. I reordered them to match the request and it then passed. I only wrote `artifacts/answer.json`, with recipe kind `panel`.
Created [artifacts/answer.json](/home/debian/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**, based on the archived 16:52Z KOMA METAR. The checker printed `ok`.
The archived 16:52Z KOMA METAR reports **18°C** in its `18/13` temperature/dew-point group. I wrote the answer and raw report to [artifacts/answer.json](/home/levi/imd/p7/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). The checker printed `ok`.
The reported temperature is **18°C**. The archived report was `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` from the [Aviation Weather Center API](https://aviationweather.gov/api/data/metar?ids=KOMA&format=raw&date=20260923_1700&hours=24). The answer is saved in [artifacts/answer.json](/home/imd-worker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json); the checker printed `ok`.
The archived routine report is `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133`, so the answer is **18°C**. I used the [IEM ASOS archive](https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=OMA&data=metar&year1=2026&month1=9&day1=23&year2=2026&month2=9&day2=23&tz=Etc%2FUTC&format=onlycomma&nometa=yes&report_type=3); its documentation identifies report type 3 as Routine and type 1 as HFMETAR. [IEM API documentation](https://mesonet3.agron.iastate.edu/cgi-bin/request/asos.py?help=) Wrote [artifacts/answer.json](/home/imd-worker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). The required checker printed `ok`.
Answered **18 °C** from the IEM archive’s routine report at 231700Z: `KOMA 231700Z AUTO 13008KT 10SM OVC018 18/13 A3034 RMK T01800130 MADISHF`. The answer is in [artifacts/answer.json](/home/levi/imd/p6/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). The required checker printed `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). Answer: 18 °C. The supplied checker prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). Answer: `18` °C. Validation passed: `ok`.
Created [artifacts/answer.json](/home/imdworker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer `18` from the IEM archive’s 16:52Z KOMA METAR. The required checker printed `ok`.
Created [artifacts/answer.json](/home/imdworker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer `18`. Validated successfully: `check-answer.mjs` prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). Answer: 18°C. The supplied checker returns `ok`.
Clean. Checker prints "ok". **Answer: 18°C** — from KOMA METAR `231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133`, the last routine METAR at/before 1700Z (per IEM ASOS archive), body temp/dewpoint group 18/13. Written to `artifacts/answer.json`, checker passes.
Created [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer `18` °C, sourced from the Iowa Environmental Mesonet archived raw METAR. Validation passed: `ok`.
Checker passed and git status is clean (artifacts/answer.json is untracked output, as required). The last routine METAR for KOMA at/before 17:00Z on 2026-09-23 was `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133`, confirmed identically from both aviationweather.gov and IEM ASOS archives — temperature **18°C**.
Created [artifacts/answer.json](/home/worker/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with the archived 17:00Z KOMA report and answer `18`. The required checker printed `ok`.
Wrote [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer **18°C**, from the KOMA report’s `18/13` temperature/dew-point group. The answer checker printed `ok`.
Checker prints `ok`, git status clean (artifacts/ untracked, as intended). Answer: 18°C, from IEM ASOS archive report `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133`. Written to artifacts/answer.json.
Created [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer `18`. Validated successfully: `check-answer.mjs` prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json). Answer: 18 °C, from `KOMA 231652Z ... 18/13 ...`. Validation passed: `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/99e8cf01-fcdd-47cc-b138-c629dc9329cc/4cb2b4f8-3d03-484e-98ca-d70a5548dd44/artifacts/answer.json) with answer `18` °C, sourced from the IEM archived KOMA METAR. Validation passed: `check-answer.mjs` printed `ok`.
Checker prints `ok`. The last routine METAR for KOMA at or before 17:00Z on 2026-09-23 is `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` (IEM ASOS archive), giving temperature **18°C**. `artifacts/answer.json` is written with this answer and passes the checker.
Clean (artifacts/ is untracked output, not shown since it's a separately delivered path). Checker passed with "ok" — answer is 18°C, sourced from IEM ASOS archive's KOMA 231652Z COR METAR (18/13).
Check passed with `ok`, and `git status --porcelain` is clean (artifacts/ is untracked output, not staged). **Answer: 18°C** — from the KOMA 231652Z METAR (`18/13`), the last routine report at/before 1700Z, per the IEM ASOS archive. Written to `artifacts/answer.json`.
Clean working tree (artifacts/ is untracked/ignored as expected), and check-answer.mjs prints `ok`. Answer: **18°C**, from METAR `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` (IEM ASOS archive), written to `artifacts/answer.json`.
Checker prints `ok`. The last routine METAR for KOMA at/before 17:00 UTC on 2026-09-23 is `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 ...` from the IEM ASOS archive, giving 18°C. `artifacts/answer.json` is written and validated.
Checker passed. The last routine METAR at or before 231700Z for KOMA is `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` (IEM ASOS archive), giving a temperature of **18°C**. Answer written to `artifacts/answer.json`.
I wrote `artifacts/answer.json` with an answer of 18, and `check-answer.mjs` prints ok for it. The last routine METAR for KOMA at or before 17:00 UTC on 23 September 2026 was observed at 1652Z. The aviationweather.gov data API gives the raw report as: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature group reads 18/13, so the answer is 18 °C. The API listing shows no METAR or SPECI between 1652Z and 1700Z. That report is a COR (correction), and I counted it as the 1652Z routine METAR. This is stated in `definitions`. I used a single source and did not cross-check against the Iowa archive or Ogimet. The checker first rejected the window because its keys were in a different order from the one in `oracle.json`. I reordered them to match.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints ok for it. The Iowa Environmental Mesonet ASOS archive has this report for KOMA as the last one at or before 1700Z: `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The report before it (231552Z) read 17/13, and the next one (231752Z) is after the cutoff. This report carries a COR (correction) flag but is a METAR, not a SPECI, so I counted it as the routine 1652Z report. That is stated in `definitions`. I read only this one archive, not a second source. The answer file uses the "panel" recipe with the IEM archive named as the source. The window is copied exactly from `oracle.json`.
I wrote `artifacts/answer.json` with an answer of 18 °C, and `check-answer.mjs` prints `ok` for it. The source is the Iowa Environmental Mesonet ASOS archive (station OMA, 23 September 2026). The raw report is: `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The report before it (231552Z) read 17/13, and the next one (231752Z) is after 1700Z, so 231652Z is the last one at or before 17:00 UTC. It is marked `COR`, a correction of the routine 1652Z METAR. I treated it as that routine report, and `definitions` in the answer file says so. I read only this one source and did not cross-check it against a second archive. The checker rejected the first version because the `window` keys were in the wrong order. I reordered them to match `oracle.json` exactly.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok`. The last routine METAR for KOMA at or before 231700Z is the 231652Z report from the aviationweather.gov data API: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group reads 18/13, so the temperature is 18. There was no later METAR or SPECI before 1700Z. The recipe kind is "panel" with that API URL as the source. The checker first rejected the window because its keys were in a different order from `oracle.json`. I reordered them to match and it passed.
The answer is 18 °C, and `check-answer.mjs` prints `ok` for `artifacts/answer.json`. The last routine METAR at or before 17:00 UTC is the 231652Z report, a correction of the routine 1652Z observation. I read it from the Iowa Environmental Mesonet ASOS archive (station OMA, report type 3): `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The next report, 231752Z, is after 17:00 UTC, so it doesn't count. I treated the COR as the same routine report and said so under `definitions`. I used only that one archive and did not cross-check a second source. The recipe kind is `panel`, with the archive named as the source. The checker first rejected the window because its keys were in a different order from `oracle.json`. I reordered them and the block numbers and hash are unchanged.
The last routine METAR for KOMA at or before 17:00 UTC on 23 September 2026 reported 18 °C, and `artifacts/answer.json` now says so. The checker prints ok. The Iowa Environmental Mesonet ASOS archive (station OMA, routine reports only) gives this raw report: `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` I read only this one source. The 1652Z report is marked COR (a correction). I treated it as the routine METAR for that time and said so under `definitions` in the answer file. The checker first rejected the file because it wants the window keys in the order toBlock, fromBlock, toBlockHash. I reordered them to match `oracle.json`. The recipe is kind `panel` with the IEM archive as its source.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok`. The first checker run failed on the key order of the `window` object, which I fixed. The last routine METAR at or before 17:00 UTC on 23 September is the 1652Z report. I read it from the aviationweather.gov data API: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The next METAR is 231752Z, which is after the cutoff. The archive lists no SPECI between 1652Z and 1700Z, and SPECIs are excluded anyway. The recipe kind is `panel`, with that API as the source.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok` for it. The source is the Iowa Environmental Mesonet ASOS archive (station OMA). It lists the last METAR at or before 17:00 UTC as the 1652Z report, which is a correction (COR) of a routine METAR: `KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group reads 18/13, so the temperature is 18. I counted the COR as the routine 1652Z report because it replaces it. The archive query only requested the METAR report types, and no SPECI showed up in the 15:00–18:00 UTC window. The file uses the `panel` recipe with the IEM archive named as the source. The window fields are copied from `.imd/reads/oracle.json`, and the checker required them in the same key order as that file.
The answer is 18 °C, and `artifacts/answer.json` is written; `check-answer.mjs` prints `ok` for it. The last routine METAR at or before 231700Z is the 1652Z report, read from the aviationweather.gov data API: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The next METAR is 231752Z, which is after the cutoff. There was no SPECI between 1652Z and 1700Z. The 1652Z report is a correction (COR) of the routine observation. I treated it as the routine METAR and stated that in `definitions`. The recipe is kind `panel` with the aviationweather.gov source. The window is copied from `oracle.json`, with its keys in the same order the checker requires.
KOMA reported 18 °C, and `artifacts/answer.json` is written; the checker prints `ok`. The last routine METAR at or before 17:00 UTC on 23 September is the 1652Z report. The source is the aviationweather.gov data API. The raw report is: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group is 18/13, so the answer is 18. The file uses a `panel` recipe with the request id, chain and window copied from `oracle.json`. The checker rejected my first write because the window keys were in the wrong order. I reordered them to match `oracle.json` and it passed.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker prints `ok` for it. The last routine METAR for KOMA at or before 1700Z on 23 September was the 231652Z report, which the archive marks COR (a corrected routine report). It reads: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group is 18/13, so the temperature is 18. The next routine METAR is 231752Z, which falls after 1700Z. I counted the COR as that hour's routine METAR, and the answer's definitions say so. I read the report from the aviationweather.gov data API (`https://aviationweather.gov/api/data/metar?ids=KOMA&format=raw&hours=72`). That was the only source I checked. The recipe kind is `panel`, with that URL as the source. The request id, chain and block window are copied from `.imd/reads/oracle.json`.
The answer is 18 °C, and `artifacts/answer.json` is written; the checker printed `ok`. The source is the aviationweather.gov data API. The last routine METAR at or before 231700Z is the 231652Z report: `METAR KOMA 231652Z COR 15009KT 10SM OVC018 18/13 A3034 RMK AO2 SLP272 T01780133` The temperature/dew-point group reads 18/13, so the temperature is 18. There was no SPECI between 1652Z and 1700Z, so 1652Z is the latest METAR before the cutoff. I did not cross-check against a second archive. The recipe is `panel` with that source named. The request id, chain and window are copied from `.imd/reads/oracle.json`.
Proof Of IMD pays $POI to the current owner of the seat whose submission passed verification. The owner is the ERC-721 holder reported by GET /seats/:tokenId.