Comments (4)
Good questions. In an ideal world sci-wms wouldn't need to identify the model type, only the grid type. Unfortunately it is used on non CF-UGRID compliant ADCIRC and FVCOM models, so a bunch of model specific checks were added in over time.
I usually check for an R grid first (delta x and delta y are constant in the 2D coordinate variables), then a C grid (data variables are dimensioned by (i, j) and have a "coordinates" attribute which references the 2D coordinate variables which are also dimensioned by (i,j), then a U grid (data variables are dimensioned by a single 2D dimension (node, edge, etc.) and have a "coordinates" attribute pointing to the coordinate variables.
This avoids checking for CF specific things like a global attribute "Conventions", but still uses the CF specific "coordinates" attribute heavily.
So to answer your question: there really isn't a great way to identify a model type. There is no widely used convention for identifying a file as "FVCOM 2.4".
from sci-wms.
Does SCIWMS work with files that actually are CF or UGRID compliant?
I'm guessing not, since that would require a CF or UGRID library. I'd love it if we could add UGRID support to Iris and use Iris for reading both CF and UGRID compliant files.
Folks seem to think that Iris is too big and too hard to build. But now that we have Iris as a conda package, it's pretty easy to install: conda install -c rsignell iris
. And the beauty of it is that its got long term support and an established community already using it.
from sci-wms.
Rich, Does CF have the concept of
(see GRIB2 specification section 2.2.2 Product Definition Templates)
- Type of generating process
- Background generating process identifier (defined by originating centre)
- Analysis or forecast generating process identifier
In GRIB2, these sit alongside
- Product Definition Template Number
- Parameter Category
- Parameter number
which I know CF abstracts (so no codes are needed)
One of those (or all of those) could be interpreted as "model", and originating centre/center could represent the organization.
At the moment, we're assuming these are unique (for the time being) to COMT which has high interest in who and what ran the dataset. But if they happen to already be in CF conventions, maybe we can use that.
from sci-wms.
The COMT data should all be UGRID or CF compliant. Thus the only thing you should have to look for is the conventions attribute: Conventions: CF-1.X or UGRID-0.9. If they are not CF or UGRID compliant, we likely can make them so via NcML. This is the point of CF and UGRID -- to get away from model-specific code. But the bigger problem is likely that Sci-WMS doesn't know how to handle CF or UGRID if it finds them.
from sci-wms.
Related Issues (20)
- Add option to list out the time extents rather than show a range (getcaps)
- Request for GLOS NatColor failing
- Support authenticating TDS servers HOT 2
- Problems with Django versions ~ 1.5+ HOT 7
- MODIS Agg GetCaps don't return HOT 1
- Bug on cgrid datasets that have fillvalues or crazy values in the lat/lon coordinates vars
- Add way to see log file in admin
- Push Log scale work arounds upstream to acrosby/sci-wms from wms.maracoos.org
- Move null string fix from maracoos to sci-wms/master
- Fix all the acrosby stuff HOT 2
- GetMetadata not implemented HOT 5
- Allow SciWMS to work with Godiva2 ncWMS client HOT 7
- IndexError HOT 15
- django TemplateSyntaxError with latest version
- Merge date parsing logic in views
- Update legends to label date/time of data being shown
- sciwms + pyugrid HOT 9
- Please bring sci-wms development back to github! HOT 3
- Missing attribute for tests in comt_testbed branch
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sci-wms.