[thredds] THREDDS 4.3 WMS service. Error reading 'intervalTime'

Hi all,

We are testing the new THREDDS release 4.3 but the WMS service throws an
exception (attached file) with the following NetCDF.
<http://thredds.socib.es/thredds/wms/hf_radar/hf_radar_ibiza-scb_codarssproc001/L1/2012/dep0001_hf-radar-ibiza_scb-codarssproc001_L1_2012-09.nc?service=WMS&version=1.3.0&request=GetCapabilities>

<http://thredds.socib.es/thredds/wms/hf_radar/hf_radar_ibiza-scb_codarssproc001/L1/2012/dep0001_hf-radar-ibiza_scb-codarssproc001_L1_2012-09.nc?service=WMS&version=1.3.0&request=GetCapabilities>
<http://thredds.socib.es/thredds/wms/hf_radar/hf_radar_ibiza-scb_codarssproc001/L1/2012/dep0001_hf-radar-ibiza_scb-codarssproc001_L1_2012-09.nc?service=WMS&version=1.3.0&request=GetCapabilities>
 
dep0001_hf-radar-ibiza_scb-codarssproc001_L1_2012-09.nc<https://docs.google.com/a/socib.es/file/d/0B6PLQmFeeXzZVER3OGNpcE0zZlk/edit>
The release 4.2.10 doesn't throws that exception and works fine
http://thredds.socib.es/thredds/wms/hf_radar/hf_radar_ibiza-scb_codarssproc001/L1/2012/dep0001_hf-radar-ibiza_scb-codarssproc001_L1_2012-09.nc?service=WMS&version=1.3.0&request=GetCapabilities

We are using Tomcat 7 and Java 6. The threddsConfig.xml and wmConfig.xml
are also attached.

Kristian,

-- 

 Kristian Sebastian Blalid
SOS Division: Data Center Technical
Tel: 971439860 - Fax: 971439979
E-mail: kristian.sebastian@xxxxxxxx

PNG image

GRAVE: El Servlet.service() para el servlet [wms] en el contexto con ruta 
[/thredds] lanzó la excepción [javax.el.ELException: Error reading 
'intervalTime' en el tipo thredds.server.wms.ThreddsScalarLayer] con causa raíz
java.lang.NullPointerException
        at 
thredds.server.wms.config.LayerSettings.isIntervalTime(LayerSettings.java:141)
        at 
thredds.server.wms.ThreddsScalarLayer.isIntervalTime(ThreddsScalarLayer.java:216)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
        at 
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
        at 
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:985)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fwhen_005f1(capabilities_005fxml_jsp.java:1287)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fchoose_005f1(capabilities_005fxml_jsp.java:1257)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fotherwise_005f0(capabilities_005fxml_jsp.java:1227)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fchoose_005f0(capabilities_005fxml_jsp.java:1095)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fif_005f4(capabilities_005fxml_jsp.java:1060)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fforEach_005f5(capabilities_005fxml_jsp.java:789)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fif_005f0(capabilities_005fxml_jsp.java:682)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspx_meth_c_005fforEach_005f4(capabilities_005fxml_jsp.java:638)
        at 
org.apache.jsp.WEB_002dINF.jsp.wms.capabilities_005fxml_jsp._jspService(capabilities_005fxml_jsp.java:227)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
        at 
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
        at 
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
        at 
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
        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.doGet(FrameworkServlet.java:778)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:120)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:102)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
thredds.server.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:48)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:196)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
<?xml version="1.0" encoding="UTF-8"?>
<threddsConfig>

  <!-- all options are commented out in standard install - meaning use default 
values -->
  <!-- see 
http://www.unidata.ucar.edu/projects/THREDDS/tech/reference/ThreddsConfigXMLFile.html
 -->
  <serverInformation>
    <name>SOCIB TDS</name>
    <logoUrl>threddsIcon.gif</logoUrl>
    <logoAltText>SOCIB Thredds for data access and discovery</logoAltText>

    <abstract>Scientific Data</abstract>
    <keywords>meteorology, atmosphere, climate, ocean, earth science</keywords>

    <contact>
      <name>SOCIB Data centre</name>
      <organization>SOCIB</organization>
      <email>datacenter@xxxxxxxx</email>
      <!--phone></phone-->
    </contact>
    <hostInstitution>
      <name>SOCIB</name>
      <webSite>http://www.socib.es/</webSite>
      <logoUrl>myGroup.gif</logoUrl>
      <logoAltText>SOCIB</logoAltText>
    </hostInstitution>
  </serverInformation>

  <!--
  The <catalogRoot> element:
  For catalogs you don't want visible from the /thredds/catalog.xml chain
  of catalogs, you can use catalogRoot elements. Each catalog root config
  catalog is crawled and used in configuring the TDS.

  <catalogRoot>myExtraCatalog.xml</catalogRoot>
  <catalogRoot>myOtherExtraCatalog.xml</catalogRoot>
  -->

  <!--
   * Setup for generated HTML pages.
   *
   * NOTE: URLs may be absolute or relative, relative URLs must be relative
   * to the webapp URL, i.e., http://server:port/thredds/.
    -->
  <htmlSetup>
    <!--
     * CSS documents used in generated HTML pages.
     * The CSS document given in the "catalogCssUrl" element is used for all 
pages
     * that are HTML catalog views. The CSS document given in the 
"standardCssUrl"
     * element is used in all other generated HTML pages.
     * -->
    <standardCssUrl>tds.css</standardCssUrl>
    <catalogCssUrl>tdsCat.css</catalogCssUrl>

    <!--
     * The URLs (relative to "/thredds/") and alternate text for both
     * folder and dataset icons used in HTML catalog views.
     * -->
    <folderIconUrl>folder.gif</folderIconUrl>
    <folderIconAlt>Folder</folderIconAlt>
    <datasetIconUrl>dataset.gif</datasetIconUrl> <!-- Not currently used. -->
    <datasetIconAlt>Dataset</datasetIconAlt>     <!-- Not currently used. -->

  </htmlSetup>

  <!--
   The <CatalogServices> element:
   - Services on local TDS served catalogs are always on.
   - Services on remote catalogs are set with the allowRemote element
   below. They are off by default (recommended).
   -->
  <CatalogServices>
    <allowRemote>false</allowRemote>
  </CatalogServices>

  <!--
  Configuring the CDM (netcdf-java library)
  see 
http://www.unidata.ucar.edu/software/netcdf-java/reference/RuntimeLoading.html

  <nj22Config
    <ioServiceProvider class="edu.univ.ny.stuff.FooFiles"/>
    <coordSysBuilder convention="foo" class="test.Foo"/>
    <coordTransBuilder name="atmos_ln_sigma_coordinates" type="vertical" 
class="my.stuff.atmosSigmaLog"/>
    <typedDatasetFactory datatype="Point" 
class="gov.noaa.obscure.file.Flabulate"/>
    <table type="GRIB1" filename="/home/rkambic/grib/tables/userlookup.lst"/>
    <table type="GRIB2" 
filename="/home/rkambic/grib/tables/grib2userparameters"/>
  </nj22Config>
  -->

  <!--
  CDM uses the DiskCache directory to store temporary files, like uncompressed 
files.
  <DiskCache>
    <alwaysUse>false</alwaysUse>
    <scour>1 hour</scour>
    <maxSize>1 Gb</maxSize>
  </DiskCache>
  -->
  <DiskCache>
    <alwaysUse>true</alwaysUse>
    <scour>1 hour</scour>
    <maxSize>4 Gb</maxSize>
  </DiskCache>


  <!--
  Caching open NetcdfFile objects.
  default is to allow 200 - 400 open files, cleanup every 10 minutes
  <NetcdfFileCache>
    <minFiles>200</minFiles>
    <maxFiles>400</maxFiles>
    <scour>10 min</scour>
  </NetcdfFileCache>
  -->
  <NetcdfFileCache>
    <minFiles>0</minFiles>
    <maxFiles>100</maxFiles>
    <scour>10 min</scour>
  </NetcdfFileCache>

  <!--
  The <HTTPFileCache> element:
  allow 20 - 40 open datasets, cleanup every 10 minutes
  used by HTTP Range requests.
  <HTTPFileCache>
    <minFiles>20</minFiles>
    <maxFiles>40</maxFiles>
    <scour>10 min</scour>
  </HTTPFileCache>
  -->
  <HTTPFileCache>
    <minFiles>0</minFiles>
    <maxFiles>40</maxFiles>
    <scour>10 min</scour>
  </HTTPFileCache>

  <!--
  Writing GRIB indexes.
  <GribIndexing>
    <setExtendIndex>false</setExtendIndex>
    <alwaysUseCache>false</alwaysUseCache>
  </GribIndexing>
  -->

  <!--
  Persist joinNew aggregations to named directory. scour every 24 hours, delete 
stuff older than 30 days
  <AggregationCache>
    <scour>24 hours</scour>
    <maxAge>30 days</maxAge>
  </AggregationCache>
  -->
  <AggregationCache>
    <scour>20 min</scour>
    <maxAge>1 hours</maxAge>
  </AggregationCache>
  

  <!--
  How to choose the template dataset for an aggregation. latest, random, or 
penultimate
  <Aggregation>
    <typicalDataset>random</typicalDataset>
  </Aggregation>
  -->

  <!--
  The Netcdf Subset Service is off by default.
  <NetcdfSubsetService>
    <allow>false</allow>
    <scour>10 min</scour>
    <maxAge>-1 min</maxAge>
    <metarDataDir>/opt/tomcat/content/thredds/public/stn/</metarDataDir>
    <metarRawDir>/data/ldm/pub/decoded/netcdf/surface/metar/</metarRawDir>
  </NetcdfSubsetService>
  -->

  <!--
  <Opendap>
    <ascLimit>50</ascLimit>
    <binLimit>500</binLimit>
    <serverVersion>opendap/3.7</serverVersion>
  </Opendap>
    -->
  
  <!--
  The WCS Service is off by default.
  Also, off by default (and encouraged) is operating on a remote dataset.
  <WCS>
    <allow>false</allow>
    <allowRemote>false</allowRemote>
    <scour>15 min</scour>
    <maxAge>30 min</maxAge>
  </WCS>
  -->

  <!--
  <WMS>
    <allow>false</allow>
    <allowRemote>false</allowRemote>
    <maxImageWidth>2048</maxImageWidth>
    <maxImageHeight>2048</maxImageHeight>
  </WMS>
  -->
  <WMS>
    <allow>true</allow>
    <allowRemote>false</allowRemote>
    <maxImageWidth>2048</maxImageWidth>
    <maxImageHeight>2048</maxImageHeight>
  </WMS>

  <NCISO>
    <ncmlAllow>true</ncmlAllow>
    <uddcAllow>true</uddcAllow>
    <isoAllow>true</isoAllow>
  </NCISO>

  <!-- CatalogGen service is off by default.
  <CatalogGen>
    <allow>false</allow>
  </CatalogGen>
   -->

  <!-- DLwriter service is off by default.
       As is support for operating on remote catalogs.
  <DLwriter>
    <allow>false</allow>
    <allowRemote>false</allowRemote>
  </DLwriter>
   -->

  <!-- DqcService is off by default.
  <DqcService>
    <allow>false</allow>
  </DqcService>
   -->

  <!--
   Link to a Viewer application on the HTML page:
   <Viewer>my.package.MyViewer</Viewer>
   -->

   <!--
   Add a DataSource - essentially an IOSP with access to Servlet request 
parameters
   <DatsetSource>my.package.DatsetSourceImpl</DatsetSource>
   -->

  <!--
  Modify Logging parameters. Normally use log4j.xml
  <Logging>
    <DatePattern></DatePattern>
    <MaxFileSize></MaxFileSize>
    <MaxFiles></MaxFiles>
  </Logging>
  -->

</threddsConfig>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Detailed configuration of the WMS service.  This config file can be used to
set default styling parameters for each dataset/variable, and to enable or 
disable
the GetFeatureInfo operation.

See 
http://www.resc.reading.ac.uk/trac/myocean-tools/wiki/WmsDetailedConfiguration
for more information.
-->
<!DOCTYPE wmsConfig [

<!ELEMENT wmsConfig (global, overrides?)>

<!ELEMENT global (defaults, standardNames?)>

<!ELEMENT defaults (allowFeatureInfo, defaultColorScaleRange, 
defaultPaletteName, defaultNumColorBands, logScaling)>

<!ELEMENT standardNames (standardName*)>

<!ELEMENT standardName (defaultColorScaleRange?, defaultPaletteName?, 
defaultNumColorBands?, logScaling?)>
<!ATTLIST standardName name CDATA #REQUIRED>
<!ATTLIST standardName units CDATA #REQUIRED>

<!ELEMENT overrides (datasetPath*)>

<!ELEMENT datasetPath (pathDefaults?, variables?)>
<!ATTLIST datasetPath pathSpec CDATA #REQUIRED>

<!ELEMENT pathDefaults (allowFeatureInfo?, defaultColorScaleRange?, 
defaultPaletteName?, defaultNumColorBands?, logScaling?)>

<!ELEMENT variables (variable*)>

<!ELEMENT variable (defaultColorScaleRange?, defaultPaletteName?, 
defaultNumColorBands?, logScaling?)>
<!ATTLIST variable id CDATA #REQUIRED>

<!ELEMENT allowFeatureInfo (#PCDATA)>
<!ELEMENT defaultColorScaleRange (#PCDATA)>
<!ELEMENT defaultPaletteName (#PCDATA)>
<!ELEMENT defaultNumColorBands (#PCDATA)>
<!ELEMENT logScaling (#PCDATA)>
]>
<wmsConfig>

    <global>
        <!-- These settings apply to all datasets unless overridden below -->

        <defaults>
            <!-- The global defaults. All elements are mandatory -->
            <allowFeatureInfo>true</allowFeatureInfo>
            <defaultColorScaleRange>-50 50</defaultColorScaleRange>
            <defaultPaletteName>ferret</defaultPaletteName>
            <defaultNumColorBands>20</defaultNumColorBands>
            <logScaling>false</logScaling>
        </defaults>

        <standardNames>
            <!-- Use this section to set defaults per standard name -->
            <!-- Units must come from the UDUNITS vocabulary -->
            <standardName name="sea_water_potential_temperature" 
units="Celsius">
                <defaultColorScaleRange>11.5 28</defaultColorScaleRange>
            </standardName>
            <standardName name="sea_water_temperature" units="Celsius">
                <defaultColorScaleRange>11.5 28</defaultColorScaleRange>
            </standardName>
            <standardName name="sea_surface_height_above_sea_level" 
units="meter">
                <defaultColorScaleRange>-0.2 0.2</defaultColorScaleRange>
            </standardName>
            <standardName name="sea_water_salinity" units="">
                <defaultColorScaleRange>35.8 38.5</defaultColorScaleRange>
            </standardName>
            <standardName name="sea_water_potential_density" units="kg m-3">
                <defaultColorScaleRange>1025 1029</defaultColorScaleRange>
            </standardName>
            <standardName name="sea_water_velocity" units="meter second-1">
                <defaultColorScaleRange>0 1</defaultColorScaleRange>
            </standardName>
            <standardName name="barotropic_sea_water_velocity" units="meter 
second-1">
                <defaultColorScaleRange>0 0.5</defaultColorScaleRange>
            </standardName>
            <standardName name="mass_concentration_of_chlorophyll_in_sea_water" 
units="kg m-3">
                <logScaling>true</logScaling>
            </standardName>
            <!-- TODO: how about allowing "*fraction" to map to 0:1? -->
            <!-- TODO: how about allowing multiple standard names to map to the 
same settings,
                 either through a glob expression or through a list? -->
        </standardNames>
    </global>

    <overrides>
        
        <datasetPath pathSpec="testAll/*eta_211.nc">
            <!-- Will apply to all paths that match the path spec above -->
            <pathDefaults>
                <!-- These will apply to all variables in this path unless 
overridden below -->
                <allowFeatureInfo>false</allowFeatureInfo>
                <defaultPaletteName>occam</defaultPaletteName>
            </pathDefaults>

            <variables>
                <!-- Configure variables individually according to their 
internal ID.
                     This is the most specific setting and will override any 
others -->
                <variable id="Z_sfc">
                    <defaultColorScaleRange>10 20</defaultColorScaleRange>
                </variable>
            </variables>
        </datasetPath>
        
    </overrides>

</wmsConfig>
  • 2012 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: