استفاده از مدل های WFLOW :: بیسین - سایت تخصصی مهندسی آب

استفاده از مدل های WFLOW


ساختار دایرکتوری: موارد و اجرا

یک پرونده حاوی تمام اطلاعات مورد نیاز برای اجرای مدل است. موارد متعدد ممکن است در کنار یکدیگر در دایرکتوری های جداگانه وجود داشته باشد. این مدل تنها با یک مورد در یک زمان کار خواهد کرد. اگر هنگام شروع مدل هیچ موردی مشخص نشده باشد، پیش فرض (default_sbm یا default_hbv) در نظر گرفته می شود. در یک مورد خروجی مدل (نتایج) در یک پوشه جداگانه ذخیره می شود. این پوشه run نامیده می شود، که نشان داده شده با runId است. این ساختار در شکل بالا مشخص شده است. اگر میخواهید نتایج را ذخیره کنید و نتایج را از یک اجرا قبلی بازنویسی نکنید، runId جدید باید مشخص شود.


inmaps

دایرکتوری که اطلاعات ورودی پویا دارد. نقشه های بارش، تبخیر و تعرق بالقوه و (به صورت اختیاری) در فرمت mapstack pcraster.


instate

دایرکتوری که شرایط اولیه ورودی را نگه می دارد. که می توان در مدل hotstart از آن استفاده کرد. بعلاوه، مدل می تواند با شرایط اولیه پیش فرض شروع شود، اما در این حالت ممکن است نیاز به یک روش طولانی اسپیناپ باشد. این کار با استفاده از گزینه خط فرمان I- انجام می شود.


intbl

دایرکتوری برگزاری جداول جستجو این پارامترهای مدل مشخص شده در هر کلاس کاربری اراضی / نوع خاک را مشخص می کند. توجه داشته باشید که میتوانید از گزینه i- برای نامگذاری جایگزین (به عنوان مثال برای حمایت از یک کالیبراسیون مدل جایگزین) استفاده کنید. به صورت اختیاری می توان یک فایل .tbl.mult را برای هر پارامتر ارائه داد. این پرونده پس از بارگذاری فایل tbl. یا فایل نقشه به منظور ضرب کردن نتایج با استفاده از آن استفاده می شود. از این مورد می توان برای کالیبراسیون و غیره استفاده کرد.


intss

دایرکتوری که زمان ورودی اسکالر را نگه می دارد. برای داده ورودی اسکالر منفرد فرض می شود که ورودی ScalarInput در فایل ini به 1 (True) تنظیم شده است.


outstate

دایرکتوری که متغیر stat را در انتهای اجرا نگه می دارد. اینها را می توان به دایرکتوری instate کپی کرد تا مدل از این شرایط شروع شود. این موارد نیز در دایرکتوری runId / outstate ذخیره می شوند.


run_default

نام پیش فرض برای اجرا. اگر هیچ مقداری از runId داده نشده است تمام داده خروجی در این پوشه ذخیره می شود.


staticmaps

نقشه های استاتیک (DEM، و غیره) که توسط اسکریپت wflow_prep تهیه شده است.

wflow_sbm | hbv.ini

تنظیمات پیش فرض برای wflow_sbm از wflow_hbv.


اجرای مدل

بررسی اجمالی

به طور کلی این مدل از خط فرمان dos / windows / linux اجرا می شود. بر اساس تنظیمات سیستم شما می توانید مستقیما فایل wFlow_ [sbm | hbv] .py فراخوانید؛ یا باید به عنوان اولین استدلال پایتون با استفاده از اسکریپت زیر فراخوانی را صورت دهید:


python wflow_sbm.py -C myCase -R calib_run -T 365 -f


در مثال فوق، مدل wflow_sbm با استفاده از اطلاعات مورد استفاده در مورد myCase و ذخیره سازی نتایج در runId calib_run اجرا می شود. مجموعی تا 365 مرتبه اجرا می شود و این مدل خروجی فعلی را در دایرکتوری calib_run بازنویسی خواهد کرد. فایل ini. فایل پیش فرض wflow_sbm.ini واقع در دایرکتوری myCase در هنگام راه اندازی فراخوانده می شود.


گزینه های خط فرمان

گزینه های خط فرمان برای wflow_sbm در زیر خلاصه شده اند، از wflow_sbm -h استفاده کنید تا آنها را در خط فرمان مشاهده کنید (گزینه ای که در سایر مدل ها ممکن است متفاوت باشند، برای دیدن گزینه های آنها به اسناد مربوطه مراجعه کنید):


wflow_sbm [-h][-v level][-F runinfofile][-L logfile][-C casename][-R runId]
      [-c configfile][-T last_step][-S first_step][-s seconds][-W][-E][-N]
      [-U discharge][-P parameter multiplication][-X][-f][-I][-i tbl_dir]
      [-x subcatchId][-u updatecols][-p inputparameter multiplication]


-F: if set wflow is expected to be run by FEWS. It will determine
    the timesteps from the runinfo.xml file and save the output initial
    conditions to an alternate location. The runinfo.xml file should be
    located in the inmaps directory of the case.
-X: save state at the end of the run over the initial conditions at
    the start
-f: Force overwrite of existing results
-T: Set last timestep
-S: Set the start timestep (default = 1)
-N: No lateral flow, use runoff response function to generate fast runoff
-s: Set the model timesteps in seconds
-I: re-initialize the initial model conditions with default
-i: Set input table directory (default is intbl)
-x: run for subcatchment only (e.g. -x 1)
-C: set the name  of the case (directory) to run
-R: set the name runId within the current case
-L: set the logfile
-E: Switch on reinfiltration of overland flow
-c: name of wflow the configuration file (default: Cassename/wflow_sbm.ini).
-h: print usage information
-W: If set, this flag indicates that an ldd is created for the water level
    for each timestep. If not the water is assumed to flow according to the
    DEM. Wflow will run a lot slower with this option. Most of the time
    (shallow soil, steep topography) you do not need this option. Also,
    if you need it you might actually need another model.
-U: The argument to this option should be a .tss file with measured
    discharge in [m^3/s] which the program will use to update the internal
    state to match the measured flow. The number of columns in this file
    should match the number of gauges.
-u: list of gauges/columns to use in update. Format:
    -u [1 , 4 ,13]
    The above example uses column 1, 4 and 13
    Note that this also sets the order in which the updating takes place! In
    general specify downstream gauges first.
-P: set parameter change string (e.g: -P 'self.FC = self.FC * 1.6')
    for non-dynamic variables
-p: set parameter change string (e.g: -P 'self.Precipitation =
    self.Precipitation * 1.11') for dynamic variables
-v: set verbosity level


wflow_sbm | فایل hbv.ini

فایل wflow_sbm | hbv.ini دارای تعدادی تنظیمات است که نحوه عملکرد مدل را تعیین می کند. فایل ها شامل بخش هایی هستند که محتوا را نگه می دارند. یک بخش با استفاده از یک کلمه کلیدی در قالب مربع تعریف می شود (به عنوان مثال [مدل]). متغیرها را می توان در هر قسمت با استفاده از یک ترکیب کلیدی keyword = value (به عنوان مثال ScalarInput = 1) تنظیم کرد. تنظیمات پیش فرض برای فایل INI در بخش های زیر ذکر شده است.


گزینه [model] برای همه مدل ها:


ModelSnow = 0

برای مدل برف با استفاده از یک مدل روز درجه ساده (به این ترتیب داده های دما مورد نیاز است)

WIMaxScale = 0.8

مقیاس برای روش رطوبت توپوگرافی در مقایسه با روش عمق خاک

Tslice = 1

تعداد برش زمانی در هر مورد استفاده در فرمول موج سینماتیکی

UpdMaxDist = 10000.0

حداکثر فاصله از سنجه برای اعمال به روز رسانی. تنها زمانی استفاده می شود اگر مدل با تخلیه اندازه گیری شده محدود شده باشد.


گزینه های خاص برای wflow_sbm:


RunoffGenSigmaFunction = 0

با استفاده از تابع سیگموئید به درصد تقریبی Dems، از رواناب زیرزمینی استفاده می کند. (فقط wflow_sbm)

updating = 0

تنظیم به 1 برای تغییر Q در روز رسانی.

updateFile

اگر به روز رسانی به 1 تنظیم شود، مشخص می شود

sCatch = 0

اگر مقدار دیگری از 0 تنظیم شود، مدل فقط از زیرسیستم مشخص شده استفاده می کند

intbl = intbl

دایرکتوری که از آن برای خواندن جداول جستجو (نسبت به دایرکتوری مورد) استفاده می شود

timestepsecs = 86400

مرتبه ای از مدل در ثانیه است

Alpha = 60

مدت آلفا در عملکرد تخمین شیب رودخانه

AnnualDischarge = 300

متوسط ​​تخلیه سالانه در خروجی حوضه آبخیز رودخانه.

UpdMaxDist = 100

حداکثر فاصله از مقیاس مورد استفاده در به روز رسانی که برای به روز رسانی مخزن موج سینماتیک (در واحد متر و یا درجه سانتیگراد) استفاده می شود

waterdem = 0

اگر بر روی 1 تنظیم شود، ldd هر بار بر اساس DEM + سطح آب دوباره محاسبه می شود

reInfilt = 0

اگر به 1 تنظیم شود، آب از مخزن موج kinematic می تواند نفوذ به خاک را مجدد تعیین کند


گزینه های زیر ضروری نیست. در اینجا می توانید محل برخی از نقشه های ورودی را تغییر دهید.


wflow_subcatch = staticmaps / wflow_subcatch.map

نقشه با subcatchments

wflow_dem = staticmaps / wflow_dem.map

نقشه ارتفاع دیجیتال

wflow_ldd = staticmaps / wflow_ldd.map

شبکه محلی زهکشی

wflow_river = staticmaps / wflow_river.map

تمام سلول ها به عنوان رودخانه مشخص شده اند

wflow_riverlength = staticmaps / wflow_riverlength.map

طول رودخانه در هر سلول

wflow_riverlength_fact = staticmaps / wflow_riverlength_fact.map

عامل افزایش طول رودخانه با

wflow_landuse = staticmaps / wflow_landuse.map

نقشه کاربری اراضی

wflow_soil = staticmaps / wflow_soil.map

نقشه خاک

wflow_gauges = staticmaps / wflow_gauges.map

نقشه با مکان های اندازه گیری

wflow_inflow = staticmaps / wflow_inflow.map

نقشه با نقاط ورودی مجاز (اختیاری)

wflow_mgauges = staticmaps / wflow_mgauges.map

نقشه با مکان های سنجنده هواشناسی (فقط مورد نیاز است اگر شما به عنوان ورودی استفاده کنید timeshere scalar)

wflow_riverwidth = staticmaps / wflow_riverwidth.map

نقشه با عرض رودخانه


[defaultfortbl]


RunoffGeneratingGWPerc = 0.1

مقدار پیش فرض برای کسر بالای مخزن آب زیرزمینی که جریان رواناب را تولید می کند (فقط wflow_sbm)


[layout]


sizeinmetres = 0

اگر مقدار به صفر برسد، در  lat/long (به طور پیش فرض) داده می شود، در غیر این صورت اندازه در متر در نظر گرفته می شود.


[outputmaps]


تصاویر خروجی برای صرفه جویی در هر زمان. گزینه های معتبر برای کلید در مدل wFlow_sbm همه متغیرهای بخش پویا مدل را می بینند (کد را ببینید). چند متغیر مفید در زیر فهرست شده است.


[outputmaps]
self.Runoff=run
self.SnowMelt=sno
self.FirstZoneFlux=fzf
self.FirstZoneDepth=fir


نکته

NB: کد wflow.py را برای تمام متغیرهای موجود را مشاهده کنید زیرا این لیست ناقص است. همچنین مستندات مربوط به محیط کار برای بخش [run] را بررسی کنید


مقادیر سمت راست علامت مساوی می توانند آزادانه انتخاب شوند.

محتوای نمونه:


Self.Runoff=run
self.FirstZoneFlux=fzf
self.FirstZoneDepth=fir


[outputcsv_0-n] [outputtss_0-n]

تعداد بخش ها برای تعریف timeseries خروجی در فرمت csv. هر بخش باید دارای یک آیتم samplemap و یک یا چند متغیر برای ذخیره باشد. نقشه نمونه نقشه ای است که چگونگی میانگین بارگذاری / نمونه برداری را تعیین می کند. همه موارد دیگر جفت نام های فایل متغیر است. نام پرونده مربوط به دایرکتوری موردی است.


مثال:


[outputcsv_0]
samplemap=staticmaps/wflow_subcatch.map
self.SurfaceRunoffMM=Qsubcatch_avg.csv

[outputcsv_1]
samplemap=staticmaps/wflow_gauges.map
self.SurfaceRunoffMM=Qgauge.csv
self.WaterLevel=Hgauge.csv

[outputtss_0]
samplemap=staticmaps/wflow_landuse.map
self.SurfaceRunoffMM=Qlu.tss


در مثال بالا، تخلیه این مدل (self.SurfaceRunoffMM) به عنوان یک میانگین در هر subcatchment، نمونه در مکان های اندازه گیری و به عنوان یک میانگین برای هر landuse ذخیره می شود.


[inputmapstacks]

این بخش را می توان برای بازنویسی نام پیش فرض نقشه های ورودی استفاده کرد


Precipitation = / inmaps / P

باران برای بارندگی

EvapoTranspiration = / inmaps / PET

تبخیر و تعرق بالقوه

دما = / inmaps / TEMP

سری زمانی دما

Inflow = / inmaps / IF

نقاط ورود / خروج (انتزاعی)



به روز رسانی با استفاده از داده های اندازه گیری شده

توجه داشته باشید

به روز رسانی فقط در wflow_sbm و wflow_hbv پشتیبانی می شود.


اگر یک فایل (در فرمت tss.) با تخلیه اندازه گیری شده با استفاده از گزینه ی U- دستورالعمل مشخص شود، مدل سعی می کند جریان را در خروجی به اندازه تخلیه اندازه گیری کند. در این حالت باید گزینه u- نیز مشخص شود که کدام ستون باید مورد استفاده قرار گیرد. هنگامی که به روز رسانی فعال می شود، مراحل زیر صورت می پذیرد:

  • تفاوت در خروجی بین رقم اندازه گیری شده و شبیه سازی Q (در میلی متر) تعیین می شود
  • این تفاوت به منابع ذخیره غیر اشباع برای تمام سلول ها اضافه می شود
  • نسبت Q اندازه گیری شده که توسط Q شبیه سازی شده در خروجی تقسیم شده است، برای ضرب کردن ذخیره موج سینماتیک با استفاده می شود. این نسبت با توجه به حداکثر فاصله از اندازه گیری مقیاس می شود.

هنگام استفاده از به روز رسانی، نکات زیر توجه داشته باشید:


فایل TSS باید ستون های بسیاری داشته باشد، زیرا اندازه گیری ها در مدل تعریف شده وجود دارد

فایل TSS باید داده های کافی برای پوشش دادن زمان شبیه سازی را داشته باشد

گزینه های U- باید مشخص شود کدام ستون ها در واقع استفاده می شوند و کدام یک از آنها برای استفاده است. به عنوان مثال:

 -u ‘[1,3,2]’  

استفاده از ستون های 1،2 و 3 را نشان می دهد.

تمام گزینه های ممکن در فایل wflow_sbm.ini


[defaultfortbl]
RunoffGeneratingGWPerc = 0.1

[layout]
sizeinmetres = 1

[fit]
areamap = staticmaps/wflow_subcatch.map
areacode = 1
Q = testing.tss
WarmUpSteps = 1
ColMeas = 0
parameter_1 = RootingDepth
parameter_0 = M
ColSim = 0

[misc]

[outputmaps]
self.SurfaceRunoff = run

[framework]
debug = 0
outputformat = 1

[inputmapstacks]
Inflow = /inmaps/IF
Precipitation = /inmaps/P
Temperature = /inmaps/TEMP
EvapoTranspiration = /inmaps/PET

[model]
wflow_river = staticmaps/wflow_river.map
InterpolationMethod = inv
reinit = 1
WIMaxScale = 0.6
wflow_riverlength_fact = staticmaps/wflow_riverlength_fact.map
OverWriteInit = 0
intbl = intbl
wflow_riverwidth = staticmaps/wflow_riverwidth.map
wflow_soil = staticmaps/wflow_soil.map
ExternalQbase = 0
updateFile = no_set
sCatch = 0
Alpha = 120
UpdMaxDist = 300000.0
wflow_subcatch = staticmaps/wflow_subcatch.map
wflow_mgauges = staticmaps/wflow_mgauges.map
timestepsecs = 86400
RunoffGeneratingGWPerc = 1.0
RunoffGenSigmaFunction = 1
ScalarInput = 0
reInfilt = 0
fewsrun = 0
wflow_dem = staticmaps/wflow_dem.map
ModelSnow = 0
AnnualDischarge = 2290
wflow_landuse = staticmaps/wflow_landuse.map
updating = 0
TemperatureCorrectionMap = staticmaps/wflow_tempcor.map
wflow_inflow = staticmaps/wflow_inflow.map
wflow_riverlength = staticmaps/wflow_riverlength.map
wflow_ldd = staticmaps/wflow_ldd.map
wflow_gauges = staticmaps/wflow_gauges.map
Tslice = 1
waterdem = 0


ادامه دارد...

بخش بعدی را اینجا بیابید.



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




نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای 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