Windline
Система почасового прогноза выработки двух ветротурбин на 48 часов на LightGBM с агентом, который проверяет доступность погодных данных, решает о…
О проекте
Команда: 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.mdWindline — 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. Как работает решение
- Пользователь выбирает ML + агент и время выпуска в UTC, кратное целому часу.
- FastAPI передаёт запрос интеграционному сервису; реальный веб-режим использует горизонт 48 часов.
- Агент выбирает доступный погодный запуск из локального кэша. Отсутствующие запуски пропускаются; если подходящего нет, результат отклоняется.
- Адаптер M1 вызывает
scripts/predict.pyс той же схемой, что в handoff Shihab. Выбор артефакта и проверка cutoff относятся к фактически используемой модели. - LightGBM выдаёт 96 точек: 48 часов × 2 турбины. Агент валидирует результат и решает, публиковать его, сохранить без публикации или отклонить.
- Создаются receipt и журнал, затем результат сохраняется в SQLite и отображается в интерфейсе.
- При выключенной/недоступной LLM численный прогноз сохраняется, а объяснение формируется шаблоном.
Повторный запуск с теми же параметрами переиспользует сохранённый результат. Переключение языка и темы не пересчитывает прогноз.
4. Технологии
| Часть | Реализация |
|---|---|
| Frontend | JavaScript, React, Vite, React Router, Recharts, CSS, SVG |
| Backend | Python, 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 |
| LLM | OpenAI 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 для вашей ОС.
Адреса:
- Сайт: http://localhost:5173.
- Swagger: http://127.0.0.1:8000/docs.
- Проверка API: http://127.0.0.1:8000/api/health.
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. Проверка для жюри
Основной сценарий через сайт
- Откройте сайт и выберите язык.
- В режиме ML + агент оставьте
2026-02-10 07:00UTC и 48 часов. - Нажмите Запустить прогноз. Первый расчёт может занять несколько секунд.
- Проверьте T1/T2, 96 точек через API, модель
m1-lgbm-weather-only-v1, погодный запуск и границу обучения. - P10/P90 отсутствуют; это не ошибка. В офлайн-конфигурации отображается шаблонная сводка.
- Откройте историю и сохранённый прогноз; переключите тему и язык.
В отдельном чистом хранилище первый допустимый прогноз публикуется. При наличии предыдущих публикаций возможен 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.
Авторы коммитов
История коммитов
- 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
Обсуждение 0 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.