Re: [thredds] aggregation / arithmetic between variables

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)