Re: [netcdf-java] How to get FeatureType trajectories working?

  • To: Bob Simons - NOAA Federal <bob.simons@xxxxxxxx>
  • Subject: Re: [netcdf-java] How to get FeatureType trajectories working?
  • From: Heiko Klein <Heiko.Klein@xxxxxx>
  • Date: Fri, 28 Aug 2015 10:56:55 +0200
Hi Bob,

I totally agree that our files must be CF-compliant. But we want to be
able to read the files with most programs, and the whole CF can be
difficult to implement. The change I made is still CF compliant and it
works with the netcdf-java, too. Yes, netcdf-java only implements a
subset of CF, but since I'm not funding them, I can live with that subset.

Writing a special format is usually simple (and we have some flexibility
within CF), reading all formats is hard, so we're trying to find a
compromise.


BTW since you have a NOAA email address: we started from the NOAA
templates:
https://geo-ide.noaa.gov/wiki/index.php?title=NODC_NetCDF_Trajectory_Template
(and eliminated some conflicts with CF from them, e.g. axis)


Best regards,

Heiko


On 2015-08-27 21:21, Bob Simons - NOAA Federal wrote:
> I'm not following this closely, but I was bothered by "we now know how
> to create a netcdf-java compliant trajectory file". netcdf-java is just
> one tool. There are other tools now, and there will be more in the
> future. netcdf-java probably supports a subset/superset of the file
> types defined by the CF DSG standard (which allows a huge number of
> minor variations). 
> 
> I think a far better goal is to seek to make files which are compliant
> with the CF DSG standard, and thus with any tool that follows the CF DSG
> standard. If a given tool (e.g., netcdf-java) can't deal with a valid CF
> DSG file, then it is a bug in that tool and you can
> legitimately/reasonably ask the developer to fix the bug.  
> 
> On Thu, Aug 27, 2015 at 12:01 PM, Heiko Klein <Heiko.Klein@xxxxxx
> <mailto:Heiko.Klein@xxxxxx>> wrote:
> 
>     Hi Kyle,
> 
>     I made now the time-dimension 2-dimensional, i.e. time(obs, trajectory),
>     removing the one simplification made below. netcdf-java seems now to be
>     able to read the trajectories. Since the page:
>     
> http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/reference/FeatureDatasets/CFpointImplement.html
>     already mentions differences from CF, maybe this one could be entered
>     there, too? (Or maybe it's easy to extend the cdm to support
>     one-dimensional time-axes?)
> 
> 
> 
>     I wasn't able to plot trajectories as seen in netcdf-java 2.2. Is it
>     just me not finding the right buttons or was this feature removed? This
>     is not critical, but would be nice for debugging.
> 
> 
>     But the most important point is that we now know how to create a
>     netcdf-java compliant trajectory file. Thanks for your help.
> 
>     Heiko
> 
> 
>     On 2015-08-27 20:17, Heiko Klein wrote:
>     > Hi Kyle,
>     >
>     > we're trying to use quite strictly H.4.1 here, with one addition:
>     >
>     > Since all trajectories have the same timesteps we use 'time'='obs' and
>     > we don't have a special obs dimension. According to CF, this is
>     allowed:
>     > (Chapter H.4.1: "If the trajectories all have the same set of
>     times, the
>     > time auxiliary coordinate variable could be one-dimensional time(obs),
>     > or replaced by a one-dimensional coordinate variable time(time), 
>     where
>     > the size of the time dimension is now equal to the number of
>     elements of
>     > each trajectory. In the latter case, listing the time coordinate
>     > variable in the coordinates attribute is optional.")
>     >
>     > Best regards,
>     >
>     > Heiko
>     >
>     >
>     > On 2015-08-27 16:22, Kyle Wilcox wrote:
>     >> Hi Heiko,
>     >>
>     >> At first glace, I can't figure out which CF specification you were
>     >> trying to adhere to: H.4.1, H.4.2, H.4.3, or H.4.4. It appears
>     you may
>     >> have tried to adopt H.4.2 to use multiple trajectories, which I'm not
>     >> sure is supported in NetCDF-Java.
>     >>
>     >> Take a look at these Trajectory
>     >> examples:
>     
> https://github.com/asascience-open/CFPointConventions/tree/master/trajectory.
>     >> Each folder contains a .cdl, .nc (that will load into
>     NetCDF-Java), and
>     >> an .ncml file.
>     >>
>     >> Hope that helps,
>     >> Kyle
>     >>
>     >>
>     >> On Thu, Aug 27, 2015 at 4:21 AM, Heiko Klein <Heiko.Klein@xxxxxx
>     <mailto:Heiko.Klein@xxxxxx>
>     >> <mailto:Heiko.Klein@xxxxxx <mailto:Heiko.Klein@xxxxxx>>> wrote:
>     >>
>     >>     Hi,
>     >>
>     >>     I'm trying to read trajectory data with netcdf-java. I've
>     seen figures
>     >>     of this with netcdf-java 2.2 at
>     >>
>     >>   
>      
> https://www.unidata.ucar.edu/software/thredds/v4.3/netcdf-java/tutorial/PointDatatype.html
>     >>
>     >>     but both netcdf-4.6 and CF-1.6 have a different layout for
>     >>     trajectory data.
>     >>
>     >>
>     >>
>     >>     I've tried now to generate a netcdf/CF file following the
>     guidelines at
>     >>   
>      
> http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/reference/FeatureDatasets/CFpointImplement.html
>     >>     (see attached file).
>     >>
>     >>
>     >>     ToolsUI gives me a 'CoordSys' with trajectory, time, lat, lon and
>     >>     time,lat,lon have the expected axisTypes. Using FeatureScan,
>     I get a
>     >>     coverage of 'Swath(T,Y,X): trajectory', which looks ok, but I
>     get also
>     >>     an error message:
>     >>
>     >>     ---------
>     >>     /home/heikok/openoil2.nc4
>     >>      NetCDF-4
>     >>      map = 'f:D(2)->R(4)'
>     >>
>     >>      null
>     >>
>     >>     CoverageFactory for '/home/heikok/openoil2.nc4'
>     >>     coverage = Swath
>     >>     FeatureDatasetFactoryManager errlog = Table
>     >>     PsuedoStructure(trajectory)/MultidimPseudo(trajectory,time)
>     featureType
>     >>     TRAJECTORY: lat/lon/time coord not found
>     >>     **Failed to find FeatureDatasetFactory for=
>     /home/heikok/openoil2.nc4
>     >>     datatype=TRAJECTORY
>     >>     ----------
>     >>
>     >>
>     >>     According to 'CoordSys', lat/lon/time are availble.
>     >>
>     >>     The PointFeature/TRAJECTORY wasn't then able to plot the
>     data. Any idea
>     >>     how I can correct my data to enable plotting in netcdf-java UI?
>     >>
>     >>
>     >>     Best regards,
>     >>
>     >>     Heiko
>     >>
>     >>
>     >>
>     >>     _______________________________________________
>     >>     netcdf-java mailing list
>     >>     netcdf-java@xxxxxxxxxxxxxxxx
>     <mailto:netcdf-java@xxxxxxxxxxxxxxxx>
>     <mailto:netcdf-java@xxxxxxxxxxxxxxxx
>     <mailto:netcdf-java@xxxxxxxxxxxxxxxx>>
>     >>     For list information or to unsubscribe, visit:
>     >>     http://www.unidata.ucar.edu/mailing_lists/
>     >>
>     >>
>     >
> 
>     _______________________________________________
>     netcdf-java mailing list
>     netcdf-java@xxxxxxxxxxxxxxxx <mailto:netcdf-java@xxxxxxxxxxxxxxxx>
>     For list information or to unsubscribe, visit:
>     http://www.unidata.ucar.edu/mailing_lists/
> 
> 
> 
> 
> -- 
> Sincerely,
> 
> Bob Simons
> IT Specialist
> Environmental Research Division
> NOAA Southwest Fisheries Science Center
> 99 Pacific St., Suite 255A      (New!)
> Monterey, CA 93940               (New!) 
> Phone: (831)333-9878            (New!)
> Fax:   (831)648-8440
> Email: bob.simons@xxxxxxxx <mailto:bob.simons@xxxxxxxx>
> 
> The contents of this message are mine personally and
> do not necessarily reflect any position of the
> Government or the National Oceanic and Atmospheric Administration.
> <>< <>< <>< <>< <>< <>< <>< <>< <><
> 

-- 
Dr. Heiko Klein                   Norwegian Meteorological Institute
Tel. + 47 22 96 32 58             P.O. Box 43 Blindern
http://www.met.no                 0313 Oslo NORWAY



  • 2015 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: