Re: [thredds] nco as a web service

I agree with Roy as to the facility and ease of use of GET operations. In
my experience with web apps I typically route both posts and gets through
the same handler.  There really is no difference on the server. That said,
uploading a file, for example, would require a post.


BTW - a discussion we have been having around these parts is can you do
> enough in the way of server-side functions without a POST  (ie the URL
> defines the function).  That is why I would like to hear more from people
> who are running F-TDS and GDS - how many requests do they get for server
> side functions, but is the usual response time and download for these
> request, how large are the usual expressions?  And then contrast it with a
> WPS or WCPS approach.    I clearly believe in one approach, but I would
> welcome people who are using some of these other approaches to describe
> what they have done, the benefits of doing things that way, and what it
> means for a client.
>
>
A critical point that is missing in these discussions is what the end users
require. We're talking about the *how* before discussing the *what*. I'd be
interested to hear about how the existing services are used and/or what
user's requirements might be going into the future.

One thing to look at what does the IDV's (or other packages) derived
quantity and end-user formula facility (see below for a subset of
functions) provides. It would be a huge win to be able to provide these
kinds of services on the server.

-Jeff




-------------------------------------------------

IDV grid functions:
Gravity constant
Wrapper for atan2 built-in
Addition
Multiply
Divide
Subtract
Horizontal Advection, negative by convention
Average of 2 scalars
Absolute Vorticity
Coriolis Parameter for all points in a grid
Vector cross product magnitude
Take the derivative with respect to the domain's X coordinate
Take the derivative with respect to the domain's Y coordinate
Total deformation
Horizontal Divergence
North relative direction of a vector
Grid relative direction of a vector
Vector dot product
Jacobian Determinant
Latitudue all points in a grid
Laplacian operator
Layer Average of a multi layer grid
Layer Difference
Magnitude of a vector
Mixing Ratio from Temperature, RH (requires pressure domain)
Create Relative Humidity from Temperature, mixing ratio (requires pressure
domain)
Potetial Vorticity (usually from theta and wind)
Average over whole grid
Average over grid subset
Horizontal Flux Divergence
Shear Deformation
Smooth a scalar grid using a 5-point smoother
Smooth a scalar grid using a 9-point smoother
Stretching Deformation
Potential Temperature from Temperature (requires pressure domain)
Equivalent Potential Temperature from Temperature and Relative
North relative u component
Grid relative u component
North relative v component
Relative Vorticity
Grid relative v component
Average along a grid row
Sum along a grid row
Average along a grid column
Sum along a grid column
Average across the levels of a grid at all points
Sum across the levels of a grid at all points
 Magnitude of the vertical wind shear in a layer
 Ageostrophic wind
Partial x derivative of a vector
Partial x derivative of a vector
 Frontogenesis function from theta and the wind
 geostrophic wind from height
Gradient of a scalar
Inertial advective wind
Q-vector at a level ( K / m / s )
Q-vector ( K / m / s )
Smooth a scalar grid using a 5-point smoother (see sm5s)
Smooth a scalar grid using a 9-point smoother (see sm9s)
Thermal wind
add the components of 2 vectors
Make a true nort vector from two components
Make a vector from two components
calculate the vector layer average
calculate the vector layer difference
Multiply the components of 2 vectors
Divide the components of 2 vectors
subtract the components of 2 vectors