Index: doc/index.rst =================================================================== diff -u -rd5e9ccd156afb55bd4b06b3bcf7d892070f864af -r666a418a8a7170634fc9c9b10a47340ca926f889 --- doc/index.rst (.../index.rst) (revision d5e9ccd156afb55bd4b06b3bcf7d892070f864af) +++ doc/index.rst (.../index.rst) (revision 666a418a8a7170634fc9c9b10a47340ca926f889) @@ -169,6 +169,13 @@ wflow_W3RA +The wflow\_Topoflex model +===================== +.. toctree:: + :maxdepth: 2 + + wflow_Topoflex + The wflow\_routing model ======================== .. toctree:: Index: doc/wflow0.9.ppt =================================================================== diff -u -r448e5e495de6c7703fa393bb7926cebec867ecf6 -r666a418a8a7170634fc9c9b10a47340ca926f889 Binary files differ Index: examples/batches/run_topoflex.bat =================================================================== diff -u -r5f72a83356683168a37f127593b6f33c4eccd3b5 -r666a418a8a7170634fc9c9b10a47340ca926f889 --- examples/batches/run_topoflex.bat (.../run_topoflex.bat) (revision 5f72a83356683168a37f127593b6f33c4eccd3b5) +++ examples/batches/run_topoflex.bat (.../run_topoflex.bat) (revision 666a418a8a7170634fc9c9b10a47340ca926f889) @@ -1,3 +1,3 @@ cd -python ../../wflow-py/Sandbox/wflow_topoflex/wflow_topoflex.py -C ../wflow_orientale_topoflex -R test_run -c wflow_orientale_topoflexWH.ini -I -T 20 +python ../../wflow-py/Sandbox/wflow_topoflex/wflow_topoflex.py -C ../wflow_orientale_topoflex -R test_run_reservoirs_names -c wflow_orientale_topoflexHCW.ini -I -T 20 pause \ No newline at end of file Index: examples/wflow_orientale_topoflex/wflow_orientale_topoflexHCW.ini =================================================================== diff -u -r7009a9b1afac296365ebef623478dab8a3e2de5e -r666a418a8a7170634fc9c9b10a47340ca926f889 --- examples/wflow_orientale_topoflex/wflow_orientale_topoflexHCW.ini (.../wflow_orientale_topoflexHCW.ini) (revision 7009a9b1afac296365ebef623478dab8a3e2de5e) +++ examples/wflow_orientale_topoflex/wflow_orientale_topoflexHCW.ini (.../wflow_orientale_topoflexHCW.ini) (revision 666a418a8a7170634fc9c9b10a47340ca926f889) @@ -36,6 +36,7 @@ selectSr=None,None #input time series +# J.S., deze kunnen weg, zie [modelparameters] sectie Pfile_1 = intss\1_P.tss Efile_1 = intss\1_PET.tss Tfile_1 = intss\1_T.tss @@ -102,6 +103,7 @@ Kr =[0,0] + [layout] # if set to zero the cell-size is given in lat/long (the default) sizeinmetres = 0 @@ -120,39 +122,61 @@ #self.Su_diff=sudiff -# List all timeseries in tss format to save in this section. Timeseries are -# produced per subcatchment. -[outputtss] + + +[modelparameters] +# Format: +# name=stack,type,default,verbose[lookupmap_1],[lookupmap_2],lookupmap_n] +# example: +# RootingDepth=monthlyclim/ROOT,monthyclim,100,1 + +# - name - Name of the parameter (internal variable) +# - stack - Name of the mapstack (representation on disk or in mem) relative to case +# - type - Type of parameter (default = static) +# - default - Default value if map/tbl is not present +# - set to 1 to be verbose if a map is missing +# - lookupmap - maps to be used in the lookuptable in the case the type is statictbl + +#Possible types are:: +# - staticmap: Read at startup from map +# - statictbl: Read at startup from tbl +# - tbl: Read each timestep from tbl and at startup +# - timeseries: read map for each timestep +# - monthlyclim: read a map corresponding to the current month (12 maps in total) +# - dailyclim: read a map corresponding to the current day of the year +# - hourlyclim: read a map corresponding to the current hour of the day (24 in total) (not implemented yet) +# - tss: read a tss file and link to lookupmap (only one allowed) a map using timeinputscalar +Temperature=intss/1_T.tss,tss,0.0,1,staticmaps/wflow_mgauges.map +Precipitation=intss/1_P.tss,tss,0.0,1,staticmaps/wflow_mgauges.map +PotEvaporation=intss/1_PET.tss,tss,0.0,1,staticmaps/wflow_mgauges.map + + +[outputtss_0] +samplemap=staticmaps/wflow_mgauges.map #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 +self.Si[0]=SiW.tss +self.Si[1]=SiH.tss +self.Sf[1]=SfH.tss +self.Sf[0]=SfW.tss +self.Su[1]=SuH.tss +self.Su[0]=SuW.tss #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 +self.Precipitation=Prec.tss +self.Qu_[0]=QuW.tss +self.Qu_[1]=QuH.tss +#self.Ei_[1]=EiH.tss +self.Eu_[0]=EuW.tss +self.Eu_[1]=EuH.tss +self.Pe_[0]=peW.tss +self.Pe_[1]=peH.tss +self.Perc_[1]=PercH.tss +self.Cap_[0]=CapW.tss +self.Qf_[1] = QfH.tss +self.Qf_[0] = QfW.tss +self.Qfcub = Qfcub.tss +self.Qtlag = Qtlag.tss #waterbalance -# Variables to determine basic statistics for (and save to disk at the -# and of the run. Note that the statistics are only calculated if -# the -S command-line option is given. -# THIS DOES NOT WORK YET. -[statvariables] -#self.FirstZoneDepth=fir + Fisheye: Tag 666a418a8a7170634fc9c9b10a47340ca926f889 refers to a dead (removed) revision in file `examples/wflow_orientale_topoflex/wflow_orientale_topoflexWH2.ini'. Fisheye: No comparison available. Pass `N' to diff? Index: examples/wflow_orientale_topoflex/wflow_orientale_topoflex_zero_res.ini =================================================================== diff -u --- examples/wflow_orientale_topoflex/wflow_orientale_topoflex_zero_res.ini (revision 0) +++ examples/wflow_orientale_topoflex/wflow_orientale_topoflex_zero_res.ini (revision 666a418a8a7170634fc9c9b10a47340ca926f889) @@ -0,0 +1,197 @@ + +[framework] +outputformat = 1 + +# Model parameters and settings +[model] +AnnualDischarge=2290 +# Alpha for wiver-width estimation 5 for mountain stream 60 for the river rhine +Alpha=120 +ModelSnow=1 +ScalarInput=1 +InputSeries=1 +InterpolationMethod=inv +Tslice=1 +UpdMaxDist=300000.0 +P_style = 1 +L_IRURFR = 0 +L_URFR = 0 +L_FR = 0 +maxTransitTime = 9 +DistForcing = 3 +maxGaugeId = 10 +Ks = 0.0004 +spinUp_time = 5 +NSEbreak = 0 + +#W=wetland(0) H=hillslope(1) P=plateau(2) WD = drained wetland(3) +classes = ['W','H'] +timestepsecs = 3600 + +#selection of reservoir configuration - 'None' means reservoir should not be modelled for this class +selectSi = interception_overflow2, interception_overflow2 +selectSu= unsatZone_LP_beta, unsatZone_LP_beta +selectSus=None,None +selectSf=fastRunoff_lag2, fastRunoff_lag2 +selectSr=None,None + +# selection of Ss (lumped over entire catchment, so only one!) +# selectSs = + +#input time series +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 +lamda = 2.45e6 +Cp = 1.01e-3 +rhoA = 1.29 +rhoW = 1000 +gamma = 0.066 +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] +Tf = [1, 3] +imax = [1.2, 2] +perc = [0, 0.000] +cap = [0.09, 0] +LP = [0.5, 0.8] +Ce = [1, 1] + +#Jarvis stressfunctions +JC_D05 = [1.5,1.5] +JC_cd1 = [3,3] +JC_cd2 = [0.1,0.1] +JC_cr = [100,100] +JC_cuz = [0.07,0.07] +SuFC = [0.98,0.98] +SuWP = [0.1,0.1] +JC_rstmin = [150,250] + +#parameters not used for this configuration +samax = [0,0] +famax = [0,0] +sumin = [0,0] +susmax1 = [0,0] +susmax2 = [0,0] +susmax3 = [0,0] +srmax = [0,0] +Co = [1,1] +Kd = [0,0] +Kr =[0,0] + + +[layout] +# if set to zero the cell-size is given in lat/long (the default) +sizeinmetres = 0 + +[outputmaps] +#self.Si_diff=sidiff +#self.Pe=pe +#self.Ei=Ei +#self.Si=si +#self.Qfin=Qfin +#self.QfinLag=QfinLag +#self.RunoffLaged=runlag +#self.Su=Su +#self.Qu=Qu +#self.evaporation=act +#self.Su_diff=sudiff + + +# List all timeseries in tss format to save in this section. Timeseries are +# produced per subcatchment. + +[outputtss_0] +samplemap=staticmaps/wflow_mgauges.map +#states +self.Si[0]=SiW.tss +self.Si[1]=SiH.tss +self.Sf[1]=SfH.tss +self.Sf[0]=SfW.tss +self.Su[1]=SuH.tss +self.Su[0]=SuW.tss +#fluxen +self.Precipitation=Prec.tss +self.Qu_[0]=QuW.tss +self.Qu_[1]=QuH.tss +self.Ei_[0]=EiW.tss +self.Ei_[1]=EiH.tss +self.Eu_[0]=EuW.tss +self.Eu_[1]=EuH.tss +self.Pe_[0]=peW.tss +self.Pe_[1]=peH.tss +self.Perc_[1]=PercH.tss +self.Cap_[0]=CapW.tss +self.Qf_[1] = QfH.tss +self.Qf_[0] = QfW.tss +self.Qfcub = Qfcub.tss +self.Qtlag = Qtlag.tss + +[outputtss_1] +samplemap = staticmaps/wflow_gauges.map +#states +self.Ss = Ss.tss +#fluxen +self.Qs = Qs.tss +self.QLagTot = runLag.tss +self.WBtot = WB.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 + + + +# Variables to determine basic statistics for (and save to disk at the +# and of the run. Note that the statistics are only calculated if +# the -S command-line option is given. +# THIS DOES NOT WORK YET. +[statvariables] +#self.FirstZoneDepth=fir Index: wflow-py/Sandbox/wflow_topoflex/wflow_topoflex.py =================================================================== diff -u -r878b78ee5bcc03356fd85011b4da54a9d9636813 -r666a418a8a7170634fc9c9b10a47340ca926f889 --- wflow-py/Sandbox/wflow_topoflex/wflow_topoflex.py (.../wflow_topoflex.py) (revision 878b78ee5bcc03356fd85011b4da54a9d9636813) +++ wflow-py/Sandbox/wflow_topoflex/wflow_topoflex.py (.../wflow_topoflex.py) (revision 666a418a8a7170634fc9c9b10a47340ca926f889) @@ -45,7 +45,6 @@ """ Inlezen tijdseries (grids) Nieuwe lezen parameters -Lijstjes reservoirs en fluxen Reservoir nul een doorgeefreservoir maken Multiplication with cell surface aanpassen Verwijderen IRURFR_L statements? Index: wflow-py/wflow/wf_DynamicFramework.py =================================================================== diff -u -r6a7bc8aa1448ca6ea1197143f25524e413ac27b5 -r666a418a8a7170634fc9c9b10a47340ca926f889 --- wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision 6a7bc8aa1448ca6ea1197143f25524e413ac27b5) +++ wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision 666a418a8a7170634fc9c9b10a47340ca926f889) @@ -216,7 +216,7 @@ self.steps = self.steps + 1 tmpvar = scalar(spatial(variable)) - self.resmap = areaaverage(tmpvar,self.area) + self.resmap = areaaverage(tmpvar,nominal(self.area)) self.remap_np = pcr2numpy(self.resmap,0) self.flatres = self.remap_np.flatten()[self.idx] @@ -372,7 +372,7 @@ :param areamap: :return: """ - return cover(timeinputscalar(tssfile,areamap),default) + return cover(timeinputscalar(tssfile,nominal(areamap)),default) @@ -770,7 +770,8 @@ exec "tmpvar = " + self.varnamecsv[a] duration = self.currentdatetime - self.datetime_firststep - timestep = int(duration.total_seconds()/self.timestepsecs) + 1 + timestep = int(duration.total_seconds()/self._userModel().timestepsecs) + 1 + self.oscv[self.samplenamecsv[a]].writestep(tmpvar,a,timestep=timestep)