راهنمای مرجع فنی HEC-HMS - اجرای HEC-HMS با Jython :: بیسین - سایت تخصصی مهندسی آب

عضويت در خبرنامه ايـميـل پايگاه بيسيــن - عضويت پس از کليک بر روي لينک فعال سازي که براي شما ارسال خواهد شد تکميل مي شود




راهنمای مرجع فنی HEC-HMS - اجرای HEC-HMS با Jython


اجرای HEC-HMS با Jython - از Jython می توان برای اجرای HMS، یک برنامه جاوا، به روشی "بدون سر" استفاده کرد. حداقل به HEC-HMS نیاز خواهید داشت. همچنین ممکن است اسکریپت خود را از طریق یک فایل دسته ای یا IDE اجرا کنید، در این صورت شما به یک نمونه از Jython نیاز خواهید داشت.


مثال Jython

نمونه اسکریپت پایتون، compute_current.py، در زیر نشان داده شده است:

from hms.model import Project

from hms import Hms

myProject = Project.open('C:/Projects/castro/castro.hms')

myProject.computeRun('Current')

myProject.close()

Hms.shutdownEngine()


اجرای اسکریپت از طریق HEC-HMS

این ساده ترین راه برای اجرای اسکریپت jython است. HEC-HMS از یک مفسر پایتون تعبیه شده استفاده می کند و تنظیم محیط را بر عهده دارد. به سادگی اسکریپت خود را با آرگومان -script یا -s و سپس مسیر اسکریپت به HEC-HMS.cmd یا HEC-HMS.exe منتقل کنید. مثلا:


cd /d C:/Programs/HEC-HMS-4.4

hec-hms.cmd -script C:/Projects/castro/scripts/compute_current.py


اجرای اسکریپت از طریق دسته

اسکریپت ها را می توان از طریق پرونده دسته ای نیز اجرا کرد. در این حالت شما باید یک محیط معادل با HEC-HMS تنظیم کنید. فایل دسته ای، compute_current.bat، در زیر نشان داده شده است:


set "PATH=C:/Programs/HEC-HMS-4.4-beta.2/bin/gdal;%PATH%"

set "GDAL_DRIVER_PATH=C:/Programs/HEC-HMS-4.4-beta.2/bin/gdal/gdalplugins"

set "GDAL_DATA=C:/Programs/HEC-HMS-4.4-beta.2/gdal/bin/gdal-data"

set "PROJ_LIB=C:/Programs/HEC-HMS-4.4-beta.2/gdal/bin/projlib"


set-"CLASSPATH=C:/Projects/hms/HEC-HMS/build/distributions/HEC-HMS-4.4-beta.2/hms.jar;C:/Projects/hms/HEC-HMS/build/distributions/HEC-HMS-4.4-beta.2/lib/*"


C:/jython2.7.1/bin/jython--Djava.library.path="C:/Programs/HEC-HMS-4.4-beta.2/bin;C:/Programs/HEC-HMS-4.4-beta.2/bin/gdal" compute_current.py


خط 1: مسیر باینری GDAL متغیر محیط PATH را منبسط می کند. این احتمالاً لازم نیست مگر اینکه در مدل met با طوفان HMR52 کار کنید. مسیرهای TauDEM و MPI شامل نمی شوند زیرا از طریق برنامه نویسی به آنها دسترسی نخواهیم داشت.


خطوط 2-4: سایر متغیرهای محیط GDAL پیکربندی شده اند. این موارد احتمالاً برای اکثر برنامه های اسکریپت نویسی ضروری نیست.


خط 5: java classpath را طوری تنظیم کنید که مسیر دسترسی به کتابخانه های وابسته و hms.jar را در آن داشته باشد. همه کتابخانه های وابسته در فهرست توزیع lib قرار دارند. در این حالت یک wildcard * نشان می دهد که همه کتابخانه های موجود در فهرست lib باید به classpath اضافه شوند.


خط 6: برای اجرای اسکریپت از برنامه اجرایی jython استفاده کنید. -Djava.library.path مسیر کتابخانه های بومی را تعیین می کند. مسیرها باید شامل دایرکتوری bin توزیع، جایی که javaHeclib.dll و WindowsEn Environment.dll در آن قرار دارند، و همچنین فهرست bin / gdal که gdal201.dll در آن قرار دارد.


اجرای اسکریپت در IDE

اسکریپت ها همچنین می توانند در یک محیط توسعه یکپارچه (IDE) اجرا شوند. IDE ها ویژگی های مفیدی مانند تکمیل کد، بازسازی مجدد خودکار و اشکال زدایی را ارائه می دهند. این مثال نشانگر استفاده از IntelliJ با افزونه Python است. از پیکربندی های دیگر IDE مانند گرفتگی با پلاگین PyDev می توان استفاده کرد.


پروژه جدیدی به نام jython-hms-scripts ایجاد شده است. فایل compute_current.py در پروژه قرار داده شده است:



اسکریپت از قطعه کد بالا compute_current.py است.



در Project Structure، Project SDK را روی نمونه ای از Jython تنظیم کنید.



در Project Structure، hms.jar را به عنوان کتابخانه اضافه کنید. می توانید بقیه شیشه های کتابخانه وابسته را به صورت اختیاری در اینجا اضافه کنید.



یک پیکربندی اجرای جدید ایجاد کنید، مانند compute_current.



در پیکربندی اجرا، متغیرهای محیط را تنظیم کنید. یادداشت ها را در بخش اجرای یک اسکریپت از طریق دسته مشاهده کنید. در این حالت متغیر محیط CLASSPATH بر روی دایرکتوری توزیع lib تنظیم می شود. همچنین می توانید هر شیشه را به روشنی در Project Structure | اضافه کنید.



در پیکربندی اجرا، گزینه های مفسر را برای قرار دادن -Djava.library.path تنظیم کنید. یادداشت ها را در بخش اجرای یک اسکریپت از طریق دسته مشاهده کنید.



برای مرجع HI-HMS API، به اسکریپت نویسی در کتابچه راهنمای کاربر HEC-HMS مراجعه کنید.













نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

درباره بهترين هاي بيسيـــن بدانيد...

Bird

يکي از مهمترين اهداف اين سايت تهيه آموزش هاي روان از ابزارهاي کاربردي علوم آب است.

اهميت مطالعات محيطي با ابزارهاي نوين در چيست؟

امروز با فارغ التحصيلي جمع کثير دانشجويان سالهاي گذشته و حال، با گذر از کمي گرايي ديگر صرف وجود مدارک دانشگاهي حرف اول را در بازار کار نمي زند؛ بلکه سنجش ديگري ملاک؛ و شايسته سالاري به ناچار! باب خواهد شد. يکي از مهم ترين لوازم توسعه علمي در هر کشور و ارائه موضوعات ابتکاري، بهره گيري از ابزار نوين است، بيسين با همکاري مخاطبان مي تواند در حيطه علوم آب به معرفي اين مهم بپردازد.

جستجو در بيسين
سایت مهندسی آب

بیسین - سایت تخصصی مهندسی آب

سایت بیسین با معرفی مهم ترین و کاربردی ترین نرم افزارها و مدل های شبیه سازی در حیطه مهندسی آب، تلاش به تهیه خدمات یکپارچه و محلی از محاسبات هیدرولوژیکی و هیدرولیکی می کند

اطلاعات سايت

  • www.Basin.ir@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: Basin_Ir_bot
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09120523293-098

W3Schools

W3Schools