İklim API'si
Seksen yedi yıllık günlük iklim, karada her yerde, tek bir arşivden — 1 Ocak 1940'tan bugüne bir haftadan yakınına kadar, ERA5 ızgarasında 0,25° (yaklaşık 28 km) çözünürlükle. Bu normal mi? sorusunu kanıtıyla birlikte yanıtlar.
Günlük iklim#
climate2 kredi, aralıktaki her tam 365,25 günlük dönem için +1Herhangi bir kara koordinatı için on üç günlük alan; 1940'tan geçen haftaya kadar.
Parametreler
| Parametre | Tip | Varsayılan | Açıklama |
|---|---|---|---|
lat | float | — | Zorunlu. Karadaki herhangi bir koordinat; arşiv küreseldir. |
lon | float | — | Zorunlu. |
start | ISO date | bitiş yılının 1 Ocak'ı | Aralık istek başına sınırlıdır — bkz. Planlar. |
end | ISO date | arşivin son günü | |
fields | csv | sıcaklık ve yağış | Bu koşunun neyi yanıtlayabildiğini /v1/climate/fields'a sorun. |
series | bool | true | Gün gün değerleri dahil et. Yalnızca toplulaştırmaları istediğinizde false yapın. |
format | string | json | json ya da csv. CSV ücretli plan özelliğidir ve aylık satırları döndürür. |
Bu, saatlik geçmişin önüne bir
GROUP BY konmuş hâli değildir. Günlük alanlar bir
kez, veri alımı sırasında, kolaylığa göre değil fiziğe göre seçilmiş bir gün
sınırında türetilir; türetilmiş alanlar — hissedilen sıcaklık, güneşlenme
süresi, ortalama nem — günlük uç değerlerden değil, tam saatlik seriden
hesaplanır.
Günler siyasi saat diliminde değil, güneş gece yarısında
kesilir. Ofset round(longitude / 15)'tir.
Bu bilinçli bir tercihtir ve ölçülebilir: bunun yerine UTC'ye göre toplulaştırmak, Alice Springs'te günlük en düşük değeri 2,1 °C saptırır; çünkü en düşük değer şafaktan hemen önce düşer. Siyasi bir saat dilimi daha da kötüdür — bir sınırın iki yanındaki iki komşu hücrenin günleri farklı anlarda kesilirdi ve günlük en yüksek değerlerin haritası saat dilimlerinin sınırlarını çizerdi.
Değerler noktanın değil, ızgara hücresinindir. Sıcaklığı sizin tam rakımınıza göre ayarlamayız. Bunu yapan sağlayıcılar aynı koordinatta bizden birkaç onda derece ayrışacaktır — kendi ölçümlerimizde 0,4 °C'ye kadar — ve iki rakam da yanlış değildir. Bizimki, yeniden analizin o hücre için söylediğidir; onlarınki ise bu değere bir rakım farkına uygulanmış düşüm oranının eklenmiş hâlidir. Hangisini aldığınızı bilesiniz diye hücreyi yayımlıyoruz: kapsama ve hücreler bölümüne bakın.
Aylık toplulaştırmalar#
climate2 kredi, aralıktaki her tam 365,25 günlük dönem için +1Aynı alanlar, takvim ayına göre toplulaştırılmış.
Birikimli büyüklükler için toplamlar, geri kalanı için ortalamalar ve uç değerler. Aynı sütunu okuduğu için günlük seriyle aynı fiyattır.
Asıl çizdiğiniz şey aylık bir değerse, otuz katı veriyi çekip kendiniz indirgemek yerine bunu isteyin — yavaş olan aktarımdır, aritmetik değil.
Bir yerin iklimi, tek çağrıda#
climate3 kredi, aralıktaki her tam 365,25 günlük dönem için +1Aylık normaller, yıllık seri, rekorlar, eğilimler ve Köppen — aralık sınırı olmadan.
Parametreler
| Parametre | Tip | Varsayılan | Açıklama |
|---|---|---|---|
lat | float | — | Zorunlu. |
lon | float | — | Zorunlu. |
start | ISO date | arşivin ilk günü | Kaydın tamamını istemek, bunun normal kullanım biçimidir. |
end | ISO date | arşivin son günü | |
daily | bool | false | day_normals ekler: pencereniz boyunca yılın her takvim gününün normali ve her birinin arkasındaki gözlem sayısı. |
Bir iklim sayfasının bir konum hakkında söylediği her şey, önceden indirgenmiş hâlde: on iki aylık normal, her tam takvim yılı için bir satır, düştükleri tarihlerle birlikte tüm zamanların rekorları, anlamlılığıyla birlikte en küçük kareler ısınma eğilimi ve Köppen-Geiger kodu. Dünya'daki herhangi bir kara koordinatı için.
Fiyat aralığa göredir ve varsayılan aralık arşivin
tamamıdır. Fiyatlandırma: 3 kredi, aralıktaki her tam 365,25 günlük dönem için +1 — yani
start verilmeyen bir çağrı 1940 yılından bugüne
kadarını kapsar ve bir değil, 89 kredi
tutar. Ücretsiz planda bu, ayda kabaca 110 çağrı demektir.
Yine de bu yanıtı elde etmenin ucuz yolu budur: kendiniz derlemek, aynı aralıkta dokuz sınırlı /v1/climate/daily çağrısı gerektirirdi; bunlar toplamda daha pahalıya gelir ve indirgemeniz gereken otuz bir bin satır döndürür. Ama bu bir sorgulama değildir ve her ziyaretçi için onu çağıran bir sayfa kotayı boşaltır. Önbelleğe alın — bir koordinatın yanıtı günde en çok bir kez değişir.
Kaydın tamamına ihtiyacınız yoksa start geçin: otuz yıl
89 yerine 32 tutar.
Burada aralık sınırı yoktur,
/v1/climate/daily'den farklı olarak. O sınır, gün gün
seriyi çekebilen bir çağıranın arşivi yeniden kurabilmesinden ötürü vardır; bu
uç nokta hiç seri döndürmez. Tam kayıt yaklaşık 62 kB olarak döner —
daily=true ile 100 kB — oysa indirgendiği günlük satır sayısı otuz
bir bindir; yani hiçbir şeyi yeniden kurmaz. Tek istek, aynı yanıtın başka türlü
gerektireceği dokuz sınırlı günlük çağrının yerini alır.
daily=true ile normals?daily=true aynı şey değildir
Ve fark tam da buradadır. Normaller uç noktası otuz yıllık bir WMO penceresi üzerinden ortalama alır; bu ise istediğiniz pencere üzerinden — varsayılan olarak arşivin tamamı üzerinden — ortalama alır.
"30 Temmuz için normalin 9,4 °C üstünde" demenin, iddianın arkasına
otuz değil seksen yedi yıl koyarak söylenebilmesinin tek yolu budur. Her gün
kendi örnek sayısını taşır; dolayısıyla on beş günlük merkezli bir normale
genişletmek Σ(mean·samples) / Σ(samples) ile yazılır — kesin ve
ikinci bir istek olmadan.
Başka bir kaynakla karşılaştırmadan önce bilinmesi gereken iki kural
Bir takvim yılı, ancak arşiv o yılın en az 360 gününü tutuyorsa yıllık seriye ve eğilime girer; dolayısıyla içinde bulunulan yıl dışarıda kalır. Yarım yıl, yağışta bir çöküş olarak okunur ve eğilim doğrusunu peşinden sürükler.
trends, on tam yılın altında null'dur. Bunun
altında bir eğim, iklim sinyali kılığına girmiş hava gürültüsüdür ve kendinden
emin yanlış bir sayı yayımlamaktansa hiçbir şey yayımlamamayı yeğleriz. Aynı
nedenle her eğilim kendi p_value değerini ve
significant bayrağını taşır — eğimi alıntılamadan önce onları
okuyun.
WMO normalleri#
normals3 krediBir WMO referans dönemi üzerinden otuz yıllık ortalama.
Parametreler
| Parametre | Tip | Varsayılan | Açıklama |
|---|---|---|---|
lat | float | — | Zorunlu. |
lon | float | — | Zorunlu. |
period | string | 1991-2020 | 1991-2020 ya da 1961-1990. İkisi de WMO referans dönemidir. |
fields | csv | sıcaklık ve yağış | |
daily | bool | false | 366 günlük normali yayılımlarıyla birlikte ve her takvim gününün en yüksek ile en düşük rekorunu dahil et. |
Normal, rastgele istediğiniz bir dönemin ortalaması değildir. Dünya Meteoroloji Örgütü'nün sabitlediği bir pencere üzerinden alınmış otuz yıllık bir ortalamadır; böylece bir normali alıntılayan iki kişi aynı şeyi alıntılamış olur.
Bu, normals scope'unu gerektirir;
günlük arşiv gerektirmez.
/v1/climate/daily'yi sorunsuz okuyan bir anahtar burada yine de
403 scope_denied alabilir — hangi kademenin bunu içerdiğini
Planlar bölümünde görebilirsiniz.
İstediğiniz şey bir WMO penceresi üzerinden değil de "kaydın tamamı
üzerinden normal" ise bunun yerine
/v1/climate/summary'yi kullanın — yalnızca
climate scope'unu ister ve size otuz yıl yerine seksen yedi yıl
verir.
İki normali karşılaştırmak#
normals6 krediİki WMO dönemi ve aralarındaki değişim, tek çağrıda.
İnsanların çoğu bir normal isterken aslında bu soruyu sorar — "burada normal nedir" değil, "normal ne kadar kaydı".
Buna tek istekte yanıt vermek, iki yarının farklı koşulardan gelmesini olanaksız kılar; bunu iki çağrıyla kendiniz hesaplamanın arıza biçimi de tam budur: arşiv ikisi arasında ilerler ve yayımladığınız fark o zaman bir iklim değişikliğinin yanı sıra bir sürüm değişikliği de içerir.
Kapsama, alanlar ve hücreler#
Sunulan koşu ve kapsadığı tarihler. Anahtar gerekmez.
Bu koşunun neyi yanıtlayabildiği, birimleriyle ve hangi alanların türetildiğiyle. Anahtar gerekmez.
climate1 krediBir nokta için hangi hücre yanıt veriyor ve ne kadar uzakta.
Bu arşivin lisans koşulları. Anahtar gerekmez.
cells/resolve, ızgara tabanlı her ürüne güvenilmeden önce
sorulması gereken soruyu yanıtlar: aslında hangi hücreyi okuyorum ve o
hücre sorduğum noktadan ne kadar uzakta? 28 km'de bu mesafe 20 km olabilir
ve bunu bilmek, bir sayıyı alıntılamakla onu sorumluca alıntılamak arasındaki
farktır.
fields, /v1/historical/variables
ile aynı sözleşmeye sahiptir: ürünün bir gün neyi tutabileceğini değil, koşunun
neyi tuttuğunu listeler; böylece ona göre yazılmış bir istemci, arşiv
büyüdüğünde bozulmaz.
Bir referansın yıllar boyunca karşılaştırılabilir kalması gerekiyorsa koordinatı değil, hücreyi sabitleyin. Koordinat kararlıdır ama onu karşılayan hücre, ızgara değişirse yer değiştirirdi — ve sessizce yer değiştiren bir referans, tam da bu uç noktanın önlemek için var olduğu arıza biçimidir. Derece gün API'sinde aynı örüntü, kendine ait bir yolla vardır: hücre sabitleme bölümüne bakın.