ARCHIVED CONTENT: In December 2020, the CZO program was succeeded by the Critical Zone Collaborative Network (CZ Net) ×

ODM2

Optional use of ODM2 database for local data management

SUMMARY: Observations Data Model Version 2 (ODM2) is a new information model aimed at facilitating greater interoperability across scientific disciplines and domain cyberinfrastructures. The CZOData team specifically designed ODM2 to better integrate diverse types of critical zone data, from hydrological time series to soil geochemistry. At present, ODM2 is serving as a foundation for new cyberinfrastructure at partner data centers (i.e. IEDA & CUAHSI). However, ODM2 and associated software tools can also be used by CZO data managers as an option for local management of data collection, quality assurance and publication workflows for data derived from both their CZO’s sensors and physical specimens.

CZOData Team contact: Jeffery Horsburgh and Anthony Aufdenkampe
Questions?  Email the CZOData Project team

Data Policies & GuidelinesData Sharing Guidelines > ODM2


Benefits and Outcomes

Integrated access to and analysis of data for cross-domain synthesis studies are hindered because common characteristics of observational data, including time, location, provenance, methods, and units are described differently within different information models, including physical implementations (i.e. databases) and exchange schema (i.e. XML standards). The Observations Data Model Version 2 (ODM2) is a new information model for spatially discrete Earth observations aimed at facilitating greater interoperability across scientific disciplines and domain cyberinfrastructures. The CZOData team designed ODM2 by integrating and enhancing concepts from ODM1 (developed as part of the CUAHSI HIS), IEDA PetDB, the Open Geospatial Consortium's (OGC) Observations and Measurements (O&M) standard, and other existing information models. 

ODM2 is already being used in production implementations within the IEDA and EarthChem systems. It is now being used to represent time series and will eventually be used to represent specimen-based datasets within the CUAHSI HydroShare system (http://www.hydroshare.org). The use of ODM2 by these systems standardizes the representation of many different aspects of the metadata describing observations. 

ODM2 and associated software tools can also be used by CZO data managers as an option for local management of data collection, quality assurance and publication workflows for data derived from both their CZO’s sensors and physical specimens. A primary goal of ODM2 was to improve  the ability of scientists to capture metadata describing their observations. While the use of ODM2 and related software tools is entirely optional for CZOs, specific benefits of using ODM2 for operational databases include:

  • The metadata structure of ODM2 is a powerful new way to describe sampling, sensing, and analysis workflows that up to this point have been captured only in field and/or laboratory notebooks that are not accessible to potential data users. 
  • ODM2 provides the ability to capture Actions (e.g., sensor deployments, specimen collection, laboratory analyses) and relationships between Actions, the People that perform them, the Methods and Equipment that are used, and the Results (e.g, observational values) that are generated. 
  • ODM2 separates the metadata description of Results from the actual data values. This enables ODM2 to flexibly support Results of many different types, (e.g., measurement results from specimens, time series results from sensors, etc.).  
  • The emerging software ecosystem to support the functional use cases for ODM2, including support for implementation across multiple desktop and server platforms, will make it usable both within large-scale cyberinfrastructure development efforts as well as in more localized use cases for individual researchers or research groups.
  • Using ODM2 as an operational database will ensure that metadata necessary for creating YODA files is captured along with the data.  YODA is based on the ODM2 information model.
  • Although we have made progress with ODM2 in supporting a suite of new functionality, we are still working to extend it. The extensibility mechanisms we have included and the modular core plus extensions design make this possible. Future extension schemas for ODM2 that we are currently working on include one for storing the metadata, Results, and intermediate data products of model simulations and one for capturing metadata that describe observations made under experimental or treatment conditions (e.g., tracer studies where ambient conditions within an aquatic environment are altered by release of an artificial tracer chemical). These use cases have grown out of related research projects for which ODM2 already meets a high percentage of the project’s information needs, but for which specific extensions are needed to fully support the additional metadata.

 


Instructions 

ODM2 and all related software tools and documentation are available in open source code repositories in GitHub under the ODM2 organization: https://github.com/ODM2. ODM2 documentation can be found at: https://github.com/ODM2/ODM2/wiki. The following provide brief descriptions of specific functionality related to ODM2. Links are provided to documentation and repositories where more information can be obtained.

  • ODM2 Information Model and Relational Database Schemas:  Documentation for the ODM2 information model and scripts for creating ODM2 relational databases within Microsoft SQL Server, MySQL, PostgreSQL, and SQLite are available within the ODM2 repository.
  • ODM2 Controlled Vocabularies: A web-based, community moderation system for the ODM2 controlled vocabularies. The web application is Python and Django-based. It is now being used in production to manage the ODM2 controlled vocabularies.
  • ODM2 Python Application Programming Interface (API): A Python-based application programming interface (API)  for ODM2 databases. This API is cross platform (Windows, Mac, Linux) and cross database (Microsoft SQL Server, MySQL, and PostgreSQL) compatible. It provides functionality for software application developers who are building applications that use ODM2 as a data storage mechanism. It provides convenience functions for managing the retrieval of data from and writing data to an ODM2 database.
  • ODM2 YAML Observation Data Archive & Exchange Format (YODA) and Tools: YODA is a text file-based archival/exchange format for observational data that is based on ODM2. We developed YODA to extend and replace the CZOData Display File format. Repositories for a file-based representation of the ODM2 information model called YAML Observation Data Archive & Exchange (YODA) format designed for archival and/or data transfer over the Internet and tools for working with YODA files.
  • ODM Tools Python: A Python-based desktop application for visualization and scripted quality control of environmental sensor observations data.
  • ODM2 Web Services: REST web services for publishing data stored in an ODM2 database on the Internet.
  • ODM2StreamingDataLoader: A Python-based software application for automating the process of loading streaming environmental sensor data into an ODM2 database instance.

 


Additional information