Pengolahan Data Curah Hujan Dan Angin
Posted by kadarsah pada September 9, 2008
Data curah hujan tersebut jika berbentuk matrik menjadi:
A=[0 29.2 40.6 11.2 4.8 4.6 5.2 0.2 22.8 19.8 7 0.4 10.8 0 0.6 1.8 32.4 0 2 1.8 28.6 13 0 1.8 8.6 5 0.2 0 0 0 11.2]
Maka jika di plot menjadi
>>plot(a)
>> grid on
>> xlabel(‘Hari’)
>> ylabel(‘Curah Hujan (mm)’)
Hasilnya Gambar (a)
>> bar(a)
>> ylabel(‘Curah Hujan (mm)’)
>> xlabel(‘Hari’)
>> grid on
Hasilnya Gambar (b)
>> plot(a,’*’)
>> axis([0 45 0 45]) %mengatur agar panjang x dari 0-45 sedangkan y juga dari 0-45
Hasilnya Gambar (c)
Untuk membuat plot, matlab menyediakan beberapa pilihan untuk penggambaran, yang dibagi menjadi tiga pilihan(warna,bentuk plot data,bentuk garis yang menghubungkan data).
>> plot(a,’r*:’)
>> xlabel(‘Hari’)
>> ylabel(‘Curah Hujan (mm)’)
Plot diatas memplot data a, menggunakan warna merah(a), data plot berbentuk bintang (*) dan garis yang menghubungkan data (: ) yang berbentuk bintang tadi berbentuk titik-titik.
Hasilnya Gambar (d)
Data volume vektor
Data volume vektor merupakan data yang lebih banyak memiliki informasi dibanding skalar. Setiap koordinat data volume vektor memiliki tiga data yang berkaitan dengan data yang dimaksud. Data tersebut terdiri dari suatu vektor yang menunjukan arah dan besarnya data. Di bidang meteorologi data angin merupakan salah satu data volume vektor. Dengan memetakan angin dalam bidang tiga dimensi (volume) dapat membantu untuk menganalisis perilaku, angin pada tiap saat dan pada tiap tempat. Umumnya angin dipetakan secara dua dimensi (arah dan besarnya kekuatan angin) tetapi hal itu akan sulit untuk mengetahui perilaku,kondisi angin pada saat bersamaan di tempat yang berbeda-beda khususnya dibawah atau di atas lapisan gambar dua dimensi yang kita maksud. Begitu pula jika digambarkan secara melintang,kondisi dan perilaku angin sebelum dan sesudah gambar melintang tidak dapat ditampilkan secara bersamaan. Dalam meteorologi untuk mengatasi kondisi ini bisa digunakan Vis5D yang bisa menggambarkan angin dalam bentuk tiga dimensi disertai parameter meteorologi yang lain misalnya tekanan dan kelembaban serta topografi daerah yang di amati. Sehingga perilaku angin, tekanan, dan parameter meteorology lainnya ketika berada dilaut, daratan, gunung dan lembah dapat diamati dengan baik seperti yang ditunjukan gambar dibawah.
Salah satu software lainnya adalah Matlab yang dapat menggambarkan dan mengolah data angin dengan sangat baik.
Matlab memiliki fitur-fitur sebagai berikut:
· Stream lines : menggambarkan aliran angin dalam bentuk garis secara 2 atau 3 dimensi.
· Stream particles: menggambarkan partikel atau titik yang diamati dalam suatu jejak angin yang berbentuk garis (stream line).
· Stream ribbons : sama dengan stream lines, tetapi aliran angin digambarkan seperti pita dengan lebar pita menunjukan kemampuan angin untuk berputar. Bentuk pita ini sesuai dengan nilai curl dari vektor angin yang diamati.
· Stream tubes : sama dengan stream lines, tetapi aliran angin digambarkan dalam tabung-tabung alir dan dapat digunakan untuk analisis divergensi vektor angin.
· Cone plots:menggambarkan angin seperti kerucut dengan posisi kerucut merupakan arah angin. Besarnya kerucut menunjukan besar-kecilnya kekuatan angin.
Berikut merupakan visualisasi dari metode yang disebutkan diatas ( semua menggunakan program Matlab dengan modifikasi data dan program yang disesuaikan dengan data meteorology di Indonesia).
Data vektor yangdigunakan disini adalah data angin.
Di Matlab 7, ketika dilakukan perintah load wind akan memunculkan variable : x,y,z,u,v dan w.
Data angin ini berukuran 35 x 41x 15 (jadi banyaknya 35 baris, 41 kolom, tinggi 15. sehingga secara sederhana dapat digambarkan bahwa data angin ini seperti sebuah kotak yang terdiri dari 35 baris bata, 41 kolom bata dengan tinggi 15 bata. Jadi jumlah bata yang membentuk kotak tersebut sebanyak: 21525 buah.
Bata-bata itulah yang merupakan data angin yang memiliki variabel : x,y,z,u,v dan w.
X menunjukan posisi data kecepatan angin u ( arah utara-selatan).
Y menunjukan posisi data kecepatan angin v ( arah barat-timur)
Z . menunjukan posisi data kecepatan angin w ( arah atas-bawah).
Untuk mengetahui kecepatan angin pada suatu titik maka dihitung dengan melibatkan kecepatan angin u, kecepatan angin v, dan kecepatan angin w.
Kecepatan angin =
Data vektor ini dapat dianalisisi dengan beberapa cara diantara:
· Stream line: digunakan untuk merunut kecepatan angin
· Penampang melintang untuk mengetahui data angin secara melintang
· Kontour pada penampang melintang untuk meningkatkan pemahaman data angin
Plot Stream Line untuk Data vektor
Contoh:
>> load wind
>> [sx,sy] = meshgrid(80,20:5:60)
sx =
80
80
80
80
80
80
80
80
80
sy =
20
25
30
35
40
45
50
55
60
>> streamline(stream2(x(:,:,15),y(:,:,15),u(:,:,15),v(:,:,15),sx,sy)) hasilnya gambar a
>> load wind
>> zmax = max(z(:))
zmax =
16
>> zmin = min(z(:))
zmin =
-0.0020
>> streamslice(x,y,z,u,v,w,[ ],[ ],(zmax-zmin)/2)
hasilnya gambar b
>> streamslice(x,y,z,u,v,w,[ ],[ ],10)
hasilnya gambar c
>> streamslice(x,y,z,u,v,w,[ ],[ ],5)
hasilnya gambar d
>> streamslice(x,y,z,u,v,w,[ ],[ ],2)
hasilnya gambar e
>> streamslice(x,y,z,u,v,w,[ ],[ ],1)
hasilnya gambar f
Kalau kita gambarkan angin tadi dalam tiga dimensi dan dengan menampilkan lapisan tertentu saja hasilnya seperti dibawah ini ( dengan mengikuti script berikut ini):
load wind
[sx,sy,sz] = meshgrid(77,20:5:60,0:3:20);
h = streamline(x,y,z,u,v,w,sx,sy,sz);
set(h,’Color’,’green’)
view(3)
box
Berikut merupakan tahapan dalam menentukan titik awal data angin ditampilkan
load wind
>> [sx,sy,sz] = meshgrid(75,25:5:60,0:3:15)
plot3(sx(:),sy(:),sz(:),’*blue’)
axis(volumebounds(x,y,z,u,v,w))
grid; box; daspect([2 2 1])
sx(:,:,1) =
75
75
75
75
75
75
75
75
sx(:,:,2) =
75
75
75
75
75
75
75
75
sx(:,:,3) =
75
75
75
75
75
75
75
75
sx(:,:,4) =
75
75
75
75
75
75
75
75
sx(:,:,5) =
75
75
75
75
75
75
75
75
sx(:,:,6) =
75
75
75
75
75
75
75
75
sy(:,:,1) =
25
30
35
40
45
50
55
60
sy(:,:,2) =
25
30
35
40
45
50
55
60
sy(:,:,3) =
25
30
35
40
45
50
55
60
sy(:,:,4) =
25
30
35
40
45
50
55
60
sy(:,:,5) =
25
30
35
40
45
50
55
60
sy(:,:,6) =
25
30
35
40
45
50
55
60
sz(:,:,1) =
0
0
0
0
0
0
0
0
sz(:,:,2) =
3
3
3
3
3
3
3
3
sz(:,:,3) =
6
6
6
6
6
6
6
6
sz(:,:,4) =
9
9
9
9
9
9
9
9
sz(:,:,5) =
12
12
12
12
12
12
12
12
sz(:,:,6) =
15
15
15
15
15
15
15
15
hasilnya seperti gambar di bawah
>> streamline(x,y,z,u,v,w,sx(:),sy(:),sz(:))
akan muncul gambar
load wind
xmin = min(x(:));
xmax = max(x(:));
ymax = max(y(:));
zmin = min(z(:));
wind_speed = sqrt(u.^2 + v.^2 + w.^2)
hsurfaces = slice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin)
set(hsurfaces,’FaceColor’,’interp’,’EdgeColor’,’c’)
>>[sx,sy,sz] = meshgrid(75,25:10:60,0:3:15);
hlines = streamline(x,y,z,u,v,w,sx,sy,sz);
set(hlines,’LineWidth’,2,’Color’,’r’)
load wind
xmin = min(x(:));
xmax = max(x(:));
ymax = max(y(:));
zmin = min(z(:));
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hsurfaces = slice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hsurfaces,’FaceColor’,’interp’,’EdgeColor’,’none’)
hcont = …
contourslice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hcont,’EdgeColor’,[.7,.7,.7],’LineWidth’,.5)
[sx,sy,sz] = meshgrid(75,25:10:60,0:3:15);
hlines = streamline(x,y,z,u,v,w,sx,sy,sz);
set(hlines,’LineWidth’,2,’Color’,’r’)
view(3)
daspect([2,2,1])
axis tight
box
load wind
xmin = min(x(:));
xmax = max(x(:));
ymax = max(y(:));
zmin = min(z(:));
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hsurfaces = slice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hsurfaces,’FaceColor’,’interp’,’EdgeColor’,’none’)
[sx,sy,sz] = meshgrid(75,25:10:60,0:3:15);
hlines = streamline(x,y,z,u,v,w,sx,sy,sz);
set(hlines,’LineWidth’,2,’Color’,’r’)
view(3)
daspect([2,2,1])
axis tight
box
load wind
xmin = min(x(:));
xmax = max(x(:));
ymin = min(y(:));
ymax = max(y(:));
zmin = min(z(:));
daspect([2,2,1])
xrange = linspace(xmin,xmax,8);
yrange = linspace(ymin,ymax,8);
zrange = 3:4:15;
[cx cy cz] = meshgrid(xrange,yrange,zrange);
hcones = coneplot(x,y,z,u,v,w,cx,cy,cz,5);
set(hcones,’FaceColor’,’red’,’EdgeColor’,’none’)
load wind
xmin = min(x(:));
xmax = max(x(:));
ymin = min(y(:));
ymax = max(y(:));
zmin = min(z(:));
daspect([2,2,1])
xrange = linspace(xmin,xmax,8);
yrange = linspace(ymin,ymax,8);
zrange = 3:4:15;
[cx cy cz] = meshgrid(xrange,yrange,zrange);
hcones = coneplot(x,y,z,u,v,w,cx,cy,cz,5);
set(hcones,’FaceColor’,’red’,’EdgeColor’,’none’)
[cx cy cz] = meshgrid(xrange,yrange,zrange);
hcones = coneplot(x,y,z,u,v,w,cx,cy,cz,5);
set(hcones,’FaceColor’,’red’,’EdgeColor’,’none’)
hold on
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hsurfaces = slice(x,y,z,wind_speed,[xmin,xmax],ymax,zmin);
set(hsurfaces,’FaceColor’,’interp’,’EdgeColor’,’none’)
hold off
axis tight; view(30,40); axis off
camproj perspective; camzoom(1.5)
camlight right; lighting phong
set(hsurfaces,’AmbientStrength’,.6)
set(hcones,’DiffuseStrength’,.8)
load wind
xmin = min(x(:));
xmax = max(x(:));
ymin = min(y(:));
alt = 7.356; % z-value for slice and streamtube plane
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hslice = slice(x,y,z,wind_speed,xmax,ymin,alt);
set(hslice,’FaceColor’,’interp’,’EdgeColor’,’none’)
colormap hsv(16)
color_lim = caxis;
cont_intervals = linspace(color_lim(1),color_lim(2),17);
hcont = contourslice(x,y,z,wind_speed,xmax,ymin,…
alt,cont_intervals,’linear’);
set(hcont,’EdgeColor’,[.4 .4 .4],’LineWidth’,1)
[sx,sy,sz] = meshgrid(xmin,20:3:50,alt);
daspect([1,1,1]) % set DAR before calling streamtube
htubes = streamtube(x,y,z,u,v,w,sx,sy,sz,[1.25 30]);
set(htubes,’EdgeColor’,’none’,’FaceColor’,’r’,…
‘AmbientStrength’,.5)
view(-100,30)
axis(volumebounds(x,y,z,wind_speed))
set(gca,’Projection’,’perspective’)
camlight left
load wind
xmin = min(x(:));
xmax = max(x(:));
ymin = min(y(:));
alt = 7.356; % z-value for slice and streamtube plane
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
colormap hsv(16)
color_lim = caxis;
cont_intervals = linspace(color_lim(1),color_lim(2),17);
[sx,sy,sz] = meshgrid(xmin,20:3:50,alt);
daspect([1,1,1]) % set DAR before calling streamtube
htubes = streamtube(x,y,z,u,v,w,sx,sy,sz,[1.25 30]);
set(htubes,’EdgeColor’,’none’,’FaceColor’,’blue’,…
‘AmbientStrength’,.5)
view(-100,30)
axis(volumebounds(x,y,z,wind_speed))
set(gca,’Projection’,’perspective’)
camlight left
box on
load wind
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hiso = patch(isosurface(x,y,z,wind_speed,40));
isonormals(x,y,z,wind_speed,hiso)
set(hiso,’FaceColor’,’red’,’EdgeColor’,’none’)
hcap = patch(isocaps(x,y,z,wind_speed,40),…
‘FaceColor’,’interp’,…
‘EdgeColor’,’none’)
load wind
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hiso = patch(isosurface(x,y,z,wind_speed,40));
isonormals(x,y,z,wind_speed,hiso)
set(hiso,’FaceColor’,’red’,’EdgeColor’,’none’)
hcap = patch(isocaps(x,y,z,wind_speed,40),…
‘FaceColor’,’interp’,…
‘EdgeColor’,’none’)
daspect([1,1,1])
[f verts] = reducepatch(isosurface(x,y,z,wind_speed,30),0.07)
h1 = coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),3)
set(h1,’FaceColor’,’blue’,’EdgeColor’,’none’)
xrange = linspace(min(x(:)),max(x(:)),10)
yrange = linspace(min(y(:)),max(y(:)),10)
zrange = 3:4:15
[cx,cy,cz] = meshgrid(xrange,yrange,zrange)
h2 = coneplot(x,y,z,u,v,w,cx,cy,cz,2)
set(h2,’FaceColor’,’green’,’EdgeColor’,’none’
axis tight
box on
camproj perspective
camzoom(1.25)
view(65,45)
camlight(-45,45)
set(gcf,’Renderer’,’zbuffer’)
lighting phong
set(hcap,’AmbientStrength’,.6)
load wind
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hiso = patch(isosurface(x,y,z,wind_speed,40));
isonormals(x,y,z,wind_speed,hiso)
set(hiso,’FaceColor’,’red’,’EdgeColor’,’none’)
hcap = patch(isocaps(x,y,z,wind_speed,40),…
‘FaceColor’,’interp’,…
‘EdgeColor’,’none’)
daspect([1,1,1])
[f verts] = reducepatch(isosurface(x,y,z,wind_speed,30),0.07)
h1 = coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),3)
set(h1,’FaceColor’,’blue’,’EdgeColor’,’none’)
xrange = linspace(min(x(:)),max(x(:)),10)
yrange = linspace(min(y(:)),max(y(:)),10)
zrange = 3:4:15
[cx,cy,cz] = meshgrid(xrange,yrange,zrange)
h2 = coneplot(x,y,z,u,v,w,cx,cy,cz,2)
set(h2,’FaceColor’,’green’,’EdgeColor’,’none’)
set(hcap,’AmbientStrength’,.6)
axis tight
box on
camproj perspective
camzoom(1.25)
view(65,45)
camlight(-45,45)
set(gcf,’Renderer’,’zbuffer’);
lighting phong
set(hcap,’AmbientStrength’,.6)
spd = sqrt(u.*u + v.*v + w.*w);
p = patch(isosurface(x,y,z,spd, 40));
isonormals(x,y,z,spd, p)
set(p, ‘FaceColor’, ‘red’, ‘EdgeColor’, ‘none’);
p2 = patch(isocaps(x,y,z,spd, 40));
set(p2, ‘FaceColor’, ‘interp’, ‘EdgeColor’, ‘none’)
daspect([1 1 1]);
[f verts] = reducepatch(isosurface(x,y,z,spd, 30), .2);
h=coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),2);
set(h, ‘FaceColor’, ‘cyan’, ‘EdgeColor’, ‘none’);
[sx sy sz] = meshgrid(75, 30:5:60, 0:5:35);
h2=streamline(x,y,z,u,v,w,sx,sy,sz);
set(h2, ‘Color’, [.4 1 .4]);
colormap(jet)
box on
axis tight
camproj perspective;
camva(34);
campos([165 -20 65]);
camtarget([100 40 -5])
camlight left;
lighting gouraud
Ketika kita menggunakan teknik lain dalam menganalisa angin adalah dengan stream ribbon.
load wind
[sx sy sz] = meshgrid(75, [25 30 35 40 45 50 55], [3 6 9 12 15 18 21]);
daspect([1,1,1]);
h=streamribbon(x,y,z,u,v,w,sx,sy,sz);
set(h,’facecolor’,’red’,’edgecolor’,’none’)
box on;
camproj perspective;
axis([70 138 17 60 2.5 16]);
axis tight
camva(28);
campos([175 10 85]);
camtarget([105 40 0])
camlight left;
lighting gouraud
load wind
[sx sy sz] = meshgrid(80,20:5:50,0:3:15);
daspect([2 2 2])
streamribbon(x,y,z,u,v,w,sx,sy,sz);
%—–Define viewing and lighting
axis tight
shading interp;
view(3);
camlight; lighting gourau
hasilnya gambar a
load wind
[sx sy sz] = meshgrid(80,20:15:50,0:5:20);
daspect([2 2 2])
streamribbon(x,y,z,u,v,w,sx,sy,sz);
%—–Define viewing and lighting
axis tight
shading interp;
view(3);
camlight; lighting gouraud
hasilnya gambar b
load wind
[sx sy sz] = meshgrid(80,20:15:50,0:2:15);
daspect([2 2 2])
streamribbon(x,y,z,u,v,w,sx,sy,sz);
%—–Define viewing and lighting
axis tight
shading interp;
view(3);
camlight; lighting gouraud
box on
hasilnya gambar c
load wind
[sx sy sz] = meshgrid(80,20:10:50,0:5:15);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
cav = curl(x,y,z,u,v,w);
spd = sqrt(u.^2 + v.^2 + w.^2).*.1;
streamribbon(verts,x,y,z,cav,spd);
%—–Define viewing and lighting
axis tight
shading interp
view(3)
camlight; lighting gouraud
box on
hasilnya gambar d
load wind
[sx sy sz] = meshgrid(80,20:5:50,0:3:15);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
cav = curl(x,y,z,u,v,w);
spd = sqrt(u.^2 + v.^2 + w.^2).*.1;
streamribbon(verts,x,y,z,cav,spd);
%—–Define viewing and lighting
axis tight
shading interp
view(3)
camlight; lighting gouraud
hasilnya gambar e
load wind
[sx sy sz] = meshgrid(80,20:15:50,0:5:15);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
cav = curl(x,y,z,u,v,w);
spd = sqrt(u.^2 + v.^2 + w.^2).*.1;
streamribbon(verts,x,y,z,cav,spd);
%—–Define viewing and lighting
axis tight
shading interp
view(3)
camlight; lighting gouraud
hasilnya gambar e
Gambar dibawah merupakan tampilan yang sama dari script berikut ini:
load wind
[sx sy sz] = meshgrid(80,20:15:50,0:3:21);
daspect([2 2 2])
streamribbon(x,y,z,u,v,w,sx,sy,sz);
%—–Define viewing and lighting
axis tight
shading interp;
view(3);
camlight; lighting gouraud
box on
load wind
[sx sy sz] = meshgrid(75, [30 35 45 50 55 60 65], [5 10 15 20 25 30 35]);
daspect([1,1,1]);
h=streamtube(x,y,z,u,v,w,sx,sy,sz);
set(h,’facecolor’,’red’,’edgecolor’,’none’);
box on;
camproj perspective;
axis([70 138 17 60 2.5 16]);
axis tight
camva(28);
campos([175 10 95]);
camtarget([105 40 0])
camlight left;
lighting gouraud
load wind
[sx sy sz] = meshgrid(80,20:10:50,0:5:15);
daspect([1 1 1])
streamtube(x,y,z,u,v,w,sx,sy,sz);
%—–Define viewing and lighting
view(3)
axis tight
shading interp;
camlight; lighting gouraud
hasilnya gambar a
load wind
[sx sy sz] = meshgrid(80,20:10:50,0:3:15);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
div = divergence(x,y,z,u,v,w);
streamtube(verts,x,y,z,-div);
%—–Define viewing and lighting
view(3)
axis tight
shading interp
camlight; lighting gouraud
box on
hasilnya gambar b
load wind
[sx sy sz] = meshgrid(80,20:10:50,0:5:15);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
div = divergence(x,y,z,u,v,w);
streamtube(verts,x,y,z,-div);
%—–Define viewing and lighting
view(3)
axis tight
shading interp
camlight; lighting gouraud
hasilnya gambar c
load wind
[sx sy sz] = meshgrid(80,20:10:40,0:5:10);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
div = divergence(x,y,z,u,v,w);
streamtube(verts,x,y,z,-div);
%—–Define viewing and lighting
view(3)
axis tight
shading interp
camlight; lighting gouraud
hasilnya gambar d
load wind
[sx sy sz] = meshgrid(80,20:5:60,0:3:15);
daspect([1 1 1])
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
div = divergence(x,y,z,u,v,w);
streamtube(verts,x,y,z,-div);
%—–Define viewing and lighting
view(3)
axis tight
shading interp
camlight; lighting gouraud
box on
load wind
lims = [90.64 126.67 27.25 38.75 -0.05 7.86];
[x,y,z,u,v,w] = subvolume(x,y,z,u,v,w,lims);
cav = curl(x,y,z,u,v,w);
wind_speed = sqrt(u.^2 + v.^2 + w.^2);
[sx sy sz] = meshgrid(100,20:5:30,1:5);
verts = stream3(x,y,z,u,v,w,sx,sy,sz,.5);
h = streamribbon(verts,x,y,z,cav,wind_speed,2);
set(h,’FaceColor’,’blue’,…
‘EdgeColor’,[.7 .7 .7],…
‘AmbientStrength’,.6)
axis(volumebounds(x,y,z,wind_speed))
grid on
shading interp
view(3)
camlight right;
set(gcf,’Renderer’,’zbuffer’); lighting phong
box on
[sx sy sz] = meshgrid(80,20:1:55,5);
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);
iverts = interpstreamspeed(x,y,z,u,v,w,verts,.025);
axis tight; view(30,30); daspect([1 1 .125])
camproj perspective; camva(8)
set(gca,’DrawMode’,’fast’)
box on
streamparticles(iverts,35,’animate’,10,’ParticleAlignment’,’on’)
load wind
[sx sy sz] = meshgrid(80,23:2:50,5:5:15);
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);
iverts = interpstreamspeed(x,y,z,u,v,w,verts,.025);
axis tight; view(30,30); daspect([1 1 .125])
camproj perspective; camva(8)
set(gca,’DrawMode’,’fast’)
box on
streamparticles(iverts,35,’animate’,10,’ParticleAlignment’,’on’)
load wind
[sx sy sz] = meshgrid(80,23:2:50,5:5:10);
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);
iverts = interpstreamspeed(x,y,z,u,v,w,verts,.025);
axis tight; view(30,30); daspect([1 1 .125])
camproj perspective; camva(8)
set(gca,’DrawMode’,’fast’)
box on
streamparticles(iverts,35,’animate’,10,’ParticleAlignment’,’on’)
[sx sy sz] = meshgrid(100,20:2:56,5);
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);
iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.05);
axis tight; view(30,30);
daspect([1.5 1.5 0.100])
camproj perspective; camva(8)
set(gca,’DrawMode’,’fast’)
box on
streamparticles(iverts,35,’animate’,10,’ParticleAlignment’,’on’)
shading interp
load wind
[sx sy sz] = meshgrid(100,18:2:56,5);
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);
iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.05);
axis tight; view(30,30);
daspect([1.5 1.5 0.100])
camproj perspective; camva(8)
set(gca,’DrawMode’,’fast’)
box on
streamparticles(iverts,35,’animate’,10,’ParticleAlignment’,’on’)
shading interp
Anto J.Wijaya said
Pak, saya mau tanya dan mohon dijelaskan apa maksud gambar 2/3 gambar terakhir?
Terimakasih
Anto
kadarsah said
Gambar 1 dari bawah menunjukkan visualisasi aliran angin pada level 5 yang bergerak kekanan dan sebagian yang berada di titik awal mengalami pembelokan dan membuat pusaran.
Gambar 2 dari bawah menunjukkan hal yang sama tetapi dengan visualisasi aliran angin yang lebih renggang agar mudah mendeteksi arah angin serta perilakunya.
Gambar 3 dari bawah menunjukkan hal yang sama tetapi juga menunjukkan aliran angin pada level 10 sehingga kita bisa mengetahu bahwa aliran angin pada tiap lapisan berbeda kecepatan, arah dan perilakunya.
khairullah said
Assalamu ‘alaikum Wr. Wb.
Saya merasa berterima kasih merasa terbantu dengan penjelasan-penjelasan bapak tentang analisis data meteorologi/klimatologi, terutama tentang penggunaan aplikasi Mathlab. Saya berusaha untuk mempelajari banyak masalah tersebut karena disiplin ilmu saya berbeda yaitu dari Agronomi. Saya lebih tahu banyak tentang bagaimana keadaan di lapangan khususnya pertanian daripada aplikasi komputer. Saya menguasai statistik tapi dengan perhitungan manual. Yang mau saya tanyakan: 1) Aplikasi Mathlab dapat digunakan untuk tujuan dan data apa saja, di mana dapat saya temukan tutorialnya? 2)Apakah program aplikatif yang dapat saya gunakan untuk penggunaan neraca air kahan suatu daerah? 3) Di antara pengolahan data yakni model pengolahan prakiraan musim mana yang lebih akurat? Apakah ARIMA, Wavelet atau ANFIS? Terima kasih
kadarsah said
Walaikumsalam Wr.Wb
Terimakasih atas komentar dan pertanyaannya.
1.Aplikasi Matlab bisa gunakan di berbagai bidang ( meteorologi,geofisika, teknik mesin, osenografi,matematika, fisika, penerbangan, ekonomi dlln).
Tutorialnya bisa di temukan di Matlab help atau Demos dan selanjutnya bisa dikembangkan sendiri.
2.Program aplikatif untuk menghitung neraca air suatu daerah (?) , kalau saya dulu menggunakan metode F.J Mock dan di Matlab tidak secara khusus menghitung hal tersebut tetapi kita yang harus membuatnya.
3.Untuk penggunaan ARIMA,Wavelet atau ANFIS masing-masing memiliki kelebihan dan kekurangan.
Terlebih jika metode tersebut digunakan untuk perkiraan musim/presiksi curah hujan di Indonesia ( yang memiliki karakteristik yang berbeda dan komplek)akan memiliki efek yang berbeda-beda. Bisa jadi daerah A sangat bagus jika menggunakan ARIMA tetapi jelek jika menggunakan Wavelet dan ANFIS, sedangkan daerah B sangat bagus menggunakan ANFIS.
Di Matlab ( khususnya versi 7.01) juga ada fitur-fitur ANFIS, WAVELET dan ARIMA yang bisa digunakan dan kembangkan sendiri.
Contohnya : https://kadarsah.wordpress.com/2008/04/28/analisis-wavelet-matlab-pada-bidang-meteorologi/
Terimakasih
Kadarsah
Nugroho said
mo tanya lagi ya…
bagaimana cara insert map (peta) sesuai dengan longitute dan latitute-nya (misalnya saja peta Indonesia) ke dlm matlab, sehingga disamping kontur pada lintang dan bujur tertentu juga ada informasi lain berupa berupa map wilayah yang direpresentasikan oleh konturnya tersebut. thx
kadarsah said
Di Matlab ada fasilitas untuk itu , silakan di cari. Saya sudah lupa.
andy said
pa mau bertanya, bila menggunakan matlab bisa membuat simulasi radar udara ?
mohon bantuannya
terimakasih
kadarsah said
Bisa tinggal diperdalam saja kemampuan matlabnya.
bmkgkotabaru said
Terima kasih atas berbagai informasinya yang sangat bermanfaat pak.
Mohon izin bertanya pak. Ada beberapa pertanyaan yang agak menyimpang dari materi di atas, maaf.
1. masalah metode cressman.
a. dari materi kuliah yang pernah saya dapatkan, untuk menghitung nilai dari suatu titik di lokasi yang dicari dengan menggunakan metode cressmann, ada yang menggunakan data background (data hasil prakiraan) dan ada yang tidak. dari keduanya jika dihitung maka berapapun nilai data background hasilnya akan tetap sama dengan perhitungan yang tidak menggunakan data background.
berikut rumus yang saya dapatkan waktu kuliah.
Xa = Xb + (E (Wi*(X0-Xb))/(E Wi))
Xa = nilai titik yang dicari
Xb = data background
X0 = nilai hasil pengamatan
Wi = beban
E = sigma
setelah dipelajari dari sumber lain ternyata, penyebut yang ada bukan hanya ‘ E Wi’ tetapi
‘E Wi + e^2’, dimana disebutkan e merupakan perbandingan antara error pengamatan (observation error) dengan error prakiraan pertama (first guess field error). mohon dijelaskan maksud dan cara mencarinya!
b. untuk menghitung beban mana yang lebih baik antara menggunakan metode cressman atau barnes?
2. bisakah kita mengambil 1 unsur meteorologi saja dari pengamatan synoptik yang dilakukan secara otomatis setiap saat ?, misalnya seperti ini, pada jam 01.00 z, semua data synoptik sudah terkirim, kita hanya menginginkan data suhu saja dari tiap-tiap stasiun untuk kemudian diplot pada peta Indonesia, sehingga kita bisa melakukan analisa cuaca dari data suhu tersebut.
sekian, terima kasih atas perhatiannya.
mohon maaf atas sebelumnya.
kadarsah said
Saya akan mencoba menjawab:
1a.Nilai e merupakan perbandingan antara error/kesalahan observasi dengan error prakiraan pertama. Error prakiraan pertama ini didapat dari dugaan/prakiraan saat pertama kali ( pada awal pertama kali dilakukan). Sedang error observasi adalah didapat antara observasi dengan prediksi.
1b.Saya kira metode barnes (1964).Yang di terbitkan setelah metode Cressman (1959) dan merupakan perbaikan dari kelemahan metode Cressman.
2.Bisa, ada beberapa cara, yang memungkinkan adalah dengan membuat program agar data yang kita inginkan data itulah yang kita plot atau gunakan.
Semoga membantu.
Referensi:
Barnes, S. L., 1964: A Technique for Maximizing Details in Numerical Weather Map Analysis. Journal of Applied Meteorology, 3:396-409.
Cressman, G. P., 1959: An Operational Objective Analysis System. Monthly Weather Review, 87:367-374.
dony said
pak maap mau nanya dimana kita bisa download program Vis5D
karna saya coba selalu tidak berjalan dalam pengistalanya
terima kasih pak…
kadarsah said
Alamat ini bisa dilihat dan didownload:
http://www.ssec.wisc.edu/~billh/vis5d.html
http://vis5d.sourceforge.net/
Proses instalasinya :
http://vis5d.sourceforge.net/doc/ch02sec2.html
Menurut saya yang lebih mudah ( dalam pemodelan) adalah menjalankan model ( WRF) dan hasilnya ditampilan dalam Vis5D.Saya menyarankan untuk WRF karena lebih mudah dan supportingnya lebih banyak.
Mamat Rachmat said
Blog yang sangat menarik. Memberikan banyak pengetahuan baru bagi saya. Terima kasih.
Inung said
mau tanya Pak..
Kalau analisis data curah hujan dengan menggunakan Matlab itu contohnya seperti apa ya??
Didin ADri said
mau nanya pak, bagaimana memperoleh data angin suatu daerah pak…..
sekalian minta tolong pak, apa kita punya tutorial Grads…? klu ada mohon di bagi pak….
kadarsah said
-Data angin bisa diperoleh dari BMKG, NOAA, atau Univesitas Wyoming dan lembaga riset lainnya.
-Tutorial GrADS yang lengkap dan penjelasannya bertahap bisa di lihat di
http://www.iges.org/grads/gadoc/tutorial
Istilah,perintah atau indeks yang digunakan di GrADS:
http://www.iges.org/grads/gadoc/gadocindex
Selamat belajar!!
muh busyra said
bisa sebutkan kelebihan dan kekurangan model arima jika di bandingkan dengan model anfis dan weflet??????
makasih….
Daryono Sutopawiro said
Wah berarti ke depan daerah Yogyakarta tetap diancam gempa kuat ya pak……
denmoko said
tampilan grafis angin di mathlab-nya keren…
misalnya kita punya data angin jam2an/harian dalam setahun, apakah bisa simulasikan seperti grafik diatas..? kalo bisa caranya bagaimana..?
terima kasih..
Kadarsah said
Bisa asal datanya berbentuk volume artinya…tiap lapisan ada dan tiap grid ada..
Anton said
Pak, saya perlu data tanah yang gratis dimana ya?
Kadarsah said
coba kunjungi situs ini:
http://www.iiasa.ac.at/Research/LUC/External-World-soil-database/HTML/index.html
saparudin cakrawardana said
ada data curah hujan 5 tahun kebelakang untuk kota bogor???
Kadarsah said
Coba kunjungi situs ini:
http://banyudata.blogspot.com/
klik grid 19 kemudian pilih stasiun yang dikehendaki.Untuk Bogor ada:
BOGOR/CITEKO
BOGOR/DERMAGA
BOGOR/ATANG SANJAYA
soni darma laserio said
pak, saya mau mengolah data curah hujan hasil keluaran ORG, data keluaran ORG tersebut tiap file terdiri dari 8 kolom dan 1440 data. dan file nya ada sekitar 720 file(data 2 tahun). data yang saya olah akan dibuat grafiknya, dimana grafik yang akan diplot tersebut merupakan kolom 2 dan dan kolom 8. dari 8 kolom keluaran ORG tersebut. masalahnya saat dibuka dengan excel, notpad maupun mfile 8 kolom data tersebut hanya terbaca satu kolom(hanya dipisah oleh spasi. jadi yang ingin saya tanyakan adalah bagai mana saya memplot grafik tersebut dengan matlab, mengingat banyaknya data yang akan diolah apabila dilakukan pengolahan data manual. (dilakukan pemisahan kolom)
ali said
Pak,
kalau untuk medapat data kecepatan angin periode ulang 50 tahunan kepulauan seribu secara online dimana? mohon bantuannya. terima kasih
Rozalina Amran said
Pak Kadrasah sy ingin bertanya bagaimana membuat program prediksi curah hujan dengan matlab, sy mempunyai 5 data imputan yaitu angin, temperatur, curah hujan, kelembapan,dan tekanan… bisa pak saya lihat listing programnya… karena sy msh bingung menginput data yg berupa excedl di gunakan di wavelet…..