ASM #78 - Fix MDCRS display

Change-Id: I28b6788f822100469f0fe292197b6020381e6e38

Former-commit-id: ce444f1ea0 [formerly 20624da288] [formerly 769fc1ed2f] [formerly e5213e9415 [formerly 769fc1ed2f [formerly 2c655d5313882f811219c7a16f713d977008f949]]]
Former-commit-id: e5213e9415
Former-commit-id: 738d69c8e5a1f10b847ad7775268f2abe518e72b [formerly 774e236d63]
Former-commit-id: 8daf0520bc
This commit is contained in:
Melissa Porricel 2014-02-26 15:20:18 -05:00
parent 3cacb2f84f
commit 6438d70b85
3 changed files with 174 additions and 13 deletions

View file

@ -67,6 +67,18 @@
<longitude>-97.22</longitude>
<elevation>155</elevation>
</airport>
<airport>
<id>ADK</id>
<latitude>51.88</latitude>
<longitude>-176.65</longitude>
<elevation>6</elevation>
</airport>
<airport>
<id>ADQ</id>
<latitude>57.75</latitude>
<longitude>-152.50</longitude>
<elevation>22</elevation>
</airport>
<airport>
<id>AEX</id>
<latitude>31.33</latitude>
@ -97,6 +109,12 @@
<longitude>24.77</longitude>
<elevation>1192</elevation>
</airport>
<airport>
<id>AKN</id>
<latitude>58.68</latitude>
<longitude>-156.65</longitude>
<elevation>17</elevation>
</airport>
<airport>
<id>AKO</id>
<latitude>40.17</latitude>
@ -145,6 +163,12 @@
<longitude>-150.02</longitude>
<elevation>45</elevation>
</airport>
<airport>
<id>ANI</id>
<latitude>61.58</latitude>
<longitude>-159.55</longitude>
<elevation>27</elevation>
</airport>
<airport>
<id>APA</id>
<latitude>39.57</latitude>
@ -205,6 +229,12 @@
<longitude>-73.13</longitude>
<elevation>5</elevation>
</airport>
<airport>
<id>BET</id>
<latitude>60.78</latitude>
<longitude>-161.83</longitude>
<elevation>40</elevation>
</airport>
<airport>
<id>BFI</id>
<latitude>47.53</latitude>
@ -337,6 +367,12 @@
<longitude>4.53</longitude>
<elevation>58</elevation>
</airport>
<airport>
<id>BRW</id>
<latitude>71.28</latitude>
<longitude>-156.77</longitude>
<elevation>16</elevation>
</airport>
<airport>
<id>BSM</id>
<latitude>30.20</latitude>
@ -415,6 +451,12 @@
<longitude>2.55</longitude>
<elevation>117</elevation>
</airport>
<airport>
<id>CDV</id>
<latitude>60.50</latitude>
<longitude>-145.48</longitude>
<elevation>13</elevation>
</airport>
<airport>
<id>CEF</id>
<latitude>42.20</latitude>
@ -547,6 +589,12 @@
<longitude>-97.23</longitude>
<elevation>239</elevation>
</airport>
<airport>
<id>CYXY</id>
<latitude>60.71</latitude>
<longitude>-135.07</longitude>
<elevation>706</elevation>
</airport>
<airport>
<id>CYYZ</id>
<latitude>43.68</latitude>
@ -619,6 +667,12 @@
<longitude>103.68</longitude>
<elevation>12</elevation>
</airport>
<airport>
<id>DLG</id>
<latitude>59.05</latitude>
<longitude>-158.50</longitude>
<elevation>26</elevation>
</airport>
<airport>
<id>DNMM</id>
<latitude>6.50</latitude>
@ -661,6 +715,12 @@
<longitude>6.78</longitude>
<elevation>44</elevation>
</airport>
<airport>
<id>DUT</id>
<latitude>53.90</latitude>
<longitude>-166.55</longitude>
<elevation>4</elevation>
</airport>
<airport>
<id>DXR</id>
<latitude>41.37</latitude>
@ -895,6 +955,12 @@
<longitude>-1.32</longitude>
<elevation>94</elevation>
</airport>
<airport>
<id>ENA</id>
<latitude>60.57</latitude>
<longitude>-151.25</longitude>
<elevation>28</elevation>
</airport>
<airport>
<id>ENAL</id>
<latitude>62.50</latitude>
@ -1309,6 +1375,12 @@
<longitude>-82.22</longitude>
<elevation>296</elevation>
</airport>
<airport>
<id>GST</id>
<latitude>58.43</latitude>
<longitude>-135.71</longitude>
<elevation>11</elevation>
</airport>
<airport>
<id>GTF</id>
<latitude>47.48</latitude>
@ -1387,6 +1459,12 @@
<longitude>-76.23</longitude>
<elevation>9999</elevation>
</airport>
<airport>
<id>HOM</id>
<latitude>59.65</latitude>
<longitude>-151.48</longitude>
<elevation>24</elevation>
</airport>
<airport>
<id>HOU</id>
<latitude>29.65</latitude>
@ -1495,6 +1573,12 @@
<longitude>-73.78</longitude>
<elevation>7</elevation>
</airport>
<airport>
<id>JNU</id>
<latitude>58.36</latitude>
<longitude>-134.58</longitude>
<elevation>7</elevation>
</airport>
<airport>
<id>JSJ</id>
<latitude>18.43</latitude>
@ -1537,6 +1621,12 @@
<longitude>-118.08</longitude>
<elevation>774</elevation>
</airport>
<airport>
<id>KTN</id>
<latitude>55.35</latitude>
<longitude>-131.71</longitude>
<elevation>29</elevation>
</airport>
<airport>
<id>KUL</id>
<latitude>3.12</latitude>
@ -2473,6 +2563,12 @@
<longitude>-95.90</longitude>
<elevation>299</elevation>
</airport>
<airport>
<id>OME</id>
<latitude>64.51</latitude>
<longitude>-165.45</longitude>
<elevation>11</elevation>
</airport>
<airport>
<id>ONT</id>
<latitude>34.05</latitude>
@ -2509,6 +2605,12 @@
<longitude>36.50</longitude>
<elevation>615</elevation>
</airport>
<airport>
<id>OTZ</id>
<latitude>66.88</latitude>
<longitude>-162.60</longitude>
<elevation>4</elevation>
</airport>
<airport>
<id>PAE</id>
<latitude>47.92</latitude>
@ -2611,6 +2713,12 @@
<longitude>-73.88</longitude>
<elevation>50</elevation>
</airport>
<airport>
<id>PSG</id>
<latitude>56.80</latitude>
<longitude>-132.95</longitude>
<elevation>35</elevation>
</airport>
<airport>
<id>PSP</id>
<latitude>33.83</latitude>
@ -2827,6 +2935,12 @@
<longitude>-86.32</longitude>
<elevation>236</elevation>
</airport>
<airport>
<id>SCC</id>
<latitude>70.19</latitude>
<longitude>-148.47</longitude>
<elevation>20</elevation>
</airport>
<airport>
<id>SCEL</id>
<latitude>-33.38</latitude>
@ -2851,6 +2965,12 @@
<longitude>-85.73</longitude>
<elevation>151</elevation>
</airport>
<airport>
<id>SDP</id>
<latitude>55.32</latitude>
<longitude>-160.52</longitude>
<elevation>7</elevation>
</airport>
<airport>
<id>SDQ</id>
<latitude>18.43</latitude>
@ -2911,6 +3031,12 @@
<longitude>103.85</longitude>
<elevation>16</elevation>
</airport>
<airport>
<id>SIT</id>
<latitude>57.05</latitude>
<longitude>-135.36</longitude>
<elevation>8</elevation>
</airport>
<airport>
<id>SJC</id>
<latitude>37.37</latitude>
@ -2989,6 +3115,12 @@
<longitude>-117.88</longitude>
<elevation>16</elevation>
</airport>
<airport>
<id>SNP</id>
<latitude>57.17</latitude>
<longitude>-170.22</longitude>
<elevation>13</elevation>
</airport>
<airport>
<id>SPI</id>
<latitude>39.85</latitude>
@ -3247,6 +3379,12 @@
<longitude>-117.38</longitude>
<elevation>876</elevation>
</airport>
<airport>
<id>VDZ</id>
<latitude>61.13</latitude>
<longitude>-146.25</longitude>
<elevation>37</elevation>
</airport>
<airport>
<id>VECC</id>
<latitude>22.70</latitude>
@ -3343,6 +3481,12 @@
<longitude>-122.72</longitude>
<elevation>937</elevation>
</airport>
<airport>
<id>WRG</id>
<latitude>56.48</latitude>
<longitude>-132.37</longitude>
<elevation>15</elevation>
</airport>
<airport>
<id>WSSS</id>
<latitude>1.37</latitude>
@ -3355,6 +3499,12 @@
<longitude>-64.68</longitude>
<elevation>6</elevation>
</airport>
<airport>
<id>YAK</id>
<latitude>59.50</latitude>
<longitude>-139.66</longitude>
<elevation>10</elevation>
</airport>
<airport>
<id>YARG</id>
<latitude>-16.63</latitude>

View file

@ -21,6 +21,17 @@ import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
import com.raytheon.uf.common.pointdata.spatial.AircraftObsLocation;
import com.raytheon.uf.edex.decodertools.time.TimeTools;
/**
*
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* ?? ?? Initial creation
* Feb 24, 2014 DR15038 M.Porricelli Modified 'accept' to
* not discard sounding data
* based on altitude here
*/
public final class ACARSSoundingTools {
// 30 minute offset to apply to observation time.
@ -436,13 +447,8 @@ public final class ACARSSoundingTools {
if (altitudes != null) {
double minAlt = altitudes.get(0).doubleValue();
double maxAlt = altitudes.get(1).doubleValue();
// We want the lowest entry to be at or below MAX_FIRST
if (minAlt <= MAX_FIRST) {
// Is the sounding deep enough? If not, clear the list.
if ((maxAlt - minAlt) < MIN_DEPTH) {
soundingList.clear();
}
} else {
// Is the sounding deep enough? If not, clear the list.
if ((maxAlt - minAlt) < MIN_DEPTH) {
soundingList.clear();
}
}

View file

@ -56,6 +56,11 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
* ------------ ---------- ----------- --------------------------
* Apr 16, 2009 jkorman Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Feb 24, 2014 DR15038 M.Porricelli In createSounding, use
* difference between flight
* level and airport elevation
* to determine which airport
* to use
*
* </pre>
*
@ -203,17 +208,17 @@ public class SoundingBuilder {
List<ACARSRecord> obsData) {
ACARSSoundingRecord sounding = null;
if (obsData != null) {
// examine the lower MAX_FIRST meters of the data to determine which
// airport to use.
Airport airport = null;
Double dist = Double.MAX_VALUE;
ACARSRecord recObs = null;
for (ACARSRecord r : obsData) {
if (r.getFlightLevel() < ACARSSoundingTools.MAX_FIRST) {
Airport a = airports.nearest(r,
ACARSSoundingTools.MAX_DISTANCE);
if ((a != null) && (a.getDistance() < dist)) {
Airport a = airports
.nearest(r, ACARSSoundingTools.MAX_DISTANCE);
if (a != null
&& (r.getFlightLevel() - a.getElevation()) < ACARSSoundingTools.MAX_FIRST) {
if ((a.getDistance() < dist)) {
// Keep track of the obs that contributes the distance.
recObs = r;
dist = a.getDistance();
@ -221,7 +226,7 @@ public class SoundingBuilder {
}
}
}
// If we have an airport we'll use that to create the sounding
// If we have an airport we'll use that to create the sounding
if (airport != null) {
sounding = new ACARSSoundingRecord();
Calendar soundingTime = recObs.getTimeObs();