[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[IDV #ILQ-577350]: Profiler bug



> The problem exists in my plugin code. It's copied from
> ucar.unidata.data.profiler.AddeProfilerDataSource.
> Can you fix the problem and send me the corrected source code?

Howard,
   I have a fix for this bug, and see the attached file. I am not sure if you 
need to set these two apis to public, I think if you overwrite the getObs() 
api, and getObs is private, so you only need to have them protected, and this 
is what I did, let me know if you have issues with it.



Yuan
> 
> Would you make recastProfilerSingleStationData and
> recastProfilerMultiStationData methods as public static in
> ucar.unidata.data.profiler.AddeProfilerDataSource?
> 
> Thank you,
> Howard
> 
> recastProfilerMultiStationData method at AddeProfilerDataSource:
> 
> In the loop, the first timestamp is added to timesList, but obFFsList is
> not added because dirspd is null. So always, obFFsList contains one less
> than timesList (Last timestamp is execluded).
> The number of timestamp is decided by obFFsList.
> 
> Here is part of source code:
> 
> List<DateTime>  timesList = new ArrayList<DateTime>();
> List<RealTuple> dsList    = new ArrayList<RealTuple>();
> List<FlatField> obFFsList = new ArrayList<FlatField>();
> RealTuple    dirspd = null;
> 
> for (int i = 0; i < indexSet.getLength(); i++) {
> 
> if (thisobsdatetime.equals(cdatetime)) {
> // check altitude of this ob
> ... do something ...
> } else {
> // have read a new time.
> //  finalize previous time's group (all z-> dir spd groups)
> //     but only if you are dealing with a "timecount" to save
> if (timecount % obInt == 0) {
> //  first make sure have processed some data;
> // (is not very first item in list)
> 
> if (dirspd != null) {
> ... do something ...
> obFFsList.add(onetimeFF);
> }
> }  // if final time is at right time interval
> 
> // if this group time counter is at the right interval
> if (timecount % obInt == 0) {
> ... do something ...
> timesList.add(dateTime);
> }
> }
> }
> 
> 
> 
> On 5/21/2010 1:42 PM, Unidata IDV Support wrote:
> >> The last timestamp is excluded with 3D View.
> >>
> >
> > Howard,
> >       I check the display control "ProfilerMultiStationControl", and the 
> > time steps from the fieldImpl is correct, so you need to check the 
> > datasource where this fieldImpl is generated to make sure all the time step 
> > being counted.
> >
> >
> > Yuan
> >>
> >> - Install the attached plugin
> >> - "Observations" -->  "ATEC Data" from Data Chooser
> >> - Select "ATEC Wind Profiler" From Observation Data
> >> - Select "6 most recent" from time option
> >> - Click Add Source button
> >> - Pick all stations
> >> - Select "3D View"
> >> - Click Create Display button
> >> - Check the timestamps
> >>
> >> - Back to "Field Selector"
> >> - Right mouse click from "https://dpg-...";
> >> - Click Properties
> >> - Copy Name
> >> - Open Web Browser like FireFox
> >> - Paste the copied URL
> >> - Download the profiler data and check the timestamps
> >> OR
> >> - Back to "Field Selector"
> >> - Select "NEHIGH" after expanding "Profiler winds"
> >> - Select Time/Height Display
> >> - Click Create Display
> >> - Compare the "display panel" for "NEHIGH" and the the timestamps in Map
> >> View
> >> ===>  Map View shows one less (the latest timestamp is missing at the Map
> >> View
> >>
> >>
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: ILQ-577350
> > Department: Support IDV
> > Priority: Normal
> > Status: Open
> 
> 


Ticket Details
===================
Ticket ID: ILQ-577350
Department: Support IDV
Priority: Normal
Status: Closed

Attachment: AddeProfilerDataSource.java
Description: Binary data


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.