Re: [thredds] WMS and F-TDS virtual datasets [was: Re: aggregation / arithmetic between variables]

On 04/15/2011 11:10 AM, Ethan Davis wrote:
Hi Roland, all,

The CdmUtils.getOptimumDataReadingStrategy() method uses the
NetcdfDataset.getFileTypeId() method to decide on the data reading
strategy. However, it doesn't check if the resulting String is null or
not before checking the value.

Unless Jon knows of other hurdles after this one, I will make a TDS
snapshot available for testing on Monday. Jon, any thoughts?
Is there some bit of configuration I could add to the datasetScan for this directory in the catalog that would make the FileTypeId not be null?

Roland

Ethan

On 4/15/2011 9: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)

     at
uk.ac.rdg.resc.ncwms.controller.AbstractWmsController.handleRequestInternal(AbstractWmsController.java:195)

     at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

     at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

     at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)

     at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)

     at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)

     at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

     at
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:121)

     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

     at
thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:105)

     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

     at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

     at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

     at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)

     at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

     at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

     at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

     at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
     at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
     at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

     at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
     at java.lang.Thread.run(Thread.java:662)
2011-04-15T15:15:20.940 +0000 [     14995][      19] INFO  -
thredds.server.wms.ThreddsWmsController - Request Completed - 500 - -1 -
912




On 04/12/2011 09:38 PM, Jay Alder wrote:
Have there been any updates on this? It would be ideal if I could use
F-TDS to create anomalies between two datasets and plot them via WMS.
It is possible to do this offline and add the product NetCDF files to
the thredds catalog, but there are so many permutations its would make
my thredds catalog very verbose/cluttered.

On Apr 1, 2011, at 4:11 PM, Roland Schweitzer wrote:

On 04/01/2011 11:12 AM, Jay Alder wrote:
While we're on the topic, can F-TDS serve WMS or just OpENDAP?
Essentially what I'd like to do is get a WMS map for dataset A -
dataset B.
A virtual variable in F-TDS behaves like any other netCDF variable
being served by TDS, so if it has the characteristics of a variable
for which WMS works it will also be available via WMS.  At least in
theory.

However, when we tried it ourselves we get this error from the WMS
software:

2011-04-01T15:50:05.338 -0700 [    326689][      26] 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)

          at
uk.ac.rdg.resc.ncwms.controller.AbstractWmsController.handleRequestInternal(AbstractWmsController.java:195)

          at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

          at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

          at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)

          at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)

          at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)

          at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

          at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:121)

          at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at
thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:105)

          at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

          at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

          at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)

          at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

          at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

          at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

          at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

          at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

          at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

          at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at java.lang.Thread.run(Thread.java:662)

The two netCDF URL's are:

Original data set:
http://ferret.pmel.noaa.gov/geoide/carbontracker.html?dataset=ct_flux

Data set with a new variable (ft1000):
http://ferret.pmel.noaa.gov/geoide/catalog/las/catalog.html?dataset=las/test_ftds_wms.jnl


Roland

Thanks

On Apr 1, 2011, at 8:40 AM, Roy Mendelssohn wrote:

yes it can.  Instructions are at that link.  I've done it several
times and can help people walk through it once they get Ferret
installed.

-Roy

On Apr 1, 2011, at 8:37 AM, Kevin Manross wrote:

Kyle,

I'm interested in the same thing.  Can F-TDS be run without the
entire LAS system?

Thanks!

-kevin.


On Fri, Apr 1, 2011 at 10:23 AM, Kyle
Wilcox<KWilcox@xxxxxxxxxxxxxx>   wrote:
That functionality doesn't exists in TDS.  You will need to
postprocess the files, or use F-TDS (Ferret TDS) to accomplish:

http://ferret.pmel.noaa.gov/LAS/documentation/the-ferret-thredds-data-server-f-tds/


---------
Kyle Wilcox, Engineer
Applied Science Associates
55 Village Square Drive
South Kingstown, RI 02879
p: (401) 789-6224
e: kwilcox@xxxxxxxxxxxxxx


-----Original Message-----
From: thredds-bounces@xxxxxxxxxxxxxxxx [mailto:thredds-
bounces@xxxxxxxxxxxxxxxx] On Behalf Of Ivan PRICE
Sent: Friday, April 01, 2011 11:14 AM
To: thredds@xxxxxxxxxxxxxxxx
Subject: [thredds] aggregation / arithmetic between variables


Hi again,

I'm sorry to ask so many questions, i am looking around before
asking
these..

My next problem is that I'd like to define a 'virtual variable'
that is
the result of simple operations on existing variables, for example a
new
variable that is the sum of 2 existing ones.

I have read all about aggregating between datasets and over
dimensions
such as time, but i think this is different. My goal is to have a
virtual WMS layer that is the result of the relationship between
existing variables.

Does this sort of functionality exist at this stage, or should i be
pre-processing the dataset before the thredds stage ?

cheers and have great weekends

-i



_______________________________________________
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/



--
+-----------------------------------------------------+
Kevin L. Manross           |  ** New Address **
CIMMS Research Associate   |     120 David L. Boren Bvd
NSSL : WRDD : SWAT         |     Rm 3923

<kevin.manross@xxxxxxxx>
    |     405.325.6385

www.cimms.ou.edu/~kmanross
|
"My opinions are my own and not representative of
CIMMS, NSSL, NOAA or any affiliates"
+-----------------------------------------------------+


_______________________________________________
thredds mailing list
thredds@xxxxxxxxxxxxxxxx
For list information or to unsubscribe,  visit:
http://www.unidata.ucar.edu/mailing_lists/
**********************
"The contents of this message do not reflect any position of the
U.S. Government or NOAA."
**********************
Roy Mendelssohn
Supervisory Operations Research Analyst
NOAA/NMFS
Environmental Research Division
Southwest Fisheries Science Center
1352 Lighthouse Avenue
Pacific Grove, CA 93950-2097

e-mail: Roy.Mendelssohn@xxxxxxxx (Note new e-mail address)
voice: (831)-648-9029
fax: (831)-648-8440
www: http://www.pfeg.noaa.gov/

"Old age and treachery will overcome youth and skill."
"From those who have been given much, much will be expected"

_______________________________________________
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 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 mailing list
thredds@xxxxxxxxxxxxxxxx
For list information or to unsubscribe,  visit: 
http://www.unidata.ucar.edu/mailing_lists/



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