Hava Tahmini Haritası Yapmak:GrADS’a Giriş


GrADS benim haritaları çizmek için kullandığım script dili. Burada temel olarak size anlatmaya çalıştım. Devamı da gelecek. Bildiğim kadarıyla GrADS hakkındaki tek Türkçe kaynak bu olacak. Bu yazı creative commons lisansı altındadır. Kaynak gösterdiğiniz sürece yazıyı paylaşabilirsiniz, kullanabilirsiniz.

Bu yazıda GrADS’a başlangıç yapacağız. Burada öğreneceğimiz bilgiler temel bilgiler. Siz bunların üstüne katarak devam edebilirsiniz. İlerleyen zamanlarda GrADS Script Diline daha geniş bir açıdan bakabiliriz.

GrADS’ın Yüklenmesi

Linux’a Yüklenmesi

Linux
bu adresten dosyamızı indiriyoruz. Sonra terminali açıp tar -xvf grads-2.1.a2.oga.1-bundle-i686-pc-linux-gnu.tar.gz yazıyoruz. Çıkardığımız dosyalardan “Content” yazan dosyayı GrADS’ı nereye yüklemek istiyorsak oraya kopyalıyoruz. Daha sonrasında ise terminali açıp opengrads yazdığımızda GrADS açılacak.

Windows’a Yüklenmesi

Windows
bu adresten dosyamızı indiriyoruz. İndirdiğimiz dosyayı çalıştırdığımızda GrADS yüklenecek. Daha sonra opengrads’a tıklayıp GrADS’ı açabiliriz.

Örnek Verinin İndirilmesi

Buradan indireceğiniz veriyi bu eğitim boyunca kullanacağız. O yüzden indirmeniz önemli. Veriyi indirdikten sonra terminali açıp;
tar xvfz example.tar.gz
diyerek çıkartıyoruz. 3 dosya göreceksiniz. Bunlar:

model.ctl
model.dat
tutorial

Tutorial dosyasında bu yazıda anlatılacak olanlar vardır. Ancak resimsiz örnek verilmemiş halidir. O yüzden fazla önemi bulunmuyor. “model.ctl” dosyasında ise 5 günlük küresel veri bulunmaktadır. Eğitim boyunca bununla çalışacağız.

Başlangıç

GrADS’ı başlatmak için terminali açıp
grads yazıyoruz. Eğer yeni sürüm olan opengrads’ı indirdiyseniz opengrads yazarsanız açılacaktır.

GrADS ilk açıldığında “landscape or portrait” tarzında bir soru soracak. Burayı enter’a tıklayarak geçebilirsiniz. Bunu yaptıktan sonra haritalarımızın gözükeceği bir ekran açılacak. Bu ekran bir kenarda açık dursun kapatmayın. Kodları yazıp denediğimiz sürece değişiklikleri o ekranda görünecek.

Kodları yazdığımız ekranda başında ga-> yazan bir satır göreceksiniz. Kodları yazacağımız satır burası. Bu gözüktüğü sürece kodlarımızı yazabiliriz.

GrADS’da yazacağımız ilk kod

open model.ctl

Yazının başında belirttiğim dosyayı açtık bu kod ile.

query file(q file’da yazabilirsiniz. q yazmanızı tavsiye ederim. Daha pratik oluyor.) yazarak dosyamızda hangi verilerin bulunduğunu görebiliriz. Yağış, rüzgar, sıcaklık basınç vs.

Buradaki verilerden biri “ps” surface pressure yani yer seviyesindeki basınç. Şimdi:

display ps (d ps’de yazabilirsiniz. Daha pratik olur.) yazıyoruz.

Diğer ekranda böyle bir görüntü oluşacak. İlk haritanızı oluşturdunuz. Şunu aklınızdan çıkarmayın;
GrADS’a enlem ve boylam belirtmediğiniz yani belirli bir bölge tanımlamadığınız sürece Dünya’yı çizdirecektir. Unutmayın bu önemli.

Biraz daha ileri gidelim. Haritamızın sınırlarını yani haritada gözükmesini istediğimiz enlem ve boylamları, seviyeyi (500,850,700 hPa gibi) ve tarihi ayarlayalım. display komutu belirlediğimiz sınırlara bağlı olarak çalışır. Sınırladığımız alanı gösterir. Bu sınırları set komutu ile ayarlarız:

clear *haritanın çizildiği ekranı temizler
set lon 28 *28 derece boylamına ayarladık
set lat 41 *41 derece enlemine ayarladık
set lev 500 *haritada gözükmesini istediğimiz seviyeye ayarladık. 500 hPa
set t 1 *1.zaman adımına ayarladık
d hgt *hgt değişkenini çizdirdik. Yani jeopotansiyel yükseklik

Bu kodları yazarsanız harita çizilmediğini göreceksiniz. Harita çizmek yerine kod yazdığınız ekranda “Result value=….” yazdığını göreceksiniz.

Yukarıdaki kodlarda tüm sınırları tek bir değere ayarladık. Aslında bunlar boyut olarak geçiyor. Enlem, boylam, zaman ve seviye her biri boyut. Yani 4 boyutumuz var. Her boyutu tek bir değere ayarlamak demek atmosferde tek bir nokta demek. İlk önce 28 derece boylamında ve 41 derece enleminde bir yer seçiyoruz. Ki bu da İstanbul demek. Sonra set lev 500 diyerek İstanbul’un yaklaşık 5500 metre üstüne çıkıyoruz ve set t 1 diyerek, 28 derece boylamında ve 41 derece enlemindeki yerin 5500 metre üstünde 1.zaman adımındaki hgt değerini çizdiriyoruz. GrADS tek bir noktayı çizdiremeyeceği için o noktada o zamanda ki değeri ekrana yazdırarak çözüm buluyor.

Şimdi şunu yazın:

set lon -180 0 *-180 ve 0 derece boylamları arasındaki alanı belirledik şimdi.
d hgt

Şimdi enlem, zaman ve seviye boyutlarını sabitledik. GrADS’a “-180 ve 0 derece boylamları arasındaki 500 hPa seviyesinin, 1.zaman adımındaki değerlerini çizdir.” dedik. O da bunu yaptı. Y ekseninde yükseklik yani hgt değerleri, x ekseninde ise boylam değerleri gözüküyor. Şunu yazalım:

clear
set lat 0 90
d hgt

Bunu yazdığımız zaman iki tane boyutumuzu belirlemiş oluyoruz. Enlem ve boylam. Bunu çalıştırdığınızda ekranda -180 ve 0 derece boylamları, 0 90 derece enlemleri arasındaki 500 hPa seviyesinin 1.zaman adımındaki değerini çizdirecektir. Karşınıza bir harita çıkacak, yukarıdaki gibi diyagram çıkmayacak. Üç tane boyutu değiştirirsek:

c *clear’ın kısaltması
set t 1 5 * 1 ve 5. zaman adımındaki değerleri animasyon şeklinde gösterecektir.
d hgt

Şunu yazalım:

c
set lon -90
set lat -90 90
set lev 1000 100
set t 1
d tair
d u

Şimdi ise boylamı sabitledik. -90 derece boylamı üzerinde, -90 ve +90 enlemleri arasında kalan alanın 1000 ve 100 hPa seviyelerini gösterecek. Atmosferin dikey kesitini gösterecek yani. Bu alanı daha iyi kavrayabilmeniz için şunu hazırladım:

Kırmızı çizginin üstünden geçtiği siyah çizgi bizim belirlediğimiz alan. Belirli bir boylamı aldık. O da -90 boylamı ama +90 ve -90 enlemleri arasında kalan bölgesi. Umarım daha iyi anlamışsınızdır. Bu kodları çalıştırdığınızda ekranda şu şekilde bir şey çıkacak:

Y ekseninde seviyeler, x ekseninde ise -90 ve +90 enlemleri.
Bunu yazalım:

c
set lon -180 0
set lat 40
set t 1 5
d hgt

Şimdi ise enlemi sabitledik. -180 ve 0 boylamları arasındaki 500 hPa seviyesindeki havanın 1. ve 5.zaman adımları arasındaki yüksekliğini (hgt) değerini gösteriyor. Sınırladığımız alanı daha iyi anlamanız için:

Kodu çalıştırdığımızda ise şu çıktı oluşuyor:

Buna hovmoller çıktısı deniyor. X ekseninde boylamlar, y ekseninde 1 ve 5. zaman adımı arasındaki zamanlar.

Bunları öğrendiğinize göre biraz daha ilerleyebiliriz. Şimdi şunları yazın:

c
set lon -180 0
set lat 0 90
set lev 500
set t 1
d tsfc-273.16 *Sıcaklıklar kelvin cinsinden olduğu için 273.16 çıkararak celsius’a çevirdik.

Oluşan çıktıda yer seviyesi sıcaklığını celsius cinsinden göreceksiniz. Şimdi bunu yazın:

c
d sqrt (u*u+v*v)

Bu kod rüzgarın büyüklüğünü hesaplar. sqrt ise kare kök almak için kullanılır. Burada (u*u+v*v) sonucunun karekökünü alacaktır. Bunu daha kısa yoldan halletmek için:

d mag(u,v) kullanabiliriz. mag(u,v)=sqrt(u*u+v*v) demektir. Ekrana şu çıkacaktır:

Diğer bir fonksiyomuz ise ortalama almaya yarıyor. Bu fonksiyonu iyi öğrenin, anomali hesaplarında işinize yarayacak. Şunu yazın:

c
d ave (hgt,t=1,t=5) *Burada hgt değerinin 1. ve 5.zaman adımları arasındaki ortalamasını hesaplıyoruz. Yani 5 günlük ortalama.

Bunu yazalım:

c
d hgt(t=2)-hgt(t=1)

Bu kod yüksekliğin (hgt) 1 günlük değişimini gösterir. Bunu şöyle de yapabiliriz:

d hgt(t+1)-hgt

Başka bir fonksiyon ile vorticity hesabı yapabiliriz:

c
d hcurl (u,v)

Diğer bir fonksiyon ile de yağışabilir su (PW) hesabı yapabiliriz:

c
d vint(ps,q,275)

Şu ana kadar çizdirdiğimiz haritalarda hep kontur kullandık. Bu konturların aralığını şöyle ayarlayabiliriz:

c
set cint 30
d hgt

Bu kod konturları 30’ar 30’ar çizdirecektir. Ayrıca konturların rengini de ayarlayabiliriz:

c
set ccolor 3
d hgt

Haritaları hep kontur ile çizdirecek halimiz yok. Renklendirebiliriz. Bunu şu kod ile yapıyoruz:

c
set gxout shaded *haritayı renklendiriyor
set csmooth on * renk geçişlerini yumuşatıyor. Keskin hatları ortadan kaldırıyor.
d hcurl (u,v)

Bu kodun çıktısı ise:

Mesela rüzgar vektörlerini göreceğimiz bir harita yapalım:

c
set gxout vector
d u;v;q

Bu kodu çalıştırırsak:

GrADS hakkında temel olarak çoğu şeyi öğrendiniz. Umarım yardımcı olmuştur. Yazının devamı gelecek. Sorularınızı yorum kısmından yada Twitter’dan sorabilirsiniz. İyi okumalar. 🙂

Reklamlar

Bir Cevap Yazın

Please log in using one of these methods to post your comment:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s