Index: examples/wflow_orientale_topoflex/staticmaps/wflow_transit.map =================================================================== diff -u -r5f72a83356683168a37f127593b6f33c4eccd3b5 -r5304872d008eedd1549905bf187ecd067a92a73a Binary files differ Index: examples/wflow_orientale_topoflex/wflow_orientale_topoflex_zero_res.ini =================================================================== diff -u -rfacc3a7f729f6910dac37d4761992c70d238fcbd -r5304872d008eedd1549905bf187ecd067a92a73a --- examples/wflow_orientale_topoflex/wflow_orientale_topoflex_zero_res.ini (.../wflow_orientale_topoflex_zero_res.ini) (revision facc3a7f729f6910dac37d4761992c70d238fcbd) +++ examples/wflow_orientale_topoflex/wflow_orientale_topoflex_zero_res.ini (.../wflow_orientale_topoflex_zero_res.ini) (revision 5304872d008eedd1549905bf187ecd067a92a73a) @@ -43,6 +43,11 @@ selectRout = routingQf_combined #selectRout = routingQf_Qs_grid +#input time series +#Pfile_1 = intss\1_P.tss +#Efile_1 = intss\1_PET.tss +#Tfile_1 = intss\1_T.tss + #wflow maps with percentages wflow_percent_0 = staticmaps/wflow_percentW4.map wflow_percent_1 = staticmaps/wflow_percentHPPPA4.map Fisheye: Tag 5304872d008eedd1549905bf187ecd067a92a73a refers to a dead (removed) revision in file `examples/wflow_orientale_topoflex_distrib/wflow_orientale_topoflex_distrib.ini'. Fisheye: No comparison available. Pass `N' to diff? Index: examples/wflow_orientale_topoflex_distrib/wflow_orientale_topoflex_distrib_accutravel.ini =================================================================== diff -u -rf95a643bab9f58880912cb18318fdb74dd6e10a9 -r5304872d008eedd1549905bf187ecd067a92a73a --- examples/wflow_orientale_topoflex_distrib/wflow_orientale_topoflex_distrib_accutravel.ini (.../wflow_orientale_topoflex_distrib_accutravel.ini) (revision f95a643bab9f58880912cb18318fdb74dd6e10a9) +++ examples/wflow_orientale_topoflex_distrib/wflow_orientale_topoflex_distrib_accutravel.ini (.../wflow_orientale_topoflex_distrib_accutravel.ini) (revision 5304872d008eedd1549905bf187ecd067a92a73a) @@ -20,7 +20,6 @@ maxTransitTime = 9 DistForcing = 3 maxGaugeId = 10 -Ks = 0.0004 spinUp_time = 5 NSEbreak = 0 @@ -29,13 +28,16 @@ timestepsecs = 3600 #selection of reservoir configuration - 'None' means reservoir should not be modelled for this class +selectSw = None, None selectSi = interception_overflow2, interception_overflow2 -selectSu= unsatZone_LP_beta, unsatZone_LP_beta -selectSf=fastRunoff_lag2, fastRunoff_lag2 -selectSr=None,None +selectSa = None, None +selectSu = unsatZone_LP_beta, unsatZone_LP_beta +selectSf = fastRunoff_lag2, fastRunoff_lag2 +selectSfa = None, None +selectSr = None, None # selection of routing routine (for combined fluxes of different classes, so only one!) -#selectRout = routingQf_combined +#selectRout = routingQf_combined # niet gebruiken, zit nog een bug in selectRout = routingQf_Qs_grid # selection of Ss (lumped over entire catchment, so only one!) @@ -45,27 +47,13 @@ Pfile_1 = intss\1_P.tss Efile_1 = intss\1_PET.tss Tfile_1 = intss\1_T.tss -#Qfile_1 = D:/TEuser/Onderzoek/Promotie/modellen/OpenStreams/wflow/wflow_orientale_topoflex/intss/1_Qobs.tss -#Pfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_rain_10H.tss -#Efile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_Ep_10H.tss -#TDMfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_tempDMean_10H.tss -#RNfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_radNet_10H.tss -#RSfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_radSI_10H.tss -#SGfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_sgamma_10H.tss -#VPDfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_vpd_10H.tss -#Wfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_wind_10H.tss -#DSfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_dayS_10H.tss -#DEfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_dayE_10H.tss -#LAIfile_2 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_lai_10H.tss -#rst_lai_0 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_rstMin_laiEff_W4.tss -#rst_lai_1 = /u/euser/WFLOW/wflow/wflow_ourthe_testStructure/intss/2_rstMin_laiEff_HPPPA4.tss #wflow maps with percentages wflow_percent_0 = staticmaps/wflow_percentW4.map wflow_percent_1 = staticmaps/wflow_percentHPPPA4.map #constant model parameters - some are catchment dependent -Ks = 0.0004 +Ks = [0.0004, 0.0004] lamda = 2.45e6 Cp = 1.01e-3 rhoA = 1.29 @@ -74,16 +62,30 @@ JC_Topt = 301 #parameters for fluxes and storages -sumax = [140, 300] -beta = [0.1, 0.1] -D = [0, 0.10] -Kf = [0.1, 0.006] +sumax = [70,85] +samax = [0,0] +beta = [0.5, 0.5] +betaA = [0,0.22] +D = [0, 0.26] +Kf = [0.055, 0.0045] +Kfa = [0,0.055] Tf = [1, 3] -imax = [1.2, 2] -perc = [0, 0.000] +imax = [1.2, 2.2] +perc = [0, 0.008] cap = [0.09, 0] -LP = [0.5, 0.8] -Ce = [1, 1] +LP = [0.05,0.15] +redsu = [1,1] +Tfa = [0,0] +decF = [0,0] +Fmax = [0,0] +Fmin = [0,0] +Tt = [0.7, 0.7] +Tm = [1.4, 1.4] +Fm = [0.1, 0.1] +FrDur0 = [-1, -1, -1] +FrDur1 = [0, 0, 0] +dayDeg = [1, 1, 1] +ratFT = [5, 5, 5] #Jarvis stressfunctions JC_D05 = [1.5,1.5] @@ -146,6 +148,7 @@ self.Precipitation=Prec.tss self.Qu_[0]=QuW.tss self.Qu_[1]=QuH.tss +self.Qw_[1] = QwH.tss self.Ei_[0]=EiW.tss self.Ei_[1]=EiH.tss self.Eu_[0]=EuW.tss @@ -174,34 +177,8 @@ self.WB_rout = WBrout.tss self.wbSs = wbSs.tss -#[outputtss] -##stages -#self.Si[0]=SiW -#self.Si[1]=SiH -#self.Sf[1]=SfH -#self.Sf[0]=SfW -#self.Su[1]=SuH -#self.Su[0]=SuW -##fluxen -#self.Precipitation=Prec -#self.Qu_[0]=QuW -#self.Qu_[1]=QuH -#self.Ei_[0]=EiW -#self.Ei_[1]=EiH -#self.Eu_[0]=EuW -#self.Eu_[1]=EuH -#self.Pe_[0]=peW -#self.Pe_[1]=peH -#self.Perc_[1]=PercH -#self.Cap_[0]=CapW -#self.Qf_[1] = QfH -#self.Qf_[0] = QfW -#self.Qfcub = Qfcub -#self.Qtlag = Qtlag -##waterbalance - [modelparameters] # Format: # name=stack,type,default,verbose[lookupmap_1],[lookupmap_2],lookupmap_n] Index: wflow-py/wflow/reservoir_Si.py =================================================================== diff -u -rfacc3a7f729f6910dac37d4761992c70d238fcbd -r5304872d008eedd1549905bf187ecd067a92a73a --- wflow-py/wflow/reservoir_Si.py (.../reservoir_Si.py) (revision facc3a7f729f6910dac37d4761992c70d238fcbd) +++ wflow-py/wflow/reservoir_Si.py (.../reservoir_Si.py) (revision 5304872d008eedd1549905bf187ecd067a92a73a) @@ -39,7 +39,7 @@ self.Pe_[k] = max(self.Precipitation, 0) self.Ei_[k] = 0. self.Si_[k] = 0. - self.wbSi_[k] = self.Precipitation - self.Ei - self.Pe - self.Si[k] + self.Si_t[k] + self.wbSi_[k] = self.Precipitation - self.Ei_[k] - self.Pe_[k] - self.Si[k] + self.Si_t[k] def interception_overflow2(self, k): """ @@ -55,8 +55,8 @@ self.wbSi_[k] = self.Precipitation - self.Ei - self.Pe - self.Si[k] + self.Si_t[k] - self.Pe = self.Pe + self.Qw #added on 3-11-2015 for snow module - self.Ei = self.Ei + self.Ew + self.Pe = self.Pe + self.Qw_[k] #added on 3-11-2015 for snow module + self.Ei = self.Ei + self.Ew_[k] self.Ei_[k]=self.Ei self.Pe_[k]=self.Pe @@ -87,8 +87,8 @@ self.wbSi_[k] = self.Precipitation - self.Ei - self.Pe - self.Si[k] + self.Si_t[k] - self.Pe = self.Pe + self.Qw #added on 3-11-2015 for snow module - self.Ei = self.Ei + self.Ew + self.Pe = self.Pe + self.Qw_[k] #added on 3-11-2015 for snow module + self.Ei = self.Ei + self.Ew_[k] self.Ei_[k]=self.Ei self.Pe_[k]=self.Pe Index: wflow-py/wflow/wflow_topoflex.py =================================================================== diff -u -rfacc3a7f729f6910dac37d4761992c70d238fcbd -r5304872d008eedd1549905bf187ecd067a92a73a --- wflow-py/wflow/wflow_topoflex.py (.../wflow_topoflex.py) (revision facc3a7f729f6910dac37d4761992c70d238fcbd) +++ wflow-py/wflow/wflow_topoflex.py (.../wflow_topoflex.py) (revision 5304872d008eedd1549905bf187ecd067a92a73a) @@ -107,15 +107,15 @@ # Meteo and other forcing # Meteo and other forcing -# modelparameters.append( -# self.ParamType(name="Temperature", stack='intss/T.tss', type="timeseries", default=10.0, verbose=False, -# lookupmaps=['staticmaps/wflow_subcatch.map'])) -# modelparameters.append( -# self.ParamType(name="Precipitation", stack='intss/P.tss', type="timeseries", default=0.0, verbose=False, -# lookupmaps=['staticmaps/wflow_subcatch.map'])) -# modelparameters.append( -# self.ParamType(name="PotEvaporation", stack='intss/PET.tss', type="timeseries", default=0.0, verbose=False, -# lookupmaps=['staticmaps/wflow_subcatch.map'])) + #modelparameters.append( + # self.ParamType(name="Temperature", stack='intss/T.tss', type="timeseries", default=10.0, verbose=False, + # lookupmaps=['staticmaps/wflow_subcatch.map'])) + #modelparameters.append( + # self.ParamType(name="Precipitation", stack='intss/P.tss', type="timeseries", default=0.0, verbose=False, + # lookupmaps=['staticmaps/wflow_subcatch.map'])) + #modelparameters.append( + # self.ParamType(name="PotEvaporation", stack='intss/PET.tss', type="timeseries", default=0.0, verbose=False, + # lookupmaps=['staticmaps/wflow_subcatch.map'])) return modelparameters @@ -557,35 +557,6 @@ self.convQu_t = [copylist(self.convQu[i]) for i in self.Classes] # copylist(self.convQu) self.convQa_t = [copylist(self.convQa[i]) for i in self.Classes] - # if self.scalarInput: - # if self.InputSeries == 1: - # self.Precipitation = timeinputscalar(self.precipTss, self.gaugesMap) - # self.PotEvaporation = timeinputscalar(self.evapTss, self.gaugesMap) - # self.Temperature = timeinputscalar(self.tempTss, self.gaugesMap) - # elif self.InputSeries == 2: - # self.Precipitation = timeinputscalar(self.precipTss2, self.gaugesMap) - # self.EpDay = timeinputscalar(self.evapTss2, self.gaugesMap) - # self.Tmean = timeinputscalar(self.tempDMTss, self.gaugesMap) - # self.Rn = timeinputscalar(self.radnTss, self.gaugesMap) - # self.rad_si = timeinputscalar(self.radsTss, self.gaugesMap) - # self.sgamma = timeinputscalar(self.sgammaTss, self.gaugesMap) - # self.vpd = timeinputscalar(self.vpdTss, self.gaugesMap) - # self.wind2m = timeinputscalar(self.windTss, self.gaugesMap) - # self.DS = timeinputscalar(self.daySTss, self.gaugesMap) - # self.DE = timeinputscalar(self.dayETss, self.gaugesMap) - # # self.LAI = timeinputscalar(self.laiTss,self.gaugesMap) - # self.rst_lai = [timeinputscalar(self.rst_laiTss[i], self.gaugesMap) for i in self.Classes] - # - # else: - # self.Precipitation=cover(self.wf_readmap(self.P_mapstack, 0.0), 0.0) - # self.PotEvaporation=cover(self.wf_readmap(self.PET_mapstack, 0.0), 0.0) - # self.Inflow=pcrut.readmapSave(self.Inflow_mapstack, 0.0) - # if self.ExternalQbase: - # self.Seepage = cover(self.wf_readmap(self.Seepage_mapstack, 0.0), 0.0) - # else: - # self.Seepage=cover(0.0) - # self.Temperature=self.wf_readmap(self.TEMP_mapstack, 0.0) - if self.IRURFR_L: self.PotEvaporation = areatotal(self.PotEvaporation * self.percentArea, nominal(self.TopoId)) self.Precipitation = areatotal(self.Precipitation * self.percentArea, nominal(self.TopoId)) @@ -648,27 +619,23 @@ eval_str = 'reservoir_Sr.{:s}(self, k)'.format(self.selectSr[k]) eval(eval_str) - # SLOW RUNOFF RESERVOIR =========================================================================== - - - # TOTAL RUNOFF ============================================================================================= - # self.Qfcub = (sum([x*y for x,y in zip(self.Qf_,self.percent)]) + sum([x*y for x,y in zip(self.Qo_,self.percent)]) + sum([x*y for x,y in zip(self.Qd_,self.percent)]) + sum([x*y for x,y in zip(self.Qr_,self.percent)]))/ 1000 * self.surfaceArea -# pdb.set_trace() + + # TOTAL RUNOFF ============================================================================================= self.Qftotal = sum([x * y for x, y in zip(self.Qf_, self.percent)]) + sum([x*y for x,y in zip(self.Qfa_,self.percent)]) - if self.selectSs: - eval_str = 'reservoir_Ss.{:s}(self)'.format(self.selectSs) - else: - eval_str = 'reservoir_Ss.groundWater_no_reservoir(self)' - eval(eval_str) + # SLOW RUNOFF RESERVOIR =========================================================================== + if self.selectSs: + eval_str = 'reservoir_Ss.{:s}(self)'.format(self.selectSs) + else: + eval_str = 'reservoir_Ss.groundWater_no_reservoir(self)' + eval(eval_str) + # ROUTING if self.selectRout: eval_str = 'reservoir_Sf.{:s}(self)'.format(self.selectRout) else: eval_str = 'reservoir_Sf.noRouting(self)' eval(eval_str) - - # WATER BALANCE (per reservoir, per cell) ======================================================================================== @@ -719,9 +686,11 @@ self.convQa_WB = areatotal(sum(multiply([sum(self.convQa_t[i]) for i in self.Classes],self.percent)) / 1000 * self.surfaceArea,nominal(self.TopoId)) self.trackQWB = areatotal(sum(self.trackQ),nominal(self.TopoId)) self.trackQ_WB = areatotal(sum(self.trackQ_t),nominal(self.TopoId)) + self.QstateWB = areatotal(sum(self.Qstate) * 3600, nominal(self.TopoId)) + self.Qstate_WB = areatotal(sum(self.Qstate_t) * 3600, nominal(self.TopoId)) #WBtot in m3/s - self.WBtot = (self.P - self.Ei - self.Ea - self.Eu - self.Qtot - self.SiWB + self.Si_WB - self.SuWB + self.Su_WB - self.SaWB + self.Sa_WB - self.SwWB + self.Sw_WB - self.SfWB + self.Sf_WB - self.SfaWB + self.Sfa_WB - self.SrWB + self.Sr_WB - self.SsWB + self.Ss_WB - self.convQuWB +self.convQu_WB - self.convQaWB +self.convQa_WB - self.trackQWB + self.trackQ_WB) / self.timestepsecs + self.WBtot = (self.P - self.Ei - self.Ea - self.Eu - self.Qtot - self.SiWB + self.Si_WB - self.SuWB + self.Su_WB - self.SaWB + self.Sa_WB - self.SwWB + self.Sw_WB - self.SfWB + self.Sf_WB - self.SfaWB + self.Sfa_WB - self.SrWB + self.Sr_WB - self.SsWB + self.Ss_WB - self.convQuWB +self.convQu_WB - self.convQaWB +self.convQa_WB - self.trackQWB + self.trackQ_WB - self.QstateWB + self.Qstate_WB) / self.timestepsecs # SUMMED FLUXES ====================================================================================== self.sumprecip = self.sumprecip + self.Precipitation # accumulated rainfall for water balance (m/h)