Hi Roland, all,
I think I know what's going on here. The WMS code uses different strategies to
read data from disk, depending upon whether the data are
compressed/uncompressed, local/remote. It probably can't figure out a strategy
for this "virtual" dataset. I didn't anticipate this so apologies for the
unhelpful error message.
I'm pretty sure the error is precisely here:
http://www.resc.rdg.ac.uk/trac/ncWMS/browser/branches/tds4.2-20101102/src/java/uk/ac/rdg/resc/ncwms/cdm/CdmUtils.java#L221
String fileType = nc.getFileTypeId();
return fileType.equals("netCDF") || fileType.equals("HDF4")
? DataReadingStrategy.SCANLINE
: DataReadingStrategy.BOUNDING_BOX;
I guess getFileTypeId() returns null in this case. Ethan, in the next bugfix
release could you change this to:
return "netCDF".equals(fileType)|| "HDF4".equals(fileType)
? DataReadingStrategy.SCANLINE
: DataReadingStrategy.BOUNDING_BOX;
I've just changed this on my tds-refactor branch of ncWMS (but not actually
tested it!), so you (Ethan) might just be able to sync your code with mine.
It's already changed on ncWMS trunk.
Cheers, Jon
--------------------------------------------------------------------------
On Apr 15, 2011, at 8:30 AM, Roland Schweitzer wrote:
> Hi,
>
> I'd like to take up this conversation again and really this is a question for
> Jon Blower and the ncWMS folks.
>
> Benno reported privately that the previous example had a few problems with
> just the raw data, so I've put up what I hope is a very simple example we can
> use to work through the issues.
>
> The data URL is:
> http://cirrus.handwx.com:8080/thredds/dodsC/examples/average.jnl
> which consists of a monthly climatology and one transformed variable
> (sst_average) a dynamically generated average of all 12 months of the sst
> variable.
>
> We can plot the sst_average with our standard tools (Ferret, toolsUI, etc),
> but the WMS request for GetCapabilities fails (just following the link in the
> browser) with the following error.
>
> Jon, any suggestions for how to track down this error?
>
> Roland
>
> 2011-04-15T15:15:20.028 +0000 [ 14083][ 19] INFO -
> thredds.server.wms.ThreddsWmsController - Remote host: 74.192.0.105 -
> Request: "GET /thredds/wms
> /examples/average.jnl?service=WMS&version=1.3.0&request=GetCapabilities
> HTTP/1.1"
> 2011-04-15T15:15:20.939 +0000 [ 14994][ 19] ERROR -
> thredds.server.wms.ThreddsWmsController - dispatchWmsRequest(): Exception:
> java.lang.NullPointerException
> at
> uk.ac.rdg.resc.ncwms.cdm.CdmUtils.getOptimumDataReadingStrategy(CdmUtils.java:221)
> at thredds.server.wms.ThreddsDataset.<init>(ThreddsDataset.java:102)
> at
> thredds.server.wms.ThreddsWmsController.dispatchWmsRequest(ThreddsWmsController.java:164)