[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