Как управлять почасовыми данными 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 часов следующего дня.

Другие вопросы по тегам