Как управлять почасовыми данными ERA5 с помощью Python?
Недавно я начал использовать почасовые данные ERA5 и код Python.
Я буду использовать данные двух переменных (общее количество осадков и двухметровая температура) за весь год (2017).
Загруженные данные имеют формат GRIB или netCDF.
Я хочу сделать следующее:
1) Преобразование единиц. В случае:
- Общее количество осадков - преобразовать "м" в "мм"
- Температура 2 м - преобразование "Кельвина" в "Цельсия"
2) Преобразуйте почасовые значения в дневные:
Я нашел следующий код с официального сайта ECMWF: https://confluence.ecmwf.int/display/CKB/ERA5%3A+How+to+calculate+daily+total+precipitation К сожалению, этот код предназначен только для компиляции дневные значения за один день (1 января 2017 г.).
Я хочу полностью преобразовать все значения за год. Я знаю это (если я прав):
- общее количество осадков представляет собой накопленные значения. Таким образом, дневное значение - это сумма 24 часов.
- температура представляет собой средние значения. Таким образом, дневное значение - это среднее значение за 24 часа.
3) Выберите конкретную информацию из файлов данных:
Чтобы провести анализ, я хочу сохранить только информацию о:
- ценности
- широта
- долгота
- время
для обеих переменных (общее количество осадков и температура 2 метра)
4) Конвертируйте файлы GRIB или netCDF в формат, который может быть прочитан программным обеспечением Stata.
Я очень признателен за любой жест помощи
2 ответа
Большинство этих задач легко выполнить, если вы используете xarray.
1) Преобразование единиц:
import xarray as xr
ds = xr.open_dataset(path/to/netcdf/file)
# converting total precipitation from m to mm
ds.tp = ds.tp * 1000
# converting t2m from K to C
ds.t2m = ds.t2m - 273.15
2) Почасовые и ежедневные данные:
Здесь вам может помочь метод xarray .resample.
# daily temperature mean from hourly values
ds.t2m.resample(time='1D').mean()
# daily precipitation sum from hourly values
ds.tp.resample(time='1D').sum()
Ваши пункты 3) и 4) следует лучше объяснить, чтобы увеличить ваши шансы на получение надлежащей помощи.
ERA5-Land Почасовые осадки и повторный анализ ERA5 Почасовые осадки различаются. См. Https://confluence.ecmwf.int/pages/viewpage.action?pageId=197702790 и обратитесь к таблице гидрологических параметров. ERA5 Reanalysis Hourly и ERA5-Land Hourly имеют совершенно разные спецификации того, как извлекать дневные итоги.
Для ERA5-Land Hourly значения осадков суммируются с начала каждого дня. ERA5 Reanalysis Часовые осадки - это сумма за час. Это означает, что дневные итоги из ERA5-Land Hourly не являются суммой значений осадков за каждый час, а являются значениями осадков за 00 часов следующего дня.