پس پردازش نتایج مدل مادفلو در Python :: بیسین - سایت تخصصی مهندسی آب

پس پردازش نتایج مدل مادفلو در Python

پس پردازش نتایج

یک بار دیگر، می توانیم از فایل خروجی باینری MODFLOW، با استفاده از ماژول flopy.utils.binaryfile، سطوح آب را بخوانیم. همراه با Object HeadFile چندین روش وجود دارد که ما در اینجا استفاده خواهیم کرد: get_times لیستی از بارهای موجود در فایل head file را بازگرداند. get_data آرایه سطح سه بعدی را برای زمان مشخص بازگرداند. get_ts آرایه سری زمانی [ntimes، headval] برای سلول مشخص شده را برمیگرداند.

با استفاده از این روش، می توانیم نتایج حاصل از مدل ها، نمونه های سطح آب و هیدروگراف را ایجاد کنیم:


# Imports
import matplotlib.pyplot as plt
import flopy.utils.binaryfile as bf

# Create the headfile object
headobj = bf.HeadFile(modelname+'.hds')
times = headobj.get_times()

# Setup contour parameters
levels = np.arange(1, 10, 1)
extent = (delr/2., Lx - delr/2., delc/2., Ly - delc/2.)
print 'Levels: ', levels
print 'Extent: ', extent

# Well point
wpt = ((float(ncol/2)-0.5)*delr, (float(nrow/2-1)+0.5)*delc)
wpt = (450., 550.)

# Make the plots
mytimes = [1.0, 101.0, 201.0]
for iplot, time in enumerate(mytimes):
    print '*****Processing time: ', time
    head = headobj.get_data(totim=time)
    #Print statistics
    print 'Head statistics'
    print '  min: ', head.min()
    print '  max: ', head.max()
    print '  std: ', head.std()

    #Create the plot
    #plt.subplot(1, len(mytimes), iplot + 1, aspect='equal')
    plt.subplot(1, 1, 1, aspect='equal')
    plt.title('stress period ' + str(iplot + 1))
    plt.imshow(head[0, :, :], extent=extent, cmap='BrBG', vmin=0., vmax=10.)
    plt.colorbar()
    CS = plt.contour(np.flipud(head[0, :, :]), levels=levels, extent=extent,
                     zorder=10)
    plt.clabel(CS, inline=1, fontsize=10, fmt='%1.1f', zorder=11)
    mfc = 'None'
    if (iplot+1) == len(mytimes):
        mfc='black'
    plt.plot(wpt[0], wpt[1], lw=0, marker='o', markersize=8,
             markeredgewidth=0.5,
             markeredgecolor='black', markerfacecolor=mfc, zorder=9)
    plt.text(wpt[0]+25, wpt[1]-25, 'well', size=12, zorder=12)
    plt.show()

plt.show()


اگر همه چیز به درستی کار کرده باشد، باید خطوط زیر را ببینید.



سری زمانی سطح آب در مقابل زمان

با برداشتن سطوح دوتایی از headobj یک قطعه سطح آب در برابر زمان ایجاد کنید:


# Plot the head versus time
idx = (0, nrow/2 - 1, ncol/2 - 1)
ts = headobj.get_ts(idx)
plt.subplot(1, 1, 1)
ttl = 'Head at cell ({0},{1},{2})'.format(idx[0] + 1, idx[1] + 1, idx[2] + 1)
plt.title(ttl)
plt.xlabel('time')
plt.ylabel('head')
plt.plot(ts[:, 0], ts[:, 1])
plt.show()

برای یافتن تمامی مطالب مرتبط با این مطلب در سایت از جستجوی سایت در حاشیه سمت راست و بالای صفجه استفاده فرمایید.


لیست دیگر آموزش های مرتبط

ورود به بخش آموزش های متنی GMS

ویکی نرم افزار GMS

انجمن بحث و گفتگو GMS

کلاس های بین المللی GMS

منابع آموزشی نرم افزار GMS


آموزش های ویدیویی فارسی GMS

آموزش های ویدیویی انگلیسی GMS


دانلود آخرین نسخه نرم افزار GMS


دریافت کرک نرم افزار GMS

دریافت لایسنس ارزیابی (14 روزه)


برای سفارش انجام مدل سازی اینجا کلیک کنید



پروژه تخصصی در لینکدین




نظرات (۱)

  • آواتار کامنت نسترن نصیری

    با سلام 

     

    آیا مدل آب زیرزمینی ساخته شده در GMS را در پایتون فراخوانی کرد و تغییراتی را بر روی آن اعمال کرد؟ آیا لازم است پیش از فراخوانی مدل GMS، مدل را تغییر داد؟

     

    با تشکر

فرم ارسال نظر

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


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

Bird

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

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

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

جستجو در بيسين


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

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

W3Schools


اطلاعات سايت

  • behzadsarhadi@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: SubBasin
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09190622992-098

W3Schools