نمودار مقایسه مقدار مشاهداتی و محاسباتی با Muse Model و پایتون
به منظور تخمین دقیق تابع هدف، مدلسازی آب های زیرزمینی با MODFLOW و سایر کدها به صورت مدلسازی معکوس تعریف می شود که در آن پارامترهای کلیدی از طریق مقایسه نتایج مدل با داده های مشاهده شده محاسبه می شود. این فرایند مقایسه طولانی است، استفاده از معیارهای پذیرش و تحلیل روند متاثر شرایط مرزی است.
ابزار برای مقایسه سطوح آب مشاهده شده و شبیه سازی شده در Model Muse وجود دارد و نمودارهای سفارشی را می توان با چند خط در Python انجام داد. این آموزش تمام روش ها را برای ایجاد طرح شبیه سازی شده / مشاهده شده در پایتون از نتایج مدل MODFLOW اجرا می کند. مورد مطالعه بیش از یک مدل منطقه ای با بیش از 100 پیزومتر است. آموزش یک گراف با یک نوار رنگی ایجاد می کند و آن را به عنوان یک فایل PNG صادر می کند.
# Import the required libraries
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Setup the model folder and model name
modPath = '../Model/'
modName = 'Modelo1'
# Import observation results as a Pandas dataframe
hobOut = pd.read_csv(modPath + modName + '.hob_out',delimiter='\s+')
hobOut.head()
# Column names are renamed. There is one more column on the dataframe from the difference in between observed - simulated
hobOut.rename(columns={'SIMULATED EQUIVALENT':'Simulated Head',
'OBSERVED VALUE':'Observed Head',
'OBSERVATION NAME':'Piezometer'},inplace=True)
hobOut.set_index('Piezometer', inplace=True)
hobOut['Residual'] = hobOut['Simulated Head'] - hobOut['Observed Head']
hobOut.head()
#Piezometers that went dry are filtered from the plot, because there is no mean to compare a simulated dry piezometer with
#a observed head
hobOutFil = hobOut[hobOut['Simulated Head']>-10000]
hobOutFil.head()
#Create a basic scatter plot with Matplotlib
#A identity line was created based on the minumum and maximum observed value
#Points markers are colored by the residual and a residual colorbar is added to the figure
fig = plt.figure(figsize=(10,8))
x = np.linspace(hobOutFil['Observed Head'].min(), hobOutFil['Observed Head'].max(), 100)
plt.plot(x, x, linestyle='dashed')
plt.scatter(hobOutFil['Observed Head'],hobOutFil['Simulated Head'], marker='o', c=hobOutFil['Residual'])
cbar = plt.colorbar()
cbar.set_label('Residual (m)', fontsize=14)
plt.grid()
plt.xlabel('Observed Head (m)', fontsize=14)
plt.ylabel('Simulated Head (m)', fontsize=14)
fig.tight_layout()
fig.savefig('../Figures/ObservedSimulatedHeadComparisonPlot.png')
برای یافتن تمامی مطالب مرتبط با این مطلب در سایت از جستجوی سایت در حاشیه سمت راست و بالای صفجه استفاده فرمایید.
ورود به بخش آموزش های متنی GMS
دانلود آخرین نسخه نرم افزار GMS
دریافت لایسنس ارزیابی (14 روزه)
برای سفارش انجام مدل سازی اینجا کلیک کنید
شناسه تلگرام مدیر سایت: SubBasin@
نشانی ایمیل: behzadsarhadi@gmail.com
(سوالات تخصصی را در گروه تلگرام ارسال کنید)
_______________________________________________________
نظرات (۰)