From ef5f9a456c9b4aecb3e4a32fd9674e336e771c54 Mon Sep 17 00:00:00 2001 From: a-urq Date: Fri, 29 Mar 2024 20:32:39 -0500 Subject: [PATCH] Added accurate ECAPE to Sounding Viewer module. --- bin/com/ameliaWx/radarView/ColorTable.class | Bin 0 -> 17671 bytes bin/com/ameliaWx/radarView/RadarData.class | Bin 31016 -> 31016 bytes .../radarView/RadarDealiasingTest$1.class | Bin 590 -> 590 bytes .../radarView/RadarDealiasingTest$2.class | Bin 590 -> 590 bytes .../radarView/RadarDealiasingTest$3.class | Bin 590 -> 590 bytes .../radarView/RadarDealiasingTest.class | Bin 37530 -> 37608 bytes .../ameliaWx/radarView/RadarMapInset.class | Bin 15993 -> 16057 bytes bin/com/ameliaWx/radarView/RadarPanel$1.class | Bin 1137 -> 1137 bytes bin/com/ameliaWx/radarView/RadarPanel$2.class | Bin 1136 -> 1136 bytes bin/com/ameliaWx/radarView/RadarPanel$3.class | Bin 9653 -> 9617 bytes bin/com/ameliaWx/radarView/RadarPanel$4.class | Bin 2169 -> 2169 bytes bin/com/ameliaWx/radarView/RadarPanel.class | Bin 42140 -> 42388 bytes bin/com/ameliaWx/radarView/RadarSite.class | Bin 5962 -> 5978 bytes bin/com/ameliaWx/radarView/RadarView$1.class | Bin 1901 -> 1964 bytes bin/com/ameliaWx/radarView/RadarView$2.class | Bin 2305 -> 625 bytes bin/com/ameliaWx/radarView/RadarView$3.class | Bin 994 -> 2305 bytes bin/com/ameliaWx/radarView/RadarView$4.class | Bin 1836 -> 994 bytes bin/com/ameliaWx/radarView/RadarView$5.class | Bin 1064 -> 1836 bytes bin/com/ameliaWx/radarView/RadarView$6.class | Bin 0 -> 1064 bytes .../radarView/RadarView$AnimateThread$1.class | Bin 1275 -> 1275 bytes .../radarView/RadarView$AnimateThread.class | Bin 796 -> 796 bytes .../RadarView$CheckOnlineThread$1.class | Bin 1040 -> 1040 bytes .../RadarView$CheckOnlineThread.class | Bin 5141 -> 5141 bytes .../radarView/RadarView$RVGraphics.class | Bin 14306 -> 14094 bytes .../radarView/RadarView$RVKeyListener$1.class | Bin 1503 -> 1503 bytes .../radarView/RadarView$RVKeyListener$2.class | Bin 969 -> 969 bytes .../radarView/RadarView$RVKeyListener$3.class | Bin 1115 -> 1115 bytes .../radarView/RadarView$RVKeyListener.class | Bin 6873 -> 6873 bytes .../RadarView$RVMouseListener$1.class | Bin 999 -> 999 bytes .../RadarView$RVMouseListener$2.class | Bin 2718 -> 2718 bytes .../radarView/RadarView$RVMouseListener.class | Bin 6204 -> 6218 bytes .../RadarView$RVMouseMotionListener.class | Bin 2876 -> 2876 bytes .../RadarView$RVMouseWheelListener.class | Bin 1585 -> 1585 bytes .../RadarView$RefreshTimerThread$1.class | Bin 1281 -> 1281 bytes ...freshTimerThread$RefreshWorkerThread.class | Bin 2993 -> 2993 bytes .../RadarView$RefreshTimerThread.class | Bin 1259 -> 1259 bytes bin/com/ameliaWx/radarView/RadarView.class | Bin 65246 -> 66071 bytes .../EquirectangularProjection.class | Bin 0 -> 993 bytes .../LambertConformalProjection.class | Bin 0 -> 2679 bytes .../mapProjections/MapProjection.class | Bin 0 -> 1075 bytes .../PolarStereographicProjection.class | Bin 0 -> 2289 bytes .../mapProjections/RadialProjection.class | Bin 0 -> 1009 bytes .../nwpModel/HrrrAkSubhourlyModel.class | Bin 9224 -> 9266 bytes .../radarView/nwpModel/HrrrModel.class | Bin 6991 -> 7031 bytes .../nwpModel/HrrrSubhourlyModel.class | Bin 9950 -> 9992 bytes .../radarView/nwpModel/HybridModel.class | Bin 5875 -> 5939 bytes .../radarView/nwpModel/RapInterpModel.class | Bin 11424 -> 11424 bytes .../radarView/nwpModel/RapModel.class | Bin 14961 -> 15183 bytes .../nwpModel/test/NwpModelTest.class | Bin 22731 -> 22817 bytes .../ameliaWx/radarView/res/UbuntuMono-B.ttf | Bin 0 -> 191400 bytes .../radarView/res/colortables/aru/aruCrcf.pal | 24 + .../radarView/res/colortables/aru/aruDphs.pal | 21 + .../radarView/res/colortables/aru/aruDrfl.pal | 24 + .../radarView/res/colortables/aru/aruKdp.pal | 23 + .../colortables/aru/aruPrecipDepiction.pal | 36 + .../radarView/res/colortables/aru/aruPwat.pal | 23 + .../res/colortables/aru/aruRefl-12Ptypes.pal | 77 ++ .../res/colortables/aru/aruRefl-3Ptypes.pal | 39 + .../res/colortables/aru/aruRefl-4Ptypes.pal | 44 + .../radarView/res/colortables/aru/aruRefl.pal | 24 + .../res/colortables/aru/aruReflFrzr.pal | 18 + .../res/colortables/aru/aruReflHighSat.pal | 27 + .../aru/aruReflHighSatLowFilter.pal | 25 + .../res/colortables/aru/aruReflIcep.pal | 17 + .../res/colortables/aru/aruReflLowFilter.pal | 23 + .../res/colortables/aru/aruReflMix.pal | 19 + .../res/colortables/aru/aruReflSimple.pal | 22 + .../res/colortables/aru/aruReflSnow.pal | 19 + .../radarView/res/colortables/aru/aruSpwd.pal | 23 + .../radarView/res/colortables/aru/aruTmp.pal | 31 + .../radarView/res/colortables/aru/aruVlcy.pal | 28 + .../awips/refl-awips-neon-2015.pal | 24 + .../res/colortables/awips/refl-awips.pal | 18 + src/com/ameliaWx/radarView/ColorTable.java | 823 ++++++++++++++++++ src/com/ameliaWx/radarView/RadarData.java | 2 +- .../radarView/RadarDealiasingTest.java | 54 +- src/com/ameliaWx/radarView/RadarMapInset.java | 82 +- src/com/ameliaWx/radarView/RadarPanel.java | 224 ++--- src/com/ameliaWx/radarView/RadarSite.java | 10 +- src/com/ameliaWx/radarView/RadarView.java | 172 ++-- .../EquirectangularProjection.java | 31 + .../LambertConformalProjection.java | 73 ++ .../mapProjections/MapProjection.java | 34 + .../PolarStereographicProjection.java | 70 ++ .../mapProjections/RadialProjection.java | 36 + .../nwpModel/HrrrAkSubhourlyModel.java | 8 +- .../radarView/nwpModel/HrrrModel.java | 6 +- .../nwpModel/HrrrSubhourlyModel.java | 8 +- .../radarView/nwpModel/HybridModel.java | 24 +- .../radarView/nwpModel/RapInterpModel.java | 24 + .../ameliaWx/radarView/nwpModel/RapModel.java | 24 +- .../radarView/nwpModel/test/NwpModelTest.java | 56 +- .../ameliaWx/radarView/res/UbuntuMono-B.ttf | Bin 0 -> 191400 bytes .../radarView/res/colortables/aru/aruCrcf.pal | 24 + .../radarView/res/colortables/aru/aruDphs.pal | 21 + .../radarView/res/colortables/aru/aruDrfl.pal | 24 + .../radarView/res/colortables/aru/aruKdp.pal | 23 + .../colortables/aru/aruPrecipDepiction.pal | 36 + .../radarView/res/colortables/aru/aruPwat.pal | 23 + .../res/colortables/aru/aruRefl-12Ptypes.pal | 77 ++ .../res/colortables/aru/aruRefl-3Ptypes.pal | 39 + .../res/colortables/aru/aruRefl-4Ptypes.pal | 44 + .../radarView/res/colortables/aru/aruRefl.pal | 24 + .../res/colortables/aru/aruReflFrzr.pal | 18 + .../res/colortables/aru/aruReflHighSat.pal | 27 + .../aru/aruReflHighSatLowFilter.pal | 25 + .../res/colortables/aru/aruReflIcep.pal | 17 + .../res/colortables/aru/aruReflLowFilter.pal | 23 + .../res/colortables/aru/aruReflMix.pal | 19 + .../res/colortables/aru/aruReflSimple.pal | 22 + .../res/colortables/aru/aruReflSnow.pal | 19 + .../radarView/res/colortables/aru/aruSpwd.pal | 23 + .../radarView/res/colortables/aru/aruTmp.pal | 31 + .../radarView/res/colortables/aru/aruVlcy.pal | 28 + .../awips/refl-awips-neon-2015.pal | 24 + .../res/colortables/awips/refl-awips.pal | 18 + 116 files changed, 2719 insertions(+), 300 deletions(-) create mode 100644 bin/com/ameliaWx/radarView/ColorTable.class create mode 100644 bin/com/ameliaWx/radarView/RadarView$6.class create mode 100644 bin/com/ameliaWx/radarView/mapProjections/EquirectangularProjection.class create mode 100644 bin/com/ameliaWx/radarView/mapProjections/LambertConformalProjection.class create mode 100644 bin/com/ameliaWx/radarView/mapProjections/MapProjection.class create mode 100644 bin/com/ameliaWx/radarView/mapProjections/PolarStereographicProjection.class create mode 100644 bin/com/ameliaWx/radarView/mapProjections/RadialProjection.class create mode 100644 bin/com/ameliaWx/radarView/res/UbuntuMono-B.ttf create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruCrcf.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruDphs.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruDrfl.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruKdp.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruPrecipDepiction.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruPwat.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-12Ptypes.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-3Ptypes.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-4Ptypes.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflFrzr.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSat.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSatLowFilter.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflIcep.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflLowFilter.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflMix.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSimple.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSnow.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruSpwd.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruTmp.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/aru/aruVlcy.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips-neon-2015.pal create mode 100644 bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips.pal create mode 100644 src/com/ameliaWx/radarView/ColorTable.java create mode 100644 src/com/ameliaWx/radarView/mapProjections/EquirectangularProjection.java create mode 100644 src/com/ameliaWx/radarView/mapProjections/LambertConformalProjection.java create mode 100644 src/com/ameliaWx/radarView/mapProjections/MapProjection.java create mode 100644 src/com/ameliaWx/radarView/mapProjections/PolarStereographicProjection.java create mode 100644 src/com/ameliaWx/radarView/mapProjections/RadialProjection.java create mode 100644 src/com/ameliaWx/radarView/res/UbuntuMono-B.ttf create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruCrcf.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruDphs.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruDrfl.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruKdp.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruPrecipDepiction.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruPwat.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruRefl-12Ptypes.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruRefl-3Ptypes.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruRefl-4Ptypes.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruRefl.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflFrzr.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSat.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSatLowFilter.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflIcep.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflLowFilter.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflMix.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflSimple.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruReflSnow.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruSpwd.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruTmp.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/aru/aruVlcy.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/awips/refl-awips-neon-2015.pal create mode 100644 src/com/ameliaWx/radarView/res/colortables/awips/refl-awips.pal diff --git a/bin/com/ameliaWx/radarView/ColorTable.class b/bin/com/ameliaWx/radarView/ColorTable.class new file mode 100644 index 0000000000000000000000000000000000000000..6259bb0c8555b0137093156bf547073a155ec38e GIT binary patch literal 17671 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 xi=0A?_Ba*c;TWfmY&c-`h|0 delta 19 bcmX@da*k!gSw_Z}lg}~QGrpP3$K(J2Q%(nd diff --git a/bin/com/ameliaWx/radarView/RadarDealiasingTest$2.class b/bin/com/ameliaWx/radarView/RadarDealiasingTest$2.class index 81cd24a346a1ac4b862e3d986c2fb30ac1651fee..f1a7e77487b3b3788503ce2689075ee37b8024ad 100644 GIT binary patch delta 19 bcmX@da*k!gSw_aslg}~QGk%-Q$K(J2Q|lg}~QGk%%O$K(J2Q_csD diff --git a/bin/com/ameliaWx/radarView/RadarDealiasingTest$3.class b/bin/com/ameliaWx/radarView/RadarDealiasingTest$3.class index 2a96a19899f6e9910d215cefcb493d8f1c4ba16d..a7f5f039f51e454aea28ba6ee6f940f79afc8476 100644 GIT binary patch delta 19 bcmX@da*k!gSw_a+lg}~QGya>*$K(J2RBi{N delta 19 bcmX@da*k!gSw_a6lg}~QGya*($K(J2R89w; diff --git a/bin/com/ameliaWx/radarView/RadarDealiasingTest.class b/bin/com/ameliaWx/radarView/RadarDealiasingTest.class index d906c7843b4d1633912cec00b401179182a0db39..f5c677cc1a0263f1927ec5540b0ebf60894c301a 100644 GIT binary patch delta 7154 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 delta 7000 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 delta 5027 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 Pnj`h%=UGbhBjEmD1fX=8 literal 9653 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 diff --git a/bin/com/ameliaWx/radarView/RadarPanel$4.class b/bin/com/ameliaWx/radarView/RadarPanel$4.class index db8472605a05cb4ef751d5dbdca3625c7fdb6720..ddf165e8c9b34a57e3cca11539928ec1b28dbe54 100644 GIT binary patch delta 163 zcmWl~KMMhI90%af*C(Y&SC>^5g-C=5ow&%qPLZ1oD5H0vTMdf3EM9`I(H$*?ab2V$wG9Lk(yv1!SI6C?p7K)}^Q Fn;+v8AIty% delta 163 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 diff --git a/bin/com/ameliaWx/radarView/RadarSite.class b/bin/com/ameliaWx/radarView/RadarSite.class index aeccc52cda43d699ab09fff16ae6898019199863..2855b0ee55dee5fba8abe0fcd8bd3952536f1092 100644 GIT binary patch delta 534 zcmaiuO-R#m9L7IS^rshO(=E#|B{xg)EDt2qR~%+S(lH3RB7GJ;B)e z6cKO9Z zZbi6cV}~meR&jtzTJRGkNGlB-HVb8W9W|#s5gjjfeeeXG zb{tNcZ=Pm#6t%E7=yX{vZnX`CE8gE4I%nTZ+QIX-F3BO%b}GXF7r0^3ZL*ATiBbBP z;4)LznPreUhWKdx1+MeOCckovMegvOyZp3|F4?QU+|yb{Z>de2N@+xlw# E19$wFHvj+t delta 449 zcmYk0OGuPq6o#Ky93{z_-x#5?tXKBfMdh4aRtD_wTvRM<)4X z?M-g-)h51ioA1o)&3Mm}a$$eb#e*Fjv>6IUZf9V{qvoJI9=PyHECXyE%0OF?}~H`{rS8`MgX z;)Q@$I=peoJ9m7jjhHePpHC?gcgf-g7NwwZ6R|NNp)zzNwuUpTC5Qr^z`_e?MadOtHguR!kr>xR zMNkR~PQVEa;@b^V%zHEMWnN}j*!W)jH=Y1B?jrBe=|@h(?$GUTopxnPUP=z5p24Re zG#rvuKM-AOYYVSNPnpm>M3QaU;UcxZ$oNV?%o%T-i`RK4mETTq?Mw`$t$iirB7Zmnxhn`1D$eMVlL;Lz!E8VxBz71FC<` Co+xGj diff --git a/bin/com/ameliaWx/radarView/RadarView$2.class b/bin/com/ameliaWx/radarView/RadarView$2.class index 45b1a445eef77cb69020110847bf864b21abbece..2eca2795d251601095688e5a905501093455fecb 100644 GIT binary patch delta 356 zcmYjM%SyvQ6g`uqNfTom>-({YQlU*3=|XT(abZw!=c)yFAqG3pP9&3nJM|NSUy_9g zF8lz0Mg-U5O(^KVoqOhR&bfDc$;0Sw#6&!m}GWWxIJmcZy-p?~Wlm2ZQ z-c5NV{j)sF5^<4>DC3D>(6cF*-66w4QSP@!M4WKJvr~q{9x>fff6Sl-$xUp6VcCX( zrUeyk8zvkEwbvgPkCUd6h^sV~^7* d{Ql=;3#W<=(ks}+7Ih8VXk(X9wNEvH&M#Z(HWUB= literal 2305 zcmc&$-EUMy6#t#sZEw2_#TEn#E%H&cK5HN89T-m<-Sy?aYr zKR{HzL^PnN(fD9Y#Kf5BN{W#LBM)MH^iS~J#P|pXJ#)LXVrcu|gOlAmXU;iu=gjYS z&e{F>=66>BtjCB2L0D>g193H=bB@|G9QRdP`6)*a#k+4w4G9ZT!d?C9kc#J&n~Cr0 z>(_Q*p`1`Nq3s@YUDcPjYZ}k;bMJA==`lbqo>Akg!lenAPF9dgtIkpZ0sl zcGPruw#ucH@0fK-84a>dfzZ$~eT2m`k7xVfFL}bf>oa zDxY=iLURoBvA{wtVdZpZG)!!hScp18MMejEoOF;4v1vE&S|o9gF;%juO*@%vU~aKQ zVkwrfHY6me0!3JMV9G#^6GvBr(&yMH#SYVxl6e^*KAI1l30P2 zgqW?}z*o5r&t;gB#n-1`3HSd2|q8XbAGwiHa&~B@vb7{h&$u1Sz`953lsD(!eb(3%v z`bj*7tpu6oa7-cwPIzagCxN8IHnfg0*A!dzlLjdHKVzJDlH5W@jHW#LJ}l1Z=%J3^Q!5>Mk9PO!AEhC&5lM`O~A zcEcB=Gf8;O$>h|G@f(^_26rXV2b=lkZ0NC-YhYzKIgRfO6oZriWBMGpqUV`Sf#(l& zdWOrS<8!|XN#%}|G@gz`zww-XyJt^c>$IuLoWy`>RhF;w%5ei`eQ2z1%d=sTa!ojd znLUBB4|b}2sb$4_yg}dAt&VAfRpTvmjp>qHH``o0=M@|`)2V~3mzFqW&XB$y2a@}p zY-(1AvYd9a-askJ_MMDvd3#;){x-561h*e&u zhR;$GYdFug57_5ZaSWe{83 z6K5HN89T-m<-Sy?aZ+ z2NM&GF~%4%D2hftlwuHtm9$0@j68_((Lcd=6XPQo^vvzjilOa;4^DRPoH^&roio4R zIcN9h+uvOSumMLc2*Og^8;Gj`opaRQBXM7)m7j9-P`vw&)Ue({lyG0aI;`S3y8Z+t!6b!@9ME<&8~KZtha9&NZ8pnOH}F-i!*dy?q%p0QSYu4H^3D;RD|Bf;sWZOT#C~h%h0?kiZP{ zcv#{QY$8|;#Mp(c#-@WjTFv_(lW4|f!VEj>6|~#x=v zg?s}Tr@f12N>?AC>x5EL?)e@c9#d)x&w}s>DnB0*`-GMGsJ5L)T+ru%He^aXb``@|5 zc^K&SNTduk6=5zhpGLV)V*fvsDv04Ap0)4{VaX&|g&iSG6p82XJSSM%S3{wKu(L5~ zM!VsQ(U~N?=45he#`q0QDTBL`=!4CCb2jwY$~CYuoSeq@28uySfH8d$T+#E)roi(D zIz7W>(($=pg`{#vN*Yf`qThJVzT2}WuXWl~Wlmziv?|NjdF8kPvpzIdx8>QeNVz5) z!pxpP*@rq+zSOc}J>H;i>sH6K!K(2Vy2f-#uAA+yo%0Hgo9Wa+)=NtqHfKm*j|0j5 zPPV(Q_FHnQP|&=LO*9cK2ImWZ%a~cgU+$*7s$?n7Gx1!uVid8)o&?c@eLf0Y#qky-=d+2#)Z}RDP5L(qli^r zrigf5Nw)uG`osh>rDaQLexWp{ zOLKM{mwLt}Bc>2MS=L5-V&GSq_|8M*>*`>p%HP4eh{N!7H%-fOV>+TXwg-;*v8pd zMOWalBrq3mBhOL<=c%?Ny~H=FL&a_W*(JJ#S8pQrC;utAg*R{E<%*kJ2od<~BTzuV XbCf&WAck0~VVx-qGv@Q^2rB*tfLL1B literal 994 zcmbVLO>fgc5Ph43I5DPi4U}&vC4iGcjZ}n?ih7AaiWI2SROxvWFYQ*&I$GPM{469s zDh?btfW(hN%({jUip0mk-r4c^&Ahj7zkGfF0l?cf$}6Y)?clZe0UWLgWA_6uSR5B>j|%bclAD0(EG$lORj zOt@kUL?`}OjiNXq^`44!Hx4b_VOX3YLB9Ld!46i8Y37S@r$RG0U8RKXL_A4ELXy+@ z({lpM^^E7}o|NdR!=~)X{MMB6jNM*-1E>8CbFcE6d3sl=2DOjyD0WOtf1Sn|TFK*Z z3xxH&1K_q_!zo*Dv2cjXhgh28*rr466B@P8KVi8ARvA7ame4|*)(Vz!7eU^O-@pU>2x8VXgis_d5BAQE$7kl8J^S(N`wswCanC}DVQCbP13ng!|}6!&(3M=hlFs(uqS+2g4}`7HT%iXgH|DWhncmpwW{`Jj=#Ip|_4Y zd%bwXqXE~_?2BY2-IWPLv-fAFG*($>%EmcduyB5c_0ixCF5(hHJ;{bi&V*sX?{-_q zDcHDzYZk6D+@EQj#F+|70;96fL8j!vRvbr0@ItV@Oof9*TxX~~mnt-ShVJiVn&tF& z&}%ks;HHHp!-IdEY+LimL}&-MaGQvSGMPmDWhc{GsI*@YV|eKQ*IedIZ9>r_@kHiE z`eDKqV<0;5$7&SC390u~q`Prw;SR&%3<>hxuMT#wVoWn%j5`&Y!Raa`bSL6TA`+6E z&YzwWV6JC8NB5*ePaQU8Pv*C#lxOVr@*6nqcbI#X*UZzqN;Rl`f=97qV*2Ye&d^F8 zhg%@5=N$mI{Tfc$dW(faTt39o6vs9lYM;@lefbH?EwIY)39*D0+O$@%jJpW(UM%lP F;Ww8~1A_nn literal 1836 zcmah~-BTPz5dRH#u(!*=@ez#)7zrVI5X~isng~V%2l0|4K|rFxuVHt*TiDw@cb9+< zYL%k#qsj+M->kB%vP}7yE5MWwdA9sZ{2#Q`?&UN|S-@27O;1lxPxtTF)A!q7zuW;Z zg4jTlK))SS^Qx*nS6yAthssgmf~(i^v;Rs1BL>m}9n0#v%6rN$=dUa+Ynx8D2z1@m z&aV2tTJp4jd0lw}YpxSl1VmB5;&ny46ODD247x<+B=E)FhO=*NJ8V**F+0#Wp19fqs5 zSUZ#Jwywo);7c6mG_tkO_2ao%*(>v*vMKGyFlZnr(6?W#5<|!kNOmQNv_J1wbrkCw zJ9u2;37jO@6Y>fwRszQs_e`FRMlGDeuz}P2T+X%MfX1? z@id;H`;~3$C>l6@O5k{IaL)i{l&`%}j{dB~vmhEQTl;aSyi(v()f9N^If-+;m94q! z+KXm%SkUEAC#bz3asIwzD&~A9Bnp@mFv>dKLBhxlF4CA{hZiJX1QlfK4v15(_8g*a zw@8zH3i1-B4U`0Wci||pleoEe0`@R1P7}$|VW=9wpNIW1JDXOuMq9Avg4NL0 zQ!e+Y_W%0ZNp?m>HtE}55V?MNTE~@uo_ok8&!s{Su2Cwo==(aH@KhA(2z}J5QuH;W zsiTW~7eF(0E@~xB^jT=7T}jeeTBm5v4)tuIZK!vPq@U4wD=|Dkzb#}4a~%(mELlbt z58@!r0uP~k$BiiAP~v#&01n+o&rM`XC$@1kHFgu<_SEs{clfG~6FtM*$lu0D9cP9% z(bkDyoo4Sw9b-Ycj^|00Z7l8oTafBr3py}HjuV&TbxdvI;&5Ymr7_Pn=Btf)k<99N zqYl-x4QE3LK7Z%?zn5+$X|)hO{e%T4J&q1a`aQIm@53@bK)d-Ny3LPp*xW$B`7zFz zpWuRd1J}$?Q8hoqhWRRTyJ%Dlv!*fn-;LNc*#HRY$R|v4iI& zUcfPeJt424VkK~Re#hk5XxPGW3>i4F%jIk<@gj%cQB~m*ug^te6{-a7Sakm>iI?y) z-LGt0M^XQY;{r!=13LyVrF`uTbM$8NIW1JDXIsMq99Eg5}WG6E63t zJ^%H$W9*EIY}~iKAaeckq>d{AJ@=4Ho=b%uT%%NE(f4&Y=BX&s5qharrRYneslAhX z7eF(0E@~xB^jT=7T}jdzTBm5v4tB4jZLnvZq@U4oKQY`(zb#}4^9G(ES+a~Qp2R+y z1)f6JrW;Yh{>1V6UhIE>?t93Tj&9&kYUCbnb=UFiZQQ8iX!pMxzUMY@Lml4@H=iI9v z1yb!SFbruYu4Ky*YA4!dU^RxmMX6-8#88<2A5$wg7*flAQ2)d;1w;9rGx}iUQ%fMuc;7`d+;2CB~rig8G Nm?tewj=B$e{sKUg_8kBK diff --git a/bin/com/ameliaWx/radarView/RadarView$6.class b/bin/com/ameliaWx/radarView/RadarView$6.class new file mode 100644 index 0000000000000000000000000000000000000000..a143580be248c2afc0c7692bc09a48aec7f60cf4 GIT binary patch literal 1064 zcmah|-A)rh6#k~Ilr0ObrBqbViY?MsSp|Os;RZ2jvOq#fxt?w(Fu0vZYV91`{ZgiF6O;<1s?{T*nMXJk??5ut2 zRS$iswig&iv=djdZ40#>?l7<#!@#0cGF)QF&s@aR$_<9Zveyy@7}6$^7}VNz69!T# z#4&1O2swuMjCM`iQi-*0yD9w5USV0=bGX~!zSMUAG7;{`fT3t#JqRj0?sruRw=tQ- z1ViB}jEOtA%V2QF5kXL#dqIgVX|3Grwi`;X2B^d;chd2qRr zLJ1F&m}VG_MlU_9w!U)Uh)yUyWnxB8Dczw}g!Pa+Z#RAJ(4vNvIH0|~k*=VLWX{K> z9g)*m@A_;=noR!eaNl)K23$NBXR&8TRO-`ViSWZwC9AyC-%G0Qb$v(ZVu&sO={Tz! zqT*MS<9Y#cX;p+fUdtpxn?$vix364}x7MOgUh|NA&6-leUv_yAhyVqmOq|X=gU zA%G+?h<=I~ogtX?b(pkQWXDOSE7c>6R3?s)seDHEFmfED_W(J<_>Mg38bq$RfpL-y zH<9ayc~3!f;K|BIj2z>ZttFjI^%#W@7__UOP&|y_If9pvfDWFg3Ss;pj{ii?_=R!f zHztffQL;i**JMB0ASExOLJ`IZTg5}t9#I5cQt#U=X%^kkAHS7EDM9eZWXA9Wb0ibQ Pws|}wEk%yH4|@IqmooOd literal 0 HcmV?d00001 diff --git a/bin/com/ameliaWx/radarView/RadarView$AnimateThread$1.class b/bin/com/ameliaWx/radarView/RadarView$AnimateThread$1.class index 20277e3c3f497d7985260d72bd0221e319e340cc..43cfd30f9d01b01306b288de0edeeb5871209da9 100644 GIT binary patch delta 83 zcmey(`I~dY0%k_v$qSiRI0iDXF$Xd5Fb6Y;Fo!URGlwxKFo!d!Fh?+GFh?^OGRHAk nGsiR7F()y&F~>4^GN&>4GiNb`F=sPGG3PMEF$YZUVkraw{BscK delta 83 zcmey(`I~dY0%k_z$qSiRIGQuCFAUeIBE+jnNLiU1V(9Xqm4L)a(@go;>G!|g8rxfI|+EVvX0uEc|D@ggRj zh|6%!QQXKFZpDW?@#9`5@gTE!k~t(Kh-X>Kbr`R*j->41P4@9FNBEEvq~ro=iQ`iq zk&zdCNeWrX;#-aQQ8RwkhCi(eP}E7Pn|az!gZ40A2Wiw17OIa$I!=>L(X0!!XqY9s zNvlS3ZnISPSf+=x=`qXoloc9dr6yRVX;wp60~2de%sNyeiF!7mn~fM?6Z~{yg3Xww q3$7WqV4kfA(t|~|VVPd6umh{?!Wz4=ksG(zizxfB%l_z)^#K2GJyE~_ delta 327 zcmWN|$twf^6oB#fzGq2{u_Ur23L}bxA}Rj?7Y@q7ML9T0Q4%huT(}@7E|L>9;b13| zNtTQ)49XHiS+nH8oPOWs8*~l2rVAY56B5mwr`YjD*StisAh9e-0n1Xtij=Y@<*Z9> z$a*%U0k1T&Db4t#l`ZLHTe{g1H@ngw>S6X}48P2BAd4J|mt)!HM20B3SXK!RMz z8<+CKl}2%`4sJAwTTSocP78U^VuD)6qgL{y)jVq*FWShfHu0uyylXEXI?Sg|@}<)u zXZY3yesqmr_3@{BCVFnF_lAC$Ar?lAh2yjc((sdG4l2w^mBrC)3A9)u?UqDQhb7Zv lDYz|_K1*l7G8nQ&v2Ezc<@E}yv!W9}1~<&6b>%i__<8mSPU1un0{!+w-6 z6buLB(-~=nMGcHZWyBwF5JqK^lUx!TVUkH15)eViS=pPB$r^21^?T!-0j} zovQ-TI`67bK$<<`gEM&H5-2O8lQfzo8y^bm#5;nR@o_aj!Tn(G%r0**98Yt)L5X2Y zpGmrDc~OHw^BCo%MwsMGsB%K-`6ex(8cbPxAl?}C$2-)NRZG@FlNL#q1FU(0V0%a0 zK}%?vK}*qhs=3NYC=xZPj_Todvub8mE`ay(#ezfvpZ#WPtm-+=wI)>K3O?`+3QE#Xw62>yE zlB`aX!jd(hE4V%oiY*RAs{-xO0M^Dz>N4rre$~8jgWwlGI#8*ylcF?BKGvGFj@H9i zm@#X>MqyDaesg5|8%;Wnj%VcZbwpx;@SI>EgphE^!3L%H7|)5c$)J-M4LgXvm7GZ@ zQwAf`4|Sxo#}W0UMyHx|8l7&r*W&nwE-VIJsx-@>%?KrtXnWZ)5x=)A9_$R1LFGUl z5C@$_=NNQ0qag6dgaoVC8L61vqKTo4m_2AwaL+68hFr5jaO|CoGHgYDtZ zuq)sv&33U#m&j?cD?h?qO5$ZEU7kkt#+`H}U1iX(8I3%Mozy0xoW!K7=^D&~ACVdH zCV<$Fg;-c6e{!;5o`dLDURCwu(^XZ4H6jgvok`cz4d?`}u*~NTOS{6J@Zken3Ra5J zO(xw;w=fzkE5#$x&f18a$f{rzYY>Qv4G0@iy49rHq-0Ki$z@#u8Itdyy9~NB870(i zQ|pa)m~=P&2NqR40$T*VVfeNvtSUl-chEg1^+=}Xi^Oad*2a;jL(zE zyA~n?)B`3xNDpCVu-RaYGSb>DD;8m~T}eAl`kkC4bCqS}dbtuM<581-pU$X>CK!*I zv^$-F8eT-bE9nW7o=j(;hQ)Z=q&<>hU$@SiYX4c2o=Xx_ZNFgBACkmWyDypa$0RY) z=1O|Sq*vu?%Cr`$oVr*%(B+`l=}m*)U^Mg~E>;%|#Z7vP-o`$>5@|re!JI`3V#cqe zcTIYa-p3}3d8~;n4a8J-!RYA1>Vws_;=;kWs^y}-_MTYo4ne=D+3!FhNf<&jD zwC%vka;(LQ<(k@Vto9Ul(JCZa$d}5CTI5hZGU?;wP-^|jp-9drCjBkRnHNmwd}`8X zNlrsYI_DoIeL-I$hQlzaH97*z=Leef&&r(i70oy3Yeb|Ulapc#rCWV#(s$%Sz+UH# z`#J(KN!x4EK1p-Nx_pf(GQ5~!HA_eHM#D&Gq%6}+CX%v?y5pfpWQ`=-OlBm>O9Nez zXk1Ap{hJ7jHx zs8VLKBV-lDiAFk+AclPbTZPBkW^5JBNhCLk1e3^y1Ty2T+>P(fy*t-damr3bvdwrd zDRWj*=DsWB?@C+6`4tJ7+me)vb|xr_AZ0FjCqX$)HGG_{;@XM?Wys|B{yMC3oJQ=7 z>zu5SH5;snQFh9ylS!n>T39QriJVSm=a{;*HLOk$*p65uH6mWK6((EBkhu+%YrYb> zkvz^=24_^7sHkQ%F$;Z*E!p3Mszf5cgsn1}PbHm=^Q!A+OXmrgY&ApHW^{OC3zeVX z^r0L%Xflt<`Q zdN5Y#hcl1#ojw&U8uD#~H@4nn8&n1>hq`F3HzbM2ne6x!Q63Ux?vC*l`|LDRWGs*VzRAfIV-1|>_X(Lv17Zv(LiN15{q?s zgRo3V+R*#WPFk?;%ju)+S0=ldT>>j7#wo)`J93 zhCDMS6KpAemC3G_R2i+S0x9yfCcBPZj};tKXTZey#(e-!E5eCqF1yiWH>D;>o;xJ* z7L#p}r%R`tO3N{&Wo|Rs?d%RLX+`!$BcaeNFYJ%Z2hg zlRd&7g|mku$R5M(wK$mJCPbdDRaolpL%Y~+gFS|$=nr`&dt7>oEffg1$2(+fYIU+* z>?xByE%yaiJW}7)6^K?MWt7wWjLDvrF>8=C+fsQ5o*4?Zhm$)0C_FxU&p*r=3P z+8vhX8I!%pUb1{LL1E-hF3fa6Y@pAxmreExdlliO)4RSl&>4wtP}%l;$$Q;oZ%7`L zi+e*BSJK}y+1rxtT#X~7MV6L&*JST8Bz1NyHC#6NV5371manN(iM-^(_W37d{y#L= ztnOgQABfr+aWL#RwO_OIx)5~j?x?o%$iWt^dj-^v+kCRsL#wVn6(hA=A#B>e{ zdbf3zBB7j5JtWU<7L;X27@2N|rG_IG=}zMIfH#KIja10K4o4{qO-VzWlr-?9v_uoq zQX<(lG)zeYPfANPAuT16($G334Lm6=(S$Tm(H&}nZXy&_pgYuTl@tIE-AkSX;8`UF zz(Z$}Cjod?NdfR=)8JV>G+QMFR@H})&52btQ3dKl%~nZ*brx@(#Y0IEYoY)~;v5Y} z@cqc)Ql{GQ9uZdQwHA_7qrq$N?22^BXS5TOhBL(mbgv*9*JWxZ%Mzlj`8LQJt3t@k z_-a&0yLV1Y2V_T`$_oHwPeNWn!Ew4{0e>=%W-N<)eQRpHU1~o?h~#Z1&m?&x$5)x$ zCpT87HyrG&u{H%-!g0Sej+W!Xlee3^L*|)cR!#kENjS#jYZPJb(wR_{tw&7giUw+f z&{rW|P>ilfEUrivCTY3~T7a=oMBaq44QMqM+z3=x+qz6QP6s`PA$MRb&SjDAs4p-l zC|7Z2D*7HSgEVr&>TnnvRmdBQ$s?Py@7)BA!0m{J4A-O~q>~LL10_y&B)m8R0(Z#U zcLj0xt{`sS6~w)}g4r|>Fkjx5D~P*tz#;PTTR~iXD~LO9Ks){np`qw$7)sZoSNUsY zTd9C=rQ!HD68}cw-lhE!UyLKm;+Fg{T-A%b#4~^2c(geMgX6Q##jlP^JR4qK@ z&3i)GGC&53Uc8NF_BAW5M%ort#k2&dlByucXg1Bk6C)iw6|VsNL>XgBcGBG1;$Etr zjz{feQQAX`d#RyR(+b?8ms)yg#csM>o2+l4Gq#hzhdK(f>2bdv+T25-NP7=O+#*r% z{eX#b9}|+H9TaWeM)6+i?x798r4uHk2&e3zGn%uF9w9Uh!#{HyotH}&;x7by=vO^- zsn$zZoTf9k4uu}Ne*d~HY=l&b<)ZA?C+z;e*KP}){y#O4HI_d6B+I8Hk!zF4jY(un z%0g~EX(Dm`zE5DX?R5Kg`i)1=rL7(#&&bmw9!Dv83|B%YB=+dKpE21q-R1L) zRj}PtB=p*MO)C1R<39@eHEuD zLTw+xqX-MrYxU5>inyph@exH_oT}PGyA)+f8s%|CS=ztiQ;N8(Kk*qwtV^r=yrR^n zQC?J(hElbdURLh?S}(ohp5dP9u5i!Nv~1&f{AIoLL8E()d$vDY`|u_z{DJ(3?n?J; zca?iifBE_D>I2LF)jii;?VjhJ-(P;AyY|5He|Il%*Sc%m3;W4K=U)1JYGZ!mV>G-p zztO$Oy~MrPy;Rfk8++-W^6@XFIKu2V?q%+Jcb&UIM!avpRnHXr`*imAij8NAy+573 zU$OB_vKdcfGcMWknPThdY{U()@l3Jp>1?}V<7u&bnClAmNDmv(%W|eRZ((=kH{Zwd z8SP}lr#9s`^|FyuTO=6cX_cVRvs{9b$txu|+|!1AAeW85{3^0-VaKY%L=*<(wdJxS zEo!TxPC+3fuWf)uo2zJ^q-428MPNW<(~{H~78TJ5)R{?YrA5WY0qX1|b*`e)r;1vg zq%N?iuPSP7lDf#EKB}lolGJ4u^{x{4${bdI6FGXQYzx_XXnZeg$XlK___Ay00>Gh= zJ2S5}FCTCdU;*gs)0aiwa^>->QfnZuRS|rMhl_jJ(fKWY79ez#9+ zOO?RuD=A6IE9qh0WOcVs3S*{lZn|>cq8`?f%hp_W1smJLIxVaqT_sSJ3QZ}UP(x9g z`*NG9EorIE)Yj4+w4@o^_cqog6NvoQUKT5LH)T2f?q)o)a@hTS~P#cG?uc7s}q0xw_DLoZK&M_^1BOIP(s)EQ7a==%Cfg*W%RNq67fulJXwkgPeD$`#68>DbG_`3 zQ<@ZfO+DWXOlj$1@9bb7H0Q8CZ(|?ku)m52+25MATsCn~%h_uNHJu&V&OTkXo&B?y zeUroX;yI{gJKNvOHA&z$JbSslm%HTQN|R?ck;!m8)$Su*+d)q40i4%%(qQd(G(y`= zhiQ*fsrCfT(4M3k?I}81dzwPp9@?xuLpN*B(rw_~37PHM^Rz>Ifqtj`fu7V}q&Kyf z=wt1V^sV+Xb84@!G1{xFQhSZf)m~)twbxm#_6BRy-ejHHTkHhwZFa8q4!cErmu=VH zV^4$kto8zXMf;e&uYJNk)IMdOYPf3DzGUBNUvbjD=7#nSH??nhj`lqtqwVFBw0(Sz zwx8Dv!Iul22ZW7x3WIkG2R}hL`RT&N&&A!{B_fkwEe7zLMHatHWb=DP4u4SO@?FBs z_lQCKB{7nJBo5_!#V9RPjMj#W!?cNFtTtB^YE7a@3yKo$1W~G8D8^|wh{Lt5;s|ZG z7_Yr9CTO3CiP~Oqq!=hBi?L#g@Q7cC1!Agb6Xl{?93?i3Y2peoUu*^Se!z!Bjd()T ziuc7r@iE}v#bWV|Sfb~MrTP%SLqwfkB68Mt?$t^ydIy6rK8qBCLN3_=Skr4AEuF1RN-iwH+p+wsC;tMYnB= zSZiA-*4gUCdfU-rgUu&4+Kv&&*^U(_*p3q?+D;UkY!`}?Z5NAEZ8wY4Y`2OtY&*ne z+e6|k+wY7vCICBc+CE} z*zMrraYv4L!ZBJr?I;#|9OK0^jw#|<$1?G}qeHyl*eG6foGo5*TqpkMxKF(7*ePCd z>=v&&{w!W|d9 za-I!%uK0`dV)3E#4)KxmKEMaW$IjQpC(bv;-<)5GzdQGePhCQM<{BeDcTEGV5MQ|F ziZ5Lq;-9WffTxPDTvv;)UDt_!xweRJTz89aUC)c}TyF!uC-%BN68lV3>^Fx17U*P_ z>AE>dH_XMl-CP1#uRF|Rbe9>^O>?83VVkAb zqs%w-;tWGC$ruSZT0dM~vS^3WVtJ90xMTswGx-2qv*;NkcoxsbZI3f!C?AOHDUGr+ z+&l-Epdvb-=K|C5CD0HHWAD3WaW}0Yoqgz<#s>j2*r%?^d@wKv`_eU@=K*uE?_9+^ zA6Nz_*BCwo*Z^+04&g(AWpmS&&xZla;W@5>ya1S+k8u${1lV9c$@w`S4lJL~alXw* z02|8dozL-+zzX_9(U3j%F9|g|JJj&BxB-i-0Y+ z9m7uHi&1x_?O1jkUjka2aSnO;QqWczSJ7g=44BV8oawv{Sd)D`eZlL2HQT4rUw8wq zMO*Ci={4R6tkp4v|BE;AW@>VD@ZG!x?KL|#@_TtJuvW*}{APYMbXjh0rs5XRY$pz-tffj4k4``G<-+0SYY2bKQ}=71-#ar@Z>n(;F< zX0XdN4W^aub^3So$bLHS=TZ_M)pGd-g>{e4?!)4=AwB%4hp)sXy1W{nrqJ5yJ=`m9 zq8El`vkPvbr%Dp1<1GI+jys};l5BdQAZw0avi(_kZCQmlm8lF@@g6J4nq={eHUk`O zve-f=7H7&v{hNo$em3W_DY&{+r*hpbaF)D|3QBtTYT3G5H~a-z75*%H)-Y7xLNlbq ziid8X5%T6(;KDouvO&mhq1;5jTgaK9p}vm#)BQ$P9;%-v7^-vc_4_xaa$#D5_(1x2 za_JLjpgxI4=tt5K`V^Y2d+^SpoL1`7D4t-;hqmf- z>3)44J*ZdH@AU<=Td$#K^hNY0>V2p$Q!g;4TgFZ9t@IK0)@+#GMQ^DcmD50aS?#DA zzM4Nn?W2NDq7^)Zh^EW9Lxae^j{;b9-%~jo>acxFnFuoYk2CTsTx%L>6Z(;_j|RzW z^7f*!?GbfL?iky?CQtYM2RPO{8z&&?4H$Ei(r+Hxkv&*1Sb*_P#6|g5W)Q~*^Xg^R zAdb(p)QhD-ybGAB!STsFUS_$-#iPJncl{*^(btpoiLq4zm?>0IC|2;!jW#ZGtsys3kJY zY84_0ieFKBXsXmIAMc0$-ze4h0;~c5J%;o)GITFx>Z|Aw-A9M(ewwZaXraEE+Vpmc z>K$~N9;8e4HFUKeq8s&2_+ywJ)g$x=y^G%0kEMU=QD*2dmaoTIiQcW|dy+LT$_p{c ztW^0K<{MZH9t7_I76*oq4y>E%k?T3+_k#&fyA5+IJz!!yfbV)-e>@>7cCrxeRcD3*y8B6DY*IG3N4a=wut P2Z)cH@Mk4Ip6ve#LYv{< literal 14306 zcmd6O34ByV@_%)|e)HydfrMm2LWl-|B_x4JP;`huAmIomoPivGWSAL}fyqpqnGo>A z`&jSQ^;l8yipP&tqYfw@tQW4XuE+Y@^}=gib=CFWb;XtcxBJaZCN8+^XZQd4{|9(g zT~*y(U0vN>)$j4tclSR;M2GPU4dRT-eUYw8Z&x4`^fqs-jC%dv=<;Bow{l4e8?$8j z+^Dy^Gw6#MBpBtd^KS5Ntc>*r!yT3LYa?CVk#Ha!XOtZaM1$VY@<22ejD(lf*D+%A z8D-T*!m+qF9AEAY^#t_aeM*nsd}+>6jD~i3yPJdY&V?HS(U5mjjL|_2vh7N5Z@et(5$k>1rCX_yvnu1zSOryjGO60PCXO-looI!0Tr;%xW~` zg}N3E4LNG-n_5@TS-7AHdJObBClZcJZqvf%1xYTSxfEj_5SitT1$|57(a3tK5T6Au zZ^FZVlrIzv2jkNjX{Fdsh)F{%Y>Y`mE$k;IWmA?x zr5Hon4pJjKl`(QQM#7O;x7Qc&J82wMm^6VVGO`_&>~wf(#yFuLW~aKoe*ALT+o2}q zQl7-BOmb76L5DHQOZSm6BqvR#DYEG!&~)jXR0AH9@@cqipxUGY8ZK%!6UpLqlL~3L zv|%tDSkTk8CJ=4%t_cOC*&{wUgBLD=vLZT3qgk@?B3LKh8N`fFX!sHC2YV0c_6Ec8 z45!Oa4qN(6%1x`~sOQmqgWx9FYM5&Fmu`y116?K^O%0f&NDqA0Z5b^Xsayn$#bLLA zx2xJt3owACac?wUqB<<;3dB1jF#IA~V$fnnxvJH{)l6DSa3`Z%wiF7Z@%>E6_~iz{ zIfiFwrRHi@PcY;UMD5f9PwwvaPc3oMGHR37YI4v@I>w+?aG-x>Et6JLJEo&MxG@ll zEeb^I0v*u+ri0bV_STr>BdiIVx4SzK1~Rg=Zu~#_O;VR?S!1n99n=Z;jz=t~g5#9_ zbCqg?)}^eHITcmtmQl#0E`mYq9f5dr&>u&8SR?h4)os$TlH~wvULe@f8Fx^OdJMwk z3`u)vZ6p+lnzVs>VVzkGGi#5=#15=U#fG{;+GNskbUb>B1>hy91f?=O#1b68T#BA( z(n)kOMArsGp(OzyIy6e_@sr-Ol1?${R5}fcsV%Y28}~9Az2XPmRSH3im2`$lXVO`y z>-G5pvDlbNhcX%qtNqaIE%Jr~p=#OlIVPPeC(-G{wi@+@8X{pyKF_4{2a&yTgD(6R zJ|R_d(gie2J}xooXLKos30qqOGD^pV~80Ql(i2-GE&; z678s57x8;5

#B~%VH0ddex)MwDmj7IEVpbZC-Nw?6gaI*;p6 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 delta 43 ycmcc5eV==S2rFalWKq^6$wmfN)&>SX)+Po~)@BB2)>Z};);0z$)~?ADSp5O)w+aOS diff --git a/bin/com/ameliaWx/radarView/RadarView$RVKeyListener$2.class b/bin/com/ameliaWx/radarView/RadarView$RVKeyListener$2.class index f099f5be824ffc166b22d75f6e0c4ba10f2f851b..4757d37cb177c813f630aa1ff95e939fc2429433 100644 GIT binary patch delta 27 jcmX@fev*BI1vBIB$(GEHockDgc diff --git a/bin/com/ameliaWx/radarView/RadarView$RVKeyListener$3.class b/bin/com/ameliaWx/radarView/RadarView$RVKeyListener$3.class index a4f1cb73ab2dc68ed15c2ee557be5c363cfefc5e..d464fb59d3f9df8a6ea824c4f2bbf68d47accc3f 100644 GIT binary patch delta 31 ncmcc3ahqeqE@npC$-9|-c^w$o*c=)7*_;?e*<2=zvbX^Nlf4I0 delta 31 ncmcc3ahqeqE@npM$-9|-dDR%$*wh*L*)$kL*|a8$vbX^NjPC}} diff --git a/bin/com/ameliaWx/radarView/RadarView$RVKeyListener.class b/bin/com/ameliaWx/radarView/RadarView$RVKeyListener.class index b4a96e8f952810b5092596331c958ebf12c5be1f..207912457e0e17cff37ef903add66f5f191cc0b1 100644 GIT binary patch delta 604 zcmWmC>rc*c90uUu=ll8IcMqENEKL%sEt0jSMAr0z8bTYjCdZX9O>2}ntSuYEvMHW6 zP4fz)#)=#=TU#?qG{s8AMvW-Za%ggh$E)ifxVq!I<7!X)XnIz*r`%`Nf9v{uVkXFO zPk=jKO6pSG-M09Y1C%+wIOAMFxpN0+ohDpzT2Sq@;;PezYtD1jIK8NK-s8G6h&pEk zx13SjbjER8T&Nd6+!cS^lQ1+&IPOaX9!NAEN(`DL9?g<~N3s-;B^j-fhNqH=Hpxc2 zY{xSxC`N}IM5h#?OG?l!W$2L#yp&43k_&h(Rd^#eyf&au8u3<|&@V0cAe|VHPZ%^7 zAI($@nMiy#%P?%#W5nd(tI5YVa|GYbF^rmX_+ifDr@4q<<}!YpYWy+v7&i@cOmQQP zX{MSETGK_Ce$oulWrjJ?jB=70qp$hP$!h4Qpj%z^S3geC=?u_W4Ai-trcn&mSkBai z4ADe}Y7)bAHD_xE=V&G)HH+bz!zj&VwB~WX7BWT;F;KHd!!!6dut=8>z2D5Ak zvu!wYYy@}MXzsM}++`D)YnOXX<8GV5JiCFR`F1n+*c|S)c`URA+-Hltp5T6ak_T)l Yi|UdBjgiBiRClmvThKi3p3UQp=K}NhkA-a14ZL1#o`*p;W{~SgI1!El5mSs;2{_8P&V#T zKALC;nyI)P_h>)vQyE&Q0uQJf52*%Ts>36?h{x1`Cv@9y3);wwc4|cjwc{DR#&i0P zPB!S`5WL`pc*Sec%~|N-Lil($difyU@?pH=TD<48_`sLY$MxvvEBMIG_{1$3;Bqg% zavKJ@8$Uu+l?Y7A0!+ywWrLK-wu z8g;(3XpDGuv9xNebm$W4(s=37Wzwro>C@%%Sy#xQu96X5En~VyCN#;gCL6n^7>D0* zO*M0Mor%&k6RqhcRyP=@ZZwIy$)x&q>1LCuE|a5?TTHHQHHDgGiZsU*>o!y7_lV}2 cO5JX%G~bgP%1k@m8IIZRg0L9>o~p34e{6uH-2eap diff --git a/bin/com/ameliaWx/radarView/RadarView$RVMouseListener$1.class b/bin/com/ameliaWx/radarView/RadarView$RVMouseListener$1.class index a3049510a65610115d79cf86b50f3e4895ed3297..a731a0bbe89c80ce288a4594f1aef67c821484ed 100644 GIT binary patch delta 31 ncmaFP{+xY7EHmSU$#Kkfyq6gm*{(1!vt4FjW4k(eC9@p>s`?4# delta 31 ncmaFP{+xY7EHmS_$#KkfygL~f*>*87v+ZPHW7|D>C9@p>q$~+z diff --git a/bin/com/ameliaWx/radarView/RadarView$RVMouseListener$2.class b/bin/com/ameliaWx/radarView/RadarView$RVMouseListener$2.class index 50d2b5929cdece1e10c126178a9b1ae587f70552..ee188291b8bbd74f21f0a4e1e180a5f89465786d 100644 GIT binary patch delta 104 zcmV-u0GI!s6`mEat_T6=v#$sa0afY%2?p%|4+ic469(@97Y6bG9tQIOB?k2XDhBod zG6whnMF#l*Q3m<|VFvpEaR&SVfCl{lkOuw$m9tPO}B?j97DhAvD zG6voNMF!shQ3l`uVFuv-v7zgn0_gVHCSXbE>c9+FPcG<-&V8n1RmImpe5!2Ab;=zlCpjnm3OJngh z#EnspgtR|YRs$)}NSn3>q(xfApkj;f8WUqHF{CxoOMCTTqK?rjz6%BCG%9W|{TnfA8UEeC7%b+@&DRkJJ8nc3UgUbCsIt+RW>#~$oKhe11$ z_+YUYW#}Ya>Bnn0*d_%nMZ1qPAdOwOp!&B($o$T>{&+NJ}1a0B#9K2P(z#A)_#+wO{^=#y4IE6g; z0SZ0=^lP~F8+f!Iem#k_o$kX~Bbd`sJk;;-M9*PS z$M8~rWWN5yl>W@Lp69Bpjtk81f5}>X zDh;|I8}*rFn{-h&>p#+>|H^iKF1z)G95MxR#4M4cIwF0hP;$m6BPM`=O`-&`_bDTY zBG@6L6uLmTWr%q=41q^-bX&QQmR(d-+YB3I6OEOkS?ZZ@m5+>6u^?;dL5~FKvGSr% zz$I48Fu+&zTKO={|GCsEfUCU6W%lSIJmfeF=|c!l_yhe6AdE#0Gid7~c*z`#tfKZC zKV^tvEN2sx5f&rHe*DKM7OV!b<+**)0!lfCzq#CM1ux(}V^(FH!5mAi;+)5CTw#^q zBb;ZMRk;*mFXK!gDTk2Hawd^t%0}XS-#yNOP?hTh0?wUK%$W^M1WXutrWgSeMbwla zZeq@{@QFm+?v}%2k_eg9^NLhE*pECjUb1;L`|W+XZBEVzh}AS z5?$VG zi7NVw$#k-cx1LKahkdihV&_>dPN3eE{XL3E$G3=NvRAM)4YHdX`7%x*fEYl-3xEa? z)cXkQ0Al(81(mQt2eD0u(5DYk(nmP1!#Jr=P|>IOUPm#n&#cg2d-WwZ>nmqVxVTei`KBg#Q0F=5;;_Ev zn7-jTUEq{1@~S4epi5lTG=I?y|JAI8G;OuIY)z_KyRO+2`oW&koUPYS_M+yk+^YrK zs_V8xH*BYFTEA}FfPS}<{;;x++MpiUi2k%w`U`Q_i6&&0dyaZEzzwU=SOX$x;|$;c z3}G8#(5VIm>!Z-=dbq(h(Q^{ESvNyYA@o^+E6R>xlq|-uQv}Dk#Fb8UILSwhI7Lz6 zudH>7V~)32=Z)pN-9&(foPHFdyJxnl()$E0sVk0sf z#&1mHp3@j!d*E(#4_ThW&s^=)%qiSq#wo|Em}l0hg$wwO%}#kPVv;$hR;$IkY+)X2 zYycs)at+$p=2{Y2{yqMYL z$dAa$Z$&~*M7*|FHLQl4eF|a{+9j<$GK$N?TC%x)q=Ww+lGPEBj_J_}gF24|mSv!NHZ^vbs0sOX(oAJkOmPM42NCh2@igm8GlK?ey6mkOG)p{AT_ac>lVMbHvNn{BN@5Cm_!RN4nd zMHVIqVo_lfNzfNHI7E@-u^lC^6aRy$L<#@^ diff --git a/bin/com/ameliaWx/radarView/RadarView$RVMouseWheelListener.class b/bin/com/ameliaWx/radarView/RadarView$RVMouseWheelListener.class index 446e3eab2a99db34119a1d48da11d7abd17aff18..1eaffc3d0815e3877fb92668859b0f1e777c1882 100644 GIT binary patch delta 69 zcmdnUvyo>*2MeR}3#b68ED$XW{2$Ihk&0Q_bR-T(jq delta 69 zcmdnUvyo>*2MZ(TMf?%_wV5 zMGLB0QrC)+)@-%mB8RKCJhbDfJumOxI`GkvuTEG%44>zZ06{n>t(ws|J68G+t3Dvq delta 152 zcmWN`O9}x20LS6q{FR!9h1HaWWMRWfiBd|@Ibj|9moIx diff --git a/bin/com/ameliaWx/radarView/RadarView$RefreshTimerThread.class b/bin/com/ameliaWx/radarView/RadarView$RefreshTimerThread.class index dcd3d45905a6e8edeb8a14baf77deb1e54c240ee..6ca53e1ff6e9d2b23c64ee09d91f56ed001a569c 100644 GIT binary patch delta 41 ucmaFO`I>XXO=d=q$+ws-S-ly!nPMkPuvi26AuL9WZj;+t41wfM79#)=?+efX delta 41 ucmaFO`I>XXO=d>D$+ws-Sq&MunVcs}uvi26AuL9WI+NR341wfM79#)#Ckr$H diff --git a/bin/com/ameliaWx/radarView/RadarView.class b/bin/com/ameliaWx/radarView/RadarView.class index 2e7151fb934aced71f98265c463d81ea25d70f86..da78c7d7bd05bbe30912e7e79887a7bdf523acac 100644 GIT binary patch literal 66071 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 literal 65246 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 delta 1265 zcmYjQYiyHc6n>ts?biElUDuU$x7x1VXrP46-A$m3WjZq!nHx)HA(I6XSky7R%`HQ= z8RM|~)QAc$B$y~(fY0p0ASOm7#tDjsX+ks-@rN*j*@$ro&eLu`$oJzs-+9mTzUMsW zoRNorX?*nv*QwjA1+mF_R;p>Xd^JyTt2da=>bP6WQ+h27B@WKp0tRm&5(&zIE2*h_ z&;Fi>YO$9pg@L%ovEr!;?l3cjX~|3_Jh51oYsGJsD>Ddv*W*2{gf0+_s3+~kx=64= zy<#6_-aVIUhf?NrOjFx44*LQypa@AQh6QU;fDlT=mSR1su>qT~5sfI-436DO|049b z0~7v18vYg162fAua2Iu0#&!aoB%Y#zLFy2r9^*{HX&Ny}6F#FE7iqy|S}{i(eq{=7 zFcr6$h6Sc$NwOy$G}1{svsgkG>zU0ix;ex(JZWYQzmUUknX4^2M;R`FfrUt>4_5k- z$|5)zfSV=A=UVs~LNV821H&kn|2l5eG*^ffgjOrG2T;gOSkKKUV+6I_ zf(F)M2kWtm4d@a7ARD!8ca$~Tgx)Ol?Lu!6`lCW`g^%q*?LajjLxfQ@aVMhOCDcwl z&)uR%2j1l#bz;qT+@}ubblz8g7Vd1*G|dW*;{I&Y1npCFjFg$<(4Bx5HJ0mCy`BvB zrF(*TArV}$5~wwMzGVNCu(1c3JRo)SBE*AI@-t}Rb5cW})bIkj*^gchppSzX<{?Sw zMV#RfrZ|G1_>#!~GA$fsCXa~DF;;Vo9ej=5e1lK(P5F-U9N*$KzO8`AlnfqMa>RPX z`pp7@JfVd6o;se_mK8z}H!%w{%8@Jmn3dt`rKYClj~H8$nWDRk7HvF#m^B}WlBeM1 zhtjW)qyZn}A%23rJR|XEF+dIP@Kc=Q1is=Fu5+4@G;%q^T3*mP3k~Gw>R#`b&39l! z4uDfLIM6nUgOx^+%%u-ZlLl0p5|WLsiaT0nN&IJ;hr24Q3B5Bd!(Hm4ccA|wO#B*7 zej|y`N>Y~)=4EN?_t?rS($*i)#vi4%S4GJ=jPYk_>s7qZYw*bH6G)HefEk<@8%NDj zyljS`|1b|FftCg7<4DGKNp>%eiez+?VcL%q_!D**;l%3Br$!HN$w8 zkH|GvS<`Nr#d+aumHjIhl!_*_%ZSfQGHqyPr632Qc#u_soamDw0s7&>n7Y%KkuERF zBpb0$67fS>#uMt0FKYV@dR`Yben%GnP#1jTo|`iIw_u?>!M{YK+p=7L%VOO|Jr~r| H{?`8ir&bjs diff --git a/bin/com/ameliaWx/radarView/nwpModel/HybridModel.class b/bin/com/ameliaWx/radarView/nwpModel/HybridModel.class index 4dec02918427f6107bd502a7466f90396a62b4f2..043e8fb0cdb428814e01ed0cca31ffca1a2bb545 100644 GIT binary patch delta 1613 zcma)+U2Kz87{~w5S-XDHwTzB-8_PCuYk^rRLv*0xCUc8JAiv3u(PH_?| zLFdn^PcB_ z{^vRGuMJaop4&#tmp{@Oj|P-zS0t=FzCX~P3`hC`d%9v>y-Fm|77xdgEozWT)d5P> z)-0GhWf7|k)S|8{zC@eUpkb*as`Rw=#`kq~Cd2VqpSsM{K+WpwM$f+k6>8d4ldAWH zLjHv{ZLs21sCFDfmS7IYLh+~)juGm7|KnSKhZPTFw*@0OVZw1j^Ir#3n+%SBN^3L+ zDfAzjr_$!2(d~p2E>vSN)}R!d;6@wD)GLd2x;!wz%h7UFq5?its%ss)sahRzv}_bM zSYQR{eve@i>!%UT44hs@W zGv_kP@35YklM)%Vr=+n?t~@GJ*XpSu4l`@1_b@kTsTWE*Q+2Gm9(Q3S9>Xf^!fG5q z1G~Kjr+D=&9>gcuf@^5OFW8QGw2}c&(NZYnM<;DSH#-45$%o`4Vh48eOj0-YfHc~R zFoZ_?m<$>{jR=Y*t;1<9YSI?RF#$7|U4}Do@P_lK(&-)Ea}kU=?8>1%hYoelxsf7j zxob-*%YhX@QRT{yvAx3QF?fsJrfHmOGT-JK4cz7%MgR7Vl!9;U_l`*ndJMj49Br~N zdM(p<<2XGa$HbAlt@>!wMz=NHow?WUwQw-%w((@@x~q!1 zVXfGxEH*4R9b2$ip_Y2xXfHDKERIqduTd5%eS~9lk>B48 zhG`BXbc3JLO`M?l6ix~wMuih&!i!U)7HOdx%jsjtQ|wi&&%Q~&}H#O=(6}a kbXoY3AD5lqYTmz}*gyH)Y!JUw)`U-Ubclo3cu8RPPhYg0D*ylh delta 1396 zcma)*S!`5Q9LB%@>1}80%=C6+I%!L(fKwV47m7mbf&&`VNRT@eOU zmTI+uqqZ!ih}7beunZx-KnN}rcSPlZ2aUX$fF^1bYsBx|xr491%>3^E{?Gq@=R4m? zPy2Q1!MjApYugveTev#W(H+;tZ{BJZL3;K;<_PkRA#eYrPq6+dcLPn z>bZ0RpXTIV6N|@d%%G~wpgDf@K{zf&d~ZXgc~N;KwRlI1Xw9Z6O#JvThP_N3{X z;H<&DhOc$j;C40=xdwGab|m$l@Qu}cZZvH-WZLHP9nrMSB2G1Je}x}PO{CIEm`0_I zs6h*+;0e^Cmz93*Z7*)c5!`{#5XXBDKX+LKMkvoQ#F*J># zS=)BKtkRA4JYNrAOayWY^e($>GL3uuKW`*))f;JXy`i6r^!Ikjq=qsdJ$R+g@BRmz z{}TV^wwv<}wwDApx9Opx8XYhE{lV5_jdVT zA4(4u#U$0qFg?a&=%Vf2Siqxb!jo8vr?3J~qZ7|y4W7j&tVJKzF{LRCVFTXBb2x+N z@e^K<9Bh#H^kJ)vV4EC+mQh}Yvv^(3qhBsyKrW@2 z`ODa;EbLN2460J>Ru$Nz>hOlT4|~;0ys0)|pW1<8mBxrViT&yf-c~>09rZKbRsZ0< zoFERGL`XMN#Z$>9g5)NGIy!#PZ?oX^UV3t3rmDJx4ZXJsiX zD@z5lvgolZi%xgCx@fqoi?&l2KNqF>t}GsbD~ku=%HnajvhWS>N>%#wDQu>rYSdWoUN@i+{n3c zqn4zkv^rWSr{#4+2zg6u)EebxVcwg+tLOPWeQti;neI%_-HO`V-mZIY&;wu4BVW{G zU(!=w)-zwx3-{=y^Lp)Gz4bM{^9>F9riR?755A>g-_eNg>yrocIX`WF<%G5`D$!R} z>YHL3Q(WJ*LO+z$FV*O`w&|~0G_Dg!XR)q^y}(30VUmU@(kR6mXEJ3>A;MG=OeaYx z>zF}0tb3TrVP=tKHeJl+4D&cgHRoAKKT#gGv54m^=1s^!mhhgXj1Xru{jq6zJdTN|zy?3y|JK5x2)Vh(a-c8E;sB;tbK0w;dH24r1Es)fwGRdvs z*{X2;ZyS}5S9L;T?s_DV8?Npx->V{;G>83)aZm}Gm7+!2kX^Lq3eo;tdt?7BsbLVSu?UHRh{|4w5>!~xQ?g&&#ku$L*_{6N{`R4}mD>i~!l3tZ)7KdG zb#lJJhzA(;Ah$h4-Vp`o81o3@9_60zP;`L@9^;Y6ne=@gdxED?X;q@6_XROtlHe67 zrbzReI^IyvI~sV;E~Yuo3>TT@G9MTY|2!X=w{Y7!>aR9t#^kux>K9nt<656237$D;^0%E zY<0N)Z;eFh>I+h1_Es{Jovz7M>|l|0Qm$rF+D%3+G=(BPA^X&p&DR#Q=aU<>Kls^- lL%|*kwji?SmwNRf(AYyDbkwJybKtJb=FDhfUK%>WA(OA*vFuEe(eW4WsLH0B2n*}CcT`%VjtRa zGEpr(FE3-b87c8`DoY7h;ka?clpnq^^fP~SBT=SxJV%SI{!Q8B+UDXos!H#4h0%HTDN&<2*W6J|BGF9m;_loe`tO zbIA+AO^D?`mr;H z@dk`wAB^NUT}$yR&cjW-8)LWWi`faR&&g@+TnJq6Yj8jV2+iK#nu2U zu}ZMiT8ewDZCGZ#gyq)zSmAPErK>(FT!H6k#XIHGU`d zR3526mYtu`@_kx?J6bVM0Ibn_Q8U$@evk##&@pB&Zw`94VT=ZYF$Y;>VLkdeH-|Z)z~|e~ zNe4J3GSMy=vyWv5I3vqz(CtF@?nd=;=I-3fJ~G4ieqe^L{frqNbj)-J+pxcCl+9n; ztr{0Ozn$z?8`t3i-5V5Rw`nphGrcE73r|Zy*+bL<;_dPBpGNC)<}AlKalBw@hu^W>rZGXRzbHy z!#Et4gGLCs9W)Xn6c01IhyxW~gYM>HL?hN3z$IL&bh<%#xe}{F(w+f&Nrenn$D`bZ zmF%Ul9ef-WLe+Jm!MsO%_vu`1xLjkgI$bg z$7OAeGkac1W1Cqk8htt7UcnkxGojFkzK+!ii;DTk8 zN+(a!nZ6Kt;{h%g6%3ymHWHsIr)A8ef+{QFfDTs}!5Tqvwm=|8GQ;rEQ=8fp$JQvFn)aDkg zh~uKjiW*K_d~oMnzzFAmgAuDOIrFs7Ug*f)=p!&Ydq{qWXY*J|^DOFnP|$?Xt{Z;`ZI<#*wEell3gMAINOmPeuLmgFBpz z=%y1%DRAU43JUgPPseD5XIgB6$~VOY#Hc!>AmDUBbLI2yHk-DIrtFp^b5 z5w#PFsGU$m?LvY^0`PEl=_sJ2H`+bgP7ifT`b zYWpN52e8P5MDAY0qu8fb?i`QdBA=saXj_H&3fuEEbNDKAd6oryO`ZAg)rr5tr9AgP zRo)17gpWcIJ_<$XC={Win)wJFIjf3}EOY1>5+6CKijN#y#Ya)bR0#2r1FQJR-c@{L z=PEw3T@@dBy~9V*kqxWp$a);7j7XLbJPaB-vYq;0Ls36-(35$cH5kyBODBh;saH5^ z_I#P6&EdX;HAudiqxPW8pzC?QU{B4gmH6V-Bz)VDFiBqx;TqxUuCy_=c&q)_%sOdP zuAxQ)dBQHss-@p$S+%lH3<^d^HFX8ND+1M5r1(-|1Mz``Kw=;%YCp}K=cnd8nzP@| zYNlUb`zBH5xpJgb+z}SKkOL!1r@<;_ZN1E_t(Td#HNvbY6_}oCx1zP} z)e&YjQB^dphgaJl6(LrZDrs2gx~R&BiIvA55n}acM-gkZQMv*(Ibo$MV&e$2rZ6qS ztm*WJnMJB?8fk=1FZVmh>xfxTRJ%m?kHm~8C1&=g9qJ_*0DOmP>ONweZ{2#?nLXp- z);CkMm4sv~#c@kh(;`W_O*3f(AdxQ%QKyXKDIrU4vz(UHB|GLrd3|^P-8 zOv~^wzA;5j%3f2}DqE|XrYUDCYnq(Orlu@kv(LE)GH2GBwFX`H-{*gw|Np-I?e9Bp z)qGnOdF;ZWCICJ8ng_<}l8n{e$FiF_AS8YDj;~l~ejJl#9_5wnV|59oG;}rE(>3On z@`kalv2Gje@QjRLwmmg1E-NG>tEi}xrYDCM&$y$qs>qxXca_mD%j!u8_Vn&FA%YdW z!^7K&R4q(O3l4ZWm3I>Eid(D36RxaIMG>6N86H-e8{^}1X7Vl~WY&!8$|;(ZRn%#? zwawjLRyD6GbHB6@hyXd;%Q>8DejeW;^fzA4<9stVVG!G1dal_CyW*@3R(p}l2eq?x z@Ns5lVzId_aenwyUJm0XVx$?J+{+x|dn$CZms_~iJnie;;rG_ystE4jE)RDS(NoK7 z%DYV~udL`cc-oBeDlZOjx7k0bF7$wx&v29ZZc>lXBVHb2lj%(!82-Gqe!Yi_%+lmT z^fko!+i+MqLeUQK$besMDmow&9nlY2=&!a2oiGAdVj8+2fUa1KZnz&g*o0i{5`IyA z?;;s)`1j{iLYcUL4^nx82 ziB~n_Q;fm|jHVyO?1>TVi!rtrjI7MwG%D4a%xdb<`7B})C+{E>`ne~{&ohax2 z0B&IurtlTq$~SQv-$MmY;C6nFsr(w#_%BT7IaC@h%rGJ_(}=}gMlxm@ZBb=pqT0wt zjnNacjoz4J48&Yx7#16&vBa2$rN(kBGwQM2co{2YLCVPa_ZY zGSp@amq{jI8zy5rs?>iUb~RLGOk&>#E#If*2eiCV%MWV#Avx@bmOhU@I4TRjfMPji z5?<2MS1?ajU9GVv@VXh>;W*ziKj|>|YS#zaC>Aif?nO$nJL@3JLQojKmpA)8^%$Z~ zfA~R8Hn0wP{_y?0t&!7~PxLSg`e>iBXF7t_?E5l z9ed+@-iRMK9cNgBpT(uKY{WSRKEQciz(pgLFjCaER@+`}Cf!D7hABp%ZIdkf5u&mF zgs#Ub=uv1a$HA~ssgT=7<58+Ovql%NST3|sfC~|ZNF$y1@;-%3wqmXps{)de0==Y8 z8@56XccYd=)VF|JP$$$%H@c3$gXnXd^25fIa#FMzUn3V6-fdMeD^eA`p-a&pC|su)=j7rG{}9+TV_8D(V}9K=HDFoYvT(9(b<4uZw$&qSWLdqH zjh>L7yb70~)gzTZGHk;|;wH!HQOYv5)e)@#Z61BhF?tlXwu~M@sk8QY5sGZ9M=1^U zu&o}AGmh0`80##FwXGfoclW-1&!R$Ee;7B2RMBF$!Hwps9Dm%CyR8RXy+SQf;5744 zPVQ)B_LhlH+W|9BHiq^ZSw#8@b&)-MwAlE`;-L1z!!? za5geI7hQP|@;Faqn~%W^phVI%f%htz-lxR*0A_L}sudyg73#}bhbL)bm--KLo$cm# ztbkUSIzcDo$f1xUheD1V1_Uh?RDcOtD(F!-J;OnWlKXww;^<);#l97=5voYm+5y{2 z)kd8iuwJFSWp=4!_xQuCd%110*H~oWlcLuq(W_qc+AMl)6}`5JUfV^l9irDR(QCKpwMX>Y zD|+pdul8f9lJ9CB#2Ow(BcH{GJVLOEQGAX$0Ul#7zRrGpLq2+w6M021q0%sz8kEhAr5j`N>Ko;-E5@#X(V!?VBmcbSdUSQE(|e^jj2Uo{C+ImOg3nAP(-U z&LqikZ@sV-$!sr^d!;Pl)|p#anhm$gP9$8;QnN>%Kje_?N?Vc`5i;8;TVtkO@2yvcvxb>?USrYg#{^r>XJnfOpNe{HEq0jI!LZy(J;%R7(YcQ zKSMnKhBSVm66NnoRi{wEf8c5r_(S=Pz8t<)p#M{0|DA~SJ*xPFDxDvds?Ok5{)ChK zS;RWWP@Y%$a6#O-$oYC+s$gDW1l+7MLb%p&^C=@(>m8G4WQ=BU6LQ2&sF_&xEySvC zAy&OZtWa){lNL!z;zgz)v9dVX(YEfK;P9$|*P%8br+amm;SRBea-c)3Vir2Yny8W| zC~i}j=@4r=QypSe(HA5ZU05W(NZX{|J{v{YYBmTV7a961HRDl7&CIuZrN&whz&V7d zU=FuGX)pG=Dl!UgBN}1)W=b&P%>ji;ZC?;Ase487MIl3WGVH?CrB&9~@9e@%9yQk& z_DN0FTEEt&sNQXjcq0|rMjP~3JHSXYe=JPTxAro$S08&XmtrcPFR9Nhk?z5lg+lZp S>EbIYUX@h&2ZeyaSN{z%dtTcB diff --git a/bin/com/ameliaWx/radarView/nwpModel/test/NwpModelTest.class b/bin/com/ameliaWx/radarView/nwpModel/test/NwpModelTest.class index 8eda2566a9d4d37d443f8b867073cb74edba808e..4a2d0c7cec02ab049c99c25945ba0aa835171f13 100644 GIT binary patch delta 9939 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 delta 9879 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

;rag2I+`H)B>sPuoCWphrMol<79R&Rn z^v`sbUIG0ly$br3Ouwer;66vMgMLGYlkd^DGX0K@zGqkz7ZPu23EqVSR-p; z6WJ^_n_b6lWOuWB1h?Q5DupUxyl@ZJDP9p?6;6s)@iuXTxJleBJ|g}~>=9oT-%!j_ z%vD^Y_*dZ8z}G=%Fg-XTI5s#XI5jvu*cMzH+#Ng+d?)x}@XO%2U_x?AUMV1DNZC?U z8YIYTS zJX(>*v`cyH_+Rqaj6B}mpGW#ebzb*9lk>=u|4M$7Jd^xu^26kb1RGV{n7C= znZ1iYT5)<(@5DNxb zar&jx`%XW7`gaI*^Xcn9JRLsmID<+1dhK?!-M^;Va4Nk^^e9{dxa8UIz^Wv42SFe3 z&kq#k@_+I919aMp&{O=AqW?Yell|V$|M%Db;k)&+=htL+iY~_Zb`{3E>(M$VqJ2(g zSFkCpl@`kVaSofyI_MfUPkc{2F1{!p5?>RKiU-m6UKbCGN5nV8W8$0Q+u~c|JL0<- zO;?B;G2$-8xZQgR;m;i6<;ZpiVKRfN>TA|#g|G!@h`04uu)HeeLCUny+9 za@cy6u<@#4+YLfrsHGvW<6^MihEW}CwtCoV4Y1J~VVjMHP1XckY#e3=&9J>Dpf~YV z-YZ~ZwZgWV2AgUIY^j;Bq1s_PVP%%KVf5aPQFs@|(R~;*pTqe0JVwVCF%rInaqu8U zzE|i~jCqGKz8%5n_7>XoyJ)fR(VtOg8)4hrKsTf2?#8%#2ke(?=`Om3{SvmpQ|vL? z#GYU~pvgD02T*@o#XW30tegAULl}GCp$BLU-Oe7R4)!>E5cbYbVY97<f@SeE zJwv;h0k+>Yv;pG=+9}=3=CKYoizpszojhscgqG&<$DoRN~sV9Mg=3n4ee4-c6*N^JKWe<$e+Wr z;W7I%kM#66`KWw#<*elX%86haJXgl9p$)Wh1P5j_ppF4!=ly}q!3?b7RphlkJ8 z6&BDgogPj-Ts=AAu3ao=D3cvR&WJ&~1kxCJvOQwfh}j)I%`L4X>V2WmRN0S)%e;D2 z!+X>+FKJ;9WTuVMu7dp=Htn&{oc4S}N4R75jMg4;HX>~hM{L+|dyh50CpTQ*lY9Lc z4+?NzPeHhTL{EMgf{mGQDFN1_%(8@~4c`!i5BGfzsW0=H-S4ByvV24QCC}oeV(LM? z_ZJyKHb{v4g+g4GjeFuW2M;~nEv>0%iRSozPx0dXsXanFf3tt!jdL=8(>?I!QuOvP zN_IqeM0@|=wF^8w-E*YE0@SShm(`=l!h5Ml%x<4EcLBf8p0^=fj~t>bX;N!XydIAD z?EbIiG{ovT3UOG!(Ba&a9ygj;Q=ODBNk3OBQ~^lboK<>eI00@ol>hW z)DxeI;+q<7oi~-&QrOay+l%DzK?TaOkhlK`JrEe#?onrHq*lQvPUW=)52*npTvv-1 zmL65=k=JNlt<=hVG!P7_^oQWCAMwG1m^Hi+k#R@V;f=l!8n^uUKZxW@WdLIIXfDa5 zfDp~MpM$D_fOu!#8#e*zhKezubr@+gizc3(zhF51J&qHB>0JntK znjQi9l)ZQ@dZZp|mRiH}!c)U&L-FQTUOBw1<@y~nF+8SaTB}^!{jFrukDgNRt1rFl zcl8Lv(EuCrST41FxkGn(&y38+gj$eugA%7}Y~)vT=0RYFl|K zLDm3G8E%*zmMl`khS__P-E%hVipMu}jc8vm2>oC~cvQ!R@Wj?yRHoeV*ZQvK$=hfQ z8#Ae{umH-ZZdaJCZ`l=R>nBcY-HTljY5k`6{ijYujC;(`|5mE;)oHbJyY-pd# zn>M*nkoaRgEIgEYgz(T^Oi&qmbm4h*J^FAR_m6S^Sju0;{ng>R9_C_&6yJ93lHA}m zOFM!qmUje~56=xQgS%@)|(im^D~j7poI~u{AGf%ri_@ z<|!uAR?AkwoM)P>&(lp-=cy*MJesV{(@Ylg1dLyM7(L};O16h>9rt)mp~=&xx9(!>&Z)QlTdy5XSoT`sDdnx9Yk z@@EAoyPEP@$_KapSKP(J{NUpup@)>hRb=9TrTz`@HG7ZmX(hkLKJ-NaJKI<{{D1jb z16!gKXof{Xa5ckLCDQC#(la!$zASJR{hIBCPbhBRntU)Aa&0H0pUc^0HiL z!K&30qD?r5H35DyA@!Mo+vUK_0(Lox5^w<ds0;NP05cLzCMMO@z*(GKXa?Y~ zcL3nQ&r=xI6B!ZLQ~=;Sf_V~=#RIG)vf;h$1d&|>AdGzlun%V*5Z?jbE}TIYe7OODUj_J8Y{!Nt(yWRDJw(;G*IXbPv;vb-@EMHvweYJ&ydl-V9-^T@ z47_6dVOh2k4FkVn-9&Zez!swV^}ueT5r{wHbD{>w(Xf+fWD{_Xs1f(Zl>m5;Lio}5 z0m#!B$kQ|f*qp*x1<}|;MB_FQjsJwG`7lw7gJ=T6Oo0C+xF;jbWbl}L6zC;mXX`0P2A*U<+^n_?&3f9-`}y z0!VXpCeRG51hxZ*f%8ObBmn+v6#)3GMclRLh;Hx$O~48O;cr0r8zEEoHUK=k5%;D{ z0AX$d&zsARcdn@AHia57{@9kZ{R-*NY zyFLflLv#n?+<`b7;I{$%HY_08*bE@f#tS(7vkuq^90ic>PY~`W;CUy)+u5C8k&|I;l*TM%x`9-^P`26~Ae!1Dv}e{d@Rc^*7VwAByP14w%--u+@TfbhTg zgy0MdB;C;-1-A|Jn;0c-;H0B3O|2<{z7W5)%eUmYjhK`E5CX@K0)hb3{Fph<4%qQ!9y{ZYO$n8_{08|HC?> zeYHf-JBa?Yf@uFvq8IW0CCGAMeQN3Gl>(wen{dMH1kvkpEKVIDdZV7`%}a zP5|#u9tKVTp92?&P8k3{Pyob%Nx%YN4X_yizf*ev#5)CM^p*ny)& zUoRj!S55Ry6L5j(+eJj*!TsHNqVqe6{&gSGzai)Mi1R)CF6<_{xE`ybn}Dsbu)46K z6$iFq@3a*-N=#TpOjH27i77gWDQk(TqQuk%#5B#sv<~1LF&*CPHxV_C3;U~dQLf8=G4s&cLmU)y|76AnScx59@1o?|VuE;RB{Ie3@X0tUyAySPf*YSx0OT!Vd05}VdUY&_k>Zer;!n%><8` z`-#n(M68_v@Mu3wY_?GFF1#BfY4{_%q{dujxCIEh&i-^rf zy!i)!bHo-%0OBs#0~{i@5OOR;-WDDub|u1Gd5jqB3bqJg7cT(r1GW=e;s7#%a-bf7 zTuUJL5`}tflx|i6BE@IcfeJueyfqlfT+ks=h z2Z*gQ0J{OWuZL`_?<2NG14Mxn#MU+vyP*Ks3~VEIBi`NU0djzqz#__7LQG=om4KyKGw*u}2`=qaFZ$k3ojVE)d(khS=lq zdmMhhoJ8yi@PFbgv0pV4`}KNY3$TOOZ;;M!5a%~5fb+z5BK&W+5_=M5^5hv}zr(xV zL9U*a#CE}N*9l_3N8G0*AWCd^HL<7R|4c2hXK{ZP{GUbI&u%BS2lDSN0KoGPi2p|q zu#?!n8N{Ab00{GZJ+VI_&VD}t8TM}j4gnX4y@0qc)B;Ta;=h1*FZ2+5aS;Ibi{Seb zlK7O1m1^`{vq%_)JyEua$o_lh1hF&|GI+MVFLg;j;tj1#v}mgzX6_a90pDRp92?& zy@_yd`hf!g!oPWj*wH3n2CxV?3?Tf`&jEyg>nMOU-#Sa|Z32*&cN_rHJ%;q(-AwE~ z$ouDNV#gbSbHv_3A9NA>5aB=U0rmq&iJd^a6Q2O*iNRiArx529(mA~zI72Z#e*0Qme3 zY5(m!vA<^m%>crDjJO|{104Xue0&H%m`@6Tc3?fw10d|D2>U6*ehU9jA@`?yfL>z% zFaWgx()q_W0O|Y#JU)|vCSWD79f1F57l?hH1GEC*@%cXBb7Fl6+cybV10ZZ4!uBET z7YO?W{J-c1b^^zVeW?H-$CnF$Ex;iFVb4YZ@I8yLXA$-+!u}Is{|Wzp&H&Z}JplZ_ z(g4)}czm@5*bjU{>}v-Q2NnVF{~G>Z!~dKIXarUQJAmWFzR>{S{SA13vmV$D^b-5l z0Mr6qz&7A0vF{+qchx{UfUw^o>~{!z9%0YJ|9l6q8Q25B|6kz!FYx|XE6@$>0Kn&8 z=ZXDW0vdrXU<;aAfpAfr9Kon>P zHUs;Cv&0e-&1rt;V;5pgujUJ3dB`x1>jaj0X(Z_0Q|li zfWI1X)o}oE)tdpNrG^Ze?IdXNPP>K#T>$_Yb?borzy*8>BnN`rgDop~;O9ZOG=xio3~7zPA`-l3Q;*+f`d29A-CZ2;;4$e6tYfM3J` zAbey$2|0M5vyy~d1+Wg-M?xO>!$nv`1l~_1&#|#s7v^V`)8i)7G6yZydsXghtQLbnvDn2o zz^Lz7UrCfXOoBRGBvw?E*&V8IMs`JcWm&0<4HL1M->Foq#5)aTl2pdQUdgPfD3_#) z@|w);7f(bA3L@DB1w6ee>`wNu@C4Gsw}0YRw!~;&68AA-vu~TP$0z#sB=^S+T63e% z?{k{Asf^nw_HyjyVhEAnHf!0%Q(O?|B}u|RIC1(wt5Y^Aby`)OQma>v;W5l_Hg}g4a$dE&uKPV~$`znX9ils59Cyf-$A^G*5ZH4-t>M{;zSVp)itOhE|05`~n^v*zYdT0933C{V~cB@Mo>D^s(Z;;=a;i%X{zjSx)sGD2Y~OXGf}BuCmg~ zit-{Mg2rAxRH&*bbGlq^b#`_*L*;Y?1b0A`+nqD~LTs!(Te>1zU0@AG1L@TTK69ut zvb<=d!=FArFPdfaWqTuaQJ*DiNYQew%CDbePD>BkyiTiL=gq2!_{$4I+SxM{4$XXn zJ;QBrTFhE=D1T7IS5X*JUxiLBV5jCQVHNtm8SONJGbdj@9kJ+XY({_kkoF|cK7;3= zi)r>Gd*fQTRTB5$0n+4q?^7Q6el}j`Mhnc?meG?TW~|8xDt@QYKn{7+S)8=Gi@>cmyZs81d652atb%J z9$P91-s6wA9(f0gH=nXFD-&f^f3)-t91% ztX7lBk?5)|tE{c9EUVq@Fq&*OlhGkul?XSDAK%20mzkNDmyyA)mpz)BoASb8?tyI@ zoIF3zK0-a@;>6D|dT}p~SD%lYP|R6zbkdAC`Xkp}Pr-+G;+)-F6Ixns5317z*_5Pm3)F`a5N+TtP$G z5f!v}kpMN0X3raXS!qB(8LQFQE34cp*%3jHP@&cH(iRL_rVSSRy2J=wbF{k7>XUpUWQ)M>Lw8EKBRK)NRo^cN4!h)xNF z8Y4MFavZjBML0TL@|1eZ8jRKLkx)Z;ZMaS{=La)NZR|Q%p~p7Z=k=i$pswi;Yz-SC zj~_#xp(PWHjG?%@;|6bfBNH0wo^&L%20 z@Uf0r4wgb0VVEnIbrG+SNM$9leW zqu%fLAiPa&HtE^5hK!7WE^T<4&f{^aMU_IgSgWu)92!F?Gs6%JB1XudcGxWn-BPVW zA*!8jk1nk~O&17<V=+3>Ue3kT|CmZ zUoOeEBW-0DOOK>fn!G2EzL#$=! zQm70ryP{l*lvYQ>4YdVo&VLylz!}aV&}x>avHC2sM^e4x2&y>b3@u}}#20MHD!B|F zNq)m7K^8O3+KVsh^ge}F1hb_#9<ewHA!t>!C9v9oWUJqk@eG7V>e@i$_ljG%I29g2ctpM8}V0Q%`4hVq`k4HrYLkDHqI#ijv zLTp=zgE#hL4~H zm08Q2p^A6?jcGZa>grP4q}7S_oot#TsO{AHGqN2QzwhLyE*Ry5yn(X9nb^49J(u*6 zfNriOJKZ}!q}0tb802DrdH7!6LCY!LKIJKcNpzx7Wn#a7fO=^6Z96i5-##SC@MXp>U?TQx{N`P8vC+y4;tY>knO# zm*XlJF3XjRI(!LoMX7r)zIr8_%>}$aV`S#$3ct%{IPTnf=FfWGzw_WomyBq@x$e2y z1s20xDqsbr0c8o#Q*N$#p3N3gsu*g9fna`IuuQskC+3wPK~gI(|K%#P;3 z6;r4JZG)xTva>Rbn^q4WzB-Yx*ETliu(#ahHG}+YMPk#ud+wPQnY&10B4ty%inN?)cwINxQOr&PL(`gvLi(Z@>^a|@K_fCUc2FAJu3xU#Y; zZJFEd>GBAk;{3Vd zT-en6<2JpeQ7WQ&c6)mE{49lje)>Q^$HW1qL?4F!Ha=;vqi(s06oB56D?1|FQ6@p2 zBSV|HQLL4f|Fq}8TG2SdUT46r&C9GD6Lq?yqsta7u9&l7k~*g;UaYrgvTTi7YtyAy zZ#{m^-W0CKnfQFntu8)Y$<<3ax2|w6Vt8&U3C%)3?U-aBCJ?$#TqiT6W3 zJ&_7n8V`dW=ix(w2}7%vo6cGZu8JR`@0X*6xd&#w{LUxD6lQ$F6E|~r1`|uec7-L- zq2j?1pWoxzI%A`%rlNxv4dxpiuI!Fx7|zwDqFoG!a|`DCl)3ZusYT-#DZk~~<;gA*U1pu;a~ikI8WE|E_aFWJa^ir8-^v*+^)kxto!+TyWQ zfr8=!$ywA?J$2z+bErJiAE=2GR?L=4iUtL}#q4pabRePWPm9t2ODn6mfsg)|VZv0v#noB=fXo$E z7>c_}#gz6uv}CO_>~#h0+Jel=rl>2eWOV6*CFQg4n51aF!5d+tG-{1opH`OVwfeK2 z#igCW%8|L5V}?XFt(~@UX33Roc%zknZ%DQ;*n2`YzL9}#Z)!`{R;g^KdxHvIODLW2&8sk10DB^rRN?1mKA z)YwqtFM2Ge_S>*NVb5|amFlcQ)}4{~gn2R&-K^%3MT-|NdQ>jg99j(gHHG44 zfvJ>QQ4K3kAx_5E7-CpjL-W~hIaRv9G-WpNQ7(sVPt1_l;h9A>qw}opa8B4AE|V+)kICc-SS$gz z=`TuM&M3bXU%hiK5b&u;1&K2hqZ>;L|?zY-whpc7z@*dYVd{u9^1uw9a*Bf8XT}qyg zf)kMwffFWy5GTz;*bsAkC>y#;s)$y!SBMoO$5+m(6e?F~H2I;CcX=Mhkg_JfAucwH zLJ%iPR}F~|YaS*HTV9g8q_QL~1=mHY(dJ z2W68|UM?vu?O!C}y6LhH*H;6xjI4qAJvXS`vJt{NH6NxhO*M%>SlgKPt7ZSH3cko? z64)`{NN@JAsLz~PlV|rwi$a6*)0}0KW5tykz18nex79757|m^%R+`&bDZQ*Tr8$gd zjY)0ym{e7Iy}M+5P2T7#NomQh@HbpDwPDeyY@Ij-ZC=QndhgOj_fC(bRZbcDkUd9o ziiZTj%4hci@j>k~jAwd$C#!xhen6l%9^v(+lsLtK7@NVW7DTOE?@_pIjRp;dQ}iYg zzdnFIj#Va<8G7YG%Rzau18W=+tSnaAs>)n8w}=t1tVm?@(;xSD7fj2$tzb&-S30ZN zs9L2mn5}o+^(-sAeSPB1-?Oj7u^~f4p`k-!=>3&g_jy-X4vF~hT}_HRBMnxmp^Lh) zAA&E6VR7Cat>x{P3jQhSpMBerBvN zal#lhJ9C1Lny9TfYVt@{Q^4@Y>M@0OtyY+-(xw*=N-wB)xX0!05CpY7>?@3P=4QHl zW~Ct92_5CbIR7sCV~_?tV`?`tqd%Qz$gMFqriWY&qGTFvw2sz@{?X}aqftw-zITzI zcew)O<7Vl>HmE=)-w@y}Eg++&LP zL(_P#?I2c_uyF%RoLl1|XN+BU;lmG^O}MIaW9O5p`4~_84@g@}qvOTcCWJz=sN?Ex zwTLYNjasi!)HCjh<5Lhtr)gBF1g%CuLGh*iK6wrxr^s6)imWXk)+|pn#1pl~*y<$p z_9Dffb|${-Zzo65PQp|k_e)vI23Mw`K5AkngTW*TAsX!yHKVOs6Yq_E7<2d>gB5ez zs?UNMCrjBByh&7)Ve)yo{^3oARTtDotPS;guYR?wt!_|TU1nb6oN8zwv>8`iFiADz zqe~YG!bgeMHICetRn6m9O~{p-jR|{)+z!AY3%M=^$F+j4o{UOuy=)RY_0~qUL672& zLkWxcwL7Iokd+2RZ0p0K8|-<$?1qMn<|SWPps8T5tlqwQ^>*Q^i}y2Y;!EMGbLWsw zCDP&Z96c31qgQF`VP^1ZHKR2u4O*d5uMtt!yogKj$9eBRdGW-4lr8d&i51GW%vpK+ z?d*=*ZtG+ZcXlRb%eF!u`r$L+Ylp3nX0z0rk(SepwIz+iE?63Eg4Q4_6O=3$`QS{f zo@1ry2MyA{b-~kM&$ufl)y5{J7pD!8qJ!ULW8N%mt_@4>IhH`#2v*$LUtXUgJulV{ z(#-W1s`vVxN?pCiXBKo$rKlBD{i@Yn!;9$R{xVc0pV)_r#0Uzh%*vM!pjffs$7bqt zORLgWuXaWAGYuO}kP3E^>eRv)3=OOv_F@@^+X=8y1kQ^| zW(1)D!vpKE;AL?#2cI^jgyNFL`u7o$B;QAjm%z_#V=B%^$w{#?hObU@mrkd*I2~@g z&7xGgt@V}wzN+D>ck@^Q$h6eWO=q{@PIvkp4wqkWX>4}8-m1~_{XDey8kxcvUc-l= zd{5t7uVM;>-Gd=1o1@0^{;M9$28hptQh&G&SQY&XcHHK`M2XuQfE^8hHwE0nm~4sm zFrFS!J3St~!Rv8oI@LyO#x7GeO&g_L1~Xc(7OryEHH`~pjUN?vwmk5&pEt9=B>v4* ziD1+AN4E@1=~gWDv4f~jGfl*P3a3#wdTv@D%}WPW0va8<$l z&h|{U_Tv2*hxi!zK6IZQqhvum?PCvn&&6~NK`--$sKFsAN2hDequnsKF*KsD$cqD5 z-)ysAS{F#os??WlS#41}v!!6fspfYn+o@iA?ZU;&S6sRHYF1e|eo#in;Bkcm_ic|o zwhfTSM3l>MjEN@f*~j8~cSAdrnon)7*YUD(LJjG>I>FJXvg0C+#ylE^4CF#F6c<~5 z&~|)qwDXl?RTv9C=*wAvc8k4 z()pkiOQd`nHc%XV*9n6_Bs;t6KT6EU3uW45{p8W!Yp&C`Oj-M%rN+v5;cR-uniev) zTE;Xu9=@Y++~CVgkGCh-5-7J%QEvQ~BB#dFt)_ZSyRpmIZ4`~!-iCH%m$F+aDziiN zwtBwtA9w4ljm|8M4d3xJIt9DNq%msJ`^ysMCc08eyQfxy(3!A1&Pz14i^lr`^3z|k zsU<*OxbIb5F*HenHNf+7h)x=ZjSf%RQxI%PU*m-q?r{!P=!Y zXM{P}lowtrDPqDO_>vEPf$D469INn41k?6X0k3js4P`@nRu_KQq}|!&6r53CgM7FE z-N7vH*gA}s#{6R4Xi2ga(C8ekD{ZtqH#~@O+QzrSp;j>lTHe4uKAHvPSIKKxSlPe^ zk6cG7tM1bNH->L{f9jK9u1D+2$aDH@OQdCUYbK{>rVYuN;|NCV>9LB8Wmk`#;m-7p znPzmSo9zL&U8D2n3@(^5$7`8oa*VY3oEEj-S2(x=?pcQhbNjP8I5_PQ6*fYG|42Nd5qjZ8X zG_68oWw+ek9j(3Zv0shn^)WE6=CG^dt}J;Z3-dX8SVFs#XX}`V%gcW9 znFHu)d5KSp{JP`F6(5@T3?FOohx!l3;E9(5&ofryd*vNDT{mKCIni)k51Xntu0sl9 zoDZ_HLBQ7=8GniGIXS@`&KgYk9f2`G%aR57BMM9}9&11wOV zo*Py=auk+y!K1OH##>a2ywHekc)rZmhHW7Xv+kPIQX?NlfB5_`#Qxxi={)KUD{>Xw z&f*FMYvMSC6~Utu)ya^Y-K`e{VY#TnxZ3F|aJiz6PK^Nr?s5iyt=nl+vd#AD`f<7C z*R8p6aML3XKQJP8cU|nh*oX%oeq_wx8`fS|E;WrFYC~P?QQ_PsbW`WkHVLJKqe*f# z$#>KSHc&7v#|xv!U{Z-{Y$Do3vs*M{(qVP0-DsAg!Dd#djNE#Zv(Go;ilJqYb8L&b zYdAa>OmKKM`7q40guIAl?y52o*<~H}szCZ6=dHR(ak=NwTj$JQ^N_E+Fhf_iX6WD> z%Y03(utzcv9!#9hpE-3b-}0b={^r1He#mAu;j6LrN>#UEGwcI{(`6Nm8l2V;l?IK9 z_ZhCfVbsP_d$ezqruKD?aP{5aN3a6|$;w==gg!mpr@zsjofq}5shXI*&Rxx#-3{ZK zrLy*!Z6%+7HhXVp;H9-cj3?CM!P#wp(jyw8$$5 zT4-r4egu{AO{%yVfvjW|%#9X7)u@&Y-@e!pR-BI&p!|dRSRAsvk&opcGz~Nf%+~lu z4LA9p%WoW7m4>~v1+LPeqYA!YHw(_X6$@tok~^vzPS zI5xFsF&4+(wN_k08s&18O`dLFvSZ$8Yr`K3CN*!t_ONr?w!~+`AKNdsw_{wzJ_LBa zBJaiK#hpwf@mhg71cud4g&^2i>U;{{j6Ept!{*<u5&8*@G0E^KR; zd0HqbuPLc0H}1eM5MlF~sYFbI)fx!6oX^rO9x3I`;D>I>)Dd+A@_n}Sh8w!}E@Tyz zAAC^BU_C${4P^X0c@PGbJFXMJkS62%-h8u}523tKyHO(=b|&E;bQQvH5g5B#cnaa= zy>kY%rp!SIAVnj4jcfIhqVKk*YY8~ zt%}dQQww}p+n4Q>A5FtkYlQMf<@b(klOe-o&-7WMzCmM)9KI{-3P+XurOJlvXjVaG zc$mZLp45u(uL-N z%S%xG8*$ub!6&QV(2@`FRShilR5|;1oTug&I3gxfP#>*c8yGaHGTM=`+8gy0H57Zk zsB6$`lAz&ul+o+o$Rm3e(E5oV|-!K$CA?rkWh%lmZ zNODZ^sSQ(cc)qNp`{DOv|X&^qAM? z9bMWuzb^P$*|gyigK4f>@60L>3>&S{&eIvQ>$q4bS3l%>QZ82?wa4u^mvF$x;$F7j z%i?KlKePdgmha5TqngCanise#t;Ls46YYK<^OAaUnr@0qFHXUR3zr+KdwjYN(YZY< zAH{21#;+>*7+956J_*VA3J%{#z-bM4Mb*!X%gtVsDbrDq!<-p&ikB>#)s_~ut^Oj` zEZ}^GM&FP)r8nKY?CM+fy7zGW8?px>`&%eeFHRK9*oz;1-5;+?^HP&4*t-5-x|6U*PCYH2qxLoRw@Mi;b8jyNS4H0!2h>FseBb4@Yhx5(uU z3O@Cb%b1sQs)$qNDyx^&d6$9h`ihDl8jAa&yh2CVWO5l6G0)P~1ua?b^mtUt^XRAr*bEEwcC$C^uOK$!T7Hte9T9&#u(OxG1EEPKSM9G4k!mF zN;joFtg+SRJWF{)o^5p?&l=JRk2udLwLvUDCcgVu-5`ya_$e>POtjy3gqRq+toXQ{EnOZK^Dy!-PskFILhT`uCP}JxRhLRs1^rXZYA5trEA~5L*p%nHb6i>D z^mLoNoX0ntFLf<@|3Ya6s@|F^WaclDq{2c;Dtb11xIa29V!8QZFw+_h2yHmPnwgcC zckv#Z(O=P2^4reD$-G=GtRXIM3FhgWAunIU7#lZhJWvESi@AkJ!dqT$A=n-ia!ewx z#VdK^-ezx?SLL-#w!2&LGy70%ya8a!cnU|S`EFu<+r^_tV2KQDVO+KV8M!PEY_q>) zcqBR@J3DP;dNAX8R%0H>L9k|QvBP6uU`op>Wm7tD@6W)cdj1&o?4_2t3qRy%QAw&e zN>QouNBzvDrxt#sAnrqDr}?ZFOVrY35iMSHGEAC8rCX&$XX>}}ircVui4~wy7*Tu) zXu!T;K7cw?hK zEjFaeb_%V6mn-_c+zxtBu9fi+|1O5W|Lcp>*rILL@nh7Y4(nCA$$GL|rtl+t{p+{y zwY|&d+c2%N_-0&o1@GMhRs4?V%qR&?9(VJ_?DVWsjYH7sHS=b(yE+p>G{Ygv>Eg%_ z`!o9xy?9-GX1<@@XlH_xpHy^mby@6;IcGUdvKoU|z!di-Wgx=N+WGEPAYkM+qj%wl;|rm^>8m&VkDmv^= zl~vObX-fCznyp3bLr-*6N#bJ`^k>*qqQYL}pSdWSEeMIb*a1C`lj?C!U_b{zhuNv{ z8GVb!X={-iumx>_9CnpX#rGwqh+ObCc{JlAF*KFEf0ONpz8;Q+X4h1Y&PQJ_GWpD_ z*(+MhrLNA?MS22$J^X8S9Ag#lJK1rkcOvm&6n$l)PD+Q_<(6wUHR$t>fuvHMV&DKp zKv2rPH&r6+xHPDxw6tZg6dF7sT7rAx#lq5P3CHKv)9W%b>!w#%O&=Bx51U>c8#gW% z8#`8(BL@5PUF4hpXPZjQPy6kqfCKiDyaa4U3Aoe6DPFzHq#H1mxU#-vC-s|1*2_#J z-u`*PxL9jxnMu+cavTMDYhe}@6_>8gm>XTZ;^SD0$Px*SZsdr{>BBPJyM#r0(>jQR zvI#;aKAsq`M^_OKra_c;cNbQm!!)rA<6VY#vPztiuJ-(YoV^KrTxWSNeBN_rU(f9O z%$a@DXht(yEZMS-Em@YgNb)9|M6t-?Y>>oBD0L&pvT+kg0lQ)OfCe0XxsZN9uYHLf zYP!S(+bx$Q4gF#_K%Dw^ffjCn-coK$Yx(}4_sooB*-m;t*_tytdiBnG-sRb!|3d@f zqERz^f=CGGA6E$$#+DlqYormsr^_9_tizmeH5&Wk{o8s2japfLG|&i;-1g&DYb_@D zx1`DCy*H~Fozbkn{K>Cd?P>L9?310?EZ=2+jde>t?=emCus}_Xb#{L0uA^k z_D2_Sf-0yISuT9i7A41WM5N51thq*Xi=FZSApgo^o%N(CButf!q2{EJ+n?5n1g|oW zEF&u%565X{qL8Eo8z~0aHp6MIW6<5dtJIv4v?sExGal&L*wZ;4^SH(;)uc0&^h5@# zaX-S42DgVj>G5g1*Y3943?`q_m5uil0}lJ$`ar;Lbvf(?vp?C$#=3LRnj$NpW>_e=6pwddY_T#jgbz-14d>i-(zAX!ORBm;|Xy_d{C6c zxD!f>VBSW7F9wk1#>KM;{L`oj2|3g9tK@(zpPQyYa}smukg0=odsv94NN zlLpTohRcr5Z=b8dUP!&Se_%a!V4@O@ z&dO%DvV5Y(48K}6q-T4u7r<`WkND?JkW_n#62@RYIZZ|;BqdxTaU9-?OFZ=p(%~i5 zXN7&q;Wi7H9j90FIKeYCi3Jf$hzFv$G}3O$4YElz4SBGdyi}Pk9WaNYF}qz!#LW9j zyDK|?{_))Qsm-a>=Be$ukNiL3KBln00)N!*@_lcgRQoDTrRUkcDe1-HlN#JxJPHU**#9Xai_uV zbm7P$0_GlTKA7n4>Oq=hy<6$HZ|}j8sW0!yty=AWi8*BpV{}B zU}q_1n~U@Y0zJR;^wUY)mMHjn(Mj(8}oFVb6G>BfNpnO_6Un z;br=mR|=*kg^WENoD2jk4wuC#&?jF!hmVF+7WyK#DTEm^N^yBcQvfKrsI_I;8=iEo z9P(r#ytyUGZCY9w`kz!8Nx%^|q6g5Y_`?Ka0Aipr*kVCBQd!PVLd z1$wLg79s=W*GMu!q%)BigkC@vBryS05agdUY`SN_Zw-IcTMa7HcfV&%IMLgi2(Nk1 z-P202N_J>uc#6O65&+vf^uP@H2&*d->x=%>K! zCo+I_!+u3klH7m=9fZVVsG5H=JG)?;Ydv2<7*?~~*u*#&xL?ZMkGd=+#at8w??XPH zIr)&{#*?DMtDf{6asuiXF4L3Za3O1@^@I=_TaQhT2!_^vZr0yh3o5tVRT<36;Y43w zB8)`J%3Zf0td-fCkL=C$XPXb5?az7JkBv3)314MD2I?aShUy@*fmIQFNRJ519}=_&jv|s{9X7+wI&ZR`4p%!0Ui@q~+^qMc zy1wcQ`*ilOKNRZgOwfA=e_utMBXVvLqxqKjL0I#C;}i*nBX4$@N^)VFJFiTIm>J-#O?8zf3Y+`FWo}Ku>|Cp_Ue~O`jM4gVK9+JtO&)I| zbsZZES6@x~-J+hWuS@MMG!LR+yYe9WHY&(?psA%)XDSrUJM<=@;DsB7PY1UMUwGx> znG3JHa-FQMKCqdq(!6Y*Y$9Y#COaef90}<^@MM*cF{QMA-lQ|x18%8|An`^fruOEf z;cM=|A|1v4{2?j^Xt_`8)T$W@#intHLwlW40vT1~P#{I$UP>$Oy&(H^W%@d{|Pqn^4O!RSIv&Sy!+(I-L#Jf z@R=vMPwaiCP;lz>^WmmX5mycffGZE$>A;(iC*X4ln<*pTRx_!l2?T=$1>-|Li`V*) zYnS5zhv<0JDM~cB%dJyP0%!evogd@#^`>VGk|%fgX{WQ5F^I8tiY61x!0d5+-T%ZB zPuw>6zJdPt58m|z4fu(>_}P1q&BM?0JTk~tH6;?M78OWFWf9qNNbMK&M!3QB2BY{8 z1)@I&fm}vp2HYT;ldd05x_*cfh?FUFcSs+5yldyq#z)2ef|73X4+f z??xF3gD=pp!rX$bHM5Y}9ltg)9lz?hZIw3@S%w7Z4Gsv>T43&ew{5>6xIfX!It%;b zx%?)1fDP&s@OEdH5?=lZ0sxunrIXVz@t&8%t{ z%?G8g<3dqVq%&S1cn$f&SzLj%pvg2h}tx9*QwfTPwvG0UN9Zsj+?sPil?_S*0;Xu>b;k9dr zhet<;Gm4U-@8-|PI{v;gf4q5=gc(JL$QF#sghKk94 zW`+jxGcI04tR!4H@Q?KcSn}pOKk=bx+n)rBh20N{39`FHHQJ&3Ky3iqoU+$8dI zx!);=MylQ+M0$)k-3fQqExCt$M8qWDkbT^~3xPg)1=*Wh3_0(Z-{ct^htJhHW*4LD z&0=7^q=gT|IDwE*T45|Nc^F>>X?y!MKBgpTgDs~AMdoVXS?GmO%eC-&=COqwciwZ~ zZO*9U+ygsy%+CMP<#f8DX^+w1O-bUXzWk+6>%`qp?mo7Ax1N1kAM4#zt8MC~1U`mJ z9EaKa#lHZrK&}EXU4F~qwR)a}xI)8uouX(VUQ?EUUcGO{S?SKKcdk@YL} z@T}j|TAuZ*^?ek5lPyG1-9{Dq7>^kSX9i>TJga>Oab*PbEoC`JmSh$Kz3ST3VysOO zbwn{>UPP?>U-I!G$~N_>P*m~Ouwxvb(wmN80Wi!bJyx1=KFsM0 zuUvi$FPN2U=Hwc_99zPNTYR|^1)r|2=>+k;dYD;h^)+{Bk29c&e-)K>zJqc4Nb6>T z#j7XhE=jCsNz3A{%?0BkJLpL_5(@I-Jn6cUXrw)CAl4`Z0)<8_+D%vFP@$V%;UZ?B zzvYjXgil_T``ybvGXFu=e+zFbpzSYtTlWj(>K2=gPs=z96eiAoId9{QneZMlz`h_p z1K-!@Poan-Hv{kpA3B>v@3GtHXKwSL1o8#k8?=CR=w^KVd(rh`OUMW#o*XN5w7B^$;C7pOs_aT zWJiKJwIJ*F_OUPMJ&}}Gjzl7mVNJ{FCm((aJ6%DexYv=0x-C{qz?pX_{GA^vCFl_9 z)Vv9~zzD7H3Q$44fAbCy?sBomp^#KF$dkko@!P6Pyp+a#B}-^@l>-XsIbShEg~2^BZa$Hw20{ zf&ol4GK>l3djvg`;F&Ozbb{vs4h3IMS3eh13K6sTJ>nEMvoBRI{8jBa zI!6*}h5ifs2iRqELR}aX9wZC{o-s;0Oj4o%{F z*b~pXJ-Harudt3hZc6IFIv!6tza~!To zoxFtr(I&9+sYp0Bl81!IbJBBI`nNzY-+t>HkN5*-+2uE(tiA@QwY!&m#CqQuystD3g3iU4t1w zW=GnrkHzCj0RQO_Rwtmc9_-$LgkcHAt260MsWh@cQUNh)eHfb2!-_HCb(u_(OO%lt zsiiq-?4$7(Z4_)FI+96Fh&O~7RZ3*HQ>948 zf=odJl3eR%-D`3^gI4QcPfn)@`n$U1m~vMLDGL%&+#-hAe-XbZkPfe?vd?K&052&@ zL7V%iU^pray@JqFkjIOZHtuPuK6sGEqW7PP7K_nHsq{6v;#&--HRUqhy5h4W)aU+Z zb`ch*7`&uwgpZs;;c4y*8zwq|tv-aSy4Hr1JwV5Pyq|T`RTg3{{0sE$A1drB>@P@# zwSoOA(&AR_kB@ri?BO|S+|FtegL)^esLxf5E9TPN&8#I-Yq)cG2-54w;mp&k@q#T5 z^9B^nri*WZQj)cubLGBl(;3YT(-0g3&9sQNvbWZib;Zh2ha*~!%V~I}{AMMRj3Y^T z{%>j{Z2mR+jyy$>d8{g2B#=UvKKwONEe<)#(QY zZyAio@iKVxU?MSi^9KW+BOT@8PP7{?cZ_sm;Y8tX=3$=_e^amtW#N6QwMc~6LN7!= ziRcnDp-JU_yAs~$lD|Cz&u67*IaCYHgdPNJU&m2U%>zcGUD$UV0&5|=&rVzZCB*g+ zJR*gU5CLy|FT03|e&}{F+9?IASU3dFw(a z`!;(O_5>^9M}v|Mm~B?0VHdW+Uh8J`BJPD%fjbH*VpMOlm`oOf9RbKX8~n}Wsltl4 zWJtPFGU4~W1138E_Vo9^gPb?{d*8tpM+mzSb{Km7=Bit79eR?Dub!S(Kg?b&JojAb zdw;=SF(lCIicn&w8KE>H7FfSmlnjFSknTg6K@u)5f`n!XMkmQm-!p%KeWLV3SQAO+ zYT|E+26$aip0<51+|85mul!_?mv&^B@k5d1hk_U)KNVlKm{aZVE--{dDT#K?BC7o@62q-JZ=`veftvy?S$zH zYhxY{L*zCS4#H>a8I$O&Ihio$W%$PrS$HmCs2YY4(RM&PZDA5-QpiBC+?9)2I{sD4!Zra(xZ$ZU$~ zXFZ`=d(^T|_U|JH9EH_^O1*U%Y>%HTEqoacz(8vfaOVCa(UbH0b3KXGH%+L4L?RGS z6!Dv$48-O}#KM)W;<7{b+ShoKgLKyS zz}`8BF_nbBR;?)&XERAMheA}=(*#>ZnkN@tQ)GbCvz$;ronyrZHQ>!G0#3xyIuT$T3V|=VUb(lsS zu%~3bo}|lOiG)fCx7|8!H)`v>I7b3-=uAS61PL8bXW)D2V-Nq=$`?>bargnO!*U*L zc0mYYZ#XQI&sdLRLx%mrWB@s5NS-m<#)6@s#qTg6%GOF`Ukhe0a}|jm+M{Lm^&*mo zXFuff`XDI81K0-R*kF1m=p-V87zw zUWdDkkZ!r4sIg86y15*}&%U;CQ+m}c{k1!DcUo%x-T&aac?vjTVXNgo=EY;k=(;?v z@sTeI$AE|QUf9nmCi0v3X2MbUMejnSQ%Hc%Rgx`XzrpG-L99NHI1Ty2o0wC5YZbKs zjh^m2m~~$RC>YbLfit!?0$ke=Yk`};?T^Rl$Z}^ak96m+=NG$M(^9w}7hyXWX)3rl^ zSZvzx3x?Lk0FLarP^X&DtDWJnb`9;$rc-%DZe-b+((2AosB?9xG(y*rQn{)(jmCchTs^_n4IhR!C z{~MQ7It#!5T=BKn_$%fNX!cmFpJSbDkny8}BK&`+gs?U*q^eVZ73S+w^UCK7^Ts7} zM3i1SLFuSGg%cEuBPHPvcq-*a+&~yC#jo-dH@AGDZ*UD4k49C6Y%Va31#9 zlL2oML5E&Bspt|mz`g3+AC+~%C{lVQqv7K=;bZ!bbJNDzx_nl~PQ@vKyauxyx8Txg zfsFY5<(?Q)SFx8F?Ptgm*jC6=0i+>IGxps~W@0u_QRa`P z>cOFH-l&J|mP3}tn)z?v!3KZ*$)S9{Qr=i)4QC?o>rY#4`uRT(6uqMU@~5DZ<4fZ6 z_*2Yd3|zHCctBlcR=wC;3SLUZj&iBoajaPK7E8rW+iXziELV=CS^97$UWsQ5QYF=) zE8B{?^hZ-Vm*ca(&&3Xi95ItegVWRUJW+bkmpB~aYfmhKEyY7-ed$~`v9mtX7~6!I zQ)J_!C(hEt{`7ldG3IyK!p^v@=owJ*gMKCBm_O8h^sn-#9vU*(^y!?(VRhL3vb_gx zf>ITC=dX_56e-Nc(6np1wyI5LOCLsoTm5HbX%Ls<@9{R;(Ocd2IO#FVF(i zh%#$%#0_4v!C>}E>flhpH)NW#X6Ga;ay;W!DLAxJH)va7TdwOJ=%`g~J;jf8+FWx% z4WF()biR(A!1uu-CWc^_bMi}?nbp$fe#rmcVu%xS6|=gHD}hR^XubMb-f=jT2GNN6k|m`=J|i* z!W)@wVVpgunPaXm$hDR-ejOY(<253lXwtp+t{XtJg|_uAmHptL^nLO1>%p}-!y?%> zC^zqAP6J5uTtoxdm0!S-Z5J#Pj5!u)z|!^_4FJtxSAMCQ9mtzPd;5*sYjl9O{}r$$ zZqT02w>BQ_e1}n${tvJG3W!b$K0sta_*rb)5yvx7bjyqU89J6e!@u)qFibH0qGwpz ze$g{r;m<(r7d^w$_H9}Qwc92vYTO2ajWgbL9qRAz|iu z;iFlnmaEAjgzk;b2}kg|vOicHF*%WyV=V>EK42r5gF1a~y^I)`7Eqz)I>&~iDAU)@ zk`b^SaX^?!5ZE=9P*0A4tI_q?_lxW9SfLE2dwNQv%D~KUcK#{c{eb=imL6MKF8ZM#ixeB%y;?TUpXCt*h3y zy{_OpscsBH@^_4jeg%Kf^t)0W`%(51ds(mwk5INLm)N24(7A#LZ^8?*N`66{2G@V( z2&Z&IO@ilq10XZZZZ@K@kVQ0EQOE!$R4e}3Ee4)x!aeN7EAR$-24E@?u}vt16aq*L zqs+Kb6bd;-Wj#8&@3FP}_N}4+?7M4c_pN#Cv5|fI#`Zx@j$C;I`|lH=>v5dAkCSwB zNwq*c)Zo%63`89zoLs*x?Ky26?L7xt6759Cq9HfV z4B_^k!`QX>0E+q3;sX|q1#zxKtNhJ@Yxr7kfS(gC*@#*QY$3$kh}&qLBv{M|f-|>GASFSVDLk2ppA6H4ETm08Feeh9~>rfrEQH9(~jv z2({43JiG6?``(Ad`*t$IChM)&8klU3F+g$Ry~1N^1tvR)7Yct(@YgthjgmdjODx$# zFFcct0(({9E(jYFTlBWf79q67w#-eaE+k%*CM$jUsk%@$c#sy40LII&VjE)cmnpZ1 z3Z@~fptp% zOe2vL`eRq9L*&`;)UFlTJ7YhXw6=f4*;CGvxv0yOc3NBaD9obSU z78_{HC)u0Ti2)^8?BVp4V~z0m9ps2GgE0JaB+0125vtdso(a*}MXQSSU)t_4I1IJ( zbX9q~+6~&#KBRW0#`W4ggZ-p^?gyIf%!69H6<785#dbT|tB6XGM03|LK3H-t9~Yff zG$!iU9_P1P?b+>U?^W%RXzZnqCDB3)g-sWR;ydh zDkQIiT)`?bqYlH!Q6-rm~;du2RC=;Ce*2&;`luEv@383P$Imd*)fOo2H zD3r5LMU8|v05>j_T{2!$o(n0wFk#|K;W{^lR7rC$JE^;iOq_k4(hYG|tokLEPlKgv zwBoxi^oo6nIn?L1bgbM&dywOq@G~{mK2u!#y{wvxdBHd#>I$^Iuh;glSvxQOLXJ1g zH_yS+KJU?K?Tn@CwWIT*eRli2NQD7(DCz3sqAs^^UNp=C#P2b(>froeM4}o=-9J_V z7-j+RzEvaac&?>w5C5{+c3w66y}T{OhwZS z)$T8#W6`RNGpn~bY?5s$2K|zF3YvGfu?92LgZ-~%3Ic7 ze*hjy3IihKL&y+PI~QB?QnDu$Bt=iG=-$)_hq^X2yd5sRSH2}Y;!xb{2P^LneKuIO zmWmcn)D7`K46OL=)dTm8SJNvdJIk8}QVw&Vjx?))9I)YwuY|z-TBrAOSnt60ihW zQV(Ay5D{U=jtIA?a+vI|A?*d`6K>6h7lP9l1#dzz+o#-7;Zuf4G_*GyHv2y9G)kYI zGoOaH8$qQM!(VQ4ZHva;h<9W<{tcYpHd1-yVlug?)P(iZeW%)E-cnrCADk?#F?0%RR&7ygF4Z;R zl3XLIf5JcGm;6&JR@la)EIO68b{nJ~s7k0ei4BEEL#R1XDjtzVawCKwfU|*S!JXR- zzd~gm=(8)0EUDI#7Qi>RxV8#Xe3&-8# z=XX>)zd-vW`jJd2LU4lVTD)m#pZ7r8)cWktyj!35RJ1;end|l0i9O55$!=@+xhz%S z<0R&^u)qIOd=_o_IN5D5^3gcEQUyLv-V$eP$vBZW(H^Ig;eBS8^hr4uTA#a`eb$u> z?~}JgpH!pd`+Pq0G@oqOm5X?GE_r@WHK%eR*Mu150wwKB2~P8W0jmBB;G?J;1Z*u& z&@gEW??NnKM4{+;M1^vE4_|PMr?vXb?lE^F&SDnA)-q4|j1t#*!9H>DAUC}QLI)%I z`RTV_yNqBTp3u-l3FPo)bj-NQf{^NT&y&fFU$#V@vCxkbJIlLno4CnaaLj%xHu1Be z31GS}K?-C)_yO^prcD#v|Ev6L5$@sN;2Eeci>ju*a(s(U%m%i2EEzxZQ6RBLjBk^Z zQ#CSmhNp~N;+rO0dgB$u(1S?RIl2HkjVKe%q7N0THBho~_A$+u)`UC!YF}S^ruO~^ zZoL_>hI4a|&i|~^K;$hD4@-IRt}T~;-9k59w`IULzpM>=sO@>p&Q0`JvqL|L+kB1K zmH!O`*fn->P3|WetjY5&8Z6}&DH50$tzV+Syx%4b<`Vb6z#bmv_H(ihW1BAM9YlwD zzim1!mb$s#K`H|AW36A>`&z%ZEsPiaI=t8Km-fHbFSRH7E*3f$`h}!31e*8*(02t< zoc%F5pdj#!P~9eg>jqqTZeNjx5P+OA>r5jG{vzoKKcyd|cwduQT2e9v5}cOD0d5P! z3x#L%5SPW3Q`&@&`$Rd#ZxvIq1U!o=d@|Oou5vX&4-fe9FgO(njGgc*JB5DX;ZsOS zL9QCyQsntlR}ye#bxTU%xOoz4>lTFNk^U_YBKvC~JRaEvYzw>eP|r5dMr^C_=2 zsp7~@S&U@~o}O1UWJMzLFt<}M8!rU&<|}xkp;(p|DE$JR=WgE?s3n|tP5&>|q~m}V z><>774+jhcXSo#R(rk)^Je;;~Y~x&V${uL=0B^Zsb%bd->}vvofY0^ z`>Z%RdU>B*na5{q$7!E9HrWlKDRT}+G+M_0DgoZSYBYd zN)8=1d5$)|Gwr_4WVCs#mMT~E1@^}NjL##bQW*uB8*Lt$Y%`D)+;UEdLLXY3k_H7I zG^{c5$^NVAbVJ8>Oj=`DeF+$wwB5b1*$dH7AQ*YPjj{;}%NfG?S0II5C|^DewhUV^tNzSZB`+fO?M{w<90Z@J$%Al$AF>O_SX zI2u9Ju;NzT6G;0W3HVKls|L*c5vRpztJ=gD0c;vHj(M#*-E-e?FN;dSB5-?ADF5dY9O|wDA(1 z;QcoFDoJz#m@4(#WUB3cK_|3+*?U_yFN`;s;`TAF=F)!X1rMRxQAuGZN8aVx&Roi> zP?0-BM1U;g^dzvRBj8QWnp1U7ICajH%`@gR+1&tzx0sT|FyQaHd>a3WQ`FC2o<4)a zM&X_1#e8B>!KrkcIk1~JPe{g&YBi|lEdC}Rw0OFF;8fI?JuOu(-gU z0bCw!*o$p0(A?UQOd7N6h5eS}wKNe@0}Cj)N5RK!nx>ZT@Ma>eaG)}nX@TO(3#hn{ zwV!9eVRVLE;BsQDXG0Y*xo?*9W(S#T+IwoSz4k<-KgXqc0fNt>wa0q$y~-}Y*SVap zCnc?O3K^z15OY)r+yn({@tU{UEI@!Ij6ryd$V_k%CMV6F(^TCk+pdiOdo{MNcL}0z zd*6KxGVw;fK0$69y$>H4pt?W=04w@NW^`K3q@c?;rVH7`k<$py4Eja8yxwepxQ0^Ts?9wdY^Wqbh@n*yEq48`y!xAht2xFU*k$`M5zQkYWF zZT$<&Un3=fc9qBK7_)RlCx;^A5izn0-o!~x0>ij39``U$MaJXq$aMEt3U#O)%tB48AeQrNf1tmn~c*^m_%&+RpM7X9wbqmR04ic+mA zO08n=^0^#-mlB+vysdSUU3da@ceA--@ju?sneNm}xitIE{PJ6ONMiFo){1Jo{W0gk z#EppuxAeYMsE-96?AAW^e@;3%WrO;@+OfObJyYX`oHk%@2>K`Sf?cfuw5-f%|-Xpc

K6B~TIT$OQsY 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 literal 0 HcmV?d00001 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruCrcf.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruCrcf.pal new file mode 100644 index 0000000..cbd3735 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruCrcf.pal @@ -0,0 +1,24 @@ +; +; Full range correlation coefficient palette +; Made by Zander Urquhart +; + +Product: CC +Units: NONE +Step: 0.001 + +Color: 0 0 0 0 +Color: 0.5 128 128 148 +Color: 0.6 0 0 64 +Color: 0.7 0 0 128 +Color: 0.8 255 255 128 +Color: 0.9 255 150 64 +Color: 0.95 192 75 0 +Color: 0.975 128 0 0 +Color: 1.0 64 0 0 +Color: 1.01 128 16 112 +Color: 1.05 255 128 255 +Color: 1.1 255 255 255 + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruDphs.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruDphs.pal new file mode 100644 index 0000000..6365802 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruDphs.pal @@ -0,0 +1,21 @@ +; +; Full range differential phase palette +; Made by Zander Urquhart +; + +Product: DP +Units: degree +Step: 30 + +Color: 0 255 255 255 +Color: 15 255 255 255 +Color: 30 0 0 64 +Color: 45 128 255 128 +Color: 60 0 64 0 +Color: 75 255 255 128 +Color: 90 255 128 0 +Color: 120 64 0 0 +Color: 180 255 128 255 + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruDrfl.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruDrfl.pal new file mode 100644 index 0000000..3ed8cc9 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruDrfl.pal @@ -0,0 +1,24 @@ +; +; Full range differential reflectivity palette +; Made by Zander Urquhart +; + +Product: ZDR +Units: DB +Step: 1 + +Color: -8 0 0 0 +Color: -3.5 0 0 0 +Color: 0 180 180 180 +Color: 0.5 0 0 96 +Color: 1 128 255 255 +Color: 2 0 64 0 +Color: 2.5 255 255 128 +Color: 3 255 128 0 +Color: 4 192 0 0 +Color: 5 64 0 0 +Color: 8 255 127 255 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruKdp.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruKdp.pal new file mode 100644 index 0000000..529a224 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruKdp.pal @@ -0,0 +1,23 @@ +; +; Full range KDP palette +; Made by Zander Urquhart +; + +Product: DP +Units: DEG/KM +Step: 30 + +Color: -2.0 64 64 64 +Color: -1.0 150 150 150 +Color: -0.5 64 0 16 +Color: 0.0 128 0 0 +Color: 1.0 255 128 128 +Color: 2.0 96 0 128 +Color: 3.0 128 128 255 +Color: 4.0 0 64 0 +Color: 5.0 255 255 128 +Color: 6.0 128 64 0 +Color: 10.0 255 255 255 + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruPrecipDepiction.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruPrecipDepiction.pal new file mode 100644 index 0000000..a7398af --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruPrecipDepiction.pal @@ -0,0 +1,36 @@ +; +; Full range reflectivity palette +; Made by Amelia Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: 0 0 0 0 RAIN +Color: 10 0 128 63 RAIN +Color: 20 128 255 192 RAIN +Color: 30 0 64 0 RAIN +Color: 40 255 255 128 RAIN +Color: 50 64 0 0 RAIN +Color: 60 255 127 255 RAIN + +Color: 0 0 0 0 MIX +Color: 20 255 170 170 MIX +Color: 30 192 0 0 64 0 0 MIX +Color: 40 32 32 64 MIX +Color: 45 127 225 255 MIX +Color: 50 215 235 255 MIX +Color: 60 30 90 30 MIX + +Color: 0 0 0 0 SNOW +Color: 20 153 255 255 SNOW +Color: 30 0 127 255 0 0 64 SNOW +Color: 40 64 0 64 SNOW +Color: 45 192 125 192 SNOW +Color: 50 255 225 255 SNOW +Color: 60 90 30 30 SNOW + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruPwat.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruPwat.pal new file mode 100644 index 0000000..35a4b4e --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruPwat.pal @@ -0,0 +1,23 @@ +; +; Full range precipitable water and vertically integrated liquid palette +; Made by Amelia Urquhart +; + +Product: PWAT +Units: kg/m^2 +Step: 10 + +Color: 0 70 70 70 218 218 218 +Color: 10 244 221 189 90 57 57 +Color: 20 57 65 103 +Color: 30 176 237 255 +Color: 40 12 27 103 +Color: 50 12 255 12 14 80 16 +Color: 60 87 40 87 +Color: 70 241 41 237 +Color: 80 110 18 12 +Color: 100 255 250 12 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-12Ptypes.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-12Ptypes.pal new file mode 100644 index 0000000..74df937 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-12Ptypes.pal @@ -0,0 +1,77 @@ +; +; Full range reflectivity palette +; Made by Zander Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: 0 0 0 0 RAIN +Color: 10 0 64 32 RAIN +Color: 20 128 255 192 RAIN +Color: 30 0 64 0 RAIN +Color: 40 255 255 128 RAIN +Color: 50 64 0 0 RAIN +Color: 60 255 127 255 RAIN + +Color: 0 0 0 0 FRZR_ELEV +Color: 10 64 18 18 FRZR_ELEV +Color: 20 255 70 70 FRZR_ELEV +Color: 40 145 0 0 FRZR_ELEV +Color: 60 32 0 0 FRZR_ELEV + +Color: 0 0 0 0 FRZR_SRFC +Color: 10 64 43 43 FRZR_SRFC +Color: 20 255 170 170 FRZR_SRFC +Color: 40 255 0 0 FRZR_SRFC +Color: 60 128 0 0 FRZR_SRFC + +Color: 0 0 0 0 FRZR_ICEP_MIX +Color: 10 64 19 64 FRZR_ICEP_MIX +Color: 20 255 75 255 FRZR_ICEP_MIX +Color: 60 75 0 75 FRZR_ICEP_MIX + +Color: 0 0 0 0 ICEP +Color: 10 51 23 64 ICEP +Color: 20 203 93 255 ICEP +Color: 60 48 0 64 ICEP + +Color: 0 0 0 0 RAIN_ICEP_MIX +Color: 10 51 43 38 RAIN_ICEP_MIX +Color: 20 203 173 153 RAIN_ICEP_MIX +Color: 60 20 20 20 RAIN_ICEP_MIX + +Color: 0 0 0 0 RAIN_SNOW_MIX +Color: 10 38 43 51 RAIN_SNOW_MIX +Color: 20 153 173 203 RAIN_SNOW_MIX +Color: 60 20 20 20 RAIN_SNOW_MIX + +Color: 0 0 0 0 ICEP_SNOW_MIX +Color: 10 64 32 0 ICEP_SNOW_MIX +Color: 20 255 128 0 ICEP_SNOW_MIX +Color: 60 75 22 0 ICEP_SNOW_MIX + +Color: 0 0 0 0 FRZR_SNOW_MIX +Color: 10 49 31 31 FRZR_SNOW_MIX +Color: 20 194 123 123 FRZR_SNOW_MIX +Color: 60 50 30 30 FRZR_SNOW_MIX + +Color: 0 0 0 0 WET_SNOW +Color: 10 19 32 64 WET_SNOW +Color: 20 76 127 255 WET_SNOW +Color: 60 0 0 102 WET_SNOW + +Color: 0 0 0 0 DRY_SNOW +Color: 10 19 64 64 DRY_SNOW +Color: 20 76 255 255 DRY_SNOW +Color: 60 20 55 102 DRY_SNOW + +Color: 0 0 0 0 VERY_DRY_SNOW +Color: 10 38 64 64 VERY_DRY_SNOW +Color: 20 153 255 255 VERY_DRY_SNOW +Color: 60 0 30 102 VERY_DRY_SNOW + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-3Ptypes.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-3Ptypes.pal new file mode 100644 index 0000000..bd9308f --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-3Ptypes.pal @@ -0,0 +1,39 @@ +; +; Full range reflectivity palette +; Made by Zander Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: 0 0 0 0 RAIN +Color: 10 0 64 32 RAIN +Color: 20 128 255 192 RAIN +Color: 30 0 64 0 RAIN +Color: 40 255 255 128 RAIN +Color: 50 64 0 0 RAIN +Color: 60 255 127 255 RAIN + +Color: 0 0 0 0 WINTRY_MIX +Color: 10 64 40 40 WINTRY_MIX +Color: 20 255 170 170 WINTRY_MIX +Color: 30 192 0 0 64 0 0 WINTRY_MIX +Color: 40 32 32 64 WINTRY_MIX +Color: 45 127 175 215 WINTRY_MIX +; Color: 45 127 225 255 WINTRY_MIX bluer 45s +Color: 50 215 235 255 WINTRY_MIX +Color: 60 30 90 30 WINTRY_MIX + +Color: 0 0 0 0 SNOW +Color: 10 40 64 64 SNOW +Color: 20 153 255 255 SNOW +Color: 30 0 127 255 0 0 64 SNOW +Color: 40 64 0 64 SNOW +Color: 45 192 125 192 SNOW +Color: 50 255 225 255 SNOW +Color: 60 90 30 30 SNOW + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-4Ptypes.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-4Ptypes.pal new file mode 100644 index 0000000..6a6428e --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl-4Ptypes.pal @@ -0,0 +1,44 @@ +; +; Full range reflectivity palette +; Made by Amelia Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: 0 0 0 0 RAIN +Color: 10 0 64 32 RAIN +Color: 20 128 255 192 RAIN +Color: 30 0 64 0 RAIN +Color: 40 255 255 128 RAIN +Color: 50 64 0 0 RAIN +Color: 60 255 127 255 RAIN + +Color: 0 0 0 0 FRZR +Color: 10 64 32 48 FRZR +Color: 20 255 140 198 FRZR +Color: 30 191 80 143 64 16 48 FRZR +Color: 40 64 0 16 FRZR +Color: 50 255 0 0 FRZR +Color: 60 255 192 192 FRZR + +Color: 0 0 0 0 ICEP +Color: 10 48 32 64 ICEP +Color: 20 192 128 255 ICEP +Color: 30 130 32 180 48 16 64 ICEP +Color: 40 32 32 48 ICEP +Color: 60 215 215 245 ICEP + +Color: 0 0 0 0 SNOW +Color: 10 40 64 64 SNOW +Color: 20 153 255 255 SNOW +Color: 30 0 127 255 0 0 64 SNOW +Color: 40 64 0 64 SNOW +Color: 45 192 125 192 SNOW +Color: 50 255 225 255 SNOW +Color: 60 90 30 30 SNOW + + +ND: 0 0 0 +RF: 128 0 192 \ No newline at end of file diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl.pal new file mode 100644 index 0000000..6d311c8 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruRefl.pal @@ -0,0 +1,24 @@ +; +; Full range reflectivity palette +; Made by Amelia Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: -30 0 0 0 +Color: -29.999 64 0 96 +Color: -0 180 180 190 +Color: 10 0 0 96 128 255 255 +Color: 20 128 255 192 +Color: 30 0 48 16 +Color: 40 255 255 128 +Color: 50 64 0 0 +Color: 60 255 127 255 +Color: 70 64 0 64 +Color: 80 128 255 255 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflFrzr.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflFrzr.pal new file mode 100644 index 0000000..344293c --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflFrzr.pal @@ -0,0 +1,18 @@ +; +; Full range freezing rain reflectivity palette (low filter) +; Made by Zander Urquhart +; + +Product: BR +Units: DBZ +Step: 10 + +Color: 0 0 0 0 +Color: 20 255 129 255 +Color: 30 152 62 152 64 16 64 +Color: 40 64 0 16 +Color: 50 255 0 0 +Color: 60 255 192 192 + +ND: 0 0 0 +RF: 128 0 192 \ No newline at end of file diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSat.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSat.pal new file mode 100644 index 0000000..83bfde5 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSat.pal @@ -0,0 +1,27 @@ +; +; Full range high-saturation reflectivity palette +; Made by Amelia Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: -30 0 0 0 +Color: -29.999 64 0 96 +Color: -5 179 179 179 104 101 92 +Color: 10 0 0 255 +Color: 15 5 110 254 4 225 254 +Color: 25 0 105 5 +Color: 30 4 179 12 0 255 4 +Color: 40 255 255 0 +Color: 45 255 194 0 +Color: 50 255 132 0 +Color: 55 255 77 0 177 33 32 +Color: 60 255 83 241 +Color: 70 178 45 188 +Color: 80 128 255 255 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSatLowFilter.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSatLowFilter.pal new file mode 100644 index 0000000..38e3f27 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflHighSatLowFilter.pal @@ -0,0 +1,25 @@ +; +; Full range high-saturation reflectivity palette +; Made by Amelia Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: 0 0 0 0 +Color: 10 0 0 255 +Color: 15 5 110 254 4 225 254 +Color: 25 0 105 5 +Color: 30 4 179 12 0 255 4 +Color: 40 255 255 0 +Color: 45 255 194 0 +Color: 50 255 132 0 +Color: 55 255 77 0 177 33 32 +Color: 60 255 83 241 +Color: 70 178 45 188 +Color: 80 128 255 255 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflIcep.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflIcep.pal new file mode 100644 index 0000000..4d7798b --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflIcep.pal @@ -0,0 +1,17 @@ +; +; Full range ice pellets reflectivity palette (low filter) +; Made by Zander Urquhart +; + +Product: BR +Units: DBZ +Step: 10 + +Color: 0 0 0 0 +Color: 20 192 128 255 +Color: 30 80 32 200 48 16 64 +Color: 40 32 32 48 +Color: 60 215 215 245 + +ND: 0 0 0 +RF: 128 0 192 \ No newline at end of file diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflLowFilter.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflLowFilter.pal new file mode 100644 index 0000000..42f7a27 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflLowFilter.pal @@ -0,0 +1,23 @@ +; +; Full range reflectivity palette (low filter) +; Made by Amelia Urquhart +; + +Product: BR +Units: DBZ +Step: 10 + + +Color: 0 0 0 0 +Color: 10 0 0 96 128 255 255 +Color: 20 128 255 192 +Color: 30 0 48 16 +Color: 40 255 255 128 +Color: 50 64 0 0 +Color: 60 255 127 255 +Color: 70 64 0 64 +Color: 80 128 255 255 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflMix.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflMix.pal new file mode 100644 index 0000000..33c84c9 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflMix.pal @@ -0,0 +1,19 @@ +; +; Full range wintry mix reflectivity palette (low filter) +; Made by Zander Urquhart +; + +Product: BR +Units: DBZ +Step: 10 + +Color: 0 0 0 0 +Color: 20 255 170 170 +Color: 30 192 0 0 64 0 0 +Color: 40 32 32 64 +Color: 45 127 225 255 +Color: 50 215 235 255 +Color: 60 30 90 30 + +ND: 0 0 0 +RF: 128 0 192 \ No newline at end of file diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSimple.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSimple.pal new file mode 100644 index 0000000..046202d --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSimple.pal @@ -0,0 +1,22 @@ +; +; Full range reflectivity palette +; Made by Zander Urquhart +; + +Product: BR +Units: dBZ +Step: 10 + +Color: 0 0 0 0 0 0 0 +Color: 5 0 0 96 0 0 96 +Color: 10 128 255 255 128 255 255 +Color: 20 0 192 0 0 192 0 +Color: 30 255 255 128 255 255 128 +Color: 40 255 128 64 255 128 64 +Color: 50 255 0 0 255 0 0 +Color: 60 255 127 255 255 127 255 +Color: 70 255 127 255 + + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSnow.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSnow.pal new file mode 100644 index 0000000..223ddab --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruReflSnow.pal @@ -0,0 +1,19 @@ +; +; Full range snow reflectivity palette (low filter) +; Made by Zander Urquhart +; + +Product: BR +Units: DBZ +Step: 10 + +Color: 0 0 0 0 +Color: 20 153 255 255 +Color: 30 0 127 255 0 0 64 +Color: 40 64 0 64 +Color: 45 192 125 192 +Color: 50 255 225 255 +Color: 60 90 30 30 + +ND: 0 0 0 +RF: 128 0 192 \ No newline at end of file diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruSpwd.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruSpwd.pal new file mode 100644 index 0000000..2decc96 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruSpwd.pal @@ -0,0 +1,23 @@ +; +; Full range spectrum width palette +; Made by Zander Urquhart +; + +Product: SW +Units: mph +Step: 10 +Scale: 2.236936 ; converts mph to m/s + +Color: 0 5 5 10 +Color: 10 128 128 148 +Color: 15 255 128 128 +Color: 20 64 0 64 +Color: 25 255 128 255 +Color: 30 0 64 0 +Color: 35 128 255 128 +Color: 40 0 64 64 +Color: 50 128 255 255 +Color: 60 255 255 255 + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruTmp.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruTmp.pal new file mode 100644 index 0000000..5fb2e04 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruTmp.pal @@ -0,0 +1,31 @@ +; +; Full range temperature palette +; Made by Amelia Urquhart +; + +Product: TMP +Units: K +Step: 10 + +Color: 173.15 125 75 125 +Color: 193.15 75 125 75 +Color: 213.15 255 235 235 +Color: 223.15 60 255 255 60 60 255 +Color: 233.15 60 60 230 +Color: 243.15 255 150 220 +Color: 253.15 143 0 143 +Color: 255.37 255 255 255 +Color: 263.15 55 0 155 150 220 255 +Color: 273.15 150 255 255 +Color: 278.15 0 191 127 +Color: 283.15 0 127 0 +Color: 288.15 50 191 50 +Color: 293.15 255 255 50 +Color: 298.15 175 50 0 64 0 0 +Color: 303.15 127 0 0 +Color: 313.15 255 170 255 +Color: 323.15 71 48 71 +Color: 333.15 0 0 0 + +ND: 20 20 25 +RF: 64 64 64 diff --git a/bin/com/ameliaWx/radarView/res/colortables/aru/aruVlcy.pal b/bin/com/ameliaWx/radarView/res/colortables/aru/aruVlcy.pal new file mode 100644 index 0000000..5f76955 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/aru/aruVlcy.pal @@ -0,0 +1,28 @@ +; +; Full range radial velocity palette +; Made by Zander Urquhart +; + +Product: RV +Units: mph +Step: 20 +Scale: 2.236936 ; converts mph to m/s + +Color: -120 64 0 64 +Color: -100 128 0 128 +Color: -80 128 128 255 +Color: -60 0 0 64 +Color: -40 128 255 255 +Color: -20 0 96 64 +Color: -10 64 160 96 224 232 228 +Color: 0 232 224 224 +Color: 10 192 64 64 +Color: 20 96 64 0 +Color: 40 255 192 128 +Color: 60 64 0 64 +Color: 80 255 128 255 +Color: 100 255 64 128 +Color: 120 128 0 64 + +ND: 0 0 0 +RF: 128 0 192 diff --git a/bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips-neon-2015.pal b/bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips-neon-2015.pal new file mode 100644 index 0000000..10caf36 --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips-neon-2015.pal @@ -0,0 +1,24 @@ +# https://www.colortables.com/reflectivity/awips-neon-2015 + +product: BR +units: dBZ +step: 5 + +solidcolor: 90 58 103 181 +solidcolor: 89 58 103 181 +Color: 75 5 236 240 1 32 32 +Color: 70 178 0 255 105 0 219 +Color: 65 255 117 255 225 11 227 +Color: 60 255 255 255 255 157 255 +Color: 50 255 0 0 75 0 0 +Color: 40 255 226 0 255 128 0 +color: 35 255 255 0 255 226 0 +Color: 32 17 100 17 17 100 17 +Color: 25 17 214 24 +Color: 22 140 230 255 +color: 19 30 148 242 +Color: 15 22 65 175 +Color: 10 19 33 62 +Color4: -5 40 48 66 100 +color4: -20 162 66 213 0 +Color4: -30 56 18 78 0 diff --git a/bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips.pal b/bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips.pal new file mode 100644 index 0000000..01f07eb --- /dev/null +++ b/bin/com/ameliaWx/radarView/res/colortables/awips/refl-awips.pal @@ -0,0 +1,18 @@ +; Based on the color table used at the Oklahoma Weather Lab WDTD April 12 2023 event + +product:BR +units: dBZ +step: 5 + +color: -20 0 0 0 128 128 128 +color: 15 128 255 240 +color: 25 128 255 150 0 48 0 +color: 35 32 64 0 +color: 40 255 255 110 200 110 0 +color: 50 255 0 0 32 0 0 +color: 60 255 255 255 +color: 65 157 102 157 40 10 40 +color: 70 0 255 255 +color: 80 10 40 40 + +nd: 0 0 0 diff --git a/src/com/ameliaWx/radarView/ColorTable.java b/src/com/ameliaWx/radarView/ColorTable.java new file mode 100644 index 0000000..8b1f7f4 --- /dev/null +++ b/src/com/ameliaWx/radarView/ColorTable.java @@ -0,0 +1,823 @@ +package com.ameliaWx.radarView; + +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Scanner; + +import javax.imageio.ImageIO; + +import org.apache.commons.io.FileUtils; + +public class ColorTable { + // write this to read in *.pal files, unmodified. use sam emmerson's colortables + // as tests + + private static final int NUM_MASKS = 12; // number of precip types supported + private Color[][] colors = new Color[NUM_MASKS][]; + private boolean[] masksUsed = new boolean[NUM_MASKS]; + private Color noData; + private Color rangeFolded; + + private float ndValue = -1024; + private float rfValue = -2048; + + private float vmax; + private float vmin; + private String units; + + private float interval; + + private float scale = 1; + + // for testing + public static void main(String[] args) throws IOException { + ColorTable aruRefl = new ColorTable(loadResourceAsFile("res/colortables/awips/refl-awips-neon-2015.pal"), 0.1f, 10, "dBZ"); + + System.out.println("refl @ -40 dBZ: " + aruRefl.getColor(-40)); + System.out.println("refl @ -1024 dBZ: " + aruRefl.getColor(-1024)); + + ImageIO.write(aruRefl.drawColorLegend(200, 650, 67, true), "PNG", new File("aruReflLowFilter.png")); + } + + public ColorTable(File f, float resolution, float interval, String units) { + this.units = units; + this.interval = interval; + + Scanner sc = null; + try { + sc = new Scanner(f); + } catch (FileNotFoundException e) { + vmax = 0.0f; + vmin = 0.0f; + + e.printStackTrace(); + } + + ArrayList tokensList = new ArrayList<>(); + + while (sc.hasNextLine()) { + String line = sc.nextLine(); + + if (line.length() == 0) + continue; + if (';' == line.charAt(0)) + continue; + + if (line.toLowerCase().startsWith("color:")) { + StringBuilder tokensStr = new StringBuilder(); + + Scanner lineSc = new Scanner(line); + + while (lineSc.hasNext()) { + tokensStr.append(lineSc.next() + " "); + } + lineSc.close(); + + String[] tokens = tokensStr.toString().split(" "); + +// System.out.println(Arrays.toString(tokens)); + + tokensList.add(tokens); + } + + if (line.toLowerCase().startsWith("color4:")) { + StringBuilder tokensStr = new StringBuilder(); + + Scanner lineSc = new Scanner(line); + + while (lineSc.hasNext()) { + tokensStr.append(lineSc.next() + " "); + } + lineSc.close(); + + String[] tokens = tokensStr.toString().split(" "); + +// System.out.println(Arrays.toString(tokens)); + + tokensList.add(tokens); + } + + if (line.toLowerCase().startsWith("solidcolor:")) { + StringBuilder tokensStr = new StringBuilder(); + + Scanner lineSc = new Scanner(line); + + while (lineSc.hasNext()) { + tokensStr.append(lineSc.next() + " "); + } + lineSc.close(); + + String[] tokens = tokensStr.toString().split(" "); + +// System.out.println(Arrays.toString(tokens)); + + tokensList.add(tokens); + } + + if (line.toLowerCase().startsWith("scale:")) { + StringBuilder tokensStr = new StringBuilder(); + + Scanner lineSc = new Scanner(line); + + while (lineSc.hasNext()) { + tokensStr.append(lineSc.next() + " "); + } + lineSc.close(); + + String[] tokens = tokensStr.toString().split(" "); + + scale = Float.valueOf(tokens[1]); +// System.out.println("scale: " + scale); + } + + if (line.toLowerCase().startsWith("nd:")) { + StringBuilder tokensStr = new StringBuilder(); + + Scanner lineSc = new Scanner(line); + + while (lineSc.hasNext()) { + tokensStr.append(lineSc.next() + " "); + } + lineSc.close(); + + String[] tokens = tokensStr.toString().split(" "); + + noData = new Color(Integer.valueOf(tokens[1]), Integer.valueOf(tokens[2]), Integer.valueOf(tokens[3])); + } + + if (line.toLowerCase().startsWith("rf:")) { + StringBuilder tokensStr = new StringBuilder(); + + Scanner lineSc = new Scanner(line); + + while (lineSc.hasNext()) { + tokensStr.append(lineSc.next() + " "); + } + lineSc.close(); + + String[] tokens = tokensStr.toString().split(" "); + + rangeFolded = new Color(Integer.valueOf(tokens[1]), Integer.valueOf(tokens[2]), + Integer.valueOf(tokens[3])); + } + } + + int[] colorKeyAmt = new int[NUM_MASKS]; + for (int i = 0; i < tokensList.size(); i++) { + String[] tokens = tokensList.get(i); + + int mask = 0; + + if (tokens.length % 3 == 0) { + String maskId = tokens[tokens.length - 1]; + + mask = maskId(maskId); + } + + int rgbValuesListed = (tokensList.get(i).length - 2) / 3; + + colorKeyAmt[mask] += rgbValuesListed; + + if(tokens[0].contains("solidcolor")) { +// System.out.println("solidcolor detected"); + colorKeyAmt[mask]++; + } + + if(mask == 0) System.out.println(colorKeyAmt[mask] + "\t" + tokens[0]); + } + + float[][] colorKeys = new float[NUM_MASKS][]; + Color[][] colorValues = new Color[NUM_MASKS][]; + + for (int i = 0; i < NUM_MASKS; i++) { + colorKeys[i] = new float[colorKeyAmt[i]]; + colorValues[i] = new Color[colorKeyAmt[i]]; + } + + int[] colorKeysProcessed = new int[NUM_MASKS]; + for (int mask = 0; mask < NUM_MASKS; mask++) { + for (int i = 0; i < tokensList.size(); i++) { + String[] tokens = tokensList.get(i); + if(mask == 0) System.out.println(colorKeysProcessed[mask] + "\t" + tokens[0]); + + int selectedMask = 0; + + if (tokens.length % 3 == 0) { + String maskId = tokens[tokens.length - 1]; + + selectedMask = maskId(maskId); + } + + if (mask == selectedMask) { + boolean color4 = tokens[0].toLowerCase().contains("color4"); + boolean solidcolor = tokens[0].toLowerCase().contains("solidcolor"); + + if(solidcolor && i < tokensList.size() - 1) { + colorKeys[mask][colorKeysProcessed[mask]] = Float.valueOf(tokens[1]); + colorValues[mask][colorKeysProcessed[mask]] = new Color(Integer.valueOf(tokens[2]), + Integer.valueOf(tokens[3]), Integer.valueOf(tokens[4])); + + colorKeysProcessed[mask]++; + + String[] nextColorTokens = tokensList.get(i + 1); + int orderSign = (int) Math.signum(Float.valueOf(nextColorTokens[1]) - Float.valueOf(tokens[1])); + + colorKeys[mask][colorKeysProcessed[mask]] = Float.valueOf(tokens[1]) + orderSign * 0.01f; + colorValues[mask][colorKeysProcessed[mask]] = new Color(Integer.valueOf(nextColorTokens[2]), + Integer.valueOf(nextColorTokens[3]), Integer.valueOf(nextColorTokens[4])); + + colorKeysProcessed[mask]++; + } else if(color4) { + int rgbValuesListed = (tokens.length - 2) / 4; + + for (int j = 0; j < rgbValuesListed; j++) { + colorKeys[mask][colorKeysProcessed[mask]] = Float.valueOf(tokens[1]); + colorValues[mask][colorKeysProcessed[mask]] = new Color(Integer.valueOf(tokens[2 + 4 * j]), + Integer.valueOf(tokens[3 + 4 * j]), Integer.valueOf(tokens[4 + 4 * j]), Integer.valueOf(tokens[5 + 4 * j])); + + colorKeysProcessed[mask]++; + } + } else { + int rgbValuesListed = (tokens.length - 2) / 3; + + for (int j = 0; j < rgbValuesListed; j++) { + colorKeys[mask][colorKeysProcessed[mask]] = Float.valueOf(tokens[1]); + colorValues[mask][colorKeysProcessed[mask]] = new Color(Integer.valueOf(tokens[2 + 3 * j]), + Integer.valueOf(tokens[3 + 3 * j]), Integer.valueOf(tokens[4 + 3 * j])); + + colorKeysProcessed[mask]++; + } + } + } + } + + if(colorKeys[0][0] > colorKeys[0][colorKeys[0].length - 1]) { + colorKeys = deepReverse(colorKeys); + colorValues = deepReverse(colorValues); + } + + shiftKeys(colorKeys[mask]); + } + + System.out.println(Arrays.toString(colorKeysProcessed)); + + vmin = colorKeys[0][0]; + vmax = colorKeys[0][colorKeys[0].length - 1]; + + for (int i = 0; i < NUM_MASKS; i++) { + colors[i] = new Color[(int) Math.round((vmax - vmin) / resolution) + 1]; + + masksUsed[i] = (colorValues[i].length != 0); + + for (float v = vmin; v <= vmax; v += resolution) { + int index = (int) Math.round((v - vmin) / resolution); + colors[i][index] = colorLerp(v, colorKeys[i], colorValues[i]); + } + } + + sc.close(); + + if(noData == null) { + noData = new Color(0, 0, 0, 0); + } + + if(rangeFolded == null) { + rangeFolded = new Color(0, 0, 0, 0); + } + } + + private static float[][] deepReverse(float[][] a) + { + int n = a.length; + float[][] b = new float[n][]; + + for (int i = 0; i < n; i++) { + b[i] = reverse(a[i]); + } + + return b; + } + + private static float[] reverse(float[] a) + { + int n = a.length; + float[] b = new float[n]; + int j = n; + + for (int i = 0; i < n; i++) { + b[j - 1] = a[i]; + j = j - 1; + } + + return b; + } + + private static Color[][] deepReverse(Color[][] a) + { + int n = a.length; + Color[][] b = new Color[n][]; + + for (int i = 0; i < n; i++) { + b[i] = reverse(a[i]); + } + + return b; + } + + private static Color[] reverse(Color[] a) + { + int n = a.length; + Color[] b = new Color[n]; + int j = n; + + for (int i = 0; i < n; i++) { + b[j - 1] = a[i]; + j = j - 1; + } + + return b; + } + + private static int maskId(String maskId) { + if ("RAIN".equals(maskId)) { + return 0; + } else if ("FRZR_SRFC".equals(maskId)) { + return 1; + } else if ("ICEP".equals(maskId)) { + return 2; + } else if ("VERY_DRY_SNOW".equals(maskId)) { + return 3; + } else if ("FRZR_SNOW_MIX".equals(maskId)) { + return 4; + } else if ("RAIN_SNOW_MIX".equals(maskId)) { + return 5; + } else if ("FRZR_ELEV".equals(maskId)) { + return 6; + } else if ("DRY_SNOW".equals(maskId)) { + return 7; + } else if ("WET_SNOW".equals(maskId)) { + return 8; + } else if ("RAIN_ICEP_MIX".equals(maskId)) { + return 9; + } else if ("FRZR_ICEP_MIX".equals(maskId)) { + return 10; + } else if ("ICEP_SNOW_MIX".equals(maskId)) { + return 11; + } + + else if ("FRZR".equals(maskId)) { + return 1; + } else if ("SNOW".equals(maskId)) { + return 3; + } + + else if ("WINTRY_MIX".equals(maskId)) { + return 1; + } + + return 0; + } + + // value should NEVER be outside keys. as such, handling for that case is not + // implemented + private Color colorLerp(float value, float[] keys, Color[] values) { + if (values.length == 0) + return Color.BLACK; + + for (int i = 0; i < keys.length - 1; i++) { + if (value > keys[i + 1]) + continue; + if (keys[i] == keys[i + 1]) + return values[i]; + + double w1 = (keys[i + 1] - value) / (keys[i + 1] - keys[i]); + double w2 = (value - keys[i]) / (keys[i + 1] - keys[i]); + + int r1 = values[i].getRed(); + int g1 = values[i].getGreen(); + int b1 = values[i].getBlue(); + int r2 = values[i + 1].getRed(); + int g2 = values[i + 1].getGreen(); + int b2 = values[i + 1].getBlue(); + +// Color c = new Color((int) Math.pow(Math.sqrt(r1) * w1 + Math.sqrt(r2) * w2, 2), (int) Math.pow(Math.sqrt(g1) * w1 + Math.sqrt(g2) * w2, 2), (int) Math.pow(Math.sqrt(b1) * w1 + Math.sqrt(b2) * w2, 2)); + Color c = new Color((int) (r1 * w1 + r2 * w2), (int) (g1 * w1 + g2 * w2), (int) (b1 * w1 + b2 * w2)); + + return c; + } + + return values[values.length - 1]; + } + + private void shiftKeys(float[] keys) { + for (int i = 0; i < keys.length - 2; i++) { + if (keys[i] == keys[i + 1]) { + keys[i + 1] = keys[i + 2]; + i++; + } + } + } + + public Color getColor(double value) { + return getColor(value, 0); + } + + public Color getColor(double value, int mask) { + if (vmax == vmin) + return Color.BLACK; + + // if specific colors are not specified in this mask, point to the appropriate mask's colors + if(!masksUsed[mask]) { + if(masksUsed[2]) { + //4-type logic + switch(mask) { + case 0: + mask = 0; + break; + case 1: + mask = 1; + break; + case 2: + mask = 2; + break; + case 3: + mask = 3; + break; + case 4: + mask = 1; + break; + case 5: + mask = 0; // 3; + break; + case 6: + mask = 1; + break; + case 7: + mask = 3; + break; + case 8: + mask = 3; + break; + case 9: + mask = 0; // 2; + break; + case 10: + mask = 1; + break; + case 11: + mask = 2; + break; + } + + } else if(masksUsed[1]) { + //3-type logic + switch(mask) { + case 0: + mask = 0; + break; + case 1: + mask = 1; + break; + case 2: + mask = 1; + break; + case 3: + mask = 3; + break; + case 4: + mask = 1; + break; + case 5: + mask = 1; + break; + case 6: + mask = 1; + break; + case 7: + mask = 3; + break; + case 8: + mask = 3; + break; + case 9: + mask = 1; + break; + case 10: + mask = 1; + break; + case 11: + mask = 1; + break; + } + } else { + //1-type logic; + mask = 0; + } + } + + if (value == ndValue) + return noData; + if (value == rfValue) + return rangeFolded; + + double resolution = (vmax - vmin) / colors[mask].length; + int index = (int) Math.round((value * scale - vmin) / resolution); + + if (index < 0) + return colors[mask][0]; + if (index >= colors[mask].length) + return colors[mask][colors[mask].length - 2]; + + return colors[mask][index]; + } + + public double getNdValue() { + return ndValue; + } + + public void setNdValue(float ndValue) { + this.ndValue = ndValue; + } + + public double getRfValue() { + return rfValue; + } + + public void setRfValue(float rfValue) { + this.rfValue = rfValue; + } + + public BufferedImage drawColorLegend(int width, int height, int padding, boolean vertical) { + int numMasksUsed = 0; + + for (int i = 0; i < NUM_MASKS; i++) { + numMasksUsed += masksUsed[i] ? 1 : 0; + } + + BufferedImage legend = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); + Graphics2D g = legend.createGraphics(); + g.setFont(new Font(Font.MONOSPACED, Font.BOLD, 12)); + + if (numMasksUsed == 1) { + g.drawImage(drawColorLegendSegment(width, height, padding, padding, 1, 0, vertical), 0, 0, null); + } else if (numMasksUsed <= 3) { + g.drawImage(drawColorLegendSegment(width, height / 3, padding, 10, 1, 0, vertical), 0, 0, null); + g.drawImage(drawColorLegendSegment(width, height / 3, padding, 10, 1, 1, vertical), 0, 1 * height / 3, + null); + g.drawImage(drawColorLegendSegment(width, height / 3, padding, 10, 1, 3, vertical), 0, 2 * height / 3, + null); + + drawCenteredString(g, "RAIN", new Rectangle(padding / 2, height / 6, 0, 0), g.getFont()); + + drawCenteredString(g, "WINTRY", + new Rectangle(padding / 2, 3 * height / 6 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "MIX", + new Rectangle(padding / 2, 3 * height / 6 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "SNOW", new Rectangle(padding / 2, 5 * height / 6, 0, 0), g.getFont()); + } else if (numMasksUsed <= 4) { + g.drawImage(drawColorLegendSegment(width, height / 4, padding, 10, 2, 0, vertical), 0, 0, null); + g.drawImage(drawColorLegendSegment(width, height / 4, padding, 10, 2, 1, vertical), 0, 1 * height / 4, + null); + g.drawImage(drawColorLegendSegment(width, height / 4, padding, 10, 2, 2, vertical), 0, 2 * height / 4, + null); + g.drawImage(drawColorLegendSegment(width, height / 4, padding, 10, 2, 3, vertical), 0, 3 * height / 4, + null); + + drawCenteredString(g, "RAIN", new Rectangle(padding / 2, height / 8, 0, 0), g.getFont()); + + drawCenteredString(g, "FREEZING", + new Rectangle(padding / 2, 3 * height / 8 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "RAIN", + new Rectangle(padding / 2, 3 * height / 8 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "ICE", + new Rectangle(padding / 2, 5 * height / 8 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "PELLETS", + new Rectangle(padding / 2, 5 * height / 8 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "SNOW", new Rectangle(padding / 2, 7 * height / 8, 0, 0), g.getFont()); + } else if (numMasksUsed <= 12) { + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 0, vertical), 0, 0, null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 6, vertical), 0, 1 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 1, vertical), 0, 2 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 10, vertical), 0, 3 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 2, vertical), 0, 4 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 11, vertical), 0, 5 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 9, vertical), 0, 6 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 5, vertical), 0, 7 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 4, vertical), 0, 8 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 8, vertical), 0, 9 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 7, vertical), 0, 10 * height / 12, + null); + g.drawImage(drawColorLegendSegment(width, height / 12, padding, 10, 6, 3, vertical), 0, 11 * height / 12, + null); + + drawCenteredString(g, "RAIN", new Rectangle(padding / 2, height / 24, 0, 0), g.getFont()); + + drawCenteredString(g, "FREEZING", + new Rectangle(padding / 2, 3 * height / 24 - g.getFontMetrics().getHeight(), 0, 0), g.getFont()); + drawCenteredString(g, "RAIN", + new Rectangle(padding / 2, 3 * height / 24, 0, 0), g.getFont()); + drawCenteredString(g, "(ELEVATED)", + new Rectangle(padding / 2, 3 * height / 24 + g.getFontMetrics().getHeight(), 0, 0), g.getFont()); + + drawCenteredString(g, "FREEZING", + new Rectangle(padding / 2, 5 * height / 24 - g.getFontMetrics().getHeight(), 0, 0), g.getFont()); + drawCenteredString(g, "RAIN", + new Rectangle(padding / 2, 5 * height / 24, 0, 0), g.getFont()); + drawCenteredString(g, "(SURFACE)", + new Rectangle(padding / 2, 5 * height / 24 + g.getFontMetrics().getHeight(), 0, 0), g.getFont()); + + drawCenteredString(g, "FRZR-ICEP", + new Rectangle(padding / 2, 7 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "MIX", + new Rectangle(padding / 2, 7 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "ICE", + new Rectangle(padding / 2, 9 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "PELLETS", + new Rectangle(padding / 2, 9 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "ICEP-SNOW", + new Rectangle(padding / 2, 11 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "MIX", + new Rectangle(padding / 2, 11 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "RAIN-ICEP", + new Rectangle(padding / 2, 13 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "MIX", + new Rectangle(padding / 2, 13 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "RAIN-SNOW", + new Rectangle(padding / 2, 15 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "MIX", + new Rectangle(padding / 2, 15 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "FRZR-SNOW", + new Rectangle(padding / 2, 17 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "MIX", + new Rectangle(padding / 2, 17 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + + drawCenteredString(g, "WET SNOW", new Rectangle(padding / 2, 19 * height / 24, 0, 0), g.getFont()); + + drawCenteredString(g, "DRY SNOW", new Rectangle(padding / 2, 21 * height / 24, 0, 0), g.getFont()); + + drawCenteredString(g, "VERY DRY", + new Rectangle(padding / 2, 23 * height / 24 - g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + drawCenteredString(g, "SNOW", + new Rectangle(padding / 2, 23 * height / 24 + g.getFontMetrics().getHeight() / 2, 0, 0), g.getFont()); + } + + return legend; + } + + public BufferedImage drawColorLegendSegment(int width, int height, int padding, int hPadding, int intvMult, + int mask, boolean vertical) { + BufferedImage legend = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); + Graphics2D g = legend.createGraphics(); + + g.setFont(new Font(Font.MONOSPACED, Font.BOLD, 12)); + g.setColor(Color.BLACK); + g.fillRect(0, 0, width, height); + g.setColor(Color.WHITE); + g.drawLine(0, 0, 0, height); + + if (vertical) { + for (int i = 0; i < height - 2 * hPadding; i++) { + double val = vmin + (vmax - vmin) / (height - 2 * hPadding) * i; + + g.setColor(getColor(val / scale, mask)); + g.fillRect(padding, height - hPadding - i, width - 2 * padding, 1); + } + + int numMarks = (int) Math.round((vmax - vmin) / (interval * intvMult)); + g.setColor(Color.WHITE); + for (int i = 0; i <= numMarks; i++) { + int y = (int) ((height - hPadding) - (height - 2.0 * hPadding) / numMarks * i); + double val = vmin + (vmax - vmin) / numMarks * i; + + if ("C".equals(units)) + val = convertKtoC(val); + if ("F".equals(units)) + val = convertKtoF(val); + + g.fillRect(padding, y, width - 2 * padding, 1); + drawCenteredString(g, String.format("%6.1f " + units, val), + new Rectangle(width - padding + 28, y, 0, 0), g.getFont()); + } + } else { + for (int i = 0; i < width - 2 * padding; i++) { + double val = vmin + (vmax - vmin) / (width - 2 * padding) * i; + + g.setColor(getColor(val / scale, mask)); + g.fillRect(i + padding, padding, 1, height - 2 * padding); + } + + int numMarks = (int) (Math.round(vmax - vmin) / interval); + g.setColor(Color.WHITE); + for (int i = 0; i <= numMarks; i++) { + int y = (int) ((width - padding) - (width - 2.0 * padding) / numMarks * i); + double val = vmin + (vmax - vmin) / numMarks * i; + + if ("C".equals(units)) + val = convertKtoC(val); + if ("F".equals(units)) + val = convertKtoF(val); + + g.fillRect(padding, y, height - 2 * padding, 1); + + String u = (i == 0) ? " " + units : ""; + + drawCenteredString(g, String.format("%6.1f" + u, val), new Rectangle(y, padding - 25, 0, 0), + g.getFont()); + } + } + + g.dispose(); + return legend; + } + + /** + * Draw a String centered in the middle of a Rectangle. + * + * @param g The Graphics instance. + * @param text The String to draw. + * @param rect The Rectangle to center the text in. + */ + public static void drawCenteredString(Graphics2D g, String text, Rectangle rect, Font font) { + // Get the FontMetrics + FontMetrics metrics = g.getFontMetrics(font); + // Determine the X coordinate for the text + int x = rect.x + (rect.width - metrics.stringWidth(text)) / 2; + // Determine the Y coordinate for the text (note we add the ascent, as in java + // 2d 0 is top of the screen) + int y = rect.y + (rect.height + metrics.getHeight()) / 3; + // Set the font + g.setFont(font); + // Draw the String + g.drawString(text, x, y); + } + + private static double convertKtoC(double k) { + return k - 273.15; + } + + private static double convertCtoF(double c) { + return 1.8 * c + 32.0; + } + + private static double convertKtoF(double k) { + return convertCtoF(convertKtoC(k)); + } + + private static File loadResourceAsFile(String urlStr) { +// System.out.println(urlStr); + URL url = RadarView.class.getResource(urlStr); +// System.out.println(url); +// System.out.println(is); + URL tilesObj = url; + + // System.out.println("Temp-file created."); + + RadarView.tempFilesToDelete.add(RadarView.dataFolder + "temp/" + urlStr + ""); + File file = new File(RadarView.dataFolder + "temp/" + urlStr + ""); + + if (tilesObj == null) { + System.out.println("Loading failed to start."); + return null; + } + + // System.out.println("Loading successfully started."); + + try { + FileUtils.copyURLToFile(tilesObj, file); + } catch (Exception e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + return null; + } + + return file; + } +} diff --git a/src/com/ameliaWx/radarView/RadarData.java b/src/com/ameliaWx/radarView/RadarData.java index b558b8e..e2fb8e3 100644 --- a/src/com/ameliaWx/radarView/RadarData.java +++ b/src/com/ameliaWx/radarView/RadarData.java @@ -546,7 +546,7 @@ public String inspect(double latitude, double longitude) { if(RadarView.numPtypes == 3) { pType = "WINTRY MIX"; } else if(RadarView.numPtypes == 4) { - pType = "SNOW"; + pType = "ICE PELLETS"; } else if(RadarView.numPtypes == 12) { pType = "ICEP-SNOW MIX"; } diff --git a/src/com/ameliaWx/radarView/RadarDealiasingTest.java b/src/com/ameliaWx/radarView/RadarDealiasingTest.java index a1e40f8..6d454e5 100644 --- a/src/com/ameliaWx/radarView/RadarDealiasingTest.java +++ b/src/com/ameliaWx/radarView/RadarDealiasingTest.java @@ -24,15 +24,17 @@ import org.joda.time.DateTime; import org.joda.time.DateTimeZone; +import com.ameliaWx.utils.general.PointF; + import ucar.ma2.Array; import ucar.nc2.NetcdfFile; import ucar.nc2.Variable; public class RadarDealiasingTest { - private static ArrayList> countyBorders; - private static ArrayList> stateBorders; - private static ArrayList> interstates; - private static ArrayList> majorRoads; + private static ArrayList> countyBorders; + private static ArrayList> stateBorders; + private static ArrayList> interstates; + private static ArrayList> majorRoads; static { File countyBordersKML = loadResourceAsFile("res/usCounties.kml"); @@ -65,9 +67,9 @@ public class RadarDealiasingTest { private static final String imgId = "09"; public static void main(String[] args) throws IOException { - ColorScale reflectivityColors = new ColorScale(RadarPanel.loadResourceAsFile("res/aruReflLowFilter.pal"), 0.1f, 10, "dBZ"); - ColorScale velocityColors = new ColorScale(RadarPanel.loadResourceAsFile("res/aruVlcy.pal"), 0.1f, 20, "mph"); - ColorScale spectrumWidthColors = new ColorScale(RadarPanel.loadResourceAsFile("res/aruSpwd.pal"), 0.1f, 20, "mph"); + ColorTable reflectivityColors = new ColorTable(RadarPanel.loadResourceAsFile("res/aruReflLowFilter.pal"), 0.1f, 10, "dBZ"); + ColorTable velocityColors = new ColorTable(RadarPanel.loadResourceAsFile("res/aruVlcy.pal"), 0.1f, 20, "mph"); + ColorTable spectrumWidthColors = new ColorTable(RadarPanel.loadResourceAsFile("res/aruSpwd.pal"), 0.1f, 20, "mph"); @SuppressWarnings("deprecation") NetcdfFile ncfile = NetcdfFile.open(new File("/home/a-urq/Documents/normanTornado-20230226/data/KTLX" + filename + "_V06").getAbsolutePath()); // NetcdfFile ncfile = NetcdfFile.open(new File("KFDR20230216_021442.nexrad").getAbsolutePath()); @@ -425,7 +427,7 @@ private static void drawLoc3(Graphics2D g2d, int homeX, int homeY) { g2d.drawLine(homeX + 5, homeY, homeX + 10, homeY); } - private static BufferedImage drawPolarProjImage(double[][] data, int size, double res, ColorScale colors) { + private static BufferedImage drawPolarProjImage(double[][] data, int size, double res, ColorTable colors) { if (azimuths == null || azimuths.length != size) computeAzimuths(size); @@ -1427,20 +1429,20 @@ private static BufferedImage drawBasemap(double westLongitude, double northLatit gg.setColor(Color.WHITE); gg.setStroke(bs); for (int i = 0; i < stateBorders.size(); i++) { - ArrayList state = stateBorders.get(i); + ArrayList state = stateBorders.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); // prevents the weird "wobble" from panning around - PointD _p1 = new PointD(Math.round(p1.getX() * pixelsPerDegree) / pixelsPerDegree, + PointF _p1 = new PointF(Math.round(p1.getX() * pixelsPerDegree) / pixelsPerDegree, Math.round(p1.getY() * pixelsPerDegree) / pixelsPerDegree); - PointD _p2 = new PointD(Math.round(p2.getX() * pixelsPerDegree) / pixelsPerDegree, + PointF _p2 = new PointF(Math.round(p2.getX() * pixelsPerDegree) / pixelsPerDegree, Math.round(p2.getY() * pixelsPerDegree) / pixelsPerDegree); p1 = _p1; p2 = _p2; @@ -1472,15 +1474,15 @@ private static BufferedImage drawBasemap(double westLongitude, double northLatit gg.setColor(new Color(255, 255, 255, 127)); gg.setStroke(bs); for (int i = 0; i < countyBorders.size(); i++) { - ArrayList state = countyBorders.get(i); + ArrayList state = countyBorders.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -1544,13 +1546,13 @@ private static BufferedImage drawBasemap(double westLongitude, double northLatit gh.setStroke(ts); for (int i = 0; i < interstates.size(); i++) { - ArrayList state = interstates.get(i); + ArrayList state = interstates.get(i); for (int j = 0; j < state.size() - 1; j++) { int k = j + 1; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -1592,13 +1594,13 @@ private static BufferedImage drawBasemap(double westLongitude, double northLatit gg.setColor(new Color(127, 127, 255)); gg.setStroke(bs); for (int i = 0; i < majorRoads.size(); i++) { - ArrayList state = majorRoads.get(i); + ArrayList state = majorRoads.get(i); for (int j = 0; j < state.size() - 1; j++) { int k = j + 1; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -1709,7 +1711,7 @@ private static double linScale(double preMin, double preMax, double postMin, dou return slope * (value - preMin) + postMin; } - private static ArrayList> getPolygons(File kml) { + private static ArrayList> getPolygons(File kml) { Pattern p = Pattern.compile(".*?"); @@ -1723,13 +1725,13 @@ private static ArrayList> getPolygons(File kml) { coordList.add(m.group().substring(13, m.group().length() - 14)); } - ArrayList> polygons = new ArrayList<>(); + ArrayList> polygons = new ArrayList<>(); for (String coords : coordList) { Scanner sc = new Scanner(coords); sc.useDelimiter(" "); - ArrayList polygon = new ArrayList<>(); + ArrayList polygon = new ArrayList<>(); while (sc.hasNext()) { String s = sc.next(); @@ -1741,7 +1743,7 @@ private static ArrayList> getPolygons(File kml) { } else continue; - polygon.add(new PointD(Double.valueOf(pp[0]), Double.valueOf(pp[1]))); + polygon.add(new PointF(Double.valueOf(pp[0]), Double.valueOf(pp[1]))); } sc.close(); diff --git a/src/com/ameliaWx/radarView/RadarMapInset.java b/src/com/ameliaWx/radarView/RadarMapInset.java index e3e2294..a32e3fa 100644 --- a/src/com/ameliaWx/radarView/RadarMapInset.java +++ b/src/com/ameliaWx/radarView/RadarMapInset.java @@ -6,9 +6,9 @@ import java.awt.image.BufferedImage; import java.awt.image.RescaleOp; import java.util.ArrayList; -import java.util.Arrays; import com.ameliaWx.soundingViewer.MapInset; +import com.ameliaWx.utils.general.PointF; public class RadarMapInset implements MapInset { private BufferedImage radarImage = RadarPanel.getRadarImageForMapInset(); @@ -41,10 +41,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(255, 255, 255)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getStateBorders()) { + for (ArrayList polygon : RadarPanel.getStateBorders()) { for (int i = 0; i < polygon.size(); i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -74,10 +74,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(255, 255, 255)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getCanadianProvinces()) { + for (ArrayList polygon : RadarPanel.getCanadianProvinces()) { for (int i = 0; i < polygon.size(); i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -107,10 +107,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(255, 255, 255)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getEstados()) { + for (ArrayList polygon : RadarPanel.getEstados()) { for (int i = 0; i < polygon.size(); i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -140,10 +140,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(255, 255, 255)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getCountyBorders()) { + for (ArrayList polygon : RadarPanel.getCountyBorders()) { for (int i = 0; i < polygon.size(); i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -172,10 +172,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(255, 255, 255)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getCanadianProvincesSubd()) { + for (ArrayList polygon : RadarPanel.getCanadianProvincesSubd()) { for (int i = 0; i < polygon.size(); i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get((i == polygon.size() - 1) ? 0 : (i + 1)); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -204,10 +204,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(0, 0, 0)); gg.setStroke(ts); - for (ArrayList polygon : RadarPanel.getInterstates()) { + for (ArrayList polygon : RadarPanel.getInterstates()) { for (int i = 0; i < polygon.size() - 1; i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(i + 1); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(i + 1); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -231,12 +231,12 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz } } - gg.setColor(new Color(180, 0, 0)); + gg.setColor(new Color(128, 0, 0)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getInterstates()) { + for (ArrayList polygon : RadarPanel.getInterstates()) { for (int i = 0; i < polygon.size() - 1; i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(i + 1); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(i + 1); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -265,10 +265,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(0, 0, 0)); gg.setStroke(ts); - for (ArrayList polygon : RadarPanel.getMajorRoads()) { + for (ArrayList polygon : RadarPanel.getMajorRoads()) { for (int i = 0; i < polygon.size() - 1; i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(i + 1); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(i + 1); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -294,10 +294,10 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setColor(new Color(127, 127, 255)); gg.setStroke(bs); - for (ArrayList polygon : RadarPanel.getMajorRoads()) { + for (ArrayList polygon : RadarPanel.getMajorRoads()) { for (int i = 0; i < polygon.size() - 1; i++) { - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(i + 1); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(i + 1); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -327,7 +327,7 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setStroke(blk); for (int p = 0; p < RadarView.warningPolygons.size(); p++) { - ArrayList polygon = RadarView.warningPolygons.get(p); + ArrayList polygon = RadarView.warningPolygons.get(p); gg.setColor(Color.BLACK); @@ -336,8 +336,8 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -364,7 +364,7 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setStroke(clr); for (int p = 0; p < RadarView.warningPolygons.size(); p++) { - ArrayList polygon = RadarView.warningPolygons.get(p); + ArrayList polygon = RadarView.warningPolygons.get(p); String name = RadarView.warningNames.get(p).substring(5, 7); String nameW = RadarView.warningNames.get(p).trim(); @@ -387,8 +387,8 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -421,7 +421,7 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setStroke(blk2); for (int p = 0; p < RadarView.watchParallelograms.size(); p++) { - ArrayList polygon = RadarView.watchParallelograms.get(p); + ArrayList polygon = RadarView.watchParallelograms.get(p); String name = RadarView.spcWatchNames.get(p).trim(); gg.setColor(new Color(0, 0, 0, 0)); @@ -435,8 +435,8 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); double lat1 = p1.getY(); double lon1 = p1.getX(); @@ -458,7 +458,7 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz gg.setStroke(clr2); for (int p = 0; p < RadarView.watchParallelograms.size(); p++) { - ArrayList polygon = RadarView.watchParallelograms.get(p); + ArrayList polygon = RadarView.watchParallelograms.get(p); String name = RadarView.spcWatchNames.get(p).trim(); gg.setColor(new Color(0, 0, 0, 0)); @@ -472,8 +472,8 @@ public BufferedImage drawMapInset(double lat, double lon, double extent, int siz if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); double lat1 = p1.getY(); double lon1 = p1.getX(); diff --git a/src/com/ameliaWx/radarView/RadarPanel.java b/src/com/ameliaWx/radarView/RadarPanel.java index e743863..2a3e912 100644 --- a/src/com/ameliaWx/radarView/RadarPanel.java +++ b/src/com/ameliaWx/radarView/RadarPanel.java @@ -3,6 +3,7 @@ import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; +import java.awt.FontFormatException; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.image.RescaleOp; @@ -25,6 +26,7 @@ import org.apache.commons.io.FileUtils; import org.joda.time.DateTime; +import com.ameliaWx.utils.general.PointF; import com.univocity.parsers.csv.CsvParser; import com.univocity.parsers.csv.CsvParserSettings; import com.univocity.parsers.csv.CsvWriter; @@ -37,13 +39,13 @@ public class RadarPanel extends JComponent { private static final long serialVersionUID = -5968064830481838268L; - private static ArrayList> countyBorders; - private static ArrayList> stateBorders; - private static ArrayList> interstates; - private static ArrayList> majorRoads; - private static ArrayList> estados; - private static ArrayList> canadianProvinces; - private static ArrayList> canadianProvincesSubd; + private static ArrayList> countyBorders; + private static ArrayList> stateBorders; + private static ArrayList> interstates; + private static ArrayList> majorRoads; + private static ArrayList> estados; + private static ArrayList> canadianProvinces; + private static ArrayList> canadianProvincesSubd; // private static ArrayList> metroAreas; // private static ArrayList> ouCampus; // private static ArrayList> lakeLavon; @@ -359,19 +361,19 @@ public static void drawWorldMap() throws IOException { BasicStroke cyn = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); g.setStroke(cyn); for (int i = 0; i < interstates.size(); i++) { - ArrayList state = interstates.get(i); + ArrayList state = interstates.get(i); for (int j = 0; j < state.size() - 1; j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); // prevents the weird "wobble" from panning around - PointD _p1 = new PointD(Math.round(p1.getX() * ppd) / ppd, Math.round(p1.getY() * ppd) / ppd); - PointD _p2 = new PointD(Math.round(p2.getX() * ppd) / ppd, Math.round(p2.getY() * ppd) / ppd); + PointF _p1 = new PointF(Math.round(p1.getX() * ppd) / ppd, Math.round(p1.getY() * ppd) / ppd); + PointF _p2 = new PointF(Math.round(p2.getX() * ppd) / ppd, Math.round(p2.getY() * ppd) / ppd); p1 = _p1; p2 = _p2; @@ -414,8 +416,8 @@ public void run() { double width = (eastLongitude - westLongitude) * pixelsPerDegree; double height = (northLatitude - southLatitude) * pixelsPerDegree; - System.out.println(width); - System.out.println(height); +// System.out.println(width); +// System.out.println(height); BufferedImage newBasemap = new BufferedImage((int) width, (int) height, BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = newBasemap.createGraphics(); @@ -428,20 +430,20 @@ public void run() { gg.setColor(Color.WHITE); gg.setStroke(bs); for (int i = 0; i < stateBorders.size(); i++) { - ArrayList state = stateBorders.get(i); + ArrayList state = stateBorders.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); // prevents the weird "wobble" from panning around - PointD _p1 = new PointD(Math.round(p1.getX() * pixelsPerDegree) / pixelsPerDegree, + PointF _p1 = new PointF(Math.round(p1.getX() * pixelsPerDegree) / pixelsPerDegree, Math.round(p1.getY() * pixelsPerDegree) / pixelsPerDegree); - PointD _p2 = new PointD(Math.round(p2.getX() * pixelsPerDegree) / pixelsPerDegree, + PointF _p2 = new PointF(Math.round(p2.getX() * pixelsPerDegree) / pixelsPerDegree, Math.round(p2.getY() * pixelsPerDegree) / pixelsPerDegree); p1 = _p1; p2 = _p2; @@ -466,15 +468,15 @@ public void run() { } } for (int i = 0; i < canadianProvinces.size(); i++) { - ArrayList state = canadianProvinces.get(i); + ArrayList state = canadianProvinces.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -496,15 +498,15 @@ public void run() { } } for (int i = 0; i < estados.size(); i++) { - ArrayList state = estados.get(i); + ArrayList state = estados.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -533,15 +535,15 @@ public void run() { gg.setColor(new Color(255, 255, 255, 255)); gg.setStroke(bs); for (int i = 0; i < countyBorders.size(); i++) { - ArrayList state = countyBorders.get(i); + ArrayList state = countyBorders.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -563,15 +565,15 @@ public void run() { } } for (int i = 0; i < canadianProvincesSubd.size(); i++) { - ArrayList state = canadianProvincesSubd.get(i); + ArrayList state = canadianProvincesSubd.get(i); for (int j = 0; j < state.size(); j++) { int k = j + 1; if (k >= state.size()) k = 0; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -629,19 +631,19 @@ public void run() { gg = highways.createGraphics(); Graphics2D gh = highwaysBg.createGraphics(); - gg.setColor(new Color(180, 0, 0)); + gg.setColor(new Color(128, 0, 0)); gg.setStroke(bs); gh.setColor(new Color(0, 0, 0)); gh.setStroke(ts); for (int i = 0; i < interstates.size(); i++) { - ArrayList state = interstates.get(i); + ArrayList state = interstates.get(i); for (int j = 0; j < state.size() - 1; j++) { int k = j + 1; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -683,13 +685,13 @@ public void run() { gg.setColor(new Color(127, 127, 255)); gg.setStroke(bs); for (int i = 0; i < majorRoads.size(); i++) { - ArrayList state = majorRoads.get(i); + ArrayList state = majorRoads.get(i); for (int j = 0; j < state.size() - 1; j++) { int k = j + 1; - PointD p1 = state.get(j); - PointD p2 = state.get(k); + PointF p1 = state.get(j); + PointF p2 = state.get(k); boolean renderP1 = (p1.getX() >= westLongitude && p1.getX() <= eastLongitude && p1.getY() >= southLatitude && p1.getY() <= northLatitude); @@ -850,7 +852,7 @@ public void run() { } private void drawWarnings(double ulLon, double ulLat, double lrLon, double lrLat, double ppd, - ArrayList> warningPolygons, ArrayList warningNames) { + ArrayList> warningPolygons, ArrayList warningNames) { if(RadarView.warningPolygons == null) { return; } @@ -868,7 +870,7 @@ private void drawWarnings(double ulLon, double ulLat, double lrLon, double lrLat g.setStroke(blk); for (int p = 0; p < warningPolygons.size(); p++) { - ArrayList polygon = warningPolygons.get(p); + ArrayList polygon = warningPolygons.get(p); g.setColor(Color.BLACK); @@ -877,8 +879,8 @@ private void drawWarnings(double ulLon, double ulLat, double lrLon, double lrLat if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat && p1.getY() <= ulLat); @@ -899,7 +901,7 @@ private void drawWarnings(double ulLon, double ulLat, double lrLon, double lrLat g.setStroke(clr); for (int p = 0; p < warningPolygons.size(); p++) { - ArrayList polygon = warningPolygons.get(p); + ArrayList polygon = warningPolygons.get(p); String name = warningNames.get(p).substring(5, 7); String nameW = warningNames.get(p).trim(); @@ -922,8 +924,8 @@ private void drawWarnings(double ulLon, double ulLat, double lrLon, double lrLat if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat && p1.getY() <= ulLat); @@ -946,15 +948,21 @@ private void drawWarnings(double ulLon, double ulLat, double lrLon, double lrLat } private void drawSpcWatches(double ulLon, double ulLat, double lrLon, double lrLat, double ppd, - ArrayList> watchPolygons, ArrayList watchNames) { - System.out.println(watchPolygons.size()); - System.out.println(watchNames.size()); + ArrayList> watchPolygons, ArrayList watchNames) { int imgWidth = (int) ((lrLon - ulLon) * ppd); int imgHeight = (int) ((ulLat - lrLat) * ppd); BufferedImage watchesImg = new BufferedImage(imgWidth, imgHeight, BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = watchesImg.createGraphics(); + + if(watchPolygons == null) { + spcWatches = watchesImg; + return; + } + +// System.out.println(watchPolygons.size()); +// System.out.println(watchNames.size()); if (RadarView.viewStormScaleWarnings) { BasicStroke clr = new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER); @@ -963,7 +971,7 @@ private void drawSpcWatches(double ulLon, double ulLat, double lrLon, double lrL g.setStroke(blk); for (int p = 0; p < watchPolygons.size(); p++) { - ArrayList polygon = watchPolygons.get(p); + ArrayList polygon = watchPolygons.get(p); String name = watchNames.get(p).trim(); g.setColor(new Color(0, 0, 0, 0)); @@ -977,8 +985,8 @@ private void drawSpcWatches(double ulLon, double ulLat, double lrLon, double lrL if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat && p1.getY() <= ulLat); @@ -999,7 +1007,7 @@ private void drawSpcWatches(double ulLon, double ulLat, double lrLon, double lrL g.setStroke(clr); for (int p = 0; p < watchPolygons.size(); p++) { - ArrayList polygon = watchPolygons.get(p); + ArrayList polygon = watchPolygons.get(p); String name = watchNames.get(p).trim(); g.setColor(new Color(0, 0, 0, 0)); @@ -1013,8 +1021,8 @@ private void drawSpcWatches(double ulLon, double ulLat, double lrLon, double lrL if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat && p1.getY() <= ulLat); @@ -1039,7 +1047,7 @@ private void drawSpcWatches(double ulLon, double ulLat, double lrLon, double lrL } private void drawWatches(double ulLon, double ulLat, double lrLon, double lrLat, double ppd, - ArrayList> watchPolygons, ArrayList watchNames) { + ArrayList> watchPolygons, ArrayList watchNames) { int imgWidth = (int) ((lrLon - ulLon) * ppd); int imgHeight = (int) ((ulLat - lrLat) * ppd); @@ -1053,12 +1061,11 @@ private void drawWatches(double ulLon, double ulLat, double lrLon, double lrLat, g.setStroke(blk); for (int p = 0; p < watchPolygons.size(); p++) { - ArrayList polygon = watchPolygons.get(p); + ArrayList polygon = watchPolygons.get(p); String name = watchNames.get(p).trim(); // System.out.println(name); - g.setColor(new Color(0, 0, 0, 0)); if ("Tornado Watch".equals(name)) g.setColor(new Color(0, 0, 0, 196)); if ("Severe Thunderstorm Watch".equals(name)) @@ -1099,8 +1106,8 @@ private void drawWatches(double ulLon, double ulLat, double lrLon, double lrLat, if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat && p1.getY() <= ulLat); @@ -1121,7 +1128,7 @@ private void drawWatches(double ulLon, double ulLat, double lrLon, double lrLat, g.setStroke(clr); for (int p = 0; p < watchPolygons.size(); p++) { - ArrayList polygon = watchPolygons.get(p); + ArrayList polygon = watchPolygons.get(p); String name = watchNames.get(p).trim(); g.setColor(new Color(0, 0, 0, 0)); @@ -1165,8 +1172,8 @@ private void drawWatches(double ulLon, double ulLat, double lrLon, double lrLat, if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat && p1.getY() <= ulLat); @@ -1191,7 +1198,7 @@ private void drawWatches(double ulLon, double ulLat, double lrLon, double lrLat, } private void drawSpcOutlook(double ulLon, double ulLat, double lrLon, double lrLat, double ppd, - ArrayList> outlookPolygons, ArrayList outlookNames) { + ArrayList> outlookPolygons, ArrayList outlookNames) { int imgWidth = (int) ((lrLon - ulLon) * ppd); int imgHeight = (int) ((ulLat - lrLat) * ppd); @@ -1206,15 +1213,15 @@ private void drawSpcOutlook(double ulLon, double ulLat, double lrLon, double lrL g.setColor(new Color(0, 0, 0)); for (int p = 0; p < outlookPolygons.size(); p++) { - ArrayList polygon = outlookPolygons.get(p); + ArrayList polygon = outlookPolygons.get(p); for (int i = 0; i < polygon.size(); i++) { int j = i + 1; if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); // boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat // && p1.getY() <= ulLat); @@ -1235,7 +1242,7 @@ private void drawSpcOutlook(double ulLon, double ulLat, double lrLon, double lrL g.setStroke(clr); for (int p = 0; p < outlookPolygons.size(); p++) { - ArrayList polygon = outlookPolygons.get(p); + ArrayList polygon = outlookPolygons.get(p); String name = outlookNames.get(p); if ("TSTM".equals(name)) @@ -1256,8 +1263,8 @@ private void drawSpcOutlook(double ulLon, double ulLat, double lrLon, double lrL if (j == polygon.size()) j = 0; - PointD p1 = polygon.get(i); - PointD p2 = polygon.get(j); + PointF p1 = polygon.get(i); + PointF p2 = polygon.get(j); // boolean renderP1 = (p1.getX() >= ulLon && p1.getX() <= lrLon && p1.getY() >= lrLat // && p1.getY() <= ulLat); @@ -1280,7 +1287,7 @@ private void drawSpcOutlook(double ulLon, double ulLat, double lrLon, double lrL } private void drawSpcStormReports(double ulLon, double ulLat, double lrLon, double lrLat, double ppd, - ArrayList reportPoints, ArrayList reportNames) { + ArrayList reportPoints, ArrayList reportNames) { int imgWidth = (int) ((lrLon - ulLon) * ppd); int imgHeight = (int) ((ulLat - lrLat) * ppd); @@ -1289,7 +1296,7 @@ private void drawSpcStormReports(double ulLon, double ulLat, double lrLon, doubl if (RadarView.viewSpcStormReports) { for (int i = 0; i < reportPoints.size(); i++) { - PointD p1 = reportPoints.get(i); + PointF p1 = reportPoints.get(i); boolean renderP1 = (p1.getX() >= lrLat && p1.getX() <= ulLat && p1.getY() >= ulLon && p1.getY() <= lrLon); @@ -1451,9 +1458,9 @@ private void drawSiteButtons(double ulLon, double ulLat, double lrLon, double lr for (int i = 0; i < RadarView.radarSites.size(); i++) { RadarSite rs = RadarView.radarSites.get(i); - PointD rsP = rs.getSiteCoords(); + PointF rsP = rs.getSiteCoords(); - PointD _rsP = new PointD(Math.round(rsP.getX() * ppd) / ppd, Math.round(rsP.getY() * ppd) / ppd); + PointF _rsP = new PointF(Math.round(rsP.getX() * ppd) / ppd, Math.round(rsP.getY() * ppd) / ppd); rsP = _rsP; double lat = rsP.getX(); @@ -1474,6 +1481,17 @@ private void drawSiteButtons(double ulLon, double ulLat, double lrLon, double lr private static final String AUTHOR_MESSAGE = "MADE BY AMELIA URQUHART | PRESS 'H' FOR HELP"; public static final Font CAPTION_FONT = new Font(Font.MONOSPACED, Font.BOLD, 12); +// public static Font CAPTION_FONT; + +// static { +// try { +// CAPTION_FONT = Font.createFont(Font.TRUETYPE_FONT, loadResourceAsFile("res/UbuntuMono-B.ttf")).deriveFont(12.0f); +// } catch (FontFormatException e) { +// e.printStackTrace(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } private void drawCaptionImg(int timestep) { if (captionImg == null) { @@ -1543,8 +1561,11 @@ public void blankOutImages() { imagesHi[i][0] = BLANK_IMAGE; imagesMd[i][0] = BLANK_IMAGE; imagesLo[i][0] = BLANK_IMAGE; - RadarView.radarData[i].markDataAsRendered(); - RadarView.g.repaint(); + + if(RadarView.radarData[i] != null) { + RadarView.radarData[i].markDataAsRendered(); + RadarView.g.repaint(); + } } } @@ -1637,6 +1658,11 @@ public void shiftByOne() { public void copyToArraysOfNewLength(int newLength) { System.out.println("copy to arrays of new length method"); + + if(imagesLo == null) { + System.out.println("copyToArraysOfNewLength()::imagesLo is null"); + return; + } assert imagesLo.length == RadarView.radarData.length; assert imagesLo.length == RadarView.radarDataFileNames.length; @@ -1698,7 +1724,7 @@ public void copyToArraysOfNewLength(int newLength) { private static int[][] azimuths; private static BufferedImage drawPolarProjImage(float[][] data, byte[][] mask, int size, double res, double coneOfSilence, - ColorScale colors) { + ColorTable colors) { if (azimuths == null || azimuths.length != size) computeAzimuths(size); @@ -1790,9 +1816,9 @@ private static double linScale(double preMin, double preMax, double postMin, dou return slope * (value - preMin) + postMin; } - private static ArrayList> getPolygons(File kml) { + private static ArrayList> getPolygons(File kml) { if(kml == null) { - return new ArrayList>(); + return new ArrayList>(); } Pattern p = Pattern.compile(".*?"); @@ -1807,13 +1833,13 @@ private static ArrayList> getPolygons(File kml) { coordList.add(m.group().substring(13, m.group().length() - 14)); } - ArrayList> polygons = new ArrayList<>(); + ArrayList> polygons = new ArrayList<>(); for (String coords : coordList) { Scanner sc = new Scanner(coords); sc.useDelimiter(" "); - ArrayList polygon = new ArrayList<>(); + ArrayList polygon = new ArrayList<>(); while (sc.hasNext()) { String s = sc.next(); @@ -1825,7 +1851,7 @@ private static ArrayList> getPolygons(File kml) { } else continue; - polygon.add(new PointD(Double.valueOf(pp[0]), Double.valueOf(pp[1]))); + polygon.add(new PointF(Float.valueOf(pp[0]), Float.valueOf(pp[1]))); } sc.close(); @@ -1835,7 +1861,7 @@ private static ArrayList> getPolygons(File kml) { return polygons; } - private static ArrayList> getPolygons(File poly, File meta) { + private static ArrayList> getPolygons(File poly, File meta) { CsvParserSettings settings = new CsvParserSettings(); settings.getFormat().setLineSeparator("\n"); @@ -1846,9 +1872,9 @@ private static ArrayList> getPolygons(File poly, File meta) { List polyRows = parser.parseAll(poly); List metaRows = parser.parseAll(meta); - ArrayList> polygons = new ArrayList<>(); + ArrayList> polygons = new ArrayList<>(); - ArrayList polygon = new ArrayList<>(); + ArrayList polygon = new ArrayList<>(); int polygonId = 0; int polygonSize = Integer.valueOf(metaRows.get(polygonId)[0]); @@ -1862,7 +1888,7 @@ private static ArrayList> getPolygons(File poly, File meta) { } String[] row = polyRows.get(i); - PointD point = new PointD(Double.valueOf(row[0]), Double.valueOf(row[1])); + PointF point = new PointF(Float.valueOf(row[0]), Float.valueOf(row[1])); polygon.add(point); // System.out.printf("%6d\t%6d\t%6d\t%6d\t" + poly.getName() + "\n", i, polyRows.size(), polygon.size(), polygonSize); @@ -1871,9 +1897,9 @@ private static ArrayList> getPolygons(File poly, File meta) { return polygons; } - private static ArrayList> getPolygons(File kml, int reduction) { + private static ArrayList> getPolygons(File kml, int reduction) { if(kml == null) { - return new ArrayList>(); + return new ArrayList>(); } Pattern p = Pattern.compile(".*?"); @@ -1888,13 +1914,13 @@ private static ArrayList> getPolygons(File kml, int reduction) coordList.add(m.group().substring(13, m.group().length() - 14)); } - ArrayList> polygons = new ArrayList<>(); + ArrayList> polygons = new ArrayList<>(); for (String coords : coordList) { Scanner sc = new Scanner(coords); sc.useDelimiter(" "); - ArrayList polygon = new ArrayList<>(); + ArrayList polygon = new ArrayList<>(); int vertices = 0; while (sc.hasNext()) { @@ -1908,7 +1934,7 @@ private static ArrayList> getPolygons(File kml, int reduction) continue; if (vertices % reduction == 0) - polygon.add(new PointD(Double.valueOf(pp[0]), Double.valueOf(pp[1]))); + polygon.add(new PointF(Float.valueOf(pp[0]), Float.valueOf(pp[1]))); vertices++; } @@ -1919,31 +1945,31 @@ private static ArrayList> getPolygons(File kml, int reduction) return polygons; } - public static ArrayList> getCountyBorders() { + public static ArrayList> getCountyBorders() { return countyBorders; } - public static ArrayList> getStateBorders() { + public static ArrayList> getStateBorders() { return stateBorders; } - public static ArrayList> getInterstates() { + public static ArrayList> getInterstates() { return interstates; } - public static ArrayList> getMajorRoads() { + public static ArrayList> getMajorRoads() { return majorRoads; } - public static ArrayList> getEstados() { + public static ArrayList> getEstados() { return estados; } - public static ArrayList> getCanadianProvinces() { + public static ArrayList> getCanadianProvinces() { return canadianProvinces; } - public static ArrayList> getCanadianProvincesSubd() { + public static ArrayList> getCanadianProvincesSubd() { return canadianProvincesSubd; } @@ -1970,12 +1996,12 @@ private static String usingBufferedReader(File filePath) { } @SuppressWarnings("unused") - private static void polygonArrayToCsv(ArrayList> polygons, String fileName) { + private static void polygonArrayToCsv(ArrayList> polygons, String fileName) { List polygonsCsv = new ArrayList<>(); List polygonsCsvMeta = new ArrayList<>(); for(int i = 0; i < polygons.size(); i++) { - ArrayList polygon = polygons.get(i); + ArrayList polygon = polygons.get(i); int polygonSize = polygon.size(); diff --git a/src/com/ameliaWx/radarView/RadarSite.java b/src/com/ameliaWx/radarView/RadarSite.java index 1adf32e..a283993 100644 --- a/src/com/ameliaWx/radarView/RadarSite.java +++ b/src/com/ameliaWx/radarView/RadarSite.java @@ -14,15 +14,17 @@ import org.joda.time.DateTime; import org.joda.time.DateTimeZone; +import com.ameliaWx.utils.general.PointF; + public class RadarSite { private String siteCode; private String siteCity; - private PointD siteCoords; + private PointF siteCoords; private boolean online; private boolean warned; - public RadarSite(String siteCode, String siteCity, PointD siteCoords) { + public RadarSite(String siteCode, String siteCity, PointF siteCoords) { this.siteCode = siteCode; this.siteCity = siteCity; this.siteCoords = siteCoords; @@ -32,7 +34,7 @@ public RadarSite(String siteCode, String siteCity, PointD siteCoords) { } public RadarSite(String siteCode, String siteCity, double latitude, double longitude) { - this(siteCode, siteCity, new PointD(latitude, longitude)); + this(siteCode, siteCity, new PointF(latitude, longitude)); } public String getSiteCode() { @@ -43,7 +45,7 @@ public String getSiteCity() { return siteCity; } - public PointD getSiteCoords() { + public PointF getSiteCoords() { return siteCoords; } diff --git a/src/com/ameliaWx/radarView/RadarView.java b/src/com/ameliaWx/radarView/RadarView.java index b865427..cff37f2 100644 --- a/src/com/ameliaWx/radarView/RadarView.java +++ b/src/com/ameliaWx/radarView/RadarView.java @@ -53,7 +53,7 @@ import org.joda.time.DateTime; import org.joda.time.DateTimeZone; -import com.ameliaWx.radarView.nwpModel.LambertConformalProjection; +import com.ameliaWx.radarView.mapProjections.LambertConformalProjection; import com.ameliaWx.radarView.nwpModel.NwpField; import com.ameliaWx.radarView.nwpModel.PtypeAlgorithm; import com.ameliaWx.radarView.nwpModel.RapInterpModel; @@ -63,6 +63,9 @@ import com.ameliaWx.soundingViewer.SoundingFrame; import com.ameliaWx.soundingViewer.unixTool.RadiosondeSite; import com.ameliaWx.soundingViewer.unixTool.RadiosondeWrapper; +import com.ameliaWx.utils.general.PointF; +import com.ameliaWx.utils.graphics.Button; +import com.ameliaWx.utils.graphics.ButtonFunction; import com.ameliaWx.weatherUtils.WeatherUtils; import com.univocity.parsers.csv.CsvParser; import com.univocity.parsers.csv.CsvParserSettings; @@ -125,25 +128,25 @@ public class RadarView extends JFrame { public static String[] tiltChoices; public static Tilt chosenTilt = Tilt._1; - public static ColorScale[] colors; + public static ColorTable[] colors; public static RadarData[] radarData; public static String[] radarDataFileNames; - public static ColorScale reflectivityColors; - public static ColorScale reflectivityColorsLowFilter; - public static ColorScale refl03PTypesColors; - public static ColorScale refl04PTypesColors; - public static ColorScale refl12PTypesColors; - public static ColorScale velocityColors; - public static ColorScale specWdthColors; - public static ColorScale diffReflColors; - public static ColorScale corrCoefColors; - public static ColorScale diffPhseColors; - public static ColorScale kdpColors; - - public static ColorScale testColors1; - public static ColorScale testColors2; + public static ColorTable reflectivityColors; + public static ColorTable reflectivityColorsLowFilter; + public static ColorTable refl03PTypesColors; + public static ColorTable refl04PTypesColors; + public static ColorTable refl12PTypesColors; + public static ColorTable velocityColors; + public static ColorTable specWdthColors; + public static ColorTable diffReflColors; + public static ColorTable corrCoefColors; + public static ColorTable diffPhseColors; + public static ColorTable kdpColors; + + public static ColorTable testColors1; + public static ColorTable testColors2; public static double centralLat = 33; public static double centralLon = -96.5; @@ -157,6 +160,8 @@ public class RadarView extends JFrame { public static int animLength = 1; public static int animLengthWhenPlaying = 6; public static String mostRecentFilename = ""; + + public static ArrayList

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 VTEq36?M%^MY#aYkv_9>=@e^(I)nNbt literal 0 HcmV?d00001 diff --git a/bin/com/ameliaWx/radarView/mapProjections/LambertConformalProjection.class b/bin/com/ameliaWx/radarView/mapProjections/LambertConformalProjection.class new file mode 100644 index 0000000000000000000000000000000000000000..ad61e1da06018c31784999c766e7e5e5683975c2 GIT binary patch literal 2679 zcma)8TTB#Z6#j-~cUc%%&`}0!y$9IwvWm79A-ENam#zpx5wNum%do6F?BMPo*52%0 zTWIZ7>*cvg3d(BCJpKL|FeQLnnH#--+%t|pYxydoip&$ z-1k2K*o7NG6e)-$oYAN`YS}6C*x6{-95S=LDQhA+YL0bgol{oAO*xrdG;WR#T3NT% z$qYN$QPW=73!+#-U&=l=CJz*UY%Rraf*2Vt4=8_~(U-T?(p%mPrhCnpxAfEqli!bPWoMhR%xD zD++?n@Nmv@`{q$UH!@;3!`+gRY&I*hRj@CoonMLV5T#%*sB^*o{CWt=2kxm1Qu z>)Rr2LOrM=A=L>dC)SpVVb9D;lwt&@f=DT-SQwGRraPh{Ep2Qk8Hhco?B3sHJt4fD zR*{t!>}RodRg4#+xWem%inCyY`o^3I1%8o6TM(}*Sih)CAC*ig&f#@Y{x=E-*?b{; zVdP5eg;`^wN;{)uM;xZi_jW2c91261ce`dH&G9WTeV~2`gTB;4j8&Wk3)tY%p-2-p*%Vay)2JTLod(csG*1R z=rQ!FJbDd%c^-WW0UKB|FsovIi9*b@g1KtUbrn`)9iBuj)?f?PqJgX3WTFKdwf(ySyf{ma=f{&0yf)T;nUhz31w*m=P!V(Eysw5K3EN21O zvR)aKdpsxh=8S2kJ&pL~tEe=@Vg@fY`oBR-VPOgxpTSW2E|P`@TSG=@(uo<2EvyfT zbxzngjsE$g^X77UO!wc#nY8YA8iN{CJ(w<>kI2K`ZewWC7DF9)c(+Usk*YeX+mmTt zHQiXQ|3_!0la1kfIM=V2)2zec>u7?nzHm|xQ+5hXPa=5-uZh1gKG`-Ni*@9(o?J%A zqk*m1j4sL^q6xOpXKbQd*ohzcZ_Ir>BUv0~!?B9^PQhx0@}dh_8eB0v3n zTR;=|0B=(lq)!{~5QXTu1Md=*(SI}EBPwTRHijJ$TtGIj(>qV)1 z!^tZ*ureYPl@YI$RQQW;`fk$FtDrY{F>GQz#o(=@o?hl-)#58=A}Ujh%S1kz6O-8_ e!(Sfgc5Qg84^HtY0X$hr33*oCtIN$?t0&yX#0J%^>RU~c`XVq+F?^gB(_*YyD z2YvuQ3NdS{&_t<{%g*ljooDAA@9#f9e*t)kUJWIIC$ULGN@b$x)3-3AA!SEOehpJP zJ;=<7jIA;{5BDz~YbXmePv{GU3F+hT{lMu2)=&RcL}VkQ56zpm0-bKZ-;1U$8C#X) z;jz>*qa-{qO545X0r)&jSb=gLww0t*C2QoXPK_Uee z@IRVy7RxC`pP(c;$B~(x=VjU~z(PxElW8n1)?_Z!))YUs@ zSUbbj@0=^)8n0DWfOVU^ZgLK&<2trDy4?-jjKN4`12?J?q9-sFo(6hfc5Ya*6tiudjYG%u1e_s1*PY_ Axc~qF literal 0 HcmV?d00001 diff --git a/bin/com/ameliaWx/radarView/mapProjections/PolarStereographicProjection.class b/bin/com/ameliaWx/radarView/mapProjections/PolarStereographicProjection.class new file mode 100644 index 0000000000000000000000000000000000000000..ce21ade8311b13a37813fb5f324b9a0522699e07 GIT binary patch literal 2289 zcma)6+in|G6kR8d?Kqj#apSbp3n-zG*wc$kYudV3H#IJSvOTe^4P1IF+b``U=lHAi+cV03^NuvCf&PLn~BbdFCwdea_x{t-X(b z{`-d?0p#Jw(Iqf$xs9CJu{lhF9^LK5U5$u*B)AHzE4RQ2Hl+%z1(CZp{19VVBUx41wpatl# zhW-E*G;Bgro;{{v07)|St4>Qmf4)DHrXRL16}o6)Q!ly`Z?k;z$v&(7vhUPexr*Ji zJ+sc?bDDnnm=xo*hH;#svMr~{e3??VB+YMXC@Zt&wqnJ*PeK)M-VMRkUjl)PbIL%@ z(*h&UwEMqO_F@Vbq*gNmQCTIsnW(Q1V^6(9tnZG^o>xydD^mBkdBv*ox@`O8e-1`?Ho_;$`R$U^%ocaaSyn42S*@I7wQ`Ep${AKGCs?hVU#{EaMdBKx zcMxet9pbODvH_!yAm-B8l7^nf_B3{?@5^Znr=o+Y$o+?S2URGKP|E95IFl+BmwN z!Qf2=>+EKo32Y&UtwcI@kjV(PV~l7ocH$sjQdKOf{dpV@8Rc<;Ol6gMrCdZIsa;ed zsa{+msb4}NsbHT%Qp0|Qq>56%y!;>FBjiX0OvMH6k}9rdDV$yAD+z;@xjpR~KZj4k;$XWII9zyD-dN?ZGGxQ^Rp;cOC|= z&|*=~I&xUXetb$@Wp9_19;+QyS8ZE0`sUGWKVLjM~LqNn`gKuC4H8t*l{jomxzl za#)qRCD__2HObTt{X*WoFkp-0B-@`E+jRd+?2`RD(!KEc7hhp(R$5Y7T8;*mX!nE2 z1MZC|5qnki6O`?g$~H_p<8-oRC|w{-1`VPJn(C|=RRy?V0nae9B%^C&v?TKc%?cQm L{)dsL_P724BIm(j literal 0 HcmV?d00001 diff --git a/bin/com/ameliaWx/radarView/mapProjections/RadialProjection.class b/bin/com/ameliaWx/radarView/mapProjections/RadialProjection.class new file mode 100644 index 0000000000000000000000000000000000000000..b4e88542e70f5e234d37bfff1c595d879a855846 GIT binary patch literal 1009 zcma)4O>fgc5PjpsaT^M0OH)2tpb-+J9N0rqg#uL$?Mz25epl+#?Bi5MxXGHJwt(>CAZ?nUG5Naxdp z1yYZ&U}Ro~FS`{Os!gFW;cf*sp091srBYi$=nwIcaIcaME^NMc(`=~rw7>24{8c^l z{{bEFi}4EC28gi0zb(LGiOm8--sd-Ddzp6yBQb^#zTwK(qI{Wcqew0akI9 zk+6m~Ti^VgF=Pzri?=xMY!#hbEW_t#o!(o=wSq0cb@sf}HQXrKb{T_zvb77g_1W$P owwu`C9>OMWl^kb^YM4G9z+VFgMhH{RmyVsa}>i*k)@ zj1qnE&?skJjAy=l6W~{Lb^7&-tG7 zY%Crs-c&1djVr|w-{xCgzNWpozBbU*?(gV*@}w;4O-T9Qw$UfKQh1s8;E0?sOa5g} zj9A@SS=oh!?$X-!Hjl5ZzO~6$xz_VQpsBUP(^&7XU*l`_l(#qe14TxTZEj~~_SAv% z+$$}NamK`HVdj+g+8F1o5Y<>8s1hQx-9;Au;Jk@*LVUCDL7%79=Wq0s`2zRZjN`V1 z$Rc-%amv=0kufz&a3JnLl-Pq!_HpUVB#JD|xS7E${kqBLI&Q*489CfVE-mEoi0(ek z9G=I^cCKe91?=Vq_A-zC+{hQq=O{PxEejZ7A)_qf47czng#twq!>y7*u`HlORR-Q5`1na<_8b!xC1p5+CEuBDKNDc53ZSf{&>vYt+Q_1{)D7*9A3 zNtaRKtV>@!gu`imo6!hfV2;xq;?!IG?zK#+3#yD`&RMAk{}Uv8!a+R+7eji2saL-* zo!!LILlVzu1Eb1g*rLvECB(}d;T6uaO=5Xf z>}(e&uSo%eQq2x&VW$LmL;4w#5J5S{n=(Nt;tF<0ICORD>awV~hCLD4>@^xvSES6= zHXqdHSrj8p;#64)$S&hZ>c-gRCdMNFqB7W!_MR;KKqEfXhVEkpAF09nY2bj`{4oQ3 z%IkVdh|f68=Q_`anBcHD_)@%lCAagnf*lRk%`k}^H(Jvdo6o5WslX27o%CrlyDz!e z?X`w2OR{t|^c2{_&L&w^8)wrW?;O^7{DEYCWI8{Q$I#d$yH@n*b2#0 zm8i%|C0|vtg1Z>j7zh1^&vlhuGs-f}IH(|*MEpaC(dDX%yP%8{n*MK61Y_JakQPm} az9y@fNKo=*CC(G8J|c_0t~g^?M%BL?Y+c^~ delta 1194 zcmYk5drZ}37{@=);cz*(V#wtj;!nC*$T)JX}UDVG1-(=W=FK$b7C~DbrX%5iJz6mJ(j# zN_J364_C8`Yj~eB_EXO1%;0Ng@vS0%=30iC!wKechU*L>mcTsA=LVZYg)O7fp5jK^ zLY2Ljpv`?$M?Gl+R(1>VEFh6v@w13zYDnca@~9QT61`fd+m}+s?V2s)PVS&t>S-FH z{)~E?b+5vgEBro%->>kM3U5+!4=HpNGkKT@kLZC%spm0;KF$+7Nr(2fvfAki4%#zL zOQ<2QqL*OE)6cMr&6I{beH?p-(`}{RnEX2?ow3l=%z^WcS^xO4vWX+nNah}ET}yy< zq_JKZJTE`n<<|z~v{CtVihYv+U(n+(3S%?R@v?Sbk+WOq6VO*|<4?9*60cecuUUv4 zRz{cA(QPYu!yWr{jM;(o%XESj6#+7Qx(rE zjBE=?`B-H=&RAAkQcWTwac8NCwrB6QxqIZ-2P)=Xfqp2%_i+y&$>#k+`k2=l5a1^q z(rqJr#whAe4q7RPY!P1w?91r-+(fe>r}N@@*PoUPSwQ!@RMzgIsys=y1>NC(evGHw zGj3b^IcwWXedF^q@0!Lk|G3*}zBP?b&Lyi`535IiAf2DcQHM?8h&u8Y74=st_)SF} z7VPgT>`|5Um^?l%50BEtDK66MeWb(~wC-q(sqbWfT2tyUgSf`k_fqbdlIuexj4O|M z)l!~Twku~pNkZ6UKJyDFM`fLGbPCU&bF`QitJXDsp*7ijsS5U-vrP2kSrxX_w6lOqQYLHANfbKF&QSj1e*q~JB}xDQ diff --git a/bin/com/ameliaWx/radarView/nwpModel/HrrrModel.class b/bin/com/ameliaWx/radarView/nwpModel/HrrrModel.class index 9acbf008607e592d3350c46309f0fc7fb99a6b56..8a715ad680bfd7a8d70e8f558288c00407c1f967 100644 GIT binary patch delta 879 zcmah{T}YE*6n@TT=zcU2=k`fjYUL)%B6VS@NZI@$%aCxHq0_!(y18^;U{shEW!Y@@ z%0NpjtjIw68I7!qe(0u>Ov<0?D(JeP8@ov8ST_-ZH}5&$d7tMw&v(u{Wm~WX9F!~C zB1|zJ=aI^GZ?oK}xV){t{$t;$NTg_t|JB7g%A)Pd5JEE)jH2x2D7{)sdb+u|*s`n9 z>#;gLvfJgX?yw$JTyCGWNp6+foo;KT*VU@n#hf-*-e_JKxXn_d#VqC{F-J&QQCE+T z_(X_kk`)I*ZMN8jOP8UxTgpUGcR4L><%XdW{Y4cSLLXujl9LgEwa_4i&s11AW@7^i zk&X(OQHuh4OY_6^apw66jHiSd<|i<=nJ_MR&8n9&TI7mA$Az6&kP)3fH^g2zABPQ$a1$ z4>G-;=}x9MFujqz9%iZw`DkYG78Y>NumEfx|TzX8Yn?oj{$ delta 751 zcmYk4TS!z<6o$VwYC5Bqm^w4rpsB@-W<{4FuTV@Hb~C~-i!?FJECri-v2v^^BQ>XO zbP?%d6w-sxfLKseFI_OYky$+nJ@gV$J=B9iYxKo);H-82z5ccT{jdGU``X)6DND^y z>w;k5yW|HG(oL@{mclR+`X(1+BsYxRvbm!&-9DekJQ2sN^5%vnzt8-(t+Hge!${IJ zQsAkwF~)c_9|c!1!S0yGBdwixVHao)SDKigZFG$*qrlIDzPK(S9 zP0sd9+k7H%VI@u9bUgZ9K_=BN)qeI zV1sV85wA)qW;11Mp^B~4vJJoDC)geuOstWjDy8pK`fjCHE4@bPd-Mc#O0B1mefVgg zoc+4esMLcTrJ10vU8BX6B)yR%#-3c4ReBGH(|Vt`7OvoRT8H^C!j}%OEu2nFrLiWE zl43&1iSu60D3<$E#d*_(p^4-t($=cSJw`Ie^&D+#U4Yf9xI%5%!D*Fuh9$OQst^5xjW3_w$ diff --git a/bin/com/ameliaWx/radarView/nwpModel/HrrrSubhourlyModel.class b/bin/com/ameliaWx/radarView/nwpModel/HrrrSubhourlyModel.class index a12377ebc5713e3aca87a0a1c043886a0abd1335..8a849a800c6cf03c1f60e8c79cf713db73f00b8a 100644 GIT binary patch delta 1410 zcmah|YfzMB7(HhJVXs`4>#~c$#xBdn4G0oJA_g}wEXFVqthg6DXY^epE7xnpWTl(S~ ziyUNc;sm{zi_}BFw`@ zVjWdzVGz0*j6Q~7luIzqFicQ`x2VMob@+gKd_n_GGaTPC53GKAvQ<|3vICbF2vAEeNF@I;JCn4n#8pCT1g<%V47u z8O%X0^RQgrT`ceq#%Hr|h0uzGRwA@JgjOoFJCVwA+{#rbpbI6u3#(ayI<7_&tKgOO zKHls9Eun!c?-P2B(ANvSR_GgqUWYV3Ak+pFvk~QNLN%Mwz!ssl;&DDKZZu#YH!H)5 zv-BtrnOjm_Z@`qGew!KqpTrps ziv2^>azutODuyd8<`^I3Q}pl|_V77*KF?|H<=1>c1@2QBIj%BGwMeyT1UR@~mCaX_ zo~0Y&vXG8nZ~_{MPZBc)X{GsL<=oPNu$oYY2VFz0zbAP&SH31r9)OhxWnQn#047ky zL)b(=w(&4}`6l*q64RW*`<%viJVNlO1mPW)aK>Mp8bTgZ%B-u@SD=R(zyW2%nwT