From c1996241f7983642843a4b63e23b6bb856ba4804 Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Tue, 27 Sep 2022 21:52:54 +0200 Subject: [PATCH 01/21] updated requirements.txt - added geopandas --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 018243a..682f3c9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,3 +13,4 @@ m2r mistune==0.8.4 # Run dependencies pyproj>=3.0.0 +geopandas From 725330bb81665f738f19d679fffdaeefabdddd76 Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Wed, 28 Sep 2022 12:22:21 +0200 Subject: [PATCH 02/21] First steps to Migrate to PySWMM as dependency --- lib/linux/swmm5 | Bin 643457 -> 0 bytes lib/windows/swmm5_22.exe | Bin 442368 -> 0 bytes requirements.txt | 1 + swmmio/defs/config.py | 9 ++--- swmmio/run_models/run.py | 23 +++++++---- swmmio/wrapper/pyswmm_wrapper.py | 66 +++++++++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 13 deletions(-) delete mode 100755 lib/linux/swmm5 delete mode 100644 lib/windows/swmm5_22.exe create mode 100644 swmmio/wrapper/pyswmm_wrapper.py diff --git a/lib/linux/swmm5 b/lib/linux/swmm5 deleted file mode 100755 index 83dc8857aaa9622604282f8b98285243f457c4ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643457 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%0Dr#X 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

nNd=s)B@?AZpq@00cb&niW6;I8ZjVh)o)8 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

eF* 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 diff --git a/lib/windows/swmm5_22.exe b/lib/windows/swmm5_22.exe deleted file mode 100644 index dc0792bd995bbaa1bd925eb8a7fd500c6476bfdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442368 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≠mAcMhHplX0xQtLF$sdCrrl7YOu) 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 o8NSLTI*pq~6 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

WOv=1F@rB%S zt$W=?Z;d>}?OK8s+%~I| z+Qem*a>qFX`-To*$+s(3>!+kmSH4?dyW-B^ujFWM>WZ&t*C>|_ntA8k%&(;TfpIw} z7cGu>*yY0t~lf#_5 z!GM=}B+BLasEaK}$wQy@8#}04J~6x1xSx~%LS-kT-`=h;$tT;o+#lc9WU;)Tq2=Ck zKKbO4)tq}#9akxP?=z{rdUQTHJK)U4371yLr5~exhOW*hra!*axR9SHACq%a8hR?9 zq(r>9Xue>ca>va+%htTiClfFCGrzKSiG0w(Ic+P|_(objRk(b9xI+1@j{D(toxYJu zx2Kr&SA;0L`#+l#lqsNR; z-HGxsDFuPs#P6ia*~ys}b}Qu0*Zqt?hJA8JMAP}osb=@e zJ>U9+m>q}=7YtU)gZ7unX@2tuIaxnzl;7P2^1u~iJ1zPCg9JF&cfYc6zOwDw&-(VQ zev-xdV_(|qn-l~|fda``7%eim8#{49Y=2W}b;?@HB-NX&+c5V1c z7PeVg&tTW3aw@SX`=unIHh6TiC zZgpwn+J$n_E-GMzM**3+Hr?pa&1G`^ts{GZmw^gP^G3F5?uc9VSFF|)tddm$H^=pME=*h75h)LnBj_^n)MdA>@-fIX!8 z`h}^Z_GZe38&UBK*6$$$ZjI>trUBs38hk(UWDhY}@}q%UL%@?W);%`ZOLR`0Xi>Rk zx?Bjk9a(MQUNSpuSFgHfA--|-gDp1fB`;qcou_PcUoHe6Qw(^zmsB^Y>KK>=>(;t= zQW9J4BmI1u$Vkoea-r)iA8Ft|GH(3%ob}|ETqbZWIvF7)qyero7`V%hxST)m4g%%cIIax*-=@zrP$b=m0TKD{nF6 zu}Ur+NO`h+(*e>xd|!c%&nda^c3AJU=Ld-Wnh(a#J#Nc|`R|Ntw?0Vx2Y){^Lm%QZ zj~Lo3>>$bQ(SEhhN#Jj%ntJm$A0+ovR_a7{eI^%<<+r-=;vji5H)rX#yvuUove!=i zHit+GveezcX4~~!G}nPr%|GL5bTTWe%^BRmP6#;^~N7QRsebjqZ&VZd5HX6 z)Gh1&&J4M*Ls(+e_Asf`_s>qN_52_gJYO1~+IpD$7}P9X zEZ8U)+AXx!eSMe&@3?Shr1G^~aLCT?-|h(671?H?{L6E>Fwv~Xt|3QAQpFsPB)f-l zVd=zXWwsq5^0bbVx7-K+-D_;{eshG_$IVNww|T1^E}prvwf#}zHYq%0j0cqef;Fp! zh@)ipcetgbH_!{N*u;PPQPNL*do*zTO1Y35<+AVXQSwc>a=C+!QZ8JqW?Iwe7zw`r zDq(FKNUx9nwTQ@LB-~r)9hndERqI&0%R7z{-zV4F-OfKK7e-n*8ofV8cGR8IJHURw zT&Q@WeWJ0F^qwoLGc*eP+a=!l6s08hytlTQ(;oPJ_MuO}E+t8u(I~azN~kZbUu-z_ zK}m+hH#a~02c*C5vx`P1$4OefEnn7s0Qu@w=kl`X*vFzFWn`PvJ)7}Gp;oRZ%cROt_ zmmdJ~x6ty&-ehv_)wZ-7C!jn>wo^LgB$K@x7e=*i3FVb}%UCqwX-Hq=Dtr5Wd`uSAkFM*m9_`Jt{HWh;y{XN$QNF4BLk)y3@n2TW@uqec zTSUIwi2OSL3a)z5n{+LVbg5FTfiUPu?xAdN8t*;15+Oho;()#>mT~Tw? zZ`}Hx&+VU(-~95+FIGYON?ozW`tlQ+(k$M{`xoN38#`Go?+I4G?{AxLmOQ6Z2U0q%ya@hsrP1-dkDk-Jmp`o)D^VVrdAB`(Kc~|TJDu9G=ZS&f84z$q z;YY`GtE6>qg!mJ?e)3)JN2|_uu&zHE;Wxcz67S`_m2`v&Nss?CTV(Y=iu6+2Xdz&!2uB-<4L$(%(Qh z_v)aZ)(d+3=E+G~{{{7XX>7$IFQ{n+^ASCJ|1c1Kb$mQ>;|u!Ow^7E}lgQ7INr|2T zFUYEovQJn+A>2p4{Z!>8<&CjF8#5LBbXwmF79(C#H%ps3txlspD~+9hXWL5(@)#GV zp@#5uznC=(c}X_+KE$50!245{(5{-V=#FLG!{y!K|M`SzRYt#}6BE-GHedc3{JY+Z z&3j%^XRoR?_dY^>UmL!*R^%&6ns2?j&Rvwx*V9)|)(fDYnFS4o_eOrLL(ZCe%++!S8E27+8)otJ=Rt+6da?5)U*nwAzO;{ zu20i66k2urux?*4b-cCBHLf4>Ge4((jp$&q&YBt!9)b39VoKdBjY6o2b!^4U$_j?U z?#HH6r-o3Cj^FClp26a4uGaEI2<`4}VQ<+D{>Q92A*6=Ts9OsgUCFy=Am{~e$Zs7= ziE(wV&l`vK=^dl{X-+6P#gD6+)uFPXaC(7f^(&#Yy4Q_X`s$maI@Hwu!2s}UgMJ?Oaw6zJ<+gSAbwT~U$;e;ZC6cBOd%eJMU^PR*>gyYq`H|FX zXyZE@^}&zIo!Pm>E0T=TH0;j)M*Dtq@5U*$cT})-PkW7%(HQTxp363UM=y47x{$C4 z{5M@cf7GUT6tm%Mn*pzo{(a5My$gOve&4d5JgtlIJ1>3uvN};jdS`zv4MuxAwPUO4 zq$u(_e5U2C#H!dwT(M%u6H(N=+b&&i6UduX#j?%TeqytNI&v!hSSj?wgUK#xOB zO_5%=PV;ZMMbo-r`?L0JL;YTuGqtr>G;NRheIvUD`d7DAhL6=_XsFXh4fQ7)hQh#R zhZYWwA^k^7Ea!Iz{|nR6p0F*3-kGq^ENblJb^mdY9~w405q&wH4z?Mf<8-^8q0nYj`pDFH%Fe&B=utrdx47-|>dc`9ym3rO{oZl}O)#)-OhUP9(P#UY(O; z+5PH{ca4)svxeUNdMz6n3U}7(9p8~ew!e%zSDu9QnAn!Dk&r}VPaEpa48^_quBFdiOFw6lLouZ;^(|M5Ma+v%l{MeQDe zDOn8-F^k{9cWw&(HFeY5a?vRNuUb#MpQg|Xzt9##Jod1+=I411VLHpZjk?)Jqx6bHLIr)#9qw0dn_o9CcB+}HP4%u1t= zs~bEBibH=NZ$J3lqcqYia5T?S!2N2}xXfDVl(_8Lo5vd9KNZwgX*;Bo+v}ixbOYtl zV#l0%e(5ycWLW!FlaU@BW6K8kUQD0yJ}(^%>!W-=c51XZgDM1#i2HE{`=EZ_y4f}| zgY1_Kt`M>a;V=85H1D2Ce|=jresDG1Cyu;%aAzicoa|V4dSCQM^;Xpz6ydu=ZZ|tR zC!jokyg}2-qSdx9gJL^_|7pIO`|(y5bzF1dc0~2YhQcB*7nge3WM$RzW1VFv@2KWM zbCzb)g#B8c73-tF9!xCvAvv4o4QN#5`Jdb;wHMPt%(Z9lJagVHg`gwKr;Ro3F+kC6>_}-w;!lP>5 z!v5cVt2@5z0NSrdnvMcjD5pCZWWu{#lGR?jrMJ>2HMRv{*w*%4{xdLGyX3254YB7c&{Sp zn8B~BkHbD<-Fi1|PGcW&liKR<8?dj~?r?_&{@7O>G5&Q|4bZJe`kEMEfAPy179(7+zu0$3?#Q#) zU%X>sidi)F7ngfnU7-!SXu;6G`eL8)(-X6+&cZ(9yf>y9JFw5Ved{|99$=sGafcnN z6S2=&@$<521<<3<5`VS9e&bMcjmtycF-#n5B41wE$`gAANC#BXxycb0{f2p{U(J1-=k_ac)7FJ zqde-ddPBFXUWi9S@$}&RJUSU#uF+M7pKM{gDt?aCvq7S*d*?7;oG%;0ld z^XUDa7K$&M@Vwm7(fu~$QJ3@WbQZ78qo9~W_SaUypU3Svam(|lyjpK9jb&)RgJTp; z7U$8Ed*(H}F36)z4QWZgd3m(w$e_jjUC`cr%U3mULU>aucj{oDN3N^l-`AOqdS9W{ z;Oh+3WcA@i7ea7HCa?`PBQfPwq_}K59+kiakeAD1)e!o0A-1^mzX?;<@ zIV&Fr^vt7mlN^)Vcgv%y=9_1&>4fsoemf|I>k8_5l=~{*I`?NTed)d6#@)}k)Vo%d-lOtzsl|@8QU0m9WP0U9QvEp0 zY~NG79{e_!X4lm#u*CPtZfIz9GI*LxO}c2!{(Uc(o;aObdgN*@)oFLntlpViQlw3} z?szztdLFB{`Pj}}I@;>Sz02!!X{Xgd-M!0lDb3ixeY{&PO`WLl{xUn4+DsbweD2g- zs%*A)`m@owba{xIQ_+xIG8*UO`<-$rOBmZTu3IiONVPn2piM3f9Z>O2CwvdBrE$?= z&lk=VKIK-$B<7GJ=+NW!;W>0P*K9?#mpRnD zKzYFaVGcEEZ~FGc)f_4^w)}nVL=FXx`IfYIPY$)Ma%|Y>^*I!<@VsW`q8zH0Y!^1# zA%`lBY`=Wp)Ew&fqh83hQ8{F_+j!G4;~a7vbI4_8j~p6ZkTyi4bq>|-_c+wGUJi8$ zSQYr7QVuQeJmp)&_iWN{+ojfvY>XEkd!x6+X4CKo5n62mv+2N&M611zvdK<=;L>-O zv*}&dUp?}UWK)5wX}8EN*`yN?(ry>VnOmnegfw%=rdkGv!dFhprp50)({G#My&gMn zKj@oHJ=#9Y-rhEw9xi^{y*I|Gml~(~T&s{xgVqc^{`F%Px%AYoQ6o8v3SJFv|1CI+ zR_HI>eeH1;<@BDoCH(}xKN#L`afhW@q?y=$`}r|hv~BW4mvNo4sLv>;6Fs%E$o|;0 zh5g@W(!g)sTDjcHq`@HzF8XiCq!#MuV-2TdQl6&K#K10@j(@RLFg1zVbg7MwAHBn1? z*v(I;MvZ>=Nmt-IZ#~EN>Q^zH^jAOBn}P4VDOJ-2Zh zg_{dQ*2Jfh>AiFQ2KbI!z{plZ)=y0(_jh5+DUDO9tzQ4oYf&k5u-PFC=iMpfKEJ`f z?ZZ=OPI8d`Z_N~{w9=yExd+Mg@WcZ5#g55jex!$>{r&ibn#+=C z>(9{ZXWAxFCCezkw9rH(yxRyU7W3Dg8?S zzTe`>dw0NmqaE?|a>&4**ILHYqgK^5-5lQ2wQDQd=&p?;`%kA2F4z-G-!$$W^g0+r z=Ql47_1_&$?V3GG8@V!yvO4ao>ND*fnOk-Jt_MA)!Xu0Ixw+v~#VIi-efL|kT5f&+ zaNzFW(_W;(awQPp==M`ZgB&-UF;+&}3%ySuxeUCY1c zxQWE6069KHEX63VcaZJF(4S$Ak;k>;*>IOStSDXEKOx@FO@m&KIUQDBWGHXSga6&=fdMgTE;Y z9DvS1Ct-#&^NEkRAW{~_lvxX$99==DTTf$w+u3k;=~i%=>kL;ZEnPs7q*?49Nf9ZM zBGN(Z;s4^bYJjQW-P9D{ox;apY8#r++#x}cUE`j@L#T{()G|W?9Xs~ON28r!bng8?2_LvosRG6f4Xlf z@qULaBcTiMZ|{45_|v^~`ksCH)4g;)$Nc!yz4ZHMfB(Dt5jEpK(pS2j57jVM<$X+v z|E1$OUG2|sO1tMa`qRC1Il6cGclUbT|J}Wv;@{o-m`Uy|v(@lluFultsXO}L!}2kcY=TG;WrQV<6`KNoy_*uG>PyXp%I{ht9{pnu1 zJq&cm8xQnZA`TjD@2>$@fc!e*)9>5BZe6TwW#X`LUsq z@E$1ne#!D{VqhdFfRgSd!&me%62=23TbCF8upi5g_^+p_x-a=BzD;={ANT=iwJk5y z208(QfT@5pumacxoCUmqNZ=Dt>96uaL!blD4=@8J1M`3tz!u;%@Cfh+!hlrZ8=%#$ zyr2s-1KI%wz$joU-~cQJHUS5Kv%pQ@B@ho}1K)s3?aSlrY@`=Z0Hc6efD^C=*ae&g ze1It615mX?d7(AX3m6300P}!#zyaVqa32T);(>2KC6r%npf%73mLR5>@AB0I0oF_($-$t z--SJ9|Ac*l362qWHex5PPq((SzzO#_4;&w@Qa4jt&r|;Gxeg1-$kE;&$ElmyIw0%} z_QXo*?1J}9-1`eB*uA;4BRim-r41h#)UZ@K+uJ%=yDIr}eC1yZ$IaPU=^%R+95hBd z%tE+!N*mP~=18b0%MH=6P`du3b8q#*F2>4fZZmOKy1BE`1%V0;*c&XL=IjV~CJ*Yf zCxgTYj2zwIMYzXOVc}{cJ%m)q?!~fM;G`7pNUqk-u5M0)9cDQ87nbuZ4rk zMmx;6b+8f2i8(W8F9_|_*&*%DsE|2Io52p#ot5@1X+rCg&yAI;=RXC+-`~g_r#`Vz zMwkp^|2^4%R&xDqY>+vKsms`tVU9L#c1kJfIG{-+YGkB=RL(%Wvp~@b#`1J)DZ8C;OL4Lw^GB( z7NuitCx*9NzT@%M7yXV>O1Jj}6L(uxU7yq#gC-|7Phm-MZdln5w?+#U1UL0zZg#G= z0~WX{Egi?$+9-`?Svw22)JGv*%o{$eBN*8^y6_SZjMdGIhFLpVxH{W9%*6Yth<)DM*$-iqY|aUn=gvRO2fiVsdN%1Ggp?J{;r64 znwzWA1#w#lQVEF;LatzH=jJkt-3)M>F#}x%AMF%ak(oHmvvqcKV2wgbH(nmiLj1df z@cAF!7$c1NkKaJUSRj-~DNIlL$IWNo2DPiT%7 z3YK7PXS?ukOyE9yS4yuX`U&#;@XsfR*_Aypa|BCKN?k`7rEcbE4W2R0+1hyl-q|m; z03)gF`wQLK8~kpBo2!$XE31zafA|_BBr;!&bB%X&5JN_`B#x!Sa$w?MGh&9+IvR?t z&jRVk872Z)mXo!!Qq?;8{`mwct|`5*st_w{XItxOjC&3>88zI*tZSDJHg?cU&!~^G zwsldeI8@1zP5M84{?%dZpL(bAf*NQ=j?$jPvJxmOfwB@PD}k~SC@X=o5-2NyvJxmOfwB@PD}k~S_-`!% zy@mtD@EBEN#s~S*k^dA^b^I;qrPxLK$J`mpuCfyNua*F7Ps39c53bdFEKW$V``Uoq zmNfYPa-ekqO`rRsmp}PqjE@&)9t>fVou$WH%NrdzaB_0E>e)bM~w{P=kX# zZwj#I-2ryrpWm}tEp`u6qxjA!{@j977zV}g$APlA*}@bSjy<3UH~|d-OfQJ(XZc|1 z@c>wwmvg!Tl;ve5z}!~>ES&8?8{i1PKL*Oua}r?jodKA?I{?d5Ai&%s0Onp7g~G~5 zE;CGP{`O!I|Bqfe|9DBs()-8je>B{vf>^XM!4vtQ9on2hr=FN9s zuuzJk{{SOn6Vri%1`io(Hf;C^^O2)0EJs_789Q$Le_Im%#{>GuCcsCce{2GJ|Kmyj z?@Yk|;Z32nv8kY@UQX*I828i_3syAcWpnzy^ykkBEz(~nR1=kS*v6WZhbvP#;qtvq|LOTZx&PnwFNY&j z`ThSl&^nEc#bmHCI=+>OD68BAWn=$3P&PE@w=@yU)fbeF>AOIgtl|V(6Vw=#$wu0s z^+1zbm7zbp>TIhZ$&N&~~6rK>hVi1U=AgpiM#dH8&BOfqrRbBDjO5gDwD# z1Z4w}KPc<0zMyO|)lJaFtxW_w;Q#bX?LWEHOI;fL`j7Kn{H=7><`}?EyqWyPu15G@ zPWmhCDe-?Z{xeyXU0X{0-&*4Twi5p#3#$C@DDi)1iT_}Gq8!ZXleMM!myQ2RfLHO- z)7;6LlX9$0}8+Z=mm5FS_683E}#Vnz=zHzLOzfUqyx!7JP-p! z0%1T95CHfCzJM2S6*voc0?hwDU>mRwSPZxVvw(@fSilk(1at#h0~Jx&tPa@4cvuI} z51?V^|8p$k7vqU64EC-Z7XAvDNEg(8{Qk}K1XjNa;5Q2019Um~BI}o|PW6Cgfa>y8 zSE&B`YZm|irltC?IHaxmZ~nBJ>c9Sn8uEXSJ^O0Q|Mk2c)sz00d;FromTv6-v7CUw z20o#~6?*wcZaMvR_R_P%wu+!hKU<{K-!h_J)=I_PJrTQ&s%ma-bLEKQ>tj#joaHsP zE?;p^@z~()={LUzH*xm~RX9G6-<09;V&MIqXZw4to-?{t@6Df`;ujC_iro_T_3-zs zrRPT)9ZQ{;6j0cvqO7CswtS7-ycdIpjUAADW@qod-S1w{u^4tHWs>2uNqsjS*)jh2q|^Dw^t>%k zZR%+q{Bz^@jgc)Tt^XQ5^Zf2FMXeqm_n#E&;b8XS;9k8A>Z7Lmws1p!h1UVE1ElLa z%{8nPal(oHe4+6+eczARyw{<|%8&Fkw4JhE;@CQOf(t09TJu!{8w|YojD2hE^le+a zE1C~`uF1lAm|g=Gro7$tI6RGfe*O%!UR8a5z=dS$Xf`2XnD3)qyHj7#4quDDZpN>5 zA04TPnV@wGR*NWb~>M6dgOJ6msDNY`6*J9yjp z-lx|-@*Wd)YQ^c}x4Ik8UF@E(gwOv2|RzliqPYOTMQ+ zZ+s+e-S{!v4IZ1XY*u&pQ026rE4N-LziUbLIeA+ z(z;r63ror2fAQDc_o{yZJ>)w}9E z>l(h-x29M4vs>gl;F4|J-1`)F!K&qtQIDy;QNygn9zOKD>CaDY@xD~fs%rb|hy7^X zhv-$el z2?Dj;RMhiW0wrebzOFqtk@TkLjvvr3i6+IEYPeTUru*$$_Gl83Oy{Rsj%wwZLiguX z{OUO~l@v9tpN9UGMiT;0-94Y3Mz?x?@v%9dPI2lLH#C`^L5Hie0?8zgJBk&Fewnq=8%2b_j3gyIdrUj+Ng>6PU4jo$t#b%&ZTOH zx*orY??;|l;Mb-PzL#0G%M1T;_+F`$51gZ>dwF2O!c}D2!cF~v)&=s;K4Q==>^`wn z-pG7P!-Ka^{AKi#&ORTCEC_iYMm{TapW#B=USGQU2-|mQT(m6Dq$!mG~6e*+*^Isw!#3YT3S9 zIwe%zd2YqX45~jes=;FGOd9ZJ#@n>nSrptX`s>o!+0-xn-NkPcbLe1dqciD)aw*&@ zyW@ja#rgSxQW!QZpT1ZmojT~7Pfb>5jlA2qfF6!w4X%Kmer!E)t4{&l2^LV)g(Mc+ zutIvJ<9Gk==0cjLGq(3l|3cCYGLFpuP)IlZ=RG=FzlZ`R4fU^JSVVXkAr#S8 zu8=ZXcGkMsu#g&bjMXo{yg*eirTb0F4TEaAf#>P<4x#%kyIT}GjHT3zE_JLC<=o*3 zeOgwvC`HqkmIU1x_wn9ya?MNFku>}T*(g3O{OtFNQgXD;Xm$*wZwJlSc^Cyz(YPZO z=FbeK_N;lX388TtN2ql=5=v{$PtB-yGmJhpH?bM}>@A%PLKjyxp#|JdZxqOHs(?Fji^S(sW5T7HkAfZ(LhJ$}a0rEe4MpZzNC zH%_~}`uKUo)7d`BGw!M-(E3H~mZYyppqN>Lv@~hXn|2kGsM%@b z8V@%m(WW7p<+@c*rokV&Y)ILYOnSH0@BH2QZ@yx9Ba7ZvoYl(8-bAqNX^r=y;^#uxQRj8kF;2L!i6L^cpfQymieexLecuAvP zk7?h?c6V;p_n}6+I)#3^;!By=_eCzA=*RodOVYl&b@-&O0d)M(tT9bf-q7ezldAu4 z45m3spN=1kLdfOAmxsfag^|MvH80H?;Uq}`5i~)|+1$tM9ibAgFDi_p%znbTVTWR9 z-3-CPpUTgvwEyF@)~%w_D3`Ix`{`6T`Bs;Ny&3c*(J6I|OD5+VS!DJ! zzk25u*%bQZ8?F7CO|5*^oEd}fu6|<0xI33B-G6wpGrpgz7}kD5R^@!Eb*|HG9h-cK z-`~!sZ13L9hv59j^Go_P?rL5@tyZ2$e%t%ce#3M{`N~G`U!4_9YsQCqCF#DS8R8Yk z`A7oaf0{&DF1KoZf0ayPckP}^M=xB8oH8$szT*ptq`Cz(O!qRf>^j2j#rokiw9 z>bgYK$fo9uJ$YplI(Oh_iyRt&(VPYz#>Pio(}s`SX|lhZ4wUzH!8 zzXSW(m7&VNTpn`y$mJz{uQN$io^tuh-LTpu!((zk_=KPRb;$XG9O{(Os<*CSfK z+i0U*+EW@OzTi(>8s_y8%-;_qHj3$9jv)3sFd>S>VNExVyT_9xIwz7OKqv8dQaC?P zqfcyD_?XV)&E)an`@3Q}N5;O}QqQ%FPGbF%q(kxQ0rc+<=0 z>CLAjd1o*}7x4TQkeBPuy5+12Nm3IENo(GvL`Hm*US}}I6XXfkRTO<6Y z2a@rc(O%mZ1mT>rpdfk@OjUZu7d_Pqr3P)Ee?4d(M$;?zuR3HO&H*tAefJ_hoUFGr zetZXVm{jiXXsgrs{Nq=mI6sZ%^&dlN-RG^(#Ca2aH{Z03+Y(2YYqYC6bLo2mlYU!n zWIPS-z$C+X9!>(O-^ooqS2dBuZt9vybM8!mhyrBddERM&B4X*B!Y_$m4~)2P5SbvxBf=j|?C;$O+> zbkH!UlJ+>9oSt##ibh%niNhDZk1WNXMTr4dQiUg3G;r(t=npfqx!jP$<0~F_SX(Q} z-8<6n=K?EY}K2T#iVhBL61Z2A`8@)1wvLrU$1`)e%>ADc7YEgf9rV zY1ES?qackSJeXU&N~hZ2U**1dnnBrS$BODd$fVDWJM_-ol|_A-*f}Db9zpA{(9Gfe zGKa3rU*VfijU=lxLhRnZ#~yl1djFvJPL|??pE3oyp(Nq6MO$n9cb_ z4)50(FGYry$N5GvUy}Gpp2}U~hqX5i>>NV5Y)-gYa=0ke#7@JE_BL4b>^8+NlR;>3(^>LphYsyP<6cv;( zvhFgvQ`>XV#I(RO>G7l`CM1cZ{+3FO#0b*KOe}~@f|3OVE}QD^4uj;FOZ7yBG>^VP zDsbJIPZ07^!389W|A7Uxgo#Om3;DQENS;WgKF(p5{1tJ&UqsgrGsa%T^_U{g?+b~A zTDM%GDnF(5g?$}6diU#dikueb>~EoVofcQy+i?DnJJc}n$Ly*)UX(k(b)^sMz3CyO z@$8R2Wa(JNZuit@bZR)$O#Nv7kP2D98@{Bpb5-xva|ocr5s@v<-w7m9OkNU1hQ=rQ zt~(q|Q^bxNLN!IjAe0Qm4i-i=TYc`Us~Jvod&qa&_Uz=$u;9FrLk8tx z6uDO~lU^O_uyOrsoDcIj?9IUqStP0@R@pRZ!-bcR{>mYBNa4CTpFnPJ@_5=)OqdI; zzI|xu+|ldlc6gnN_PzH~V`#G-ejnp{+d1AYu2PN9W4{Gy-lAq=N4ZB0BHKcwenevN zc|9Qvj(V@bxBDx9eBV^rk9-#|Q2P}8f`XQwT&H~@fQIM?ziPeb4HXRi>2+>UFt-bY z&~(ut5=No32gOX!cuT#R`t1=xyPk|J%xw6M##F4mw(H|4^0fT!YA_>)&TQZFGP-&k z)fWvW?!P(>) zKh31d=^SeL-p*zE!d&Y3ty0J)oS!jf_mVN?e&bw{&CSCTE%NEfZ>#ImPvrCbfqz3= zYJvXu@Og)k54#u3IkNmF*AIkwwB$stM`iPIG@I6~W(q_$?fS$F9k8>&I^uFGhc2`1 z;=GCbgPCBJOU#N;K0j9_-^+5kEWgWCelE-Hvb-+q4YGVL%jL2>F3aJv{4Lo-5>)z) zoDZ2ksHT`*v(*`T%hY47o8+W5diE#91KuCKNi^3y@}Z2WKaW0L{EV)}grG(Ek*MxJ zeZkvd0M%u!G%=93hahtH9lyAeM=+%Fo7(L78hPMpL5_X z)pgG`oah`*T@&_xTVN4E+7$*|_ox`DlJ71~t!RT61jY-aC_C5aTFFo)@jID@&a*3*=$1nHwFf~3N~MI{i?Q>LrP8k1N4NNCr_r1x+k^JF zq*1-zmBGT&sHVsW(kbV5<=1ZYGidjn=7(x~We|)XP`opF`^%*Lp~}wJzGhL%U5h?r ze`nLob_W87Pv{V>%u-Cn#+-`A7r5C+?$_${_ zxET1jq6hWRnnFbz7{?LNARg2revKg;aH7Mx6?RH z=i^)kmnSlajRtwXnLL~m@bNpDB)eidF)MT4nM|%P;`|k6E}WOk#}%9x zB#!gNa)w;*@^hKW?@4-RwkljXoHLm+{yU`0$ ziU#Wd63x>O0!cL6K<=01qF{OoYu}vfA>3XRN;Vlrb;9n1k(1Z~-cn`Jpd3!eU`<-4 zjG&`UOtrT5h$PYM-vH+(ei#DFeiVtr<%(jx?$U|#6_4k}lB>4=1rLlCH8JNb@SmBu*Rn$@51s z1f>NtByUyyTy96A`DgJ_3b^_6ufK+!C(G{r!LO&6jlw z;_WPm+K#feYw90NY}TnR`nx!t6B0`LY_`?~vkKt&E@^;xJY`z7G&5xT1*l zwo4C+`?=2vCaA>{)5?uM7TW(3EU2tK;m@8hGM&oY|oR%(PTb; zq^RtBQol^4ok_zX;-r!fQ}>}iO7l1A+-{kH^UIiptJof+i&9B3&ZeZTAIWiEY8p^)xuVjz`lMZ*u~T_6pP>zGdB zv}|5Fu~LL#kLz`rTrSHZZP9=Ry;(Fc7TaN7uAf(H)Y4oUB~A$BkvP2I+(Y-^G23Re z%jfarQ%ED1{pG9pi8Q~L$Mx)772jzh8dP$4xn*;? zAyd`ArSOXTx7;2jJ6Qss7mVfgUfjQ#{!!AtA}!?DP9N{FiIp=XPJ?#2Mbh}=&FwzV z$&HzJtG?#p1#>$~7@r4=UiM@1o zXqx%b)Fy}T7mj;Qb9)tC=&kT4ak-B0lB$LO?j5lA6;&1o%-1BEu{7RL4x5HQ5XAXl zFt^`^(xzxOQ5wei@>^;<#(nR`FX3E1kEAx5v6DmUzT@_rD0(@9&6Gux7)_lR63t~o zEHUd&>Z@4NTyxRkje%8)? z;i-1Tdet>wjhCkgHNoevqaOjm>>69_#^H#;k-gI0sky-O}u#aNjL3fG_Kp>!`fSR@P2%R3_52$ zGar7EoG^Q7Xnl^)vt1z@kul!ndhA`oWc0T^y&ux)rE!)geY{CDQ-AQ`_4AA(yscmv z@grlA(Y{d4M?u-aN`@e+%gh=BLdb(n$47=zYI?zTd}4W~{vZWq!{Mv!aB z_vaBu-cg5gy<1zKj;2kkm_aC(T#iq|40;^S4bF$f<~ZO`bKeU0_K`B-up*>DQedjT$Tu zqKXN@&#TV~=JS{#G?FdTP!HwnG(ssEt1aGb4dd%Wisdp<|2-Z-Fy3IoB9cV4zkd`l z>*mr;#q!uc>0R&k55QC#_yAhh=8SkMhu)nqDS_H7aNDBxE`h}Ef^*Cz_eAopxLT{% zsw6s~#b%<5`GRC0O(7DO9~AQisTxyB6esup@9SNqe>EXvcQHR;tF5M5 z9;eC27tWb_;UsM@+zHFi8QxDW^6}sXWh`MebdR?aZ`y&?P~UQ%(qxY%u9+|WsD-Fl zzU1>K0kjuZ(&3c@$;aCTD{!z*qo#3e1-)Pz_~L?#wton{xVoWd7u1s^mxPnJOiVwL z#AO79@94_nJ!wy3qp3YJZ=}ZZc;ji)F}Cm{f%Adl{txM=&y{OQWNfxxe__33zOE>l z>%%D|E-%4)Gs$kBM)!4@r4;Kk_AP(;<#Vxq>&495Ycjb$o~5#TeonSN7Tyi(t;GJF zLyeePh;xADewo488_p3I?J^JZ$w-`-&6nC^wF0h3$nuy>@itrTur-0pyIHF6p(#F=jO6k4X}Nrz9nKFH*JkJioYq*Fi#x<+64PDP3JT?ZIg;PWy6d$f<(U z{+t>~)Wd||590Sj`28?`KZ4(n+|>9@aLU)xZU`3USA%D(!E)KiE0~jI*^Ay zgug$GQ*#~;uMZDP9^P0f-qVv5l71e+^^Esi&Q0LsR1!U5%PWdf_v1G|?p3}H<}SDIdUO5y86SsU@_rknl24^@!nr*lX5QE8_an2OiG{p8pSgJz4Q{X+7u%p5J2qgOv`u@>zDJm9-Pnh z^L#E(7x48W1w8$Qe14*kmqQ`90~Av!AI0m$BtG@${OAn1lKwx`{-i9mR7mtMPCIhi zMWP;jocHV_-J274AHb=xMCI{Q7|Nf^<2WBLrt)#qpO4$U#!CJ?wmhX8zd2_0mAo=s=RF-$Vx!mKyRdeerfPl~XxAQ%j}GV;WB< zr={D8o{i)l}-r>UGOW=QVBOo=Ku_2AT-Q_opE9GUWZSMYEJIXq51<#nl`pAvW{Jyv34!uQSm%>zf{!ZrK=8}IGODUe`WBGdpJpQk$ zbVzzs1t}b%2B-CT{7tzY)QYFKy%bKpF4BFf-0yh*7aH>Sn(_Er^Y=UQ^mgUu?G6J$Ol_kTG(oDT@{cqhlh%S|xi@$i1G z(#r?(^bF$e@;J)VA#gtC!TEq7^AVYHe&WH?=TWL3%j1$f9?9d7g7;r}+)?oUD~~hs z_#%%J^7!Dv#|63n%HepF8n@(dJY;?#k58Nrc+2BVDL$a$OVgzCi09Ok_si1#-h=l? zJ>DO^IhFglg7-gx_d8Ecr}BO$6zh?Er!$wkV^s4)lKh*(+i`|UE|>O?G*6vpQ*F>fkv7>MEb@3~ztiPJPLmuGVOaW0=9 zE8y=Ha{7VOPn@Q!s5IY}&*$9=d3Yaqd>^@<|5=p}NnZb^%8z6h|HYdJ(As_I9<{@cy)zjzgOq!*5LOV3Ta-hoI*-(Ii8Pl3Tc0fTwj{pUwQ7Y zyh7S9Q(hsh%dDV~_N7%&Nc(2A`1|Gg^YZ+81(kp4{R#?czmyjDr^WqMR7iSZMTJye z6&2F{q)Oc0Qb{3|Q)TY2GWS^w^ zL-;c4oOuaxd0K5zc_dEo8<0+gnOg$$nF84=n92 zzc16$?s9tM=W=@W75K&wnF#s-yAHYGJ1xL2U>mRrSO<6jivfSsrz@x(U;|79ECDmX z7%%|30qp>GO+-7e1f1~RAW#LsE(6eBKsTTh&<&3Jf1Kp^5dQB2z94)ZOKXU@L0VV>LfEi#6 z7y#XXc7Q&>F8%TNUJm{@1nL4hfEMs$j^zFUG#!WmSU5q9B7S4Q7ysGC^4y7+Kg)+V ze|{JADsYkCZ-O6Pz!UeofNlKwD)t}mF?Ve}6hJ4SA)pJC1M(4PJP-!>0#^Y~U>m?LS5PPZpS39){-4$1RQ#U^j0G%9 zJU7FCW1tt%i9c@*+7Qs@_w4<0`2S<36wepXc4%iG`29s2v~j=_$i}mHAPDdU?gFfg zFM@gk`+#-8V!#fV2$%uJfCA_Sv;*`29Y6r`XQ14G7$68>mp`aCa2L1;90GO$s{nVv z39tbyfkA)*=mxX~8Ui|i7Vtxfd;r-%G7t#_0lt72a1}TS>;pCdtANFT6EF*y2$%!L zfC116Xbm(3bbxZe50uLXARUMY!hit43%ClfYZvGyzzJo&3Uo1GfI933u=dUPqAQ-+ z0XD!yz!De)7y#XXc7Q(65YPqKrGxe#KL+&!cmU>rE)Zjdb^}ZV^nm=)C`(`yFc#1U z;w|9^umtJ?F%~Ebzz%2)q>nNYJOLX(ABZ1`ass9T`arTd?g0hxWd!mIcmRU{T_Alp z>JZojD1aZskWRn`XbnV~;T~`WEP+mdHjq9P^#gbUc0f0v91u1H&j2T&8=wt@4MzI_ zRsj=%cEFcGh!z(k-mkZx)scmg&+JK%!}>I$#}^nee>$Pcg>Fa~sh zNF%%h*Z}%K`~c)1Fb7%#@%@n>pf12JB`_1P1?B*DfIZ*wyixMqo3r71$2!1@;36fkVJy;0SOOI0jq*E&;cI+rS;*E^rUH4?F<8 zfXBcS;3?n_yZ~MSuYor}Fc1p71>OPCKrHYcNC1+66d(=A0NSfb-$LpP+7;*y^aOeX zeE~zDA3#8Vzz8q_1_FbDA;3_8eM@NsU=EA~MgbPUXkZL54wwR11JeN|U<=FvwgWqW zoxpD3B>I^ra0u83>;kp{n}Bt|D!>C+47dY!z*N8zFay{)TDsrX#WQv>o~*_G18m&S z2hv&p1R{X|z#s4i*yRO!7q|&r1ug<-0d|!f2lwF_8|T(>xAd+E6Nm(YfZ{8j*jeT5 zlFu}k-Q=^)<$F#&elJt~`yF#8;@;{RbFWoVNY8%%uA=zd!$^Byy-&M;lJqQ|G^B&f zrCT*!AvoDsh)pvV5`pTe#?o{77su&#_nFo7cvQ6)zj+AQvs+F}i$N%-Edjo%j{FLz zsH<|~CkZP_AF39d@cud$#uWBpy+7U9JF2xaMp6j*eK}R7T)M}1wwC#RHx^z3Z-BQz z6c7)j0@*+zQ1yqgP!nhabO43`;{gX?DR2Zh0XzhJfJEREQ1z#=&S*uP(?JJyZ5gO5q16)04A7 z8-V76HUV{NYASwbbQWk++)o9q3YrY}Dxfi-)j$J4Sqx+0t_f-m+8FdIp4R}q2&xBq z7E~M57ql{{7icZeLGa%Y^d|1>fhurc9kdr{UC>UTwLx2hvSy_R+6=TIXmilIp!%S? zpe;bPLB(u>mR)5fP*wtEB~VrZWhGEn0%avoRsv-uP*wtEB~VrZWhGEn0;1go#h@nY z+0eB;=x*`+uJ#~ z7&dcrcIe|WeU{SR+NHg{?Q~~H7snZ{?Wa51_px@d?=Y`(Gd+822iqA+7gsB#vx}{x zgJHAI9Xd7ZSEZ6cM>(v1=Kan48ygQEK5*<<{-^A|tUSuvLs@?);|CIBEaQh|{IHB4 emhr=3.0.0 geopandas +pyswmm==1.2 \ No newline at end of file diff --git a/swmmio/defs/config.py b/swmmio/defs/config.py index 637a8d8..2cbcccd 100644 --- a/swmmio/defs/config.py +++ b/swmmio/defs/config.py @@ -3,11 +3,8 @@ # This is the swmmio project root ROOT_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -# path to the SWMM5 executable used within the run_models module -if os.name == 'posix': - SWMM_ENGINE_PATH = os.path.join(ROOT_DIR, 'lib', 'linux', 'swmm5') -else: - SWMM_ENGINE_PATH = os.path.join(ROOT_DIR, 'lib', 'windows', 'swmm5_22.exe') +# path to the Python executable used to run your version of Python +PYTHON_EXE_PATH = "python"#os.path.join(os.__file__.split("lib/")[0],"bin","python") # feature class name of parcels in geodatabase PARCEL_FEATURES = r'PWD_PARCELS_SHEDS_PPORT' @@ -25,3 +22,5 @@ BASEMAP_PATH = os.path.join(ROOT_DIR, 'swmmio', 'reporting', 'basemaps', 'index.html') BETTER_BASEMAP_PATH = os.path.join(ROOT_DIR, 'swmmio', 'reporting', 'basemaps', 'mapbox_base.html') +# PySWMM Wrapper Path +PYSWMM_WRAPPER_PATH = os.path.join(ROOT_DIR, 'swmmio', 'wrapper', 'pyswmm_wrapper.py') diff --git a/swmmio/run_models/run.py b/swmmio/run_models/run.py index b634f03..6de4d30 100644 --- a/swmmio/run_models/run.py +++ b/swmmio/run_models/run.py @@ -4,20 +4,27 @@ from swmmio.utils.modify_model import replace_inp_section from swmmio.run_models import defs from swmmio import Model -from swmmio.defs.config import SWMM_ENGINE_PATH +from swmmio.defs.config import PYTHON_EXE_PATH, PYSWMM_WRAPPER_PATH -def run_simple(inp_path, swmm_eng=SWMM_ENGINE_PATH): +def run_simple(inp_path, py_path=PYTHON_EXE_PATH, pyswmm_wrapper=PYSWMM_WRAPPER_PATH): """ run a model once as is. """ - print('running {} with {}'.format(inp_path, swmm_eng)) + print('running {}'.format(inp_path)) #inp_path = model.inp.path rpt_path = os.path.splitext(inp_path)[0] + '.rpt' + out_path = os.path.splitext(inp_path)[0] + '.out' - subprocess.call([swmm_eng, inp_path, rpt_path]) + # Pass Environment Info to Run + env_definition = os.environ.copy() + env_definition["PATH"] = "/usr/sbin:/sbin:" + env_definition["PATH"] -def run_hot_start_sequence(inp_path, swmm_eng=SWMM_ENGINE_PATH): + subprocess.call([py_path, pyswmm_wrapper, inp_path, rpt_path, out_path], + env=env_definition) + return 0 + +def run_hot_start_sequence(inp_path, py_path=PYTHON_EXE_PATH): # inp_path = model.inp.path model = Model(inp_path) @@ -33,7 +40,7 @@ def run_hot_start_sequence(inp_path, swmm_eng=SWMM_ENGINE_PATH): model = replace_inp_section(model.inp.path, '[FILES]', hot1_df) model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none) model = replace_inp_section(model.inp.path, '[OPTIONS]', defs.OPTIONS_no_rain) - subprocess.call([swmm_eng, model.inp.path, rpt_path]) + run_simple(model.inp.path) # if os.path.exists(hotstart1) and not os.path.exists(hotstart2): #create new model inp with params to use hotstart1 and save hotstart2 @@ -41,7 +48,7 @@ def run_hot_start_sequence(inp_path, swmm_eng=SWMM_ENGINE_PATH): s = pd.Series(['USE HOTSTART "{}"'.format(hotstart1), 'SAVE HOTSTART "{}"'.format(hotstart2)]) hot2_df = pd.DataFrame(s, columns=['[FILES]']) model = replace_inp_section(model.inp.path, '[FILES]', hot2_df) - subprocess.call([swmm_eng, model.inp.path, rpt_path]) + run_simple(model.inp.path) # if os.path.exists(hotstart2): #create new model inp with params to use hotstart2 and not save anything @@ -53,4 +60,4 @@ def run_hot_start_sequence(inp_path, swmm_eng=SWMM_ENGINE_PATH): model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none)# defs.REPORT_nodes_links) model = replace_inp_section(model.inp.path, '[OPTIONS]', defs.OPTIONS_normal) - subprocess.call([swmm_eng, model.inp.path, rpt_path]) + run_simple(model.inp.path) diff --git a/swmmio/wrapper/pyswmm_wrapper.py b/swmmio/wrapper/pyswmm_wrapper.py new file mode 100644 index 0000000..55d735c --- /dev/null +++ b/swmmio/wrapper/pyswmm_wrapper.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# ----------------------------------------------------------------------------- +# Copyright (c) 2022 Bryant E. McDonnell +# +# Licensed under the terms of the BSD2 License +# See LICENSE.txt for details +# ----------------------------------------------------------------------------- +""" +Function developed to execute a PySWMM Simulation on the command line. To run, +execute the following on the command line: + +python --help # Produces a list of options + +python /pyswmm_wrapper.py /*.inp /*.rpt /*.out # optional args +""" + +import argparse +import pathlib +import pyswmm + + +def run_model(): + """Run Model.""" + # Argument Resolution + parser = argparse.ArgumentParser() + parser.add_argument('inp_file', type=pathlib.Path, + help='Input File Path') + parser.add_argument('rpt_file', type=pathlib.Path, nargs='?', + help='Report File Path (Optional).') + parser.add_argument('out_file', type=pathlib.Path, nargs='?', + help='Output File Path (Optional).') + + report_prog_help = "--report-progress can be useful for longer model runs. The drawback "\ + +"is that it slows the simulation down. Use an integer to specify how "\ + +"frequent to interrup the simulation. This depends of the number of time "\ + +"steps" + parser.add_argument('--report_progress', default=False, type=int, + help=report_prog_help) + args = parser.parse_args() + + # File Naming -> Str Paths + inp_file = str(args.inp_file) + if args.rpt_file: + rpt_file = str(args.rpt_file) + else: + rpt_file = args.rpt_file + out_file = str(args.out_file) + if args.out_file: + out_file = str(args.out_file) + else: + out_file = args.out_file + + # Running the simulation without and with progress reporting. + if args.report_progress == False: + sim = pyswmm.Simulation(inp_file, rpt_file, out_file) + sim.execute() + else: + with pyswmm.Simulation(inp_file, rpt_file, out_file) as sim: + for ind, step in enumerate(sim): + if ind % args.report_progress == 0: + print(round(sim.percent_complete*1000)/10.0) + + return 0 + +if __name__ in "__main__": + run_model() From c05fbfdcc8a363019735703b782f090509fcbbb1 Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Thu, 22 Dec 2022 16:45:29 +0100 Subject: [PATCH 03/21] Added Network Tracer function and tests --- swmmio/tests/data/Example1_parallel_loop.inp | 340 ++++++++++++++++++ swmmio/tests/data/Example1_parallel_loop.out | Bin 0 -> 45202 bytes swmmio/tests/data/Example1_parallel_loop.rpt | 347 +++++++++++++++++++ swmmio/tests/data/__init__.py | 1 + swmmio/tests/test_functions.py | 62 +++- swmmio/utils/error.py | 42 +++ swmmio/utils/functions.py | 54 +++ 7 files changed, 843 insertions(+), 3 deletions(-) create mode 100644 swmmio/tests/data/Example1_parallel_loop.inp create mode 100644 swmmio/tests/data/Example1_parallel_loop.out create mode 100644 swmmio/tests/data/Example1_parallel_loop.rpt create mode 100644 swmmio/utils/error.py diff --git a/swmmio/tests/data/Example1_parallel_loop.inp b/swmmio/tests/data/Example1_parallel_loop.inp new file mode 100644 index 0000000..5655872 --- /dev/null +++ b/swmmio/tests/data/Example1_parallel_loop.inp @@ -0,0 +1,340 @@ +[TITLE] +Example 1 + + +[OPTIONS] +;;Options Value +;;------------------ ------------ +FLOW_UNITS CFS +INFILTRATION HORTON +FLOW_ROUTING DYNWAVE +LINK_OFFSETS DEPTH +MIN_SLOPE 0 +ALLOW_PONDING NO +SKIP_STEADY_STATE NO +START_DATE 01/01/1998 +START_TIME 00:00:00 +REPORT_START_DATE 01/01/1998 +REPORT_START_TIME 00:00:00 +END_DATE 01/02/1998 +END_TIME 12:00:00 +SWEEP_START 1/1 +SWEEP_END 12/31 +DRY_DAYS 5 +REPORT_STEP 01:00:00 +WET_STEP 00:15:00 +DRY_STEP 01:00:00 +ROUTING_STEP 60 +INERTIAL_DAMPING PARTIAL +NORMAL_FLOW_LIMITED BOTH +FORCE_MAIN_EQUATION H-W +VARIABLE_STEP 0.75 +LENGTHENING_STEP 0 +MIN_SURFAREA 0 +MAX_TRIALS 0 +HEAD_TOLERANCE 0 +SYS_FLOW_TOL 5 +LAT_FLOW_TOL 5 +MINIMUM_STEP 0.5 +THREADS 1 + +[EVAPORATION] +;;Type Parameters +;;------------- ---------- +CONSTANT 0.0 +DRY_ONLY NO + +[RAINGAGES] +;; Rain Time Snow Data +;;Name Type Intrvl Catch Source +;;-------------- --------- ------ ------ ---------- +RG1 INTENSITY 1:00 1.0 TIMESERIES TS1 + +[SUBCATCHMENTS] +;; Total Pcnt. Pcnt. Curb Snow +;;Name Raingage Outlet Area Imperv Width Slope Length Pack +;;-------------- ---------------- ---------------- -------- -------- -------- -------- -------- -------- +1 RG1 9 10 50 500 0.01 0 +2 RG1 10 10 50 500 0.01 0 +3 RG1 13 5 50 500 0.01 0 +4 RG1 22 5 50 500 0.01 0 +5 RG1 15 15 50 500 0.01 0 +6 RG1 23 12 10 500 0.01 0 +7 RG1 19 4 10 500 0.01 0 +8 RG1 18 10 10 500 0.01 0 + +[SUBAREAS] +;;Subcatchment N-Imperv N-Perv S-Imperv S-Perv PctZero RouteTo PctRouted +;;-------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- +1 0.001 0.10 0.05 0.05 25 OUTLET +2 0.001 0.10 0.05 0.05 25 OUTLET +3 0.001 0.10 0.05 0.05 25 OUTLET +4 0.001 0.10 0.05 0.05 25 OUTLET +5 0.001 0.10 0.05 0.05 25 OUTLET +6 0.001 0.10 0.05 0.05 25 OUTLET +7 0.001 0.10 0.05 0.05 25 OUTLET +8 0.001 0.10 0.05 0.05 25 OUTLET + +[INFILTRATION] +;;Subcatchment MaxRate MinRate Decay DryTime MaxInfil +;;-------------- ---------- ---------- ---------- ---------- ---------- +1 0.35 0.25 4.14 0.50 0 +2 0.7 0.3 4.14 0.50 0 +3 0.7 0.3 4.14 0.50 0 +4 0.7 0.3 4.14 0.50 0 +5 0.7 0.3 4.14 0.50 0 +6 0.7 0.3 4.14 0.50 0 +7 0.7 0.3 4.14 0.50 0 +8 0.7 0.3 4.14 0.50 0 + +[JUNCTIONS] +;; Invert Max. Init. Surcharge Ponded +;;Name Elev. Depth Depth Depth Area +;;-------------- ---------- ---------- ---------- ---------- ---------- +10 995 3 0 0 0 +13 995 3 0 0 0 +14 990 3 0 0 0 +15 987 3 0 0 0 +16 985 3 0 0 0 +17 980 3 0 0 0 +19 1010 3 0 0 0 +20 1005 3 0 0 0 +21 990 3 0 0 0 +22 987 3 0 0 0 +23 990 3 0 0 0 +24 984 3 0 0 0 +9 1000 3 0 0 0 + +[OUTFALLS] +;; Invert Outfall Stage/Table Tide +;;Name Elev. Type Time Series Gate Route To +;;-------------- ---------- ------------ ---------------- ---- ---------------- +18 975 FREE NO + +[CONDUITS] +;; Inlet Outlet Manning Inlet Outlet Init. Max. +;;Name Node Node Length N Offset Offset Flow Flow +;;-------------- ---------------- ---------------- ---------- ---------- ---------- ---------- ---------- ---------- +1 9 10 400 0.01 0 0 0 0 +10 17 18 400 0.01 0 0 0 0 +11 13 14 400 0.01 0 0 0 0 +12 14 15 400 0.01 0 0 0 0 +13 15 16 400 0.01 0 0 0 0 +14 23 24 400 0.01 0 0 0 0 +15 16 24 100 0.01 0 0 0 0 +16 24 17 400 0.01 0 0 0 0 +4 19 20 200 0.01 0 0 0 0 +5 20 21 200 0.01 0 0 0 0 +6 10 21 400 0.01 0 1 0 0 +7 21 22 300 0.01 1 1 0 0 +8 22 16 300 0.01 0 0 0 0 +LOOP 21 24 500 0.01 0 0 0 0 + +[XSECTIONS] +;;Link Shape Geom1 Geom2 Geom3 Geom4 Barrels +;;-------------- ------------ ---------------- ---------- ---------- ---------- ---------- +1 CIRCULAR 1.5 0 0 0 1 +10 CIRCULAR 2 0 0 0 1 +11 CIRCULAR 1.5 0 0 0 1 +12 CIRCULAR 1.5 0 0 0 1 +13 CIRCULAR 1.5 0 0 0 1 +14 CIRCULAR 1 0 0 0 1 +15 CIRCULAR 2 0 0 0 1 +16 CIRCULAR 2 0 0 0 1 +4 CIRCULAR 1 0 0 0 1 +5 CIRCULAR 1 0 0 0 1 +6 CIRCULAR 1 0 0 0 1 +7 CIRCULAR 2 0 0 0 1 +8 CIRCULAR 2 0 0 0 1 +LOOP CIRCULAR 1 0 0 0 1 + +[LOSSES] +;;Link Inlet Outlet Average Flap Gate SeepageRate +;;-------------- ---------- ---------- ---------- ---------- ---------- + +[POLLUTANTS] +;; Mass Rain GW I&I Decay Snow Co-Pollut. Co-Pollut. DWF Init. +;;Name Units Concen. Concen. Concen. Coeff. Only Name Fraction Concen. Concen. +;;-------------- ------ ---------- ---------- ---------- ---------- ----- ---------------- ---------- ---------- ---------- +Lead UG/L 0.0 0.0 0 0.0 NO TSS 0.2 0 0 +TSS MG/L 0.0 0.0 0 0.0 NO * 0.0 0 0 + +[LANDUSES] +;; Cleaning Fraction Last +;;Name Interval Available Cleaned +;;-------------- ---------- ---------- ---------- +Residential 0 0 0 +Undeveloped 0 0 0 + +[COVERAGES] +;;Subcatchment Land Use Percent +;;-------------- ---------------- ---------- +1 Residential 100.00 +2 Residential 50.00 +2 Undeveloped 50.00 +3 Residential 100.00 +4 Residential 50.00 +4 Undeveloped 50.00 +5 Residential 100.00 +6 Undeveloped 100.00 +7 Undeveloped 100.00 +8 Undeveloped 100.00 + +[LOADINGS] +;;Subcatchment Pollutant Loading +;;-------------- ---------------- ---------- + +[BUILDUP] +;;LandUse Pollutant Function Coeff1 Coeff2 Coeff3 Normalizer +;;-------------- ---------------- ---------- ---------- ---------- ---------- ---------- +Residential Lead NONE 0 0 0 AREA +Residential TSS SAT 50 0 2 AREA +Undeveloped Lead NONE 0 0 0 AREA +Undeveloped TSS SAT 100 0 3 AREA + +[WASHOFF] +;; Cleaning BMP +;;Land Use Pollutant Function Coeff1 Coeff2 Effic. Effic. +;;-------------- ---------------- ---------- ---------- ---------- ---------- ---------- +Residential Lead EMC 0 0 0 0 +Residential TSS EXP 0.1 1 0 0 +Undeveloped Lead EMC 0 0 0 0 +Undeveloped TSS EXP 0.1 0.7 0 0 + +[TIMESERIES] +;;Name Date Time Value +;;-------------- ---------- ---------- ---------- +;RAINFALL +TS1 0:00 0.0 +TS1 1:00 0.25 +TS1 2:00 0.5 +TS1 3:00 0.8 +TS1 4:00 0.4 +TS1 5:00 0.1 +TS1 6:00 0.0 +TS1 27:00 0.0 +TS1 28:00 0.4 +TS1 29:00 0.2 +TS1 30:00 0.0 + +[REPORT] +INPUT NO +CONTROLS NO +SUBCATCHMENTS ALL +NODES ALL +LINKS ALL + +[TAGS] + +[MAP] +DIMENSIONS -188.4225 -154.7365 9514.7325 10196.8465 +UNITS None + +[COORDINATES] +;;Node X-Coord Y-Coord +;;-------------- ---------------- ---------------- +10 4105.26 6947.37 +13 2336.84 4357.89 +14 3157.89 4294.74 +15 3221.05 3242.11 +16 4821.05 3326.32 +17 6252.63 2147.37 +19 7768.42 6736.84 +20 5957.89 6589.47 +21 4926.32 6105.26 +22 4421.05 4715.79 +23 6484.21 3978.95 +24 5389.47 3031.58 +9 4042.11 9600 +18 6631.58 505.26 + +[VERTICES] +;;Link X-Coord Y-Coord +;;-------------- ---------------- ---------------- +10 6673.68 1368.42 + +[POLYGONS] +;;Subcatchment X-Coord Y-Coord +;;-------------- ---------------- ---------------- +1 3936.84 6905.26 +1 3494.74 6252.63 +1 273.68 6336.84 +1 252.63 8526.32 +1 463.16 9200 +1 1157.89 9726.32 +1 4000 9705.26 +2 7600 9663.16 +2 7705.26 6736.84 +2 5915.79 6694.74 +2 4926.32 6294.74 +2 4189.47 7200 +2 4126.32 9621.05 +3 2357.89 6021.05 +3 2400 4336.84 +3 3031.58 4252.63 +3 2989.47 3389.47 +3 315.79 3410.53 +3 294.74 6000 +4 3473.68 6105.26 +4 3915.79 6421.05 +4 4168.42 6694.74 +4 4463.16 6463.16 +4 4821.05 6063.16 +4 4400 5263.16 +4 4357.89 4442.11 +4 4547.37 3705.26 +4 4000 3431.58 +4 3326.32 3368.42 +4 3242.11 3536.84 +4 3136.84 5157.89 +4 2589.47 5178.95 +4 2589.47 6063.16 +4 3284.21 6063.16 +4 3705.26 6231.58 +4 4126.32 6715.79 +5 2568.42 3200 +5 4905.26 3136.84 +5 5221.05 2842.11 +5 5747.37 2421.05 +5 6463.16 1578.95 +5 6610.53 968.42 +5 6589.47 505.26 +5 1305.26 484.21 +5 968.42 336.84 +5 315.79 778.95 +5 315.79 3115.79 +6 9052.63 4147.37 +6 7894.74 4189.47 +6 6442.11 4105.26 +6 5915.79 3642.11 +6 5326.32 3221.05 +6 4631.58 4231.58 +6 4568.42 5010.53 +6 4884.21 5768.42 +6 5368.42 6294.74 +6 6042.11 6568.42 +6 8968.42 6526.32 +7 8736.84 9642.11 +7 9010.53 9389.47 +7 9010.53 8631.58 +7 9052.63 6778.95 +7 7789.47 6800 +7 7726.32 9642.11 +8 9073.68 2063.16 +8 9052.63 778.95 +8 8505.26 336.84 +8 7431.58 315.79 +8 7410.53 484.21 +8 6842.11 505.26 +8 6842.11 589.47 +8 6821.05 1178.95 +8 6547.37 1831.58 +8 6147.37 2378.95 +8 5600 3073.68 +8 6589.47 3894.74 +8 8863.16 3978.95 + +[SYMBOLS] +;;Gage X-Coord Y-Coord +;;-------------- ---------------- ---------------- +RG1 10084.21 8210.53 diff --git a/swmmio/tests/data/Example1_parallel_loop.out b/swmmio/tests/data/Example1_parallel_loop.out new file mode 100644 index 0000000000000000000000000000000000000000..2fe70cf5f0b2f4b6670aba825bb2ae942e592540 GIT binary patch literal 45202 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 WvTiKkjjR8vm##M#@ literal 0 HcmV?d00001 diff --git a/swmmio/tests/data/Example1_parallel_loop.rpt b/swmmio/tests/data/Example1_parallel_loop.rpt new file mode 100644 index 0000000..eb88b38 --- /dev/null +++ b/swmmio/tests/data/Example1_parallel_loop.rpt @@ -0,0 +1,347 @@ + + OWA STORM WATER MANAGEMENT MODEL - VERSION v5.1.14 (OWA 2022-07-31) + -------------------------------------------------------------- + + Example 1 + + + ********************************************************* + NOTE: The summary statistics displayed in this report are + based on results found at every computational time step, + not just on results from each reporting time step. + ********************************************************* + + **************** + Analysis Options + **************** + Flow Units ............... CFS + Process Models: + Rainfall/Runoff ........ YES + RDII ................... NO + Snowmelt ............... NO + Groundwater ............ NO + Flow Routing ........... YES + Ponding Allowed ........ NO + Water Quality .......... YES + Infiltration Method ...... HORTON + Flow Routing Method ...... DYNWAVE + Surcharge Method ......... EXTRAN + Starting Date ............ 01/01/1998 00:00:00 + Ending Date .............. 01/02/1998 12:00:00 + Antecedent Dry Days ...... 5.0 + Report Time Step ......... 01:00:00 + Wet Time Step ............ 00:15:00 + Dry Time Step ............ 01:00:00 + Routing Time Step ........ 60.00 sec + Variable Time Step ....... YES + Maximum Trials ........... 8 + Number of Threads ........ 1 + Head Tolerance ........... 0.005000 ft + + + ************************** Volume Depth + Runoff Quantity Continuity acre-feet inches + ************************** --------- ------- + Total Precipitation ...... 15.679 2.650 + Evaporation Loss ......... 0.000 0.000 + Infiltration Loss ........ 9.346 1.580 + Surface Runoff ........... 6.295 1.064 + Final Storage ............ 0.081 0.014 + Continuity Error (%) ..... -0.272 + + + ************************** Lead TSS + Runoff Quality Continuity lbs lbs + ************************** ---------- ---------- + Initial Buildup .......... 0.000 3433.036 + Surface Buildup .......... 0.086 312.924 + Wet Deposition ........... 0.000 0.000 + Sweeping Removal ......... 0.000 0.000 + Infiltration Loss ........ 0.000 0.000 + BMP Removal .............. 0.000 0.000 + Surface Runoff ........... 0.086 431.367 + Remaining Buildup ........ 0.000 3314.593 + Continuity Error (%) ..... 0.000 0.000 + + + ************************** Volume Volume + Flow Routing Continuity acre-feet 10^6 gal + ************************** --------- --------- + Dry Weather Inflow ....... 0.000 0.000 + Wet Weather Inflow ....... 6.294 2.051 + Groundwater Inflow ....... 0.000 0.000 + RDII Inflow .............. 0.000 0.000 + External Inflow .......... 0.000 0.000 + External Outflow ......... 6.061 1.975 + Flooding Loss ............ 0.232 0.076 + Evaporation Loss ......... 0.000 0.000 + Exfiltration Loss ........ 0.000 0.000 + Initial Stored Volume .... 0.000 0.000 + Final Stored Volume ...... 0.000 0.000 + Continuity Error (%) ..... 0.007 + + + ************************** Lead TSS + Quality Routing Continuity lbs lbs + ************************** ---------- ---------- + Dry Weather Inflow ....... 0.000 0.000 + Wet Weather Inflow ....... 0.086 431.260 + Groundwater Inflow ....... 0.000 0.000 + RDII Inflow .............. 0.000 0.000 + External Inflow .......... 0.000 0.000 + External Outflow ......... 0.084 418.831 + Flooding Loss ............ 0.002 12.320 + Exfiltration Loss ........ 0.000 0.000 + Mass Reacted ............. 0.000 0.000 + Initial Stored Mass ...... 0.000 0.000 + Final Stored Mass ........ 0.000 0.008 + Continuity Error (%) ..... 0.023 0.023 + + + *************************** + Time-Step Critical Elements + *************************** + Link 15 (83.34%) + + + ******************************** + Highest Flow Instability Indexes + ******************************** + All links are stable. + + + ************************* + Routing Time Step Summary + ************************* + Minimum Time Step : 4.70 sec + Average Time Step : 23.75 sec + Maximum Time Step : 60.00 sec + Percent in Steady State : -0.00 + Average Iterations per Step : 2.03 + Percent Not Converging : 0.07 + + + *************************** + Subcatchment Runoff Summary + *************************** + + ------------------------------------------------------------------------------------------------------------------------------ + Total Total Total Total Imperv Perv Total Total Peak Runoff + Precip Runon Evap Infil Runoff Runoff Runoff Runoff Runoff Coeff + Subcatchment in in in in in in in 10^6 gal CFS + ------------------------------------------------------------------------------------------------------------------------------ + 1 2.65 0.00 0.00 1.16 1.32 0.17 1.48 0.40 4.66 0.559 + 2 2.65 0.00 0.00 1.21 1.32 0.11 1.43 0.39 4.52 0.539 + 3 2.65 0.00 0.00 1.16 1.32 0.17 1.49 0.20 2.45 0.561 + 4 2.65 0.00 0.00 1.16 1.32 0.17 1.49 0.20 2.45 0.561 + 5 2.65 0.00 0.00 1.24 1.31 0.09 1.40 0.57 6.56 0.528 + 6 2.65 0.00 0.00 2.27 0.26 0.12 0.38 0.12 1.50 0.143 + 7 2.65 0.00 0.00 2.14 0.26 0.25 0.51 0.06 0.79 0.194 + 8 2.65 0.00 0.00 2.25 0.26 0.13 0.40 0.11 1.33 0.150 + + + **************************** + Subcatchment Washoff Summary + **************************** + + ------------------------------------------------ + Lead TSS + Subcatchment lbs lbs + ------------------------------------------------ + 1 0.010 50.074 + 2 0.018 90.586 + 3 0.005 25.144 + 4 0.009 46.097 + 5 0.014 71.172 + 6 0.013 65.843 + 7 0.005 26.025 + 8 0.011 56.427 + ------------------------------------------------ + System 0.086 431.367 + + + ****************** + Node Depth Summary + ****************** + + --------------------------------------------------------------------------------- + Average Maximum Maximum Time of Max Reported + Depth Depth HGL Occurrence Max Depth + Node Type Feet Feet Feet days hr:min Feet + --------------------------------------------------------------------------------- + 10 JUNCTION 0.79 3.00 998.00 0 03:03 3.00 + 13 JUNCTION 0.16 0.41 995.41 0 04:00 0.41 + 14 JUNCTION 0.18 0.46 990.46 0 04:00 0.46 + 15 JUNCTION 0.43 1.15 988.15 0 04:00 1.15 + 16 JUNCTION 0.36 0.96 985.96 0 04:00 0.96 + 17 JUNCTION 0.46 1.11 981.11 0 04:01 1.11 + 19 JUNCTION 0.08 0.23 1010.23 0 04:00 0.23 + 20 JUNCTION 0.06 0.17 1005.17 0 04:00 0.17 + 21 JUNCTION 0.49 1.30 991.30 0 04:01 1.30 + 22 JUNCTION 0.19 0.54 987.54 0 04:00 0.54 + 23 JUNCTION 0.14 0.35 990.35 0 04:00 0.35 + 24 JUNCTION 0.49 1.20 985.20 0 04:00 1.20 + 9 JUNCTION 0.23 0.57 1000.57 0 04:00 0.57 + 18 OUTFALL 0.45 1.11 976.11 0 04:01 1.11 + + + ******************* + Node Inflow Summary + ******************* + + ------------------------------------------------------------------------------------------------- + Maximum Maximum Lateral Total Flow + Lateral Total Time of Max Inflow Inflow Balance + Inflow Inflow Occurrence Volume Volume Error + Node Type CFS CFS days hr:min 10^6 gal 10^6 gal Percent + ------------------------------------------------------------------------------------------------- + 10 JUNCTION 4.52 9.18 0 04:00 0.388 0.79 0.004 + 13 JUNCTION 2.45 2.45 0 04:00 0.202 0.202 -0.018 + 14 JUNCTION 0.00 2.45 0 04:00 0 0.202 0.009 + 15 JUNCTION 6.56 9.00 0 04:00 0.57 0.772 0.006 + 16 JUNCTION 0.00 12.88 0 04:00 0 1.03 0.008 + 17 JUNCTION 0.00 19.48 0 04:01 0 1.87 0.011 + 19 JUNCTION 0.79 0.79 0 04:00 0.0558 0.0558 -0.009 + 20 JUNCTION 0.00 0.79 0 04:00 0 0.0559 -0.010 + 21 JUNCTION 0.00 6.58 0 04:00 0 0.77 -0.006 + 22 JUNCTION 2.45 3.90 0 04:00 0.202 0.255 -0.024 + 23 JUNCTION 1.50 1.50 0 04:00 0.124 0.124 -0.043 + 24 JUNCTION 0.00 19.48 0 04:00 0 1.87 0.005 + 9 JUNCTION 4.66 4.66 0 04:00 0.402 0.402 -0.005 + 18 OUTFALL 1.33 20.78 0 04:01 0.108 1.97 0.000 + + + ********************** + Node Surcharge Summary + ********************** + + Surcharging occurs when water rises above the top of the highest conduit. + --------------------------------------------------------------------- + Max. Height Min. Depth + Hours Above Crown Below Rim + Node Type Surcharged Feet Feet + --------------------------------------------------------------------- + 10 JUNCTION 2.05 1.500 0.000 + + + ********************* + Node Flooding Summary + ********************* + + Flooding refers to all water that overflows a node, whether it ponds or not. + -------------------------------------------------------------------------- + Total Maximum + Maximum Time of Max Flood Ponded + Hours Rate Occurrence Volume Depth + Node Flooded CFS days hr:min 10^6 gal Feet + -------------------------------------------------------------------------- + 10 1.18 3.38 0 04:00 0.076 0.000 + + + *********************** + Outfall Loading Summary + *********************** + + --------------------------------------------------------------------------------------- + Flow Avg Max Total Total Total + Freq Flow Flow Volume Lead TSS + Outfall Node Pcnt CFS CFS 10^6 gal lbs lbs + --------------------------------------------------------------------------------------- + 18 88.91 7.16 20.78 1.975 0.084 418.811 + --------------------------------------------------------------------------------------- + System 88.91 7.16 20.78 1.975 0.084 418.811 + + + ******************** + Link Flow Summary + ******************** + + ----------------------------------------------------------------------------- + Maximum Time of Max Maximum Max/ Max/ + |Flow| Occurrence |Veloc| Full Full + Link Type CFS days hr:min ft/sec Flow Depth + ----------------------------------------------------------------------------- + 1 CONDUIT 4.65 0 04:00 3.58 0.30 0.69 + 10 CONDUIT 19.48 0 04:01 10.90 0.59 0.55 + 11 CONDUIT 2.45 0 04:00 5.77 0.16 0.29 + 12 CONDUIT 2.44 0 04:00 2.54 0.21 0.54 + 13 CONDUIT 8.99 0 04:00 6.78 0.93 0.70 + 14 CONDUIT 1.49 0 04:00 3.65 0.26 0.68 + 15 CONDUIT 12.88 0 04:00 7.45 0.44 0.54 + 16 CONDUIT 19.48 0 04:01 10.38 0.66 0.58 + 4 CONDUIT 0.79 0 04:00 7.02 0.11 0.20 + 5 CONDUIT 0.79 0 04:00 1.86 0.06 0.58 + 6 CONDUIT 5.79 0 03:22 7.43 1.25 0.97 + 7 CONDUIT 1.46 0 04:01 4.87 0.05 0.15 + 8 CONDUIT 3.90 0 04:00 3.61 0.16 0.38 + LOOP CONDUIT 5.44 0 03:02 7.50 1.07 1.00 + + + *************************** + Flow Classification Summary + *************************** + + ------------------------------------------------------------------------------------- + Adjusted ---------- Fraction of Time in Flow Class ---------- + /Actual Up Down Sub Sup Up Down Norm Inlet + Conduit Length Dry Dry Dry Crit Crit Crit Crit Ltd Ctrl + ------------------------------------------------------------------------------------- + 1 1.00 0.01 0.00 0.00 0.69 0.30 0.00 0.00 0.97 0.00 + 10 1.00 0.01 0.00 0.00 0.00 0.99 0.00 0.00 0.13 0.00 + 11 1.00 0.01 0.01 0.00 0.27 0.71 0.00 0.00 0.91 0.00 + 12 1.00 0.01 0.03 0.00 0.96 0.00 0.00 0.00 0.97 0.00 + 13 1.00 0.01 0.00 0.00 0.17 0.82 0.00 0.00 0.01 0.00 + 14 1.00 0.01 0.03 0.00 0.95 0.01 0.00 0.00 0.97 0.00 + 15 1.00 0.01 0.00 0.00 0.25 0.74 0.00 0.00 0.88 0.00 + 16 1.00 0.01 0.00 0.00 0.15 0.84 0.00 0.00 0.58 0.00 + 4 1.00 0.02 0.01 0.00 0.29 0.68 0.00 0.00 0.05 0.00 + 5 1.00 0.01 0.25 0.00 0.73 0.00 0.00 0.00 0.97 0.00 + 6 1.00 0.01 0.00 0.00 0.00 0.00 0.00 0.99 0.00 0.00 + 7 1.00 0.79 0.00 0.00 0.00 0.00 0.00 0.21 0.00 0.00 + 8 1.00 0.01 0.00 0.00 0.98 0.01 0.00 0.00 0.97 0.00 + LOOP 1.00 0.01 0.00 0.00 0.35 0.63 0.00 0.00 0.91 0.00 + + + ************************* + Conduit Surcharge Summary + ************************* + + ---------------------------------------------------------------------------- + Hours Hours + --------- Hours Full -------- Above Full Capacity + Conduit Both Ends Upstream Dnstream Normal Flow Limited + ---------------------------------------------------------------------------- + 1 0.01 0.01 2.05 0.01 0.01 + 14 0.01 0.01 1.16 0.01 0.01 + 5 0.01 0.01 2.14 0.01 0.01 + 6 0.01 2.47 0.01 2.86 0.01 + LOOP 1.16 2.14 1.16 2.65 1.16 + + + *************************** + Link Pollutant Load Summary + *************************** + + ------------------------------------------------ + Lead TSS + Link lbs lbs + ------------------------------------------------ + 1 0.010 50.114 + 10 0.072 362.395 + 11 0.005 25.155 + 12 0.005 25.178 + 13 0.019 96.337 + 14 0.013 65.856 + 15 0.030 152.137 + 16 0.072 362.406 + 4 0.005 26.019 + 5 0.005 26.047 + 6 0.026 128.306 + 7 0.002 9.848 + 8 0.011 55.888 + LOOP 0.029 144.551 + + + Analysis begun on: Thu Dec 22 16:41:25 2022 + Analysis ended on: Thu Dec 22 16:41:25 2022 + Total elapsed time: < 1 sec \ No newline at end of file diff --git a/swmmio/tests/data/__init__.py b/swmmio/tests/data/__init__.py index 1844da3..cfe32f9 100644 --- a/swmmio/tests/data/__init__.py +++ b/swmmio/tests/data/__init__.py @@ -27,6 +27,7 @@ MODEL_MOD_HORTON = os.path.join(DATA_PATH, 'model_mod_horton.inp') MODEL_EX_1 = os.path.join(DATA_PATH, 'Example1.inp') MODEL_EX_1B = os.path.join(DATA_PATH, 'Example1b.inp') +MODEL_EX_1_PARALLEL_LOOP = os.path.join(DATA_PATH, 'Example1_parallel_loop.inp') MODEL_INFILTRAION_PARSE_FAILURE = os.path.join(DATA_PATH, 'model-with-infiltration-parse-failure.inp') # test rpt paths diff --git a/swmmio/tests/test_functions.py b/swmmio/tests/test_functions.py index 52964c4..20317a9 100644 --- a/swmmio/tests/test_functions.py +++ b/swmmio/tests/test_functions.py @@ -1,6 +1,11 @@ +import pytest import swmmio -from swmmio.tests.data import MODEL_FULL_FEATURES__NET_PATH -from swmmio.utils.functions import format_inp_section_header +from swmmio.tests.data import (MODEL_FULL_FEATURES__NET_PATH, + MODEL_EX_1_PARALLEL_LOOP, + MODEL_EX_1) +from swmmio.utils.functions import (format_inp_section_header, + find_network_trace) +from swmmio.utils import error def test_format_inp_section_header(): @@ -31,4 +36,55 @@ def test_model_to_networkx(): assert (round(G.nodes['J2']['InvertElev'], 3) == 13.0) links = m.links() - assert(len(links) == len(G.edges())) \ No newline at end of file + assert(len(links) == len(G.edges())) + + +def test_network_trace_loop(): + m = swmmio.Model(MODEL_EX_1_PARALLEL_LOOP) + start_node = "9" + end_node = "18" + path_selection = find_network_trace(m, start_node, end_node, \ + include_nodes=[], \ + include_links=["LOOP"]) + correct_path = [('9', '10', '1'),\ + ('10', '21', '6'),\ + ('21', '24', 'LOOP'),\ + ('24', '17', '16'),\ + ('17', '18', '10')] + assert (path_selection == correct_path) + + +def test_network_trace_bad_link(): + m = swmmio.Model(MODEL_EX_1) + start_node = "9" + end_node = "18" + with pytest.raises(error.LinkNotInInputFile) as execinfo: + path_selection = find_network_trace(m, start_node, end_node, + include_links=["LOOP"]) + print(str(excinfo.value)) + + +def test_network_trace_bad_start_node(): + m = swmmio.Model(MODEL_EX_1) + start_node = "9000" + end_node = "18" + with pytest.raises(error.NodeNotInInputFile): + path_selection = find_network_trace(m, start_node, end_node) + + +def test_network_trace_bad_end_node(): + m = swmmio.Model(MODEL_EX_1) + start_node = "9" + end_node = "18000" + with pytest.raises(error.NodeNotInInputFile): + path_selection = find_network_trace(m, start_node, end_node) + + +def test_network_trace_bad_include_node(): + m = swmmio.Model(MODEL_EX_1) + start_node = "9" + end_node = "18" + with pytest.raises(error.NodeNotInInputFile): + path_selection = find_network_trace(m, start_node, \ + end_node, \ + include_nodes=["1000"]) diff --git a/swmmio/utils/error.py b/swmmio/utils/error.py new file mode 100644 index 0000000..67709a6 --- /dev/null +++ b/swmmio/utils/error.py @@ -0,0 +1,42 @@ +""" +Error.py contains the long noted error strings to assist the users in quickly +identifying what is wrong with their code. +""" + +NO_TRACE_FOUND = \ + """ + + No path has been discovered between your start and end nodes. + If you are sure there IS a path, look over your links to see + if any need to be reversed in your INP file. The network + traverse features are one-directional. Alternately, you might have + parallel loop items present in the include nodes/links. + + """ + +class NoTraceFound(Exception): + """ + Exception raised for impossible network trace. + """ + def __init__(self): + self.message = NO_TRACE_FOUND + super().__init__() + + +class NodeNotInInputFile(Exception): + """ + Exception raised for incomplete simulation. + """ + def __init__(self, node): + self.message = "Node {} is not present in INP file.".format(node) + print(self.message) + super().__init__(self.message) + +class LinkNotInInputFile(Exception): + """ + Exception raised for incomplete simulation. + """ + def __init__(self, link): + self.message = "Link {} is not present in INP file.".format(link) + print(self.message) + super().__init__(self.message) diff --git a/swmmio/utils/functions.py b/swmmio/utils/functions.py index 3004a34..d94acfa 100644 --- a/swmmio/utils/functions.py +++ b/swmmio/utils/functions.py @@ -3,6 +3,7 @@ import warnings # from swmmio import get_inp_options_df, INFILTRATION_COLS +from swmmio.utils import error def random_alphanumeric(n=6): import random @@ -217,3 +218,56 @@ def trace(node_id): return {'nodes': traced_nodes, 'conduits': traced_conduits} +def find_network_trace(model, start_node, end_node, + include_nodes=[], include_links=[]): + """ + This function searches for a path between two nodes. In addition, since + SWMM allows multiple links (edges) between nodes, the user can specify + a list of both nodes, and links to include in the path. It will return a + single path selection. + + :param model: swmmio.Model object + :param start_node: string of Node Name + :param end_node: string of Node Name + :param include_nodes: list of node name strings + :param include_links: list of link name strings + :return: Network Path Trace Tuple + """ + nodes = model.nodes.dataframe + links = model.links.dataframe + model_digraph = model.network + + if str(start_node) not in nodes.index: + raise(error.NodeNotInInputFile(start_node)) + if str(end_node) not in nodes.index: + raise(error.NodeNotInInputFile(end_node)) + for node_id in include_nodes: + if str(node_id) not in nodes.index: + raise(error.NodeNotInInputFile(node_id)) + for link_id in include_links: + if str(link_id) not in links.index: + raise(error.LinkNotInInputFile(link_id)) + + simple_paths = nx.all_simple_edge_paths(model_digraph, start_node, end_node) + path_selection = None + for path_index, path_info in enumerate(simple_paths): + included_nodes = {name: False for name in include_nodes} + included_links = {name: False for name in include_links} + for selection in path_info: + us, ds, link = selection + if us in included_nodes.keys(): + included_nodes[us] = True + if ds in included_nodes.keys(): + included_nodes[ds] = True + if link in included_links.keys(): + included_links[link] = True + + if False not in [included_nodes[key] for key in included_nodes.keys()]: + if False not in [included_links[key] for key in included_links.keys()]: + path_selection = path_info + break + + if path_selection == None: + raise(error.NoTraceFound) + + return path_selection From 58f5e3cefbfc6f759041f08ff20a5a6bf9f610fe Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Thu, 22 Dec 2022 18:16:20 +0100 Subject: [PATCH 04/21] removed line --- swmmio/tests/test_functions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/swmmio/tests/test_functions.py b/swmmio/tests/test_functions.py index cea743a..5cfbcf1 100644 --- a/swmmio/tests/test_functions.py +++ b/swmmio/tests/test_functions.py @@ -73,7 +73,6 @@ def test_network_trace_bad_link(): with pytest.raises(error.LinkNotInInputFile) as execinfo: path_selection = find_network_trace(m, start_node, end_node, include_links=["LOOP"]) - print(str(excinfo.value)) def test_network_trace_bad_start_node(): From 5024fafbd112e00a3b9ce198387042bd126f20bc Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Fri, 23 Dec 2022 14:43:00 +0100 Subject: [PATCH 05/21] Adding profile plotting code --- swmmio/__init__.py | 3 + swmmio/graphics/profiler.py | 195 ++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 swmmio/graphics/profiler.py diff --git a/swmmio/__init__.py b/swmmio/__init__.py index 71f7662..3cc1e90 100644 --- a/swmmio/__init__.py +++ b/swmmio/__init__.py @@ -2,7 +2,10 @@ from swmmio.elements import * from swmmio.version_control import * from swmmio.utils.dataframes import dataframe_from_bi, dataframe_from_rpt, dataframe_from_inp +from swmmio.utils.functions import find_network_trace from swmmio.graphics.swmm_graphics import create_map +from swmmio.graphics.profiler import (build_profile_plot, add_hgl_plot, + add_node_labels_plot, add_link_labels_plot) # import swmmio.core as swmmio '''Python SWMM Input/Output Tools''' diff --git a/swmmio/graphics/profiler.py b/swmmio/graphics/profiler.py new file mode 100644 index 0000000..435533a --- /dev/null +++ b/swmmio/graphics/profiler.py @@ -0,0 +1,195 @@ +import numpy as np +import pandas as pd + +MH_WIDTH=10 + +def build_profile_plot(ax, model, path_selection): + """ + This function should build the profile + """ + nodes = model.nodes.dataframe + links = model.links.dataframe + + profile_config = {"nodes":[],"links":[], + "path_selection":path_selection} + ground_levels = {'x':[],'level':[]} + rolling_x_pos = 0.0 + + for ind, link_set in enumerate(path_selection): + us_node, ds_node, link_id = link_set + # Plot first Node + if ind == 0: + invert_el = float(nodes.loc[[us_node]].InvertElev) + max_depth = float(nodes.loc[[us_node]].MaxDepth) + if np.isnan(max_depth): + max_depth = float(links.loc[[link_id]].Geom1) + profile_config['nodes'].append({"id_name":us_node,\ + "rolling_x_pos":rolling_x_pos,\ + "invert_el":invert_el}) + ret=add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) + ground_levels['x'].extend(ret['x']) + ground_levels['level'].extend(ret['level']) + # Add next link length to offset + old_rolling_x_pos = rolling_x_pos + rolling_x_pos += float(links.loc[[link_id]].Length) + # Plot DS node + invert_el = float(nodes.loc[[ds_node]].InvertElev) + max_depth = float(nodes.loc[[ds_node]].MaxDepth) + if np.isnan(max_depth): + max_depth = float(links.loc[[link_id]].Geom1) + profile_config['nodes'].append({"id_name":ds_node,\ + "rolling_x_pos":rolling_x_pos,\ + "invert_el":invert_el}) + ret=add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) + ground_levels['x'].extend(ret['x']) + ground_levels['level'].extend(ret['level']) + + us_node_el = float(nodes.loc[[us_node]].InvertElev) + us_link_offset = float(links.loc[[link_id]].InOffset) + ds_node_el = float(nodes.loc[[ds_node]].InvertElev) + ds_link_offset = float(links.loc[[link_id]].OutOffset) + depth = float(links.loc[[link_id]].Geom1) + + ret=add_conduit_plot(ax, old_rolling_x_pos, rolling_x_pos, + us_node_el, ds_node_el, depth, + us_link_offset, ds_link_offset) + link_mid_x, link_mid_y = sum(ret['x'])/2.0, sum(ret['bottom'])/2.0 + profile_config["links"].append({"id_name":link_id, + "rolling_x_pos":link_mid_x, + "midpoint_bottom": link_mid_y}) + + add_ground_plot(ax, ground_levels) + + return profile_config + + +def add_manhole_plot(ax, x, invert_el, depth, surcharge_depth=0, width=MH_WIDTH, + gradient=True): + """ + """ + ll_x, ll_y = x-width, invert_el + lr_x, lr_y = x+width, invert_el + ur_x, ur_y = x+width, invert_el + depth + ul_x, ul_y = x-width, invert_el + depth + + ax.plot([ll_x, lr_x, ur_x, ul_x, ll_x], + [ll_y, lr_y, ur_y, ul_y, ll_y], "-", color='black',lw=0.75) + + if gradient: + ax.fill_between([ul_x, ul_x+0.1], [lr_y, lr_y], [ur_y, ur_y], + zorder=1, color="gray") + ax.fill_between([ul_x+0.1, ul_x+0.2], [lr_y, lr_y], [ur_y, ur_y], + zorder=0, color="silver") + ax.fill_between([ul_x+0.2, ul_x+0.3], [lr_y, lr_y], [ur_y, ur_y], + zorder=0, color="whitesmoke") + ax.fill_between([ur_x-0.1, ur_x], [lr_y, lr_y], [ur_y, ur_y], + zorder=1, color="gray") + ax.fill_between([ur_x-0.2, ur_x-0.1], [lr_y, lr_y], [ur_y, ur_y], + zorder=0, color="silver") + ax.fill_between([ur_x-0.3, ur_x-0.2], [lr_y, lr_y], [ur_y, ur_y], + zorder=0, color="whitesmoke") + return {'x': [ul_x, ur_x], 'level': [ul_y, ur_y]} + +def add_conduit_plot(ax, us_x_position, ds_x_position, us_el, ds_el, depth,\ + us_offset=0, ds_offset=0, width=0, gradient=True): + """ + """ + us_bot_x, us_bot_y = us_x_position+width, us_el + us_offset + ds_bot_x, ds_bot_y = ds_x_position-width, ds_el + ds_offset + ds_top_x, ds_top_y = ds_x_position-width, ds_el + ds_offset + depth + us_top_x, us_top_y = us_x_position+width, us_el + us_offset + depth + + ax.plot([us_bot_x, ds_bot_x, ds_top_x, us_top_x, us_bot_x], + [us_bot_y, ds_bot_y, ds_top_y, us_top_y, us_bot_y], "-k", + lw=0.75, zorder=0) + + return {'x':[us_bot_x, ds_bot_x], 'bottom':[us_bot_y, ds_bot_y]} + +def add_ground_plot(ax, ground_levels): + ax.plot(ground_levels['x'], ground_levels['level'], '-', color='brown') + +def add_hgl_plot(ax, profile_config, hgl=None, depth=None, color = 'b', label="HGL"): + if isinstance(hgl, pd.core.series.Series) == True \ + or isinstance(hgl, dict) == True: + hgl_calc = [hgl[val["id_name"]] for val in profile_config['nodes']] + elif isinstance(depth, pd.core.series.Series) == True \ + or isinstance(depth, dict) == True: + hgl_calc = [val["invert_el"]+float(depth[val["id_name"]]) for val in profile_config['nodes']] + else: + raise(InvalidDataTypes) + + x = [float(val["rolling_x_pos"]) for val in profile_config['nodes']] + + ax.plot(x, hgl_calc, '-', color=color, label=label) + +def add_node_labels_plot(ax, model, profile_config, font_size=8, + label_offset=5, stagger=True): + + nodes = model.nodes.dataframe + + label_y_max = 0 + for val in profile_config['nodes']: + name = val['id_name'] + invert_el = float(nodes.loc[[name]].InvertElev) + max_depth = float(nodes.loc[[name]].MaxDepth) + if np.isnan(max_depth): + max_depth = 0 + calc = invert_el+max_depth + if calc > label_y_max: + label_y_max = calc + + mx_y_annotation = 0 + for ind, val in enumerate(profile_config['nodes']): + stagger_value = 0 + if stagger: + if ind % 2 ==0: + stagger_value = 4 + name = val['id_name'] + x_offset = val['rolling_x_pos'] + invert_el = float(nodes.loc[[name]].InvertElev) + max_depth = float(nodes.loc[[name]].MaxDepth) + if np.isnan(max_depth): + max_depth = 0 + pos_y = invert_el+max_depth + label=ax.annotate(name, xy=(x_offset, pos_y), + xytext=(x_offset, label_y_max+label_offset+stagger_value), + arrowprops=dict(arrowstyle="->", alpha=0.5), va='top', ha='center', + alpha=0.75, fontsize=font_size) + mx_y = label.xyann[1] + if mx_y > mx_y_annotation: + mx_y_annotation = mx_y + + ax.set_ylim([None, mx_y_annotation]) + + +def add_link_labels_plot(ax, model, profile_config, font_size=8, + label_offset=9, stagger=True): + + #links = model.links.dataframe + + label_y_min = 1e9 + for val in profile_config['links']: + y_midpoint_bottom = val["midpoint_bottom"] + print(y_midpoint_bottom) + if y_midpoint_bottom < label_y_min: + label_y_min = y_midpoint_bottom + + min_y_annotation = 1e9 + for ind, val in enumerate(profile_config['links']): + stagger_value = 0 + if stagger: + if ind % 2 != 0: + stagger_value = 4 + name = val['id_name'] + x_offset = val['rolling_x_pos'] + y_midpoint_bottom = val["midpoint_bottom"] + + label=ax.annotate(name, xy=(x_offset, y_midpoint_bottom), + xytext=(x_offset, label_y_min-label_offset+stagger_value), + arrowprops=dict(arrowstyle="->", alpha=0.5), va='bottom', + ha='center', alpha=0.75, fontsize=font_size) + mx_y = label.xyann[1] + if mx_y < min_y_annotation: + min_y_annotation = mx_y + + ax.set_ylim([min_y_annotation, None]) From 13529da4a8ebcf51a7f8466bdf0e2b24976f0d27 Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Fri, 23 Dec 2022 14:57:47 +0100 Subject: [PATCH 06/21] added function docstrings --- swmmio/graphics/profiler.py | 66 ++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 16 deletions(-) diff --git a/swmmio/graphics/profiler.py b/swmmio/graphics/profiler.py index 435533a..7497a76 100644 --- a/swmmio/graphics/profiler.py +++ b/swmmio/graphics/profiler.py @@ -5,7 +5,14 @@ def build_profile_plot(ax, model, path_selection): """ - This function should build the profile + This function builds the static network information for the profile. The + function accepts the swmmio model object and the network trace information + returned from calling `swmmio.find_network_trace()` function. The function + returns the relevant information adding data for HGL and labels. + + :param model: swmmio.Model() object + :param path_selection: list of tuples [(, , ),...] + :return: profile configuration information used for additional functions. """ nodes = model.nodes.dataframe links = model.links.dataframe @@ -26,7 +33,7 @@ def build_profile_plot(ax, model, path_selection): profile_config['nodes'].append({"id_name":us_node,\ "rolling_x_pos":rolling_x_pos,\ "invert_el":invert_el}) - ret=add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) + ret=_add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) ground_levels['x'].extend(ret['x']) ground_levels['level'].extend(ret['level']) # Add next link length to offset @@ -40,7 +47,7 @@ def build_profile_plot(ax, model, path_selection): profile_config['nodes'].append({"id_name":ds_node,\ "rolling_x_pos":rolling_x_pos,\ "invert_el":invert_el}) - ret=add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) + ret=_add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) ground_levels['x'].extend(ret['x']) ground_levels['level'].extend(ret['level']) @@ -50,22 +57,23 @@ def build_profile_plot(ax, model, path_selection): ds_link_offset = float(links.loc[[link_id]].OutOffset) depth = float(links.loc[[link_id]].Geom1) - ret=add_conduit_plot(ax, old_rolling_x_pos, rolling_x_pos, - us_node_el, ds_node_el, depth, - us_link_offset, ds_link_offset) + ret=_add_conduit_plot(ax, old_rolling_x_pos, rolling_x_pos, + us_node_el, ds_node_el, depth, + us_link_offset, ds_link_offset) link_mid_x, link_mid_y = sum(ret['x'])/2.0, sum(ret['bottom'])/2.0 profile_config["links"].append({"id_name":link_id, "rolling_x_pos":link_mid_x, "midpoint_bottom": link_mid_y}) - add_ground_plot(ax, ground_levels) + _add_ground_plot(ax, ground_levels) return profile_config -def add_manhole_plot(ax, x, invert_el, depth, surcharge_depth=0, width=MH_WIDTH, - gradient=True): +def _add_manhole_plot(ax, x, invert_el, depth, surcharge_depth=0, width=MH_WIDTH, + gradient=True): """ + Adds a single manhole to the plot. Called by `build_profile_plot()`. """ ll_x, ll_y = x-width, invert_el lr_x, lr_y = x+width, invert_el @@ -90,9 +98,11 @@ def add_manhole_plot(ax, x, invert_el, depth, surcharge_depth=0, width=MH_WIDTH, zorder=0, color="whitesmoke") return {'x': [ul_x, ur_x], 'level': [ul_y, ur_y]} -def add_conduit_plot(ax, us_x_position, ds_x_position, us_el, ds_el, depth,\ - us_offset=0, ds_offset=0, width=0, gradient=True): + +def _add_conduit_plot(ax, us_x_position, ds_x_position, us_el, ds_el, depth,\ + us_offset=0, ds_offset=0, width=0, gradient=True): """ + Adds a single conduit to the plot. Called by `build_profile_plot()`. """ us_bot_x, us_bot_y = us_x_position+width, us_el + us_offset ds_bot_x, ds_bot_y = ds_x_position-width, ds_el + ds_offset @@ -105,7 +115,10 @@ def add_conduit_plot(ax, us_x_position, ds_x_position, us_el, ds_el, depth,\ return {'x':[us_bot_x, ds_bot_x], 'bottom':[us_bot_y, ds_bot_y]} -def add_ground_plot(ax, ground_levels): +def _add_ground_plot(ax, ground_levels): + """ + Adds the grond level to the profile plot. Called by `build_profile_plot()`. + """ ax.plot(ground_levels['x'], ground_levels['level'], '-', color='brown') def add_hgl_plot(ax, profile_config, hgl=None, depth=None, color = 'b', label="HGL"): @@ -122,9 +135,21 @@ def add_hgl_plot(ax, profile_config, hgl=None, depth=None, color = 'b', label="H ax.plot(x, hgl_calc, '-', color=color, label=label) + def add_node_labels_plot(ax, model, profile_config, font_size=8, label_offset=5, stagger=True): - + """ + This function adds the node labels to the plot axis handle. + + :param ax: matplotlib.plot.axis() Axis handle + :param model: swmmio.Model object + :param profile_config: dict dictionary returned from the `build_profile_plot()`. + :param font_size: font size + :param label_offset: int just provides some clean separation from the + assets and the labels + :param stagger: True/False staggers the labels to prevent them from stacking + onto one another. + """ nodes = model.nodes.dataframe label_y_max = 0 @@ -164,9 +189,18 @@ def add_node_labels_plot(ax, model, profile_config, font_size=8, def add_link_labels_plot(ax, model, profile_config, font_size=8, label_offset=9, stagger=True): - - #links = model.links.dataframe - + """ + This function adds the link labels to the plot axis handle. + + :param ax: matplotlib.plot.axis() Axis handle + :param model: swmmio.Model object + :param profile_config: dict dictionary returned from the `build_profile_plot()`. + :param font_size: font size + :param label_offset: int just provides some clean separation from the + assets and the labels + :param stagger: True/False staggers the labels to prevent them from stacking + onto one another. + """ label_y_min = 1e9 for val in profile_config['links']: y_midpoint_bottom = val["midpoint_bottom"] From e5961c10453660af1ae3dadb87f438c6be1b461b Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Fri, 23 Dec 2022 15:09:18 +0100 Subject: [PATCH 07/21] added import error --- swmmio/graphics/profiler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/swmmio/graphics/profiler.py b/swmmio/graphics/profiler.py index 7497a76..4588144 100644 --- a/swmmio/graphics/profiler.py +++ b/swmmio/graphics/profiler.py @@ -1,5 +1,6 @@ import numpy as np import pandas as pd +from swmmio.utils import error MH_WIDTH=10 @@ -129,7 +130,7 @@ def add_hgl_plot(ax, profile_config, hgl=None, depth=None, color = 'b', label="H or isinstance(depth, dict) == True: hgl_calc = [val["invert_el"]+float(depth[val["id_name"]]) for val in profile_config['nodes']] else: - raise(InvalidDataTypes) + raise(error.InvalidDataTypes) x = [float(val["rolling_x_pos"]) for val in profile_config['nodes']] From 78e5a6847c6c5b7865b2775f226933a37080b79a Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Fri, 23 Dec 2022 15:28:25 +0100 Subject: [PATCH 08/21] Adding unit test for profiler config info --- swmmio/graphics/profiler.py | 1 + swmmio/tests/data/Example6.inp | 155 +++++++++++++++++++++++++++++++++ swmmio/tests/data/__init__.py | 1 + swmmio/tests/test_graphics.py | 69 ++++++++++++++- 4 files changed, 224 insertions(+), 2 deletions(-) create mode 100644 swmmio/tests/data/Example6.inp diff --git a/swmmio/graphics/profiler.py b/swmmio/graphics/profiler.py index 4588144..c557f43 100644 --- a/swmmio/graphics/profiler.py +++ b/swmmio/graphics/profiler.py @@ -1,5 +1,6 @@ import numpy as np import pandas as pd +import pyswmm from swmmio.utils import error MH_WIDTH=10 diff --git a/swmmio/tests/data/Example6.inp b/swmmio/tests/data/Example6.inp new file mode 100644 index 0000000..0e3bcb8 --- /dev/null +++ b/swmmio/tests/data/Example6.inp @@ -0,0 +1,155 @@ +[TITLE] +;;Project Title/Notes +Example 6 +Circular Culvert with Roadway Overtopping +and Upstream Storage + +[OPTIONS] +;;Option Value +FLOW_UNITS CFS +INFILTRATION HORTON +FLOW_ROUTING DYNWAVE +LINK_OFFSETS DEPTH +MIN_SLOPE 0 +ALLOW_PONDING NO +SKIP_STEADY_STATE NO + +START_DATE 06/08/2015 +START_TIME 00:00:00 +REPORT_START_DATE 06/08/2015 +REPORT_START_TIME 00:00:00 +END_DATE 06/08/2015 +END_TIME 05:00:00 +SWEEP_START 01/01 +SWEEP_END 12/31 +DRY_DAYS 0 +REPORT_STEP 00:07:30 +WET_STEP 00:05:00 +DRY_STEP 01:00:00 +ROUTING_STEP 0:00:05 + +INERTIAL_DAMPING PARTIAL +NORMAL_FLOW_LIMITED BOTH +FORCE_MAIN_EQUATION H-W +VARIABLE_STEP 0.75 +LENGTHENING_STEP 0 +MIN_SURFAREA 12.557 +MAX_TRIALS 8 +HEAD_TOLERANCE 0.005 +SYS_FLOW_TOL 5 +LAT_FLOW_TOL 5 +;MINIMUM_STEP 0.5 +THREADS 1 + +[EVAPORATION] +;;Data Source Parameters +;;-------------- ---------------- +CONSTANT 0.0 +DRY_ONLY NO + +[JUNCTIONS] +;;Name Elevation MaxDepth InitDepth SurDepth Aponded +;;-------------- ---------- ---------- ---------- ---------- ---------- +Outlet 868 0 0 0 0 + +[OUTFALLS] +;;Name Elevation Type Stage Data Gated Route To +;;-------------- ---------- ---------- ---------------- -------- ---------------- +TailWater 858 FIXED 859.5 NO + +[STORAGE] +;;Name Elev. MaxDepth InitDepth Shape Curve Name/Params N/A Fevap Psi Ksat IMD +;;-------------- -------- ---------- ----------- ---------- ---------------------------- -------- -------- -------- -------- +Inlet 878 9 0 TABULAR StorageCurve 0 0 + +[CONDUITS] +;;Name From Node To Node Length Roughness InOffset OutOffset InitFlow MaxFlow +;;-------------- ---------------- ---------------- ---------- ---------- ---------- ---------- ---------- ---------- +Culvert Inlet Outlet 200 0.014 0 0 0 0 +Channel Outlet TailWater 200 0.03 0 0 0 0 + +[WEIRS] +;;Name From Node To Node Type CrestHt Qcoeff Gated EndCon EndCoeff Surcharge RoadWidth RoadSurf +;;-------------- ---------------- ---------------- ------------ ---------- ---------- -------- -------- ---------- ---------- ---------- ---------- +Roadway Inlet Outlet ROADWAY 9 3.33 NO 0 0 NO 40 GRAVEL + +[XSECTIONS] +;;Link Shape Geom1 Geom2 Geom3 Geom4 Barrels Culvert +;;-------------- ------------ ---------------- ---------- ---------- ---------- ---------- ---------- +Culvert CIRCULAR 3 0 0 0 2 4 +Channel TRAPEZOIDAL 9 10 2 2 1 +Roadway RECT_OPEN 50 200 0 0 + +[INFLOWS] +;;Node Constituent Time Series Type Mfactor Sfactor Baseline Pattern +;;-------------- ---------------- ---------------- -------- -------- -------- -------- -------- +Inlet FLOW Inflow FLOW 1.0 1.0 + +[CURVES] +;;Name Type X-Value Y-Value +;;-------------- ---------- ---------- ---------- +StorageCurve Storage 0 0 +StorageCurve 2 9583 +StorageCurve 4 33977 +StorageCurve 6 72310 +StorageCurve 8 136778 + +[TIMESERIES] +;;Name Date Time Value +;;-------------- ---------- ---------- ---------- +Inflow 0 0 +Inflow .125 9 +Inflow .25 10 +Inflow .375 11 +Inflow .5 13 +Inflow .625 17 +Inflow .75 28 +Inflow .875 40 +Inflow 1 80 +Inflow 1.125 136 +Inflow 1.25 190 +Inflow 1.375 220 +Inflow 1.5 220 +Inflow 1.625 201 +Inflow 1.75 170 +Inflow 1.875 140 +Inflow 2 120 +Inflow 2.125 98 +Inflow 2.25 82 +Inflow 2.375 70 +Inflow 2.5 60 +Inflow 2.625 53 +Inflow 2.75 47 +Inflow 2.875 41 + +[REPORT] +;;Reporting Options +INPUT NO +CONTROLS NO +SUBCATCHMENTS ALL +NODES ALL +LINKS ALL + +[TAGS] + +[MAP] +DIMENSIONS -59.264 5535.422 7089.237 6044.959 +Units None + +[COORDINATES] +;;Node X-Coord Y-Coord +;;-------------- ------------------ ------------------ +Outlet 4206.542 6357.994 +TailWater 6019.146 6168.726 +Inlet 1628.472 6476.537 + +[VERTICES] +;;Link X-Coord Y-Coord +;;-------------- ------------------ ------------------ +Roadway 2311.068 7166.633 +Roadway 3762.491 7151.463 + +[LABELS] +;;X-Coord Y-Coord Label +1651.426 7755.664 "Circular Culvert with Roadway Overtopping and Upstream Storage" "" "Arial" 12 1 1 + diff --git a/swmmio/tests/data/__init__.py b/swmmio/tests/data/__init__.py index 45fbac1..e892a3b 100644 --- a/swmmio/tests/data/__init__.py +++ b/swmmio/tests/data/__init__.py @@ -27,6 +27,7 @@ MODEL_MOD_HORTON = os.path.join(DATA_PATH, 'model_mod_horton.inp') MODEL_EX_1 = os.path.join(DATA_PATH, 'Example1.inp') MODEL_EX_1B = os.path.join(DATA_PATH, 'Example1b.inp') +MODEL_EXAMPLE6 = os.path.join(DATA_PATH, 'Example6.inp') MODEL_EX_1_PARALLEL_LOOP = os.path.join(DATA_PATH, 'Example1_parallel_loop.inp') MODEL_INFILTRAION_PARSE_FAILURE = os.path.join(DATA_PATH, 'model-with-infiltration-parse-failure.inp') diff --git a/swmmio/tests/test_graphics.py b/swmmio/tests/test_graphics.py index 8210240..5f3b4ad 100644 --- a/swmmio/tests/test_graphics.py +++ b/swmmio/tests/test_graphics.py @@ -2,13 +2,19 @@ import tempfile from io import StringIO +import matplotlib.pyplot as plt import pandas as pd import pytest -from swmmio.tests.data import (DATA_PATH, MODEL_FULL_FEATURES_XY, MODEL_FULL_FEATURES__NET_PATH, MODEL_A_PATH) +from swmmio.tests.data import (DATA_PATH, MODEL_FULL_FEATURES_XY, + MODEL_FULL_FEATURES__NET_PATH, MODEL_A_PATH, + MODEL_EX_1_PARALLEL_LOOP, MODEL_EXAMPLE6) import swmmio from swmmio.graphics import swmm_graphics as sg from swmmio.utils.spatial import centroid_and_bbox_from_coords, change_crs +from swmmio import (find_network_trace, build_profile_plot, + add_hgl_plot, add_node_labels_plot, add_link_labels_plot) +import pyswmm def test_draw_model(): @@ -64,7 +70,7 @@ def test_change_crs(): v2 = change_crs(m.inp.vertices, m.crs, "WGS84") assert v1.shape == v2.shape s = """ - Name X Y + Name X Y J4-001.1 -70.959386 43.732851 J4-001.1 -70.958415 43.732578 J4-001.1 -70.959423 43.730452 @@ -73,3 +79,62 @@ def test_change_crs(): v2_test = pd.read_csv(StringIO(s), index_col=0, delim_whitespace=True, skiprows=[0]) assert v2['X'].values == pytest.approx(v2_test['X'].values, rel=1e-3) assert v2['Y'].values == pytest.approx(v2_test['Y'].values, rel=1e-3) + + +profile_selection_assert = \ +{ +'nodes': + [{'id_name': '9', 'rolling_x_pos': 0.0, 'invert_el': 1000.0}, + {'id_name': '10', 'rolling_x_pos': 400.0, 'invert_el': 995.0}, + {'id_name': '21', 'rolling_x_pos': 800.0, 'invert_el': 990.0}, + {'id_name': '24', 'rolling_x_pos': 1300.0, 'invert_el': 984.0}, + {'id_name': '17', 'rolling_x_pos': 1700.0, 'invert_el': 980.0}, + {'id_name': '18', 'rolling_x_pos': 2100.0, 'invert_el': 975.0}], +'links': + [{'id_name': '1', 'rolling_x_pos': 200.0, 'midpoint_bottom': 997.5}, + {'id_name': '6', 'rolling_x_pos': 600.0, 'midpoint_bottom': 993.0}, + {'id_name': 'LOOP', 'rolling_x_pos': 1050.0, 'midpoint_bottom': 987.0}, + {'id_name': '16', 'rolling_x_pos': 1500.0, 'midpoint_bottom': 982.0}, + {'id_name': '10', 'rolling_x_pos': 1900.0, 'midpoint_bottom': 977.5}], +'path_selection': + [('9', '10', '1'), + ('10', '21', '6'), + ('21', '24', 'LOOP'), + ('24', '17', '16'), + ('17', '18', '10')] +} + +def test_profile(): + mdl = MODEL_EX_1_PARALLEL_LOOP + with pyswmm.Simulation(mdl) as sim: + for step in sim: + pass + #instantiate a swmmio model object + mymodel = swmmio.Model(mdl) + + depths = mymodel.rpt.node_depth_summary.MaxNodeDepthReported + + fig = plt.figure(figsize=(11,8)) + fig.suptitle("TEST") + ax = fig.add_subplot(2,1,1) + path_selection = find_network_trace(mymodel, '9', '18', include_links=["LOOP"]) + profile_config = build_profile_plot(ax, mymodel, path_selection) + assert(profile_config == profile_selection_assert) + add_hgl_plot(ax, profile_config, depth=depths, label="Max HGL") + add_node_labels_plot(ax, mymodel, profile_config) + add_link_labels_plot(ax, mymodel, profile_config) + leg = ax.legend() + ax.grid('xy') + + ax2 = fig.add_subplot(2,1,2) + path_selection = find_network_trace(mymodel, '19', '18', include_nodes=['22']) + profile_config = build_profile_plot(ax2, mymodel, path_selection) + add_hgl_plot(ax2, profile_config, depth=depths, label="Max HGL") + add_node_labels_plot(ax2, mymodel, profile_config) + add_link_labels_plot(ax2, mymodel, profile_config) + leg = ax2.legend() + ax2.grid('xy') + + fig.tight_layout() + plt.savefig("test.pdf") + plt.close() From 1a705cd33a04cd7bd13b9b7bbfd3f1a0353a6375 Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Fri, 23 Dec 2022 15:30:46 +0100 Subject: [PATCH 09/21] updated requiredments --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 073fe31..bc9550e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,5 @@ mistune==0.8.4 # Run dependencies pyproj>=3.0.0 geopandas -pyswmm==1.2 \ No newline at end of file +matplotlib +pyswmm>=1.2 \ No newline at end of file From 7d17665b4e8ab069a094c5bd92415ab307cdb272 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Wed, 28 Dec 2022 16:42:04 -0500 Subject: [PATCH 10/21] add unit tests for and refactor run_models.run --- swmmio/core.py | 7 +++-- swmmio/run_models/run.py | 46 +++++++++++++++------------------ swmmio/tests/test_run_models.py | 42 ++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 27 deletions(-) create mode 100644 swmmio/tests/test_run_models.py diff --git a/swmmio/core.py b/swmmio/core.py index 84d215b..a492a6f 100644 --- a/swmmio/core.py +++ b/swmmio/core.py @@ -562,9 +562,12 @@ def save(self, target_path=None): """ from swmmio.utils.modify_model import replace_inp_section import shutil - target_path = target_path if target_path is not None else self.path - shutil.copyfile(self.path, target_path) + if target_path is not None: + shutil.copyfile(self.path, target_path) + else: + target_path = self.path + for section in self._sections: # reformate the [SECTION] to section (and _section_df) sect_id = section.translate({ord(i): None for i in '[]'}).lower() diff --git a/swmmio/run_models/run.py b/swmmio/run_models/run.py index 6de4d30..a9ae9dc 100644 --- a/swmmio/run_models/run.py +++ b/swmmio/run_models/run.py @@ -12,7 +12,7 @@ def run_simple(inp_path, py_path=PYTHON_EXE_PATH, pyswmm_wrapper=PYSWMM_WRAPPER_ run a model once as is. """ print('running {}'.format(inp_path)) - #inp_path = model.inp.path + # inp_path = model.inp.path rpt_path = os.path.splitext(inp_path)[0] + '.rpt' out_path = os.path.splitext(inp_path)[0] + '.out' @@ -24,40 +24,36 @@ def run_simple(inp_path, py_path=PYTHON_EXE_PATH, pyswmm_wrapper=PYSWMM_WRAPPER_ env=env_definition) return 0 -def run_hot_start_sequence(inp_path, py_path=PYTHON_EXE_PATH): - # inp_path = model.inp.path +def run_hot_start_sequence(inp_path, py_path=PYTHON_EXE_PATH, pyswmm_wrapper=PYSWMM_WRAPPER_PATH): + model = Model(inp_path) - rpt_path = os.path.splitext(inp_path)[0] + '.rpt' hotstart1 = os.path.join(model.inp.dir, model.inp.name + '_hot1.hsf') hotstart2 = os.path.join(model.inp.dir, model.inp.name + '_hot2.hsf') - # if not os.path.exists(hotstart1) and not os.path.exists(hotstart2): - #create new model inp with params to save hotstart1 + # create new model inp with params to save hotstart1 print('create new model inp with params to save hotstart1') - s = pd.Series(['SAVE HOTSTART "{}"'.format(hotstart1)]) - hot1_df = pd.DataFrame(s, columns=['[FILES]']) - model = replace_inp_section(model.inp.path, '[FILES]', hot1_df) + model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none) - model = replace_inp_section(model.inp.path, '[OPTIONS]', defs.OPTIONS_no_rain) - run_simple(model.inp.path) + model.inp.files = pd.DataFrame([f'SAVE HOTSTART "{hotstart1}"'], columns=['[FILES]']) + model.inp.options.loc['IGNORE_RAINFALL', 'Value'] = 'YES' + model.inp.save() + + run_simple(model.inp.path, py_path=py_path, pyswmm_wrapper=pyswmm_wrapper) - # if os.path.exists(hotstart1) and not os.path.exists(hotstart2): - #create new model inp with params to use hotstart1 and save hotstart2 + # create new model inp with params to use hotstart1 and save hotstart2 print('with params to use hotstart1 and save hotstart2') - s = pd.Series(['USE HOTSTART "{}"'.format(hotstart1), 'SAVE HOTSTART "{}"'.format(hotstart2)]) - hot2_df = pd.DataFrame(s, columns=['[FILES]']) - model = replace_inp_section(model.inp.path, '[FILES]', hot2_df) - run_simple(model.inp.path) + model.inp.files = pd.DataFrame([f'USE HOTSTART "{hotstart1}"', f'SAVE HOTSTART "{hotstart2}"'], columns=['[FILES]']) + model.inp.save() + + run_simple(model.inp.path, py_path=py_path, pyswmm_wrapper=pyswmm_wrapper) - # if os.path.exists(hotstart2): - #create new model inp with params to use hotstart2 and not save anything + # create new model inp with params to use hotstart2 and not save anything print('params to use hotstart2 and not save anything') - s = pd.Series(['USE HOTSTART "{}"'.format(hotstart2)]) - hot3_df = pd.DataFrame(s, columns=['[FILES]']) - model = replace_inp_section(model.inp.path, '[FILES]', hot3_df) - model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none)# defs.REPORT_nodes_links) - model = replace_inp_section(model.inp.path, '[OPTIONS]', defs.OPTIONS_normal) + model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none) # defs.REPORT_nodes_links) + model.inp.files = pd.DataFrame([f'USE HOTSTART "{hotstart2}"'], columns=['[FILES]']) + model.inp.options.loc['IGNORE_RAINFALL', 'Value'] = 'NO' + model.inp.save() - run_simple(model.inp.path) + return run_simple(model.inp.path, py_path=py_path, pyswmm_wrapper=pyswmm_wrapper) diff --git a/swmmio/tests/test_run_models.py b/swmmio/tests/test_run_models.py new file mode 100644 index 0000000..b7960f9 --- /dev/null +++ b/swmmio/tests/test_run_models.py @@ -0,0 +1,42 @@ +import unittest +import tempfile +import os + +import swmmio +from swmmio.examples import philly +from swmmio.run_models.run import run_simple, run_hot_start_sequence + + +class TestRunModels(unittest.TestCase): + def setUp(self) -> None: + pass + + def test_run_simple(self): + with tempfile.TemporaryDirectory() as tmp_dir: + + # create copy of model in temp dir + inp_path = os.path.join(tmp_dir, 'philly-example.inp') + philly.inp.save(inp_path) + + # run the model + return_code = run_simple(inp_path) + self.assertEqual(return_code, 0) + + m = swmmio.Model(inp_path) + self.assertTrue(m.rpt_is_valid()) + + def test_run_hot_start_sequence(self): + with tempfile.TemporaryDirectory() as tmp_dir: + + # create copy of model in temp dir + inp_path = os.path.join(tmp_dir, 'philly-example.inp') + philly.inp.save(inp_path) + + # run the model + return_code = run_hot_start_sequence(inp_path) + self.assertEqual(return_code, 0) + + m = swmmio.Model(inp_path) + self.assertTrue(m.rpt_is_valid()) + + From f332b05df6a2ff7fc36b8c4d8895ca3eaede5751 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Wed, 28 Dec 2022 16:54:39 -0500 Subject: [PATCH 11/21] add report to inp, use in run.py --- swmmio/core.py | 31 +++++++++++++++++++++++++++++-- swmmio/run_models/run.py | 4 ++-- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/swmmio/core.py b/swmmio/core.py index a492a6f..b85adaf 100644 --- a/swmmio/core.py +++ b/swmmio/core.py @@ -504,6 +504,7 @@ class inp(SWMMIOFile): def __init__(self, file_path): self._options_df = None self._files_df = None + self._report_df = None self._conduits_df = None self._xsections_df = None self._pumps_df = None @@ -529,6 +530,7 @@ def __init__(self, file_path): self._sections = [ '[OPTIONS]', '[FILES]', + '[REPORT]', '[CONDUITS]', '[XSECTIONS]', '[PUMPS]', @@ -654,8 +656,6 @@ def files(self): :return: files section of the INP file :rtype: pandas.DataFrame - - Examples: """ if self._files_df is None: self._files_df = dataframe_from_inp(self.path, "[FILES]") @@ -667,6 +667,33 @@ def files(self, df): first_col = df.columns[0] self._files_df = df.set_index(first_col) + @property + def report(self): + """ + Get/set report section of the INP file. + + :return: report section of the INP file + :rtype: pandas.DataFrame + + >>> from swmmio.examples import jersey + >>> jersey.inp.report #doctest: +NORMALIZE_WHITESPACE + Status + Param + INPUT YES + CONTROLS YES + SUBCATCHMENTS NONE + NODES ALL + LINKS NONE + """ + if self._report_df is None: + self._report_df = dataframe_from_inp(self.path, "report") + return self._report_df + + @report.setter + def report(self, df): + """Set inp.report DataFrame.""" + self._report_df = df + @property def conduits(self): """ diff --git a/swmmio/run_models/run.py b/swmmio/run_models/run.py index a9ae9dc..3a897ec 100644 --- a/swmmio/run_models/run.py +++ b/swmmio/run_models/run.py @@ -34,7 +34,8 @@ def run_hot_start_sequence(inp_path, py_path=PYTHON_EXE_PATH, pyswmm_wrapper=PYS # create new model inp with params to save hotstart1 print('create new model inp with params to save hotstart1') - model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none) + model.inp.report.loc[:, 'Status'] = 'NONE' + model.inp.report.loc[['INPUT', 'CONTROLS'], 'Status'] = 'NO' model.inp.files = pd.DataFrame([f'SAVE HOTSTART "{hotstart1}"'], columns=['[FILES]']) model.inp.options.loc['IGNORE_RAINFALL', 'Value'] = 'YES' model.inp.save() @@ -51,7 +52,6 @@ def run_hot_start_sequence(inp_path, py_path=PYTHON_EXE_PATH, pyswmm_wrapper=PYS # create new model inp with params to use hotstart2 and not save anything print('params to use hotstart2 and not save anything') - model = replace_inp_section(model.inp.path, '[REPORT]', defs.REPORT_none) # defs.REPORT_nodes_links) model.inp.files = pd.DataFrame([f'USE HOTSTART "{hotstart2}"'], columns=['[FILES]']) model.inp.options.loc['IGNORE_RAINFALL', 'Value'] = 'NO' model.inp.save() From b111808ddb493bfc9d9f8488e23d48a57da26214 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Wed, 28 Dec 2022 19:08:18 -0500 Subject: [PATCH 12/21] add simple test of swmmio cli --- swmmio/__main__.py | 87 +++++++++++++++++---------------- swmmio/tests/test_run_models.py | 14 +++++- 2 files changed, 57 insertions(+), 44 deletions(-) diff --git a/swmmio/__main__.py b/swmmio/__main__.py index 4a27570..f38a5a5 100644 --- a/swmmio/__main__.py +++ b/swmmio/__main__.py @@ -1,58 +1,61 @@ +import argparse +import os +from itertools import chain + from swmmio.run_models.run import run_simple, run_hot_start_sequence from swmmio.run_models import start_pool -from swmmio import Model -from itertools import chain -import os -import argparse -from multiprocessing import Pool, cpu_count -from datetime import datetime -#parse the arguments -parser = argparse.ArgumentParser(description='Process some stuff') -parser.add_argument('-r', '--run', dest='model_to_run', nargs="+") -parser.add_argument('-rhs', '--run_hotstart', dest='hotstart_model_to_run', nargs="+") -parser.add_argument('-sp', '--start_pool', dest='start_pool', nargs="+") -parser.add_argument('-cores_left', '--cores_left', dest='cores_left', default=4, type=int) -parser.add_argument('-pp', '--post_process', dest='post_process', nargs="+") +def main(): + # parse the arguments + parser = argparse.ArgumentParser(description='Process some stuff') + parser.add_argument('-r', '--run', dest='model_to_run', nargs="+") + parser.add_argument('-rhs', '--run_hotstart', dest='hotstart_model_to_run', nargs="+") + parser.add_argument('-sp', '--start_pool', dest='start_pool', nargs="+") + parser.add_argument('-cores_left', '--cores_left', dest='cores_left', default=4, type=int) + parser.add_argument('-pp', '--post_process', dest='post_process', nargs="+") + + args = parser.parse_args() + wd = os.getcwd() # current directory script is being called from -args = parser.parse_args() -wd = os.getcwd() #current directory script is being called from + if args.model_to_run is not None: -if args.model_to_run is not None: + models_paths = [os.path.join(wd, f) for f in args.model_to_run] + print('Adding models to queue:\n\t{}'.format('\n\t'.join(models_paths))) - models_paths = [os.path.join(wd, f) for f in args.model_to_run] - print('Adding models to queue:\n\t{}'.format('\n\t'.join(models_paths))) + # run the models in series (one after the other) + list(map(run_simple, models_paths)) + # run_simple(args.model_to_run) - #run the models in series (one after the other) - list(map(run_simple, models_paths)) - # run_simple(args.model_to_run) + elif args.hotstart_model_to_run is not None: + models_paths = [os.path.join(wd, f) for f in args.hotstart_model_to_run] + print('hotstart_model_to_run the model: {}'.format(args.hotstart_model_to_run)) + # m = Model(args.hotstart_model_to_run) + # run_hot_start_sequence(m)#args.hotstart_model_to_run) + list(map(run_hot_start_sequence, models_paths)) -elif args.hotstart_model_to_run is not None: - models_paths = [os.path.join(wd, f) for f in args.hotstart_model_to_run] - print('hotstart_model_to_run the model: {}'.format(args.hotstart_model_to_run)) - # m = Model(args.hotstart_model_to_run) - # run_hot_start_sequence(m)#args.hotstart_model_to_run) - list(map(run_hot_start_sequence, models_paths)) + elif args.start_pool is not None: -elif args.start_pool is not None: + models_dirs = [os.path.join(wd, f) for f in args.start_pool] + print('Searching for models in:\n\t{}'.format('\n\t'.join(models_dirs))) + # combine the segments and options (combinations) into one iterable + inp_paths = [] + for root, dirs, files in chain.from_iterable(os.walk(path) for path in models_dirs): + for f in files: + if f.endswith('.inp') and 'bk' not in root: + # we've found a directory containing an inp + inp_paths.append(os.path.join(root, f)) - models_dirs = [os.path.join(wd, f) for f in args.start_pool] - print('Searching for models in:\n\t{}'.format('\n\t'.join(models_dirs))) - #combine the segments and options (combinations) into one iterable - inp_paths = [] - for root, dirs, files in chain.from_iterable(os.walk(path) for path in models_dirs): - for f in files: - if f.endswith('.inp') and 'bk' not in root: - #we've found a directory containing an inp - inp_paths.append(os.path.join(root, f)) + # call the main() function in start_pool.py + start_pool.main(inp_paths, args.cores_left) + print("swmmio has completed running {} models".format(len(inp_paths))) - #call the main() function in start_pool.py - start_pool.main(inp_paths, args.cores_left) + else: + print('you need to pass in some args') - print("swmmio has completed running {} models".format(len(inp_paths))) + return 0 -else: - print('you need to pass in some args') +if __name__ == '__main__': + main() diff --git a/swmmio/tests/test_run_models.py b/swmmio/tests/test_run_models.py index b7960f9..8b27b85 100644 --- a/swmmio/tests/test_run_models.py +++ b/swmmio/tests/test_run_models.py @@ -1,6 +1,8 @@ -import unittest -import tempfile +import argparse import os +import tempfile +import unittest +from unittest import mock import swmmio from swmmio.examples import philly @@ -39,4 +41,12 @@ def test_run_hot_start_sequence(self): m = swmmio.Model(inp_path) self.assertTrue(m.rpt_is_valid()) + @mock.patch('argparse.ArgumentParser.parse_args', + return_value=argparse.Namespace( + model_to_run=[philly.inp.path] + )) + def test_swmmio_run(self, mock_args): + from swmmio import __main__ + self.assertEqual(__main__.main(), 0) + From 3f73c42b0ea23c9f8543cbd13e2beec64f43d371 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Wed, 28 Dec 2022 19:23:42 -0500 Subject: [PATCH 13/21] use jerzy example model for cli test --- swmmio/tests/test_run_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swmmio/tests/test_run_models.py b/swmmio/tests/test_run_models.py index 8b27b85..b409ff1 100644 --- a/swmmio/tests/test_run_models.py +++ b/swmmio/tests/test_run_models.py @@ -5,7 +5,7 @@ from unittest import mock import swmmio -from swmmio.examples import philly +from swmmio.examples import philly, jerzey from swmmio.run_models.run import run_simple, run_hot_start_sequence @@ -43,7 +43,7 @@ def test_run_hot_start_sequence(self): @mock.patch('argparse.ArgumentParser.parse_args', return_value=argparse.Namespace( - model_to_run=[philly.inp.path] + model_to_run=[jerzey.inp.path] )) def test_swmmio_run(self, mock_args): from swmmio import __main__ From 350aae9351dcb478a8fe47ed0bf871505bc4d950 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Thu, 29 Dec 2022 10:33:28 -0500 Subject: [PATCH 14/21] remove unnecessary files from run_models module --- swmmio/run_models/defs.py | 38 ------------------- swmmio/run_models/inp_settings/FILES.txt | 0 .../inp_settings/OPTIONS_no_rain.txt | 28 -------------- .../inp_settings/OPTIONS_normal.txt | 27 ------------- .../inp_settings/REPORT_nodes_links.txt | 6 --- .../run_models/inp_settings/REPORT_none.txt | 6 --- swmmio/run_models/run.py | 4 +- 7 files changed, 2 insertions(+), 107 deletions(-) delete mode 100644 swmmio/run_models/defs.py delete mode 100644 swmmio/run_models/inp_settings/FILES.txt delete mode 100644 swmmio/run_models/inp_settings/OPTIONS_no_rain.txt delete mode 100644 swmmio/run_models/inp_settings/OPTIONS_normal.txt delete mode 100644 swmmio/run_models/inp_settings/REPORT_nodes_links.txt delete mode 100644 swmmio/run_models/inp_settings/REPORT_none.txt diff --git a/swmmio/run_models/defs.py b/swmmio/run_models/defs.py deleted file mode 100644 index 094a0eb..0000000 --- a/swmmio/run_models/defs.py +++ /dev/null @@ -1,38 +0,0 @@ -import pandas as pd -import os -from os.path import join as j -from swmmio.defs.sectionheaders import inp_header_dict - -current_dir = os.path.dirname(__file__) -sets = j(current_dir, 'inp_settings') - -# TODO: do something about his silly file -OPTIONS_no_rain = pd.read_table( - j(sets, 'OPTIONS_no_rain.txt'), - delim_whitespace=True, - names=inp_header_dict['[OPTIONS]'].split(), - skiprows=1, - index_col=0 - ) - -OPTIONS_normal = pd.read_table( - j(sets, 'OPTIONS_normal.txt'), - delim_whitespace=True, - names=inp_header_dict['[OPTIONS]'].split(), - skiprows=1, - index_col=0 - ) -REPORT_nodes_links = pd.read_table( - j(sets, 'REPORT_nodes_links.txt'), - delim_whitespace=True, - names=inp_header_dict['[REPORT]'].split(), - skiprows=1, - index_col=0 - ) -REPORT_none = pd.read_table( - j(sets, 'REPORT_none.txt'), - delim_whitespace=True, - names=inp_header_dict['[REPORT]'].split(), - skiprows=1, - index_col=0 - ) diff --git a/swmmio/run_models/inp_settings/FILES.txt b/swmmio/run_models/inp_settings/FILES.txt deleted file mode 100644 index e69de29..0000000 diff --git a/swmmio/run_models/inp_settings/OPTIONS_no_rain.txt b/swmmio/run_models/inp_settings/OPTIONS_no_rain.txt deleted file mode 100644 index ab68172..0000000 --- a/swmmio/run_models/inp_settings/OPTIONS_no_rain.txt +++ /dev/null @@ -1,28 +0,0 @@ -[OPTIONS] -FLOW_UNITS CFS -INFILTRATION GREEN_AMPT -FLOW_ROUTING DYNWAVE -START_DATE 01/01/1990 -START_TIME 00:00:00 -REPORT_START_DATE 01/01/1990 -REPORT_START_TIME 00:00:00 -END_DATE 01/02/1990 -END_TIME 00:00:00 -SWEEP_START 01/01 -SWEEP_END 01/02 -DRY_DAYS 0 -REPORT_STEP 00:01:00 -WET_STEP 00:01:00 -DRY_STEP 00:01:00 -ROUTING_STEP 0:00:05 -ALLOW_PONDING YES -INERTIAL_DAMPING NONE -VARIABLE_STEP 0.50 -LENGTHENING_STEP 20.0 -MIN_SURFAREA 12.566 -NORMAL_FLOW_LIMITED BOTH -SKIP_STEADY_STATE NO -FORCE_MAIN_EQUATION H-W -LINK_OFFSETS DEPTH -MIN_SLOPE 0 -IGNORE_RAINFALL YES diff --git a/swmmio/run_models/inp_settings/OPTIONS_normal.txt b/swmmio/run_models/inp_settings/OPTIONS_normal.txt deleted file mode 100644 index c6821c5..0000000 --- a/swmmio/run_models/inp_settings/OPTIONS_normal.txt +++ /dev/null @@ -1,27 +0,0 @@ -[OPTIONS] -FLOW_UNITS CFS -INFILTRATION GREEN_AMPT -FLOW_ROUTING DYNWAVE -START_DATE 01/01/1990 -START_TIME 00:00:00 -REPORT_START_DATE 01/01/1990 -REPORT_START_TIME 00:00:00 -END_DATE 01/02/1990 -END_TIME 00:00:00 -SWEEP_START 01/01 -SWEEP_END 01/02 -DRY_DAYS 0 -REPORT_STEP 00:05:00 -WET_STEP 00:01:00 -DRY_STEP 00:01:00 -ROUTING_STEP 0:00:05 -ALLOW_PONDING YES -INERTIAL_DAMPING NONE -VARIABLE_STEP 0.50 -LENGTHENING_STEP 20.0 -MIN_SURFAREA 12.566 -NORMAL_FLOW_LIMITED BOTH -SKIP_STEADY_STATE NO -FORCE_MAIN_EQUATION H-W -LINK_OFFSETS DEPTH -MIN_SLOPE 0 diff --git a/swmmio/run_models/inp_settings/REPORT_nodes_links.txt b/swmmio/run_models/inp_settings/REPORT_nodes_links.txt deleted file mode 100644 index 1072238..0000000 --- a/swmmio/run_models/inp_settings/REPORT_nodes_links.txt +++ /dev/null @@ -1,6 +0,0 @@ -[REPORT] -INPUT NO -CONTROLS NO -SUBCATCHMENTS NONE -NODES ALL -LINKS ALL diff --git a/swmmio/run_models/inp_settings/REPORT_none.txt b/swmmio/run_models/inp_settings/REPORT_none.txt deleted file mode 100644 index f53151b..0000000 --- a/swmmio/run_models/inp_settings/REPORT_none.txt +++ /dev/null @@ -1,6 +0,0 @@ -[REPORT] -INPUT NO -CONTROLS NO -SUBCATCHMENTS NONE -NODES NONE -LINKS NONE diff --git a/swmmio/run_models/run.py b/swmmio/run_models/run.py index 3a897ec..2c563a3 100644 --- a/swmmio/run_models/run.py +++ b/swmmio/run_models/run.py @@ -1,8 +1,8 @@ import subprocess import os + import pandas as pd -from swmmio.utils.modify_model import replace_inp_section -from swmmio.run_models import defs + from swmmio import Model from swmmio.defs.config import PYTHON_EXE_PATH, PYSWMM_WRAPPER_PATH From e8d98493e2296706bb61ba66ce056eb7d868b4ec Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Thu, 29 Dec 2022 20:52:11 +0100 Subject: [PATCH 15/21] step commit before pulling changes --- swmmio/graphics/profiler.py | 179 ++++++++++++++----- swmmio/tests/data/Example1_parallel_loop.rpt | 4 +- swmmio/tests/data/Example6.inp | 113 ++++++------ 3 files changed, 197 insertions(+), 99 deletions(-) diff --git a/swmmio/graphics/profiler.py b/swmmio/graphics/profiler.py index c557f43..4cc528c 100644 --- a/swmmio/graphics/profiler.py +++ b/swmmio/graphics/profiler.py @@ -1,9 +1,12 @@ import numpy as np import pandas as pd -import pyswmm from swmmio.utils import error MH_WIDTH=10 +DEFAULT_ORIFICE_LENGTH = 50 +DEFAULT_PUMP_LENGTH = 50 +DEFAULT_WEIR_LENGTH = 50 +DEFAULT_OUTLET_LENGTH = 50 def build_profile_plot(ax, model, path_selection): """ @@ -29,39 +32,37 @@ def build_profile_plot(ax, model, path_selection): # Plot first Node if ind == 0: invert_el = float(nodes.loc[[us_node]].InvertElev) - max_depth = float(nodes.loc[[us_node]].MaxDepth) - if np.isnan(max_depth): - max_depth = float(links.loc[[link_id]].Geom1) profile_config['nodes'].append({"id_name":us_node,\ "rolling_x_pos":rolling_x_pos,\ "invert_el":invert_el}) - ret=_add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) + ret=_add_node_plot(ax, rolling_x_pos, model, us_node, link_set) ground_levels['x'].extend(ret['x']) ground_levels['level'].extend(ret['level']) + # Add next link length to offset old_rolling_x_pos = rolling_x_pos - rolling_x_pos += float(links.loc[[link_id]].Length) + # check link type + if links.loc[[link_id]].Type[0] == "CONDUIT": + rolling_x_pos += float(links.loc[[link_id]].Length) + elif links.loc[[link_id]].Type[0] == "WEIR": + rolling_x_pos += DEFAULT_WEIR_LENGTH + elif links.loc[[link_id]].Type[0] == "ORIFICE": + rolling_x_pos += DEFAULT_ORIFICE_LENGTH + elif links.loc[[link_id]].Type[0] == "PUMP": + rolling_x_pos += DEFAULT_PUMP_LENGTH + elif link.loc[[link_id]].Type[0] == "OUTLET": + rolling_x_pos += DEFAULT_OUTLET_LENGTH # Plot DS node invert_el = float(nodes.loc[[ds_node]].InvertElev) - max_depth = float(nodes.loc[[ds_node]].MaxDepth) - if np.isnan(max_depth): - max_depth = float(links.loc[[link_id]].Geom1) profile_config['nodes'].append({"id_name":ds_node,\ "rolling_x_pos":rolling_x_pos,\ "invert_el":invert_el}) - ret=_add_manhole_plot(ax, rolling_x_pos, invert_el, max_depth) + # Check which plot to build + ret=_add_node_plot(ax, rolling_x_pos, model, ds_node, link_set) ground_levels['x'].extend(ret['x']) ground_levels['level'].extend(ret['level']) - us_node_el = float(nodes.loc[[us_node]].InvertElev) - us_link_offset = float(links.loc[[link_id]].InOffset) - ds_node_el = float(nodes.loc[[ds_node]].InvertElev) - ds_link_offset = float(links.loc[[link_id]].OutOffset) - depth = float(links.loc[[link_id]].Geom1) - - ret=_add_conduit_plot(ax, old_rolling_x_pos, rolling_x_pos, - us_node_el, ds_node_el, depth, - us_link_offset, ds_link_offset) + ret=_add_link_plot(ax, old_rolling_x_pos, rolling_x_pos, model, link_set) link_mid_x, link_mid_y = sum(ret['x'])/2.0, sum(ret['bottom'])/2.0 profile_config["links"].append({"id_name":link_id, "rolling_x_pos":link_mid_x, @@ -72,11 +73,29 @@ def build_profile_plot(ax, model, path_selection): return profile_config -def _add_manhole_plot(ax, x, invert_el, depth, surcharge_depth=0, width=MH_WIDTH, +def _add_node_plot(ax, x, model, node_name, link_set, surcharge_depth=0, width=MH_WIDTH, gradient=True): """ Adds a single manhole to the plot. Called by `build_profile_plot()`. """ + us_node, ds_node, link_id = link_set + + nodes = model.nodes.dataframe + links = model.links.dataframe + + invert_el = float(nodes.loc[[node_name]].InvertElev) + # Node Type checker + if hasattr(model.inp, "junctions"): + if node_name in model.inp.junctions.index: + depth = float(nodes.loc[[node_name]].MaxDepth) + if hasattr(model.inp, "outfalls"): + if node_name in model.inp.outfalls.index: + depth = float(links.loc[[link_id]].Geom1) + if hasattr(model.inp, "storage"): + if node_name in model.inp.storage.index: + depth = float(nodes.loc[[node_name]].MaxD) + + # Plotting Configuration ll_x, ll_y = x-width, invert_el lr_x, lr_y = x+width, invert_el ur_x, ur_y = x+width, invert_el + depth @@ -101,27 +120,93 @@ def _add_manhole_plot(ax, x, invert_el, depth, surcharge_depth=0, width=MH_WIDTH return {'x': [ul_x, ur_x], 'level': [ul_y, ur_y]} -def _add_conduit_plot(ax, us_x_position, ds_x_position, us_el, ds_el, depth,\ - us_offset=0, ds_offset=0, width=0, gradient=True): +def _add_link_plot(ax, us_x_position, ds_x_position, model, link_set, width=0, gradient=True): """ Adds a single conduit to the plot. Called by `build_profile_plot()`. """ - us_bot_x, us_bot_y = us_x_position+width, us_el + us_offset - ds_bot_x, ds_bot_y = ds_x_position-width, ds_el + ds_offset - ds_top_x, ds_top_y = ds_x_position-width, ds_el + ds_offset + depth - us_top_x, us_top_y = us_x_position+width, us_el + us_offset + depth + us_node, ds_node, link_id = link_set + + nodes = model.nodes.dataframe + links = model.links.dataframe + + us_node_el = float(nodes.loc[[us_node]].InvertElev) + ds_node_el = float(nodes.loc[[ds_node]].InvertElev) + + link_type = links.loc[[link_id]].Type[0] + mid_x = [] + mid_y = [] + # check link type + if link_type == "CONDUIT": + depth = float(links.loc[[link_id]].Geom1) + us_link_offset = float(links.loc[[link_id]].InOffset) + ds_link_offset = float(links.loc[[link_id]].OutOffset) + # + us_bot_x, us_bot_y = us_x_position+width, us_node_el + us_link_offset + ds_bot_x, ds_bot_y = ds_x_position-width, ds_node_el + ds_link_offset + ds_top_x, ds_top_y = ds_x_position-width, ds_node_el + ds_link_offset + depth + us_top_x, us_top_y = us_x_position+width, us_node_el + us_link_offset + depth + + ax.plot([us_bot_x, ds_bot_x, ds_top_x, us_top_x, us_bot_x], + [us_bot_y, ds_bot_y, ds_top_y, us_top_y, us_bot_y], "-k", + lw=0.75, zorder=0) + + elif link_type == "ORIFICE": + depth = float(links.loc[[link_id]].Geom1) + us_link_offset = float(links.loc[[link_id]].CrestHeight) + ds_node_el = float(nodes.loc[[us_node]].InvertElev) # Plot it flat + ds_link_offset = float(links.loc[[link_id]].CrestHeight) + + us_bot_x, us_bot_y = us_x_position+width, us_node_el + us_link_offset + ds_bot_x, ds_bot_y = ds_x_position-width, ds_node_el + ds_link_offset + ds_top_x, ds_top_y = ds_x_position-width, ds_node_el + ds_link_offset + depth + us_top_x, us_top_y = us_x_position+width, us_node_el + us_link_offset + depth + + ax.plot([us_bot_x, ds_bot_x, ds_top_x, us_top_x, us_bot_x], + [us_bot_y, ds_bot_y, ds_top_y, us_top_y, us_bot_y], "-k", + lw=0.75, zorder=0) + elif link_type in ["PUMP", "OUTLET"]: + depth = 1.0 + us_link_offset = 0.0 + ds_link_offset = 0.0 + + us_bot_x, us_bot_y = us_x_position+width, us_node_el + us_link_offset + ds_bot_x, ds_bot_y = ds_x_position-width, ds_node_el + ds_link_offset + ds_top_x, ds_top_y = ds_x_position-width, ds_node_el + ds_link_offset + depth + us_top_x, us_top_y = us_x_position+width, us_node_el + us_link_offset + depth + + ax.plot([us_bot_x, ds_bot_x, ds_top_x, us_top_x, us_bot_x], + [us_bot_y, ds_bot_y, ds_top_y, us_top_y, us_bot_y], "-k", + lw=0.75, zorder=0) + + elif link_type == "WEIR": + depth = float(links.loc[[link_id]].Geom1) + us_link_offset = float(links.loc[[link_id]].CrestHeight) + ds_link_offset = 0.0 + + us_bot_x, us_bot_y = us_x_position+width, us_node_el + us_link_offset + ds_bot_x, ds_bot_y = ds_x_position-width, ds_node_el + ds_link_offset + ds_top_x, ds_top_y = ds_x_position-width, ds_node_el + ds_link_offset + depth + us_top_x, us_top_y = us_x_position+width, us_node_el + us_link_offset + depth + md_bot_x1, md_bot_y1 = (us_bot_x + ds_bot_x)/2.0, us_bot_y + md_bot_x2, md_bot_y2 = md_bot_x1, ds_bot_y + + ax.plot([us_bot_x, md_bot_x1, md_bot_x2, ds_bot_x], + [us_bot_y, md_bot_y1, md_bot_y2, ds_bot_y], "-k", + lw=0.75, zorder=0) + + mid_x = [md_bot_x1, md_bot_x2] + mid_y = [md_bot_y1, md_bot_y2] + - ax.plot([us_bot_x, ds_bot_x, ds_top_x, us_top_x, us_bot_x], - [us_bot_y, ds_bot_y, ds_top_y, us_top_y, us_bot_y], "-k", - lw=0.75, zorder=0) - return {'x':[us_bot_x, ds_bot_x], 'bottom':[us_bot_y, ds_bot_y]} + return {'x':[us_bot_x, ds_bot_x], 'bottom':[us_bot_y, ds_bot_y], + "link_type":link_type, 'mid_x':mid_x, 'mid_y':mid_y} def _add_ground_plot(ax, ground_levels): """ Adds the grond level to the profile plot. Called by `build_profile_plot()`. """ - ax.plot(ground_levels['x'], ground_levels['level'], '-', color='brown') + ax.plot(ground_levels['x'], ground_levels['level'], '--', color='brown', lw=.5) def add_hgl_plot(ax, profile_config, hgl=None, depth=None, color = 'b', label="HGL"): if isinstance(hgl, pd.core.series.Series) == True \ @@ -158,10 +243,18 @@ def add_node_labels_plot(ax, model, profile_config, font_size=8, for val in profile_config['nodes']: name = val['id_name'] invert_el = float(nodes.loc[[name]].InvertElev) - max_depth = float(nodes.loc[[name]].MaxDepth) - if np.isnan(max_depth): - max_depth = 0 - calc = invert_el+max_depth + # Node Type checker + if hasattr(model.inp, "junctions"): + if name in model.inp.junctions.index: + depth = float(nodes.loc[[name]].MaxDepth) + if hasattr(model.inp, "outfalls"): + if name in model.inp.outfalls.index: + depth = 0 + if hasattr(model.inp, "storage"): + if name in model.inp.storage.index: + depth = float(nodes.loc[[name]].MaxD) + + calc = invert_el+depth if calc > label_y_max: label_y_max = calc @@ -174,10 +267,17 @@ def add_node_labels_plot(ax, model, profile_config, font_size=8, name = val['id_name'] x_offset = val['rolling_x_pos'] invert_el = float(nodes.loc[[name]].InvertElev) - max_depth = float(nodes.loc[[name]].MaxDepth) - if np.isnan(max_depth): - max_depth = 0 - pos_y = invert_el+max_depth + # Node Type checker + if hasattr(model.inp, "junctions"): + if name in model.inp.junctions.index: + depth = float(nodes.loc[[name]].MaxDepth) + if hasattr(model.inp, "outfalls"): + if name in model.inp.outfalls.index: + depth = 0 + if hasattr(model.inp, "storage"): + if name in model.inp.storage.index: + depth = float(nodes.loc[[name]].MaxD) + pos_y = invert_el+depth label=ax.annotate(name, xy=(x_offset, pos_y), xytext=(x_offset, label_y_max+label_offset+stagger_value), arrowprops=dict(arrowstyle="->", alpha=0.5), va='top', ha='center', @@ -206,7 +306,6 @@ def add_link_labels_plot(ax, model, profile_config, font_size=8, label_y_min = 1e9 for val in profile_config['links']: y_midpoint_bottom = val["midpoint_bottom"] - print(y_midpoint_bottom) if y_midpoint_bottom < label_y_min: label_y_min = y_midpoint_bottom diff --git a/swmmio/tests/data/Example1_parallel_loop.rpt b/swmmio/tests/data/Example1_parallel_loop.rpt index eb88b38..8104458 100644 --- a/swmmio/tests/data/Example1_parallel_loop.rpt +++ b/swmmio/tests/data/Example1_parallel_loop.rpt @@ -342,6 +342,6 @@ LOOP 0.029 144.551 - Analysis begun on: Thu Dec 22 16:41:25 2022 - Analysis ended on: Thu Dec 22 16:41:25 2022 + Analysis begun on: Thu Dec 29 20:51:07 2022 + Analysis ended on: Thu Dec 29 20:51:07 2022 Total elapsed time: < 1 sec \ No newline at end of file diff --git a/swmmio/tests/data/Example6.inp b/swmmio/tests/data/Example6.inp index 0e3bcb8..ac1763a 100644 --- a/swmmio/tests/data/Example6.inp +++ b/swmmio/tests/data/Example6.inp @@ -26,7 +26,7 @@ DRY_DAYS 0 REPORT_STEP 00:07:30 WET_STEP 00:05:00 DRY_STEP 01:00:00 -ROUTING_STEP 0:00:05 +ROUTING_STEP 0:00:05 INERTIAL_DAMPING PARTIAL NORMAL_FLOW_LIMITED BOTH @@ -48,79 +48,79 @@ CONSTANT 0.0 DRY_ONLY NO [JUNCTIONS] -;;Name Elevation MaxDepth InitDepth SurDepth Aponded +;;Name Elevation MaxDepth InitDepth SurDepth Aponded ;;-------------- ---------- ---------- ---------- ---------- ---------- -Outlet 868 0 0 0 0 +Outlet 868 15 0 0 0 [OUTFALLS] -;;Name Elevation Type Stage Data Gated Route To +;;Name Elevation Type Stage Data Gated Route To ;;-------------- ---------- ---------- ---------------- -------- ---------------- -TailWater 858 FIXED 859.5 NO +TailWater 858 FIXED 859.5 NO [STORAGE] -;;Name Elev. MaxDepth InitDepth Shape Curve Name/Params N/A Fevap Psi Ksat IMD +;;Name Elev. MaxDepth InitDepth Shape Curve Name/Params N/A Fevap Psi Ksat IMD ;;-------------- -------- ---------- ----------- ---------- ---------------------------- -------- -------- -------- -------- -Inlet 878 9 0 TABULAR StorageCurve 0 0 +Inlet 878 9 0 TABULAR StorageCurve 0 0 [CONDUITS] -;;Name From Node To Node Length Roughness InOffset OutOffset InitFlow MaxFlow +;;Name From Node To Node Length Roughness InOffset OutOffset InitFlow MaxFlow ;;-------------- ---------------- ---------------- ---------- ---------- ---------- ---------- ---------- ---------- -Culvert Inlet Outlet 200 0.014 0 0 0 0 -Channel Outlet TailWater 200 0.03 0 0 0 0 +Culvert Inlet Outlet 200 0.014 0 0 0 0 +Channel Outlet TailWater 200 0.03 0 0 0 0 [WEIRS] -;;Name From Node To Node Type CrestHt Qcoeff Gated EndCon EndCoeff Surcharge RoadWidth RoadSurf +;;Name From Node To Node Type CrestHt Qcoeff Gated EndCon EndCoeff Surcharge RoadWidth RoadSurf ;;-------------- ---------------- ---------------- ------------ ---------- ---------- -------- -------- ---------- ---------- ---------- ---------- -Roadway Inlet Outlet ROADWAY 9 3.33 NO 0 0 NO 40 GRAVEL +Roadway Inlet Outlet ROADWAY 5 3.33 NO 0 0 NO 40 GRAVEL [XSECTIONS] -;;Link Shape Geom1 Geom2 Geom3 Geom4 Barrels Culvert +;;Link Shape Geom1 Geom2 Geom3 Geom4 Barrels Culvert ;;-------------- ------------ ---------------- ---------- ---------- ---------- ---------- ---------- -Culvert CIRCULAR 3 0 0 0 2 4 -Channel TRAPEZOIDAL 9 10 2 2 1 -Roadway RECT_OPEN 50 200 0 0 +Culvert CIRCULAR 3 0 0 0 2 4 +Channel TRAPEZOIDAL 9 10 2 2 1 +Roadway RECT_OPEN 50 200 0 0 [INFLOWS] ;;Node Constituent Time Series Type Mfactor Sfactor Baseline Pattern ;;-------------- ---------------- ---------------- -------- -------- -------- -------- -------- -Inlet FLOW Inflow FLOW 1.0 1.0 +Inlet FLOW Inflow FLOW 1.0 1.0 [CURVES] -;;Name Type X-Value Y-Value +;;Name Type X-Value Y-Value ;;-------------- ---------- ---------- ---------- -StorageCurve Storage 0 0 -StorageCurve 2 9583 -StorageCurve 4 33977 -StorageCurve 6 72310 -StorageCurve 8 136778 +StorageCurve Storage 0 0 +StorageCurve 2 9583 +StorageCurve 4 33977 +StorageCurve 6 72310 +StorageCurve 8 136778 [TIMESERIES] -;;Name Date Time Value +;;Name Date Time Value ;;-------------- ---------- ---------- ---------- -Inflow 0 0 -Inflow .125 9 -Inflow .25 10 -Inflow .375 11 -Inflow .5 13 -Inflow .625 17 -Inflow .75 28 -Inflow .875 40 -Inflow 1 80 -Inflow 1.125 136 -Inflow 1.25 190 -Inflow 1.375 220 -Inflow 1.5 220 -Inflow 1.625 201 -Inflow 1.75 170 -Inflow 1.875 140 -Inflow 2 120 -Inflow 2.125 98 -Inflow 2.25 82 -Inflow 2.375 70 -Inflow 2.5 60 -Inflow 2.625 53 -Inflow 2.75 47 -Inflow 2.875 41 +Inflow 0 0 +Inflow .125 9 +Inflow .25 10 +Inflow .375 11 +Inflow .5 13 +Inflow .625 17 +Inflow .75 28 +Inflow .875 40 +Inflow 1 80 +Inflow 1.125 136 +Inflow 1.25 190 +Inflow 1.375 220 +Inflow 1.5 220 +Inflow 1.625 201 +Inflow 1.75 170 +Inflow 1.875 140 +Inflow 2 120 +Inflow 2.125 98 +Inflow 2.25 82 +Inflow 2.375 70 +Inflow 2.5 60 +Inflow 2.625 53 +Inflow 2.75 47 +Inflow 2.875 41 [REPORT] ;;Reporting Options @@ -137,19 +137,18 @@ DIMENSIONS -59.264 5535.422 7089.237 6044.959 Units None [COORDINATES] -;;Node X-Coord Y-Coord +;;Node X-Coord Y-Coord ;;-------------- ------------------ ------------------ -Outlet 4206.542 6357.994 -TailWater 6019.146 6168.726 -Inlet 1628.472 6476.537 +Outlet 4206.542 6357.994 +TailWater 6019.146 6168.726 +Inlet 1628.472 6476.537 [VERTICES] -;;Link X-Coord Y-Coord +;;Link X-Coord Y-Coord ;;-------------- ------------------ ------------------ -Roadway 2311.068 7166.633 -Roadway 3762.491 7151.463 +Roadway 2311.068 7166.633 +Roadway 3762.491 7151.463 [LABELS] -;;X-Coord Y-Coord Label +;;X-Coord Y-Coord Label 1651.426 7755.664 "Circular Culvert with Roadway Overtopping and Upstream Storage" "" "Arial" 12 1 1 - From 3c2c768756d5d6487b0addd451fb052bf9575e2a Mon Sep 17 00:00:00 2001 From: "Bryant E. McDonnell" Date: Thu, 29 Dec 2022 20:59:16 +0100 Subject: [PATCH 16/21] fix --- swmmio/graphics/profiler.py | 2 +- swmmio/tests/data/Example1_parallel_loop.rpt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/swmmio/graphics/profiler.py b/swmmio/graphics/profiler.py index 4cc528c..63ccdd0 100644 --- a/swmmio/graphics/profiler.py +++ b/swmmio/graphics/profiler.py @@ -50,7 +50,7 @@ def build_profile_plot(ax, model, path_selection): rolling_x_pos += DEFAULT_ORIFICE_LENGTH elif links.loc[[link_id]].Type[0] == "PUMP": rolling_x_pos += DEFAULT_PUMP_LENGTH - elif link.loc[[link_id]].Type[0] == "OUTLET": + elif links.loc[[link_id]].Type[0] == "OUTLET": rolling_x_pos += DEFAULT_OUTLET_LENGTH # Plot DS node invert_el = float(nodes.loc[[ds_node]].InvertElev) diff --git a/swmmio/tests/data/Example1_parallel_loop.rpt b/swmmio/tests/data/Example1_parallel_loop.rpt index 8104458..d9eb492 100644 --- a/swmmio/tests/data/Example1_parallel_loop.rpt +++ b/swmmio/tests/data/Example1_parallel_loop.rpt @@ -342,6 +342,6 @@ LOOP 0.029 144.551 - Analysis begun on: Thu Dec 29 20:51:07 2022 - Analysis ended on: Thu Dec 29 20:51:07 2022 + Analysis begun on: Thu Dec 29 20:58:58 2022 + Analysis ended on: Thu Dec 29 20:58:58 2022 Total elapsed time: < 1 sec \ No newline at end of file From ce5215f750562663c8769c824ece7d5d4c4597ee Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Thu, 29 Dec 2022 16:06:28 -0500 Subject: [PATCH 17/21] syntax tweaks in utils.functions --- swmmio/utils/functions.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/swmmio/utils/functions.py b/swmmio/utils/functions.py index d94acfa..c73c23d 100644 --- a/swmmio/utils/functions.py +++ b/swmmio/utils/functions.py @@ -1,10 +1,10 @@ +import warnings import pandas as pd import networkx as nx -import warnings -# from swmmio import get_inp_options_df, INFILTRATION_COLS from swmmio.utils import error + def random_alphanumeric(n=6): import random chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' @@ -12,7 +12,6 @@ def random_alphanumeric(n=6): def model_to_networkx(model, drop_cycles=True): - from swmmio.utils.dataframes import dataframe_from_rpt ''' Networkx MultiDiGraph representation of the model ''' @@ -219,7 +218,7 @@ def trace(node_id): def find_network_trace(model, start_node, end_node, - include_nodes=[], include_links=[]): + include_nodes=None, include_links=None): """ This function searches for a path between two nodes. In addition, since SWMM allows multiple links (edges) between nodes, the user can specify @@ -237,6 +236,9 @@ def find_network_trace(model, start_node, end_node, links = model.links.dataframe model_digraph = model.network + include_nodes = [] if include_nodes is None else include_nodes + include_links = [] if include_links is None else include_links + if str(start_node) not in nodes.index: raise(error.NodeNotInInputFile(start_node)) if str(end_node) not in nodes.index: @@ -267,7 +269,7 @@ def find_network_trace(model, start_node, end_node, path_selection = path_info break - if path_selection == None: - raise(error.NoTraceFound) + if path_selection is None: + raise error.NoTraceFound return path_selection From 1748d2c90af9ffa10b3ed94284ac590e560a9626 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Thu, 29 Dec 2022 16:08:19 -0500 Subject: [PATCH 18/21] add temp unit test duplicate using temp directory --- swmmio/tests/test_graphics.py | 93 +++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 26 deletions(-) diff --git a/swmmio/tests/test_graphics.py b/swmmio/tests/test_graphics.py index 5f3b4ad..76411c5 100644 --- a/swmmio/tests/test_graphics.py +++ b/swmmio/tests/test_graphics.py @@ -29,7 +29,7 @@ def test_draw_model(): def test_draw_red_and_grey_nodes(): m = swmmio.Model(MODEL_FULL_FEATURES__NET_PATH) target_img_pth = os.path.join(DATA_PATH, 'test-draw-model.png') - nodes = m.nodes() + nodes = m.nodes.dataframe nodes['draw_color'] = '#787882' nodes.loc[['J1', 'J2', 'J3'], 'draw_color'] = '#ff0000' nodes['draw_size'] = nodes['InvertElev'] * 3 @@ -40,8 +40,7 @@ def test_draw_red_and_grey_nodes(): def test_web_map_01(): - - m = swmmio.Model(MODEL_A_PATH, crs="EPSG:2817") + m = swmmio.Model(MODEL_A_PATH, crs="EPSG:2817") with tempfile.TemporaryDirectory() as tempdir: fname = os.path.join(tempdir, 'test-map.html') sg.create_map(m, filename=fname) @@ -50,7 +49,6 @@ def test_web_map_01(): def test_centroid_and_bbox_from_coords(): - m = swmmio.Model(MODEL_A_PATH, crs="EPSG:2817") m.to_crs("EPSG:4326") @@ -64,7 +62,6 @@ def test_centroid_and_bbox_from_coords(): def test_change_crs(): - m = swmmio.Model(MODEL_A_PATH, crs="EPSG:2817") v1 = m.inp.vertices v2 = change_crs(m.inp.vertices, m.crs, "WGS84") @@ -82,27 +79,28 @@ def test_change_crs(): profile_selection_assert = \ -{ -'nodes': - [{'id_name': '9', 'rolling_x_pos': 0.0, 'invert_el': 1000.0}, - {'id_name': '10', 'rolling_x_pos': 400.0, 'invert_el': 995.0}, - {'id_name': '21', 'rolling_x_pos': 800.0, 'invert_el': 990.0}, - {'id_name': '24', 'rolling_x_pos': 1300.0, 'invert_el': 984.0}, - {'id_name': '17', 'rolling_x_pos': 1700.0, 'invert_el': 980.0}, - {'id_name': '18', 'rolling_x_pos': 2100.0, 'invert_el': 975.0}], -'links': - [{'id_name': '1', 'rolling_x_pos': 200.0, 'midpoint_bottom': 997.5}, - {'id_name': '6', 'rolling_x_pos': 600.0, 'midpoint_bottom': 993.0}, - {'id_name': 'LOOP', 'rolling_x_pos': 1050.0, 'midpoint_bottom': 987.0}, - {'id_name': '16', 'rolling_x_pos': 1500.0, 'midpoint_bottom': 982.0}, - {'id_name': '10', 'rolling_x_pos': 1900.0, 'midpoint_bottom': 977.5}], -'path_selection': - [('9', '10', '1'), - ('10', '21', '6'), - ('21', '24', 'LOOP'), - ('24', '17', '16'), - ('17', '18', '10')] -} + { + 'nodes': + [{'id_name': '9', 'rolling_x_pos': 0.0, 'invert_el': 1000.0}, + {'id_name': '10', 'rolling_x_pos': 400.0, 'invert_el': 995.0}, + {'id_name': '21', 'rolling_x_pos': 800.0, 'invert_el': 990.0}, + {'id_name': '24', 'rolling_x_pos': 1300.0, 'invert_el': 984.0}, + {'id_name': '17', 'rolling_x_pos': 1700.0, 'invert_el': 980.0}, + {'id_name': '18', 'rolling_x_pos': 2100.0, 'invert_el': 975.0}], + 'links': + [{'id_name': '1', 'rolling_x_pos': 200.0, 'midpoint_bottom': 997.5}, + {'id_name': '6', 'rolling_x_pos': 600.0, 'midpoint_bottom': 993.0}, + {'id_name': 'LOOP', 'rolling_x_pos': 1050.0, 'midpoint_bottom': 987.0}, + {'id_name': '16', 'rolling_x_pos': 1500.0, 'midpoint_bottom': 982.0}, + {'id_name': '10', 'rolling_x_pos': 1900.0, 'midpoint_bottom': 977.5}], + 'path_selection': + [('9', '10', '1'), + ('10', '21', '6'), + ('21', '24', 'LOOP'), + ('24', '17', '16'), + ('17', '18', '10')] + } + def test_profile(): mdl = MODEL_EX_1_PARALLEL_LOOP @@ -138,3 +136,46 @@ def test_profile(): fig.tight_layout() plt.savefig("test.pdf") plt.close() + + +def test_profile_2(): + with tempfile.TemporaryDirectory() as tempdir: + # instantiate a swmmio model object, save copy in temp dir + temp_model_path = os.path.join(tempdir, 'model.inp') + temp_pdf_path = os.path.join(tempdir, 'test.pdf') + mymodel = swmmio.Model(MODEL_EX_1_PARALLEL_LOOP) + mymodel.inp.save(temp_model_path) + + with pyswmm.Simulation(temp_model_path) as sim: + for step in sim: + pass + # instantiate a swmmio model object + mymodel = swmmio.Model(temp_model_path) + + depths = mymodel.rpt.node_depth_summary.MaxNodeDepthReported + + fig = plt.figure(figsize=(11, 8)) + fig.suptitle("TEST") + ax = fig.add_subplot(2, 1, 1) + path_selection = find_network_trace(mymodel, '9', '18', include_links=["LOOP"]) + profile_config = build_profile_plot(ax, mymodel, path_selection) + assert (profile_config == profile_selection_assert) + add_hgl_plot(ax, profile_config, depth=depths, label="Max HGL") + add_node_labels_plot(ax, mymodel, profile_config) + add_link_labels_plot(ax, mymodel, profile_config) + leg = ax.legend() + ax.grid('xy') + + ax2 = fig.add_subplot(2, 1, 2) + path_selection = find_network_trace(mymodel, '19', '18', include_nodes=['22']) + profile_config = build_profile_plot(ax2, mymodel, path_selection) + add_hgl_plot(ax2, profile_config, depth=depths, label="Max HGL") + add_node_labels_plot(ax2, mymodel, profile_config) + add_link_labels_plot(ax2, mymodel, profile_config) + leg = ax2.legend() + ax2.grid('xy') + + fig.tight_layout() + plt.savefig(temp_pdf_path) + plt.close() + assert (os.path.exists(temp_pdf_path)) From c739da8e5ecb9008352d116b13c5647f08b2d858 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Thu, 29 Dec 2022 16:12:56 -0500 Subject: [PATCH 19/21] syntax tweaks in test_functions --- swmmio/tests/test_functions.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/swmmio/tests/test_functions.py b/swmmio/tests/test_functions.py index 5cfbcf1..81db0b1 100644 --- a/swmmio/tests/test_functions.py +++ b/swmmio/tests/test_functions.py @@ -1,11 +1,9 @@ import pytest import swmmio from swmmio.tests.data import (MODEL_FULL_FEATURES__NET_PATH, - OWA_RPT_EXAMPLE, RPT_FULL_FEATURES, - MODEL_EX_1_PARALLEL_LOOP, - MODEL_EX_1) -from swmmio.utils.functions import (format_inp_section_header, - find_network_trace) + OWA_RPT_EXAMPLE, RPT_FULL_FEATURES, + MODEL_EX_1_PARALLEL_LOOP, MODEL_EX_1) +from swmmio.utils.functions import format_inp_section_header, find_network_trace from swmmio.utils import error from swmmio.utils.text import get_rpt_metadata @@ -47,7 +45,7 @@ def test_model_to_networkx(): assert (G['J1']['J2']['C1:C2']['Length'] == 244.63) assert (round(G.nodes['J2']['InvertElev'], 3) == 13.0) - links = m.links() + links = m.links.dataframe assert(len(links) == len(G.edges())) @@ -55,13 +53,13 @@ def test_network_trace_loop(): m = swmmio.Model(MODEL_EX_1_PARALLEL_LOOP) start_node = "9" end_node = "18" - path_selection = find_network_trace(m, start_node, end_node, \ - include_nodes=[], \ + path_selection = find_network_trace(m, start_node, end_node, + include_nodes=[], include_links=["LOOP"]) - correct_path = [('9', '10', '1'),\ - ('10', '21', '6'),\ - ('21', '24', 'LOOP'),\ - ('24', '17', '16'),\ + correct_path = [('9', '10', '1'), + ('10', '21', '6'), + ('21', '24', 'LOOP'), + ('24', '17', '16'), ('17', '18', '10')] assert (path_selection == correct_path) @@ -96,6 +94,6 @@ def test_network_trace_bad_include_node(): start_node = "9" end_node = "18" with pytest.raises(error.NodeNotInInputFile): - path_selection = find_network_trace(m, start_node, \ - end_node, \ + path_selection = find_network_trace(m, start_node, + end_node, include_nodes=["1000"]) From 0d0735dfc823b152e201690416b5383d1a4bdd90 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Thu, 29 Dec 2022 16:14:21 -0500 Subject: [PATCH 20/21] rm Example1_parallel_loop.out and Example1_parallel_loop.rpt --- swmmio/tests/data/Example1_parallel_loop.out | Bin 45202 -> 0 bytes swmmio/tests/data/Example1_parallel_loop.rpt | 347 ------------------- 2 files changed, 347 deletions(-) delete mode 100644 swmmio/tests/data/Example1_parallel_loop.out delete mode 100644 swmmio/tests/data/Example1_parallel_loop.rpt diff --git a/swmmio/tests/data/Example1_parallel_loop.out b/swmmio/tests/data/Example1_parallel_loop.out deleted file mode 100644 index 2fe70cf5f0b2f4b6670aba825bb2ae942e592540..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45202 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 WvTiKkjjR8vm##M#@ diff --git a/swmmio/tests/data/Example1_parallel_loop.rpt b/swmmio/tests/data/Example1_parallel_loop.rpt deleted file mode 100644 index d9eb492..0000000 --- a/swmmio/tests/data/Example1_parallel_loop.rpt +++ /dev/null @@ -1,347 +0,0 @@ - - OWA STORM WATER MANAGEMENT MODEL - VERSION v5.1.14 (OWA 2022-07-31) - -------------------------------------------------------------- - - Example 1 - - - ********************************************************* - NOTE: The summary statistics displayed in this report are - based on results found at every computational time step, - not just on results from each reporting time step. - ********************************************************* - - **************** - Analysis Options - **************** - Flow Units ............... CFS - Process Models: - Rainfall/Runoff ........ YES - RDII ................... NO - Snowmelt ............... NO - Groundwater ............ NO - Flow Routing ........... YES - Ponding Allowed ........ NO - Water Quality .......... YES - Infiltration Method ...... HORTON - Flow Routing Method ...... DYNWAVE - Surcharge Method ......... EXTRAN - Starting Date ............ 01/01/1998 00:00:00 - Ending Date .............. 01/02/1998 12:00:00 - Antecedent Dry Days ...... 5.0 - Report Time Step ......... 01:00:00 - Wet Time Step ............ 00:15:00 - Dry Time Step ............ 01:00:00 - Routing Time Step ........ 60.00 sec - Variable Time Step ....... YES - Maximum Trials ........... 8 - Number of Threads ........ 1 - Head Tolerance ........... 0.005000 ft - - - ************************** Volume Depth - Runoff Quantity Continuity acre-feet inches - ************************** --------- ------- - Total Precipitation ...... 15.679 2.650 - Evaporation Loss ......... 0.000 0.000 - Infiltration Loss ........ 9.346 1.580 - Surface Runoff ........... 6.295 1.064 - Final Storage ............ 0.081 0.014 - Continuity Error (%) ..... -0.272 - - - ************************** Lead TSS - Runoff Quality Continuity lbs lbs - ************************** ---------- ---------- - Initial Buildup .......... 0.000 3433.036 - Surface Buildup .......... 0.086 312.924 - Wet Deposition ........... 0.000 0.000 - Sweeping Removal ......... 0.000 0.000 - Infiltration Loss ........ 0.000 0.000 - BMP Removal .............. 0.000 0.000 - Surface Runoff ........... 0.086 431.367 - Remaining Buildup ........ 0.000 3314.593 - Continuity Error (%) ..... 0.000 0.000 - - - ************************** Volume Volume - Flow Routing Continuity acre-feet 10^6 gal - ************************** --------- --------- - Dry Weather Inflow ....... 0.000 0.000 - Wet Weather Inflow ....... 6.294 2.051 - Groundwater Inflow ....... 0.000 0.000 - RDII Inflow .............. 0.000 0.000 - External Inflow .......... 0.000 0.000 - External Outflow ......... 6.061 1.975 - Flooding Loss ............ 0.232 0.076 - Evaporation Loss ......... 0.000 0.000 - Exfiltration Loss ........ 0.000 0.000 - Initial Stored Volume .... 0.000 0.000 - Final Stored Volume ...... 0.000 0.000 - Continuity Error (%) ..... 0.007 - - - ************************** Lead TSS - Quality Routing Continuity lbs lbs - ************************** ---------- ---------- - Dry Weather Inflow ....... 0.000 0.000 - Wet Weather Inflow ....... 0.086 431.260 - Groundwater Inflow ....... 0.000 0.000 - RDII Inflow .............. 0.000 0.000 - External Inflow .......... 0.000 0.000 - External Outflow ......... 0.084 418.831 - Flooding Loss ............ 0.002 12.320 - Exfiltration Loss ........ 0.000 0.000 - Mass Reacted ............. 0.000 0.000 - Initial Stored Mass ...... 0.000 0.000 - Final Stored Mass ........ 0.000 0.008 - Continuity Error (%) ..... 0.023 0.023 - - - *************************** - Time-Step Critical Elements - *************************** - Link 15 (83.34%) - - - ******************************** - Highest Flow Instability Indexes - ******************************** - All links are stable. - - - ************************* - Routing Time Step Summary - ************************* - Minimum Time Step : 4.70 sec - Average Time Step : 23.75 sec - Maximum Time Step : 60.00 sec - Percent in Steady State : -0.00 - Average Iterations per Step : 2.03 - Percent Not Converging : 0.07 - - - *************************** - Subcatchment Runoff Summary - *************************** - - ------------------------------------------------------------------------------------------------------------------------------ - Total Total Total Total Imperv Perv Total Total Peak Runoff - Precip Runon Evap Infil Runoff Runoff Runoff Runoff Runoff Coeff - Subcatchment in in in in in in in 10^6 gal CFS - ------------------------------------------------------------------------------------------------------------------------------ - 1 2.65 0.00 0.00 1.16 1.32 0.17 1.48 0.40 4.66 0.559 - 2 2.65 0.00 0.00 1.21 1.32 0.11 1.43 0.39 4.52 0.539 - 3 2.65 0.00 0.00 1.16 1.32 0.17 1.49 0.20 2.45 0.561 - 4 2.65 0.00 0.00 1.16 1.32 0.17 1.49 0.20 2.45 0.561 - 5 2.65 0.00 0.00 1.24 1.31 0.09 1.40 0.57 6.56 0.528 - 6 2.65 0.00 0.00 2.27 0.26 0.12 0.38 0.12 1.50 0.143 - 7 2.65 0.00 0.00 2.14 0.26 0.25 0.51 0.06 0.79 0.194 - 8 2.65 0.00 0.00 2.25 0.26 0.13 0.40 0.11 1.33 0.150 - - - **************************** - Subcatchment Washoff Summary - **************************** - - ------------------------------------------------ - Lead TSS - Subcatchment lbs lbs - ------------------------------------------------ - 1 0.010 50.074 - 2 0.018 90.586 - 3 0.005 25.144 - 4 0.009 46.097 - 5 0.014 71.172 - 6 0.013 65.843 - 7 0.005 26.025 - 8 0.011 56.427 - ------------------------------------------------ - System 0.086 431.367 - - - ****************** - Node Depth Summary - ****************** - - --------------------------------------------------------------------------------- - Average Maximum Maximum Time of Max Reported - Depth Depth HGL Occurrence Max Depth - Node Type Feet Feet Feet days hr:min Feet - --------------------------------------------------------------------------------- - 10 JUNCTION 0.79 3.00 998.00 0 03:03 3.00 - 13 JUNCTION 0.16 0.41 995.41 0 04:00 0.41 - 14 JUNCTION 0.18 0.46 990.46 0 04:00 0.46 - 15 JUNCTION 0.43 1.15 988.15 0 04:00 1.15 - 16 JUNCTION 0.36 0.96 985.96 0 04:00 0.96 - 17 JUNCTION 0.46 1.11 981.11 0 04:01 1.11 - 19 JUNCTION 0.08 0.23 1010.23 0 04:00 0.23 - 20 JUNCTION 0.06 0.17 1005.17 0 04:00 0.17 - 21 JUNCTION 0.49 1.30 991.30 0 04:01 1.30 - 22 JUNCTION 0.19 0.54 987.54 0 04:00 0.54 - 23 JUNCTION 0.14 0.35 990.35 0 04:00 0.35 - 24 JUNCTION 0.49 1.20 985.20 0 04:00 1.20 - 9 JUNCTION 0.23 0.57 1000.57 0 04:00 0.57 - 18 OUTFALL 0.45 1.11 976.11 0 04:01 1.11 - - - ******************* - Node Inflow Summary - ******************* - - ------------------------------------------------------------------------------------------------- - Maximum Maximum Lateral Total Flow - Lateral Total Time of Max Inflow Inflow Balance - Inflow Inflow Occurrence Volume Volume Error - Node Type CFS CFS days hr:min 10^6 gal 10^6 gal Percent - ------------------------------------------------------------------------------------------------- - 10 JUNCTION 4.52 9.18 0 04:00 0.388 0.79 0.004 - 13 JUNCTION 2.45 2.45 0 04:00 0.202 0.202 -0.018 - 14 JUNCTION 0.00 2.45 0 04:00 0 0.202 0.009 - 15 JUNCTION 6.56 9.00 0 04:00 0.57 0.772 0.006 - 16 JUNCTION 0.00 12.88 0 04:00 0 1.03 0.008 - 17 JUNCTION 0.00 19.48 0 04:01 0 1.87 0.011 - 19 JUNCTION 0.79 0.79 0 04:00 0.0558 0.0558 -0.009 - 20 JUNCTION 0.00 0.79 0 04:00 0 0.0559 -0.010 - 21 JUNCTION 0.00 6.58 0 04:00 0 0.77 -0.006 - 22 JUNCTION 2.45 3.90 0 04:00 0.202 0.255 -0.024 - 23 JUNCTION 1.50 1.50 0 04:00 0.124 0.124 -0.043 - 24 JUNCTION 0.00 19.48 0 04:00 0 1.87 0.005 - 9 JUNCTION 4.66 4.66 0 04:00 0.402 0.402 -0.005 - 18 OUTFALL 1.33 20.78 0 04:01 0.108 1.97 0.000 - - - ********************** - Node Surcharge Summary - ********************** - - Surcharging occurs when water rises above the top of the highest conduit. - --------------------------------------------------------------------- - Max. Height Min. Depth - Hours Above Crown Below Rim - Node Type Surcharged Feet Feet - --------------------------------------------------------------------- - 10 JUNCTION 2.05 1.500 0.000 - - - ********************* - Node Flooding Summary - ********************* - - Flooding refers to all water that overflows a node, whether it ponds or not. - -------------------------------------------------------------------------- - Total Maximum - Maximum Time of Max Flood Ponded - Hours Rate Occurrence Volume Depth - Node Flooded CFS days hr:min 10^6 gal Feet - -------------------------------------------------------------------------- - 10 1.18 3.38 0 04:00 0.076 0.000 - - - *********************** - Outfall Loading Summary - *********************** - - --------------------------------------------------------------------------------------- - Flow Avg Max Total Total Total - Freq Flow Flow Volume Lead TSS - Outfall Node Pcnt CFS CFS 10^6 gal lbs lbs - --------------------------------------------------------------------------------------- - 18 88.91 7.16 20.78 1.975 0.084 418.811 - --------------------------------------------------------------------------------------- - System 88.91 7.16 20.78 1.975 0.084 418.811 - - - ******************** - Link Flow Summary - ******************** - - ----------------------------------------------------------------------------- - Maximum Time of Max Maximum Max/ Max/ - |Flow| Occurrence |Veloc| Full Full - Link Type CFS days hr:min ft/sec Flow Depth - ----------------------------------------------------------------------------- - 1 CONDUIT 4.65 0 04:00 3.58 0.30 0.69 - 10 CONDUIT 19.48 0 04:01 10.90 0.59 0.55 - 11 CONDUIT 2.45 0 04:00 5.77 0.16 0.29 - 12 CONDUIT 2.44 0 04:00 2.54 0.21 0.54 - 13 CONDUIT 8.99 0 04:00 6.78 0.93 0.70 - 14 CONDUIT 1.49 0 04:00 3.65 0.26 0.68 - 15 CONDUIT 12.88 0 04:00 7.45 0.44 0.54 - 16 CONDUIT 19.48 0 04:01 10.38 0.66 0.58 - 4 CONDUIT 0.79 0 04:00 7.02 0.11 0.20 - 5 CONDUIT 0.79 0 04:00 1.86 0.06 0.58 - 6 CONDUIT 5.79 0 03:22 7.43 1.25 0.97 - 7 CONDUIT 1.46 0 04:01 4.87 0.05 0.15 - 8 CONDUIT 3.90 0 04:00 3.61 0.16 0.38 - LOOP CONDUIT 5.44 0 03:02 7.50 1.07 1.00 - - - *************************** - Flow Classification Summary - *************************** - - ------------------------------------------------------------------------------------- - Adjusted ---------- Fraction of Time in Flow Class ---------- - /Actual Up Down Sub Sup Up Down Norm Inlet - Conduit Length Dry Dry Dry Crit Crit Crit Crit Ltd Ctrl - ------------------------------------------------------------------------------------- - 1 1.00 0.01 0.00 0.00 0.69 0.30 0.00 0.00 0.97 0.00 - 10 1.00 0.01 0.00 0.00 0.00 0.99 0.00 0.00 0.13 0.00 - 11 1.00 0.01 0.01 0.00 0.27 0.71 0.00 0.00 0.91 0.00 - 12 1.00 0.01 0.03 0.00 0.96 0.00 0.00 0.00 0.97 0.00 - 13 1.00 0.01 0.00 0.00 0.17 0.82 0.00 0.00 0.01 0.00 - 14 1.00 0.01 0.03 0.00 0.95 0.01 0.00 0.00 0.97 0.00 - 15 1.00 0.01 0.00 0.00 0.25 0.74 0.00 0.00 0.88 0.00 - 16 1.00 0.01 0.00 0.00 0.15 0.84 0.00 0.00 0.58 0.00 - 4 1.00 0.02 0.01 0.00 0.29 0.68 0.00 0.00 0.05 0.00 - 5 1.00 0.01 0.25 0.00 0.73 0.00 0.00 0.00 0.97 0.00 - 6 1.00 0.01 0.00 0.00 0.00 0.00 0.00 0.99 0.00 0.00 - 7 1.00 0.79 0.00 0.00 0.00 0.00 0.00 0.21 0.00 0.00 - 8 1.00 0.01 0.00 0.00 0.98 0.01 0.00 0.00 0.97 0.00 - LOOP 1.00 0.01 0.00 0.00 0.35 0.63 0.00 0.00 0.91 0.00 - - - ************************* - Conduit Surcharge Summary - ************************* - - ---------------------------------------------------------------------------- - Hours Hours - --------- Hours Full -------- Above Full Capacity - Conduit Both Ends Upstream Dnstream Normal Flow Limited - ---------------------------------------------------------------------------- - 1 0.01 0.01 2.05 0.01 0.01 - 14 0.01 0.01 1.16 0.01 0.01 - 5 0.01 0.01 2.14 0.01 0.01 - 6 0.01 2.47 0.01 2.86 0.01 - LOOP 1.16 2.14 1.16 2.65 1.16 - - - *************************** - Link Pollutant Load Summary - *************************** - - ------------------------------------------------ - Lead TSS - Link lbs lbs - ------------------------------------------------ - 1 0.010 50.114 - 10 0.072 362.395 - 11 0.005 25.155 - 12 0.005 25.178 - 13 0.019 96.337 - 14 0.013 65.856 - 15 0.030 152.137 - 16 0.072 362.406 - 4 0.005 26.019 - 5 0.005 26.047 - 6 0.026 128.306 - 7 0.002 9.848 - 8 0.011 55.888 - LOOP 0.029 144.551 - - - Analysis begun on: Thu Dec 29 20:58:58 2022 - Analysis ended on: Thu Dec 29 20:58:58 2022 - Total elapsed time: < 1 sec \ No newline at end of file From 83a598d60262d9cca5f112eae1b84982868350f8 Mon Sep 17 00:00:00 2001 From: Adam Erispaha Date: Thu, 29 Dec 2022 16:24:37 -0500 Subject: [PATCH 21/21] refactor test_profile such that it doesn't leave .out and .rpt artifacts --- swmmio/tests/test_graphics.py | 38 +---------------------------------- 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/swmmio/tests/test_graphics.py b/swmmio/tests/test_graphics.py index 76411c5..3f5063b 100644 --- a/swmmio/tests/test_graphics.py +++ b/swmmio/tests/test_graphics.py @@ -8,7 +8,7 @@ from swmmio.tests.data import (DATA_PATH, MODEL_FULL_FEATURES_XY, MODEL_FULL_FEATURES__NET_PATH, MODEL_A_PATH, - MODEL_EX_1_PARALLEL_LOOP, MODEL_EXAMPLE6) + MODEL_EX_1_PARALLEL_LOOP) import swmmio from swmmio.graphics import swmm_graphics as sg from swmmio.utils.spatial import centroid_and_bbox_from_coords, change_crs @@ -103,42 +103,6 @@ def test_change_crs(): def test_profile(): - mdl = MODEL_EX_1_PARALLEL_LOOP - with pyswmm.Simulation(mdl) as sim: - for step in sim: - pass - #instantiate a swmmio model object - mymodel = swmmio.Model(mdl) - - depths = mymodel.rpt.node_depth_summary.MaxNodeDepthReported - - fig = plt.figure(figsize=(11,8)) - fig.suptitle("TEST") - ax = fig.add_subplot(2,1,1) - path_selection = find_network_trace(mymodel, '9', '18', include_links=["LOOP"]) - profile_config = build_profile_plot(ax, mymodel, path_selection) - assert(profile_config == profile_selection_assert) - add_hgl_plot(ax, profile_config, depth=depths, label="Max HGL") - add_node_labels_plot(ax, mymodel, profile_config) - add_link_labels_plot(ax, mymodel, profile_config) - leg = ax.legend() - ax.grid('xy') - - ax2 = fig.add_subplot(2,1,2) - path_selection = find_network_trace(mymodel, '19', '18', include_nodes=['22']) - profile_config = build_profile_plot(ax2, mymodel, path_selection) - add_hgl_plot(ax2, profile_config, depth=depths, label="Max HGL") - add_node_labels_plot(ax2, mymodel, profile_config) - add_link_labels_plot(ax2, mymodel, profile_config) - leg = ax2.legend() - ax2.grid('xy') - - fig.tight_layout() - plt.savefig("test.pdf") - plt.close() - - -def test_profile_2(): with tempfile.TemporaryDirectory() as tempdir: # instantiate a swmmio model object, save copy in temp dir temp_model_path = os.path.join(tempdir, 'model.inp')