[Geoserver-users] NetCDF Plugin

Hi List,

I´m using geoserver 2.8 with netcdf plugin. I am creating a store with netcdf file and I get the following error:

“Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file://Z:.…\26012016.nc and hints null.”

Is there a problem with the file?

Attached you find a file extract from the .cdl file.


netcdf 26012016 {
dimensions:
lon = 42 ;
lat = 35 ;
time = 7 ;
variables:
float lon(lon) ;
lon:standard_name = “longitude” ;
lon:long_name = “longitude” ;
lon:units = “degrees_east” ;
lon:axis = “X” ;
lon:_CoordinateAxisType = “Lon” ;
float lat(lat) ;
lat:standard_name = “latitude” ;
lat:long_name = “latitude” ;
lat:units = “degrees_north” ;
lat:axis = “Y” ;
lat:_CoordinateAxisType = “Lat” ;
float time(time) ;
time:standard_name = “time” ;
time:long_name = “Time” ;
time:units = “years since 2000-07-01” ;
time:calendar = “gregorian” ;
time:_CoordinateAxisType = “Time” ;
float SPEI02(time, lat, lon) ;
SPEI02:units = “z values” ;
SPEI02:long_name = “drought index” ;
SPEI02:missing_value = -999. ;
data:

lon = -9.5, -8.5, … ;

lat = 36.5, 37.5, … ;

time = 0, 1, … ;

SPEI02 =
// SPEI02(0,1, 0-41)
NaNf, NaNf, -0.035, -0.09, -0.155, NaNf, NaNf, NaNf, NaNf, 0.064, 0.204,
0.319, 0.405, 0.449, 0.491, 1.292, 1.485, NaNf, NaNf, NaNf, 0.622, 0.134,
0.085, 0.415, NaNf, NaNf, 0.729, 0.885, 1.006, 0.966, 0.873, 0.678,
0.133, 0.181, 0.19, 0.215, 0.21, NaNf, NaNf, NaNf, NaNf, NaNf,
// SPEI02(0,2, 0-41)
NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, 0.198, 0.295,
0.303, 0.314, 0.354, 0.526, 1.363, 1.549, 1.553, 1.379, 1.101, 0.575,
0.067, 0.004, NaNf, NaNf, 0.528, 0.704, 0.877, 1.07, 1.11, 0.793, 0.48,
0.444, 0.429, 0.511, 0.177, 0.6, NaNf, NaNf, NaNf, NaNf, NaNf,

;
}


Thanks and Regards,

Lotta

Hi Lotta,
do you have any chance to share the full log?
Which version of GeoServer are you using? (2.8.x, X = ?)

I have a doubt in relation to the time unit.
I think that the current code only deals with “seconds/minutes/hours/days since the reference time”.
I’m not sure it will support the “years since date” type.

Let’s see if the log says something more to provide you more feedbacks.
Hope this helps.

Cheers,
Daniele

···

On Tue, Feb 2, 2016 at 1:44 PM, axxis l <axxis1980@anonymised.com> wrote:

Hi List,

I´m using geoserver 2.8 with netcdf plugin. I am creating a store with netcdf file and I get the following error:

“Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file://Z:.…[26012016.nc](http://26012016.nc) and hints null.”

Is there a problem with the file?

Attached you find a file extract from the .cdl file.


netcdf 26012016 {
dimensions:
lon = 42 ;
lat = 35 ;
time = 7 ;
variables:
float lon(lon) ;
lon:standard_name = “longitude” ;
lon:long_name = “longitude” ;
lon:units = “degrees_east” ;
lon:axis = “X” ;
lon:_CoordinateAxisType = “Lon” ;
float lat(lat) ;
lat:standard_name = “latitude” ;
lat:long_name = “latitude” ;
lat:units = “degrees_north” ;
lat:axis = “Y” ;
lat:_CoordinateAxisType = “Lat” ;
float time(time) ;
time:standard_name = “time” ;
time:long_name = “Time” ;
time:units = “years since 2000-07-01” ;
time:calendar = “gregorian” ;
time:_CoordinateAxisType = “Time” ;
float SPEI02(time, lat, lon) ;
SPEI02:units = “z values” ;
SPEI02:long_name = “drought index” ;
SPEI02:missing_value = -999. ;
data:

lon = -9.5, -8.5, … ;

lat = 36.5, 37.5, … ;

time = 0, 1, … ;

SPEI02 =
// SPEI02(0,1, 0-41)
NaNf, NaNf, -0.035, -0.09, -0.155, NaNf, NaNf, NaNf, NaNf, 0.064, 0.204,
0.319, 0.405, 0.449, 0.491, 1.292, 1.485, NaNf, NaNf, NaNf, 0.622, 0.134,
0.085, 0.415, NaNf, NaNf, 0.729, 0.885, 1.006, 0.966, 0.873, 0.678,
0.133, 0.181, 0.19, 0.215, 0.21, NaNf, NaNf, NaNf, NaNf, NaNf,
// SPEI02(0,2, 0-41)
NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, 0.198, 0.295,
0.303, 0.314, 0.354, 0.526, 1.363, 1.549, 1.553, 1.379, 1.101, 0.575,
0.067, 0.004, NaNf, NaNf, 0.528, 0.704, 0.877, 1.07, 1.11, 0.793, 0.48,
0.444, 0.429, 0.511, 0.177, 0.6, NaNf, NaNf, NaNf, NaNf, NaNf,

;
}


Thanks and Regards,

Lotta


Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Hi Daniele,

the GeoServer Version is 2.8.1

After a few tests, my conjection is also the time unit, even if you have a look to the logfile.

Are there any hints how I can skirting it?

Cheers

···

Von: dany.geotools@anonymised.com. dany.geotools@anonymised.com im Auftrag von Daniele Romagnoli daniele.romagnoli@anonymised.com
Gesendet: Dienstag, 2. Februar 2016 14:46
An: axxis l
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] NetCDF Plugin

Hi Lotta,
do you have any chance to share the full log?
Which version of GeoServer are you using? (2.8.x, X = ?)

I have a doubt in relation to the time unit.
I think that the current code only deals with “seconds/minutes/hours/days since the reference time”.
I’m not sure it will support the “years since date” type.

Let’s see if the log says something more to provide you more feedbacks.
Hope this helps.

Cheers,
Daniele

On Tue, Feb 2, 2016 at 1:44 PM, axxis l <axxis1980@anonymised.com…> wrote:

Hi List,

I´m using geoserver 2.8 with netcdf plugin. I am creating a store with netcdf file and I get the following error:

“Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file://Z:.…[26012016.nc](http://26012016.nc) and hints null.”

Is there a problem with the file?

Attached you find a file extract from the .cdl file.


netcdf 26012016 {
dimensions:
lon = 42 ;
lat = 35 ;
time = 7 ;
variables:
float lon(lon) ;
lon:standard_name = “longitude” ;
lon:long_name = “longitude” ;
lon:units = “degrees_east” ;
lon:axis = “X” ;
lon:_CoordinateAxisType = “Lon” ;
float lat(lat) ;
lat:standard_name = “latitude” ;
lat:long_name = “latitude” ;
lat:units = “degrees_north” ;
lat:axis = “Y” ;
lat:_CoordinateAxisType = “Lat” ;
float time(time) ;
time:standard_name = “time” ;
time:long_name = “Time” ;
time:units = “years since 2000-07-01” ;
time:calendar = “gregorian” ;
time:_CoordinateAxisType = “Time” ;
float SPEI02(time, lat, lon) ;
SPEI02:units = “z values” ;
SPEI02:long_name = “drought index” ;
SPEI02:missing_value = -999. ;
data:

lon = -9.5, -8.5, … ;

lat = 36.5, 37.5, … ;

time = 0, 1, … ;

SPEI02 =
// SPEI02(0,1, 0-41)
NaNf, NaNf, -0.035, -0.09, -0.155, NaNf, NaNf, NaNf, NaNf, 0.064, 0.204,
0.319, 0.405, 0.449, 0.491, 1.292, 1.485, NaNf, NaNf, NaNf, 0.622, 0.134,
0.085, 0.415, NaNf, NaNf, 0.729, 0.885, 1.006, 0.966, 0.873, 0.678,
0.133, 0.181, 0.19, 0.215, 0.21, NaNf, NaNf, NaNf, NaNf, NaNf,
// SPEI02(0,2, 0-41)
NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, 0.198, 0.295,
0.303, 0.314, 0.354, 0.526, 1.363, 1.549, 1.553, 1.379, 1.101, 0.575,
0.067, 0.004, NaNf, NaNf, 0.528, 0.704, 0.877, 1.07, 1.11, 0.793, 0.48,
0.444, 0.429, 0.511, 0.177, 0.6, NaNf, NaNf, NaNf, NaNf, NaNf,

;
}


Thanks and Regards,

Lotta


Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Hi,
without modifying the code, the quickest approach you may consider is:

  • rewriting your NetCDF to use a more common time unit as the one reported in my previous email
  • using NCML to update the time variable (this approach is less invasive since you won’t modify the original data, you will just place a .ncml file beside your sample containing a few instructions to describe the updated time dimension): https://www.unidata.ucar.edu/software/thredds/v4.5/netcdf-java/ncml/Cookbook.html.
    (just overwriting the “units” attribute value and the time instant values in the proper unit).

Supporting your sample as is, would require some code changes.
In that case, you can consider opening a JIRA containing the sample data and details on the issue to report the problem.

You can contribute yourself the improvements through a github pull request or just wait for a developer taking care of this issue.

Hope this helps.
Cheers,
Daniele

···

On Tue, Feb 2, 2016 at 4:11 PM, axxis l <axxis1980@anonymised.com> wrote:

Hi Daniele,

the GeoServer Version is 2.8.1

After a few tests, my conjection is also the time unit, even if you have a look to the logfile.

Are there any hints how I can skirting it?

Cheers


2016-02-02 16:04:15,277 WARN [netcdf.NetCDFFormat] - Unable to connect
org.geotools.data.DataSourceException: Unable to connect
at org.geotools.coverage.io.netcdf.NetCDFReader.(NetCDFReader.java:158)
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(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)
at $Proxy9.getGridCoverageReader(Unknown Source)
at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)
at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)
at org.geoserver.web.wicket.GeoServerDataProvider.fullSize(GeoServerDataProvider.java:242)
at org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.updateMatched(GeoServerTablePanel.java:566)
at org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.(GeoServerTablePanel.java:559)
at org.geoserver.web.wicket.GeoServerTablePanel.(GeoServerTablePanel.java:171)
at org.geoserver.web.wicket.GeoServerTablePanel.(GeoServerTablePanel.java:96)
at org.geoserver.web.data.layer.NewLayerPage$1.(NewLayerPage.java:106)
at org.geoserver.web.data.layer.NewLayerPage.(NewLayerPage.java:106)
at org.geoserver.web.data.store.CoverageStoreNewPage.onSuccessfulSave(CoverageStoreNewPage.java:79)
at org.geoserver.web.data.store.CoverageStoreNewPage.onSave(CoverageStoreNewPage.java:70)
at org.geoserver.web.data.store.AbstractCoverageStorePage$1.onSubmit(AbstractCoverageStorePage.java:116)
at org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:68)
at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:143)
at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)
at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)
at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)
at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:87)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Caused by: org.geotools.data.DataSourceException: java.lang.IllegalArgumentException: Couldn’t determine time units from unit string ‘years’
at org.geotools.coverage.io.netcdf.NetCDFAccess.(NetCDFAccess.java:126)
at org.geotools.coverage.io.netcdf.NetCDFDriver.connect(NetCDFDriver.java:92)
at org.geotools.coverage.io.impl.DefaultFileDriver.process(DefaultFileDriver.java:216)
at org.geotools.coverage.io.netcdf.NetCDFReader.(NetCDFReader.java:156)
… 119 more
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Couldn’t determine time units from unit string ‘years’
at org.geotools.imageio.netcdf.NetCDFImageReader.setInput(NetCDFImageReader.java:266)
at javax.imageio.ImageReader.setInput(ImageReader.java:380)
at org.geotools.coverage.io.netcdf.NetCDFAccess.(NetCDFAccess.java:115)
… 122 more
Caused by: java.lang.IllegalArgumentException: Couldn’t determine time units from unit string ‘years’
at org.geotools.imageio.netcdf.cv.TimeCoordinateVariable$TimeBuilder.(TimeCoordinateVariable.java:79)
at org.geotools.imageio.netcdf.cv.TimeCoordinateVariable.(TimeCoordinateVariable.java:137)
at org.geotools.imageio.netcdf.cv.CoordinateVariable.create(CoordinateVariable.java:120)
at org.geotools.imageio.netcdf.NetCDFGeoreferenceManager.extractCoordinatesVariable(NetCDFGeoreferenceManager.java:172)
at org.geotools.imageio.netcdf.NetCDFGeoreferenceManager.(NetCDFGeoreferenceManager.java:153)
at org.geotools.imageio.netcdf.NetCDFImageReader.init(NetCDFImageReader.java:449)
at org.geotools.imageio.netcdf.NetCDFImageReader.setInput(NetCDFImageReader.java:264)
… 124 more


Von: dany.geotools@anonymised.com <dany.geotools@anonymised.com> im Auftrag von Daniele Romagnoli <daniele.romagnoli@anonymised.com>
Gesendet: Dienstag, 2. Februar 2016 14:46
An: axxis l
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] NetCDF Plugin

Hi Lotta,
do you have any chance to share the full log?
Which version of GeoServer are you using? (2.8.x, X = ?)

I have a doubt in relation to the time unit.
I think that the current code only deals with “seconds/minutes/hours/days since the reference time”.
I’m not sure it will support the “years since date” type.

Let’s see if the log says something more to provide you more feedbacks.
Hope this helps.

Cheers,
Daniele


Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On Tue, Feb 2, 2016 at 1:44 PM, axxis l <axxis1980@anonymised.com…> wrote:

Hi List,

I´m using geoserver 2.8 with netcdf plugin. I am creating a store with netcdf file and I get the following error:

“Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file://Z:.…[26012016.nc](http://26012016.nc) and hints null.”

Is there a problem with the file?

Attached you find a file extract from the .cdl file.


netcdf 26012016 {
dimensions:
lon = 42 ;
lat = 35 ;
time = 7 ;
variables:
float lon(lon) ;
lon:standard_name = “longitude” ;
lon:long_name = “longitude” ;
lon:units = “degrees_east” ;
lon:axis = “X” ;
lon:_CoordinateAxisType = “Lon” ;
float lat(lat) ;
lat:standard_name = “latitude” ;
lat:long_name = “latitude” ;
lat:units = “degrees_north” ;
lat:axis = “Y” ;
lat:_CoordinateAxisType = “Lat” ;
float time(time) ;
time:standard_name = “time” ;
time:long_name = “Time” ;
time:units = “years since 2000-07-01” ;
time:calendar = “gregorian” ;
time:_CoordinateAxisType = “Time” ;
float SPEI02(time, lat, lon) ;
SPEI02:units = “z values” ;
SPEI02:long_name = “drought index” ;
SPEI02:missing_value = -999. ;
data:

lon = -9.5, -8.5, … ;

lat = 36.5, 37.5, … ;

time = 0, 1, … ;

SPEI02 =
// SPEI02(0,1, 0-41)
NaNf, NaNf, -0.035, -0.09, -0.155, NaNf, NaNf, NaNf, NaNf, 0.064, 0.204,
0.319, 0.405, 0.449, 0.491, 1.292, 1.485, NaNf, NaNf, NaNf, 0.622, 0.134,
0.085, 0.415, NaNf, NaNf, 0.729, 0.885, 1.006, 0.966, 0.873, 0.678,
0.133, 0.181, 0.19, 0.215, 0.21, NaNf, NaNf, NaNf, NaNf, NaNf,
// SPEI02(0,2, 0-41)
NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, NaNf, 0.198, 0.295,
0.303, 0.314, 0.354, 0.526, 1.363, 1.549, 1.553, 1.379, 1.101, 0.575,
0.067, 0.004, NaNf, NaNf, 0.528, 0.704, 0.877, 1.07, 1.11, 0.793, 0.48,
0.444, 0.429, 0.511, 0.177, 0.6, NaNf, NaNf, NaNf, NaNf, NaNf,

;
}


Thanks and Regards,

Lotta


Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.