Tuesday 22 December 2020

Instalasi GMT 6 Untuk Windows

Setelah sekian lama blog ini tidak diupdate, postingan pertama di tahun 2020 kali ini akan membahas tentang instalasi GMT versi 6 untuk sistem operasi Windows. Dibandingkan GMT versi 5, ada banyak perubahan, perbaikan, dan penambahan fitur di GMT 6. Di GMT 6 ini mulai diperkenalkan mode modern dalam membuat skrip, namun mode klasik seperti di GMT versi 4 atau 5 masih bisa dijalankan. Meskipun begitu, tidak berarti skrip yang kita buat di GMT 4 atau 5 bisa dijalankan di GMT 6 karena perbedaan sintaks.

Untuk menginstal GMT 6, pertama kita harus mendownload GMT 6 di link berikut https://www.generic-mapping-tools.org/download/ dan pilih GMT versi paling baru. Selanjutnya downloadlah data GSHHG dan DCW yang tersedia di link tersebut. GSHHG adalah data batas garis pantai sedangkan DCW adalah data batas administrasi. Saat kita menginstal GMT 6, kedua data ini sebenarnya sudah disediakan, namun data paling update bisa kita download secara terpisah.

Selanjutnya kita memerlukan software GraphicsMagick untuk membuat animasi GIF. Software tersebut dapat didownload melalui link berikut http://www.graphicsmagick.org/ kemudian pilihlah versi paling stabil yang tersedia di bagian Current Release. Jika kita ingin membuat video dengan ekstensi MP4, GMT 6 sudah menyediakan library ffmpeg sehingga kita tidak perlu menginstal nya secara terpisah.

Terakhir, software yang disarankan adalah gawk. Software ini sangat bermanfaat dalam mengolah dan membaca data tabel. Untuk mendownloadnya, bisa melalui link berikut http://gnuwin32.sourceforge.net/packages/gawk.htm. Kemudian pilih jenis file binary. Satu hal yang perlu diketahui adalah, GMT6 sudah mengcompile ghostscript didalam file instalasinya. Sehingga berbeda dengan GMT 5 atau 4 yang software ghostscriptnya harus diinstal terpisah, di GMT 6 kita cukup menginstall software GMT 6 dan ghostscript akan otomatis ikut terinstal.

Setelah software dan data yang diperlukan terdownload, pertama kita instal software GMT 6. Pada saat kita menginstal, pastikan kita memilih "Add GMT to the system PATH for all users". Kemudian pastikan kita memilih "Everything" di type of installation.

 
Selanjutnya, ekstrak file GSHHG dan DCW. Copy paste dan timpakan isi file GSHHG ke folder C:\programs\gmt6\share\coast dan untuk DCW ke folder C:\programs\gmt6\share\dcw. Kemudian instal software GraphicsMagick. Terakhir, ekstrak file gawk dan copy kan file gawk di dalam folder bin ke C:\programs\gmt6\bin. Sampai langkah ini, instalasi GMT 6 selesai.
 
Selanjutnya, cek apakah GMT telah berhasil terinstal atau tidak. Buka command prompt dan ketikkan gmt --version, maka akan muncul versi GMT yang telah berhasil diinstal. Kemudian kita dapat mengetes GMT 6 untuk membuat peta, di command prompt, ketikkan perintah berikut

gmt begin peta png
gmt coast -Rg -JG120/0/6 -Slightblue -B
gmt end show


Jika berhasil, akan muncul peta dunia.

Sekian materi kali ini, untuk lebih jelasnya dapat dilihat video youtube nya di link berikut. Terima kasih.
 



Saturday 7 September 2019

Membuat Peta Arah Vektor dengan GMT

Kali ini, saya akan membagikan cara membuat peta arah vektor. Peta ini bisa dipakai untuk menggambarkan arah dan besarnya pergeseran suatu titik. Disini saya akan menggunakan perintah psxy untuk menggambarkan arah vektor tersebut.
Pertama-tama, buatlah file yang berisi koordinat (bujur, lintang), arah azimuth dalam derajat, dan jarak pergeseran. Berikut ini contoh file yang saya gunakan dengan nama file data.dat :

101.7     -0.617   42    3.877
139.06    -2.69    33    0.433
139.34    -2.8     19    0.223
134       -2.24    11    2.268
137.96    -1.91    21    0.012
106.77    -7.22    7     2.294
137.4     -4.01    30    0.266
106.9     -7.06    31    2.52
139.05    -4.07    50    0.54
96.62      4.5     163   0.052
136.16    -2.93    178   0.154

..............................
 



Thursday 15 August 2019

Membuat Peta Seismisitas Berbasis Waktu

Kali ini saya kan membagikan cara membuat peta seismisitas. Namun peta seismisitas yang saya buat, pewarnaannya berdasarkan waktu selisih antara waktu referensi dengan origin time gempa. Sehingga akan terlihat pola sebaran gempa yang terjadi dalam waktu yang saling berdekatan. Disini saya menggunakan data gempa Palu yang saya dapatkan dari repogempa.bmkg.go.id. Anda dapat menggunakan data saya disini.




Beralih Antara Beberapa Versi GMT Dalam Satu PC di Windows Dengan GMTSWITCH

Setelah sekian lama tidak saya update, kali isi saya akan berbagi cara untuk beralih antara beberapa versi GMT dalam satu PC di Windows. Saat ini, GMT telah memiliki beberapa versi, mulai dari GMT 4, GMT 5, hingga GMT 6 yang masih versi beta. Ada kalanya kita memerlukan skrip GMT yang telah kita buat di masa lampau dimana kita masih menggunakan GMT versi yang lama. Ada kalanya juga kita ingin mencoba versi GMT terbaru tapi malas untuk merubah skrip GMT kita yang terdahulu. Untuk mengatasinya, GMT telah menyediakan tool untuk berpindah dari satu versi GMT ke versi yang lain. Tool tersebut adalah GMTSWITCH.



Langkah pertama adalah kita harus menginstal GMT sesuai versi yang kita inginkan. Pada saat instalasi, akan muncul dialog yang menanyakan apakah kita akan menambahkan path instalasi GMT atau tidak. Selanjutnya pilih tidak.



Sunday 14 April 2019

Membuat Peta Sederhana



Untuk membuat peta Indonesia sederhana, buatlah baris-baris perintah berikut di notepad dan simpan dengan ekstensi “.bat”

pscoast -R90/155/-15/15 -JM25c -Ba20g10 -G245/245/200 -S140/235/255 -Dh -Lf100/-10/0/500 > map.ps

Setelah dieksekusi akan muncul file "map.ps" di folder yang sama. Bukalah file tersebut dan hasilnya akan seperti ini.
 




Tuesday 30 January 2018

Upward Continuation dengan GMT

Kali ini saya akan berbagi cara untuk melakukan upward continuation menggunakan GMT. Upward continuation adalah metode geofisika yang digunakan untuk memperkirakan nilai medan gravitasi atau medan magnet pada ketinggian tertentu. Teknik ini biasa digunakan untuk menggabungkan data yang diperoleh dari ketinggian yang berbeda-beda. Dengan teknik ini, data bisa diperkirakan nilainya pada ketinggian yang sama, sehingga saat digabungkan akan mengurangi data scattering sehingga analisis bisa dilakukan dengan mudah.

GMT menyediakan program untuk melakukan upward continuation, program tersebut adalah grdfft. Disini, saya akan memberikan contoh upward continuation pada data gravitasi yang didapat dati TOPEX (topex.ucsd.edu). Silakan download data gravitasi dan buat file gridnya dengan blockmean  dan surface. Saya tidak akan membahas cara untuk melakukan gridding karena sudah saya bahas di postingan sebelumnya.

Sunday 16 July 2017

Menyusun Laporan Bulanan Magnet Bumi Dengan Python

Postingan kali ini tidak akan membahas mengenai GMT, tetapi mengenai pekerjaan rutin di kantor saya. Pekerjaan rutin tersebut adalah penyusunan laporan bulanan magnet bumi. Untuk menyusun laporan bulanan magnet bumi ini, dulu saya harus menghitung data magnet bumi rata-rata per menit menjadi rata-rata per jam secara manual menggunakan excel. Pekerjaan ini cukup memakan waktu. Kini saya telah menulis program Python untuk menyusun laporan bulanan ini. Input yang dibutuhkan adalah data magnet bumi dengan format IAGA-2002. Untuk menjalankan program, pastikan di komputer anda sudah terinstal Python 2.7. Pastikan juga modul-modul berikut sudah terpasang :
  • PyQt4
  • numpy
  • openpyxl
  • Matplotlib
  • Pillow


Thursday 18 May 2017

Menampilkan Wind Barbs dengan GMT

Disini saya akan menjelaskan cara menampilkan Wind Barbs dengan GMT 5. Wind Barbs adalah diagram yang menunjukkan arah dan kecepatan angin. Untuk menampilkan diagram ini, kita harus membuat file definisi simbol Wind Barbs. File ini saya dapat dari sebuah forum di website GMT dan saya modifikasi agar mampu menampilkan data hingga kecepatan lebih dari 200 knot. File definisi tersebut dapat didownload disini. Setelah didownload, simpan di C:\programs\gmt5\share\custom. Download contoh data angin disini dan file cpt disini.


Monday 24 April 2017

Membuat Animasi Peta Seismisitas

Kali ini saya akan berbagi cara membuat animasi dari peta seismisitas. Pada animasi ini, gempa akan muncul sesuai waktu kejadian dan gempa-gempa yang terdahulu lama kelamaan akan berubah transparansinya. Disini saya menggunakan GMT 5.3.1 di Windows 7. Animasi ini bisa juga dijalankan di Linux namun ada beberapa bagian yang harus dirubah. Sebelumnya pastikan di komputer anda telah terpasang program ImageMagick. Program ini akan saya gunakan untuk mengonversi kumpulan file image menjadi satu file GIF.


Pertama-tama buatlah file .bat berikut dan download file-file pendukung yang sudah ada di link-link dibawah ini kemudian jalankan :

>> set F=animasi.ps
>> set R=95.85/96.5/5/5.65
>> set JM=15
>> set data=data.txt
>> 
>> mkdir tmp
>> @echo off
>> #BARIS AWAL DATA SETELAH HEADER ADALAH BARIS KE 14
>> set start=14
>> set num2=1 
>> for /f "delims=*" %%a in ('gawk "END {print NR}" %data%') do set stop=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $1}" %data%') do set year=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $2}" %data%') do set month=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $3}" %data%') do set day=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $4}" %data%') do set hour=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $5}" %data%') do set minute=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-|.]" "NR==%start% {printf \"%%i\", $6}" %data%') do set second=%%a
>> 
>> #HITUNG JUMLAH DETIK
>> set /a z=(14-100%month%%%100)/12, y=10000%year%%%10000-z
>> set /a ut=y*365+y/4-y/100+y/400+(153*(100%month%%%100+12*z-3)+2)/5+%day%-719469
>> set /a waktu=ut*86400+100%hour%%%100*3600+100%minute%%%100*60+100%second%%%100
>> gawk "NR==%start%  {print %waktu%-25200,$0}" %data% > datatmp
>> 
>> :loop
>> set /a start= %start% + %num2%
>> if %start% GTR %stop% goto close
>> goto open
>> 
>> :open
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $1}" %data%') do set year=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $2}" %data%') do set month=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $3}" %data%') do set day=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $4}" %data%') do set hour=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-]" "NR==%start% {printf \"%%i\", $5}" %data%') do set minute=%%a
>> for /f "delims=*" %%a in ('gawk -F"[\t|:|-|.]" "NR==%start% {printf \"%%i\", $6}" %data%') do set second=%%a
>> set /a z=(14-100%month%%%100)/12, y=10000%year%%%10000-z
>> set /a ut=y*365+y/4-y/100+y/400+(153*(100%month%%%100+12*z-3)+2)/5+%day%-719469
>> set /a waktu=ut*86400+100%hour%%%100*3600+100%minute%%%100*60+100%second%%%100
>> gawk "NR==%start%  {print %waktu%,$0}" %data% >> datatmp
>> goto loop
>> 
>> :close
>> echo on
>> 
>> #MENAMBAHKAN WAKTU SATU JAM SEBELUM DATA AWAL DAN SATU JAM SETELAH DATA AKHIR DENGAN STEP 360 DETIK ATAU 6 MENIT
>> for /f "delims=*" %%a in ('gawk "NR==1 {print $1-3600}" datatmp') do set starteq=%%a
>> for /f "delims=*" %%a in ('gawk "END {print $1+3600}" datatmp') do set stopeq=%%a
>> set step=360
>> 
>> :loopeq
>> set /a starteq= %starteq% + %step%
>> if %starteq% GTR %stopeq% goto closeeq
>> goto openeq
>> 
>> :openeq
>> #MEMBUAT PETA SEISMISITAS
>> pscoast -R%R% -JM%JM% -Dh -W1 -K -Slightblue -Gpalegreen4 -B0.3 > %F%
>> psxy -R -JM sesar.gmt -K -O -W1,black >> %F%
>> psxy -R -JM jlnlokal.gmt -K -O -W1,gray >> %F%
>> psxy -R -JM jlnkolektor.gmt -K -O -W1,white >> %F%
>> psxy -R -JM jlnarteri.gmt -K -O -W2,khaki2 >> %F%
>> echo 96 5.32 Sigli | pstext -R -JM -O -K -F+f12,Bookman-Demi >> %F%
>> 
>> #SET TRANSPARANSI UNTUK DATA GEMPA YANG SUDAH TERJADI
>> gawk "{if ($1<=%starteq%) print $5,$4,$6,$7*0.04}" datatmp | psxy -R -JM -Sci -Ctabel.cpt -W1 -O -t80 -K >> %F%
>> gawk "{if ($1>%starteq% && $1<=%starteq%+%step%) print $5,$4,$6,$7*0.04}" datatmp | psxy -R -JM -Sci -Ctabel.cpt -W1 -O -t60 -K >> %F%
>> gawk "{if ($1>%starteq%+%step% && $1<=%starteq%+%step%+%step%) print $5,$4,$6,$7*0.04}" datatmp | psxy -R -JM -Sci -Ctabel.cpt -W1 -O -t40 -K >> %F%
>> gawk "{if ($1>%starteq%+%step%+%step% && $1<=%starteq%+%step%+%step%+%step%) print $5,$4,$6,$7*0.04}" datatmp | psxy -R -JM -Sci -Ctabel.cpt -W1 -O -t20 -K >> %F%
>> gawk "{if ($1>%starteq%+%step%+%step%+%step% && $1<=%starteq%+%step%+%step%+%step%+%step%) print $5,$4,$6,$7*0.04}" datatmp | psxy -R -JM -Sci -Ctabel.cpt -W1 -O -K >> %F%
>> gawk "BEGIN {print strftime(\"%%d-%%m-%%Y %%H:%%M:00 UTC\",%starteq%);}" | gawk "{print 96.35,5.6,$0}" | pstext -R -JM -O -F+f12,Bookman-Demi -K >> %F%
>> pscoast -R95/99/2/6 -JM4 -Dh -W1 -K -O -Slightblue -Gwhite -B3::wEsN --MAP_FRAME_TYPE=plain --FONT_ANNOT_PRIMARY=8p >> %F%
>> echo 95.85 5 > kotak
>> echo 95.85 5.65 >> kotak
>> echo 96.5 5.65 >> kotak
>> echo 96.5 5 >> kotak
>> echo 95.85 5 >> kotak
>> psxy -R -JM kotak -O -W1,red >> %F%
>> psconvert -A -Tg -P %F% -Ftmp\%starteq% -E100
>> 
>> goto loopeq
>> :closeeq
>> 
>> #KONVERSI KE FILE GIF DENGAN DELAY 10 (FPS=100/10=10) DAN LOOP 0 (KEMBALI KE AWAL)
>> convert -delay 10 -loop 0 tmp/*.png animasi.gif
>> del datatmp gmt.history kotak %F% 
>> rd /S /Q tmp

Proses ini akan memakan waktu yang cukup lama tergantung kemampuan komputer. Anda juga dapat menggunakan data gempa anda sendiri. Pada animasi diatas, saya mendownload data dari repogempa BMKG dan menggunakan data gempa Pidie Jaya yang terjadi akhir 2016 silam. Selamat mencoba. Salam.

Sunday 18 December 2016



Monday 12 December 2016

Membuat Windrose dengan psrose

Setelah sebelumnya saya berbagi cara membuat diagram sektor, kali ini saya kan berbagi cara membuat windrose. Windrose adalah diagram yang menggambarkan informasi mengenai kecepatan dan arah angin pada suatu lokasi tertentu. Digambarkan dalam format melingkar dengan skema frekuensi angin yang berhembus dari arah tertentu. Panjang setiap mahkota menunjukkan tingkat frekuensi berhembusnya angin dari arah tersebut, bernilai nol di pusat dan terus meningkat hingga tepi (kata Wikipedia).


 

Sunday 11 December 2016

Membuat Polar Histogram dengan psrose

Setelah sekian lama, kali ini saya akan membagikan cara membuat polar histogram dengan perintah psrose. Perintah psrose dapat digunakan untuk membuat diagram rose, sektor, atau windrose. GMT yang saya gunakan kali ini adalah GMT 5. Ada dua data yang diperlukan oleh psrose, data tersebut adalah panjang dan azimuth vektor.