[idvdevelopers] problem reading point data netcdf via OpenDAP (thredds)

Dear IDV developers,

if this email should be on the users list instead, please let me know.

I'm having issues reading a point-data netcdf file when the file is
served via thredds with opendap.  Ferret can read the data fine, both
as a netcdf file and via thredds, so it appears thredds is serving it
correctly.

Attached are two "ncdump" dumps of the file, one directly on the file
system and one of the opendap url.  IDV opens and displays the disk
file correctly with the data type "netCDF/GEMPAK Point Data files".
When opening the file through thredds (data choosers -> catalogs) I
get an error (see below).  Could anyone tell me what may be going
wrong? I can't tell if IDV is trying to access opendap or another
protocol.

Trying to load the opendap URL directly via (data choosers -> URLs)
in IDV doesn't give any errors but simply says the dataset couldn't
be loaded.

Any tips appreciated.
Kind regards,

Hein Zelle



Error messages when accessing through thredds catalog:

> There was an error loading the data:
> Error creating data source:netcdf.point with: 
> [http://wmesweb3:8183/thredds/dodsC/path/to/Surface_Synoptic_latest.nc]
> Point obs data source failed making data set: 
> http://wmesweb3:8183/thredds/dodsC/path/to/Surface_Synoptic_latest.nc
> Unable to make a PointDataset from 
> http://wmesweb3:8183/thredds/dodsC/path/to/Surface_Synoptic_latest.nc
> Error =

With this stack trace:

ucar.unidata.data.BadDataException: Unable to make a PointDataset from 
http://wmesweb3:8183/thredds/dodsC/path/to/Surface_Synoptic_latest.nc
Error = 
        at 
ucar.unidata.data.point.NetcdfPointDataSource.doMakeDataset(NetcdfPointDataSource.java:282)
        at 
ucar.unidata.data.point.NetcdfPointDataSource.getDataset(NetcdfPointDataSource.java:252)
        at 
ucar.unidata.data.point.NetcdfPointDataSource.initAfterCreation(NetcdfPointDataSource.java:209)
        at ucar.unidata.data.DataManager.createDataSource(DataManager.java:1585)
        at 
ucar.unidata.idv.IntegratedDataViewer.createDataSource(IntegratedDataViewer.java:1980)
        at 
ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1897)
        at 
ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1831)
        at 
ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1804)
        at 
ucar.unidata.idv.chooser.IdvChooser.makeDataSource(IdvChooser.java:943)
        at 
ucar.unidata.idv.chooser.XmlChooser.makeDataSource(XmlChooser.java:280)
        at 
ucar.unidata.idv.chooser.ThreddsHandler.processNodes(ThreddsHandler.java:851)
        at 
ucar.unidata.idv.chooser.ThreddsHandler.doLoad(ThreddsHandler.java:700)
        at 
ucar.unidata.idv.chooser.XmlChooser.doLoadInThread(XmlChooser.java:717)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at ucar.unidata.util.Misc$2.run(Misc.java:1222)
        at ucar.unidata.util.Misc$3.run(Misc.java:1250)




-- 

Dr. Hein Zelle
Senior consultant meteorology & oceanography
BMT ARGOSS

Tel:        +31 (0)527-242299
Fax:        +31 (0)527-242016
E-mail:     hein.zelle@xxxxxxxxxxxxx
Website:    www.bmtargoss.com
            
BMT ARGOSS b.v.
Voorsterweg 28, 8316 PT Marknesse, the Netherlands
Postal address: P.O. Box 61, 8325 ZH Vollenhove, the Netherlands

Registered in The Netherlands, Registered no. 39060160.

Unless otherwise agreed by BMT ARGOSS in writing, all work,
services, goods or products supplied by BMT ARGOSS shall be subject
to and governed by BMT ARGOSS' own terms and conditions which are
available for inspection from BMT ARGOSS on request.

E-mail confidentiality notice and disclaimer:
The contents of this e-mail and any attachments are intended for the
use of the mail addressee(s) shown. If you are not that person, you
are not allowed to read it, to take any action based upon it or to
copy it, forward, distribute or disclose the contents of it and you
should please delete it from your system. BMT ARGOSS does not accept
liability for any errors or omissions in the context of this e-mail or
its attachments which arise as a result of internet transmission, nor
accept liability for statements which are those of the author and
clearly not made on behalf of BMT ARGOSS.
netcdf Surface_Synoptic_latest {
dimensions:
        recNum = UNLIMITED ; // (63450 currently)
        cloud_levels = 3 ;
        r_len = 256 ;
        rep_type_len = 4 ;
        stnName_len = 6 ;
variables:
        char rep_type(recNum, rep_type_len) ;
                rep_type:long_name = "Report type" ;
                rep_type:reference = "WMO #306, FM 12-X" ;
                rep_type:_DODS_strlen = 4 ;
                rep_type:_DODS_dimName = "rep_type_len" ;
        int wmoId(recNum) ;
                wmoId:long_name = "WMO Identification number" ;
                wmoId:_FillValue = -99999 ;
                wmoId:reference = "systns_upc.tbl Table" ;
        char stnName(recNum, stnName_len) ;
                stnName:long_name = "Station Name" ;
                stnName:_DODS_strlen = 6 ;
                stnName:_DODS_dimName = "stnName_len" ;
        int time_obs(recNum) ;
                time_obs:long_name = "time of Observation" ;
                time_obs:_FillValue = -99999 ;
                time_obs:units = "seconds since 1970-01-01 00 UTC" ;
        float Lat(recNum) ;
                Lat:long_name = "Station latitude" ;
                Lat:_FillValue = -99999.f ;
                Lat:valid_range = -90., 90. ;
                Lat:units = "degrees_north" ;
        float Lon(recNum) ;
                Lon:long_name = "Station longitude" ;
                Lon:_FillValue = -99999.f ;
                Lon:valid_range = -180., 180. ;
                Lon:units = "degrees_east" ;
        int elev(recNum) ;
                elev:long_name = "Elevation of station" ;
                elev:_FillValue = -99999 ;
                elev:units = "meters" ;
        int stnType(recNum) ;
                stnType:long_name = "Type of station operation" ;
                stnType:_FillValue = -99999 ;
                stnType:reference = "Table 1860" ;
        int meanWind(recNum) ;
                meanWind:long_name = "Highest mean wind speed" ;
                meanWind:_FillValue = -99999 ;
                meanWind:reference = "Table 3778" ;
        int VIS(recNum) ;
                VIS:long_name = "Horizontal visibility" ;
                VIS:_FillValue = -99999 ;
                VIS:reference = "Table 4377" ;
        int DIR(recNum) ;
                DIR:long_name = "Wind Direction" ;
                DIR:_FillValue = -99999 ;
                DIR:valid_range = 0, 360 ;
                DIR:units = "degree_true" ;
        float SPD(recNum) ;
                SPD:long_name = "Wind Speed" ;
                SPD:_FillValue = -99999.f ;
                SPD:units = "meters/sec" ;
        float T(recNum) ;
                T:long_name = "Air Temperature to tenths" ;
                T:_FillValue = -99999.f ;
                T:units = "Celsius" ;
        int humidity(recNum) ;
                humidity:long_name = "Humidity" ;
                humidity:_FillValue = -99999 ;
                humidity:units = "percent" ;
        float TD(recNum) ;
                TD:long_name = "Dew-point Air temperature to tenths" ;
                TD:_FillValue = -99999.f ;
                TD:units = "Celsius" ;
        float PRES(recNum) ;
                PRES:long_name = "Station level pressure" ;
                PRES:_FillValue = -99999.f ;
                PRES:units = "hectopascals" ;
        float SLP(recNum) ;
                SLP:long_name = "Sea level pressure" ;
                SLP:_FillValue = -99999.f ;
                SLP:units = "hectopascals" ;
        int char_Ptend(recNum) ;
                char_Ptend:long_name = "Character Pressure tendency" ;
                char_Ptend:_FillValue = -99999 ;
                char_Ptend:reference = "0|1|2|3|4|5|6|7|8 Table 12-5" ;
                char_Ptend:valid_range = 0, 8 ;
                char_Ptend:units = "" ;
        float Ptend(recNum) ;
                Ptend:long_name = "Change in Pressure in past 3 hours" ;
                Ptend:_FillValue = -99999.f ;
                Ptend:units = "hectopascals" ;
        float PRECIP_amt(recNum) ;
                PRECIP_amt:long_name = "Precipitation amount" ;
                PRECIP_amt:_FillValue = -99999.f ;
                PRECIP_amt:units = ".01 meter" ;
                PRECIP_amt:reference = "Table 3590" ;
        int PRECIP_period(recNum) ;
                PRECIP_period:long_name = "Precipitation Period" ;
                PRECIP_period:_FillValue = -99999 ;
                PRECIP_period:units = "hours" ;
                PRECIP_period:reference = "Table 4019" ;
        int WXpresent(recNum) ;
                WXpresent:long_name = "Present weather" ;
                WXpresent:_FillValue = -99999 ;
                WXpresent:reference = "Manned stn Table 4677, auto Table 4680" ;
        int WXpast(recNum) ;
                WXpast:long_name = "Past weather" ;
                WXpast:_FillValue = -99999 ;
                WXpast:reference = "Manned stn Table 4561, auto Table 4531" ;
        int cloudCover(recNum) ;
                cloudCover:long_name = "Total cloud cover in oktas" ;
                cloudCover:_FillValue = -99999 ;
                cloudCover:reference = "Table 2700" ;
        int cloudLow(recNum) ;
                cloudLow:long_name = "Lower level clouds" ;
                cloudLow:_FillValue = -99999 ;
                cloudLow:reference = "Table 0513" ;
        int cloudMiddle(recNum) ;
                cloudMiddle:long_name = "Middle level clouds" ;
                cloudMiddle:_FillValue = -99999 ;
                cloudMiddle:reference = "Table 0515" ;
        int cloudHigh(recNum) ;
                cloudHigh:long_name = "Higher level clouds" ;
                cloudHigh:_FillValue = -99999 ;
                cloudHigh:reference = "Table 0509" ;
        float Tw(recNum) ;
                Tw:long_name = "Water Temperature to tenths" ;
                Tw:_FillValue = -99999.f ;
                Tw:units = "Celsius" ;
        int Pwa(recNum) ;
                Pwa:long_name = "Period of waves" ;
                Pwa:_FillValue = -99999 ;
                Pwa:units = "seconds" ;
        int Hwa(recNum) ;
                Hwa:long_name = "Height of waves" ;
                Hwa:_FillValue = -99999 ;
                Hwa:units = "meters" ;
        float Hwa_tenths(recNum) ;
                Hwa_tenths:long_name = "Height of waves" ;
                Hwa_tenths:_FillValue = -99999.f ;
                Hwa_tenths:units = "meters" ;
        int swellDIR1(recNum) ;
                swellDIR1:long_name = "Direction of swells" ;
                swellDIR1:_FillValue = -99999 ;
                swellDIR1:units = "degrees" ;
        float Ps1(recNum) ;
                Ps1:long_name = "Period of swells" ;
                Ps1:_FillValue = -99999.f ;
                Ps1:units = "seconds" ;
        float Hs1(recNum) ;
                Hs1:long_name = "Height of swells" ;
                Hs1:_FillValue = -99999.f ;
                Hs1:units = "meters" ;
        float Tb(recNum) ;
                Tb:long_name = "Web Bulb Temperature" ;
                Tb:_FillValue = -99999.f ;
                Tb:units = "Celsius" ;
        int ICE(recNum) ;
                ICE:long_name = "Sea ice or ice of land origin" ;
                ICE:_FillValue = -99999 ;
        float Tmax(recNum) ;
                Tmax:long_name = "Max Air Temperature to tenths" ;
                Tmax:_FillValue = -99999.f ;
                Tmax:units = "Celsius" ;
        float Tmin(recNum) ;
                Tmin:long_name = "Min Air Temperature to tenths" ;
                Tmin:_FillValue = -99999.f ;
                Tmin:units = "Celsius" ;
        int snowDepth(recNum) ;
                snowDepth:long_name = "Snow depth" ;
                snowDepth:_FillValue = -99999 ;
                snowDepth:units = "centimeters" ;
                snowDepth:reference = "Table 3889" ;
        float PRECIP_amt24(recNum) ;
                PRECIP_amt24:long_name = "Precipitation amount last 24 hours" ;
                PRECIP_amt24:_FillValue = -99999.f ;
                PRECIP_amt24:units = ".01 meter" ;
        int cloudObsured(recNum, cloud_levels) ;
                cloudObsured:long_name = "Total cloud cover in oktas" ;
                cloudObsured:_FillValue = -99999 ;
                cloudObsured:reference = "Table 2700" ;
        int cloudGenus(recNum, cloud_levels) ;
                cloudGenus:long_name = "Cloud genus" ;
                cloudGenus:_FillValue = -99999 ;
                cloudGenus:reference = "Table 0500" ;
        int cloudHeight(recNum, cloud_levels) ;
                cloudHeight:long_name = "Cloud Height in meters" ;
                cloudHeight:_FillValue = -99999 ;
                cloudHeight:reference = "Table 1677" ;
        char report(recNum, r_len) ;
                report:long_name = "Originial report" ;
                report:reference = "max length 256" ;
                report:_DODS_strlen = 256 ;
                report:_DODS_dimName = "r_len" ;
        int gust(recNum) ;
                gust:long_name = "Highest gust" ;
                gust:_FillValue = -99999 ;
                gust:reference = "Table 3778" ;

// global attributes:
                :title = "SYNOPTIC definition" ;
                :version = 1.1 ;
                :Yoyo = "Ma" ;
                :_DODS_Unlimited_Dimension = "recNum" ;
}
netcdf Surface_Synoptic_latest {
dimensions:
        recNum = UNLIMITED ; // (63450 currently)
        rep_type_len = 4 ;
        stnName_len = 6 ;
        cloud_levels = 3 ;
        r_len = 256 ;
variables:
        char rep_type(recNum, rep_type_len) ;
                rep_type:long_name = "Report type" ;
                rep_type:reference = "WMO #306, FM 12-X" ;
        int wmoId(recNum) ;
                wmoId:long_name = "WMO Identification number" ;
                wmoId:_FillValue = -99999 ;
                wmoId:reference = "systns_upc.tbl Table" ;
        char stnName(recNum, stnName_len) ;
                stnName:long_name = "Station Name" ;
        int time_obs(recNum) ;
                time_obs:long_name = "time of Observation" ;
                time_obs:_FillValue = -99999 ;
                time_obs:units = "seconds since 1970-01-01 00 UTC" ;
        float Lat(recNum) ;
                Lat:long_name = "Station latitude" ;
                Lat:_FillValue = -99999.f ;
                Lat:valid_range = -90., 90. ;
                Lat:units = "degrees_north" ;
        float Lon(recNum) ;
                Lon:long_name = "Station longitude" ;
                Lon:_FillValue = -99999.f ;
                Lon:valid_range = -180., 180. ;
                Lon:units = "degrees_east" ;
        int elev(recNum) ;
                elev:long_name = "Elevation of station" ;
                elev:_FillValue = -99999 ;
                elev:units = "meters" ;
        int stnType(recNum) ;
                stnType:long_name = "Type of station operation" ;
                stnType:_FillValue = -99999 ;
                stnType:reference = "Table 1860" ;
        int meanWind(recNum) ;
                meanWind:long_name = "Highest mean wind speed" ;
                meanWind:_FillValue = -99999 ;
                meanWind:reference = "Table 3778" ;
        int VIS(recNum) ;
                VIS:long_name = "Horizontal visibility" ;
                VIS:_FillValue = -99999 ;
                VIS:reference = "Table 4377" ;
        int DIR(recNum) ;
                DIR:long_name = "Wind Direction" ;
                DIR:_FillValue = -99999 ;
                DIR:valid_range = 0, 360 ;
                DIR:units = "degree_true" ;
        float SPD(recNum) ;
                SPD:long_name = "Wind Speed" ;
                SPD:_FillValue = -99999.f ;
                SPD:units = "meters/sec" ;
        float T(recNum) ;
                T:long_name = "Air Temperature to tenths" ;
                T:_FillValue = -99999.f ;
                T:units = "Celsius" ;
        int humidity(recNum) ;
                humidity:long_name = "Humidity" ;
                humidity:_FillValue = -99999 ;
                humidity:units = "percent" ;
        float TD(recNum) ;
                TD:long_name = "Dew-point Air temperature to tenths" ;
                TD:_FillValue = -99999.f ;
                TD:units = "Celsius" ;
        float PRES(recNum) ;
                PRES:long_name = "Station level pressure" ;
                PRES:_FillValue = -99999.f ;
                PRES:units = "hectopascals" ;
        float SLP(recNum) ;
                SLP:long_name = "Sea level pressure" ;
                SLP:_FillValue = -99999.f ;
                SLP:units = "hectopascals" ;
        int char_Ptend(recNum) ;
                char_Ptend:long_name = "Character Pressure tendency" ;
                char_Ptend:_FillValue = -99999 ;
                char_Ptend:reference = "0|1|2|3|4|5|6|7|8 Table 12-5" ;
                char_Ptend:valid_range = 0, 8 ;
                char_Ptend:units = "" ;
        float Ptend(recNum) ;
                Ptend:long_name = "Change in Pressure in past 3 hours" ;
                Ptend:_FillValue = -99999.f ;
                Ptend:units = "hectopascals" ;
        float PRECIP_amt(recNum) ;
                PRECIP_amt:long_name = "Precipitation amount" ;
                PRECIP_amt:_FillValue = -99999.f ;
                PRECIP_amt:units = ".01 meter" ;
                PRECIP_amt:reference = "Table 3590" ;
        int PRECIP_period(recNum) ;
                PRECIP_period:long_name = "Precipitation Period" ;
                PRECIP_period:_FillValue = -99999 ;
                PRECIP_period:units = "hours" ;
                PRECIP_period:reference = "Table 4019" ;
        int WXpresent(recNum) ;
                WXpresent:long_name = "Present weather" ;
                WXpresent:_FillValue = -99999 ;
                WXpresent:reference = "Manned stn Table 4677, auto Table 4680" ;
        int WXpast(recNum) ;
                WXpast:long_name = "Past weather" ;
                WXpast:_FillValue = -99999 ;
                WXpast:reference = "Manned stn Table 4561, auto Table 4531" ;
        int cloudCover(recNum) ;
                cloudCover:long_name = "Total cloud cover in oktas" ;
                cloudCover:_FillValue = -99999 ;
                cloudCover:reference = "Table 2700" ;
        int cloudLow(recNum) ;
                cloudLow:long_name = "Lower level clouds" ;
                cloudLow:_FillValue = -99999 ;
                cloudLow:reference = "Table 0513" ;
        int cloudMiddle(recNum) ;
                cloudMiddle:long_name = "Middle level clouds" ;
                cloudMiddle:_FillValue = -99999 ;
                cloudMiddle:reference = "Table 0515" ;
        int cloudHigh(recNum) ;
                cloudHigh:long_name = "Higher level clouds" ;
                cloudHigh:_FillValue = -99999 ;
                cloudHigh:reference = "Table 0509" ;
        float Tw(recNum) ;
                Tw:long_name = "Water Temperature to tenths" ;
                Tw:_FillValue = -99999.f ;
                Tw:units = "Celsius" ;
        int Pwa(recNum) ;
                Pwa:long_name = "Period of waves" ;
                Pwa:_FillValue = -99999 ;
                Pwa:units = "seconds" ;
        int Hwa(recNum) ;
                Hwa:long_name = "Height of waves" ;
                Hwa:_FillValue = -99999 ;
                Hwa:units = "meters" ;
        float Hwa_tenths(recNum) ;
                Hwa_tenths:long_name = "Height of waves" ;
                Hwa_tenths:_FillValue = -99999.f ;
                Hwa_tenths:units = "meters" ;
        int swellDIR1(recNum) ;
                swellDIR1:long_name = "Direction of swells" ;
                swellDIR1:_FillValue = -99999 ;
                swellDIR1:units = "degrees" ;
        float Ps1(recNum) ;
                Ps1:long_name = "Period of swells" ;
                Ps1:_FillValue = -99999.f ;
                Ps1:units = "seconds" ;
        float Hs1(recNum) ;
                Hs1:long_name = "Height of swells" ;
                Hs1:_FillValue = -99999.f ;
                Hs1:units = "meters" ;
        float Tb(recNum) ;
                Tb:long_name = "Web Bulb Temperature" ;
                Tb:_FillValue = -99999.f ;
                Tb:units = "Celsius" ;
        int ICE(recNum) ;
                ICE:long_name = "Sea ice or ice of land origin" ;
                ICE:_FillValue = -99999 ;
        float Tmax(recNum) ;
                Tmax:long_name = "Max Air Temperature to tenths" ;
                Tmax:_FillValue = -99999.f ;
                Tmax:units = "Celsius" ;
        float Tmin(recNum) ;
                Tmin:long_name = "Min Air Temperature to tenths" ;
                Tmin:_FillValue = -99999.f ;
                Tmin:units = "Celsius" ;
        int snowDepth(recNum) ;
                snowDepth:long_name = "Snow depth" ;
                snowDepth:_FillValue = -99999 ;
                snowDepth:units = "centimeters" ;
                snowDepth:reference = "Table 3889" ;
        float PRECIP_amt24(recNum) ;
                PRECIP_amt24:long_name = "Precipitation amount last 24 hours" ;
                PRECIP_amt24:_FillValue = -99999.f ;
                PRECIP_amt24:units = ".01 meter" ;
        int cloudObsured(recNum, cloud_levels) ;
                cloudObsured:long_name = "Total cloud cover in oktas" ;
                cloudObsured:_FillValue = -99999 ;
                cloudObsured:reference = "Table 2700" ;
        int cloudGenus(recNum, cloud_levels) ;
                cloudGenus:long_name = "Cloud genus" ;
                cloudGenus:_FillValue = -99999 ;
                cloudGenus:reference = "Table 0500" ;
        int cloudHeight(recNum, cloud_levels) ;
                cloudHeight:long_name = "Cloud Height in meters" ;
                cloudHeight:_FillValue = -99999 ;
                cloudHeight:reference = "Table 1677" ;
        char report(recNum, r_len) ;
                report:long_name = "Originial report" ;
                report:reference = "max length 256" ;
        int gust(recNum) ;
                gust:long_name = "Highest gust" ;
                gust:_FillValue = -99999 ;
                gust:reference = "Table 3778" ;

// global attributes:
                :title = "SYNOPTIC definition" ;
                :version = 1.1 ;
}
  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the idvdevelopers archives: