From 0b155eb438c7fbc65e004356b90b7d205fd90f2a Mon Sep 17 00:00:00 2001 From: hboisgon Date: Wed, 7 Jun 2023 09:52:37 +0800 Subject: [PATCH 1/8] fix #181 --- hydromt_wflow/wflow.py | 1 + 1 file changed, 1 insertion(+) diff --git a/hydromt_wflow/wflow.py b/hydromt_wflow/wflow.py index dfb39754..fe35e654 100644 --- a/hydromt_wflow/wflow.py +++ b/hydromt_wflow/wflow.py @@ -1297,6 +1297,7 @@ def setup_reservoirs( if np.all(np.isin(resattributes, gdf_org.columns)): intbl_reservoirs = gdf_org[resattributes] reservoir_accuracy = None + reservoir_timeseries = None # else compute else: ( From c225ca709397d119991534b171c528bacf98f846 Mon Sep 17 00:00:00 2001 From: hboisgon Date: Wed, 7 Jun 2023 10:00:38 +0800 Subject: [PATCH 2/8] fix #135 --- hydromt_wflow/wflow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hydromt_wflow/wflow.py b/hydromt_wflow/wflow.py index fe35e654..4da6ea81 100644 --- a/hydromt_wflow/wflow.py +++ b/hydromt_wflow/wflow.py @@ -763,7 +763,7 @@ def setup_lulcmaps( This component derives several wflow maps are derived based on landuse- landcover (LULC) data. - Currently, ``lulc_fn`` can be set to the "vito", "globcover" + Currently, ``lulc_fn`` can be set to the "vito", "globcover", "esa_worldcover" or "corine", fo which lookup tables are constructed to convert lulc classses to model parameters based on literature. The data is remapped at its original resolution and then resampled to the model resolution using the average From 5b100802f2f5547b327b8eacf27a7061f48799dd Mon Sep 17 00:00:00 2001 From: hboisgon Date: Wed, 7 Jun 2023 10:47:33 +0800 Subject: [PATCH 3/8] remove deprecated basin_shape fix #71 --- hydromt_wflow/wflow.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/hydromt_wflow/wflow.py b/hydromt_wflow/wflow.py index 4da6ea81..06b1d47c 100644 --- a/hydromt_wflow/wflow.py +++ b/hydromt_wflow/wflow.py @@ -2443,11 +2443,20 @@ def basins(self): """Returns a basin(s) geometry as a geopandas.GeoDataFrame.""" if "basins" in self.staticgeoms: gdf = self.staticgeoms["basins"] - else: - gdf = flw.basin_shape( - self.staticmaps, self.flwdir, basin_name=self._MAPS["basins"] + elif self._MAPS["basins"] in self.staticmaps: + gdf = ( + self.staticmaps[self._MAPS["basins"]] + .raster.vectorize() + .set_index("value") + .sort_index() ) + gdf.index.name = self._MAPS["basins"] self.set_staticgeoms(gdf, name="basins") + else: + self.logger.warning( + f"Basin map {self._MAPS['basins']} not found in staticmaps." + ) + gdf = None return gdf @property @@ -2549,10 +2558,16 @@ def clip_staticmaps( # self.rivers # now staticgeoms links to geoms which does not exist in every hydromt version # remove when updating wflow to new objects - basins = flw.basin_shape( - self.staticmaps, self.flwdir, basin_name=self._MAPS["basins"] + # Basin shape + basins = ( + self.staticmaps[basins_name] + .raster.vectorize() + .set_index("value") + .sort_index() ) + basins.index.name = basins_name self.set_staticgeoms(basins, name="basins") + rivmsk = self.staticmaps[self._MAPS["rivmsk"]].values != 0 # Check if there are river cells in the model before continuing if np.any(rivmsk): From 87a326730764efdcbb02665568db61a84ee0bce4 Mon Sep 17 00:00:00 2001 From: hboisgon Date: Wed, 7 Jun 2023 11:16:15 +0800 Subject: [PATCH 4/8] reove FillValue in lat/lon fix #60 --- hydromt_wflow/wflow.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hydromt_wflow/wflow.py b/hydromt_wflow/wflow.py index 06b1d47c..87eecca5 100644 --- a/hydromt_wflow/wflow.py +++ b/hydromt_wflow/wflow.py @@ -1976,6 +1976,12 @@ def write_staticmaps(self): ds_out.rio.write_transform(self.staticmaps.raster.transform, inplace=True) ds_out.raster.set_spatial_dims() + # Remove FillValue Nan for x_dim, y_dim + encoding = dict() + for v in [ds_out.raster.x_dim, ds_out.raster.y_dim]: + ds_out[v].attrs.pop("_FillValue", None) + encoding[v] = {"_FillValue": None} + # filename fn_default = join(self.root, "staticmaps.nc") fn = self.get_config("input.path_static", abs_path=True, fallback=fn_default) @@ -1994,7 +2000,7 @@ def write_staticmaps(self): # nodata is required for all but boolean fields if ds_out[v].dtype != "bool": ds_out[v] = ds_out[v].where(mask, ds_out[v].raster.nodata) - ds_out.to_netcdf(fn) + ds_out.to_netcdf(fn, encoding=encoding) # self.write_staticmaps_pcr() def read_staticmaps_pcr(self, crs=4326, **kwargs): @@ -2256,10 +2262,11 @@ def write_forcing( v: {"zlib": True, "dtype": "float32", "chunksizes": chunksizes} for v in ds.data_vars.keys() } - # make sure no _FillValue is written to the time dimension + # make sure no _FillValue is written to the time / x_dim / y_dim dimension # For several forcing files add common units attributes to time - ds["time"].attrs.pop("_FillValue", None) - encoding["time"] = {"_FillValue": None} + for v in ["time", ds.raster.x_dim, ds.raster.y_dim]: + ds[v].attrs.pop("_FillValue", None) + encoding[v] = {"_FillValue": None} # Check if all sub-folders in fn_out exists and if not create them if not isdir(dirname(fn_out)): From 8c698d7c816693e7aa84730d6b7a8e5a52876474 Mon Sep 17 00:00:00 2001 From: hboisgon Date: Wed, 7 Jun 2023 11:20:57 +0800 Subject: [PATCH 5/8] update changelog --- docs/changelog.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 229cd430..5f224837 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -37,6 +37,8 @@ Fixed - write_forcing with time cftime.DatetimeNoLeap #138 by removing slicing forcing if missings (not needed) - write_forcing automatic adjustment of starttime and endtime based on forcing content - When clipping a model from a model with multiple forcing files, a single netcdf is made in write_forcing and the * is removed from the filename. +- Remove deprecated basin_shape method `PR #183 `_ +- Remove FillValue Nan for lat/lon in staticmaps and forcing `PR #183 `_ Deprecated ---------- From cfdb96fd974bdcb4b3e746e1185dd4bad8c935fb Mon Sep 17 00:00:00 2001 From: JoostBuitink <44062204+JoostBuitink@users.noreply.github.com> Date: Tue, 25 Jul 2023 10:33:23 +0200 Subject: [PATCH 6/8] update docs include new logo (from hydromt), and update github icon --- docs/_static/hydromt-icon.svg | 400 ++++++++++++++++++++++++++ docs/_static/hydromt-logo.jpg | Bin 18849 -> 0 bytes docs/_static/theme-deltares.css | 10 +- docs/conf.py | 9 +- docs/user_guide/wflow_model_setup.rst | 4 +- 5 files changed, 413 insertions(+), 10 deletions(-) create mode 100644 docs/_static/hydromt-icon.svg delete mode 100644 docs/_static/hydromt-logo.jpg diff --git a/docs/_static/hydromt-icon.svg b/docs/_static/hydromt-icon.svg new file mode 100644 index 00000000..869424b0 --- /dev/null +++ b/docs/_static/hydromt-icon.svg @@ -0,0 +1,400 @@ + + + + + + image/svg+xml + + il_icon hydromt_ I1000642-002_rs_v3 + + + + + + + + il_icon hydromt_ I1000642-002_rs_v3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/_static/hydromt-logo.jpg b/docs/_static/hydromt-logo.jpg deleted file mode 100644 index f0f0ef723a2d1ab878d49dd702041ed1e2876b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18849 zcmbTddpwhU{6D^qiX=G|vAYzNqH-#+b>Bjg7GmYJTPmj{rwp^}?tl=IP{b0F#BwfX z%Q;DMKAX+?xXod^*mmuAb>E-g_xE^w|N4Euv(v-2>w3T5@AvEVdOn}8*Cpx`jUskk zG&MIxY}l{?@i+X35Dg-X5t}w{{C$USo8kMGZCkc%-n>OzOl<469pXE7NQg^FNbcOd zOLC|5P6>%!^1GyEWaZ@Kc1S7gk(b@GTUJi?_dzynf`7Al%l0i>w#!ONNXq^n-$Y*# z(%TRMgkaN#1Bi{%8#YOA5Y;1)2*idh@MwPz_QN!O3gFi=Xmfo^^|H(hM%2>IG9q^Ss^&la0o9bUhHFDPN?1S1j{2p!>msi-c zSMiXV`r#u-b#(RgPoFU`K5t@bcES9j%~e}F?6vFmt~YPpc60ae^bZKUAA}DMdGt6u zBJxR8^z+0QNy#ZMU!}gy%FcP0`#$eOaY<=edBx{1m9=&C4UJ9Tn!k5+c6Imk_Vo`i zm}BD;lT*_(vz(>nl~pbeTwDKb*9OF<|IGSdmi=#bNyBz++`M_yX0hLPZP*wDKQ>8k z-m?GX*4=+viMja7960r0o9tf+nMF0*Rkf|zayR_i#pMs`Fb;8koA$3||Njho_D z|1#|VvugmcW77tB@is{#&zE@y3D2ot77z#a{ zFgQj6k6`}Mv3rh`oL(nKtKrtXOXi;ebf0ArVk~K`CM?W9-`O%WG)Q-0o=%*d#RdVO zQkNX>G*PC`7+ju2X~{ImP37!aB3%RXA#pQ~mi@AfNk=J8>Q8~>gi$@6Hz**16Tx?@ z`Syex9HkORJj<#~QlN;p@DXm%_=fU4(Y;dYN05|y_yV)B&?B~h(```2ig7mRMvu)k zW~hD?}x=R#h$zX{4D>R#0ZEKzL!<&EgK0_GUt!eH;#6K z2g4*8^uf+C^~eFVzGG2OCT7ho&toPMp80o;}S?-f!bx^Kn*W|lbhL`8M+^b?%mL%PbZ7LB5@7Re+KT0{|evN-g^Q_dcpY?J|BOjm4K>sSmDa}LD2@aZ8v)6Ie%}7|1L@Sn+$K_nTipfvkO`#5m0KI* zEOS8)uHN)ZyFmUnJ0;R#T;HV#@FTHAh!!L$)&>pZ6&kc+oDYKyOw%5L)%&vXI>>0j zW+I{;__AAskn}_9dkV2f7?sz6ksH-Bq*u2Ie_~}8U4(s)pBu(4&bO(S^MW9QGg+yZ zy%wy?pR8>iDsySo?EG`Htq8FL^tr}~DA<{lInx_bo~t!nUJ?`9k$y3tdsfjV*C2lA zu)nEgSToxU+FtFC|1?XN(cM~(q3Rgv`MeY%dOc{|^YDDn{W64)wYi2g-OU!b(A>9wXO+*Jnw4A(T4G)bilJ#zC8j z&#bN<)0Oac{wa}f@ubi@*OFr?5ou~8xL7xb%^$sg-)(qgJ=6Vdw6XZ%xBvWp?B$uL zEgrs&kh;jG4J2}(6$?oMrODcMXOMKo%u=r=9$1?dA?DQ~qhEHVCzcy*V-@Y2U$5pH zON!a~44)7oytD>7>PAhU1*9Krc#rSl9_Zm_FIrp`Au>9NRW{%^atp8vd~}s_xh(kO z9JXWDK53pBz?0FNyq&`lds3z)=hd6qLk`x=%o}N$a&&Cv^?!JD(o>jw`1_GtrG=38 z(vD7@y!bqyPx`6wMpTXe5pdpVaiK^W9Y>Aec4zFyBA*LA9W;~*Y_2@~-q_yLKA-t-e^m=;EYcS#2t~ihuVYlyBDV>U?LY}dzqiI8CU7UeZ=qphrK)afGBg-?ZxpErE*0bg6#QykAz+6mfhbAq77qLVP0Q zutG1f2K$Jp+-dA{FkgRL7OXM7mzC> zWvj^ftT9P_yAA?|VX1Bn4Ym_bzL)UUxU#=3&Gl&TGc_I`!nN%JnAd*w{!-2#hzol4 z_pDzihQbjcir9N93A18jZPCC@si!J3bS`=Gh;uD%Y0x}?B9xgTAMMdGvZ$-j^7#OV z9LE`fLODwU&bh1nl2YEdt)!XBr=H_K6nd@<*V1cz6)Pdr>X3a-&dA2>SCc&qPYh^- z-j2fAC#DJ`IJo&3c4DK_0PpL%qqe@FymL&?XRX$n;?sa*TS{&4B%#8|UiR?O{mkVT z&>Rj8Hl0k2m;d_%!PCmnen>YummS(P$!axg#od6@_;%7*tj>jXv8a_;4|K%Ymm?jf zf{Fq>3pNG)6eTs%>%5&(9Ui<~T4B-Fjtb#=xa|?AOS;zOy%=*B1jJQwF~Y(!sRxzm z)JJ5?<8VAHMDC=8t#Ba$dL9Tvv!aE@?SU;wX%D@D(X&1U8NH7C7uJfMp6Pr2tyz55d{&VX>P`+kH#%bW5`!XJvOuq=)mh+z1WtUAVQ4q z)keZrIXZxF+~bK5G@L%^Wvm1PRoB(hEny(#Jyo`Hwv?B>E65)i z6d^wFZ+&n)0DMJGkW2I0niua9l2Fb*gjEsZAy7n%r)s~{3Qxql)jjtY=H{7Iv|`p> z6-IoT#>u~s4{^nqf2iAlGoC$+y`R0@=YD{Y;yBltND_782%Jd=nwKX7FlgEF1PD2SxE5 zjoKDTnG?2tPYu9o77KX`+Ghn~BS9>;1vFu{MoGmUyEA$B+3cSM$falEs|8B+_Sh!{ zP!HUa>q}G8m`rnaQu>yC%WNL6t}BL)>E)sH#ueHW3{W}C-!1W;QLwZy}oPq zO_OcD_ZYi%l&`<+eb&TrZKTWmWJRoRmRH>T+Kfq()yURYMtOOe2ISw+z1`i@y#z;<#=+TS`W&5ewXmrMy_F)zUKOyUKv&C7O$U~f8Ny>w zIO8ydjwc zqE4e^Xan}ww4Ti$B81hH+s`y;gZK{-BHZ!l)jZ8>{CC#5mtO?uuw>D0Brs2t;yadu z7{JF|!crZHt^ z;~KZT#EU0MCp#}1CQQgbPmX@%LJQw#clirbQoGLHaXq65*qY|Dk(JDxwY~5ww1^xF z>533FW~J%MxgC&_hX^s4LJQ*G5IP-86m}uc{w5;BkH6kHxjddF@%r?~`$#br&tepf z6BMhXwP8BZbL2qRLV&j(lI9j9Gi64QBJihhxuSitCrw}fUjJi3Ie^jf^SB8H;g1j#nDrr%KfWhx4 zCQXg$m^+(9EixN@wI1>3tFYTC-LnEKBfIE}8qD}ld+?23wKOkQERCH*l%7>6KlPZi zH4l35Zas@Ok_I7O0X1I3d&}P+#7%{NK`xJ$KP>7x=fhP~A zF4$N-l(=bi{?2}_2!oQ^pS~oU+V5Au_%vX|n}!;rj+Z z_d4r*?*->HHl6DY#&Y~EzH}QJF=lc)Mx$~pT1Z1Vjr7sTAbQATfpeV7zSZ1s0qt3K zlrJ9VmzFXOUZ=u=?g6?azMd4Lz;*^N_l%iz>JtW5I*m##;Fv#*3W6gUwg+8In-63& z=j!ZKG`qC`#@Q|$%fZQbeDM0E$3Ec;ZLO24Q}{#(l;eh1Q|{l(K4JQ)Hm1x9>-nDi z=m(f8UA^xZnytF%H=^>I7WO28Q}G1tii@sLv`gDUZZxNuNWRX)SNcR1sCWTq#F~@b z!lu!m=bVrNHBuS+pR2JJH5q$3-5;IYItnE}wuulMv|uod?aor^(kA2zyqFocV82zA zP7zl5d~fOj+)R(IxE&@bfew(k#T(~Rju*6g=Ab@_@OZP|t<#$A6qzFGVkR ze4kK5f-?p8RU%i&sjD)Fvr@@uP?XHKA5B~>ECxk9P@(OI-#8La^cnN9^&G?);VQlL$$v-7UGa^uK7FZ%_T z!9U-_b7E$Bf3i7}?|%(bvWgLeQ0l!zh_avu=O6OwsB+)~Pg0YMFV`b&xnG2MgO%cV zao=z(Cm*~sVUi!C4zmlha=i2uOZB6q2E1whr_KuaGN69$n0to2j0CLs5(8k@YkS4Nyg-&`-1md zrzK16$0k-oMdVikZ@!1w$GPWtn^9h5A?hGLWwE+Tqr8?b%mv_uYqAkma*#2pm{?tl znBx{>3qPxaavcqteHcDF8@OSLgQUcT6cNG~&EbgOJWPk z3|d@jQ?w39RW>!am5tWq%E>JnNZgwJnyuC%152f7GGfwx9qQ7qpZGjWd(M^!U= z$=*{@GJL^80PGD5LJ4cc}Ba>RR0@%Qu0qr z){+UV%^kyu5I5nI_5M8m%>DXadwsK;3BYR6s005@*jYn20d`}X`zytLwu zQ-bbsdNJ&>iJX|xrpVQqoMqjE@$(^(W4M|C~E$6mKe?NMJ? znQg2-{Zn0%lhwo)90##XK=$GnZ@uQpsFTl@gncO-zegN$gF{Rn`CTfLX_q?d7W@uI z#j$i&?{uy}wyw#{0`z6jC5*LLfibMoOSF|n6<|f*7>-ippAl^vY1Rxwbv4C6IxKxL z9Wf|19pHt}zY+n?k8q9B)Aop>;XCF;95jD)r8A)EwcCPyLC4^rI)A=9w$&6Xr+a42 zsO}gA>pL@<4*VH$`a=H16&&zoR1QK5}cF6V3UuyiFo#v z4+|!?{4&rcXEr7EP}_h`%V4?z!0Nxmra@<%Ga0}@6_fS&VvN?lS*+FJrX-+v0XP%X zJ9Rx$a*QLx%@};mAKD2#uB%Jz_anVSX@S~-K1>Oc0s-A4_LySh+dA*FJ-NF%ha&ZOZm|6d2fu>KXkBVEsw02 zbHoa$&N`e?{Qd)Z*cK%Vr-XYyDv!r+;@5zvlkatzfQlB8 z#E2a83YS1BPMGWEz8>O4EpkJ`%X2(a{5?y5l3h)W!IVD_jgsHv>ePCy zpbR^QlS0BQWjh>d&K|e1WIrw#qbbr+{I!qi`%AS$=Y>CxK=ns(hXpReEI}}*meE;n zP*szCcP+qc(}cZNcSy4cv56ccR`>GtoyF?Dpp-QgQw_s9My3bB4d$0h=+QUOE;c6p z9cUoO$taC<8&C}^mqrT%AT%h3T)@`Q<)~-y^fA*cE?LgYdgNR@RT+gGwr_yO(R?($ za94z}*^lmZJ=}A~2_@6zMPk^~pC_-;qwSuI{04xN)yuUz|9$fh>LYm_%4>=bim1e8M42#w)-H&uM$Mz zu6O`N;q;n=KJs|(U@fH8;oZG=ezB~#Gc#Q1Ksc)=LIli{RTWZQ*u?o9SmHi1=i)aD zl87gHm^4V1pv2K{^x2iJQOg_$uj!kl1__{`Ux(o&VHU{%Rk`XI@?HEoIf8 zmeE5&eMzRh7r-r}N)Aq*y-d=Rd4bKlx^d%sy?1quX`p<^q-q5!;~M!{!{p1?*w584 z@jn*E61+m%8f#@n%(QAvg20kByoEyiIa#pvMx}xz|3kJ97N&9`as zwd)n!r$6X)YUqoduU22pHHCXL4LzkIOZEaYj!jtxzRxFL5Vgt=X33 zi`E4ZV&?FwADVag35EN$P{SIm8Erj4$ELCx6t8a2K3hk;Nip$qbN(=wp;%6^Wor0{ zfkfW5YKO?O()b?<-fu#qfYHPMlwc>%w3oIGT5zdds2{g}1%!U%QJ$ZFIKe1CkEs&E zyRu0mQS)n)LYu+J{QiPgU$B|+#l^(`qS+8>GvJBYCU9n_|18qXbIEkFw>;%|ec0)( zj+I7vGu4&nw2>M%_e*!dzNMZd8EA>IsES*vWmzOMM`pK(99HA6ROyPF7cfEEwT zEx~21^JQTPV_I9>ArxCU8AZNk7MAO@-`wR{81WV~w?jB9_$rKtGzlhP$UsKQC|bfE zUsHA@Gc@LmTzzx7q0h3+`1vVtu8$BphKr%gmMO(xqQo3P?a?il+Jvz=j?RY7g3v`5 zddVzbMi@yp)@kuBS$l426*b$*avgkw5df64(k!rQ`W_U>e6@$$=Cb3C|}=>BF&B7e=+wyYMj<_f=wO zu0Rq!Du)bTfdwKIvNx-f=0=yrH85u~&!=6j>?(NMX%%*xf8OLBEW^TinyS%B31pKS z2lgf4o0_O++3~USce2bJkaBgJX*u>6(GzcvU7l`**3o5JT*5J0kW{b;q2B=0fF{Nh zQbhrhNMu3q%=!enwZbr2gB{eAp&Drl;+PJx2AG7&Zi+b|N6m5J%3HBfnHV}&Io|PnGrD-FJ=zD;<#Pzl8S&doIwBDl0jy- zu1A4xnBx>U%#0*9_vt&8tm-z zKCPkG2rM~k=a&9Pe~7i}+ERb(G~O&7lZ+lg{jpmyxVbQmsUNSz)PM4>TgkYcfQsea zSvh;KA{+qWP<;1GoY(x3pMgh4-j<*)X1neUefm2)WTp0fyGf$N(cB>fSZ(Ob#@2)k z6&70t=G06U!F8nQ%!9B`cjt2+yLphid_Z;j6Qygyw1AfTcLQ4ZRa%0mNnqh3=zR2T zPDD6{r9F@Lt0>8{7Mo0oD?={CtKbu_z&o?x@}v)c(e0z%T*L0Ot=iw|Ve~L{UGA^Q zgJ-0kzy31uV;@}TYj1VGeRQ%+p!&hR68+>jIZ(KrV*bvAx6)Q&M1lk0rt=?(9>IBe zQXV^vFJPWKHuWgNMQdYrBJNkf9K4wq(-;eu;&t4$EEUUW01ztO>;%3nVLce;C^5@- zGXrozMn!iIALh%=&AT)>Tu-6 zjTrU0$z^GJ)SiMU@f~eD=IBV&5qJGIM!bysr)is`!btnxfYpkwLfA~jI*H2j=)nYi zpvYN!jQq5hRucbYkzmBcg`Wer;KDSFiqVIVaJ{7v;Q9-5%3zYfs(-+sf56|E zSq8GIge)!t8v9+QT`ywum@1Dr#v z>>;)YAx%%QhJHD6>ivFzWN3Sp*Lzw$=7~Zt7pq4O^xDCiI>&j(OE!a!u4{2qg_$3T zy96gIy92x(Fe&xgh8ph%UdiK1We%{`{CW3%)~c|dTMyp%HH@>}Z!+|wd(9@00b?5@ zVYz97%W;bH25R?xbpN$OrJZYMhoyfBo6^SrCA^Go!#O2GOMGaNV-KA%9r`kkkT0>r zXfMA56%`MOpLv6S&Z;xG8~es_W*{T)y~BWWTfRY9YNLLF72OXt)d=(#Dve>k!bR?7 z0+EBMXGM%Cr7<56l=0pYtntdV2bwRPb-T(-U2_7E*eP-ovi?r+|{Lfh$e zpLcK2UJ|t>a=~+IXIvhSdJY$adtR;1m1RS3Q4%xMgIyGx5BP^;wx$;r$XX*_p@-il zv`fpBaF#=bXQsI?PT+mWqhqwnvE!F-U8bthx=&g|JRQulvg1l)QwyZbSbKLFoA#Ba zfC|g@YxT>(-m8!vPj_84yRXTOedM_JN|cUH%%6R!HiykB>Q660m&bDDdO)Bq1Q))t zTGVkTvvWb-{Lqq%(}%so>4Tixu3!&UOn1yxTR&#v@&1-=gu`5RFwp&F>df**voTC9 zG8(swDlx;$W8igTQK7x&NcDdpPxE@~;TabK>%3M-12#y)gkV6ZG6Q zBpYI5U}@??$rSKKy&0FUv|+;b!aBAYC~I3ta%DePiWkSD+kbDVEGd_Z5bFHZnSrVL0yNj7r=BKV>aEZ; za^huhkikcTnQB`9g7>lg$2*0O2Q;c=6s1Ys_q^!PJZ()iX6Nj8^tA?>KfnDfdQ)x# zIjY?eGaCN{tB89zUeS<|#cZ*#7`}`}`?l}zFG9~%v_TE`dI7~!dOybD^QYcYk|g0A z$EbIawd$mOJ$20b^d1qyoc|Z9jR#YaQMqM>Mr6Dg6Y~TG3qCexY~^C~_kh!cw0_!L zX>&D!{=ZV<01z^JwfAtDyi`n0xC!q7aVmHhF7* z&>AhgpT?>VCSOd1dr;=4U1k`JW=rI8d&*o(#+%;_8D_d&{*nK+W{7LIhUM^ggQNH$ zhFyUhZBNgn&(A#?%%5KU)a^KoSh&w_)yI7QF$lc4T(ly8;I*qNZM#i>Ye}%I6&8=71|e};1xES1i!#*el&l6MmP*pKa5kyBE8*E9g?c>Jvv?sbqd6s1H%iQ@iDc_*=@o+ zk02fD#o9Cqi6p!%LL@GcD^YR+1vagwT63wcw%p%?t6&|KUGDYe_PLR~>Ywzwj_OSv zap_)ljkobnZ#=!dV)Rtg!B|YwU2Hh(sZ7VCSjr0dF>ps~5H~LsJc^49%3*B<1CQVD zZu|ohoS^YU2ntM1u8)4QEm}=dJUqDfY0kr(1Na$}#~fgC zTMg;OXMvVIzP!oxur}Uj@@}?PcxhX|{`Hu8ngT`FgX!&Wt;8sEvL2b7?FH!fO983~ zvCexG4ohIZ(-T=PB z{b!u2C}*ZyGB!9jiARYW93DwjA9$L&zC%wwZuh=thK8m`3)LJuW&YiBg<1cDp%DK; zssH!I*=t6tKc)7$SB6;E;`w0YKpg4C30U7G47Ta6!>N5UkNqMDw~^(e?tC|}DiXu9 zJM4;F-+~WrJo5K+35=c=aQL|sKH&oGk6`CjC+%|` zi)Cp`r^>k}4L@$N>H3({!CL%yw_UZe0#LhZX4VJmE;+<8ca+pGiuR_uZ1*06tJY!T z#bp<4X`AKh@g-aj&|ysDexxm1GkW+(PfwJOx{xQ|EA(oJR4^mavldk-pY0qo#)V^? zylVybN!y58_{34t)3+Rjh{baBP*pLos(%mm%}&8QIg{o|?u$T%XDC;4A|DoNvUD`; zS{KuOms>p3C(UNR8%YwP9^srK>;GPUdiF)wG)cobLiHG#69KX z`>kP5-Z(p~7o-xF{aR3Xk_S|Z5cL|J{mG}Bffv{b&3Hzej6jXu6p1n*9IJe_a{b1x zIYpv=%#p|B*h{`+O% zaUxu>>VcPA$qiz;!F5M+WONd_ybKMh?X0YHDw%QC>zwE^%voks7T=5n_&XyPfv+0P zh7Np5!A*7{53|#_;45vZ)12~K@`4u$oCwRnMt{E-P@N<`KvI9@qJ7L3<7FrIkkIny zv5}-Irq%{9tM=GjA?Rh>@fVL$l!_Ee9u*;KY2m1YU^{dBiqH1`hWDPk28AE4jWG6` zM24sd+n{x9r-j^KuZ^-up9w?v%5qVcG5B$w?x9dp6zvA^G(+j>H)uE15f6oUR9tC; zVYCn3dB4A#Zu$={Puftsb}`XZga}hcKYSObEg21MUi)6~xF8bJ2{!fXdL7M+e+0l4 zeySd*hL&}&jEMJg(IM}!8o?Z>I)!TDM=dyeaWIVgRqUWf8@y{h&JF5}lTD{K9SMLf z_Md#86<=rfar!Ufx=yl~^u?6&*I{+fek+P`UcU_4|GsfY{P(h9hSIZqD^yO;bamw%VPo91h%#h9jOGt$+~ zO81m?E*vP05q6!+T9I30Dcm^Y(ViXFw1crWVV%hYD$MG*9NzqLVH%#YU~GJ|dsGRS zN?E519(G{I2ld7`RTEjB^1D3m``ZtjmN;OP%nsLV`gQ6FVLMPhi_d!9LK5VSx*`R}dU52A_{L7gbaw z9LQL|6+3cW^EUALTTwGDXsEF@D<{SCNZS2(iZ*Z1Q?vOto639 zUoLX}@Rxndl?s|Izir0{xF94+820o;tzh0{UT+yr$Tc@*%pN`TIjTQF`Fih%#X{HO z=`rXKm|shkVHf;>v?!&e9d{%9`tL$6D9G^5=b?rN{D0t{ZFmrS45i0H`9=n3Cx59W zO?BMW@>VMkjWH4-RObWCL)yofBCbR_xhe|Zk7T=za zUv=Xa8gqw)q?=$fd)~A1P;MHtb#rM?!kfBbSTs5AvJMksp!^ZPd-aQo!I`@UPUe-; zvI!Z!50gCGeDA0RdW+4!0;gL^|lKnenF z_U)8FGQps<)a!UK)Zz06(D%C^g#@ia)j{l7_J=vud{xs~zOpiEB2)ox_Pvac=Z3{k;vH{$M|vc-6vDp8*Z^RY*IE3Aoj5-Psl^)Y~gz z4a3%DXmt1_FV1@9ly&V7y>H2)-Cm*NFdjfDs(_ilr%Y?7;3P-0DCavm5T9~?8xq=h z*VEnbEXRSVY99E}i$l=w_$K_B_~sZkr3tEXY*m40&rjz!tG+KL9n+$Ir17G<{Ly5E zlkvy0eq0qMp!Up(5aKBDKD>W}e7n784=?DH&b=Sc3!7e45?WTtk+jh_$qL?lGiN6y z3zC{QivB(AyLW66@g9jzt`_^cw@^WWwp$Puwil`6YG(lmWyJO8>{F4ov<(7Pe$bPl zmzo07(J}kp)gy&Y`=P1yd#oa~;!MqL+|`Dby_}zBdRkier^oKmHs2s>t-(_jl5@=A zAB`1PrrE;wQQQ-I%E&&@mrd0RFXSiIKT1vXQqypqBA?=4R;yl5;Vgu@0C0F1K9hF6JYWF_ z_qo-aLG1x*;fkXbCv3<;i(uv-6V}((e*kWgTlb!tDW+E6J~M-h=4{oPySC=HAQiNT zcKHVDD>gNzxYj(ayBZ86cm!S3>Fb(JxX`%(g`O0qeR$#g>5CA?gmge%AgQtV)wjU~ z?5wQ}iZj&6n^r7EdUggX1(kn}@80)!Z$b)l;z7e-#YTp868mneTzv(4J+hpvq({>w zSG69a&^?4B9|+6WEcma=fu?$NjXr$D7k9Yik(sLz2U7Ded0^~Czf6>QDkSr%b5%Ly zyOF2EoRc&zZ1pF}ha2@aQuvtMiF^!;#Pe$mnz#qF4<3D#_lktZVXlc6;H@L|i!lF_ zrtQls!5P49&MwQu6X1t4#6U%PGiY;8*bEc-$axFr#^)Y_>f2e(vB}U_lsdqlE+Bf; zzx-}{5^YCrbq6%i#@|jPdHh;$(8S?O81NaW(wwUvYB5YF%4^G)oI^$Qb`HC%g>?_n(kQuotf-1BweyW$c6!o;o&`KX&#j8dCcIsOn` zwY4NS7^ZUUKS+EdEx~ctfJ4o^Qay580Dbph4DkV1{76cmB({m5#sG!s&>9X zLN1P@mt=4ycj3rBpM@>_y&!t*W{^Qa_7MhMK50nztnHc`0C!q6!C7~NM{Xg@fw3w{`tQ8ZLs2<0{cwZ*pmrTqiR~Tv z&@hbHvwNm(+@rGW>#$UUV7rD0v9)IDuAz6+MSj(#uKCrN!#>CE?x&Q#(r?nOiZrts zz7|NX1uE$$T0`Iv#Nu1vQ@8+UqtWX`&kV&^w9e8qIcrM7&%o!^!L)lnJpFrXX`ySE zkC9Pa!xz39!;mXi?p}y^!F!ML%A9Ms`}#f}0!@UVUunp^nyUd@0|DYi+m;vj8o=+*(A`(T2 z#*D#A+gJtenO>^eh)E&AkCQ$XeK$c+|4XM?l1dWeqjG1{G-ie+&UF&>-_^Nf&u|Bv zo@$hzbvT`T_*dvrj{WO}J)^z*ioU1tKb`?rvfk~{#|md1>Fef^4D=Rv)RuOa4uVnk z!1Ou+=Qq;v#}o9?wJ}H>hGc5f==qZ#a2>0+E4`Ia0k;dNz{(EXPWibZ7iz;MU9@Rx z_lIsC`+juK(Q?RUiS@5GK^|$VH$jwOZP;}TSQlxCf0C;3IG}BHAgQqlSeuZd2f<`q zZGGa~;ZPV=3uG!r9q>N2JU}|oE37iEG{Y`6jx_smnYX?Q!;q${0Fh!iro4l;{V2^l zW5nhme*UTp7xRg7mNBO#0RorX1Nuw~B1k^UWfTp8^xJu>HSwNzopbD#;UQs;h6a4i z!UebQKm}%gM!g|^3pr{<1BY%1*>Sl=F>J2tE?I%!!s~>#qT^^<5C6$5!Brp2Oks|T{d`yje5R4yW2W}0*9qzn37K|%rre0~DRftIsIZ>%% znZ~&H`C5B{hW3hn{O_*)H8c3PR&C(}j9A_C-2x+R5u&a8)hjgXvqdi%zQ`aJbQ^mb zi)=DD^dl0wW;9?7r~Q9WJ>;haDL1A8`4{m8Sub6@2r@>d$@vaLb^hYbvUx}KhXcH8 zKi&-KmHZeqY!qR5aqOOsN+Q>#yZbdu6|fucEZRhV|EIu$AKC(=8wJn^zH}AQ{}<@F=hFmO!e^j!a`!_ zrYsmJt2Zz8_V7J|3;S;G`3$twMFihh46R>NYhz#+bVtwHJ~{`cz=>7*+TiziAq9yptDNZbsz)>l5( z$;VE?;EN^4ovYef34jPbjeQI|#cN~@hBna@Huosrp|c}FU#gXxixz7Fv+k`AeM{3A zY*})2{(J4s7nk7-75&q-qXCJO_zJ2%aX@7wsHxuB+ABCnJoM*-?3p`A*ANS>A&gK; zm@43b6Z|Xq!LiOY#V+>D!0wjGhOFzki%F3~K>(HIY>=&Wr;Ae5O3X|d-{VN*#nWG{ zjku)uHu6b3wk}&d`fIX+ATb)|#>B>yw(WG+D+tb`w-g_OHX|EZ!upH6*{k7)LoY@? zxcqt+^IYsLu?2@%gp33iB5JR_GCY~P`Ac_U3ZGUZ4tEfW5CSJ+^)(MTRKCzlE;>|Q zU3t*TL~+5^mT@&qqYbr@u(uuBB0$3z)g)8Bn@)|4oD%S`VyrLFMRets5J0>P%m{o% zX_3JTr2B-C>MeE~BWSWwhu=oCF$DM-p`mTpzMwm-H;18>MK3kZsz*2kr}$lnJ26{Z zI&-8z`Bz4z_L3X7RG1Wq{AYb`cHQvQ2wr6gH{=+fK97U&tqZ~?GU@*KP3&U)6CFwY z21TQhS04t)bgc%8q50X>)w&+wy16;qB5r<%5eWF^Gy6B zyY_To>iZh(V!t$c4K?`QzeTosmBWe@3An9k)$2T*!;pMfWfS5r_hk8p^vd1YDPO_K zTTTxs`W%g}eZ?h50He7X2TS`5O-8HHS8&Y4OO;-5ET|3&YpAo_XOM1l9FhSaI>+sgr# zK2{ydKs=@j53Go@=k7feAyRbX@21FEK+YZLfCs3Dq*Cm-dN|;%_0(BzAd1@4rhMtN!EC z@O}zu9##zr7N2@!9F8}-KnB+Qc+X^)#|3O#BOg{EGX){e6u5F+Yf&56zj}39yZUC< zU66@?YrzS@Yaq_O{>F0MVA z%{vThOFK-}C2hABTUSHfi}gk_HAhP~MT;u^POC=5rFFlAXm_wswHl(?5p7AeCDI0G zb7`m`s5EtnxJ-h$lu`*Hk$j2$blcfE`{Vb|_s@6E_rBlzKF|9;&+p`bTG5nfwSK=& zPVe*KmWvnGLy4iFK5~$k$?5k9!XYEA zWv*m4J+b7b8rHMHZT#o=_?f200wBRAC6}eL?3RIVmv^6KVjl}#F9`T*dMt*MZQtZs zuSpyiqB3A-k#+k}iguQGB;M(VNxHw!heNnDzEn@q*h4Ig4O+jTD2W5Af=v~MmeWWU04AfizZ|qK#NHDt27}sm z09Nd+?1gAGcsUAv=tDxTuPA((IOfx{ zu~VLzB3DcT--(%hJ@OZnA{7PKf?@6lTm!T#T;?>JTNQ+EBo}p-J{d)JQ=%RXi%@bj z)D(P+?J#5X*`~^mAl7jFKr?mEJn70~JdJ;`Zo}#t`0gLQPP7pN%u)>9n37q4(Cy_8 zft{6MmWkw#=ma-GqJ31j%v#{LXe$63?W2MG`8~L{;K{X9%D&1DWsxrKcR(0*==3#K*d_3Lou4R~Wyb#aE#b^TF1r113607>BZqA)x2<)k)~Q{> zL%8i}>~+(vA#DL|_(1fH*}LfEirJFvtHg`|yV1s$Y)I4bvMBU|k}WLGjIUy~%n|iR zRH0>-M3+7%-3Ks~@GX4IxP~gyowC*m$H?3JDV-LN<|UvdLd+QfIVovTpiW>&Xw7m% zo~BtxF#QvGWe-XP7ed_+W9d1m=D5ZDPXV>5z!2~&xCRZ}Ymk>rb1{E{-3n>ITEgLe z_(U)*bap}ML*H_(&;ib(DMpvY3MBVjZO&-_{-vdrQvABe0AShp~70wCv%JUMPbDX@G za3;t|F^1Z~1#fMY_|=#jqQ@G2>z;AStx}H8oOtF#zT#M$$9@Chfk7FihqiQJ-p0B_ z)&zja7e7X_L3K*Y2Pje0vr*Z}S9MGi&Qu@|3$v;ocb2V)E#WTI@(Q*{e*K6U0@rB1 za0B+rV*nX59~rI3NDAP$NjzWSY|eTw8P?04r`Q=~yRnJ0$c72ZURkJ|yR%Q%2LK`c zoeE4h)>Xa@{(^I#IOaYW7rd!*UUAxaQ>FYEmoq7Slo#^)xW}?v&$XlKZ>8Zz#c=;B z6e%5BHxeGpUS0nlY7fM*J#s+@7)1yI%D`6qfq$23N>+8u%~cN_@HBqS-qx$#3S)H2 z(edG+@Gcs&kiT2mgVg6#u2gd3TS<6(@Oy@F8>P`o^*Ld4XTkWm6ks9+o?7k-m*X+N zAxaq9QDJ}b?rK~l&CMYK`r`6j+Wqk8ig`&2c|g$>LE(Lj``WLJmKW?-%bFW8&J(!@ zy8SAMxlZhNi*EB*7!Q)7&j=TdLi*#HoUF!_$(P2eJvL0Y(=Q`Bo>!8Om<(K%-sB9C zT~-*N$}HN7FwFdegp(G?eKg!g@=yp^!$@Y3DKhG0HmpZz None: # a list of builtin themes. # html_theme = "pydata_sphinx_theme" -html_logo = "_static/hydromt-logo.jpg" +html_logo = "_static/hydromt-icon.svg" +html_favicon = "_static/hydromt-icon.svg" autodoc_member_order = "bysource" # overwrite default alphabetical sort autoclass_content = "both" @@ -132,8 +133,8 @@ def remove_dir_content(path: str) -> None: { "name": "GitHub", "url": "https://github.com/Deltares/hydromt_wflow", # required - "icon": "https://upload.wikimedia.org/wikipedia/commons/9/91/Octicons-mark-github.svg", - "type": "url", + "icon": "fab fa-github", + "type": "fontawesome", }, { "name": "Wflow", @@ -280,7 +281,7 @@ def remove_dir_content(path: str) -> None: .. raw:: html
- For an interactive online version click here: + For an interactive online version click here: Binder badge
""" diff --git a/docs/user_guide/wflow_model_setup.rst b/docs/user_guide/wflow_model_setup.rst index 0edfed7e..c308eab5 100644 --- a/docs/user_guide/wflow_model_setup.rst +++ b/docs/user_guide/wflow_model_setup.rst @@ -53,9 +53,7 @@ a specific method see its documentation. * - :py:func:`~WflowModel.setup_soilmaps` - This component derives several (layered) soil parameters based on a database with physical soil properties using available point-scale (pedo)transfer functions (PTFs) from literature with upscaling rulesto ensure flux matching across scales. * - :py:func:`~WflowModel.setup_rootzoneclim` - - This component derives an estimate of the rooting depth from hydroclimatic data (as an alternative from the look-up table). The method can be applied for current conditions and future climate change conditions. - * - :py:func:`~WflowModel.setup_hydrodem` - - This component adds a hydrologically conditioned elevation (hydrodem) map for river and/or land local-inertial routing. + - This component derives an estimate of the rooting depth from hydroclimatic data (as an alternative from the look-up table). The method can be applied for current conditions and future climate change conditions. * - :py:func:`~WflowModel.setup_outlets` - This method sets the default gauge map based on basin outlets. * - :py:func:`~WflowModel.setup_gauges` From b4f944e418bdd312db81ff5cd1341acf6f2fa02c Mon Sep 17 00:00:00 2001 From: JoostBuitink <44062204+JoostBuitink@users.noreply.github.com> Date: Tue, 25 Jul 2023 10:33:41 +0200 Subject: [PATCH 7/8] remove hydrodem --- docs/api.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/api.rst b/docs/api.rst index 1c6e8a95..9d67531e 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -38,7 +38,6 @@ Setup components WflowModel.setup_laimaps WflowModel.setup_rootzoneclim WflowModel.setup_soilmaps - WflowModel.setup_hydrodem WflowModel.setup_outlets WflowModel.setup_gauges WflowModel.setup_areamap From c848648ee90f7afdb7eb98e07b3dddc57dda18d0 Mon Sep 17 00:00:00 2001 From: JoostBuitink <44062204+JoostBuitink@users.noreply.github.com> Date: Tue, 25 Jul 2023 11:34:50 +0200 Subject: [PATCH 8/8] fix mask issue --- hydromt_wflow/wflow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hydromt_wflow/wflow.py b/hydromt_wflow/wflow.py index 04755fd8..2014f3e1 100644 --- a/hydromt_wflow/wflow.py +++ b/hydromt_wflow/wflow.py @@ -2991,7 +2991,7 @@ def clip_staticmaps( ) ds_staticmaps.coords["mask"] = ds_staticmaps.raster.geometry_mask(geom) ds_staticmaps[basins_name] = ds_staticmaps[basins_name].where( - ds_staticmaps["mask"], self.staticmaps[basins_name].raster.nodata + ds_staticmaps.coords["mask"], self.staticmaps[basins_name].raster.nodata ) ds_staticmaps[basins_name].attrs.update( _FillValue=self.staticmaps[basins_name].raster.nodata