AAYMA
RU
Войти

Windline

Система почасового прогноза выработки двух ветротурбин на 48 часов на LightGBM с агентом, который проверяет доступность погодных данных, решает о…

Доведённый продукт
Команда «TISHAB» 7💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: TISHAB
Кейс HackAlem.ai: Энергетика — Самрук-Казына
Стадия: Доведённый продукт

Задача кейса: AI-агент, прогнозирующий выработку ветровой электростанции по погодным данным

Суть

Система почасового прогноза выработки двух ветротурбин на 48 часов на LightGBM с агентом, который проверяет доступность погодных данных, решает о публикации прогноза и объясняет результат оператору.

Как устроено

SCADA-данные турбин и сохранённые запуски ECMWF IFS из Open-Meteo Single Runs → признаки → LightGBM для T1/T2 (при отсутствии свежей SCADA — модель weather_only). Детерминированный агент выбирает погодный запуск с учётом времени доступности (vintage-aware, без утечки будущего), проверяет физические границы и cutoff обучения, принимает решение PUBLISH/SHADOW/REJECT и сравнивает с прошлой публикацией (порог 10%). FastAPI + SQLite хранят результаты, React-интерфейс показывает графики, паспорт прогноза и журнал агента; LLM-сводка опциональна, с проверкой чисел и шаблонным fallback.

Ключевые решения

  • LightGBM
  • power curve baseline
  • persistence baseline
  • vintage-aware выбор погодного прогноза
  • Open-Meteo ECMWF IFS
  • политика публикации PUBLISH/SHADOW/REJECT
  • проверка чисел в LLM-ответе

Особенности

Акцент на vintage-aware бэктесте: агент гарантирует, что при историческом воспроизведении не используются погода и данные, ставшие доступными позже момента выпуска; честно помечено, что сохранённые MAE/RMSE относятся к baseline, а не к LightGBM.

Стек

Python · FastAPI · Pydantic · SQLAlchemy · SQLite · React · Vite · Recharts · LightGBM · scikit-learn · pandas · pytest

Модели

OpenAI (модель через OPENAI_MODEL, опционально)


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-a6d47084-tishab.

README

README.md

Windline — Agentic AI for Vintage-Aware Wind Power Forecasting

Почасовой прогноз выработки двух ветровых турбин с проверкой доступности исходных данных, историей решений и объяснением результата для оператора.

Текущее состояние: веб-интерфейс соединён с ML/агентской частью из feature/shihab. Режим ML + агент использует обученную LightGBM и сохранённые погодные прогнозы; демо-сценарии остаются отдельным режимом. LLM-сводка опциональна и по умолчанию выключена. Ниже описано то, что есть в репозитории, а не планируемые возможности.

1. Проблема и аудитория

Операторам ВЭС и аналитикам энергосистемы нужно понимать ожидаемую выработку и происхождение прогноза. При исторической проверке нельзя использовать погоду или обучающую выборку, которые стали доступны позже момента выпуска.

Vintage-aware в этом проекте означает выбор погодного запуска с проверкой времени доступности и контроль границы обучения модели. Windline показывает численный прогноз вместе с источниками, версиями и решением о публикации.

Это хакатонный прототип исторического воспроизведения, а не промышленная система управления ВЭС.

2. Что реализовано

  • ML-прогноз: готовые артефакты LightGBM для T1/T2; почасовые значения нормализованной активной мощности в диапазоне [0, 1].
  • Февральский fallback: для дат после границы доступной SCADA скрипт автоматически выбирает модель lightgbm_weather_only, использующую погодные и календарные признаки.
  • Погода: клиент Open-Meteo Single Runs / ECMWF IFS, локальный кэш запусков и подготовленный Parquet.
  • Детерминированный агент: проверка погоды, горизонта, физических границ прогноза, срока обучения и отсутствия будущих данных; решения PUBLISH, SHADOW, REJECT.
  • Пересмотр: сравнение с последней публикацией на общих целевых часах. Порог изменения суммарных нормализованных значений — 10%; это не измерение энергии в МВт·ч.
  • Сводка: русский шаблон; при отдельном включении — запрос к LLM с проверкой чисел и fallback на шаблон.
  • Интерфейс: запуск расчёта, графики, переключение T1/T2, паспорт прогноза, погодный контекст, журнал агента, история и версии.
  • Метрики: страница проверки показывает сохранённые MAE/RMSE для power curve и persistence за январь 2026 по турбинам и группам горизонта. Это не метрики LightGBM и не итоговая метрика организаторов.
  • Оформление: тёмная/светлая темы, қазақша/русский/English с сохранением выбора, адаптивная вёрстка, SVG-турбины и анимация ветра. Учитывается системное уменьшение движения.
  • Демо-режим: шесть синтетических сценариев, включая намеренную блокировку будущей погоды и недоступность агента.

Чего не следует ожидать: реальная ML-часть не возвращает P10/P90. В API эти поля равны null, на графике показывается только точечный прогноз. Демонстрационные интервалы доступны исключительно в демо-режиме. Три турбины и подписи состояния в декоративной сцене не являются телеметрией реальной ВЭС.

3. Как работает решение

  1. Пользователь выбирает ML + агент и время выпуска в UTC, кратное целому часу.
  2. FastAPI передаёт запрос интеграционному сервису; реальный веб-режим использует горизонт 48 часов.
  3. Агент выбирает доступный погодный запуск из локального кэша. Отсутствующие запуски пропускаются; если подходящего нет, результат отклоняется.
  4. Адаптер M1 вызывает scripts/predict.py с той же схемой, что в handoff Shihab. Выбор артефакта и проверка cutoff относятся к фактически используемой модели.
  5. LightGBM выдаёт 96 точек: 48 часов × 2 турбины. Агент валидирует результат и решает, публиковать его, сохранить без публикации или отклонить.
  6. Создаются receipt и журнал, затем результат сохраняется в SQLite и отображается в интерфейсе.
  7. При выключенной/недоступной LLM численный прогноз сохраняется, а объяснение формируется шаблоном.

Повторный запуск с теми же параметрами переиспользует сохранённый результат. Переключение языка и темы не пересчитывает прогноз.

4. Технологии

ЧастьРеализация
FrontendJavaScript, React, Vite, React Router, Recharts, CSS, SVG
BackendPython, FastAPI, Pydantic, SQLAlchemy, SQLite, Uvicorn
ML и данныеLightGBM, scikit-learn, pandas, NumPy, joblib, PyArrow
Погодная интеграцияrequests; Open-Meteo Single Runs API, модель ECMWF IFS
АгентPython: проверки, политика публикации, Parquet/JSON/JSONL
LLMOpenAI Python SDK; модель задаётся через OPENAI_MODEL, конкретная модель не зашита
Проверкиpytest; Node.js test runner для локализации

Зависимости AI и backend устанавливаются через корневой requirements.txt, который включает backend/requirements.txt. Frontend имеет pnpm-lock.yaml; в package.json версии зависимостей указаны как latest, поэтому установка npm без lockfile менее воспроизводима.

5. Архитектура

React → POST /api/forecasts/run
              │
              ├─ mode=mock → синтетические провайдеры
              │
              └─ mode=integrated → IntegratedForecastService
                                      │
                                      └─ ai.agent.run.run_issue
                                          ├─ ai.weather → локальный кэш
                                          ├─ M1Predictor → scripts/predict.py → LightGBM
                                          ├─ проверки + политика публикации
                                          └─ шаблон / опциональная LLM-сводка
              │
              └─ SQLite → графики, паспорт, история, журнал
КаталогНазначение
frontend/src/Страницы, графики, сцена ВЭС, темы и словари языков
backend/app/API, контракты, SQLite и адаптер M1/M2 → web
m1/, scripts/SCADA, признаки, обучение, оценка и прогноз LightGBM
ai/weather/Погодный кэш, выбор vintage и проверка доступности
ai/agent/Валидация, политика, receipt, журнал и сводка
models/Готовые LightGBM-артефакты и power curve
data/processed/Подготовленные данные и сохранённая оценка power curve
data/cache/Погодные ответы; часть кэша уже включена в ветку Shihab
outputs/web/off/, outputs/web/on/Локальные результаты агента отдельно для режимов LLM
predictions/Результаты CLI; не добавляются в Git

Основные API:

МетодПутьРезультат
GET/api/healthДоступность API и legacy-настройки провайдеров
POST/api/forecasts/runРеальный или демонстрационный расчёт
GET/api/forecastsИстория
GET/api/forecasts/{id}Полный результат
GET/api/forecasts/{id}/weatherПогода и knowledge boundary
GET/api/forecasts/{id}/agent, /events, /lineageАгент, журнал, версии
GET/api/backtests/latestСохранённые результаты оценки

mode=integrated явно выбирает связанный M1/M2 runtime, независимо от legacy-флагов *_PROVIDER. Без mode используются настройки провайдеров; все три real также выбирают интеграционный сервис. Старые отдельные Real*-адаптеры для смешанных конфигураций остаются заглушками. Для жюри используйте явный integrated или mock.

6. Установка и запуск

Нужны Git, Python 3.12 и Node.js, совместимый с Vite 8: 20.19+ либо 22.12+. Рекомендуется отдельное виртуальное окружение. API-ключ не нужен для стандартного офлайн-запуска.

Клонируйте репозиторий и используйте версию с объединённой интеграцией:

git clone https://github.com/BAITC-Hacks/hack-a6d47084-tishab.git
cd hack-a6d47084-tishab

Если интеграционная ветка ещё не опубликована, обычный clone главной ветки не содержит локальных изменений. Не считайте их доступными на GitHub до отдельного push.

Windows / PowerShell

Из корня проекта:

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
if (-not (Test-Path backend/.env)) { Copy-Item backend/.env.example backend/.env }
cd backend
..\.venv\Scripts\python.exe -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload

В другом терминале, из корня:

cd frontend
npm install
npm run dev -- --port 5173 --strictPort

Если pnpm уже установлен, для версий из lockfile используйте pnpm install --frozen-lockfile и pnpm run dev -- --port 5173 --strictPort. Файла package-lock.json нет, поэтому npm ci для чистого clone не подходит.

Linux / macOS

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
test -f backend/.env || cp backend/.env.example backend/.env
cd backend
../.venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload

Frontend запускается теми же npm-командами в другом терминале. Если LightGBM сообщает об отсутствии OpenMP, требуется системная библиотека OpenMP для вашей ОС.

Адреса:

Frontend использует VITE_API_URL из frontend/.env, по умолчанию http://localhost:8000. При смене адреса перезапустите Vite. Для другого origin измените CORS_ORIGINS в backend/.env и перезапустите API.

Опциональная LLM-сводка

По умолчанию INTEGRATED_LLM=off: внешнего LLM-запроса нет.

Для включения создайте локальный корневой .env с OPENAI_API_KEY и OPENAI_MODEL. Опционален OPENAI_BASE_URL. В backend/.env задайте INTEGRATED_LLM=on и перезапустите backend. Ключи не коммитьте.

При включении факты о прогнозе отправляются настроенному LLM-провайдеру; запрос может быть платным. При отсутствии ключа/модели, ошибке сети или провале проверки ответа используется шаблон. Флаг llm_used и причина fallback отображаются отдельно. Наличие SDK не означает, что LLM реально использовалась.

7. Проверка для жюри

Основной сценарий через сайт

  1. Откройте сайт и выберите язык.
  2. В режиме ML + агент оставьте 2026-02-10 07:00 UTC и 48 часов.
  3. Нажмите Запустить прогноз. Первый расчёт может занять несколько секунд.
  4. Проверьте T1/T2, 96 точек через API, модель m1-lgbm-weather-only-v1, погодный запуск и границу обучения.
  5. P10/P90 отсутствуют; это не ошибка. В офлайн-конфигурации отображается шаблонная сводка.
  6. Откройте историю и сохранённый прогноз; переключите тему и язык.

В отдельном чистом хранилище первый допустимый прогноз публикуется. При наличии предыдущих публикаций возможен SHADOW — сохранение без публикации по политике агента.

Точная команда из handoff Shihab

Исходный handoff ссылается на commit b24991ca8e0f8f41a11e8d7e8ba04c99bd45617f ветки origin/feature/shihab.

Из корня, в активированном Python-окружении:

python scripts/predict.py --weather data/processed/weather_vintages.parquet --issue-time 2026-02-10T07:00:00Z --output predictions/forecast.csv

На Windows без активации замените python на .\.venv\Scripts\python.exe. На Linux/macOS — на .venv/bin/python.

Команда проверена: 96 строк, T1/T2, 48 часов. Интеграционный тест сравнивает численные значения этого CLI с API.

API, PowerShell

$body = @{
    mode = "integrated"
    issue_time = "2026-02-10T07:00:00Z"
    horizon_hours = 48
    scenario = "normal"
} | ConvertTo-Json
Invoke-RestMethod http://127.0.0.1:8000/api/forecasts/run -Method Post -ContentType application/json -Body $body

Проверка защиты

  • В UI выберите Демо-сценарии → D · Блокировка утечки и запустите расчёт. BLOCKED ожидаем: погода специально помечена как недоступная на момент выпуска.
  • Это не требует «починки» модели или отключения защиты. Для обычного результата вернитесь в ML + агент и запустите новый расчёт.
  • Реальный агент тоже проверяет доступность. В тестах отдельно проверяется, что будущая погода блокируется до вызова модели.
  • Даты без подходящей погоды в кэше или до границы обучения дают REJECT без выдуманных точек.

Автоматические проверки

Из корня:

.\.venv\Scripts\python.exe -m pytest -q

Из frontend:

npm test
npm run build

Python-тесты охватывают M1, API, точное соответствие handoff, сохранение, повторный запуск, блокировки и LLM fallback без реального внешнего запроса. Frontend-тесты проверяют локализацию. Полного браузерного автотестового набора нет.

8. Данные и интеграции

  • SCADA T1/T2: исходные CSV с 10-минутными измерениями. M1 считает часовые средние; неполные часы не интерполируются. В признаках используются наблюдения не позже часа перед выпуском.
  • Часовой пояс: в объединённой AI-части принят фиксированный UTC+5 для SCADA; обоснование автора — data/processed/tz_report.json. Время выпуска реального API нормализуется в UTC.
  • Погода: Open-Meteo Single Runs, ECMWF IFS. Веб-режим использует только локальный кэш, без автоматического скачивания. CLI-модули умеют запрашивать API.
  • Доступность погоды: available_at = run_init_time + 7 часов — допущение автора, а не подтверждённое время публикации. Оно записывается в паспорт как assumed:init+7h.
  • Модели: готовые models/lightgbm/, models/lightgbm_weather/, models/lightgbm_weather_only/; также models/power_curve_v1.json. В веб-режиме подключён M1/LightGBM, power curve применяется как проверка физической согласованности.
  • Оценка: data/processed/power_curve_eval.json содержит сохранённую январскую проверку. Новая оценка LightGBM при открытии сайта не выполняется.
  • LLM: отправляются сформированные агентом факты. Численный прогноз и решение принимаются до вызова LLM.
  • Хранение: SQLite для web; Parquet/JSON/JSONL для агента. По умолчанию БД создаётся в рабочем каталоге backend.

9. Ограничения текущей версии

  • Реальный веб-режим: только 48 часов и нормальный сценарий. Демонстрационный режим допускает 24/48 часов.
  • Нет реальных квантильных интервалов, промышленного ансамбля или подключённого TFT. Их названия в mock-сценариях не означают наличие обученных моделей.
  • Выработка нормализована; нет перевода в МВт, тарифа, физической суммарной мощности станции или подтверждённой экономии.
  • Это исторический прогноз по сохранённым данным, а не непрерывный онлайн-мониторинг.
  • Нет подтверждения качества LightGBM на закрытой тестовой выборке организаторов.
  • LLM-сводка и её шаблон формируются по-русски даже при другом языке UI. Проверка ответа контролирует числа и длину, но не гарантирует полную смысловую корректность.
  • SQLite и файловое хранилище агента рассчитаны на локальный прототип. Используйте один API worker; нет межпроцессной блокировки, очереди, аутентификации и production-миграций.
  • Реальные результаты переиспользуются из хранилища; для независимого replay задайте отдельный INTEGRATED_OUTPUT_DIR. Не удаляйте рабочие результаты ради повторного запуска.
  • Старые отдельные Real*-провайдеры не реализуют произвольные смешанные конфигурации. Используйте связанный режим.
  • Время доступности погоды и интерпретация SCADA содержат перечисленные выше допущения.
  • График Actual vs Forecast и nMAE не заполнены, если соответствующих данных нет.
  • Нативный календарь может использовать язык браузера. Неизвестные тексты провайдера и технические ID не переводятся.

10. Частые проблемы

СимптомПричина / действие
Failed to fetchПроверьте запуск API, VITE_API_URL, CORS и занятость порта
ML dependencies unavailableУстановите корневой requirements.txt в то окружение, которым запущен Uvicorn
BLOCKED / REJECTПосмотрите режим запуска и причину в карточке; демо D отклоняется намеренно
no_legal_weatherДля выбранного выпуска нет пригодного кэшированного погодного запуска; используйте дату handoff
model_cutoff_after_issueМодель обучалась на более поздних данных; такой исторический прогноз публиковать нельзя
SHADOWИзменение относительно прошлой публикации не достигло порога; это штатное решение
Шаблон вместо LLMПроверьте INTEGRATED_LLM, наличие ключа/модели и briefing_reason
В Vite предупреждение о bundle >500 kBСборка успешна; оптимизация разделения кода пока не выполнена

11. Развёрнутая версия

Подтверждённой публичной deployed-ссылки в репозитории нет. Проверенный сценарий — локальный запуск по инструкции выше.

backend/Dockerfile относится к прежней облегчённой backend-сборке: без дополнительных каталогов и зависимостей он не упаковывает ML-runtime. Для объединённой версии используйте описанное Python-окружение. Frontend собирается в frontend/dist/; при самостоятельном хостинге нужны адрес API и fallback маршрутов SPA на index.html.

Звёзды
⭐ 0
Форки
0
Язык
Python
Последний push
в прошлом месяце
Коммиты
16
Авторы
3
Файлы
1504
Ветки
5

Авторы коммитов

Timur Ishmurzin 9ahsan-h-shihab 4ssabyl 3

История коммитов

  • 2026-09-23 17:57last repoTimur Ishmurzin
  • 2026-09-23 17:53Merge branch 'codex/integrate-shihab'Timur Ishmurzin
  • 2026-09-23 17:52chore: keep local backend frontend analysis out of version controlTimur Ishmurzin
  • 2026-09-23 17:49last repostTimur Ishmurzin
  • 2026-09-23 17:48prelast commitTimur Ishmurzin
  • 2026-09-23 17:32feat: preserve Windline UI themes and localization before AI integrationTimur Ishmurzin
  • 2026-09-23 17:30Add M3 integration handoffahsan-h-shihab
  • 2026-09-23 17:26Integrate M2 weather and agent runtimeahsan-h-shihab
Все коммиты (16)
  • 2026-09-23 17:16Add weather-only February forecast fallbackahsan-h-shihab
  • 2026-09-23 16:33Complete M1 integration-ready forecasting pipelineahsan-h-shihab
  • 2026-09-23 16:24docs: add clean machine setup guideTimur Ishmurzin
  • 2026-09-23 15:58feat: add forecast web integration shellTimur Ishmurzin
  • 2026-09-23 15:31Revert "docs: add data contracts, open questions and team architecture specs" and "docs: add task spec, data usage policy and external sources section"ssabyl
  • 2026-09-23 15:29docs: add data contracts, open questions and team architecture specsssabyl
  • 2026-09-23 14:44docs: add task spec, data usage policy and external sources sectionssabyl
  • 2026-09-23 14:04docs: add project skeleton and Russian READMETimur Ishmurzin
Структура репозитория (1504 файлов)
.env.example
.gitignore
Dataset HackAlemAI для участников 11.03.2023-28.02.2026 - turbine 1.csv
Dataset HackAlemAI для участников 11.03.2023-28.02.2026 - turbine 2.csv
M1_AUDIT.md
M1_INTEGRATION.md
M2_AGENT.md
M3_HANDOFF.md
PROJECT_OVERVIEW(1).md
PROJECT_OVERVIEW.md
README.md
ai/README.md
ai/__init__.py
ai/agent/__init__.py
ai/agent/llm.py
ai/agent/policy.py
ai/agent/predictors.py
ai/agent/provenance.py
ai/agent/run.py
ai/config.py
ai/power_curve.py
ai/scada/__init__.py
ai/scada/build.py
ai/weather/__init__.py
ai/weather/build.py
ai/weather/client.py
ai/weather/tz_forensics.py
ai/weather/vintage.py
backend/.env.example
backend/Dockerfile
backend/README.md
backend/app/__init__.py
backend/app/api/__init__.py
backend/app/api/backtests.py
backend/app/api/forecasts.py
backend/app/api/health.py
backend/app/config.py
backend/app/db/__init__.py
backend/app/db/database.py
backend/app/db/models.py
backend/app/db/repository.py
backend/app/dependencies.py
backend/app/integrations/__init__.py
backend/app/integrations/agent/__init__.py
backend/app/integrations/agent/base.py
backend/app/integrations/agent/mock.py
backend/app/integrations/agent/real.py
backend/app/integrations/errors.py
backend/app/integrations/factory.py
backend/app/integrations/forecast/__init__.py
backend/app/integrations/forecast/base.py
backend/app/integrations/forecast/mock.py
backend/app/integrations/forecast/real.py
backend/app/integrations/weather/__init__.py
backend/app/integrations/weather/base.py
backend/app/integrations/weather/mock.py
backend/app/integrations/weather/real.py
backend/app/main.py
backend/app/schemas/__init__.py
backend/app/schemas/agent.py
backend/app/schemas/backtest.py
backend/app/schemas/common.py
backend/app/schemas/forecast.py
backend/app/schemas/health.py
backend/app/schemas/weather.py
backend/app/services/__init__.py
backend/app/services/backtest_service.py
backend/app/services/forecast_service.py
backend/app/services/integrated_forecast_service.py
backend/requirements.txt
backend/tests/conftest.py
backend/tests/test_api.py
backend/tests/test_integrated.py
data/Dataset HackAlemAI для участников 11.03.2023-28.02.2026 - turbine 1.csv
data/Dataset HackAlemAI для участников 11.03.2023-28.02.2026 - turbine 2.csv
data/README.md
data/cache/raw/ecmwf_ifs/20240415T18Z_7327d90e19de.json
data/cache/raw/ecmwf_ifs/20240416T00Z_a7f9bbc2f23b.json
data/cache/raw/ecmwf_ifs/20240416T18Z_f4a8c242c322.json
data/cache/raw/ecmwf_ifs/20240417T00Z_7723f150dd9e.json
data/cache/raw/ecmwf_ifs/20240417T18Z_35c80e8bd9ee.json
data/cache/raw/ecmwf_ifs/20240418T00Z_c371199c8e42.json
data/cache/raw/ecmwf_ifs/20240418T18Z_bc556a366c00.json
data/cache/raw/ecmwf_ifs/20240419T00Z_77128d889251.json
data/cache/raw/ecmwf_ifs/20240419T18Z_c140fa6b4f5d.json
data/cache/raw/ecmwf_ifs/20240420T00Z_298256eb0c61.json
data/cache/raw/ecmwf_ifs/20240420T18Z_255e626142c9.json
data/cache/raw/ecmwf_ifs/20240421T00Z_56e731286651.json
data/cache/raw/ecmwf_ifs/20240421T18Z_178f42e7d489.json
data/cache/raw/ecmwf_ifs/20240422T00Z_9a2ee7ac7251.json
data/cache/raw/ecmwf_ifs/20240422T18Z_2bef0423f31d.json
data/cache/raw/ecmwf_ifs/20240423T00Z_bd50a38cdf51.json
data/cache/raw/ecmwf_ifs/20240423T18Z_5612a0e75f80.json
data/cache/raw/ecmwf_ifs/20240424T00Z_84925678f178.json
data/cache/raw/ecmwf_ifs/20240424T18Z_b1f32e7ccf09.json
data/cache/raw/ecmwf_ifs/20240425T00Z_05c231d422ff.json
data/cache/raw/ecmwf_ifs/20240425T18Z_ed10701dbe21.json
data/cache/raw/ecmwf_ifs/20240426T00Z_033fb02eced1.json
data/cache/raw/ecmwf_ifs/20240426T18Z_09c97bab5fa2.json
data/cache/raw/ecmwf_ifs/20240427T00Z_c05ac9a9c1a9.json
data/cache/raw/ecmwf_ifs/20240427T18Z_346210072424.json
data/cache/raw/ecmwf_ifs/20240428T00Z_e044c5b786f6.json
data/cache/raw/ecmwf_ifs/20240428T18Z_3661d6531203.json
data/cache/raw/ecmwf_ifs/20240429T00Z_438812fa8be5.json
data/cache/raw/ecmwf_ifs/20240429T18Z_8fee78b982fd.json
data/cache/raw/ecmwf_ifs/20240430T00Z_0043af1ff2d6.json
data/cache/raw/ecmwf_ifs/20240430T18Z_cdaf25197ddf.json
data/cache/raw/ecmwf_ifs/20240501T00Z_4a4750d5bb1f.json
data/cache/raw/ecmwf_ifs/20240501T18Z_a8b05865325b.json
data/cache/raw/ecmwf_ifs/20240502T00Z_b51c32b26392.json
data/cache/raw/ecmwf_ifs/20240502T18Z_7276cc0b1469.json
data/cache/raw/ecmwf_ifs/20240503T00Z_30a72518814d.json
data/cache/raw/ecmwf_ifs/20240503T18Z_0922bd456b1c.json
data/cache/raw/ecmwf_ifs/20240504T00Z_c70389fe294e.json
data/cache/raw/ecmwf_ifs/20240504T18Z_c05ccdbea091.json
data/cache/raw/ecmwf_ifs/20240505T00Z_c434e561f51a.json
data/cache/raw/ecmwf_ifs/20240505T18Z_21c98683e733.json
data/cache/raw/ecmwf_ifs/20240506T00Z_1df49628ea60.json
data/cache/raw/ecmwf_ifs/20240506T18Z_7a450aed2b6f.json
data/cache/raw/ecmwf_ifs/20240507T00Z_1672bb090d8a.json
data/cache/raw/ecmwf_ifs/20240507T18Z_8be123812b22.json
data/cache/raw/ecmwf_ifs/20240508T00Z_698c79dfc871.json
data/cache/raw/ecmwf_ifs/20240508T18Z_1d2faec16a82.json
data/cache/raw/ecmwf_ifs/20240509T00Z_0fcb682ff9c6.json
data/cache/raw/ecmwf_ifs/20240509T18Z_c43dde4407c8.json
data/cache/raw/ecmwf_ifs/20240510T00Z_011811c38250.json
data/cache/raw/ecmwf_ifs/20240510T18Z_bceb212ca3a7.json
data/cache/raw/ecmwf_ifs/20240511T00Z_d36d69ec501e.json
data/cache/raw/ecmwf_ifs/20240511T18Z_4ba8a3003f10.json
data/cache/raw/ecmwf_ifs/20240512T00Z_c9b78681a787.json
data/cache/raw/ecmwf_ifs/20240512T18Z_690ab7c37263.json
data/cache/raw/ecmwf_ifs/20240513T00Z_37fd7f5907fa.json
data/cache/raw/ecmwf_ifs/20240513T18Z_21e1b1fde261.json
data/cache/raw/ecmwf_ifs/20240514T00Z_bc8f86a4c002.json
data/cache/raw/ecmwf_ifs/20240514T18Z_e92aaba4f759.json
data/cache/raw/ecmwf_ifs/20240515T00Z_7b147c2126fd.json
data/cache/raw/ecmwf_ifs/20240515T18Z_5d68b69614b9.json
data/cache/raw/ecmwf_ifs/20240516T00Z_bca1c9322590.json
data/cache/raw/ecmwf_ifs/20240516T18Z_a3fe40c594e2.json
data/cache/raw/ecmwf_ifs/20240517T00Z_7aef207c4ee1.json
data/cache/raw/ecmwf_ifs/20240517T18Z_8bfd6428121a.json
data/cache/raw/ecmwf_ifs/20240518T00Z_32c5f4d52df5.json
data/cache/raw/ecmwf_ifs/20240518T18Z_940b24c885fd.json
data/cache/raw/ecmwf_ifs/20240519T00Z_f8f4b860efe2.json
data/cache/raw/ecmwf_ifs/20240519T18Z_0821e9fd5be7.json
data/cache/raw/ecmwf_ifs/20240520T00Z_2fbd95178d6b.json
data/cache/raw/ecmwf_ifs/20240520T18Z_b7bdbe49ba19.json
data/cache/raw/ecmwf_ifs/20240521T00Z_02223c463703.json
data/cache/raw/ecmwf_ifs/20240521T18Z_abd0dd87fd59.json
data/cache/raw/ecmwf_ifs/20240522T00Z_cc39d9a58a0b.json
data/cache/raw/ecmwf_ifs/20240522T18Z_22d7fc1a1797.json
data/cache/raw/ecmwf_ifs/20240523T00Z_d45b0ea3a8fd.json
data/cache/raw/ecmwf_ifs/20240523T18Z_3c98cae6937d.json
data/cache/raw/ecmwf_ifs/20240524T00Z_be13ece8b718.json
data/cache/raw/ecmwf_ifs/20240524T18Z_e714c57d5e28.json
data/cache/raw/ecmwf_ifs/20240525T00Z_278144301b09.json
data/cache/raw/ecmwf_ifs/20240525T18Z_b542a49d984b.json
data/cache/raw/ecmwf_ifs/20240526T00Z_dd210ec95a7f.json
data/cache/raw/ecmwf_ifs/20240526T18Z_14b069bb634b.json
data/cache/raw/ecmwf_ifs/20240527T00Z_7bef7f6db1b4.json
data/cache/raw/ecmwf_ifs/20240527T18Z_796062188131.json
data/cache/raw/ecmwf_ifs/20240528T00Z_0537733d2c2e.json
data/cache/raw/ecmwf_ifs/20240528T18Z_563240610c0f.json
data/cache/raw/ecmwf_ifs/20240529T00Z_f9bc5ed3a135.json
data/cache/raw/ecmwf_ifs/20240529T18Z_fadacf83a469.json
data/cache/raw/ecmwf_ifs/20240530T00Z_887152490b37.json
data/cache/raw/ecmwf_ifs/20240530T18Z_620e20e6c5aa.json
data/cache/raw/ecmwf_ifs/20240531T00Z_49e66baeea48.json
data/cache/raw/ecmwf_ifs/20240531T18Z_3b63cde64863.json
data/cache/raw/ecmwf_ifs/20240601T00Z_e799feaccaa2.json
data/cache/raw/ecmwf_ifs/20240601T18Z_d325c307ea85.json
data/cache/raw/ecmwf_ifs/20240602T00Z_9e2b2fb508e2.json
data/cache/raw/ecmwf_ifs/20240602T18Z_b29e1d76a1b3.json
data/cache/raw/ecmwf_ifs/20240603T00Z_ed94cfeca764.json
data/cache/raw/ecmwf_ifs/20240603T18Z_7d280f732ade.json
data/cache/raw/ecmwf_ifs/20240604T00Z_1cff9f0fa77a.json
data/cache/raw/ecmwf_ifs/20240604T18Z_acce1d77fdeb.json
data/cache/raw/ecmwf_ifs/20240605T00Z_74aa1643006f.json
data/cache/raw/ecmwf_ifs/20240605T18Z_6826d0406762.json
data/cache/raw/ecmwf_ifs/20240606T00Z_53fbcd1dbce8.json
data/cache/raw/ecmwf_ifs/20240606T18Z_9694479fa5d0.json
data/cache/raw/ecmwf_ifs/20240607T00Z_d8cbcde3f062.json
data/cache/raw/ecmwf_ifs/20240607T18Z_2ffa6e92951d.json
data/cache/raw/ecmwf_ifs/20240608T00Z_34330e5df40d.json
data/cache/raw/ecmwf_ifs/20240608T18Z_aa919a72a71a.json
data/cache/raw/ecmwf_ifs/20240609T00Z_eb77d9bacefc.json
data/cache/raw/ecmwf_ifs/20240609T18Z_b6f41bdba591.json
data/cache/raw/ecmwf_ifs/20240610T00Z_de017c4a92d9.json
data/cache/raw/ecmwf_ifs/20240610T18Z_b2fea11cdab4.json
data/cache/raw/ecmwf_ifs/20240611T00Z_0a99bf67feab.json
data/cache/raw/ecmwf_ifs/20240611T18Z_7d5b617e3201.json
data/cache/raw/ecmwf_ifs/20240612T00Z_8e8b0b68de1c.json
data/cache/raw/ecmwf_ifs/20240612T18Z_85e3cbbc39fc.json
data/cache/raw/ecmwf_ifs/20240613T00Z_99e5f3445b4a.json
data/cache/raw/ecmwf_ifs/20240613T18Z_16af2536570c.json
data/cache/raw/ecmwf_ifs/20240614T00Z_fac17a91d666.json
data/cache/raw/ecmwf_ifs/20240614T18Z_864ecd8d0fe4.json
data/cache/raw/ecmwf_ifs/20240615T00Z_6d3f3138f46c.json
data/cache/raw/ecmwf_ifs/20240615T18Z_959342724525.json
data/cache/raw/ecmwf_ifs/20240616T00Z_67aa353f84e2.json
data/cache/raw/ecmwf_ifs/20240616T18Z_78bc74a00096.json
data/cache/raw/ecmwf_ifs/20240617T00Z_1baaea8438a8.json
data/cache/raw/ecmwf_ifs/20240617T18Z_12052c709e53.json
data/cache/raw/ecmwf_ifs/20240618T00Z_d1fd032a8c16.json
data/cache/raw/ecmwf_ifs/20240618T18Z_364400128be1.json
data/cache/raw/ecmwf_ifs/20240619T00Z_fb11bba8f98c.json
data/cache/raw/ecmwf_ifs/20240619T18Z_b8820f4c3448.json
data/cache/raw/ecmwf_ifs/20240620T00Z_3191931b37dc.json
data/cache/raw/ecmwf_ifs/20240620T18Z_afc5cacaa4c1.json
data/cache/raw/ecmwf_ifs/20240621T00Z_8e4332677767.json
data/cache/raw/ecmwf_ifs/20240621T18Z_cb7f24ad8a45.json
data/cache/raw/ecmwf_ifs/20240622T00Z_3a2717c543cb.json
data/cache/raw/ecmwf_ifs/20240622T18Z_954fae17c1ab.json
data/cache/raw/ecmwf_ifs/20240623T00Z_bc5cb15c1d91.json
data/cache/raw/ecmwf_ifs/20240623T18Z_5b1b105b4b1c.json
data/cache/raw/ecmwf_ifs/20240624T00Z_b46657321fe8.json
data/cache/raw/ecmwf_ifs/20240624T18Z_241f66eec3fe.json
data/cache/raw/ecmwf_ifs/20240625T00Z_db65f40203aa.json
data/cache/raw/ecmwf_ifs/20240625T18Z_ca088218fb79.json
data/cache/raw/ecmwf_ifs/20240626T00Z_005f8f528f50.json
data/cache/raw/ecmwf_ifs/20240626T18Z_689637401636.json
data/cache/raw/ecmwf_ifs/20240627T00Z_946cdf0bd5da.json
data/cache/raw/ecmwf_ifs/20240627T18Z_291f4cb5ef04.json
data/cache/raw/ecmwf_ifs/20240628T00Z_10d509019830.json
data/cache/raw/ecmwf_ifs/20240628T18Z_886cb6c454ce.json
data/cache/raw/ecmwf_ifs/20240629T00Z_3c0a1f0db3e8.json
data/cache/raw/ecmwf_ifs/20240629T18Z_518eeb548a85.json
data/cache/raw/ecmwf_ifs/20240630T00Z_4d2b24507198.json
data/cache/raw/ecmwf_ifs/20240630T18Z_de5724ac5bc0.json
data/cache/raw/ecmwf_ifs/20240701T00Z_d08e4ac33677.json
data/cache/raw/ecmwf_ifs/20240701T18Z_a2e19d3075c1.json
data/cache/raw/ecmwf_ifs/20240702T00Z_11c29cee07a5.json
data/cache/raw/ecmwf_ifs/20240702T18Z_0d85fbf4b723.json
data/cache/raw/ecmwf_ifs/20240703T00Z_46e22839c536.json
data/cache/raw/ecmwf_ifs/20240703T18Z_14c6d268267d.json
data/cache/raw/ecmwf_ifs/20240704T00Z_83e46ce812c3.json
data/cache/raw/ecmwf_ifs/20240704T18Z_ef3c2cdbd57f.json
data/cache/raw/ecmwf_ifs/20240705T00Z_65cf3a9216e1.json
data/cache/raw/ecmwf_ifs/20240705T18Z_ee6534f6f110.json
data/cache/raw/ecmwf_ifs/20240706T00Z_9998bb01d66f.json
data/cache/raw/ecmwf_ifs/20240706T18Z_e1bff05bcaa2.json
data/cache/raw/ecmwf_ifs/20240707T00Z_ceaf8fde0c09.json
data/cache/raw/ecmwf_ifs/20240707T18Z_0dd0f476ce0a.json
data/cache/raw/ecmwf_ifs/20240708T00Z_cd1cd9365aa3.json
data/cache/raw/ecmwf_ifs/20240708T18Z_4fab0ef696fe.json
data/cache/raw/ecmwf_ifs/20240709T00Z_714f6b758674.json
data/cache/raw/ecmwf_ifs/20240709T18Z_78b22cebcd81.json
data/cache/raw/ecmwf_ifs/20240710T00Z_0dde2b18e645.json
data/cache/raw/ecmwf_ifs/20240710T18Z_306291276167.json
data/cache/raw/ecmwf_ifs/20240711T00Z_02900ccffa18.json
data/cache/raw/ecmwf_ifs/20240711T18Z_2d89cd62a84f.json
data/cache/raw/ecmwf_ifs/20240712T00Z_76002c1f142b.json
data/cache/raw/ecmwf_ifs/20240712T18Z_00859a73d571.json
data/cache/raw/ecmwf_ifs/20240713T00Z_4b4ae5270640.json
data/cache/raw/ecmwf_ifs/20240713T18Z_1231189b68a1.json
data/cache/raw/ecmwf_ifs/20240714T00Z_73874ffe5eb3.json
data/cache/raw/ecmwf_ifs/20240714T18Z_d4a2c94a6587.json
data/cache/raw/ecmwf_ifs/20240715T00Z_d60c26378026.json
data/cache/raw/ecmwf_ifs/20240715T18Z_41c1e457da90.json
data/cache/raw/ecmwf_ifs/20240716T00Z_3c42c63df24a.json
data/cache/raw/ecmwf_ifs/20240716T18Z_e02cb21d0389.json
data/cache/raw/ecmwf_ifs/20240717T00Z_33104944b135.json
data/cache/raw/ecmwf_ifs/20240717T18Z_72ff86b789c2.json
data/cache/raw/ecmwf_ifs/20240718T00Z_093f5ffae4a9.json
data/cache/raw/ecmwf_ifs/20240718T18Z_35803e481ca9.json
data/cache/raw/ecmwf_ifs/20240719T00Z_5e233eab328e.json
data/cache/raw/ecmwf_ifs/20240719T18Z_5d07b1e34941.json
data/cache/raw/ecmwf_ifs/20240720T00Z_18d08e849c08.json
data/cache/raw/ecmwf_ifs/20240720T18Z_1948b93bffbf.json
data/cache/raw/ecmwf_ifs/20240721T00Z_53d4cb9c99cb.json
data/cache/raw/ecmwf_ifs/20240721T18Z_0f0e4b70046d.json
data/cache/raw/ecmwf_ifs/20240722T00Z_63bad661b1de.json
data/cache/raw/ecmwf_ifs/20240722T18Z_bd83bfcfa35f.json
data/cache/raw/ecmwf_ifs/20240723T00Z_90411af4018b.json
data/cache/raw/ecmwf_ifs/20240723T18Z_648c19295a51.json
data/cache/raw/ecmwf_ifs/20240724T00Z_1592d4389c79.json
data/cache/raw/ecmwf_ifs/20240724T18Z_4d40b2819c5e.json
data/cache/raw/ecmwf_ifs/20240725T00Z_a72f9c308627.json
data/cache/raw/ecmwf_ifs/20240725T18Z_ef28e5f2d33f.json
data/cache/raw/ecmwf_ifs/20240726T00Z_7045d7b823b5.json
data/cache/raw/ecmwf_ifs/20240726T18Z_eeda1c5b9491.json
data/cache/raw/ecmwf_ifs/20240727T00Z_d7a941fbfa26.json
data/cache/raw/ecmwf_ifs/20240727T18Z_a39e09c6e2d5.json
data/cache/raw/ecmwf_ifs/20240728T00Z_f8601648ddd0.json
data/cache/raw/ecmwf_ifs/20240728T18Z_91aaefacc42e.json
data/cache/raw/ecmwf_ifs/20240729T00Z_8d514671d61a.json
data/cache/raw/ecmwf_ifs/20240729T18Z_0b6b1923c5e7.json
data/cache/raw/ecmwf_ifs/20240730T00Z_2af7af462f5a.json
data/cache/raw/ecmwf_ifs/20240730T18Z_77784b33fd2e.json
data/cache/raw/ecmwf_ifs/20240731T00Z_f0ce677e5092.json
data/cache/raw/ecmwf_ifs/20240731T18Z_3216c15ccd95.json
data/cache/raw/ecmwf_ifs/20240801T00Z_00c729b38803.json
data/cache/raw/ecmwf_ifs/20240801T18Z_36ac489e3280.json
data/cache/raw/ecmwf_ifs/20240802T00Z_c38fc6f78a61.json
data/cache/raw/ecmwf_ifs/20240802T18Z_33f25abc1416.json
data/cache/raw/ecmwf_ifs/20240803T00Z_530b0e24d6be.json
data/cache/raw/ecmwf_ifs/20240803T18Z_5ff13fb0accc.json
data/cache/raw/ecmwf_ifs/20240804T00Z_dfc07af59aa5.json
data/cache/raw/ecmwf_ifs/20240804T18Z_a737a888112e.json
data/cache/raw/ecmwf_ifs/20240805T00Z_2630ec7700c7.json
data/cache/raw/ecmwf_ifs/20240805T18Z_af7ca2b6d057.json
data/cache/raw/ecmwf_ifs/20240806T00Z_1a14802f8788.json
data/cache/raw/ecmwf_ifs/20240806T18Z_328a619a84db.json
data/cache/raw/ecmwf_ifs/20240807T00Z_1a682671713f.json
data/cache/raw/ecmwf_ifs/20240807T18Z_bf2f92ef39b6.json
data/cache/raw/ecmwf_ifs/20240808T00Z_875096f35252.json
data/cache/raw/ecmwf_ifs/20240808T18Z_156f5ca5ea14.json
data/cache/raw/ecmwf_ifs/20240809T00Z_fece3db873d7.json
data/cache/raw/ecmwf_ifs/20240809T18Z_3cb46fd6300d.json
data/cache/raw/ecmwf_ifs/20240810T00Z_9935d7bf3a32.json
data/cache/raw/ecmwf_ifs/20240810T18Z_f9bb5565fea9.json
data/cache/raw/ecmwf_ifs/20240811T00Z_4f0f736d0eab.json
data/cache/raw/ecmwf_ifs/20240811T18Z_ad3ef8d8a653.json
data/cache/raw/ecmwf_ifs/20240812T00Z_4675d3f45ca4.json
data/cache/raw/ecmwf_ifs/20240812T18Z_46c93b50bcf9.json
data/cache/raw/ecmwf_ifs/20240813T00Z_3885371a01e1.json
data/cache/raw/ecmwf_ifs/20240813T18Z_60e3a12ccc09.json
data/cache/raw/ecmwf_ifs/20240814T00Z_128662b8259e.json
data/cache/raw/ecmwf_ifs/20240814T18Z_5bcefc825aa0.json
data/cache/raw/ecmwf_ifs/20240815T00Z_144c7b570060.json
data/cache/raw/ecmwf_ifs/20240815T18Z_5078abe8e31a.json
data/cache/raw/ecmwf_ifs/20240816T00Z_eb955c5ab9ea.json
data/cache/raw/ecmwf_ifs/20240816T18Z_0500952e204c.json
data/cache/raw/ecmwf_ifs/20240817T00Z_bac4c100d963.json
data/cache/raw/ecmwf_ifs/20240817T18Z_3c494bae21ee.json
data/cache/raw/ecmwf_ifs/20240818T00Z_0ff69792ab7c.json
data/cache/raw/ecmwf_ifs/20240818T18Z_6eb1460d2767.json
data/cache/raw/ecmwf_ifs/20240819T00Z_47671b00c588.json
data/cache/raw/ecmwf_ifs/20240819T18Z_4c9e0cb30679.json
data/cache/raw/ecmwf_ifs/20240820T00Z_553e3ff697bf.json
data/cache/raw/ecmwf_ifs/20240820T18Z_87da9fb9d414.json
data/cache/raw/ecmwf_ifs/20240821T00Z_ad0096c5e50a.json
data/cache/raw/ecmwf_ifs/20240821T18Z_933978d00e35.json
data/cache/raw/ecmwf_ifs/20240822T00Z_961b29bdfe43.json
data/cache/raw/ecmwf_ifs/20240822T18Z_fb13ea50b0f1.json
data/cache/raw/ecmwf_ifs/20240823T00Z_c98bcc6da2f8.json
data/cache/raw/ecmwf_ifs/20240823T18Z_3d45fb29cfaf.json
data/cache/raw/ecmwf_ifs/20240824T00Z_f96a5128c239.json
data/cache/raw/ecmwf_ifs/20240824T18Z_91e3d5bf573c.json
data/cache/raw/ecmwf_ifs/20240825T00Z_490d6e23671d.json
data/cache/raw/ecmwf_ifs/20240825T18Z_6b43858f381a.json
data/cache/raw/ecmwf_ifs/20240826T00Z_48c094278e3c.json
data/cache/raw/ecmwf_ifs/20240826T18Z_033f9c7502c4.json
data/cache/raw/ecmwf_ifs/20240827T00Z_e44f29530ae2.json
data/cache/raw/ecmwf_ifs/20240827T18Z_d53522736ec2.json
data/cache/raw/ecmwf_ifs/20240828T00Z_0bbee97eaef8.json
data/cache/raw/ecmwf_ifs/20240828T18Z_b34cd4d35de4.json
data/cache/raw/ecmwf_ifs/20240829T00Z_b1962f0bfaeb.json
data/cache/raw/ecmwf_ifs/20240829T18Z_2ca53b07f3d8.json
data/cache/raw/ecmwf_ifs/20240830T00Z_77f8bddd04ab.json
data/cache/raw/ecmwf_ifs/20240830T18Z_5f5e92008877.json
data/cache/raw/ecmwf_ifs/20240831T00Z_b351c810e445.json
data/cache/raw/ecmwf_ifs/20240831T18Z_12fe712ca370.json
data/cache/raw/ecmwf_ifs/20240901T00Z_69acc2f84762.json
data/cache/raw/ecmwf_ifs/20240901T18Z_0d6983933769.json
data/cache/raw/ecmwf_ifs/20240902T00Z_977c6ceb42a9.json
data/cache/raw/ecmwf_ifs/20240902T18Z_74e6424cd3e5.json
data/cache/raw/ecmwf_ifs/20240903T00Z_34d3211c37b4.json
data/cache/raw/ecmwf_ifs/20240903T18Z_9fdb73d372ce.json
data/cache/raw/ecmwf_ifs/20240904T00Z_be1763024b44.json
data/cache/raw/ecmwf_ifs/20240904T18Z_6eab44a371ee.json
data/cache/raw/ecmwf_ifs/20240905T00Z_7486cfbb4a58.json
data/cache/raw/ecmwf_ifs/20240905T18Z_e6917a660432.json
data/cache/raw/ecmwf_ifs/20240906T00Z_fc56bd595b1b.json
data/cache/raw/ecmwf_ifs/20240906T18Z_128103753f70.json
data/cache/raw/ecmwf_ifs/20240907T00Z_fc329a04a2af.json
data/cache/raw/ecmwf_ifs/20240907T18Z_4d650d82f901.json
data/cache/raw/ecmwf_ifs/20240908T00Z_d6925ec6ee0c.json
data/cache/raw/ecmwf_ifs/20240908T18Z_2c82f65a58c3.json
data/cache/raw/ecmwf_ifs/20240909T00Z_5b54029497b2.json
data/cache/raw/ecmwf_ifs/20240909T18Z_7fb26b2fbc91.json
data/cache/raw/ecmwf_ifs/20240910T00Z_0cbfe4f7092f.json
data/cache/raw/ecmwf_ifs/20240910T18Z_6f04ea7aaac2.json
data/cache/raw/ecmwf_ifs/20240911T00Z_673bd1101825.json
data/cache/raw/ecmwf_ifs/20240911T18Z_6aec0a4d523b.json
data/cache/raw/ecmwf_ifs/20240912T00Z_ab1fac5a929a.json
data/cache/raw/ecmwf_ifs/20240912T18Z_eee280c6b3e8.json
data/cache/raw/ecmwf_ifs/20240913T00Z_c39d75d1b790.json
data/cache/raw/ecmwf_ifs/20240913T18Z_5f9eec69d534.json
data/cache/raw/ecmwf_ifs/20240914T00Z_ad92463d39c5.json
data/cache/raw/ecmwf_ifs/20240914T18Z_55466193ade4.json
data/cache/raw/ecmwf_ifs/20240915T00Z_c6cb669e21ff.json
data/cache/raw/ecmwf_ifs/20240915T18Z_808639bdadb9.json
data/cache/raw/ecmwf_ifs/20240916T00Z_acaca3b6002b.json
data/cache/raw/ecmwf_ifs/20240916T18Z_0173dd1afa68.json
data/cache/raw/ecmwf_ifs/20240917T00Z_4b4e5d9ad7dd.json
data/cache/raw/ecmwf_ifs/20240917T18Z_cd10d0a96323.json
data/cache/raw/ecmwf_ifs/20240918T00Z_0987c257825d.json
data/cache/raw/ecmwf_ifs/20240918T18Z_658c2d009dcf.json
data/cache/raw/ecmwf_ifs/20240919T00Z_e1e33c8d7c21.json
data/cache/raw/ecmwf_ifs/20240919T18Z_8b3facd04748.json
data/cache/raw/ecmwf_ifs/20240920T00Z_0581289c0acb.json
data/cache/raw/ecmwf_ifs/20240920T18Z_dea64ff24e17.json
data/cache/raw/ecmwf_ifs/20240921T00Z_626b914dae5d.json
data/cache/raw/ecmwf_ifs/20240921T18Z_264e67ceb5a2.json
data/cache/raw/ecmwf_ifs/20240922T00Z_d134eeca4ef4.json
data/cache/raw/ecmwf_ifs/20240922T18Z_de7282d996cf.json
data/cache/raw/ecmwf_ifs/20240923T00Z_fde54f9216fc.json
data/cache/raw/ecmwf_ifs/20240923T18Z_50ada59cc858.json
data/cache/raw/ecmwf_ifs/20240924T00Z_0f295e4d0206.json
data/cache/raw/ecmwf_ifs/20240924T18Z_4f9f7e1e0102.json
data/cache/raw/ecmwf_ifs/20240925T00Z_9a7c7618efd5.json
data/cache/raw/ecmwf_ifs/20240925T18Z_22dc07573f8d.json
data/cache/raw/ecmwf_ifs/20240926T00Z_ba1b98669d66.json
data/cache/raw/ecmwf_ifs/20240926T18Z_109ace55dd43.json
data/cache/raw/ecmwf_ifs/20240927T00Z_084fa96b69a3.json
data/cache/raw/ecmwf_ifs/20240927T18Z_a372ccb8cf7a.json
data/cache/raw/ecmwf_ifs/20240928T00Z_7db51251096a.json
data/cache/raw/ecmwf_ifs/20240928T18Z_056b90ef1d38.json
data/cache/raw/ecmwf_ifs/20240929T00Z_dc79e840c65f.json
data/cache/raw/ecmwf_ifs/20240929T18Z_c97b49898e1a.json
data/cache/raw/ecmwf_ifs/20240930T00Z_5f6258a5602a.json
data/cache/raw/ecmwf_ifs/20240930T18Z_d731bbb4e17b.json
data/cache/raw/ecmwf_ifs/20241001T00Z_5b645146a1f1.json
data/cache/raw/ecmwf_ifs/20241001T18Z_0891f28ef986.json
data/cache/raw/ecmwf_ifs/20241002T00Z_1d67755e60e7.json
data/cache/raw/ecmwf_ifs/20241002T18Z_e3c8b7d4f252.json
data/cache/raw/ecmwf_ifs/20241003T00Z_9d6f5147beff.json
data/cache/raw/ecmwf_ifs/20241003T18Z_fb91bdbf93c2.json
data/cache/raw/ecmwf_ifs/20241004T00Z_f389685d792a.json
data/cache/raw/ecmwf_ifs/20241004T18Z_fee0fee2cdf4.json
data/cache/raw/ecmwf_ifs/20241005T00Z_126715c0c1ea.json
data/cache/raw/ecmwf_ifs/20241005T18Z_8c32f69b2bdf.json
data/cache/raw/ecmwf_ifs/20241006T00Z_974938c2c854.json
data/cache/raw/ecmwf_ifs/20241006T18Z_bca4d0795487.json
data/cache/raw/ecmwf_ifs/20241007T00Z_c12da3bc6e15.json
data/cache/raw/ecmwf_ifs/20241007T18Z_7d726f4f54d9.json
data/cache/raw/ecmwf_ifs/20241008T00Z_edd7d1de3700.json
data/cache/raw/ecmwf_ifs/20241008T18Z_9d0572b7d1c3.json
data/cache/raw/ecmwf_ifs/20241009T00Z_f1a5fab7d56d.json
data/cache/raw/ecmwf_ifs/20241009T18Z_f11a3358a620.json
data/cache/raw/ecmwf_ifs/20241010T00Z_e7bee88d50d0.json
data/cache/raw/ecmwf_ifs/20241010T18Z_e5ecfde07e76.json
data/cache/raw/ecmwf_ifs/20241011T00Z_8f2f5e6c3425.json
data/cache/raw/ecmwf_ifs/20241011T18Z_c7b3d62cc327.json
data/cache/raw/ecmwf_ifs/20241012T00Z_57455f8c5045.json
data/cache/raw/ecmwf_ifs/20241012T18Z_dbf3fc31de51.json
data/cache/raw/ecmwf_ifs/20241013T00Z_5bc6276ea6c9.json
data/cache/raw/ecmwf_ifs/20241013T18Z_83ad79412ee4.json
data/cache/raw/ecmwf_ifs/20241014T00Z_e2b62d2a7156.json
data/cache/raw/ecmwf_ifs/20241014T18Z_eb2d23a88812.json
data/cache/raw/ecmwf_ifs/20241015T00Z_0194a00c04a7.json
data/cache/raw/ecmwf_ifs/20241015T18Z_f5ffeacbaaae.json
data/cache/raw/ecmwf_ifs/20241016T00Z_53fcafcecb97.json
data/cache/raw/ecmwf_ifs/20241016T18Z_086c7bbe2477.json
data/cache/raw/ecmwf_ifs/20241017T00Z_f64436543e5a.json
data/cache/raw/ecmwf_ifs/20241017T18Z_f648e60942a1.json
data/cache/raw/ecmwf_ifs/20241018T00Z_40109b993198.json
data/cache/raw/ecmwf_ifs/20241018T18Z_8bf9cb79c498.json
data/cache/raw/ecmwf_ifs/20241019T00Z_e5301599288a.json
data/cache/raw/ecmwf_ifs/20241019T18Z_a499b355c58c.json
data/cache/raw/ecmwf_ifs/20241020T00Z_a6c8cc2a84ed.json
data/cache/raw/ecmwf_ifs/20241020T18Z_a6caadcc52ed.json
data/cache/raw/ecmwf_ifs/20241021T00Z_64a5e5ecc1a8.json
data/cache/raw/ecmwf_ifs/20241021T18Z_ccbc819b98db.json
data/cache/raw/ecmwf_ifs/20241022T00Z_176fe7846f46.json
data/cache/raw/ecmwf_ifs/20241022T18Z_61bcc74e8c64.json
data/cache/raw/ecmwf_ifs/20241023T00Z_c9c07a407b8a.json
data/cache/raw/ecmwf_ifs/20241023T18Z_4e4662d1248b.json
data/cache/raw/ecmwf_ifs/20241024T00Z_5d7078f7ed67.json
data/cache/raw/ecmwf_ifs/20241024T18Z_247e8177f8a7.json
data/cache/raw/ecmwf_ifs/20241025T00Z_4e2d5d5336ba.json
data/cache/raw/ecmwf_ifs/20241025T18Z_19550786ab51.json
data/cache/raw/ecmwf_ifs/20241026T00Z_397114168c91.json
data/cache/raw/ecmwf_ifs/20241026T18Z_650cfa0fd571.json
data/cache/raw/ecmwf_ifs/20241027T00Z_2fb32949eced.json
data/cache/raw/ecmwf_ifs/20241027T18Z_8668355d1f34.json
data/cache/raw/ecmwf_ifs/20241028T00Z_6745be9ab09a.json
data/cache/raw/ecmwf_ifs/20241028T18Z_50daeb2270a8.json
data/cache/raw/ecmwf_ifs/20241029T00Z_c895830c02ff.json
data/cache/raw/ecmwf_ifs/20241029T18Z_5998adca5e6e.json
data/cache/raw/ecmwf_ifs/20241030T00Z_e9657b697788.json
data/cache/raw/ecmwf_ifs/20241030T18Z_3f82daabf54e.json
data/cache/raw/ecmwf_ifs/20241031T00Z_0ad78eb7f3f4.json
data/cache/raw/ecmwf_ifs/20241031T18Z_358b0c8a64bd.json
data/cache/raw/ecmwf_ifs/20241101T00Z_308350b2f76f.json
data/cache/raw/ecmwf_ifs/20241101T18Z_d21f9c363aa5.json
data/cache/raw/ecmwf_ifs/20241102T00Z_9626948d1ebd.json
data/cache/raw/ecmwf_ifs/20241102T18Z_06106075c17e.json
data/cache/raw/ecmwf_ifs/20241103T00Z_001e8e208774.json
data/cache/raw/ecmwf_ifs/20241103T18Z_b2c0f1e4de9f.json
data/cache/raw/ecmwf_ifs/20241104T00Z_5c5ca4691704.json
data/cache/raw/ecmwf_ifs/20241104T18Z_185d6ce831f3.json
data/cache/raw/ecmwf_ifs/20241105T00Z_8fb92b31e3e7.json
data/cache/raw/ecmwf_ifs/20241105T18Z_2f1a1b450635.json
data/cache/raw/ecmwf_ifs/20241106T00Z_a1361847beab.json
data/cache/raw/ecmwf_ifs/20241106T18Z_9a89fa1d1fb8.json
data/cache/raw/ecmwf_ifs/20241107T00Z_e1308d290651.json
data/cache/raw/ecmwf_ifs/20241107T18Z_c262afa8cec3.json
data/cache/raw/ecmwf_ifs/20241108T00Z_9302cea9d052.json
data/cache/raw/ecmwf_ifs/20241108T18Z_b4e3e5596ada.json
data/cache/raw/ecmwf_ifs/20241109T00Z_f56bb66ce076.json
data/cache/raw/ecmwf_ifs/20241109T18Z_a5eb9f50a422.json
data/cache/raw/ecmwf_ifs/20241110T00Z_95582da3e13e.json
data/cache/raw/ecmwf_ifs/20241110T18Z_c991eb0d1bcb.json
data/cache/raw/ecmwf_ifs/20241111T00Z_8cfafeb80391.json
data/cache/raw/ecmwf_ifs/20241111T18Z_708573cad336.json
data/cache/raw/ecmwf_ifs/20241112T00Z_8442ac8276fe.json
data/cache/raw/ecmwf_ifs/20241112T18Z_071779c030dd.json
data/cache/raw/ecmwf_ifs/20241113T00Z_3737021e9b46.json
data/cache/raw/ecmwf_ifs/20241113T18Z_8c6e1c33d7df.json
data/cache/raw/ecmwf_ifs/20241114T00Z_3e746838c3b4.json
data/cache/raw/ecmwf_ifs/20241114T18Z_986489b277d8.json
data/cache/raw/ecmwf_ifs/20241115T00Z_a69aab07f9b7.json
data/cache/raw/ecmwf_ifs/20241115T18Z_a9a0930f67d7.json
data/cache/raw/ecmwf_ifs/20241116T00Z_e693b84ff6b0.json
data/cache/raw/ecmwf_ifs/20241116T18Z_390f2c4f81dc.json
data/cache/raw/ecmwf_ifs/20241117T00Z_7b18d6e3cda1.json
data/cache/raw/ecmwf_ifs/20241117T18Z_a0d8a399ab99.json
data/cache/raw/ecmwf_ifs/20241118T00Z_486c709328c7.json
data/cache/raw/ecmwf_ifs/20241118T18Z_8e1f8ba41ae8.json
data/cache/raw/ecmwf_ifs/20241119T00Z_56fb86c3ed07.json
data/cache/raw/ecmwf_ifs/20241119T18Z_01f0c2b4cd02.json
data/cache/raw/ecmwf_ifs/20241120T00Z_4cdfc4efebd1.json
data/cache/raw/ecmwf_ifs/20241120T18Z_2ef9b258365f.json
data/cache/raw/ecmwf_ifs/20241121T00Z_8ff15bf73f2c.json
data/cache/raw/ecmwf_ifs/20241121T18Z_64d71d03071e.json
data/cache/raw/ecmwf_ifs/20241122T00Z_4f686e96359f.json
data/cache/raw/ecmwf_ifs/20241122T18Z_2071f8959b87.json
data/cache/raw/ecmwf_ifs/20241123T00Z_7bd1704f3ed2.json
data/cache/raw/ecmwf_ifs/20241123T18Z_6dc25f4591a9.json
data/cache/raw/ecmwf_ifs/20241124T00Z_56e1340574a2.json
data/cache/raw/ecmwf_ifs/20241124T18Z_1032e6302abb.json
data/cache/raw/ecmwf_ifs/20241125T00Z_d10434894325.json
data/cache/raw/ecmwf_ifs/20241125T18Z_dc4a40d73dcc.json
data/cache/raw/ecmwf_ifs/20241126T00Z_d6d7e94d4280.json
data/cache/raw/ecmwf_ifs/20241126T18Z_e0bfbdf568a3.json
data/cache/raw/ecmwf_ifs/20241127T00Z_307f44755de9.json
data/cache/raw/ecmwf_ifs/20241127T18Z_9b259fbad3f3.json
data/cache/raw/ecmwf_ifs/20241128T00Z_1d9acaf9f812.json
data/cache/raw/ecmwf_ifs/20241128T18Z_6712b68ab92e.json
data/cache/raw/ecmwf_ifs/20241129T00Z_455028746f53.json
data/cache/raw/ecmwf_ifs/20241129T18Z_304da0dd6f73.json
data/cache/raw/ecmwf_ifs/20241130T00Z_941d192d7084.json
data/cache/raw/ecmwf_ifs/20241130T18Z_ceb429cc7777.json
data/cache/raw/ecmwf_ifs/20241201T00Z_62c8194be600.json
data/cache/raw/ecmwf_ifs/20241201T18Z_b1e95a2345fa.json
data/cache/raw/ecmwf_ifs/20241202T00Z_e5eb71cb024f.json
data/cache/raw/ecmwf_ifs/20241202T18Z_f4b4428eba17.json
data/cache/raw/ecmwf_ifs/20241203T00Z_e4a1c5e57fb3.json
data/cache/raw/ecmwf_ifs/20241203T18Z_c1719c3792c7.json
data/cache/raw/ecmwf_ifs/20241204T00Z_a17b056766a3.json
data/cache/raw/ecmwf_ifs/20241204T18Z_f11afa7690be.json
data/cache/raw/ecmwf_ifs/20241205T00Z_28145433e4ef.json
data/cache/raw/ecmwf_ifs/20241205T18Z_34cb9a1e0703.json
data/cache/raw/ecmwf_ifs/20241206T00Z_b00ab7945bf9.json
data/cache/raw/ecmwf_ifs/20241206T18Z_eb1af44bebe0.json
data/cache/raw/ecmwf_ifs/20241207T00Z_2d0300cf5d04.json
data/cache/raw/ecmwf_ifs/20241207T18Z_19bcd2b34916.json
data/cache/raw/ecmwf_ifs/20241208T00Z_6a88525857f3.json
data/cache/raw/ecmwf_ifs/20241208T18Z_52246d0c9c40.json
data/cache/raw/ecmwf_ifs/20241209T00Z_c2ae4462a80a.json
data/cache/raw/ecmwf_ifs/20241209T18Z_c14dba441f93.json
data/cache/raw/ecmwf_ifs/20241210T00Z_6c19ff696b2b.json
data/cache/raw/ecmwf_ifs/20241210T18Z_7df1da69f836.json
data/cache/raw/ecmwf_ifs/20241211T00Z_e4120d72890b.json
data/cache/raw/ecmwf_ifs/20241211T18Z_dfbe13f48945.json
data/cache/raw/ecmwf_ifs/20241212T00Z_4926494a1750.json
data/cache/raw/ecmwf_ifs/20241212T18Z_0dfc11886f09.json
data/cache/raw/ecmwf_ifs/20241213T00Z_442d51e1f0a6.json
data/cache/raw/ecmwf_ifs/20241213T18Z_0e3716bcfab3.json
data/cache/raw/ecmwf_ifs/20241214T00Z_27429dd4ebec.json
data/cache/raw/ecmwf_ifs/20241214T18Z_89e907755984.json
data/cache/raw/ecmwf_ifs/20241215T00Z_3eff7d4d6ef8.json
data/cache/raw/ecmwf_ifs/20241215T18Z_16c2db6d1c9f.json
data/cache/raw/ecmwf_ifs/20241216T00Z_2915aef708b7.json
data/cache/raw/ecmwf_ifs/20241216T18Z_102fb0b58864.json
data/cache/raw/ecmwf_ifs/20241217T00Z_3f9dfcbb9bdc.json
data/cache/raw/ecmwf_ifs/20241217T18Z_351e383e0b51.json
data/cache/raw/ecmwf_ifs/20241218T00Z_a1be7dbfbdd3.json
data/cache/raw/ecmwf_ifs/20241218T18Z_40c9201f6bd0.json
data/cache/raw/ecmwf_ifs/20241219T00Z_3c2ecc881ecd.json
data/cache/raw/ecmwf_ifs/20241219T18Z_907830e7b3cd.json
data/cache/raw/ecmwf_ifs/20241220T00Z_02ddb89fcf1a.json
data/cache/raw/ecmwf_ifs/20241220T18Z_9e2ee67da600.json
data/cache/raw/ecmwf_ifs/20241221T00Z_3ad612812715.json
data/cache/raw/ecmwf_ifs/20241221T18Z_69e3bbc22257.json
data/cache/raw/ecmwf_ifs/20241222T00Z_938160188e6f.json
data/cache/raw/ecmwf_ifs/20241222T18Z_86c29002ae92.json
data/cache/raw/ecmwf_ifs/20241223T00Z_9a5965d50502.json
data/cache/raw/ecmwf_ifs/20241223T18Z_5fd5c525d0ed.json
data/cache/raw/ecmwf_ifs/20241224T00Z_c6558eb343fa.json
data/cache/raw/ecmwf_ifs/20241224T18Z_132c753977ba.json
data/cache/raw/ecmwf_ifs/20241225T00Z_8489be9f9c3c.json
data/cache/raw/ecmwf_ifs/20241225T18Z_6c27f16bc350.json
data/cache/raw/ecmwf_ifs/20241226T00Z_7f4bb6a47841.json
data/cache/raw/ecmwf_ifs/20241226T18Z_f145e189061b.json
data/cache/raw/ecmwf_ifs/20241227T00Z_a12365af1e17.json
data/cache/raw/ecmwf_ifs/20241227T18Z_f663db5a4b29.json
data/cache/raw/ecmwf_ifs/20241228T00Z_33fda955411c.json
data/cache/raw/ecmwf_ifs/20241228T18Z_f9b1d4c4ec11.json
data/cache/raw/ecmwf_ifs/20241229T00Z_8fe217070af2.json
data/cache/raw/ecmwf_ifs/20241229T18Z_3b6c5c8e38f4.json
data/cache/raw/ecmwf_ifs/20241230T00Z_a743550a2002.json
data/cache/raw/ecmwf_ifs/20241230T18Z_868a31c010d9.json
data/cache/raw/ecmwf_ifs/20241231T00Z_bf025735e418.json
data/cache/raw/ecmwf_ifs/20241231T18Z_641e65fd6ce8.json
data/cache/raw/ecmwf_ifs/20250101T00Z_e3db727e0af7.json
data/cache/raw/ecmwf_ifs/20250101T18Z_09d7bd3b133e.json
data/cache/raw/ecmwf_ifs/20250102T00Z_73a9b7337b3b.json
data/cache/raw/ecmwf_ifs/20250102T18Z_085842326d2e.json
data/cache/raw/ecmwf_ifs/20250103T00Z_305badf54dc1.json
data/cache/raw/ecmwf_ifs/20250103T18Z_456902a792e7.json
data/cache/raw/ecmwf_ifs/20250104T00Z_1e94a99b20b9.json
data/cache/raw/ecmwf_ifs/20250104T18Z_2ffcdf20d6a9.json
data/cache/raw/ecmwf_ifs/20250105T00Z_45c58cfbf7c2.json
data/cache/raw/ecmwf_ifs/20250105T18Z_8a0e0abe5db6.json
data/cache/raw/ecmwf_ifs/20250106T00Z_dd96ce230aaa.json
data/cache/raw/ecmwf_ifs/20250106T18Z_700e4390b74a.json
data/cache/raw/ecmwf_ifs/20250107T00Z_31140fafce5c.json
data/cache/raw/ecmwf_ifs/20250107T18Z_717990a5a1bc.json
data/cache/raw/ecmwf_ifs/20250108T00Z_b4d6485e1772.json
data/cache/raw/ecmwf_ifs/20250108T18Z_693543e72411.json
data/cache/raw/ecmwf_ifs/20250109T00Z_0bf0d636e703.json
data/cache/raw/ecmwf_ifs/20250109T18Z_49b826a5804c.json
data/cache/raw/ecmwf_ifs/20250110T00Z_fefbb1ce1ea0.json
data/cache/raw/ecmwf_ifs/20250110T18Z_31a32bacf774.json
data/cache/raw/ecmwf_ifs/20250111T00Z_2f04d388a883.json
data/cache/raw/ecmwf_ifs/20250111T18Z_142833d81314.json
data/cache/raw/ecmwf_ifs/20250112T00Z_d8a401054428.json
data/cache/raw/ecmwf_ifs/20250112T18Z_079499aa1bd9.json
data/cache/raw/ecmwf_ifs/20250113T00Z_9b34443f075d.json
data/cache/raw/ecmwf_ifs/20250113T18Z_c0963df497b7.json
data/cache/raw/ecmwf_ifs/20250114T00Z_21d483960482.json
data/cache/raw/ecmwf_ifs/20250114T18Z_62232cfd4297.json
data/cache/raw/ecmwf_ifs/20250115T00Z_e1ac8b162757.json
data/cache/raw/ecmwf_ifs/20250115T18Z_39ee2db00fcf.json
data/cache/raw/ecmwf_ifs/20250116T00Z_401bcdfbbb6f.json
data/cache/raw/ecmwf_ifs/20250116T18Z_01011f8191fc.json
data/cache/raw/ecmwf_ifs/20250117T00Z_75dce6087970.json
data/cache/raw/ecmwf_ifs/20250117T18Z_4e983d38d349.json
data/cache/raw/ecmwf_ifs/20250118T00Z_68f6a52d9892.json
data/cache/raw/ecmwf_ifs/20250118T18Z_dbf90efd09ce.json
data/cache/raw/ecmwf_ifs/20250119T00Z_3f7d15af4ec6.json
data/cache/raw/ecmwf_ifs/20250119T18Z_3252501289a5.json
data/cache/raw/ecmwf_ifs/20250120T00Z_d5c3e6cb557e.json
data/cache/raw/ecmwf_ifs/20250120T18Z_ff7f45ed2082.json
data/cache/raw/ecmwf_ifs/20250121T00Z_2e47f9d3d60b.json
data/cache/raw/ecmwf_ifs/20250121T18Z_bba4ccf42aa5.json
data/cache/raw/ecmwf_ifs/20250122T00Z_cf59578eb718.json
data/cache/raw/ecmwf_ifs/20250122T18Z_28ad5b5dca40.json
data/cache/raw/ecmwf_ifs/20250123T00Z_2292ebe4cbfc.json
data/cache/raw/ecmwf_ifs/20250123T18Z_a63d406a1966.json
data/cache/raw/ecmwf_ifs/20250124T00Z_fa44ed8de1c9.json
data/cache/raw/ecmwf_ifs/20250124T18Z_3a1e9491d29b.json
data/cache/raw/ecmwf_ifs/20250125T00Z_db317cb3410f.json
data/cache/raw/ecmwf_ifs/20250125T18Z_8054103c8aa2.json
data/cache/raw/ecmwf_ifs/20250126T00Z_2f2110c6af07.json
data/cache/raw/ecmwf_ifs/20250126T18Z_da82767f6946.json
data/cache/raw/ecmwf_ifs/20250127T00Z_6f5329ca4f35.json
data/cache/raw/ecmwf_ifs/20250127T18Z_6eec320eda9e.json
data/cache/raw/ecmwf_ifs/20250128T00Z_60067f7961b1.json
data/cache/raw/ecmwf_ifs/20250128T18Z_81039c9646c5.json
data/cache/raw/ecmwf_ifs/20250129T00Z_8fedb0cc0d81.json
data/cache/raw/ecmwf_ifs/20250129T18Z_858a40c369d5.json
data/cache/raw/ecmwf_ifs/20250130T00Z_28b4d60b4d02.json
data/cache/raw/ecmwf_ifs/20250130T18Z_a4a19b15d702.json
data/cache/raw/ecmwf_ifs/20250131T00Z_098cb33bef2f.json
data/cache/raw/ecmwf_ifs/20250131T18Z_dd6f26158af2.json
data/cache/raw/ecmwf_ifs/20250201T00Z_741a4bf91bf6.json
data/cache/raw/ecmwf_ifs/20250201T18Z_252d3ed85ac3.json
data/cache/raw/ecmwf_ifs/20250202T00Z_6acd0243c0bf.json
data/cache/raw/ecmwf_ifs/20250202T18Z_99ce46dfb031.json
data/cache/raw/ecmwf_ifs/20250203T00Z_88e369906519.json
data/cache/raw/ecmwf_ifs/20250203T18Z_64a6a237f41f.json
data/cache/raw/ecmwf_ifs/20250204T00Z_38f1725c1c9f.json
data/cache/raw/ecmwf_ifs/20250204T18Z_6fcc522ae980.json
data/cache/raw/ecmwf_ifs/20250205T00Z_33c8669f14a1.json
data/cache/raw/ecmwf_ifs/20250205T18Z_58e0358e5178.json
data/cache/raw/ecmwf_ifs/20250206T00Z_fbcf5c4c0a32.json
data/cache/raw/ecmwf_ifs/20250206T18Z_5788df69a1de.json
data/cache/raw/ecmwf_ifs/20250207T00Z_5b7757036a64.json
data/cache/raw/ecmwf_ifs/20250207T18Z_747d7fa73c6c.json
data/cache/raw/ecmwf_ifs/20250208T00Z_82767d1ae378.json
data/cache/raw/ecmwf_ifs/20250208T18Z_5f3ce4012ba7.json
data/cache/raw/ecmwf_ifs/20250209T00Z_d565de988269.json
data/cache/raw/ecmwf_ifs/20250209T18Z_8e6e69264a9d.json
data/cache/raw/ecmwf_ifs/20250210T00Z_47558fbd57aa.json
data/cache/raw/ecmwf_ifs/20250210T18Z_9238463e4bb1.json
data/cache/raw/ecmwf_ifs/20250211T00Z_aeda4d27f930.json
data/cache/raw/ecmwf_ifs/20250211T18Z_3769249219c4.json
data/cache/raw/ecmwf_ifs/20250212T00Z_d12183f5ff86.json
data/cache/raw/ecmwf_ifs/20250212T18Z_253f75c84d4b.json
data/cache/raw/ecmwf_ifs/20250213T00Z_f69ab9008717.json
data/cache/raw/ecmwf_ifs/20250213T18Z_124bc4b22e45.json
data/cache/raw/ecmwf_ifs/20250214T00Z_c83d33603815.json
data/cache/raw/ecmwf_ifs/20250214T18Z_9ace65bc65da.json
data/cache/raw/ecmwf_ifs/20250215T00Z_19c58003a3b5.json
data/cache/raw/ecmwf_ifs/20250215T18Z_f4a63665a645.json
data/cache/raw/ecmwf_ifs/20250216T00Z_27517891afdb.json
data/cache/raw/ecmwf_ifs/20250216T18Z_caf44946e3f6.json
data/cache/raw/ecmwf_ifs/20250217T00Z_23a437ed1e07.json
data/cache/raw/ecmwf_ifs/20250217T18Z_9b52a6dc5e74.json
data/cache/raw/ecmwf_ifs/20250218T00Z_1990436258b8.json
data/cache/raw/ecmwf_ifs/20250218T18Z_c128c2b0f733.json
data/cache/raw/ecmwf_ifs/20250219T00Z_67cee6be193a.json
data/cache/raw/ecmwf_ifs/20250219T18Z_15d54206ffa9.json
data/cache/raw/ecmwf_ifs/20250220T00Z_791acf4c4e22.json
data/cache/raw/ecmwf_ifs/20250220T18Z_a81f6a947fcf.json
data/cache/raw/ecmwf_ifs/20250221T00Z_34dfee6e594e.json
data/cache/raw/ecmwf_ifs/20250221T18Z_b88a2d17f8f8.json
data/cache/raw/ecmwf_ifs/20250222T00Z_39d351084054.json
data/cache/raw/ecmwf_ifs/20250222T18Z_c343d8bb3323.json
data/cache/raw/ecmwf_ifs/20250223T00Z_e85a4de9178c.json
data/cache/raw/ecmwf_ifs/20250223T18Z_2a15c04d1200.json
data/cache/raw/ecmwf_ifs/20250224T00Z_32d60b14bdd6.json
data/cache/raw/ecmwf_ifs/20250224T18Z_b0d7908d7591.json
data/cache/raw/ecmwf_ifs/20250225T00Z_2f57b0bb6a4a.json
data/cache/raw/ecmwf_ifs/20250225T18Z_870bc4470c7c.json
data/cache/raw/ecmwf_ifs/20250226T00Z_fb37a939ceda.json
data/cache/raw/ecmwf_ifs/20250226T18Z_673f62ecb07c.json
data/cache/raw/ecmwf_ifs/20250227T00Z_9d2d07de9ab8.json
data/cache/raw/ecmwf_ifs/20250227T18Z_44beb6cf6650.json
data/cache/raw/ecmwf_ifs/20250228T00Z_e2044f0513f2.json
data/cache/raw/ecmwf_ifs/20250228T18Z_8b54462666f3.json
data/cache/raw/ecmwf_ifs/20250301T00Z_784078058d9d.json
data/cache/raw/ecmwf_ifs/20250301T18Z_971a835c1ad7.json
data/cache/raw/ecmwf_ifs/20250302T00Z_287d101f33a1.json
data/cache/raw/ecmwf_ifs/20250302T18Z_4996aa54dc61.json
data/cache/raw/ecmwf_ifs/20250303T00Z_18277b85e21e.json
data/cache/raw/ecmwf_ifs/20250303T18Z_4baa02be0171.json
data/cache/raw/ecmwf_ifs/20250304T00Z_a45bd991bfd3.json
data/cache/raw/ecmwf_ifs/20250304T18Z_7e9650c68c4d.json
data/cache/raw/ecmwf_ifs/20250305T00Z_138cc29cdccc.json
data/cache/raw/ecmwf_ifs/20250305T18Z_9b3680880326.json
data/cache/raw/ecmwf_ifs/20250306T00Z_2db8ecafd8f0.json
data/cache/raw/ecmwf_ifs/20250306T18Z_7ab8ab25c294.json
data/cache/raw/ecmwf_ifs/20250307T00Z_365094791d53.json
data/cache/raw/ecmwf_ifs/20250307T18Z_5d2d7cd8b463.json
data/cache/raw/ecmwf_ifs/20250308T00Z_ade5677d8dc3.json
data/cache/raw/ecmwf_ifs/20250308T18Z_0a0cacbacc06.json
data/cache/raw/ecmwf_ifs/20250309T00Z_87ea36b77b90.json
data/cache/raw/ecmwf_ifs/20250309T18Z_05e64912d381.json
data/cache/raw/ecmwf_ifs/20250310T00Z_2e88d94dfc14.json
data/cache/raw/ecmwf_ifs/20250310T18Z_0bd720c4d091.json
data/cache/raw/ecmwf_ifs/20250311T00Z_1a39f44ac244.json
data/cache/raw/ecmwf_ifs/20250311T18Z_3c5d63051a30.json
data/cache/raw/ecmwf_ifs/20250312T00Z_6a73e7a78588.json
data/cache/raw/ecmwf_ifs/20250312T18Z_d2c6833bc9d2.json
data/cache/raw/ecmwf_ifs/20250313T00Z_5e2e630c1fbc.json
data/cache/raw/ecmwf_ifs/20250313T18Z_eeac65383629.json
data/cache/raw/ecmwf_ifs/20250314T00Z_df3a8f2f60ba.json
data/cache/raw/ecmwf_ifs/20250314T18Z_4a059f345210.json
data/cache/raw/ecmwf_ifs/20250315T00Z_d6815a3db2cb.json
data/cache/raw/ecmwf_ifs/20250315T18Z_938c0aa539b7.json
data/cache/raw/ecmwf_ifs/20250316T00Z_5f45c2a4ba72.json
data/cache/raw/ecmwf_ifs/20250316T18Z_cb1b84768517.json
data/cache/raw/ecmwf_ifs/20250317T00Z_0bad6edf0816.json
data/cache/raw/ecmwf_ifs/20250317T18Z_a9fe5538df02.json
data/cache/raw/ecmwf_ifs/20250318T00Z_2c7d113b399f.json
data/cache/raw/ecmwf_ifs/20250318T18Z_7512725366cd.json
data/cache/raw/ecmwf_ifs/20250319T00Z_6f0a5c9916a9.json
data/cache/raw/ecmwf_ifs/20250319T18Z_a6a32dfa1007.json
data/cache/raw/ecmwf_ifs/20250320T00Z_e11c4966c243.json
data/cache/raw/ecmwf_ifs/20250320T18Z_9df3af517889.json
data/cache/raw/ecmwf_ifs/20250321T00Z_cd53d6323bfc.json
data/cache/raw/ecmwf_ifs/20250321T18Z_8034282ea828.json
data/cache/raw/ecmwf_ifs/20250322T00Z_197e4d8b97d0.json
data/cache/raw/ecmwf_ifs/20250322T18Z_e2485c7621bf.json
data/cache/raw/ecmwf_ifs/20250323T00Z_73077ac9e90e.json
data/cache/raw/ecmwf_ifs/20250323T18Z_5008d8dae04a.json
data/cache/raw/ecmwf_ifs/20250324T00Z_84eef2a9738b.json
data/cache/raw/ecmwf_ifs/20250324T18Z_869687fab4bd.json
data/cache/raw/ecmwf_ifs/20250325T00Z_9f82ba3277bb.json
data/cache/raw/ecmwf_ifs/20250325T18Z_4aee3971e6a6.json
data/cache/raw/ecmwf_ifs/20250326T00Z_60a70460ff16.json
data/cache/raw/ecmwf_ifs/20250326T18Z_42e719a64e9f.json
data/cache/raw/ecmwf_ifs/20250327T00Z_4c65b3317674.json
data/cache/raw/ecmwf_ifs/20250327T18Z_f06ea3251908.json
data/cache/raw/ecmwf_ifs/20250328T00Z_34d482132729.json
data/cache/raw/ecmwf_ifs/20250328T18Z_210ffaeef5bd.json
data/cache/raw/ecmwf_ifs/20250329T00Z_a5ffd37c7468.json
data/cache/raw/ecmwf_ifs/20250329T18Z_df4abbae81a6.json
data/cache/raw/ecmwf_ifs/20250330T00Z_38a5c559e291.json
data/cache/raw/ecmwf_ifs/20250330T18Z_0bb728a00fe1.json
data/cache/raw/ecmwf_ifs/20250331T00Z_d7ef0532d5ca.json
data/cache/raw/ecmwf_ifs/20250331T18Z_f846cce736e9.json
data/cache/raw/ecmwf_ifs/20250401T00Z_c7f3c9c3d429.json
data/cache/raw/ecmwf_ifs/20250401T18Z_0958833a2f5e.json
data/cache/raw/ecmwf_ifs/20250402T00Z_e1264b5412d8.json
data/cache/raw/ecmwf_ifs/20250402T18Z_45d72e64bbcb.json
data/cache/raw/ecmwf_ifs/20250403T00Z_b7f1f493dc1d.json
data/cache/raw/ecmwf_ifs/20250403T18Z_3e792ebcab94.json
data/cache/raw/ecmwf_ifs/20250404T00Z_8c60d22411e1.json
data/cache/raw/ecmwf_ifs/20250404T18Z_9cdeb0eeeb8f.json
data/cache/raw/ecmwf_ifs/20250405T00Z_f5c2047304df.json
data/cache/raw/ecmwf_ifs/20250405T18Z_4c4197005463.json
data/cache/raw/ecmwf_ifs/20250406T00Z_eea29579591c.json
data/cache/raw/ecmwf_ifs/20250406T18Z_85899dc78781.json
data/cache/raw/ecmwf_ifs/20250407T00Z_7d4e3e275b8b.json
data/cache/raw/ecmwf_ifs/20250407T18Z_95499db8b040.json
data/cache/raw/ecmwf_ifs/20250408T00Z_80436b8c232c.json
data/cache/raw/ecmwf_ifs/20250408T18Z_9ec4d6e7f081.json
data/cache/raw/ecmwf_ifs/20250409T00Z_0a84344f3109.json
data/cache/raw/ecmwf_ifs/20250409T18Z_878c38bb8f27.json
data/cache/raw/ecmwf_ifs/20250410T00Z_9aa36da82118.json
data/cache/raw/ecmwf_ifs/20250410T18Z_ff6e35bd6f6c.json
data/cache/raw/ecmwf_ifs/20250411T00Z_cb03213a9313.json
data/cache/raw/ecmwf_ifs/20250411T18Z_cbd14d5f99f6.json
data/cache/raw/ecmwf_ifs/20250412T00Z_485a27e64774.json
data/cache/raw/ecmwf_ifs/20250412T18Z_5db8cd77bef0.json
data/cache/raw/ecmwf_ifs/20250413T00Z_ee5a4500289f.json
data/cache/raw/ecmwf_ifs/20250413T18Z_c70c6210d4c7.json
data/cache/raw/ecmwf_ifs/20250414T00Z_288b552aca4c.json
data/cache/raw/ecmwf_ifs/20250414T18Z_358edf068e81.json
data/cache/raw/ecmwf_ifs/20250415T00Z_7d5c740bf10a.json
data/cache/raw/ecmwf_ifs/20250415T18Z_c96dd98d2b21.json
data/cache/raw/ecmwf_ifs/20250416T00Z_ab80b865f0d3.json
data/cache/raw/ecmwf_ifs/20250416T18Z_50577477eb96.json
data/cache/raw/ecmwf_ifs/20250417T00Z_fa5bc7e25849.json
data/cache/raw/ecmwf_ifs/20250417T18Z_e1f95440321e.json
data/cache/raw/ecmwf_ifs/20250418T00Z_d05e7732b3d4.json
data/cache/raw/ecmwf_ifs/20250418T18Z_31f7f9081292.json
data/cache/raw/ecmwf_ifs/20250419T00Z_03e2cf48f65d.json
data/cache/raw/ecmwf_ifs/20250419T18Z_a5be733a2b3c.json
data/cache/raw/ecmwf_ifs/20250420T00Z_3448352f28ca.json
data/cache/raw/ecmwf_ifs/20250420T18Z_2f490db8656b.json
data/cache/raw/ecmwf_ifs/20250421T00Z_e16fa101063e.json
data/cache/raw/ecmwf_ifs/20250421T18Z_8f49e265dbaf.json
data/cache/raw/ecmwf_ifs/20250422T00Z_a25aff67c4ab.json
data/cache/raw/ecmwf_ifs/20250422T18Z_0c516d473ee8.json
data/cache/raw/ecmwf_ifs/20250423T00Z_1185b77440f7.json
data/cache/raw/ecmwf_ifs/20250423T18Z_59cc53a5c47e.json
data/cache/raw/ecmwf_ifs/20250424T00Z_cc0554721979.json
data/cache/raw/ecmwf_ifs/20250424T18Z_114b9159eceb.json
data/cache/raw/ecmwf_ifs/20250425T00Z_97ed04bb5011.json
data/cache/raw/ecmwf_ifs/20250425T18Z_b10421cebf3c.json
data/cache/raw/ecmwf_ifs/20250426T00Z_ccd9fa2bb2b0.json
data/cache/raw/ecmwf_ifs/20250426T18Z_2b7aa7061170.json
data/cache/raw/ecmwf_ifs/20250427T00Z_8f90c1dca8e6.json
data/cache/raw/ecmwf_ifs/20250427T18Z_1f316aa20c1a.json
data/cache/raw/ecmwf_ifs/20250428T00Z_5119d77fbe20.json
data/cache/raw/ecmwf_ifs/20250428T18Z_d35444edf1e6.json
data/cache/raw/ecmwf_ifs/20250429T00Z_f228ab44dacf.json
data/cache/raw/ecmwf_ifs/20250429T18Z_5fef105ec496.json
data/cache/raw/ecmwf_ifs/20250430T00Z_b70206298464.json
data/cache/raw/ecmwf_ifs/20250430T18Z_31dd30950f7e.json
data/cache/raw/ecmwf_ifs/20250501T00Z_5ebe86e1cd0d.json
data/cache/raw/ecmwf_ifs/20250501T18Z_d85f50815df7.json
data/cache/raw/ecmwf_ifs/20250502T00Z_0548e6053068.json
data/cache/raw/ecmwf_ifs/20250502T18Z_5ae70fefbfa7.json
data/cache/raw/ecmwf_ifs/20250503T00Z_bc6ca209c903.json
data/cache/raw/ecmwf_ifs/20250503T18Z_22f80bba025d.json
data/cache/raw/ecmwf_ifs/20250504T00Z_e0b280cdc475.json
data/cache/raw/ecmwf_ifs/20250504T18Z_cec1211cdb7c.json
data/cache/raw/ecmwf_ifs/20250505T00Z_874b192753c1.json
data/cache/raw/ecmwf_ifs/20250505T18Z_9d520c23faa5.json
data/cache/raw/ecmwf_ifs/20250506T00Z_598c51864311.json
data/cache/raw/ecmwf_ifs/20250506T18Z_98acc43314ae.json
data/cache/raw/ecmwf_ifs/20250507T00Z_e3b5db20595a.json
data/cache/raw/ecmwf_ifs/20250507T18Z_fe44ee045024.json
data/cache/raw/ecmwf_ifs/20250508T00Z_e0ac31928ac9.json
data/cache/raw/ecmwf_ifs/20250508T18Z_920a6974e67a.json
data/cache/raw/ecmwf_ifs/20250509T00Z_d483c79f83fc.json
data/cache/raw/ecmwf_ifs/20250509T18Z_ffc1d3799ef1.json
data/cache/raw/ecmwf_ifs/20250510T00Z_d895be1e9e2a.json
data/cache/raw/ecmwf_ifs/20250510T18Z_a203f9464b92.json
data/cache/raw/ecmwf_ifs/20250511T00Z_217e3486d828.json
data/cache/raw/ecmwf_ifs/20250511T18Z_f8892c3b623c.json
data/cache/raw/ecmwf_ifs/20250512T00Z_2cb992586570.json
data/cache/raw/ecmwf_ifs/20250512T18Z_eea40684d1e6.json
data/cache/raw/ecmwf_ifs/20250513T00Z_b2d301762ace.json
data/cache/raw/ecmwf_ifs/20250513T18Z_702b950cb5a9.json
data/cache/raw/ecmwf_ifs/20250514T00Z_c5b6b76af385.json
data/cache/raw/ecmwf_ifs/20250514T18Z_1fd230c91468.json
data/cache/raw/ecmwf_ifs/20250515T00Z_46d6e689fd3b.json
data/cache/raw/ecmwf_ifs/20250515T18Z_7e1f1f5ca044.json
data/cache/raw/ecmwf_ifs/20250516T00Z_f4b5d98df9cc.json
data/cache/raw/ecmwf_ifs/20250516T18Z_bc5769ec7a78.json
data/cache/raw/ecmwf_ifs/20250517T00Z_cb5b356d6c4c.json
data/cache/raw/ecmwf_ifs/20250517T18Z_41d7289ef6ff.json
data/cache/raw/ecmwf_ifs/20250518T00Z_cd2930d70966.json
data/cache/raw/ecmwf_ifs/20250518T18Z_595fb6fc3248.json
data/cache/raw/ecmwf_ifs/20250519T00Z_695b00c5b537.json
data/cache/raw/ecmwf_ifs/20250519T18Z_f44a65fbb83f.json
data/cache/raw/ecmwf_ifs/20250520T00Z_a158dbfe6338.json
data/cache/raw/ecmwf_ifs/20250520T18Z_b07aea5d8173.json
data/cache/raw/ecmwf_ifs/20250521T00Z_10f3a97710b8.json
data/cache/raw/ecmwf_ifs/20250521T18Z_38591630c4b2.json
data/cache/raw/ecmwf_ifs/20250522T00Z_8a85e1a111ea.json
data/cache/raw/ecmwf_ifs/20250522T18Z_e1c5142acdb1.json
data/cache/raw/ecmwf_ifs/20250523T00Z_22db8157a1c4.json
data/cache/raw/ecmwf_ifs/20250523T18Z_c5a527d8dd54.json
data/cache/raw/ecmwf_ifs/20250524T00Z_138239ac3b72.json
data/cache/raw/ecmwf_ifs/20250524T18Z_570d316ba767.json
data/cache/raw/ecmwf_ifs/20250525T00Z_e71dbb30edf9.json
data/cache/raw/ecmwf_ifs/20250525T18Z_ce424f4923bb.json
data/cache/raw/ecmwf_ifs/20250526T00Z_fe3ca449af4e.json
data/cache/raw/ecmwf_ifs/20250526T18Z_07964efcab18.json
data/cache/raw/ecmwf_ifs/20250527T00Z_cbd409b2f90e.json
data/cache/raw/ecmwf_ifs/20250527T18Z_ebc68e87c2eb.json
data/cache/raw/ecmwf_ifs/20250528T00Z_b5bcd33f9ada.json
data/cache/raw/ecmwf_ifs/20250528T18Z_a3fc755e148f.json
data/cache/raw/ecmwf_ifs/20250529T00Z_0d31eca62dc1.json
data/cache/raw/ecmwf_ifs/20250529T18Z_e3f61c028aee.json
data/cache/raw/ecmwf_ifs/20250530T00Z_600b3f4a4971.json
data/cache/raw/ecmwf_ifs/20250530T18Z_5d828d8deacd.json
data/cache/raw/ecmwf_ifs/20250531T00Z_fb5344728900.json
data/cache/raw/ecmwf_ifs/20250531T18Z_3c4a42af7130.json
data/cache/raw/ecmwf_ifs/20250601T00Z_17503199c0c4.json
data/cache/raw/ecmwf_ifs/20250601T18Z_f423049aa9d4.json
data/cache/raw/ecmwf_ifs/20250602T00Z_cb3a0b86b235.json
data/cache/raw/ecmwf_ifs/20250602T18Z_27d8d6372964.json
data/cache/raw/ecmwf_ifs/20250603T00Z_a41291ecaa0c.json
data/cache/raw/ecmwf_ifs/20250603T18Z_24e79cb563df.json
data/cache/raw/ecmwf_ifs/20250604T00Z_be9fd2403e6d.json
data/cache/raw/ecmwf_ifs/20250604T18Z_21c0d07a5175.json
data/cache/raw/ecmwf_ifs/20250605T00Z_0598c478ee9c.json
data/cache/raw/ecmwf_ifs/20250605T18Z_792c1fad1fec.json
data/cache/raw/ecmwf_ifs/20250606T00Z_eb43d215b7f8.json
data/cache/raw/ecmwf_ifs/20250606T18Z_0ca60017918e.json
data/cache/raw/ecmwf_ifs/20250607T00Z_6acf058e8cf9.json
data/cache/raw/ecmwf_ifs/20250607T18Z_a3e445faf9d6.json
data/cache/raw/ecmwf_ifs/20250608T00Z_d15a051fc357.json
data/cache/raw/ecmwf_ifs/20250608T18Z_f96d3da00dea.json
data/cache/raw/ecmwf_ifs/20250609T00Z_4f22465ddea9.json
data/cache/raw/ecmwf_ifs/20250609T18Z_58ebf7a08798.json
data/cache/raw/ecmwf_ifs/20250610T00Z_71dcb561076d.json
data/cache/raw/ecmwf_ifs/20250610T18Z_77aaad27420c.json
data/cache/raw/ecmwf_ifs/20250611T00Z_59941a55b498.json
data/cache/raw/ecmwf_ifs/20250611T18Z_d428ffc0856e.json
data/cache/raw/ecmwf_ifs/20250612T00Z_2e662f592118.json
data/cache/raw/ecmwf_ifs/20250612T18Z_b911910b898e.json
data/cache/raw/ecmwf_ifs/20250613T00Z_f9db40902536.json
data/cache/raw/ecmwf_ifs/20250613T18Z_a739b83e0d64.json
data/cache/raw/ecmwf_ifs/20250614T00Z_4df523d02b2d.json
data/cache/raw/ecmwf_ifs/20250614T18Z_eda24c6c3275.json
data/cache/raw/ecmwf_ifs/20250615T00Z_04a1b4a7e2df.json
data/cache/raw/ecmwf_ifs/20250615T18Z_488c170c0675.json
data/cache/raw/ecmwf_ifs/20250616T00Z_ffc5e45364c7.json
data/cache/raw/ecmwf_ifs/20250616T18Z_4eab6dcc7023.json
data/cache/raw/ecmwf_ifs/20250617T00Z_f3114274d594.json
data/cache/raw/ecmwf_ifs/20250617T18Z_7f661478edc2.json
data/cache/raw/ecmwf_ifs/20250618T00Z_640720628fa3.json
data/cache/raw/ecmwf_ifs/20250618T18Z_a524a82a83a0.json
data/cache/raw/ecmwf_ifs/20250619T00Z_bc4701c10bbb.json
data/cache/raw/ecmwf_ifs/20250619T18Z_e2bf3508eb5c.json
data/cache/raw/ecmwf_ifs/20250620T00Z_0dc09d6f2850.json
data/cache/raw/ecmwf_ifs/20250620T18Z_2baf5416c255.json
data/cache/raw/ecmwf_ifs/20250621T00Z_20fdbab82a62.json
data/cache/raw/ecmwf_ifs/20250621T18Z_0ad769667ddf.json
data/cache/raw/ecmwf_ifs/20250622T00Z_a9d3042508c4.json
data/cache/raw/ecmwf_ifs/20250622T18Z_595516aa4a70.json
data/cache/raw/ecmwf_ifs/20250623T00Z_533f4b545eb4.json
data/cache/raw/ecmwf_ifs/20250623T18Z_fd1ffc598c05.json
data/cache/raw/ecmwf_ifs/20250624T00Z_a82af4bf00b4.json
data/cache/raw/ecmwf_ifs/20250624T18Z_e2cbfb1c3553.json
data/cache/raw/ecmwf_ifs/20250625T00Z_1bb71385681f.json
data/cache/raw/ecmwf_ifs/20250625T18Z_4b879a8c149e.json
data/cache/raw/ecmwf_ifs/20250626T00Z_a405314a171c.json
data/cache/raw/ecmwf_ifs/20250626T18Z_3e78427f6cb0.json
data/cache/raw/ecmwf_ifs/20250627T00Z_1e8960afefbf.json
data/cache/raw/ecmwf_ifs/20250627T18Z_77cb2763b25b.json
data/cache/raw/ecmwf_ifs/20250628T00Z_d19ff440b7d6.json
data/cache/raw/ecmwf_ifs/20250628T18Z_dd6c37c2b99d.json
data/cache/raw/ecmwf_ifs/20250629T00Z_5f7e170a1c6a.json
data/cache/raw/ecmwf_ifs/20250629T18Z_3e9b486bf646.json
data/cache/raw/ecmwf_ifs/20250630T00Z_2b7e4b520c29.json
data/cache/raw/ecmwf_ifs/20250630T18Z_1be03d76c95e.json
data/cache/raw/ecmwf_ifs/20250701T00Z_b1c08d170829.json
data/cache/raw/ecmwf_ifs/20250701T18Z_841395bd3e16.json
data/cache/raw/ecmwf_ifs/20250702T00Z_cf75dd28eb7a.json
data/cache/raw/ecmwf_ifs/20250702T18Z_5019ac0b6f0d.json
data/cache/raw/ecmwf_ifs/20250703T00Z_549e773e8710.json
data/cache/raw/ecmwf_ifs/20250703T18Z_2cd290effa2b.json
data/cache/raw/ecmwf_ifs/20250704T00Z_9c97d7913d01.json
data/cache/raw/ecmwf_ifs/20250704T18Z_5c6501a8982e.json
data/cache/raw/ecmwf_ifs/20250705T00Z_03a38b80a919.json
data/cache/raw/ecmwf_ifs/20250705T18Z_0022dc90948e.json
data/cache/raw/ecmwf_ifs/20250706T00Z_89ed89bee88a.json
data/cache/raw/ecmwf_ifs/20250706T18Z_a8689759ae24.json
data/cache/raw/ecmwf_ifs/20250707T00Z_bb617ae9aca6.json
data/cache/raw/ecmwf_ifs/20250707T18Z_b81e310cb193.json
data/cache/raw/ecmwf_ifs/20250708T00Z_0a4645abca93.json
data/cache/raw/ecmwf_ifs/20250708T18Z_64e4676b97b2.json
data/cache/raw/ecmwf_ifs/20250709T00Z_a74e6af006e7.json
data/cache/raw/ecmwf_ifs/20250709T18Z_3335beaa9c4e.json
data/cache/raw/ecmwf_ifs/20250710T00Z_e6312ee0d52f.json
data/cache/raw/ecmwf_ifs/20250710T18Z_41425f3c55b4.json
data/cache/raw/ecmwf_ifs/20250711T00Z_7b8c58b623a1.json
data/cache/raw/ecmwf_ifs/20250711T18Z_336737a72ddc.json
data/cache/raw/ecmwf_ifs/20250712T00Z_2cc20b5845ce.json
data/cache/raw/ecmwf_ifs/20250712T18Z_a9191b6d025a.json
data/cache/raw/ecmwf_ifs/20250713T00Z_92f1b914845c.json
data/cache/raw/ecmwf_ifs/20250713T18Z_4642837e148a.json
data/cache/raw/ecmwf_ifs/20250714T00Z_ab9f42ba4a98.json
data/cache/raw/ecmwf_ifs/20250714T18Z_879a04ae750e.json
data/cache/raw/ecmwf_ifs/20250715T00Z_ca59b950f2ad.json
data/cache/raw/ecmwf_ifs/20250715T18Z_60e0b7108380.json
data/cache/raw/ecmwf_ifs/20250716T00Z_7a925a6a32b9.json
data/cache/raw/ecmwf_ifs/20250716T18Z_baf43f011d16.json
data/cache/raw/ecmwf_ifs/20250717T00Z_13e9d92a476d.json
data/cache/raw/ecmwf_ifs/20250717T18Z_20b50096f46d.json
data/cache/raw/ecmwf_ifs/20250718T00Z_1750fbf397bb.json
data/cache/raw/ecmwf_ifs/20250718T18Z_ff76251d11bc.json
data/cache/raw/ecmwf_ifs/20250719T00Z_fa686726da17.json
data/cache/raw/ecmwf_ifs/20250719T18Z_df275b743bee.json
data/cache/raw/ecmwf_ifs/20250720T00Z_e7598b26cf36.json
data/cache/raw/ecmwf_ifs/20250720T18Z_ec25efd84599.json
data/cache/raw/ecmwf_ifs/20250721T00Z_2aac6506516c.json
data/cache/raw/ecmwf_ifs/20250721T18Z_1de28428af19.json
data/cache/raw/ecmwf_ifs/20250722T00Z_657cb2bb62c9.json
data/cache/raw/ecmwf_ifs/20250722T18Z_2eaa7ca6ad95.json
data/cache/raw/ecmwf_ifs/20250723T00Z_3f65ebdc957e.json
data/cache/raw/ecmwf_ifs/20250723T18Z_0dd5e506466e.json
data/cache/raw/ecmwf_ifs/20250724T00Z_1f35a64b29b7.json
data/cache/raw/ecmwf_ifs/20250724T18Z_92933fee1965.json
data/cache/raw/ecmwf_ifs/20250725T00Z_501d2219f87e.json
data/cache/raw/ecmwf_ifs/20250725T18Z_1399007e6df6.json
data/cache/raw/ecmwf_ifs/20250726T00Z_904521a3be93.json
data/cache/raw/ecmwf_ifs/20250726T18Z_8ec094f2e0ac.json
data/cache/raw/ecmwf_ifs/20250727T00Z_90c7ac966c2c.json
data/cache/raw/ecmwf_ifs/20250727T18Z_45d172d7e02e.json
data/cache/raw/ecmwf_ifs/20250728T00Z_68bd679bcb1c.json
data/cache/raw/ecmwf_ifs/20250728T18Z_0e180d3c27a8.json
data/cache/raw/ecmwf_ifs/20250729T00Z_04c74a3b6163.json
data/cache/raw/ecmwf_ifs/20250729T18Z_fdc578141c44.json
data/cache/raw/ecmwf_ifs/20250730T00Z_cbd70a638a67.json
data/cache/raw/ecmwf_ifs/20250730T18Z_42cdec0a91a2.json
data/cache/raw/ecmwf_ifs/20250731T00Z_acdbf637d352.json
data/cache/raw/ecmwf_ifs/20250731T18Z_53099ebc01c4.json
data/cache/raw/ecmwf_ifs/20250801T00Z_44fe0eb183e3.json
data/cache/raw/ecmwf_ifs/20250801T18Z_a53063d4b805.json
data/cache/raw/ecmwf_ifs/20250802T00Z_cb4a02c48735.json
data/cache/raw/ecmwf_ifs/20250802T18Z_1c7f8040ba4c.json
data/cache/raw/ecmwf_ifs/20250803T00Z_6e2d32e7d12d.json
data/cache/raw/ecmwf_ifs/20250803T18Z_6f13bcd7380d.json
data/cache/raw/ecmwf_ifs/20250804T00Z_52255c6ab0af.json
data/cache/raw/ecmwf_ifs/20250804T12Z_fb12d23b11c4.json
data/cache/raw/ecmwf_ifs/20250804T18Z_78706f1dcf66.json
data/cache/raw/ecmwf_ifs/20250805T00Z_451df868017d.json
data/cache/raw/ecmwf_ifs/20250805T12Z_1338093e39da.json
data/cache/raw/ecmwf_ifs/20250805T18Z_742fc23721cb.json
data/cache/raw/ecmwf_ifs/20250806T00Z_709aa6596072.json
data/cache/raw/ecmwf_ifs/20250806T12Z_8738359e60c1.json
data/cache/raw/ecmwf_ifs/20250806T18Z_b0946306bc32.json
data/cache/raw/ecmwf_ifs/20250807T00Z_6fe2af5c7aa9.json
data/cache/raw/ecmwf_ifs/20250807T12Z_a660ac89f97e.json
data/cache/raw/ecmwf_ifs/20250807T18Z_87451e5a6f0d.json
data/cache/raw/ecmwf_ifs/20250808T00Z_b0893c354944.json
data/cache/raw/ecmwf_ifs/20250808T12Z_446ec2a24279.json
data/cache/raw/ecmwf_ifs/20250808T18Z_2982ab20a5ef.json
data/cache/raw/ecmwf_ifs/20250809T00Z_054626383923.json
data/cache/raw/ecmwf_ifs/20250809T18Z_c4c5874f4332.json
data/cache/raw/ecmwf_ifs/20250810T00Z_109ce1cc6e70.json
data/cache/raw/ecmwf_ifs/20250810T18Z_0eb2cac845cd.json
data/cache/raw/ecmwf_ifs/20250811T00Z_34ffd2bb91ce.json
data/cache/raw/ecmwf_ifs/20250811T18Z_a0a863979094.json
data/cache/raw/ecmwf_ifs/20250812T00Z_fdd8d5ab2d74.json
data/cache/raw/ecmwf_ifs/20250812T18Z_5af1c9ab04ac.json
data/cache/raw/ecmwf_ifs/20250813T00Z_db9a8e4cc53e.json
data/cache/raw/ecmwf_ifs/20250813T18Z_7a63fad30a09.json
data/cache/raw/ecmwf_ifs/20250814T00Z_33f517a5131f.json
data/cache/raw/ecmwf_ifs/20250814T18Z_63ff07b81a45.json
data/cache/raw/ecmwf_ifs/20250815T00Z_4d50ccd1eecb.json
data/cache/raw/ecmwf_ifs/20250815T18Z_5af13a2d0927.json
data/cache/raw/ecmwf_ifs/20250816T00Z_e0d6dfe3fd0d.json
data/cache/raw/ecmwf_ifs/20250816T18Z_e5e22b9f69b5.json
data/cache/raw/ecmwf_ifs/20250817T00Z_f6529e33eb1b.json
data/cache/raw/ecmwf_ifs/20250817T18Z_15312db15014.json
data/cache/raw/ecmwf_ifs/20250818T00Z_e3a12daa2ecf.json
data/cache/raw/ecmwf_ifs/20250818T18Z_0f4e17ca7b96.json
data/cache/raw/ecmwf_ifs/20250819T00Z_235ce488293c.json
data/cache/raw/ecmwf_ifs/20250819T18Z_d87202af621f.json
data/cache/raw/ecmwf_ifs/20250820T00Z_f92b88d846b5.json
data/cache/raw/ecmwf_ifs/20250820T18Z_1115da2f796d.json
data/cache/raw/ecmwf_ifs/20250821T00Z_6efcca7bcdaa.json
data/cache/raw/ecmwf_ifs/20250821T18Z_102d23fd3105.json
data/cache/raw/ecmwf_ifs/20250822T00Z_b260ea7eb18b.json
data/cache/raw/ecmwf_ifs/20250822T18Z_dc5b280880f2.json
data/cache/raw/ecmwf_ifs/20250823T00Z_b14e9350fabb.json
data/cache/raw/ecmwf_ifs/20250823T18Z_dc33b3283125.json
data/cache/raw/ecmwf_ifs/20250824T00Z_88289e8541f0.json
data/cache/raw/ecmwf_ifs/20250824T18Z_208e3842068e.json
data/cache/raw/ecmwf_ifs/20250825T00Z_d9027ebeaa51.json
data/cache/raw/ecmwf_ifs/20250825T18Z_9f8a7bee3278.json
data/cache/raw/ecmwf_ifs/20250826T00Z_9215b06c320e.json
data/cache/raw/ecmwf_ifs/20250826T18Z_a42fe34e04bf.json
data/cache/raw/ecmwf_ifs/20250827T00Z_672b9e914086.json
data/cache/raw/ecmwf_ifs/20250827T18Z_26445d0db2ed.json
data/cache/raw/ecmwf_ifs/20250828T00Z_7d2c82cb5aa3.json
data/cache/raw/ecmwf_ifs/20250828T18Z_4ed45da80053.json
data/cache/raw/ecmwf_ifs/20250829T00Z_584f4a9974cb.json
data/cache/raw/ecmwf_ifs/20250829T18Z_0d6b35b43f86.json
data/cache/raw/ecmwf_ifs/20250830T00Z_b55c3276f007.json
data/cache/raw/ecmwf_ifs/20250830T18Z_a271d9d1c8de.json
data/cache/raw/ecmwf_ifs/20250831T00Z_65e693fa6db6.json
data/cache/raw/ecmwf_ifs/20250831T18Z_6ec91c87976c.json
data/cache/raw/ecmwf_ifs/20250901T00Z_5ab66dc3b5d8.json
data/cache/raw/ecmwf_ifs/20250901T18Z_19c0e8f47db6.json
data/cache/raw/ecmwf_ifs/20250902T00Z_9348e8046052.json
data/cache/raw/ecmwf_ifs/20250902T18Z_0afe803ac996.json
data/cache/raw/ecmwf_ifs/20250903T00Z_9b37d8ff0a90.json
data/cache/raw/ecmwf_ifs/20250903T18Z_5ac40dbe3ee3.json
data/cache/raw/ecmwf_ifs/20250904T00Z_6430fb6a4955.json
data/cache/raw/ecmwf_ifs/20250904T18Z_7f553c291095.json
data/cache/raw/ecmwf_ifs/20250905T00Z_867ab001483c.json
data/cache/raw/ecmwf_ifs/20250905T18Z_cee2c69275d4.json
data/cache/raw/ecmwf_ifs/20250906T00Z_435dcedfd1c1.json
data/cache/raw/ecmwf_ifs/20250906T18Z_a8051092c767.json
data/cache/raw/ecmwf_ifs/20250907T00Z_8fc667aa9c1a.json
data/cache/raw/ecmwf_ifs/20250907T18Z_664b8eb95e02.json
data/cache/raw/ecmwf_ifs/20250908T00Z_9b22c005d157.json
data/cache/raw/ecmwf_ifs/20250908T18Z_330d108216d5.json
data/cache/raw/ecmwf_ifs/20250909T00Z_c72a39699988.json
data/cache/raw/ecmwf_ifs/20250909T18Z_fcc97c7c1222.json
data/cache/raw/ecmwf_ifs/20250910T00Z_0f227e8d6e94.json
data/cache/raw/ecmwf_ifs/20250910T18Z_fadf40c70e82.json
data/cache/raw/ecmwf_ifs/20250911T00Z_bb6e5f0a3e1e.json
data/cache/raw/ecmwf_ifs/20250911T18Z_40929506c32f.json
data/cache/raw/ecmwf_ifs/20250912T00Z_1ef668f12202.json
data/cache/raw/ecmwf_ifs/20250912T18Z_75dfce084b2f.json
data/cache/raw/ecmwf_ifs/20250913T00Z_1c6f12b6d1ff.json
data/cache/raw/ecmwf_ifs/20250913T18Z_8f289e1920e1.json
data/cache/raw/ecmwf_ifs/20250914T00Z_bc89627c8185.json
data/cache/raw/ecmwf_ifs/20250914T18Z_beafaec4da7b.json
data/cache/raw/ecmwf_ifs/20250915T00Z_a8ccca436472.json
data/cache/raw/ecmwf_ifs/20250915T18Z_74354c08f184.json
data/cache/raw/ecmwf_ifs/20250916T00Z_b2691af3a35f.json
data/cache/raw/ecmwf_ifs/20250916T18Z_bf8202f07623.json
data/cache/raw/ecmwf_ifs/20250917T00Z_b27e18cdce6d.json
data/cache/raw/ecmwf_ifs/20250917T18Z_2b32ecd32539.json
data/cache/raw/ecmwf_ifs/20250918T00Z_41b3e945b4b5.json
data/cache/raw/ecmwf_ifs/20250918T18Z_b1f97453b88b.json
data/cache/raw/ecmwf_ifs/20250919T00Z_dd04e8e260ca.json
data/cache/raw/ecmwf_ifs/20250919T18Z_d3adb7989f38.json
data/cache/raw/ecmwf_ifs/20250920T00Z_a5586e1d5522.json
data/cache/raw/ecmwf_ifs/20250920T18Z_2c50285566ac.json
data/cache/raw/ecmwf_ifs/20250921T00Z_c5cf0103c9be.json
data/cache/raw/ecmwf_ifs/20250921T18Z_69c9ac9e8ef5.json
data/cache/raw/ecmwf_ifs/20250922T00Z_e76af90ad44d.json
data/cache/raw/ecmwf_ifs/20250922T18Z_d51f7ff170ce.json
data/cache/raw/ecmwf_ifs/20250923T00Z_649d375ea9ed.json
data/cache/raw/ecmwf_ifs/20250923T18Z_95510b234efb.json
data/cache/raw/ecmwf_ifs/20250924T00Z_6f7981f6d3f0.json
data/cache/raw/ecmwf_ifs/20250924T18Z_be7c9f90d907.json
data/cache/raw/ecmwf_ifs/20250925T00Z_23b3f54dee1b.json
data/cache/raw/ecmwf_ifs/20250925T18Z_9502a5047cda.json
data/cache/raw/ecmwf_ifs/20250926T00Z_e8ac8ba3a20a.json
data/cache/raw/ecmwf_ifs/20250926T18Z_14a73fd27f4d.json
data/cache/raw/ecmwf_ifs/20250927T00Z_26910721189a.json
data/cache/raw/ecmwf_ifs/20250927T18Z_a8fad2395304.json
data/cache/raw/ecmwf_ifs/20250928T00Z_cba011d15ed9.json
data/cache/raw/ecmwf_ifs/20250928T18Z_93db5deec253.json
data/cache/raw/ecmwf_ifs/20250929T00Z_fa587697b6db.json
data/cache/raw/ecmwf_ifs/20250929T18Z_6543108b4792.json
data/cache/raw/ecmwf_ifs/20250930T00Z_6c194545c621.json
data/cache/raw/ecmwf_ifs/20250930T18Z_93ebfacff0f6.json
data/cache/raw/ecmwf_ifs/20251001T00Z_c203ce52e979.json
data/cache/raw/ecmwf_ifs/20251001T18Z_25d8a8bb54a7.json
data/cache/raw/ecmwf_ifs/20251002T00Z_b885dac4ae51.json
data/cache/raw/ecmwf_ifs/20251002T18Z_76e07759d11c.json
data/cache/raw/ecmwf_ifs/20251003T00Z_207edbdffed7.json
data/cache/raw/ecmwf_ifs/20251003T18Z_e2e6dd2bbb04.json
data/cache/raw/ecmwf_ifs/20251004T00Z_d94074b1f621.json
data/cache/raw/ecmwf_ifs/20251004T18Z_e6de62629624.json
data/cache/raw/ecmwf_ifs/20251005T00Z_66cc440c74c0.json
data/cache/raw/ecmwf_ifs/20251005T18Z_76083eda3ae9.json
data/cache/raw/ecmwf_ifs/20251006T00Z_e95f76a9ce50.json
data/cache/raw/ecmwf_ifs/20251006T18Z_c5d06f56252c.json
data/cache/raw/ecmwf_ifs/20251007T00Z_ea6e72c2b242.json
data/cache/raw/ecmwf_ifs/20251007T18Z_ee2d57e4a098.json
data/cache/raw/ecmwf_ifs/20251008T00Z_0c1c6e7db0c2.json
data/cache/raw/ecmwf_ifs/20251008T18Z_767cb97d37f7.json
data/cache/raw/ecmwf_ifs/20251009T00Z_81841febd96c.json
data/cache/raw/ecmwf_ifs/20251009T18Z_db91a39511af.json
data/cache/raw/ecmwf_ifs/20251010T00Z_8f2997bef46a.json
data/cache/raw/ecmwf_ifs/20251010T18Z_3e16ed4fc308.json
data/cache/raw/ecmwf_ifs/20251011T00Z_a77429a7db31.json
data/cache/raw/ecmwf_ifs/20251011T18Z_fbe76ed25cae.json
data/cache/raw/ecmwf_ifs/20251012T00Z_5ccbd5fe7da2.json
data/cache/raw/ecmwf_ifs/20251012T18Z_2cf9086bc1de.json
data/cache/raw/ecmwf_ifs/20251013T00Z_0ce3484f9a0b.json
data/cache/raw/ecmwf_ifs/20251013T18Z_68f95c0da9e0.json
data/cache/raw/ecmwf_ifs/20251014T00Z_d607e4f03db8.json
data/cache/raw/ecmwf_ifs/20251014T18Z_4a2439ca1b84.json
data/cache/raw/ecmwf_ifs/20251015T00Z_309689b9164c.json
data/cache/raw/ecmwf_ifs/20251015T18Z_ed455d90dae0.json
data/cache/raw/ecmwf_ifs/20251016T00Z_08551990988d.json
data/cache/raw/ecmwf_ifs/20251016T18Z_356690c58368.json
data/cache/raw/ecmwf_ifs/20251017T00Z_179346161d1b.json
data/cache/raw/ecmwf_ifs/20251017T18Z_72767347f624.json
data/cache/raw/ecmwf_ifs/20251018T00Z_616acaaac6d9.json
data/cache/raw/ecmwf_ifs/20251018T18Z_da4fb3ab4855.json
data/cache/raw/ecmwf_ifs/20251019T00Z_bc0291a3fe8f.json
data/cache/raw/ecmwf_ifs/20251019T18Z_25de934f0d66.json
data/cache/raw/ecmwf_ifs/20251020T00Z_fbfa0958a3fa.json
data/cache/raw/ecmwf_ifs/20251020T18Z_50d2db6ada06.json
data/cache/raw/ecmwf_ifs/20251021T00Z_e34f70a613c8.json
data/cache/raw/ecmwf_ifs/20251021T18Z_44e3414ac34d.json
data/cache/raw/ecmwf_ifs/20251022T00Z_f2b61099feb9.json
data/cache/raw/ecmwf_ifs/20251022T18Z_e7398e7d5614.json
data/cache/raw/ecmwf_ifs/20251023T00Z_e15ad8622580.json
data/cache/raw/ecmwf_ifs/20251023T18Z_a3845362996f.json
data/cache/raw/ecmwf_ifs/20251024T00Z_d7ab96b7335a.json
data/cache/raw/ecmwf_ifs/20251024T18Z_7ab3f88816c7.json
data/cache/raw/ecmwf_ifs/20251025T00Z_de3583f5856b.json
data/cache/raw/ecmwf_ifs/20251025T18Z_71f8ff7c031e.json
data/cache/raw/ecmwf_ifs/20251026T00Z_df989007445e.json
data/cache/raw/ecmwf_ifs/20251026T18Z_6a9c3fa142fb.json
data/cache/raw/ecmwf_ifs/20251027T00Z_af1b9555cd1d.json
data/cache/raw/ecmwf_ifs/20251027T18Z_063c0dff58a0.json
data/cache/raw/ecmwf_ifs/20251028T00Z_5360aef6a214.json
data/cache/raw/ecmwf_ifs/20251028T18Z_f7a7b9539144.json
data/cache/raw/ecmwf_ifs/20251029T00Z_6766e1c55c51.json
data/cache/raw/ecmwf_ifs/20251029T18Z_8456e0e23a4a.json
data/cache/raw/ecmwf_ifs/20251030T00Z_15a71eb61b89.json
data/cache/raw/ecmwf_ifs/20251030T18Z_f3e02afe6746.json
data/cache/raw/ecmwf_ifs/20251031T00Z_ca53c079dd2c.json
data/cache/raw/ecmwf_ifs/20251031T18Z_14a0f3e13408.json
data/cache/raw/ecmwf_ifs/20251101T00Z_fdb906500a8e.json
data/cache/raw/ecmwf_ifs/20251101T18Z_ade49e5c4520.json
data/cache/raw/ecmwf_ifs/20251102T00Z_c71c6cecc3c1.json
data/cache/raw/ecmwf_ifs/20251102T18Z_dd8da4d69737.json
data/cache/raw/ecmwf_ifs/20251103T00Z_2b158118016c.json
data/cache/raw/ecmwf_ifs/20251103T18Z_d79d24d1d304.json
data/cache/raw/ecmwf_ifs/20251104T00Z_f63269c2296d.json
data/cache/raw/ecmwf_ifs/20251104T18Z_19d2a504519f.json
data/cache/raw/ecmwf_ifs/20251105T00Z_8bdf3c872afc.json
data/cache/raw/ecmwf_ifs/20251105T18Z_d58f04612988.json
data/cache/raw/ecmwf_ifs/20251106T00Z_80896ab53d6b.json
data/cache/raw/ecmwf_ifs/20251106T18Z_e6f781cf592d.json
data/cache/raw/ecmwf_ifs/20251107T00Z_472cc3de7294.json
data/cache/raw/ecmwf_ifs/20251107T18Z_079da341214b.json
data/cache/raw/ecmwf_ifs/20251108T00Z_df25a0f871ce.json
data/cache/raw/ecmwf_ifs/20251108T18Z_9f73ee87a1fb.json
data/cache/raw/ecmwf_ifs/20251109T00Z_db3cbdb35f95.json
data/cache/raw/ecmwf_ifs/20251109T18Z_e33ac3484c0b.json
data/cache/raw/ecmwf_ifs/20251110T00Z_43c4cf32d716.json
data/cache/raw/ecmwf_ifs/20251110T18Z_e188134adffe.json
data/cache/raw/ecmwf_ifs/20251111T00Z_adafaafd6615.json
data/cache/raw/ecmwf_ifs/20251111T18Z_b53bf1e339ad.json
data/cache/raw/ecmwf_ifs/20251112T00Z_76db96977f9b.json
data/cache/raw/ecmwf_ifs/20251112T18Z_899a1784d9a8.json
data/cache/raw/ecmwf_ifs/20251113T00Z_85a03aaf20f0.json
data/cache/raw/ecmwf_ifs/20251113T18Z_ea6004cc661a.json
data/cache/raw/ecmwf_ifs/20251114T00Z_93493134961c.json
data/cache/raw/ecmwf_ifs/20251114T18Z_96d53ede2613.json
data/cache/raw/ecmwf_ifs/20251115T00Z_9e759706718f.json
data/cache/raw/ecmwf_ifs/20251115T18Z_c3c4213b7aa9.json
data/cache/raw/ecmwf_ifs/20251116T00Z_3c602e11abb0.json
data/cache/raw/ecmwf_ifs/20251116T18Z_92c1b4b983b4.json
data/cache/raw/ecmwf_ifs/20251117T00Z_6a39d1d24ffb.json
data/cache/raw/ecmwf_ifs/20251117T18Z_29dbcf7a79e0.json
data/cache/raw/ecmwf_ifs/20251118T00Z_296cf87bbae1.json
data/cache/raw/ecmwf_ifs/20251118T18Z_32384ca10a7a.json
data/cache/raw/ecmwf_ifs/20251119T00Z_3a0a0df55069.json
data/cache/raw/ecmwf_ifs/20251119T18Z_fb10fc3093de.json
data/cache/raw/ecmwf_ifs/20251120T00Z_fdce6c85c105.json
data/cache/raw/ecmwf_ifs/20251120T18Z_21e4133af7ed.json
data/cache/raw/ecmwf_ifs/20251121T00Z_57d41d90479f.json
data/cache/raw/ecmwf_ifs/20251121T18Z_05152eeff99c.json
data/cache/raw/ecmwf_ifs/20251122T00Z_a4e813c8c110.json
data/cache/raw/ecmwf_ifs/20251122T18Z_119f65354c7e.json
data/cache/raw/ecmwf_ifs/20251123T00Z_f63f9a38e194.json
data/cache/raw/ecmwf_ifs/20251123T18Z_0c2dcef5462e.json
data/cache/raw/ecmwf_ifs/20251124T00Z_078fa7962eda.json
data/cache/raw/ecmwf_ifs/20251124T18Z_713345c525d4.json
data/cache/raw/ecmwf_ifs/20251125T00Z_5b76580e3dee.json
data/cache/raw/ecmwf_ifs/20251125T18Z_4f8def35fc2a.json
data/cache/raw/ecmwf_ifs/20251126T00Z_e193173a60b8.json
data/cache/raw/ecmwf_ifs/20251126T18Z_47e0eac1dd17.json
data/cache/raw/ecmwf_ifs/20251127T00Z_c09e4921a11a.json
data/cache/raw/ecmwf_ifs/20251127T18Z_6547cd3e533b.json
data/cache/raw/ecmwf_ifs/20251128T00Z_bd6e097f3e51.json
data/cache/raw/ecmwf_ifs/20251128T18Z_2ea7bd8b91fa.json
data/cache/raw/ecmwf_ifs/20251129T00Z_319d8286306f.json
data/cache/raw/ecmwf_ifs/20251129T18Z_8672016a1a9a.json
data/cache/raw/ecmwf_ifs/20251130T00Z_1e2a66e79e1e.json
data/cache/raw/ecmwf_ifs/20251130T18Z_a211f9c50c23.json
data/cache/raw/ecmwf_ifs/20251201T00Z_5cdfe381d0e2.json
data/cache/raw/ecmwf_ifs/20251201T18Z_0b56ff650e84.json
data/cache/raw/ecmwf_ifs/20251202T00Z_2064e3f923ee.json
data/cache/raw/ecmwf_ifs/20251202T18Z_244d06047baf.json
data/cache/raw/ecmwf_ifs/20251203T00Z_85125049c27a.json
data/cache/raw/ecmwf_ifs/20251203T18Z_0ab1f1c0e715.json
data/cache/raw/ecmwf_ifs/20251204T00Z_a5038e772a3b.json
data/cache/raw/ecmwf_ifs/20251204T18Z_7d207e91ad9d.json
data/cache/raw/ecmwf_ifs/20251205T00Z_f7f0cf3028ea.json
data/cache/raw/ecmwf_ifs/20251205T18Z_55e4e2de228f.json
data/cache/raw/ecmwf_ifs/20251206T00Z_2a8ff24d1e0d.json
data/cache/raw/ecmwf_ifs/20251206T18Z_32fed97a226f.json
data/cache/raw/ecmwf_ifs/20251207T00Z_ac67555d8b53.json
data/cache/raw/ecmwf_ifs/20251207T18Z_4a041ad9d0cb.json
data/cache/raw/ecmwf_ifs/20251208T00Z_e66e8a826e0b.json
data/cache/raw/ecmwf_ifs/20251208T18Z_8341e0e79145.json
data/cache/raw/ecmwf_ifs/20251209T00Z_59cbceb4d0ca.json
data/cache/raw/ecmwf_ifs/20251209T18Z_5a441d17576b.json
data/cache/raw/ecmwf_ifs/20251210T00Z_64893d135676.json
data/cache/raw/ecmwf_ifs/20251210T18Z_f3752a2e2426.json
data/cache/raw/ecmwf_ifs/20251211T00Z_5ca660967fd5.json
data/cache/raw/ecmwf_ifs/20251211T18Z_abbf3d39687f.json
data/cache/raw/ecmwf_ifs/20251212T00Z_ff1c885893af.json
data/cache/raw/ecmwf_ifs/20251212T18Z_0105c6255a4d.json
data/cache/raw/ecmwf_ifs/20251213T00Z_1bcb55fa0712.json
data/cache/raw/ecmwf_ifs/20251213T18Z_fb58040f45a4.json
data/cache/raw/ecmwf_ifs/20251214T00Z_60b579f18951.json
data/cache/raw/ecmwf_ifs/20251214T18Z_96cd783dc227.json
data/cache/raw/ecmwf_ifs/20251215T00Z_7e0c32141ba4.json
data/cache/raw/ecmwf_ifs/20251215T18Z_a88fba38b141.json
data/cache/raw/ecmwf_ifs/20251216T00Z_1d8db9916d7a.json
data/cache/raw/ecmwf_ifs/20251216T18Z_299f5655b018.json
data/cache/raw/ecmwf_ifs/20251217T00Z_35138ae50612.json
data/cache/raw/ecmwf_ifs/20251217T18Z_03cf2293faa5.json
data/cache/raw/ecmwf_ifs/20251218T00Z_4866b17ffdd9.json
data/cache/raw/ecmwf_ifs/20251218T18Z_65c7f8838897.json
data/cache/raw/ecmwf_ifs/20251219T00Z_2d076a810ad2.json
data/cache/raw/ecmwf_ifs/20251219T18Z_afb77ee9d6ff.json
data/cache/raw/ecmwf_ifs/20251220T00Z_69b3a32cc43c.json
data/cache/raw/ecmwf_ifs/20251220T18Z_06561c644b99.json
data/cache/raw/ecmwf_ifs/20251221T00Z_e8453de5e630.json
data/cache/raw/ecmwf_ifs/20251221T18Z_639ddfcd31ed.json
data/cache/raw/ecmwf_ifs/20251222T00Z_98a19a7417b5.json
data/cache/raw/ecmwf_ifs/20251222T18Z_92fbcc205bfd.json
data/cache/raw/ecmwf_ifs/20251223T00Z_f826130f9810.json
data/cache/raw/ecmwf_ifs/20251223T18Z_c5b1c0b39453.json
data/cache/raw/ecmwf_ifs/20251224T00Z_92b0173d2b4a.json
data/cache/raw/ecmwf_ifs/20251224T18Z_dec823a81620.json
data/cache/raw/ecmwf_ifs/20251225T00Z_675e09dbc3b9.json
data/cache/raw/ecmwf_ifs/20251225T18Z_30c406b55869.json
data/cache/raw/ecmwf_ifs/20251226T00Z_e127b13c2eed.json
data/cache/raw/ecmwf_ifs/20251226T18Z_1390dd466456.json
data/cache/raw/ecmwf_ifs/20251227T00Z_2b4fb3c2b36c.json
data/cache/raw/ecmwf_ifs/20251227T18Z_8ae7c0800397.json
data/cache/raw/ecmwf_ifs/20251228T00Z_2e01e83d4512.json
data/cache/raw/ecmwf_ifs/20251228T18Z_319f358aa382.json
data/cache/raw/ecmwf_ifs/20251229T00Z_8387396a9b9e.json
data/cache/raw/ecmwf_ifs/20251229T18Z_ea1303397d0d.json
data/cache/raw/ecmwf_ifs/20251230T00Z_64954f8b97c0.json
data/cache/raw/ecmwf_ifs/20251230T18Z_c29a35c03cea.json
data/cache/raw/ecmwf_ifs/20251231T00Z_13e39c3a9646.json
data/cache/raw/ecmwf_ifs/20251231T18Z_4c0936cbe1b8.json
data/cache/raw/ecmwf_ifs/20260101T00Z_d2df82ef4ac5.json
data/cache/raw/ecmwf_ifs/20260101T18Z_8e918ed5078f.json
data/cache/raw/ecmwf_ifs/20260102T00Z_2fb82b81eee8.json
data/cache/raw/ecmwf_ifs/20260102T18Z_c3c7adf89f0c.json
data/cache/raw/ecmwf_ifs/20260103T00Z_d173298e2c8a.json
data/cache/raw/ecmwf_ifs/20260103T18Z_60f62b20fa92.json
data/cache/raw/ecmwf_ifs/20260104T00Z_971c449a9d33.json
data/cache/raw/ecmwf_ifs/20260104T18Z_e19a1c6dcbaf.json
data/cache/raw/ecmwf_ifs/20260105T00Z_8200d2f4f3dd.json
data/cache/raw/ecmwf_ifs/20260105T18Z_4ec932fc0494.json
data/cache/raw/ecmwf_ifs/20260106T00Z_aa3d79718f4a.json
data/cache/raw/ecmwf_ifs/20260106T18Z_b18075f20fd0.json
data/cache/raw/ecmwf_ifs/20260107T00Z_e42d52a0ade6.json
data/cache/raw/ecmwf_ifs/20260107T18Z_911267bde674.json
data/cache/raw/ecmwf_ifs/20260108T00Z_27c80e611d9b.json
data/cache/raw/ecmwf_ifs/20260108T18Z_d4414cd1bffa.json
data/cache/raw/ecmwf_ifs/20260109T00Z_e70dabacd10d.json
data/cache/raw/ecmwf_ifs/20260109T18Z_84672e5f5730.json
data/cache/raw/ecmwf_ifs/20260110T00Z_dff28688fbda.json
data/cache/raw/ecmwf_ifs/20260110T18Z_0bc062f11df1.json
data/cache/raw/ecmwf_ifs/20260111T00Z_1b9aa4e22a9e.json
data/cache/raw/ecmwf_ifs/20260111T18Z_c5e5f6b14450.json
data/cache/raw/ecmwf_ifs/20260112T00Z_90dd67b6aa14.json
data/cache/raw/ecmwf_ifs/20260112T18Z_9d981f38aefd.json
data/cache/raw/ecmwf_ifs/20260113T00Z_acdd7beef172.json
data/cache/raw/ecmwf_ifs/20260113T18Z_4f55da3a5b95.json
data/cache/raw/ecmwf_ifs/20260114T00Z_aaa61daf2352.json
data/cache/raw/ecmwf_ifs/20260114T18Z_55abe2a16edc.json
data/cache/raw/ecmwf_ifs/20260115T00Z_bb4385e3da6d.json
data/cache/raw/ecmwf_ifs/20260115T18Z_02a4222014c0.json
data/cache/raw/ecmwf_ifs/20260116T00Z_749d4ef0b96a.json
data/cache/raw/ecmwf_ifs/20260116T18Z_d9a7fed1abe2.json
data/cache/raw/ecmwf_ifs/20260117T00Z_f37814dd3882.json
data/cache/raw/ecmwf_ifs/20260117T18Z_bae8f44084d0.json
data/cache/raw/ecmwf_ifs/20260118T00Z_4ea976be706c.json
data/cache/raw/ecmwf_ifs/20260118T18Z_54d59f0951d6.json
data/cache/raw/ecmwf_ifs/20260119T00Z_3f97b1bb7152.json
data/cache/raw/ecmwf_ifs/20260119T18Z_11fa45386e49.json
data/cache/raw/ecmwf_ifs/20260120T00Z_2e1f12c26016.json
data/cache/raw/ecmwf_ifs/20260120T18Z_7076d2bbde57.json
data/cache/raw/ecmwf_ifs/20260121T00Z_39ee5b058ebe.json
data/cache/raw/ecmwf_ifs/20260121T18Z_a3d555b88c0f.json
data/cache/raw/ecmwf_ifs/20260122T00Z_0f5fbd951592.json
data/cache/raw/ecmwf_ifs/20260122T18Z_ac90446d678c.json
data/cache/raw/ecmwf_ifs/20260123T00Z_fb08ac1ab920.json
data/cache/raw/ecmwf_ifs/20260123T18Z_cc70a9fecd2e.json
data/cache/raw/ecmwf_ifs/20260124T00Z_7ff8dd73ddef.json
data/cache/raw/ecmwf_ifs/20260124T18Z_0b2dc4f1720d.json
data/cache/raw/ecmwf_ifs/20260125T00Z_bdb773fc9693.json
data/cache/raw/ecmwf_ifs/20260125T18Z_666a2d2089df.json
data/cache/raw/ecmwf_ifs/20260126T00Z_0c3751d80691.json
data/cache/raw/ecmwf_ifs/20260126T18Z_d7483ac7721e.json
data/cache/raw/ecmwf_ifs/20260127T00Z_38c136d8d61b.json
data/cache/raw/ecmwf_ifs/20260127T18Z_8ba608b19269.json
data/cache/raw/ecmwf_ifs/20260128T00Z_b1e34a5fafb4.json
data/cache/raw/ecmwf_ifs/20260128T18Z_6691a22ed880.json
data/cache/raw/ecmwf_ifs/20260129T00Z_1f4802609f9c.json
data/cache/raw/ecmwf_ifs/20260129T18Z_87e21f2d5e75.json
data/cache/raw/ecmwf_ifs/20260130T00Z_2a77f820ee77.json
data/cache/raw/ecmwf_ifs/20260130T18Z_2e64cfef6573.json
data/cache/raw/ecmwf_ifs/20260131T00Z_28edf4f331f0.json
data/cache/raw/ecmwf_ifs/20260131T18Z_7fef3d7071dd.json
data/cache/raw/ecmwf_ifs/20260201T00Z_f7a183670749.json
data/cache/raw/ecmwf_ifs/20260201T18Z_2cf52053da2d.json
data/cache/raw/ecmwf_ifs/20260202T00Z_a376b2d7063d.json
data/cache/raw/ecmwf_ifs/20260202T18Z_4ce1f996eea3.json
data/cache/raw/ecmwf_ifs/20260203T00Z_3eec9c0d43e8.json
data/cache/raw/ecmwf_ifs/20260203T18Z_f82d948b5c78.json
data/cache/raw/ecmwf_ifs/20260204T00Z_70ae99a61d9c.json
data/cache/raw/ecmwf_ifs/20260204T18Z_2b0bdc646a9a.json
data/cache/raw/ecmwf_ifs/20260205T00Z_ad0bc3301124.json
data/cache/raw/ecmwf_ifs/20260205T18Z_181b676f5401.json
data/cache/raw/ecmwf_ifs/20260206T00Z_f12b4a6dabed.json
data/cache/raw/ecmwf_ifs/20260206T18Z_14c88eff83c3.json
data/cache/raw/ecmwf_ifs/20260207T00Z_c668255b1e18.json
data/cache/raw/ecmwf_ifs/20260207T18Z_d7addb60e46c.json
data/cache/raw/ecmwf_ifs/20260208T00Z_b7ec8edaca37.json
data/cache/raw/ecmwf_ifs/20260208T18Z_3590677374fd.json
data/cache/raw/ecmwf_ifs/20260209T00Z_1b8a166c3011.json
data/cache/raw/ecmwf_ifs/20260209T18Z_a17f99d438c2.json
data/cache/raw/ecmwf_ifs/20260210T00Z_3ce6fa27ee2c.json
data/cache/raw/ecmwf_ifs/20260210T18Z_94e78db8bf1f.json
data/cache/raw/ecmwf_ifs/20260211T00Z_5453ea527140.json
data/cache/raw/ecmwf_ifs/20260211T18Z_ed77e916101c.json
data/cache/raw/ecmwf_ifs/20260212T00Z_4221e8e38dfa.json
data/cache/raw/ecmwf_ifs/20260212T18Z_438b0ed95fc3.json
data/cache/raw/ecmwf_ifs/20260213T00Z_7fde3941f5a4.json
data/cache/raw/ecmwf_ifs/20260213T18Z_f3be0011d5e2.json
data/cache/raw/ecmwf_ifs/20260214T00Z_b28e21c30d59.json
data/cache/raw/ecmwf_ifs/20260214T18Z_9986f05bc716.json
data/cache/raw/ecmwf_ifs/20260215T00Z_bbf07e10f581.json
data/cache/raw/ecmwf_ifs/20260215T18Z_ebd90113503c.json
data/cache/raw/ecmwf_ifs/20260216T00Z_6475a2638fd8.json
data/cache/raw/ecmwf_ifs/20260216T18Z_6b0a7f39b6c6.json
data/cache/raw/ecmwf_ifs/20260217T00Z_356f8d37c3f8.json
data/cache/raw/ecmwf_ifs/20260217T18Z_3e3e3fa21801.json
data/cache/raw/ecmwf_ifs/20260218T00Z_e2a1b935a043.json
data/cache/raw/ecmwf_ifs/20260218T18Z_8630654ce4e5.json
data/cache/raw/ecmwf_ifs/20260219T00Z_dac8ec4e2c67.json
data/cache/raw/ecmwf_ifs/20260219T18Z_731821dbfbc9.json
data/cache/raw/ecmwf_ifs/20260220T00Z_4d8824183267.json
data/cache/raw/ecmwf_ifs/20260220T18Z_905c3f5e5687.json
data/cache/raw/ecmwf_ifs/20260221T00Z_de61749b19ff.json
data/cache/raw/ecmwf_ifs/20260221T18Z_4a7d9a3339bf.json
data/cache/raw/ecmwf_ifs/20260222T00Z_31fe8b288884.json
data/cache/raw/ecmwf_ifs/20260222T18Z_e200ee114fca.json
data/cache/raw/ecmwf_ifs/20260223T00Z_9f56994e9f8b.json
data/cache/raw/ecmwf_ifs/20260223T18Z_24d682bd9565.json
data/cache/raw/ecmwf_ifs/20260224T00Z_de1f91ab4103.json
data/cache/raw/ecmwf_ifs/20260224T18Z_1881b1ac55c8.json
data/cache/raw/ecmwf_ifs/20260225T00Z_6aa2d05d2ece.json
data/cache/raw/ecmwf_ifs/20260225T18Z_68e932a41734.json
data/cache/raw/ecmwf_ifs/20260226T00Z_540831997e92.json
data/cache/raw/ecmwf_ifs/20260226T18Z_345f8413449f.json
data/cache/raw/ecmwf_ifs/20260227T00Z_5d220e6a64c4.json
data/processed/power_curve_eval.json
data/processed/scada_hourly.parquet
data/processed/tz_report.json
data/processed/weather_vintages.parquet
data/processed/weather_vintages_provenance.jsonl
frontend/.env.example
frontend/README.md
frontend/index.html
frontend/package.json
frontend/pnpm-lock.yaml
frontend/src/App.jsx
frontend/src/components/AgentTimeline.jsx
frontend/src/components/ConfidenceBadge.jsx
frontend/src/components/ForecastChart.jsx
frontend/src/components/ForecastReceipt.jsx
frontend/src/components/KnowledgeBoundary.jsx
frontend/src/components/MetricCard.jsx
frontend/src/components/ModelComparison.jsx
frontend/src/components/ProvenancePanel.jsx
frontend/src/components/RevisionTimeline.jsx
frontend/src/components/StatusBadge.jsx
frontend/src/components/WeatherPanel.jsx
frontend/src/components/WindFarmScene.jsx
frontend/src/hooks/useAgentEvents.js
frontend/src/hooks/useForecast.js
frontend/src/i18n/LanguageProvider.jsx
frontend/src/i18n/messages.js
frontend/src/i18n/messages.test.js
frontend/src/main.jsx
frontend/src/pages/Backtest.jsx
frontend/src/pages/Dashboard.jsx
frontend/src/pages/ForecastDetails.jsx
frontend/src/pages/History.jsx
frontend/src/services/api.js
frontend/src/styles.css
frontend/vite.config.js
m1/__init__.py
m1/evaluation.py
m1/features.py
m1/forecasting.py
m1/scada.py
m1/weather.py
models/lightgbm/metadata.json
models/lightgbm/model.joblib
models/lightgbm_weather/metadata.json
models/lightgbm_weather/model.joblib
models/lightgbm_weather_only/metadata.json
models/lightgbm_weather_only/model.joblib
models/power_curve_v1.json
predictions/forecast.csv
pytest.ini
requirements.txt
scripts/evaluate.py
scripts/predict.py
scripts/train.py
scripts/train_weather_only.py
tests/test_m1.py
Ветки (5)

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.