NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
I am converting this to a Github issue: https://github.com/Unidata/thredds/issues/501 =Dennis Heimbigner Unidata On 3/24/2016 7:34 AM, David Blodgett wrote:
Following up with a bit more info. This dataset: http://cida.usgs.gov/thredds/catalog.html?dataset=cida.usgs.gov/wicci/cmip3/20c3m And this one: http://cida.usgs.gov/thredds/catalog.html?dataset=cida.usgs.gov/wicci/cmip3/sres_early Are identical except one is for a period in the future (sres_early) After some period of time with no direct use of the dataset, the netCDFSubset page starts to come back 500 for the sres_early. For the 20c3m, the netcdf subset page comes back 200, but I get stack trace 1, included below. A related DataBtree error can be reproduced by asking for the coordinate variables of this dataset: http://cida.usgs.gov/thredds/dodsC/stageiv/stageiv_archive.ncml.ascii?lon[0:1:1120][0:1:880] The threddsservlet log stack trace is included as stack trace 2 below. What’s odd is that the server works as expected for some period of time or volume of usage then goes into this state where some aggregations of netcdf4 data produce DataBTree errors and some NetCDF Subset pages return 500 with nothing in the logs indicating a failure. In fact, for the NetCDF Subset 500 errors, there is no ‘Request Completed’ in the threddsservlet log. This is only happening with some datasets and it appears that the core datasets we host are all functioning as expected. I’d really rather not roll back to an old version if we can identify a fix for this. If I need to take the time to provide sample files I can do that, but I’d need to know specifically what is needed to look at it more closely. Thanks! - Dave Stack trace 1: 2016-03-24T08:24:00.844 -0500 [ 2740359][ 366] ERROR - ucar.nc2.dt.grid.GridCoordSys - N/A: Error reading time coord= time java.lang.IllegalStateException: DataBTree doesnt start with TREE at ucar.nc2.iosp.hdf5.DataBTree$Node.<init>(DataBTree.java:175) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.DataBTree$DataChunkIterator.<init>(DataBTree.java:135) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.DataBTree.getDataChunkIteratorFilter(DataBTree.java:61) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.H5tiledLayoutBB.<init>(H5tiledLayoutBB.java:110) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.H5iosp.readData(H5iosp.java:162) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.H5iosp.readData(H5iosp.java:141) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.NetcdfFile.readData(NetcdfFile.java:2009) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.reallyRead(Variable.java:874) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable._read(Variable.java:845) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:723) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.ncml.Aggregation$DatasetProxyReader.reallyRead(Aggregation.java:843) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS._read(VariableDS.java:507) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:723) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS.reallyRead(VariableDS.java:523) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS._read(VariableDS.java:507) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:723) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS.reallyRead(VariableDS.java:523) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS._read(VariableDS.java:507) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:723) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.CoordinateAxis1DTime.<init>(CoordinateAxis1DTime.java:305) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.CoordinateAxis1DTime.factory(CoordinateAxis1DTime.java:74) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dt.grid.GridCoordSys.<init>(GridCoordSys.java:409) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.dt.grid.GridCoordSys.makeGridCoordSys(GridCoordSys.java:308) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.dt.grid.GridDataset.constructCoordinateSystems(GridDataset.java:170) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.dt.grid.GridDataset.<init>(GridDataset.java:150) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.dt.grid.GridDataset.<init>(GridDataset.java:128) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.ft.GridDatasetStandardFactory.isMine(GridDatasetStandardFactory.java:55) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.ft.FeatureDatasetFactoryManager.wrap(FeatureDatasetFactoryManager.java:280) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.ft.FeatureDatasetFactoryManager.wrapUnknown(FeatureDatasetFactoryManager.java:299) [cdm-4.6.4.jar:4.6.4] at ucar.nc2.ft.FeatureDatasetFactoryManager.wrap(FeatureDatasetFactoryManager.java:270) [cdm-4.6.4.jar:4.6.4] at thredds.server.ncss.dataservice.FeatureDatasetServiceImpl.findDatasetByPath(FeatureDatasetServiceImpl.java:93) [FeatureDatasetServiceImpl.class:?] at thredds.server.ncss.controller.NcssDatasetInfoController.getDatasetDescription(NcssDatasetInfoController.java:98) [NcssDatasetInfoController.class:?] at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) [servlet-api.jar:?] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:118) [RequestQueryFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.RequestCORSFilter.doFilterInternal(RequestCORSFilter.java:49) [RequestCORSFilter.class:?] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:94) [RequestPathFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.server.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:81) [RequestBracketingLogMessageFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.2.jar:2.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.53] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.53] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) [catalina.jar:7.0.53] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.53] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.53] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) [tomcat-coyote.jar:7.0.53] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.53] at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) [tomcat-coyote.jar:7.0.53] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45] Stack trace 2: 2016-03-24T08:29:51.406 -0500 [ 3090921][ 383] ERROR - thredds.server.opendap.OpendapServlet - path2= /stageiv/stageiv_archive.ncml.ascii java.lang.IllegalStateException: DataBTree doesnt start with TREE at ucar.nc2.iosp.hdf5.DataBTree$Node.<init>(DataBTree.java:175) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.DataBTree$DataChunkIterator.<init>(DataBTree.java:135) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.DataBTree.getDataChunkIteratorFilter(DataBTree.java:61) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.H5tiledLayoutBB.<init>(H5tiledLayoutBB.java:110) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.H5iosp.readData(H5iosp.java:162) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.iosp.hdf5.H5iosp.readData(H5iosp.java:141) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.NetcdfFile.readData(NetcdfFile.java:2009) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.reallyRead(Variable.java:874) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable._read(Variable.java:845) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:723) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.ncml.Aggregation$DatasetProxyReader.reallyRead(Aggregation.java:843) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS._read(VariableDS.java:507) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:723) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS.reallyRead(VariableDS.java:523) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS._read(VariableDS.java:507) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.dataset.VariableDS._read(VariableDS.java:531) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:709) ~[cdm-4.6.4.jar:4.6.4] at ucar.nc2.Variable.read(Variable.java:683) ~[cdm-4.6.4.jar:4.6.4] at thredds.server.opendap.NcSDArray.read(NcSDArray.java:115) ~[NcSDArray.class:?] at opendap.servlet.AsciiWriter.writeAsc(AsciiWriter.java:107) ~[opendap-4.6.4.jar:4.6.4] at opendap.servlet.AsciiWriter.toASCII(AsciiWriter.java:68) ~[opendap-4.6.4.jar:4.6.4] at thredds.server.opendap.OpendapServlet.doGetASC(OpendapServlet.java:315) ~[OpendapServlet.class:?] at thredds.server.opendap.OpendapServlet.doGet(OpendapServlet.java:220) [OpendapServlet.class:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) [servlet-api.jar:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.CookieFilter.doFilter(CookieFilter.java:55) [CookieFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:118) [RequestQueryFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.RequestCORSFilter.doFilterInternal(RequestCORSFilter.java:49) [RequestCORSFilter.class:?] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:94) [RequestPathFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at thredds.server.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:81) [RequestBracketingLogMessageFilter.class:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.2.jar:2.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.53] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.53] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) [catalina.jar:7.0.53] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) [catalina.jar:7.0.53] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.53] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.53] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) [tomcat-coyote.jar:7.0.53] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.53] at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) [tomcat-coyote.jar:7.0.53] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45] 2016-03-24T08:29:51.427 -0500 [ 3090942][ 383] INFO - threddsServlet - Request Completed - 500 - -1 - 23On Mar 23, 2016, at 8:13 AM, DAVID L BLODGETT <dblodgett@xxxxxxxx> wrote: THREDDS Community, We recently upgraded to THREDDS 4.6.4 from 4.5.5. Everything seemed to go smoothly, but we started getting 'DataBTree doesnt start with TREE’ and other DataBTree errors. These seem to be isolated to aggregations of NetCDF4 files and the issue is fixed by restarting the server. I haven’t found anything related to this error elsewhere, maybe someone on the list can shed some light on the situation? Thanks. - Dave _______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/_______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/
thredds
archives: