แสดงบทความที่มีป้ายกำกับ dfs0 แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ dfs0 แสดงบทความทั้งหมด

วันอังคารที่ 20 พฤศจิกายน พ.ศ. 2561

การเตรียม 2D distributed rainfall ด้วยข้อมูลฝนรายสถานี

ขั้นตอนด้านล่าง แนะนำวิธีการเตรียมข้อมูลฝน 2 มิติที่เปลี่ยนแปลงตามเวลา
2D Distributed rainfall (ไฟล์ dfs2)
ด้วยการใช้ข้อมูลฝนจากสถานีตรวจวัดต่างๆในบริเวณนั้น (ไฟล์ dfs0)

โดยใช้เครื่องมือ MIKE SHE Tool box ใน MIKE Zero


มีขั้นตอนดังด้านล่าง

1) เตรียมไฟล์ Grid.dfs2 ซึ่งต้องมี EUM Type เป็น Grid Codes และมี Unit เป็น Integer โดยตัวเลขในกริดจะเป็นตัวแทนรหัสสถานีฝนที่ตรงกับ Item name ในไฟล์ข้อมูลฝน ดังนั้น การสร้าง Grid.dfs2 จึงต้องรู้ตำแหน่งสถานีแต่ละสถานีว่าอยู่ตำแหน่งใดในกริด เพื่อนำเลขรหัสสถานีฝนไปกรอกไว้ที่กริดนั้น
และให้เว้นว่างกริดที่เหลือที่ไม่ตรงกับตำแหน่งของสถานีไว้


2) เตรียมไฟล์ Rain.dfs0 ซึ่งเป็นไฟล์ข้อมูลฝนที่สถานีต่าง โดยมี ItemName เป็นรหัสสถานี ตรงกับที่เตรียมไว้ในไฟล์ Grid.dfs2 และให้มี Type เป็น Precipitation Rate และ TS Type เป็น Step Accumulated


3) เปิดโปรแกรม MIKE Zero แล้วสร้างไฟล์ใหม่ เลือกสร้างไฟล์ MIKE SHE / MIKE SHE Toolbox จากนั้นใช้เครื่องมือ File Converter โดยขั้นตอนภายในเป็นการเลือกไฟล์ Rain.dfs0, Grid.dfs2 และ ตั้งชื่อ output file โดยตัวอย่างนี้ให้ชื่อ Rain.dfs2




 4) ผลที่ได้จากเครื่องมือในข้อ 3 เมื่อเปิดตรวจสอบ จะได้ข้อมูลฝนรายสถานีที่กรอกลงในไฟล์ Rain.dfs2 ตามตำแหน่งของสถานีฝน (ตำแหน่งตามรหัสใน Grid.dfs2) โดยมีข้อมูลที่ timestep ต่างๆตรงกับข้อมูลฝนใน Rain.dfs0 (ตัวอย่างนี้ทำไว้เพียง 3 timestep)


5) จากนั้นให้ใช้เครื่องมือช่วยในการ interpolate โดยเลือกเมนู Tools/Interpolation...


6) ตรวจสอบใน Sub-Set ว่าได้เลือกทุก time steps และเลือก Entire set of grid points


7) ในส่วนของ Interpolation แนะนำให้ใช้แบบ Area integrated โดย Number of points ควร >2 (แทนจำนวนสถานีที่จะนำมาใช้ในการ Interpolate และกรอก Area side length ที่เหมาะสม (จำนวนกริด) ที่มั่นใจว่าในทุกตำแหน่งกริดว่างๆที่จะ interpolate ค่า จะสามารถหาค่าจากกริดข้างเคียงที่มีข้อมูลได้ในระยะห่างไม่เกินจำนวนกริดที่กำหนด โดยตัวอย่างนี้คือ 10 กริด




8) ตรวจสอบผลที่ได้จากการ Interpolate ถ้าได้ผลที่เหมาะสมให้ Save แต่ถ้าผลไม่ดี และต้องการ interpolate ใหม่ด้วยค่า number/length อื่นๆ ให้ปิดโดยไม่ save ไฟล์ แล้วเปิดไฟล์ขึ้นมาใหม่แทน เพราะการทำ interpolation จะไม่สามารถ Undo ได้


เท่านี้ก็จะทำให้ได้ไฟล์ข้อมูลฝนที่กระจายในพื้นที่แบบ 2 มิติ สำหรับนำไปใช้ในแบบจำลองที่ต้องการเช่น แบบจำลองน้ำท่วมในพื้นที่ 2 มิติ MIKE 21 และ MIKE 21 FM หรือแบบจำลองอุทกวิทยาน้ำ MIKE SHE ได้แล้ว

เทคนิคนี้ยังสามารถนำไปใช้ได้กับไฟล์ข้อมูลอื่นๆเช่น ข้อมูลการระเหยของน้ำเป็นต้น

วันพุธที่ 9 ตุลาคม พ.ศ. 2556

การจัดการไฟล์ dfs แบบต่างๆของ DHI ด้วยการเขียนโปรแกรม

ไฟล์ข้อมูลที่ใช้กับโปรแกรม MIKE ต่างๆนั้น จะมีนามสกุลขึ้นด้วย dfs แล้วตามด้วยตัวเลข 0, 1, 2

ไฟล์เหล่านี้ เป็นไฟล์ข้อมูลตามเวลา ที่เก็บข้อมูลจากจุดสำรวจ(0) จากแนวสำรวจ(1) หรือจากพื้นที่สำรวจ(2) ขึ้นกับเลขลงท้าย

โดยปกติแล้ว เราสามารถสร้าง แก้ไข ดัดแปลง และจัดการไฟล์ข้อมูลเหล่านี้ได้ด้วยโปรแกรม MIKE Zero

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

ตัวอย่างหนึ่งในการต้องการการจัดการข้อมูลด้วยการเขียนโปรแกรมเพิ่มเอง เช่น การดัดแปลงข้อมูลสำหรับงาน Real time ซึ่งต้องการปรับปรุงข้อมูลในไฟล์ dfs ต่างๆอัตโนมัติ

ในที่นี้ จะแนะนำคู่มือ และตัวอย่าง ซึ่งแนะนำวิธีการจัดการกับไฟล์ dfs ไว้อย่างละเอียด

หลังจากลงโปรแกรม MIKE ตัวใดตัวหนึ่งแล้ว โปรแกรมจะติดตั้งไปที่
C:\Program Files (x86)\DHI\2012

ซึ่งนอกจากติดตั้งโปแกรมแล้ว เราจะได้คู่มือ และตัวอย่าง ติดตั้งมาพร้อมกันนี้ด้วย

โดยคู่มือ และตัวอย่างสำหรับจัดการไฟล์ dfs นั้นจะอยู่ที่
C:\Program Files (x86)\DHI\2012\MIKE Zero\Manuals\MIKE_ZERO\FileFormats\DFS_Examples

ในรูปด้านล่าง เป็นตัวอย่างหนึ่ง ที่แสดงให้เห็นว่า เราสามารถเขียนโปรแกรมภาษา python ในการจัดการข้อมูล dfs ได้


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


ตัวอย่างภาษาที่สามารถเขียนเพื่อจัดการข้อมูล dfs ได้ประกอบไปด้วย
C#, Python, และ CsScript เป็นต้น


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

ในกรณีที่ต้องการเขียนโปรแกรม เพื่อบริหารจัดการ ข้อมูล แบบจำลอง และผลรันของแบบจำลอง สำหรับการจำลองสถานการณ์น้ำแบบอัตโนมัติ (Real time mode) เพื่อใช้เป็นระบบช่วยตัดสินใจนั้น (DSS) ก็สามารถเขียนโปรแกรมดำเนินการเองได้ทั้งหมดโดยมีเนื้อหาที่ควรทำความเข้าใจสำหรับการดำเนินการมีดังต่อไปนี้

การเขียนโปรแกรมเพื่อจัดการข้อมูลแบบ dfs ที่ใช้ในโปรแกรม MIKEbyDHI

การแปลงผลรันแบบจำลอง MIKE11 เป็น ACSII ด้วยโปรแกรม res11read.exe

การสั่งรันแบบจำลอง MIKE 11 ด้วย batch file

และเนื่องจากแบบจำลอง version ใหม่ ไม่ได้รวมเอา manual ไว้ใน package แล้ว
ดังนั้นจึงได้นำเอา FileFormats ที่อยู่ใน version 2012 มาลงไว้ที่ link ด้านล่างนี้
เผื่อใครต้องการลองโหลดไปศึกษาดู

DFS File Formats Examples