Gezintiyi Atla

Daymet

Weather Daymet AIforEarth

Kuzey Amerika’da bir kilometrelik kılavuzla günlük hava durumu parametrelerinin tahminleri.

Daymet yüzeye yakın meteorolojik koşulların ölçümlerini sağlar, Daymet’in amacı herhangi bir ölçüm aracının olmadığı durumlarda veri tahminleri sağlamaktır. Bu veri kümesi, Kuzey Amerika için Daymet Sürüm 3 verilerini sağlar; Hawaii ve Porto Riko ada bölgeleri kıtasal anakara kütlesinden ayrı dosyalar olarak mevcuttur. Daymet çıkış değişkenleri içinde minimum sıcaklık, maksimum sıcaklık, yağış, kısa dalga radyasyonu, buhar basıncı, karın su eşdeğeri ve gün uzunluğu bulunur. Veri kümesi 1 Ocak 1980’den günümüze kadar olan aralığı kapsar. Her yıl, takvim yılının sonunda ayrı ayrı işlenir. Daymet değişkenleri, 1 kilometreye 1 kilometrelik uzamsal çözünürlük ve günlük zamansal çözünürlükte, değişkene ve yıla göre ayrı dosyalar olarak sağlanan sürekli yüzeylerdir. Veriler, Kuzey Amerika için Lambert Konformal Konik projeksiyonundadır ve İklim ve Tahmin (CF) meta veri kuralları (sürüm 1.6) ile uyumlu bir netCDF biçiminde dağıtılır.

Depolama kaynakları

Veriler Doğu ABD veri merkezindeki bloblarda, aşağıdaki blob kapsayıcısı içinde depolanır:

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

Bu kapsayıcıda veriler şu şekilde adlandırılır:

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

  • Değişken şunlardan biridir:
    • tmin (en düşük sıcaklık)
    • tmax (en yüksek sıcaklık)
    • prcp (yağış)
    • srad (kısa dalga radyasyon)
    • vp (buhar basıncı)
    • sne (karın su eşdeğeri)
    • dayl (gün uzunluğu)
  • year dört basamaklı yılı gösterir
  • region bölge kodudur, “na” (Kuzey Amerika kıtasal kütlesi), “hawaii” veya “puertorico” değerlerinden birini alır

Örneğin kıtasal anakara kütlesi için 1982 yılına ait en yüksek sıcaklık verileri şurada bulunur:

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

Bir Daymet blobuna erişme ve blobu çizmeye yönelik tam bir Python örneği, not defterindeki “veri erişimi” altında sağlanmıştır.

Ayrıca, örneğin BlobFuse aracılığıyla, Daymet verilerine erişime izin vermek için blob kapsayıcılarını sürücü olarak bağlamanıza olanak tanıyan bir salt okunur SAS (paylaşılan erişim imzası) belirteci de sağlıyoruz:

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 için bağlama yönergeleri burada bulunabilir.

Bu veri kümesini kullanan büyük ölçekli işlemler en iyi şekilde, verilerin saklandığı Doğu ABD Azure veri merkezinde gerçekleştirilir. Çevre bilimleri uygulamaları için Daymet verilerini kullanıyorsanız, işlem gereksinimlerinizi desteklemek üzere bir AI for Earth hibesine başvurmanızı öneririz.

Alıntı

Bu verileri bir yayında kullanırsanız lütfen alıntı yapın:

Thornton, P.E., M.M. Thornton, B.W. Mayer, Y. Wei, R. Devarakonda, R.S. Vose ve R.B. Cook. 2016. Daymet: Kuzey Amerika için 1 km’lik Kılavuzda Günlük Yüzey Hava Durumu Verileri, Sürüm 3. ORNL DAAC, Oak Ridge, Tennessee, ABD.

Daha fazla bilgi için Oak Ridge Ulusal Laboratuvarı Dağıtılmış Etkin Arşiv Merkezi’nin (ORNL DAAC) Veri Kullanımı ve Alıntılar İlkesine bakın.

Kaynaklar

Aşağıdaki kaynaklar ve referanslar Daymet veri kümesiyle çalışırken yararlı olabilir:

Güzel resim


2017’de Hawaii’deki günlük en yüksek sıcaklık ortalaması.

İletişim

Bu veri kümesiyle ilgili sorularınız için aiforearthdatasets@microsoft.com ile iletişime geçin.

Bildirimler

MICROSOFT, AZURE AÇIK VERİ KÜMELERİNİ “OLDUĞU GİBİ” SAĞLAR. MICROSOFT, VERİ KÜMELERİNİ KULLANMANIZLA İLGİLİ AÇIK VEYA ÖRTÜLÜ HİÇBİR GARANTİ VEYA TAAHHÜTTE BULUNMAZ. YEREL KANUNLARINIZIN İZİN VERDİĞİ ÖLÇÜDE, MICROSOFT DOĞRUDAN, BAĞLI, ÖZEL, DOLAYLI, TESADÜFİ VEYA CEZA GEREKTİRENLER DE DAHİL OLMAK ÜZERE HERHANGİ BİR HASAR YA DA KAYIPLA İLGİLİ HİÇBİR SORUMLULUK KABUL ETMEZ.

Bu veri kümesi Microsoft’un kaynak verileri aldığı orijinal hükümler kapsamında sağlanır. Veri kümesi Microsoft’tan alınan verileri içerebilir.

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.