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

[IDV #IQR-639012]: Trajectories in NCDF format



Adam,

We have started looking into this again.

Currently, the IDV has some capability to read and display CF compliant
trajectory files. I was reading our old emails on this topic, and I realized
that this comment stands in contradiction to earlier advice. For example, the
nemo.nc file which I point to below can be read by the IDV if you select a Data
Source Type of "Trajectory Sounding Files". However, I believe we are still
stuck (although hopefully for not much longer) for multiple trajectories.

Can you tell me a bit more about what you mean by multiple trajectories. Are
these trajectories from different locations, or perhaps the same location, but
spread out over time?

Theoretically, using the nemo.nc as a template and identifying your multiple
trajectories with different station identifiers should eventually work.

Best,

Unidata IDV Support


> Adam,
> 
> Apologies for the long delay. I have been consumed with the 5.0 release and 
> have
> not had time to properly address this issue.
> 
> I aim to start looking into this again soon. Last I looked, single CF
> trajectories seemed achievable, but *multiple* trajectories may be more
> challenging. I'll continue to dig in to it.
> 
> Best,
> 
> Unidata IDV Support
> 
> > Hi guys,
> >
> > Any luck modifying the IDV to read CF compliant trajectory files?
> >
> > Thanks,
> > Adam
> >
> >
> > -----Original Message-----
> > From: Unidata IDV Support [mailto:address@hidden]
> > Sent: Monday, May 05, 2014 5:06 PM
> > To: Adam Houston
> > Cc: address@hidden
> > Subject: [IDV #IQR-639012]: Trajectories in NCDF format
> >
> > Ohh and I forgot the attachment.
> >
> > > Adam,
> > >
> > > We have spent quite a while digging into this problem. We (both you
> > > and Unidata) are treating the track.nc as a good template for creating
> > > trajectory data that can be read into the IDV. After some discussion
> > > here, we realize that is probably not a good idea. That track.nc file
> > > is not CF compliant, but following some less well known
> > > "NCAR-RAF/nimbus" format. Both of us are having a hard or impossible
> > > time using the "NCAR-RAF/nimbus" as a template or an example.
> > >
> > > What you really need to do is provide a CF compliant trajectory file.
> > > But there is a problem. The IDV cannot read CF compliant trajectory
> > > files. So we are in a catch 22. We can't use track.nc as a template,
> > > and the IDV cannot read CF compliant netCDF trajectories.
> > >
> > > So... I am going to fix the IDV so that it can read CF compliant
> > > trajectory files, but it is going to take some time. I hope I can get
> > > this task done by next week.
> > >
> > > In the meantime, I attach a better CF compliant trajectory file that
> > > the IDV should be able to read when I am done with my work. Please see
> > > that file attached as a template or example.
> > >
> > > As an alternative solution to all of this you may wish to check out
> > > the CSV data capability in the IDV. If you have the ability to produce
> > > your data as CSV you may wish to consider that option.
> > >
> > > Thanks for your patience and let me know if you have any additional
> > > concerns.
> > >
> > > Best Wishes,
> > >
> > > Unidata IDV Support
> > >
> > > > I'm building these files in IDL.  I implemented the new template and 
> > > > IDV still can't read it.  Header:
> > > >
> > > > netcdf \2007finalinfo_trunc {
> > > > dimensions:
> > > > obs = 31 ;
> > > > trajectory = 12 ;
> > > > variables:
> > > > int trajectory(trajectory) ;
> > > > trajectory:cf_role = "trajectory_id" ; int time(trajectory, obs) ;
> > > > time:standard_name = "time" ; time:long_name = "time" ; time:units =
> > > > "seconds since 1970-01-01 00:00:00" ; time:axis = "T" ;
> > > > time:FillValue = "0.0f" ; float lat(trajectory, obs) ;
> > > > lat:standard_name = "latitude" ; lat:long_name = "latitude" ;
> > > > lat:units = "degrees_north" ; lat:axis = "Y" ; lat:FillValue =
> > > > "0.0f" ; float lon(trajectory, obs) ; lon:standard_name =
> > > > "longitude" ; lon:long_name = "longitude" ; lon:units =
> > > > "degrees_east" ; lon:axis = "X" ; lon:FillValue = "0.0f" ; float
> > > > z(trajectory, obs) ; z:standard_name = "altitude" ; z:long_name =
> > > > "height above mean sea level" ; z:units = "m" ; z:axis = "Z" ;
> > > > z:positive = "up" ; z:FillValue = "0.0f" ;
> > > >
> > > > // global attributes:
> > > > :featureType = "trajectory" ;
> > > > :Conventions = "CF-1.6" ;
> > > > }
> > > >
> > > > I'll upload the new ncdf to the motherlode repository.
> > > >
> > > > - Adam
> > > >
> > > > ________________________________________
> > > > From: Unidata IDV Support <address@hidden>
> > > > Sent: Monday, May 05, 2014 9:25 AM
> > > > To: Adam Houston
> > > > Cc: address@hidden
> > > > Subject: [IDV #IQR-639012]: Trajectories in NCDF format
> > > >
> > > > Adam,
> > > >
> > > > How is this trajectory file created?
> > > >
> > > > I have been looking at your trajectory file, and I am not sure why
> > > > it is not working. The underlying library in the IDV is complaining
> > > > about:
> > > >
> > > > - not finding Latitude coordinate
> > > > - not finding Longitude coordinate
> > > > - lat/lon/time coord not found.
> > > >
> > > > But I am wondering if track.nc is the best template for a trajectory.
> > > >
> > > > Theoretically, this one should be better:
> > > >
> > > > https://geo-ide.noaa.gov/wiki/index.php?title=NODC_NetCDF_Trajectory
> > > > _Template
> > > >
> > > > Can you try adhering to their suggestions?
> > > >
> > > > I am going to investigate on my end to ensure this is a better
> > > > template.
> > > >
> > > > Best,
> > > >
> > > > Unidata IDV Support
> > > >
> > > >
> > > > > The files have been uploaded: a single trajectory ncdf file and a 
> > > > > multiple trajectory ncdf file.
> > > > >
> > > > > - Adam
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Unidata IDV Support [mailto:address@hidden]
> > > > > Sent: Friday, May 02, 2014 10:49 AM
> > > > > To: Adam Houston
> > > > > Cc: address@hidden
> > > > > Subject: [IDV #IQR-639012]: Trajectories in NCDF format
> > > > >
> > > > > Adam,
> > > > >
> > > > > Can you upload your data here and let us know when it is uploaded?
> > > > >
> > > > > http://motherlode.ucar.edu/repository/alias/idvupload
> > > > >
> > > > > Best,
> > > > >
> > > > > Unidata IDV Support
> > > > >
> > > > > > Full Name: Adam Houston
> > > > > > Email Address: address@hidden
> > > > > > Organization: University of Nebraska - Lincoln Package Version:
> > > > > > 4.1 Operating System: CentOS
> > > > > > Hardware:
> > > > > > Description of problem: I'm unable to get IDV to recognize NCDF 
> > > > > > trajectory files that I'm creating.  I've verified that IDV 
> > > > > > recognizes a "track.nc" file available in one of the workshop 
> > > > > > packages but neither my own single trajectory file nor my own 
> > > > > > multiple trajectory file (this is what I really need to visualize) 
> > > > > > can be read.  To the best of my knowledge I'm adhering to the CF 
> > > > > > Version 1.6 conventions (I've tested them in an online compliance 
> > > > > > checker).  I've included both headers below.
> > > > > >
> > > > > > netcdf \2007finalinfo {
> > > > > > dimensions:
> > > > > > time = 6 ;
> > > > > > trajid_strlen = 1 ;
> > > > > > variables:
> > > > > > char trajectory(trajid_strlen) ; trajectory:cf_role =
> > > > > > "trajectory_id" ; int time(time) ; time:standard_name = "time" ;
> > > > > > time:long_name = "time" ; time:units = "seconds since 1970-01-01
> > > > > > 00:00:00" ; float lat(time) ; lat:standard_name = "latitude" ;
> > > > > > lat:long_name = "latitude" ; lat:units = "degrees_north" ; float
> > > > > > lon(time) ; lon:standard_name = "longitude" ; lon:long_name =
> > > > > > "longitude" ; lon:units = "degrees_east"
> > > > > > ; float z(time) ; z:standard_name = "altitude" ; z:long_name =
> > > > > > "height above mean sea level" ; z:units = "m" ;
> > > > > >
> > > > > > // global attributes:
> > > > > > :featureType = "trajectory" ;
> > > > > > :Conventions = "CF-1.6" ;
> > > > > > }
> > > > > >
> > > > > > ==== Multiple trajectories ====
> > > > > >
> > > > > > netcdf \2007finalinfo {
> > > > > > dimensions:
> > > > > > obs = 28067 ;
> > > > > > trajectory = 3252 ;
> > > > > > trajid_strlen = 4 ;
> > > > > > variables:
> > > > > > char trajectory(trajectory, trajid_strlen) ; trajectory:cf_role
> > > > > > = "trajectory_id" ; int rowSize(trajectory) ; rowSize:long_name
> > > > > > = "number of obs for this trajectory" ; rowSize:sample_dimension = 
> > > > > > "obs"
> > > > > > ; int time(obs) ; time:standard_name = "time" ; time:long_name =
> > > > > > "time" ; time:units = "seconds since 1970-01-01 00:00:00" ;
> > > > > > float
> > > > > > lat(obs) ; lat:standard_name = "latitude" ; lat:long_name = 
> > > > > > "latitude"
> > > > > > ; lat:units = "degrees_north" ; float lon(obs) ;
> > > > > > lon:standard_name = "longitude" ; lon:long_name = "longitude" ; 
> > > > > > lon:units = "degrees_east"
> > > > > > ; float z(obs) ; z:standard_name = "altitude" ; z:long_name =
> > > > > > "height above mean sea level" ; z:units = "m" ;
> > > > > >
> > > > > > // global attributes:
> > > > > > :featureType = "trajectory" ;
> > > > > > :Conventions = "CF-1.6" ;
> > > > > > }
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > Ticket Details
> > > > > ===================
> > > > > Ticket ID: IQR-639012
> > > > > Department: Support IDV
> > > > > Priority: Normal
> > > > > Status: Open
> > > > >
> > > > >
> > > >
> > > >
> > > > Ticket Details
> > > > ===================
> > > > Ticket ID: IQR-639012
> > > > Department: Support IDV
> > > > Priority: Normal
> > > > Status: Open
> > > >
> > > >
> > > >
> > >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: IQR-639012
> > Department: Support IDV
> > Priority: Normal
> > Status: Open
> >
> 


Ticket Details
===================
Ticket ID: IQR-639012
Department: Support IDV
Priority: Normal
Status: Open