Pemodelan banjir dalam GRASS?


8

Saya mencoba membuat sistem pemodelan banjir. Sistem ini terdiri dari dua bagian terutama simulasi banjir sungai dan simulasi curah hujan. Untuk melakukan ini, saya menjalankan GRASS 6.4 versi terbaru . Saya juga menggunakan SRTM yang diperoleh dari CGIAR sebagai DEM saya.

Saya ingin bertanya perintah apa yang paling tepat untuk menjalankan simulasi. Ex. Terraflow

Juga karena kita memodelkan banjir berdasarkan sungai, apakah disarankan untuk menggunakan HEC-RAS ? Itu dibuat oleh orang yang sama yang membuat GRASS. :)

Saya lebih dari seorang programmer daripada seorang insinyur. Ini adalah usaha pertama saya ke dalam sistem simulasi sebagai bagian dari gelar saya.

Sampai sekarang Ini adalah rencana kami untuk curah hujan (pseudocode):

int i = 0, j = 0;
int passes, numberOfmesh;
double rainAmount;
double store1[][];
double store2[][];

numberOfmesh = getTotalMeshCells();
passes = computePasses(numberOfmesh());
rainAmount = getRainAmount();

/* rainAmount corresponds to the input of the user in the textfield.
store1 contains the elevation and the number of times an amount of water
has been passed to it (per pixel)
store2 contains the elevation and the total accumulated water (per pixel)
Both store1 and store2 have 'n' number of rows and 2 columns;
ASSUME THAT THE ARRAY HAS ALREADY BEEN POPULATED */

while(i != passes)
{
    while(j != numberOfmesh)
    {
        direct = getDirection(store[j][0]);
        /* direct corresponds to the direction of a mesh cell;
        I don't know what id the datatype for direct; */       

        store2[j][6] += rainAmount;
        gotoDirection(direct);

    }   
}
computeAccumulated();

//Here is what gotoDirect is supposed to do:

gotoDirect(direct)
{
   /* How can we determine the elevation of the mesh cell to where the
     'direct' points to?
     In the following code, j refers to the elevation of the mesh cell where
     the 'direct' point to.
   */

   store1[j][7] += 1;
   /* increases the number of times that an amount of water
   was passed to it */
}

//Here is what computeAccumulated is supposed to do:

computeAccumulated()
{
    while(j != numberOfmesh)
    {
        store2[j][8] += store1[j][9] * rainAmount;       

    }               
}

Jawaban:


3

Saya tidak dapat berbicara banyak tentang GRASS secara khusus, tetapi sepertinya yang Anda coba lakukan di sini adalah mengembangkan arah aliran dan kisi-kisi akumulasi - Saya cukup yakin GRASS sudah memiliki fungsionalitas bawaan.

Setelah Anda mengembangkan kisi-kisi itu, Anda dapat menggunakan persamaan regresi (USGS mengembangkannya: http://water.usgs.gov/osw/programs/nss/pubs.html#wv ) untuk menghitung aliran pada sel tertentu , dan gunakan aliran tersebut dalam model HEC-RAS. HEC-RAS bagus untuk pemodelan banjir, tetapi memiliki sejumlah keterbatasan - yaitu kikuk dan tidak ada dokumentasi yang saya ketahui tentang struktur file. Tapi ini gratis dan sangat banyak digunakan oleh insinyur sipil.

Jika yang ingin Anda lakukan adalah mengintegrasikan hidrologi dan hidrolika ke dalam satu proses tunggal, bersiaplah untuk melakukan banyak membaca tentang dinamika fluida.



2

Tidak jelas dari deskripsi proyek Anda apakah Anda mencoba untuk memodelkan bagian dari gelombang banjir melalui grid aliran 2-D (yaitu, perubahan area genangan sebagai fungsi waktu ketika banjir melintas dari hulu ke hilir), atau apakah output Anda menunjukkan ketinggian banjir tertinggi pada titik tertentu yang disebabkan oleh peristiwa banjir tunggal (seperti apa yang ditunjukkan dalam peta asuransi banjir FEMA).

Metode yang disarankan oleh thwllms (menggunakan persamaan regresi USGS di setiap sel) akan memberi Anda aliran PEAK dari periode pengembalian yang diberikan (probabilitas disamakan atau dilampaui pada tahun tertentu) di lokasi tertentu di sungai. Menjalankan HEC-RAS untuk sungai yang dipermasalahkan akan memberi Anda ketinggian permukaan air kondisi-mapan UNTUK SATU ARUS itu pada setiap bagian melintang sungai. (HEC-RAS sebagian besar merupakan model "profil permukaan air" satu dimensi, kondisi mapan.) Ketinggian permukaan air yang diperoleh kemudian ditransfer ke peta topo kertas atau ke DEM untuk mendapatkan daerah genangan yang disebabkan oleh tingkat aliran banjir. Ini adalah metode yang secara tradisional digunakan (dengan beberapa variasi) untuk studi asuransi banjir FEMA.

Jika proyek Anda adalah memodelkan berlalunya satu gelombang banjir dari waktu ke waktu, maka arusnya tidak mantap, dan HEC-RAS mungkin bukan model terbaik untuk digunakan. Ada model-model lain yang digunakan oleh USGS, Korps Insinyur, dan Biro Reklamasi (bersama dengan agen-agen teknik pemerintah negara bagian) yang memodelkan aliran semacam itu. Sayangnya, saya tidak terlalu akrab dengan model yang tidak stabil ini.

Setelah Anda memutuskan jenis aliran sungai yang ingin Anda modelkan, akan pantas untuk mencari model yang tepat untuk digunakan. Semoga berhasil!


Proyek saya adalah membuat perangkat lunak pemodelan banjir. Saya akan mensimulasikan kemungkinan banjir yang disebabkan oleh keluarnya bendungan. Ini adalah aliran keluar dari pembukaan gerbang bendungan (bukan oleh bendungan istirahat) untuk disalurkan di sepanjang sungai. Apakah ini dianggap sebagai kondisi mapan?
teamAngat

1
Maaf, baru melihat komentar Anda sore ini. Joseph Jones telah menjawab pertanyaan Anda tentang aliran dari gerbang terbuka, dan saya setuju dengan jawabannya.
Howard Y

2

Bagian curah hujan menjadi rumit dengan cepat jika Anda ingin realistis .... Berapa banyak hujan yang turun ke tanah? menguap? menyebabkan pencairan salju? Seberapa cepat mengalir di atas tanah jenuh? dll. Jika ini hanya "latihan", silakan dan memperlakukan seluruh dunia sebagai beton dan dilakukan dengan itu.

Mengalir keluar dari gerbang, konstan dan jangka panjang adalah kondisi mantap klasik. HEC-RAS sesuai.

Kalau tidak, Anda perlu bekerja sama dengan seorang insinyur untuk memandu Anda dalam penerapan persamaan yang mengatur untuk aliran saluran terbuka ... benar-benar memperbarui roda. Secara realistis, Anda akan membutuhkan batimetri saluran kecuali alirannya jauh lebih besar daripada yang dapat ditampung oleh saluran tersebut. SRTM terlalu kasar untuk simulasi yang kredibel, tetapi sekali lagi, sepertinya ini adalah latihan dalam pengkodean .....


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.