0

I´m using GeoServer 2.20.1 with the netCDF plugin (geoserver-2.20.1-netcdf-plugin.zip) on a Tomcat 9 locally on my Mac (localhost:8080).

I´m trying to add a 4d netcdf file structure (filename: junker_v1.nc) into geoserver, but I´m getting always the error:

"Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file"

Screenshot error message

The error logs in geoserver are the following:

2022-01-20 17:34:23,310 INFO [org.geoserver.web] - Getting list of coverages for saved store file:data/netCDF/junker_v1.nc
java.lang.RuntimeException: Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file:data/netCDF/junker_v1.nc and hints Hints:
  REPOSITORY       = org.geoserver.catalog.CatalogRepository@1ab79b32                                                                                   
  EXECUTOR_SERVICE = java.util.concurrent.ThreadPoolExecutor@6e69bf6a[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
System defaults:
  GRID_COVERAGE_FACTORY            = GridCoverageFactory                                    
    TILE_ENCODING                  = null                                                   
  FEATURE_FACTORY                  = org.geotools.feature.LenientFeatureFactoryImpl@145487a5
  FILTER_FACTORY                   = FilterFactoryImpl                                      
  COMPARISON_TOLERANCE             = 1.0E-8                                                 
  FORCE_LONGITUDE_FIRST_AXIS_ORDER = true                                                   
  LENIENT_DATUM_SHIFT              = true                                                   
  FORCE_AXIS_ORDER_HONORING        = http                                                   
  STYLE_FACTORY                    = StyleFactoryImpl                                       

    at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:181)
    at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:60)
    at org.geoserver.web.wicket.GeoServerDataProvider.getFilteredItems(GeoServerDataProvider.java:190)
    at org.geoserver.web.data.layer.NewLayerPageProvider.getFilteredItems(NewLayerPageProvider.java:197)
    at org.geoserver.web.wicket.GeoServerDataProvider.size(GeoServerDataProvider.java:208)
    at org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.updateMatched(GeoServerTablePanel.java:662)
    at org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.<init>(GeoServerTablePanel.java:657)
    at org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:236)
    at org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:105)
    at org.geoserver.web.data.layer.NewLayerPage$1.<init>(NewLayerPage.java:111)
    at org.geoserver.web.data.layer.NewLayerPage.<init>(NewLayerPage.java:110)
    at org.geoserver.web.data.store.CoverageStoreNewPage.onSuccessfulSave(CoverageStoreNewPage.java:86)
    at org.geoserver.web.data.store.CoverageStoreNewPage.onSave(CoverageStoreNewPage.java:71)
    at org.geoserver.web.data.store.AbstractCoverageStorePage$1.onSubmit(AbstractCoverageStorePage.java:138)
    at org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:111)
    at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$AjaxFormSubmitter.onSubmit(AjaxFormSubmitBehavior.java:218)
    at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1312)
    at org.apache.wicket.markup.html.form.Form.process(Form.java:976)
    at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:797)
    at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:174)
    at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155)
    at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
    at sun.reflect.GeneratedMethodAccessor436.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
    at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
    at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
    at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
    at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
    at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
    at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
    at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
    at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
    at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
    at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
    at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:166)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
    at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:73)
    at org.geoserver.ows.HTTPHeadersCollector.doFilter(HTTPHeadersCollector.java:48)
    at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
    at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:43)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:39)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:122)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
    at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
    at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:102)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:48)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Failed to create reader from file:data/netCDF/junker_v1.nc and hints Hints:
  REPOSITORY       = org.geoserver.catalog.CatalogRepository@1ab79b32                                                                                   
  EXECUTOR_SERVICE = java.util.concurrent.ThreadPoolExecutor@6e69bf6a[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
System defaults:
  GRID_COVERAGE_FACTORY            = GridCoverageFactory                                    
    TILE_ENCODING                  = null                                                   
  FEATURE_FACTORY                  = org.geotools.feature.LenientFeatureFactoryImpl@145487a5
  FILTER_FACTORY                   = FilterFactoryImpl                                      
  COMPARISON_TOLERANCE             = 1.0E-8                                                 
  FORCE_LONGITUDE_FIRST_AXIS_ORDER = true                                                   
  LENIENT_DATUM_SHIFT              = true                                                   
  FORCE_AXIS_ORDER_HONORING        = http                                                   
  STYLE_FACTORY                    = StyleFactoryImpl                                       

    at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1575)
    at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1518)
    at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:57)
    at sun.reflect.GeneratedMethodAccessor467.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:129)
    at com.sun.proxy.$Proxy30.getGridCoverageReader(Unknown Source)
    at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:98)
    ... 139 more
2022-01-20 17:34:23,311 TRACE [org.geoserver.config] - org.geoserver.catalog.event.impl.CatalogModifyEventImpl@54776a00 :handleModifyEvent
2022-01-20 17:34:23,312 DEBUG [org.geoserver.config] - Persisted com.sun.proxy.$Proxy45 to global.xml
2022-01-20 17:34:23,313 DEBUG [org.geoserver.config] - Removing coverage store testNETCDF-4d
2022-01-20 17:34:23,314 DEBUG [org.geoserver.config] - Persisted com.sun.proxy.$Proxy45 to global.xml
2022-01-20 17:34:23,317 DEBUG [org.geoserver] - Thread 111 locking in mode WRITE
2022-01-20 17:34:23,317 DEBUG [org.geoserver] - Thread 111 releasing the lock in mode WRITE
2022-01-20 17:34:23,318 DEBUG [org.geoserver.filters] - Compressing output for mimetype: text/xml;charset=UTF-8
2022-01-20 17:34:23,319 DEBUG [org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1] - SecurityContextHolder now cleared, as request processing completed
2022-01-20 17:34:24,231 TRACE [org.geoserver.platform.resource] - polling contents of /Library/Tomcat/apache-tomcat-9.0.44/webapps/geoserver/data/gwc-layers
2022-01-20 17:34:24,234 TRACE [org.geoserver.platform.resource] - delta computed in 3ms for /Library/Tomcat/apache-tomcat-9.0.44/webapps/geoserver/data/gwc-layers
2022-01-20 17:34:29,235 TRACE [org.geoserver.platform.resource] - polling contents of /Library/Tomcat/apache-tomcat-9.0.44/webapps/geoserver/data/gwc-layers
2022-01-20 17:34:29,236 TRACE [org.geoserver.platform.resource] - delta computed in 793us for /Library/Tomcat/apache-tomcat-9.0.44/webapps/geoserver/data/gwc-layers
2022-01-20 17:34:34,238 TRACE [org.geoserver.platform.resource] - polling contents of /Library/Tomcat/apache-tomcat-9.0.44/webapps/geoserver/data/gwc-layers
2022-01-20 17:34:34,238 TRACE [org.geoserver.platform.resource] - delta computed in 398us for /Library/Tomcat/apache-tomcat-9.0.44/webapps/geoserver/data/gwc-layers
2022-01-20 17:34:38,015 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /web/wicket/bookmarkable/org.geoserver.web.admin.logpage, QueryString: filter=false'; against '/web/**'
2022-01-20 17:34:38,015 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Matched Path: /web/wicket/bookmarkable/org.geoserver.web.admin.logpage, QueryString: filter=false with /web/**
2022-01-20 17:34:38,017 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,017 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,017 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,017 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,018 DEBUG [org.geoserver] - Thread 109 locking in mode READ
2022-01-20 17:34:38,018 DEBUG [org.geoserver] - Thread 109 got the lock in mode READ
2022-01-20 17:34:38,087 DEBUG [org.geoserver] - Thread 109 locking in mode READ
2022-01-20 17:34:38,087 DEBUG [org.geoserver] - Thread 109 releasing the lock in mode READ
2022-01-20 17:34:38,088 DEBUG [org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1] - SecurityContextHolder now cleared, as request processing completed
2022-01-20 17:34:38,091 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /web/wicket/bookmarkable/org.geoserver.web.admin.logpage, QueryString: 42&filter=false'; against '/web/**'
2022-01-20 17:34:38,092 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Matched Path: /web/wicket/bookmarkable/org.geoserver.web.admin.logpage, QueryString: 42&filter=false with /web/**
2022-01-20 17:34:38,094 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,094 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,094 DEBUG [org.geoserver.ows] - Could not find a layer group named web
2022-01-20 17:34:38,094 DEBUG [org.geoserver.ows] - Could not find a layer group named web

complete log file here: geoserver.log

I have followed the tutorial: https://geoserver.geo-solutions.it/multidim/multidim/netcdf/netcdf_config.html#netcdf

Does anybody know why the error occur? The error logs are not really clear for me, but it seems geoserver has problems to handle the 4th dimension.

I tried the same with a netcdf structure in 3d and it works like a charm - geoserver could list the layers.

enter image description here

0

1 Answer 1

2

Looking at the stack trace, there is some issue setting up the variables.

While I cannot be sure, the likely cause is that your NetCDF is not copliant with the COARDS convention, a requirement for GeoServer to actually make sense of the contents.

See also: https://docs.geoserver.org/stable/en/user/extensions/netcdf/netcdf.html#notes-on-supported-netcdfs

It may be possible to make GeoServer read that NetCDF anyways, but it's likely going to require some development.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.