Пропустить навигацию

Daymet

Weather Daymet AIforEarth

Оценка суточных метеорологических параметров в Северной Америке на основе сетки в один километр.

В рамках проекта Daymet измеряются метеорологические условия в приповерхностном слое. Основная цель проекта — оценка в тех областях, где отсутствуют контрольно-измерительные приборы. Этот набор данных включает данные Daymet версии 3 для Северной Америки. Файлы с данными об островных областях Гавайев и Пуэрто-Рико предоставляются отдельно от файлов с данными о континентальном массиве. В число выходных переменных Daymet входят минимальная и максимальная температуры, количество осадков, уровень коротковолнового излучения, давление пара, водный эквивалент снега и продолжительность дня. Набор данных охватывает период с 1 января 1980 года по сегодняшний день. Данные за каждый год обрабатываются отдельно по завершении календарного года. Переменные Daymet — это непрерывные поверхности, предоставленные в виде отдельных файлов (по переменным и годам) в пространственном разрешении в 1 км и временном разрешении в одни сутки. Данные представлены в равноугольной конической проекции Ламберта для Северной Америки и распространяются в виде файлов формата netCDF, соответствующих соглашениям о представлении метаданных о климате и прогнозах (версия 1.6).

Ресурсы службы хранилища

Данные хранятся в виде больших двоичных объектов в центре обработки данных региона “Восточная часть США”. Адрес хранилища:

https://daymet.blob.core.windows.net/daymetv3-raw

В этому контейнере данные именуются следующим образом:

davymet_v3_[variable]_[year]_[region].nc4

  • Значение переменной будет одним из следующих:
    • tmin (минимальная температура);
    • tmax (максимальная температура);
    • prcp (осадки);
    • srad (коротковолновое излучение);
    • vp (давление паров);
    • sne (водный эквивалент снега);
    • dayl (длительность дня).
  • year — это четырехзначный год.
  • region — это код региона, который имеет одно из следующих значений: na (континентальный массив Северной Америки), а также hawaii или puertorico.

Например, данные максимальной температуры для континентального массива за 1982 год доступны в контейнере:

https://daymet.blob.core.windows.net/daymetv3-raw/daymet_v3_tmax_1982_na.nc4

Полный пример Python доступа к большому двоичному объекту Daymet и построения его графика можно найти в записной книжке в разделе “Доступ к данным”.

Мы также предоставляем доступный только для чтения маркер SAS (подписанный URL-адрес), чтобы разрешить доступ к данным Daymet, например, с помощью средства BlobFuse, позволяющего подключать контейнеры больших двоичных объектов в виде дисков:

st=2020-01-03T00%3A12%3A06Z&se=2031-01-04T00%3A12%3A00Z&sp=rl&sv=2018-03-28&sr=c&sig=ca0OY7h4J6j0JxQiiTcM9PeZ%2FCWmX5wC5sjKUPqq0mk%3D

См. инструкции по подключению в Linux.

Крупномасштабную обработку данных с использованием этого набора лучше всего проводить в центре обработки данных в регионе “Восточная часть США”, где эти данные хранятся. Если вы используете данные Daymet для экологических исследований, мы рекомендуем подать заявку на получение стипендии AI for Earth, чтобы приобрести необходимые вычислительные ресурсы.

Источник

Если вы используете эти данные в публикации, ссылайтесь на следующий источник:

П. Э. Торнтон (P. E. Thornton), М. М. Торнтон (M. M. Thornton), Б. В. Майер (B.W. Mayer), Й. Уэй (Y. Wei), Р. Девараконда (R. Devarakonda), Р. С. Возе (R.S. Vose) и Р. Б. Кук (R.B. Cook). 2016 г. Daymet: Daily Surface Weather Data on a 1-km Grid for North America, Version 3 (Daymet: ежедневная метеорологическая сводка (размерность сетки 1 км) для Северной Америки, версия 3). ORNL DAAC, Ок-Ридж, Теннесси, США.

Дополнительные сведения см. в политике использования данных и ссылок на их источники из распределенного активного архива Ок-Риджской национальной лаборатории (ORNL DAAC).

Ресурсы

При работе с набором данных Daymet могут быть полезны следующие ресурсы и материалы:

Наглядное изображение


Средняя максимальная ежедневная температура на Гавайских островах в 2017 году.

Contact

С вопросами об этом наборе данных обращайтесь по адресу aiforearthdatasets@microsoft.com.

Объявления

КОРПОРАЦИЯ МАЙКРОСОФТ ПРЕДОСТАВЛЯЕТ ОТКРЫТЫЕ НАБОРЫ ДАННЫХ AZURE НА УСЛОВИЯХ “КАК ЕСТЬ”. КОРПОРАЦИЯ МАЙКРОСОФТ НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРАНТИЙ (ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ) И НЕ ОБЕСПЕЧИВАЕТ НИКАКИХ УСЛОВИЙ В ОТНОШЕНИИ ИСПОЛЬЗОВАНИЯ ВАМИ ЭТИХ НАБОРОВ ДАННЫХ. В РАМКАХ, ДОПУСКАЕМЫХ МЕСТНЫМ ЗАКОНОДАТЕЛЬСТВОМ, КОРПОРАЦИЯ МАЙКРОСОФТ ОТКАЗЫВАЕТСЯ ОТ ОТВЕТСТВЕННОСТИ ЗА УЩЕРБ И УБЫТКИ (В ТОМ ЧИСЛЕ ПРЯМЫЕ, КОСВЕННЫЕ, СПЕЦИАЛЬНЫЕ, ОПОСРЕДОВАННЫЕ, СЛУЧАЙНЫЕ И ШТРАФНЫЕ), ПОНЕСЕННЫЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ВАМИ ЭТИХ НАБОРОВ ДАННЫХ.

Этот набор данных предоставляется на тех же условиях, на которых корпорация Майкрософт получила исходные данные. Этот набор может включать данные, полученные от корпорации Майкрософт.

Access

Available inWhen to use
Azure Notebooks

Quickly explore the dataset with Jupyter notebooks hosted on Azure or your local machine.

Select your preferred service:

Azure Notebooks

Azure Notebooks

Package: Language: Python

Accessing zarr-formatted Daymet data on Azure

The Daymet dataset contains daily minimum temperature, maximum temperature, precipitation, shortwave radiation, vapor pressure, snow water equivalent, and day length at 1km resolution for North America. The dataset covers the period from January 1, 1980 to December 31, 2019.

The Daymet dataset is maintained at daac.ornl.gov/cgi-bin/dsviewer.pl?ds_id=1328 and mirrored on Azure Open Datasets at aka.ms/ai4edata-daymet. Azure also provides a cloud-optimized version of the data in Zarr format, which can be read into an xarray Dataset. If you just need a subset of the data, we recommend using xarray and Zarr to avoid downloading the full dataset unnecessarily.

The datasets are available in the daymeteuwest storage account, in the daymet-zarr container. Files are named according to daymet-zarr/{frequency}/{region}.zarr, where frequency is one of {daily, monthly, annual} and region is one of {hi, na, pr} (for Hawaii, CONUS, and Puerto Rico, respectively). For example, daymet-zarr/daily/hi.zarr.

In [1]:
# Standard or standard-ish imports
import warnings
import matplotlib.pyplot as plt

# Less standard, but still pip- or conda-installable
import xarray as xr
import fsspec

# Neither of these are accessed directly, but both need to be installed; they're used
# via fsspec
import adlfs
import zarr

account_name = 'daymeteuwest'
container_name = 'daymet-zarr'

Load data into an xarray Dataset

We can lazily load the data into an xarray.Dataset by creating a zarr store with fsspec and then reading it in with xarray. This only reads the metadata, so it's safe to call on a dataset that's larger than memory.

In [2]:
store = fsspec.get_mapper('az://' + container_name + '/daily/hi.zarr', account_name=account_name)
# consolidated=True speeds of reading the metadata
ds = xr.open_zarr(store, consolidated=True)
ds
Out[2]:

Working with the data

Using xarray, we can quickly select subsets of the data, perform an aggregation, and plot the result. For example, we'll plot the average of the maximum temperature for the year 2009.

In [3]:
warnings.simplefilter("ignore", RuntimeWarning)
fig, ax = plt.subplots(figsize=(12, 12))
ds.sel(time="2009")["tmax"].mean(dim="time").plot.imshow(ax=ax, cmap="inferno");

Or we can visualize the timeseries of the minimum temperature over the past decade.

In [4]:
fig, ax = plt.subplots(figsize=(12, 6))
ds.sel(time=slice("2010", "2019"))['tmin'].mean(dim=["x", "y"]).plot(ax=ax);

Chunking

Each of the datasets is chunked to allow for parallel and out-of-core or distributed processing with Dask. The different frequencies (daily, monthly, annual) are chunked so that each year is in a single chunk. The different regions in the x and y coordinates so that no single chunk is larger than about 250 MB, which is primarily important for the na region.

In [5]:
ds['prcp']
Out[5]:

So our prcp array has a shape (14600, 584, 284) where each chunk is (365, 584, 284). Examining the store for monthly North America, we see the chunk each of a size of (12, 1250, 1250).

In [6]:
na_store = fsspec.get_mapper("az://" + container_name + "/monthly/na.zarr",
                             account_name=account_name)
na = xr.open_zarr(na_store, consolidated=True)
na['prcp']
Out[6]:

See http://xarray.pydata.org/en/stable/dask.html for more on how xarray uses Dask for parallel computing.