วันจันทร์ที่ 31 มีนาคม พ.ศ. 2557

การเพิ่มความจุของฝายทดน้ำ ในแบบจำลอง MIKE Hydro Basin

สำหรับบทความนี้ จะแนะนำการเพิ่มฝายทดน้ำเพื่อการชลประทาน
หรือ ฝายที่มีความจุน้ำไม่มาก และมีจุดประสงค์เพื่อการทดน้ำสำหรับการชลประทานเท่านั้น
โดยไม่ได้ใช้เพื่อการบรรเทาน้ำท่วม

โดยทั่วไป ในแบบจำลอง MIKE Hydro Basin จะมีเพียงโครงสร้างแบบเขื่อนเท่านั้น
ทำให้ไม่สามารถใส่โครงสร้างแบบ ฝาย ลงไปได้
ดังนั้น ในการเพิ่มโครงสร้างฝายเพื่อการทดน้ำ จึงต้องทำผ่านการเพิ่ม เขื่อน ในแบบจำลอง

ตัวอย่างนี้ เป็นการทดลองสร้างลำน้ำแบบง่าย
มี River Node N5 เป็นต้นน้ำ
ใช้ Water User W3 เป็นตัวป้อนน้ำเข้าระบบ
มี Water User W4 เป็นผู้ใช้น้ำ โดยดึงน้ำโดยตรงจากฝาย
มี ฝายที่แทนด้วยเขื่อนคือ R2 ที่มีความจุสูงสุด 16 ล้าน ลบ.ม.
โครงข่ายลำน้ำดังกล่าวสร้างแบบง่ายๆได้ดังรูปนี้


น้ำไหลเข้าทางต้นทาง W3  กำหนดค่าสำหรับทดสอบดังนี้


น้ำที่ดึงออกไปสำหรับการชลประทาน W4 กำหนดค่าคงที่เท่ากับ 8 m3/s


แบบจำลองยังต้องเพิ่มข้อมูลสำหรับเขื่อน ที่ทำหน้าที่แทนฝายทดน้ำ
ประกอบไปด้วย LevelAreaVolume โดยทั่วไปกรณีฝายทดน้ำขนาดเล็ก อาจมีแต่ข้อมูลความจุสูงสุด
สามารถสร้างตารางได้อย่างง่าย โดยสมมุติค่าพื้นที่ผิวน้ำขึ้นมาเองได้เลย เนื่องจากไม่ได้ใช้ 
ระดับน้ำต่ำสุด  : ความจุ = 0
ระดับน้ำสูงสุด : ความจุ = ความจุสูงสุด (16 MCM)

CharacteristicLevel
Bottom Level = ระดับน้ำต่ำสุด
Dead Zone Level = ระดับน้ำต่ำสุด
Crest Level = ระดับน้ำสูงสุด

นอกจากนี้ยังต้องเพิ่มข้อมูล การบริหารเขื่อน
โดยตั้งค่าระดับน้ำเพื่อควบคุมน้ำท่วม ไว้เท่ากับค่าระดับน้ำสูงสุด
อัตราการระบายน้ำต่ำสุด เท่ากับ 0

และสุดท้ายต้องเพิ่มข้อมูลการจัดการน้ำสำหรับผู้ใช้น้ำที่ดึงน้ำจากเขื่อนโดยตรง
โดยเพิ่ม No. of Reduction Level เป็น 1
จะมีช่องกรอกข้อมูล แล้วตั้งค่า Reduction ดังนี้
Reduction Level = ระดับน้ำต่ำสุด (คงที่)
Reduction Factor = 0 (คงที่)
การตั้งค่าดังนี้มีผลให้ ไม่มีการลดปริมาณน้ำในกรณีที่ระดับน้ำลดต่ำกว่าเกณฑ์ (Reduction Level)



เมื่อสร้างแบบจำลองอย่างง่ายเสร็จแล้ว ก็ทดสอบรันแบบจำลอง
โดยในกรณีนี้ เตรียมข้อมูลครบ 1 ปี และหลายๆข้อมูลใช้ค่าคงที่
จึงสามารถรันแบบจำลองได้ หลายปี เพราะโปรแกรมจะเวียนใช้ข้อมูลในปีต่อๆไปได้เอง

ตั้งค่า Simulation Description เป็น WithStorage แล้วสั่งรัน
หลังรันแบบจำลองกรณีมีความจุของฝาย (WithStorage)
หลังจากนั้น
ให้เปลี่ยนแปลงค่า LevelAreaVolume โดยแก้ค่า ความจุสูงสุดให้เหลือ 0 MCM
แล้วแก้ค่า Simulation Description เป็น WithOutStorage เพื่อเป็นกรณีไม่มีฝาย

และสุดท้าย ให้เปลี่ยนแปลงค่า LevelAreaVolume โดยแก้ค่า ความจุสูงสุดให้เป็น 160 MCM 
แล้วแก้ค่า Simulation Description เป็น WithBigStorage เพื่อเป็นกรณีมีฝายความจุสูง

เมื่อรันครบ 3 กรณีแล้ว จะสามารถตรวจสอบผลคำนวณการขาดน้ำของ W4 ได้ดังรูป


โดยมีปริมาณน้ำในฝายดังนี้


จากตัวอย่างนี้ อธิบายได้ดังนี้

กรณีที่มีฝายที่มีความจุเดิม พบว่า ความจุของฝายมีขนาดเล็ก และไม่เพียงพอต่อการเก็บน้ำให้พอใช้ตลอดทั้งปี แต่จะพบว่า การขาดน้ำ จะน้อยกว่ากรณีที่ไม่มีฝาย และในกรณีที่ฝายมีความจุมากเพียงพอ จะพบว่าพื้นที่นี้จะมีน้ำใช้อย่างเพียงพอ และไม่เกิดการขาดน้ำเลย

ในกรณีนี้ ได้สมมุติให้ปริมาณน้ำน้ำไหลเข้าสะสมทั้งปี มีค่าเท่ากับปริมาณความต้องการใช้น้ำสะสมทั้งปี
แต่น้ำไหลเข้ามีปริมาณที่ไม่เท่ากัน มากบ้าง น้อยบ้างในแต่ละช่วงเวลาของปี ทำให้มีความจำเป็นต้องการฝายที่มีความจุน้ำระดับหนึ่ง ช่วยกักน้ำในช่วงน้ำมาก เก็บไว้ใช้ในช่วงน้ำน้อย

ใครสนใจตัวอย่างนี้ สามารถโหลด Setup ที่ผมทำเสร็จแล้วได้จาก




วันศุกร์ที่ 7 กุมภาพันธ์ พ.ศ. 2557

การกระจายน้ำท่าจากลุ่มน้ำขนาดใหญ่ไปยังตำแหน่งต่างๆ ในแบบจำลอง MIKE Hydro Basin

สำหรับหลายๆท่านที่ใช้งานแบบจำลอง MIKE Basin มักจะพบปัญหาว่า
เมื่อมีข้อมูลน้ำท่าของลุ่มน้ำย่อย ที่ไม่ได้จัดแบ่งไว้สำหรับการศึกษา
ด้วยแบบจำลอง MIKE Basin ตั้งแต่แรก จะมีตำแหน่งของขอบเขตลุ่มน้ำที่ไม่เหมาะสม
ทำให้ น้ำท่าที่คำนวนได้ จะไหลไปลงที่ตำแหน่งปลายเส้นลำน้ำที่ตัดกับขอบเขตของลุ่มน้ำย่อยเท่านั้น


ในกรณีที่มีโครงการชลประทาน หรือ การใช้น้ำจากจุดที่อยู่ทางต้นน้ำของจุดรับน้ำของลุ่มน้ำในแบบจำลอง จะทำให้จุดนั้นไม่ได้ข้อมูลน้ำเข้า และผลคำนวนก็จะผิดพลาด

ทั้งๆที่เราอาจแค่ต้องการ กระจายปริมาณน้ำ จากน้ำท่าที่เราคำนวนไว้แล้วไปลงที่ตำแหน่งต่างๆของเส้นลำน้ำ ตามอัตราส่วนที่ต้องการ แต่แบบจำลอง ไม่มีตัวเลือกให้แบ่งน้ำท่าของลุ่มน้ำไปลงยังตำแหน่งต่างๆในอัตราส่วนที่ต้องการได้

ดังนั้น ในบทความนี้ ได้แนะนำ เทคนิคที่จะสามารถแบ่งน้ำท่า จากลุ่มน้ำหนึ่งๆ ไปลงยังตำแหน่งต่างๆ ตามอัตราส่วนที่ต้องการได้

เทคนิคนี้คือการใช้ Water User เข้ามาช่วยในการกระจายน้ำ

ด้วยการเพิ่ม Water User เข้าไปยังตำแหน่งที่ต้องการกระจายน้ำท่าไปลง แล้วลากเส้นเชื่อมกับลำน้ำ โดยเป็นทิศทางจาก Water User กลับมาลงที่ลำน้ำเท่านั้น จะทำให้เป็นการบังคับให้เกิด Return Flow กลับเข้ามาที่ลำน้ำที่จุดนั้น

จากนั้น กำหนดค่าให้ Water User นั้น มีข้อมูล Demand เท่ากับ น้ำท่าของลุ่มน้ำ และกำหนด Return Flow ให้เป็นอัตราส่วนของ Demand โดยกำหนดค่าอัตราส่วน เท่ากับอัตราส่วนของน้ำท่าที่ต้องการให้ไหลลง ณ ตำแหน่งนี้

ทำเช่นนี้กับจุดอื่นๆที่ต้องการกระจายน้ำท่าลงไป ก็จะสามารถกระจายน้ำท่าไปลงยังตำแหน่งต่างๆได้ทั้งหมด

และเมื่อทำครบแล้ว อย่าลืม ทำเพิ่มที่จุดปลายของลุ่มน้ำด้วย โดยการกำหนดค่า Return Flow ให้เท่ากับอัตราส่วนของน้ำท่าที่จะเหลือทั้งหมด ลงไปยังจุดท้ายสุดในลุ่มน้ำ พร้อมทั้งแก้ไขให้ Runoff ของลุ่มน้ำเท่ากับ 0

เท่านี้ ปริมาณน้ำในลุ่มน้ำนี้ทั้งหมด ก็จะเท่ากับ อัตราส่วนของน้ำท่า ที่มาจากจุดต่างๆในลุ่มน้ำ โดยแนะนำให้ตรวจสอบด้วยว่า ผลรวมน้ำท่า ของทั้งลุ่มควรจะเท่ากับ 100% ของน้ำท่าทั้งลุ่ม

ข้อสังเกตุ กรณีมีค่าน้ำท่าอยู่แล้ว แล้วต้องการให้เลือกใช้งานเป็น Demand  ของ Water User ได้นั้น จะต้องเปลี่ยน Type ของข้อมูลให้เป็น Water Flow เสียก่อน




วันจันทร์ที่ 13 มกราคม พ.ศ. 2557

MIKE 11 River Network by GIS Shape File

วันนี้จะแนะนำเทคนิคการใช้ข้อมูล GIS ฐานข้อมูลเส้นลำน้ำ

นำเข้ามาเป็นเส้นลำน้ำในไฟล์ River Network ของแบบจำลอง MIKE 11

ตัวอย่างด้านล่าง มีเส้นลำน้ำสองเส้น



เมื่อเตรียมรูปภาพพื้นหลังเสร็จแล้ว ให้เพิ่มไฟล์ SHP ที่เป็นเส้นลำน้ำเข้ามาโดยเลือก
เมนู Layer / Add remove ... 



จากนั้นเพิ่มข้อมูลแล้วเลือก File Type เป็น Shape File



เมื่อเพิ่มข้อมูล GIS แล้วตรวจสอบว่าถูกต้อง
จากนั้นเลือกเมนู Network / Generate Branches from Shape files...



จะมีหน้าต่างให้ตั้งค่าดังรูป
เลือก Generate points and branch
เลือก Shape file ที่ถูกต้องแล้วเลือก River name / Topo ID ให้ตรงกับที่เตรียมข้อมูลไว้



เมื่อคลิก OK ด้านบน โปรแกรมจะทำการแปลง Shape file มาเป็น เส้นลำน้ำให้ทันที
แต่จะยังไม่มีการเชื่อมต่อเส้นลำน้ำ ซึ่งต้องทำการ Link Channel ด้วยตนเองอีกที 



ข้อสังเกตุว่า เส้นลำน้ำที่ Import เข้ามาด้วยวิธีนี้จะมี Chainage เริ่มต้นจาก 0
ดังนั้นอาจต้องมีการปรับค่า Chainage ของแต่ละลำน้ำด้วยหลังจาก Import เข้ามาแล้ว


วันพฤหัสบดีที่ 12 ธันวาคม พ.ศ. 2556

แบบฝึกหัดเพื่อการเริ่มใช้งานแบบจำลอง MIKE Flood

แบบจำลอง MIKEbyDHI เมื่อลงโปรแกรมเสร็จแล้ว
จะมีคู่มือการใช้งาน และตัวอย่างสำหรับฝึกหัดสร้างแบบจำลองมาให้ด้วย

โดยปกติแล้วหลังลงโปรแกรม จะมีคู่มืออยู่ที่
C:\Program Files (x86)\DHI\2012\MIKE Zero\Manuals

และมีไฟล์ตัวอย่างสำหรับฝึกหัดไปคู่กับการแนะนำในคู่มือ อยู่ที่
C:\Program Files (x86)\DHI\2012\MIKE Zero\Examples

อย่างไรก็ตาม คู่มือ ทั้งหมดที่มากับโปรแกรม เขียนมาเป็นภาษาอังกฤษ

บางครั้งทำให้ผู้ที่ใช้ภาษาอังกฤษไม่คล่องจะมีปัญหาทำให้ไม่เข้าใจคู่มือ

ในวันนี้ได้นำเสนอคู่มือ และไฟล์ตัวอย่าง ที่ได้มีการแปลไว้เป็นภาษาไทย

สำหรับฝึกหัดใช้แบบจำลองการไหลแบบผสาน 1 และ 2 มิติด้วยแบบจำลอง MIKE Flood

ทั้งนี้แบบจำลอง MIKE Flood เป็นแบบจำลองที่ผสานแบบจำลอง MIKE 11 และ MIKE 21 เข้าด้วยกัน

เพื่อเป็นการลดข้อจำกัดที่เกิดจากการใช้แบบจำลองอย่างใดอย่างหนึ่งในการศึกษาปัญหาอุทกภัย

ตัวอย่างนี้มีคู่มือภาษาไทย อธิบายขั้นตอนต่างๆในการจัดทำแบบจำลองเฉพาะ MIKE Flood
ผู้ที่จะฝึกหัดตามคู่มือนี้ควรเรียนรู้การจัดทำแบบจำลอง MIKE 11 มาก่อน



หวังว่าจะช่วยให้ผู้ที่เริ่มหัดใช้งานแบบจำลอง MIKE Flood จะสามารถเข้าใจแบบฝึกหัดได้ง่ายขึ้น

วันพฤหัสบดีที่ 5 ธันวาคม พ.ศ. 2556

การส่งออกพิกัดตลิ่งซ้าย ขวา ของลำน้ำใน MIKE11 ด้วยการใช้ MIKE Flood

ในแบบจำลอง MIKE11 เมื่อสร้าง Network และ Cross-section เสร็จแล้ว

เปิดพร้อมกันผ่าน Simulation จะสามารถแสดงตำแหน่งของ Cross-section ที่ระยะต่างๆของลำน้ำ

(update 7 Feb 2022) ในแบบจำลองรุ่นใหม่ MIKE Hydro River ที่มาแทน MIKE 11
จะมีตัวช่วยในการนำเข้า-ส่งออกข้อมูลของแบบจำลองกับไฟล์ SHP ได้ (ดูตัวอย่างรูปท้ายสุด)



โดยอิงตามพิกัดที่อยู่บน Network โดยการวางตำแหน่งหน้าตัดลำน้ำนั้น จะมีสองแบบคือ

1) หากไม่มีการกรอกค่าพิกัดของหน้าตัดลำน้ำไว้แล้ว แบบจำลองจะวางหน้าตัดลำน้ำ

ให้ตั้งฉากกับเส้นลำน้ำ และจุดที่มีระดับน้ำต่ำสุดจะอยู่ตรงกับเส้นแนวลำน้ำ

รูปนี้ จะเห็นว่าจุดกลางหน้าตัด (ระดับต่ำสุด) อยู่เบ้ไปทางขวา (รูปบน) เมื่อวาดไปบน Network (รูปล่าง) ตำแหน่งของระดับน้ำสุด จะวาดไปที่กลางแนวลำน้ำ (รูปนี้ต้ำน้ำไหลจาก บนลงล่าง)



2) ส่วนกรณีที่มีการกรอกพิกัดตลิ่งซ้าย และ ขวาของหน้าตัดลำน้ำไว้

การวาดรูปหน้าตัดลำน้ำ ก็จะอิงตามพิกัดที่กรอกไว้เป็นหลัก

รูปด้านล่างนี้ จะเห็นว่ามีส่วนที่สามารถกรอกค่า Coordinates เพิ่มเติมได้ หากมีข้อมูล



ในกรณีที่เรามีค่าพิกัดตลิ่งซ้าย หรือ ขวาของลำน้ำอยู่แล้ว คงไม่ใช่เรื่องยากที่จะจัดเรียงข้อมูลเหล่านั้น

แล้วเอาไปใช้ใน GIS เพื่อสร้างเส้นที่เป็นแนวของตลิ่งลำน้ำขึ้นได้

แต่กรณีที่ไม่มีพิกัดตลิ่งจากการสำรวจ (ผู้สำรวจไม่ได้บันทึกค่านี้ไว้ด้วย)

จะเห็นว่า แบบจำลองก็ยังสามารถวาด และวางตำแหน่งของหน้าตัดลำน้ำขึ้นมาได้ใน Network

และในกรณีที่เราต้องการพิกัดของตลิ่งซ้าย และ ขวา เพื่อนำไปใช้ประโยชน์อื่นๆ เช่นการใช้ใน GIS

ในแบบจำลอง MIKE11 เอง ยังไม่มีเครื่องมือช่วยในการส่งออกข้อมูลนี้โดยตรง

แต่จะมีเทคนิค ในการส่งออกข้อมูลนี้ดังนี้

1) จัดเตรียมแบบจำลอง MIKE11 ให้เรียบร้อย

2) จัดเตรียมแบบจำลอง MIKE21 FM (แนะนำให้ใช้ FM เพราะหากใช้กริดสี่เหลี่ยม จะมองไม่เห็น Chainage ในขั้นตอนที่ 7) ให้มีพื้นที่ศึกษา คลุมพื้นที่ Network ที่เราต้องการพิกัดของตลิ่ง

3) ผสานแบบจำลองเป็น MIKE Flood โดยเลือกใช้ไฟล์ MIKE11 และ MIKE21FM ที่สร้างไว้แล้ว

4) สร้าง Lateral Link ใน MIKE Flood สำหรับเส้นลำน้ำ ที่ต้องการค่าพิกัดของตลิ่ง โดยสามารถเลือกสร้าง Link โดยอิ่งตาม ตลิ่งซ้าย หรือ ขวา ได้ตามต้องการ

5) เมื่อสร้าง Link แล้ว ให้สั่งรันแบบจำลอง MIKE Flood หนึ่งครั้ง (ไม่จำเป็นต้องรอให้รันเสร็จ)

6) ที่ Folder เดียวกับที่จัดเก็บไฟล์ sim11 ไว้ จะมีการสร้งาไฟล์ใหม่ชื่อ MFLateral.xns11 ซึ่งจะเก็บค่าระยะทางตามลำน้ำ (ค่าอยู่ใน column X) และระดับของตลิ่งไว้ (ค่าอยู่ใน column Z)โดยไฟล์นี้จะแยกเก็บค่าระดับตลิ่งจาก Cross-section ของ MIKE11 และ DEM ของ MIKE21 ไว้แยกกัน

7) ที่ MIKE Flood หลังจากที่สร้าง Link เสร็จแล้ว จะมีตารางแสดงพิกัด X Y Chainage โดยจำนวนค่านี้ ขึ้นกับความละเอียดของจุดบนเส้นลำน้ำ ดังนั้นจึงมีจำนวน มากกว่าจำนวนหน้าตัดลำน้ำ


8) copy ค่าในตารางจากทั้งข้อ 6) และ ข้อ 7) ไปไว้ที่ Excel จะพบว่า หากเราสามารถหาค่า X, Y ของ หน้าตัดลำน้ำนั้นๆได้ โดยมีตัวเชื่อมคือ Chainage ซึ่งจำเป็นต้อง Interpolate เพื่อให้ได้ค่าที่แม่นยำอีกที

สำหรับขั้นตอนการสร้าง M21, M11, MFlood และ Lateral Link ขอให้ศึกษาเอาจากคู่มือนะครับ เพราะอธิบายในหน้านี้ จะยาวมาก

รวมถึงการ Matching, และทำ Interpolate ใน Excel ก็มีคนลงวิธีการทำใน Internet อยู่แล้ว ดังนั้นคงไม่ยากที่จะ search วีธีการแล้วมาประยุกต์ใช้กับตาราง excel ข้างบน เพื่อให้ได้ค่าพิกัดของตลิ่ง ของแต่ละหน้าตัดลำน้ำ พร้อมค่าระดับตลิ่ง

กรณีที่อัพเดทตัวแบบจำลอง MIKE 11 มาใช้งาน MIKE Hydro River 
จะมีเครื่องมือสำหรับการนำเข้า- ส่งออกไฟล์แบบจำลองกับ SHP ได้ภายในโปรแกรม
ดังตัวอย่างรูปด้านล่าง