Re: [thredds] Accessing THREDDS from Java

Hi Antonio,

To use FeatureDatasetFactoryManager to open a dataset via cdmremote, simply
prepend "cdmremote:" to the location:

String location = "cdmremote:http://thredds-jumbo.unidata.ucar"; +
        ".edu/thredds/cdmremote/grib/NCEP/GFS/Global_0p25deg/Best";

However, trying that revealed a bug where NJ couldn't read the cdmremote
capabilities document. I've fixed that [1] and uploaded new archives to our
Nexus server. To use them, you'll need something like this in you pom.xml:

<repositories>
    <repository>
        <id>unidata-releases</id>
        <name>Unidata Releases</name>
        
<url>https://artifacts.unidata.ucar.edu/content/repositories/unidata-releases/</url>
    </repository>
    <repository>
        <id>unidata-snapshots</id>
        <name>UNIDATA Snapshots</name>
        
<url>https://artifacts.unidata.ucar.edu/content/repositories/unidata-snapshots/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>edu.ucar</groupId>
        <artifactId>cdm</artifactId>
        <version>4.6.3-SNAPSHOT</version>
    </dependency>
</dependencies>

You probably already have the "unidata-releases" repo, but you'll need
"unidata-snapshots" to grab the SNAPSHOT release I've prepared for you.

Cheers,
Christian

[1]
https://github.com/Unidata/thredds/commit/b144c170fc3b1f502ab80ad554be95737fdbcdb3

On Tue, Jul 28, 2015 at 12:04 PM, Antonio Rodriges <antonio.rrz@xxxxxxxxx>
wrote:

> Hi and thanks for the replies.
>
> I've tried connecting with CdmRemote to your instance, works fine! I
> noticed a slight pause on connect (I suppose that is tranfer of
> headers..)
>
>     String location =
> "
> http://thredds-jumbo.unidata.ucar.edu/thredds/cdmremote/grib/NCEP/GFS/Global_0p25deg/Best
> ";
>         ucar.nc2.stream.CdmRemote remoteNC = new
> ucar.nc2.stream.CdmRemote(location);
>         Variable var =
> remoteNC.findVariable("Total_ozone_entire_atmosphere_single_layer");
>         System.out.println(var.getDimensions());
>
>    OUTPUT:
> [time = 119;, lat = 721;, lon = 1440;]
>
> At the time FeatureDatasetFactoryManager does not catch cdmremote
> protocol, does it? Is it possible somehow cast CdmRemote to
> GridDataset/GridDatatype to retrieve GridCoordSystem?
>
>         Formatter errlog = new Formatter();
>         FeatureDataset fdataset =
> FeatureDatasetFactoryManager.open(FeatureType.GRID, location, null,
> errlog);  //  Exception
>
> I found [1] saying how to setup cdmremote, is that the right link if I
> want to setup THREDDS locally with cdmremote enabled?
>
> ProtoBuf.js seems very up to date. Maybe some day it will be merged
> with protobuf repository. However, it is a communication framework. I
> suppose building JavaScript lib for cdmremote will require substancial
> efforts since Java-like functionality (Variable, Array etc.) will have
> to be re-implemented on JavaScript.
>
> [1]
> http://www.unidata.ucar.edu/software/thredds/v5.0/netcdf-java/reference/stream/CdmrFeature.html
>
> 2015-07-28 17:54 GMT+03:00 Christian Ward-Garrison <cwardgar@xxxxxxxx>:
> > Hi Rich,
> >
> > So far, there's just the Java client. However, a Python client is under
> > active development. There are currently no plans for a Javascript client.
> >
> > -Christian
> >
> > On Tue, Jul 28, 2015 at 5:15 AM, Signell, Richard <rsignell@xxxxxxxx>
> wrote:
> >>
> >> Christian & THREDDS enthusiasts,
> >>
> >> So cdmremote/ncstream uses protobuf for transport, right?
> >>
> >> So has anybody built a javascript library to access data via cdmremote?
> >>
> >> Seems like that would be a great match, as protobuf is recognized as
> >> being a better choice than JSON for data-heavy web applications:
> >>
> >> http://blog.codeclimate.com/blog/2014/06/05/choose-protocol-buffers/
> >>
> >> and there are several existing protobuf libraries for JS, for example,
> >> this one:
> >> https://github.com/dcodeIO/ProtoBuf.js/wiki
> >>
> >> -Rich
> >>
> >> On Mon, Jul 27, 2015 at 9:10 PM, Christian Ward-Garrison
> >> <cwardgar@xxxxxxxx> wrote:
> >> > Actually, this [1] is a more helpful link for cdmremote — it points to
> >> > TDS
> >> > v5.0 documentation. At the bottom, it talks about client programs for
> >> > the
> >> > protocol.
> >> >
> >> > [1]
> >> >
> >> >
> http://www.unidata.ucar.edu/software/thredds/v5.0/netcdf-java/reference/stream/CdmRemote.html
> >> >
> >> > On Mon, Jul 27, 2015 at 7:06 PM, Christian Ward-Garrison
> >> > <cwardgar@xxxxxxxx>
> >> > wrote:
> >> >>
> >> >> Hi Antonio,
> >> >>
> >> >> Sorry for not getting to this sooner; we were all busy with the 2015
> >> >> Training Workshop last week.
> >> >>
> >> >> You may want to take a look at cdmremote [1]. It's an experimental
> >> >> protocol we've been developing that compares quite favorably to
> >> >> OPeNDAP. In
> >> >> terms of performance, "The java implementation of ncstream should be
> >> >> (close
> >> >> to) maximal I/O efficient." And yes, it is certainly possible for
> >> >> NetCDF-Java to access a THREDDS server using cdmremote as long as
> that
> >> >> server enables it as a data access service. Here [2] is an example on
> >> >> one of
> >> >> our servers.
> >> >>
> >> >> Cheers,
> >> >> Christian
> >> >>
> >> >> [1]
> >> >>
> >> >>
> http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/reference/stream/CdmRemote.html
> >> >> [2]
> >> >>
> >> >>
> http://thredds-jumbo.unidata.ucar.edu/thredds/cdmremote/grib/NCEP/GFS/Global_0p25deg/Best?req=form
> >> >>
> >> >> On Tue, Jul 21, 2015 at 11:26 AM, Antonio Rodriges
> >> >> <antonio.rrz@xxxxxxxxx>
> >> >> wrote:
> >> >>>
> >> >>> Sorry for posting this question on the mail list, however I could
> not
> >> >>> find the answer after googling.
> >> >>>
> >> >>> The THREDDS page [1] lists the supported protocols: "OPeNDAP, OGC
> WMS
> >> >>> and WCS, HTTP, and other remote data access protocols."
> >> >>> Also, it is noted that "The Netcdf-Java/CDM library reads NetCDF,
> >> >>> OpenDAP, ..."
> >> >>>
> >> >>> My question is :
> >> >>> 1) what are other protocols that are supported by TDS?
> >> >>> 2) which protocol is the fastest? For example, has the lowest
> >> >>> overheads in network I/O or creating output data, etc or their is no
> >> >>> definite answer?
> >> >>> 3) is it possible to use Netcdf-Java to access TDS using other
> >> >>> supported protocols or Netcdf-Java can access TDS only via OpenDAP?
> >> >>>
> >> >>> Thanks
> >> >>>
> >> >>> [1]
> http://www.unidata.ucar.edu/software/thredds/current/tds/TDS.html
> >> >>>
> >> >>> _______________________________________________
> >> >>> thredds mailing list
> >> >>> thredds@xxxxxxxxxxxxxxxx
> >> >>> For list information or to unsubscribe,  visit:
> >> >>> http://www.unidata.ucar.edu/mailing_lists/
> >> >>>
> >> >>
> >> >
> >> >
> >> > _______________________________________________
> >> > thredds mailing list
> >> > thredds@xxxxxxxxxxxxxxxx
> >> > For list information or to unsubscribe,  visit:
> >> > http://www.unidata.ucar.edu/mailing_lists/
> >>
> >>
> >>
> >> --
> >> Dr. Richard P. Signell   (508) 457-2229
> >> USGS, 384 Woods Hole Rd.
> >> Woods Hole, MA 02543-1598
> >
> >
>
  • 2015 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: