Hello everyone,

I have downloaded the NetCDF file from:
https://data.knmi.nl/download/Actuele10mindataKNMIstations/1/noversion/2016/10/11/KMDS__OPER_P___10M_OBS_L2.nc
and am trying to add it as a store to the geoserver.

However when trying to add the store the geoserver gives the error:

    Could not list layers for this store, an error occurred retrieving
them: Failed to create reader from file:data/KMDS__OPER_P___10M_OBS_L2
(1).nc and hints null

The geoserver.log gives a couple of warnings and exceptions. However,
since I'm not very experienced with the netcdf format, I don't know
what to make of it.  Is there something wrong with the content of the
.nc file, or perhaps is some of its syntax not supported by the netcdf
plugin?


See below the headers of the .nc file and the warnings and start of
the exceptions from the logfile.

ncdump outoutp:

netcdf KMDS__OPER_P___10M_OBS_L2\ \(1\) {
dimensions:
        station = 48 ;
        time = 1 ;
variables:
        string station(station) ;
                station:long_name = "Station id" ;
                station:cf_role = "timeseries_id" ;
        double time(time) ;
                time:long_name = "time of measurement" ;
                time:standard_name = "time" ;
                time:units = "seconds since 1950-01-01 00:00:00" ;
        string stationname(station) ;
                stationname:long_name = "Station name" ;
        double lat(station) ;
                lat:long_name = "station  latitude" ;
                lat:standard_name = "latitude" ;
                lat:units = "degrees_north" ;
        double lon(station) ;
                lon:long_name = "station longitude" ;
                lon:standard_name = "longitude" ;
                lon:units = "degrees_east" ;
        double height(station) ;
                height:long_name = "Station height" ;
                height:standard_name = "height" ;
                height:units = "m" ;
        double dd(station) ;
                dd:_FillValue = -9999. ;
                dd:standard_name = "wind_from_direction" ;
                dd:units = "degree" ;
                dd:long_name = "Wind Direction 10 Min Average" ;
        double ff(station) ;
                ff:_FillValue = -9999. ;
                ff:standard_name = "wind_speed" ;
                ff:units = "m s-1" ;
                ff:long_name = "Wind Speed at 10m 10 Min Average" ;
        double gff(station) ;
                gff:_FillValue = -9999. ;
                gff:standard_name = "wind_speed_of_gust" ;
                gff:units = "m s-1" ;
                gff:long_name = "Wind Gust at 10m 10 Min Maximum" ;
        double ta(station) ;
                ta:_FillValue = -9999. ;
                ta:standard_name = "air_temperature" ;
                ta:units = "degrees Celsius" ;
                ta:long_name = "Air Temperature 1 Min Average" ;
        double rh(station) ;
                rh:_FillValue = -9999. ;
                rh:standard_name = "relative_humidity" ;
                rh:units = "%" ;
                rh:long_name = "Relative Humidity 1 Min Average" ;
        double pp(station) ;
                pp:_FillValue = -9999. ;
                pp:standard_name = "air_pressure_at_sea_level" ;
                pp:units = "hPa" ;
                pp:long_name = "Air Pressure at Sea Level 1 Min Average" ;
        double zm(station) ;
                zm:_FillValue = -9999. ;
                zm:standard_name = "visibility_in_air" ;
                zm:units = "m" ;
                zm:long_name = "Meteorological Optical Range 10 Min Average" ;
        double D1H(station) ;
                D1H:_FillValue = -9999. ;
                D1H:long_name = "Rainfall Duration in last Hour" ;
                D1H:standard_name = "rainfall_duration" ;
                D1H:units = "min" ;
        double dr(station) ;
                dr:_FillValue = -9999. ;
                dr:long_name = "Precipitation Duration (Rain Gauge) 10
Min Sum" ;
                dr:standard_name = "precipitation_duration" ;
                dr:units = "sec" ;
        double hc(station) ;
                hc:_FillValue = -9999. ;
                hc:long_name = "Cloud Base" ;
                hc:standard_name = "cloud_base_altitude" ;
                hc:units = "ft" ;
        double hc1(station) ;
                hc1:_FillValue = -9999. ;
                hc1:long_name = "Cloud Base First Layer" ;
                hc1:standard_name = "cloud_base_altitude" ;
                hc1:units = "ft" ;
        double hc2(station) ;
                hc2:_FillValue = -9999. ;
                hc2:long_name = "Cloud Base Second Layer" ;
                hc2:standard_name = "cloud_base_altitude" ;
                hc2:units = "ft" ;
        double hc3(station) ;
                hc3:_FillValue = -9999. ;
                hc3:long_name = "Cloud Base Third Layer" ;
                hc3:standard_name = "cloud_base_altitude" ;
                hc3:units = "ft" ;
        double nc(station) ;
                nc:_FillValue = -9999. ;
                nc:long_name = "Total cloud cover" ;
                nc:standard_name = "cloud_cover" ;
                nc:units = "octa" ;
        double nc1(station) ;
                nc1:_FillValue = -9999. ;
                nc1:long_name = "Cloud Amount First Layer" ;
                nc1:standard_name = "cloud_cover" ;
                nc1:units = "octa" ;
        double nc2(station) ;
                nc2:_FillValue = -9999. ;
                nc2:long_name = "Cloud Amount Second Layer" ;
                nc2:standard_name = "cloud_cover" ;
                nc2:units = "octa" ;
        double nc3(station) ;
                nc3:_FillValue = -9999. ;
                nc3:long_name = "Cloud Amount Third Layer" ;
                nc3:standard_name = "cloud_cover" ;
                nc3:units = "octa" ;
        double pg(station) ;
                pg:_FillValue = -9999. ;
                pg:long_name = "Precipitation Intensity (PWS) 10 Min Average" ;
                pg:standard_name = "lwe_precipitation_rate" ;
                pg:units = "mm/h" ;
        double pr(station) ;
                pr:_FillValue = -9999. ;
                pr:long_name = "Precipitation Duration (PWS) 10 Min Sum" ;
                pr:standard_name = "precipitation_duration" ;
                pr:units = "sec" ;
        double qg(station) ;
                qg:_FillValue = -9999. ;
                qg:long_name = "Global Solar Radiation 10 Min Average" ;
                qg:standard_name = "total_downwelling_shortwave_flux_in_air" ;
                qg:units = "W m-2" ;
        double R12H(station) ;
                R12H:_FillValue = -9999. ;
                R12H:long_name = "Rainfall in last 12 Hours" ;
                R12H:standard_name = "rainfall_amount" ;
                R12H:units = "mm" ;
        double R1H(station) ;
                R1H:_FillValue = -9999. ;
                R1H:long_name = "Rainfall in last Hour" ;
                R1H:standard_name = "rainfall_amount" ;
                R1H:units = "mm" ;
        double R24H(station) ;
                R24H:_FillValue = -9999. ;
                R24H:long_name = "Rainfall in last 24 Hours" ;
                R24H:standard_name = "rainfall_amount" ;
                R24H:units = "mm" ;
        double R6H(station) ;
                R6H:_FillValue = -9999. ;
                R6H:long_name = "Rainfall in last 6 Hours" ;
                R6H:standard_name = "rainfall_amount" ;
                R6H:units = "mm" ;
        double rg(station) ;
                rg:_FillValue = -9999. ;
                rg:long_name = "Precipitation Intensity (Rain Gauge)
10 Min Average" ;
                rg:standard_name = "precipitation_rate" ;
                rg:units = "mm/h" ;
        double ss(station) ;
                ss:_FillValue = -9999. ;
                ss:long_name = "Sunshine Duration" ;
                ss:standard_name = "duration_of_sunshine" ;
                ss:units = "min" ;
        double td(station) ;
                td:_FillValue = -9999. ;
                td:long_name = "Dew Point Temperature 1.5m 1 Min Average" ;
                td:standard_name = "dew_point_temperature" ;
                td:units = "degrees Celsius" ;
        double tgn(station) ;
                tgn:_FillValue = -9999. ;
                tgn:long_name = "Grass Temperature 10cm 10 Min Minimum" ;
                tgn:standard_name = "air_temperature" ;
                tgn:units = "degrees Celsius" ;
        double Tgn12(station) ;
                Tgn12:_FillValue = -9999. ;
                Tgn12:long_name = "Grass Temperature Minimum last 12 Hours" ;
                Tgn12:standard_name = "air_temperature" ;
                Tgn12:units = "degrees Celsius" ;
        double Tgn14(station) ;
                Tgn14:_FillValue = -9999. ;
                Tgn14:long_name = "Grass Temperature Minimum last 14 Hours" ;
                Tgn14:standard_name = "air_temperature" ;
                Tgn14:units = "degrees Celsius" ;
        double Tgn6(station) ;
                Tgn6:_FillValue = -9999. ;
                Tgn6:long_name = "Grass Temperature Minimum last 6 Hours" ;
                Tgn6:standard_name = "air_temperature" ;
                Tgn6:units = "degrees Celsius" ;
        double tn(station) ;
                tn:_FillValue = -9999. ;
                tn:long_name = "Ambient Temperature 1.5m 10 Min Minimum" ;
                tn:standard_name = "air_temperature" ;
                tn:units = "degrees Celsius" ;
        double Tn12(station) ;
                Tn12:_FillValue = -9999. ;
                Tn12:long_name = "Air Temperature Minimum last 12 Hours" ;
                Tn12:standard_name = "air_temperature" ;
                Tn12:units = "degrees Celsius" ;
        double Tn14(station) ;
                Tn14:_FillValue = -9999. ;
                Tn14:long_name = "Air Temperature Minimum last 14 Hours" ;
                Tn14:standard_name = "air_temperature" ;
                Tn14:units = "degrees Celsius" ;
        double Tn6(station) ;
                Tn6:_FillValue = -9999. ;
                Tn6:long_name = "Air Temperature Minimum last 6 Hours" ;
                Tn6:standard_name = "air_temperature" ;
                Tn6:units = "degrees Celsius" ;
        double tx(station) ;
                tx:_FillValue = -9999. ;
                tx:long_name = "Ambient Temperature 1.5m 10 Min Maximum" ;
                tx:standard_name = "air_temperature" ;
                tx:units = "degrees Celsius" ;
        double Tx12(station) ;
                Tx12:_FillValue = -9999. ;
                Tx12:long_name = "Air Temperature Maximum last 12 Hours" ;
                Tx12:standard_name = "air_temperature" ;
                Tx12:units = "degrees Celsius" ;
        double Tx24(station) ;
                Tx24:_FillValue = -9999. ;
                Tx24:long_name = "Air Temperature Maximum last 24 Hours" ;
                Tx24:standard_name = "air_temperature" ;
                Tx24:units = "degrees Celsius" ;
        double Tx6(station) ;
                Tx6:_FillValue = -9999. ;
                Tx6:long_name = "Air Temperature Maximum last 6 Hours" ;
                Tx6:standard_name = "air_temperature" ;
                Tx6:units = "degrees Celsius" ;
        double ww(station) ;
                ww:_FillValue = -9999. ;
                ww:long_name = "wawa Weather Code" ;
                ww:units = "code" ;
                ww:comment = "WMO table 4680" ;
        double pwc(station) ;
                pwc:_FillValue = -9999. ;
                pwc:long_name = "Present Weather" ;
                pwc:units = "code" ;
                pwc:comment = "KNMI: Handboek waarnemingen" ;
        double ww-10(station) ;
                ww-10:_FillValue = -9999. ;
                ww-10:long_name = "wawa Weather Code for Previous 10
Min Interval" ;
                ww-10:units = "code" ;
                ww-10:comment = "WMO table 4680" ;
        char iso_dataset ;
                iso_dataset:title = "KMDS__OPER_P___10M_OBS_L2" ;
                iso_dataset:abstract = "Most recent 10 minute in situ
observations of the Dutch meteorological observation network" ;
                iso_dataset:status = "ongoing" ;
                iso_dataset:type = "dataset" ;
                iso_dataset:uid = "c3a312e2-2d8f-440b-ae7d-3406c9fe2f77" ;
                iso_dataset:topic = "climatology, meteorology, atmosphere" ;
                iso_dataset:keyword = "temperature, pressure, relative
humidity, visibility, wind speed, wind direction, wind gust" ;
                iso_dataset:max-x = 10.f ;
                iso_dataset:min-x = 0.f ;
                iso_dataset:max-y = 60.f ;
                iso_dataset:min-y = 40.f ;
                iso_dataset:temporal_extent = "1950-01-01 and ongoing" ;
                iso_dataset:date = "2013-10-10" ;
                iso_dataset:dateType = "publication date" ;
                iso_dataset:statement = "KNMI operates in the
Netherlands 33 automatic weather stations on land, 15 wind poles in
coastal areas and 13 automatic weather stations on North Sea platforms
(Dutch part of the Continental Shelf North Sea). These weather
stations report meteorological paramaters such as temperature,
relative humidity, wind (speed, gust, direction), air pressure and
visibility every 10 minutes. Only stations that report within 6
minutes after observation time - 47 in total - are part of this
dataset: actual synoptic observations per 10 minutes." ;
                iso_dataset:code = "4326" ;
                iso_dataset:codeSpace = "EPSG" ;
                iso_dataset:accessConstraints = "No limitations" ;
                iso_dataset:useLimitation = "No use limitations" ;
                iso_dataset:organisationName_dataset = "Royal
Netherlands Meteorological Institute (KNMI)" ;
                iso_dataset:email_dataset = "datacent...@knmi.nl" ;
                iso_dataset:role_dataset = "pointOfContact" ;
                iso_dataset:metadata_id =
"fbfad5b9-1dd2-425e-bb35-c96386380c0e" ;
                iso_dataset:organisationName_metadata = "Royal
Netherlands Meteorological Institute (KNMI)" ;
                iso_dataset:role_metadata = "pointOfContact" ;
                iso_dataset:email_metadata = "datacent...@knmi.nl" ;
                iso_dataset:url_metadata = "http://data.knmi.nl"; ;
                iso_dataset:datestamp = "2014-07-23" ;
                iso_dataset:language = "eng" ;
                iso_dataset:metadataStandardName = "ISO 19115" ;
                iso_dataset:metadataStandardNameVersion = "Nederlandse
metadatastandaard op ISO 19115 voor geografie 1.2" ;
        char product ;
                product:units = "1" ;
                product:long_name = "ADAGUC Data Products Standard" ;
                product:ref_doc = "ADAGUC Data Products Standard" ;
                product:ref_doc_version = "1.1" ;
                product:format_version = "1.1" ;
                product:originator = "Royal Netherlands Meteorological
Institute (KNMI)" ;
                product:type = "P" ;
                product:acronym = "KMDS__OPER_P___10M_OBS_L2" ;
                product:level = "L2" ;
                product:style = "camelCase" ;
        char projection ;
                projection:EPSG_code = "EPSG:4326" ;

// global attributes:
                :featureType = "timeSeries" ;
                :Conventions = "CF-1.4" ;
                :title = "KMDS__OPER_P___10M_OBS_L2" ;
                :institution = "Royal Netherlands Meteorological
Institute (KNMI)" ;
                :source = "Royal Netherlands Meteorological Institute (KNMI)" ;
                :history = "File created from KMDS ASCII file. " ;
                :references = "http://data.knmi.nl"; ;
                :comment =  ;
}



geoserver.log:

11 Oct 10:59:51 WARN [netcdf.NetCDFGeoreferenceManager] - Unsupported
axis: String station(station=48);
  :long_name = "Station id";
  :cf_role = "timeseries_id";
  :_ChunkSizes = 48; // int
 in input: C:/Program Files (x86)/GeoServer
2.9.1/data_dir/data/KMDS__OPER_P___10M_OBS_L2 (1).nc has been found
11 Oct 10:59:51 WARN [netcdf.NetCDFFormat] - Unable to connect
org.geotools.data.DataSourceException: Unable to connect
        at 
org.geotools.coverage.io.netcdf.NetCDFReader.<init>(NetCDFReader.java:159)
        at 
org.geotools.coverage.io.netcdf.NetCDFFormat.getReader(NetCDFFormat.java:95)
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1441)
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1369)
        at 
org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)
        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 
org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:147)
        at com.sun.proxy.$Proxy9.getGridCoverageReader(Unknown Source)
        ...

11 Oct 10:59:51 INFO [geoserver.web] - Getting list of coverages for
saved store file:data/KMDS__OPER_P___10M_OBS_L2 (1).nc
java.lang.RuntimeException: Could not list layers for this store, an
error occurred retrieving them: Failed to create reader from
file:data/KMDS__OPER_P___10M_OBS_L2 (1).nc and hints null
        at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:150)
        at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:57)
        at 
org.geoserver.web.wicket.GeoServerDataProvider.fullSize(GeoServerDataProvider.java:243)
        at 
org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.updateMatched(GeoServerTablePanel.java:583)
        at 
org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.<init>(GeoServerTablePanel.java:576)
        at 
org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:176)
        at 
org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:97)
        ...


2016-10-11 10:59:51,754 WARN [netcdf.NetCDFGeoreferenceManager] -
Unsupported axis: String station(station=48);
  :long_name = "Station id";
  :cf_role = "timeseries_id";
  :_ChunkSizes = 48; // int
 in input: C:/Program Files (x86)/GeoServer
2.9.1/data_dir/data/KMDS__OPER_P___10M_OBS_L2 (1).nc has been found
2016-10-11 10:59:51,754 WARN [netcdf.NetCDFFormat] - Unable to connect
org.geotools.data.DataSourceException: Unable to connect
        at 
org.geotools.coverage.io.netcdf.NetCDFReader.<init>(NetCDFReader.java:159)
        at 
org.geotools.coverage.io.netcdf.NetCDFFormat.getReader(NetCDFFormat.java:95)
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1441)
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1369)
        at 
org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)
       ...

-- 
Regards
Danny

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to