Code Monkey home page Code Monkey logo

conda-recipes-odm2's Introduction

ODM2

The next version of the Observations Data Model.

For more information about the ODM2 development project, visit the wiki.

Have a look at the ODM2 paper in Environmental Modelling & Software. It's open access!

Horsburgh, J. S., Aufdenkampe, A. K., Mayorga, E., Lehnert, K. A., Hsu, L., Song, L., Spackman Jones, A., Damiano, S. G., Tarboton, D. G., Valentine, D., Zaslavsky, I., Whitenack, T. (2016). Observations Data Model 2: A community information model for spatially discrete Earth observations, Environmental Modelling & Software, 79, 55-74, http://dx.doi.org/10.1016/j.envsoft.2016.01.010

If you are interested in learning more about how ODM2 supports different use cases, have a look at our recent paper in the Data Science Journal.

Hsu, L., Mayorga, E., Horsburgh, J. S., Carter, M. R., Lehnert, K. A., Brantley, S. L. (2017), Enhancing Interoperability and Capabilities of Earth Science Data using the Observations Data Model 2 (ODM2), Data Science Journal, 16(4), 1-16, http://dx.doi.org/10.5334/dsj-2017-004.

Getting Started with ODM2

SQL scripts for generating blank ODM2 databases can be found at the following locations:

View Documentation of ODM2 Concepts

For more information on ODM2 concepts, examples, best practices, the ODM2 software ecosystem, etc., visit the Documentation page on the wiki.

View Diagrams and Documentation of the ODM2 Schema

Schema diagrams for the current version of the ODM2 schema are at:

Data Use Cases

The following data use cases are available. We have focused on designing ODM2 to support these data use cases. Available code and documentation show how these data use cases were mapped to the ODM2.

  • Little Bear River - Hydrologic time series and water quality samples from an ODM 1.1.1 database. Implements an ODM2 database in Microsoft SQL Server.
  • PRISM-XAN - Water quality depth profiles and samples from Puget Sound. Implements an ODM2 database in PostgreSQL.

Our Goal with ODM2

We are working to develop a community information model to extend interoperability of spatially discrete, feature based earth observations derived from sensors and samples and improve the capture, sharing, and archival of these data. This information model, called ODM2, is being designed from a general perspective, with extensibility for achieving interoperability across multiple disciplines and systems that support publication of earth observations.

ODM2 Schematic

Credits

This work was supported by National Science Foundation Grant EAR-1224638. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

ODM2 draws heavily form our prior work with the CUAHSI Hydrologic information system and ODM 1.1.1 (Horsburgh et al., 2008; Horsburgh and Tarboton, 2008), our experiences workin on the Critical Zone Observatory Integrated Data Management System (CZOData), and our experiences with the EarthChem systems (e.g., Lehnert et al., 2007; Lehnert et al., 2009). It also extensively uses concepts from the Open Geospatial Consortium's Observations & Measurements standard (Cox, 2007a; Cox, 2007b; Cox, 2011a; Cox, 2011b; ISO, 2011).

References

See a full list of ODM2 related references

Cox, S.J.D. (2007a). Observations and Measurements - Part 1 - Observation schema, OGC Implementation Specification, OGC 07-022r1. 73 + xi. http://portal.opengeospatial.org/files/22466.

Cox, S.J.D. (2007b). Observations and Measurements – Part 2 - Sampling Features, OGC Implementation Specification, OGC 07-002r3. 36 + ix. http://portal.opengeospatial.org/files/22467.

Cox, S.J.D. (2011a). Geographic Information - Observations and Measurements, OGC Abstract Specification Topic 20 (same as ISO 19156:2011), OGC 10-004r3. 54. http://dx.doi.org/10.13140/2.1.1142.3042.

Cox, S.J.D. (2011b). Observations and Measurements - XML Implementation, OGC Implementation Standard, OGC 10-025r1. 66 + x. http://portal.opengeospatial.org/files/41510 (accessed September 16, 2014).

Horsburgh, J.S., D.G. Tarboton, D.R. Maidment, and I. Zaslavsky (2008). A relational model for environmental and water resources data, Water Resources Research, 44, W05406, http://dx.doi.org/10.1029/2007WR006392.

Horsburgh, J.S., D.G. Tarboton (2008). CUAHSI Community Observations Data Model (ODM) Version 1.1.1 Design Specifications, CUAHSI Open Source Software Tools, http://www.codeplex.com/Download?ProjectName=HydroServer&DownloadId=349176.

ISO 19156:2011 - Geographic information -- Observations and Measurements, International Standard (2011), International Organization for Standardization, Geneva. http://dx.doi.org/10.13140/2.1.1142.3042.

Lehnert, K.A., Walker, D., Vinay, S., Djapic, B., Ash, J., Falk, B. (2007). Community-Based Development of Standards for Geochemical and Geochronological Data, Eos Trans. AGU, 88(52), Fall Meet. Suppl., Abstract IN52A-09.

Lehnert, K.A., Walker, D., Block, K.A., Ash, J.M., Chan, C. (2009). EarthChem: Next developments to meet new demands, American Geophysical Union, Fall Meeting 2009, Abstract #V12C-01.

conda-recipes-odm2's People

Contributors

emiliom avatar ocefpaf avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

ocefpaf

conda-recipes-odm2's Issues

Remove packages with old names: geolachemy & odm2pythonapi

Now that geoalchemy-odm2 and odm2api packages have been renamed on the anaconda channel, please remove the versions with the old names: geolachemy & odm2pythonapi.

And dateutils, once we get definitive confirmation that it's not used.

Refresh TOKENs

Re-encrypt and point them to the new repository.

  • AppVeyor
  • CircleCI
  • Travis-CI

ODM2PythonAPI status

FYI, about the ODM2PythonAPI package:

  • We haven't created (pre)releases yet. We had a discussion about it on Friday, with pro and con opinions. Hopefully this coming week we'll create a first pre-release, taken from master.
  • Another group in our distributed team has started exploring creating a pypi package. Currently in testing at https://testpypi.python.org/pypi/odm2api. I'm not sure yet if the conda recipe should shoot for using that vs a tagged pre-release on the github repo; I think I prefer the latter, for now.
  • There's been a lot of overhauls and cleanups in the last two month and a half, currently all in branches. No timeline yet for merging into master.

notes on updating recipes/packages, for future docs

We should turn this into documentation later on. For now, just a collection of notes about how conda packages are updated.

Requesting an update:

Create an issue in this repo. Initially @ocefpaf will handle updates. Later on, hopefully others (myself included) will be able to do the updates, too.

What happens next?

@ocefpaf will update the recipe meta.yaml file. He'll I send a PR from a fork, wait for a "green" build and merge. The upload to the channel is automatic after the merge.

Add ODM2/YODA-Tools

From @valentinedwv over at ODM2PythonAPI/issue 49:

For YodaTools, can you add this package to conda: valideer

Dave, is YODA-Tools in good shape for preparing a conda package? It doesn't look that way to me. Or are you just asking to have valideer, not YODA-Tools, added to the ODM2 anaconda channel, for now, b/c it would help you with YODA-Tools development? I assume it's the latter, which seems much easier.

conda packages, Desktop apps, simple installs, and ODM2StreamingDataLoader

@sreeder asked me this question after last Friday's conda discussions with @ocefpaf:

We have been discussing how we would like to package our ODM2StreamingDataLoader project, and the idea of using a conda package has come up. I was under the impression that conda packaging is used for python libraries that you would be accessing from code. I am curious if using conda packaging is a viable approach for a Desktop application with a GUI. Would there be a simple way for a nearly computer illiterate user to download, “install”, and run a project that was packaged with conda?

I thought about it a bit, but don't have an answer. I've never dealt with this situation. So I'm posting it here to see what @ocefpaf and others think.

My hunch is that conda could help with the development process. Then you could use one of the Python tools to create self-contained executables (probably OS-specific) to create easy-to-install distributions (eg, this and that?). But this is out of my depth.

Add odm2djangoadmin

https://github.com/miguelcleon/odm2djangoadmin

@miguelcleon is the developer of this terrific ODM2-based tool (a web-based UI to an ODM2 PostgreSQL database, using Django). @ocefpaf (Filipe), three of us ODM2 leads had a great conference call with Miguel earlier today, where he demo'd odm2djangoadmin. I offered for you and I (mostly you, of course) to work with him to help him package odm2djangoadmin and then create a conda package on the odm2 anaconda channel. I said we'd start connecting early next week, and made it clear that we'll be asking him to do some work in tweaking his repo to make it more readily installable. He's on board.

As additional background, a couple of weeks ago Miguel shared this (edited from an email of his):

graphs for soils data I’ve developed
http://lczodata.com/ODM2/ODM2CZOData/chartVariableAndFeature.html

We have about 2.4 million data values now in our ODM2 database and over 11,000 soil measurements.

EDIT: Here's the presentation Miguel gave us today

Example CI build and test scripts for a project

Can we do a proto travis scripts to pull the conda distribution so that we could use them for testing and development... aka dogfood.

We can. I can send a PR your way or point to an example.

Then maybe we can incorporate this into other travis scripts.

Which would be the first repository to use it?

@valentinedwv, can you open a separate issue for this? I'd like to keep this issue focused on just documentation on how the process works. If what you and @ocefpaf end up doing is relevant to how the conda recipes & packages are created and updated, then it'll be great to have notes from that process added here. Thanks.

Move to conda-forge and deprecate ODM2 conda channel

All the work has pretty much already happened (thanks @ocefpaf!!); I'm just creating this issue as a reference point, and also to help track tests that confirm that everything is working fine off conda-forge.

PR's on the ODM2 end of things that addressed this transition (and are already merged):

Plus a bunch of PR's over at conda-forge.

The ODM2 conda channel is at https://anaconda.org/odm2/

Adding recipes

@emiliom I am creating a list of the recipes here. Please edit the list and move the recipes up/down according to your priorities.

First priority (order reflects priority, top to bottom)

Others (to be prioritized later)

  • ODM2WebSDL
  • ODM2
  • ODM2StreamingDataLoader
  • ODMToolsPython
  • ODM2ControlledVocabularies
  • YODA-File
  • YODA-Tools

Source: https://github.com/ODM2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.