Why CZ Manager was developedΒΆ
CZ Manager is an application for site level data management of environmental observations using Observation Data Model 2 (ODM2). The application was designed for management of observations generated by the Luquillo Critical Zone Observatory (LCZO), an NSF funded Observatory established in 2009, located in northeastern Puerto Rico. The LCZO is one of nine NSF funded critical zone observatories, it features a dynamic tropical rainforest, with a long history of scientific inquiry and natural resource management. The LCZO manages in situ stream, groundwater, atmospheric, and soil sensors at 53 locations throughout the Luquillo Mountains. The LCZO also supports a number of field campaigns where samples of soils, rocks, and water are taken and analyzed in a laboratory. The results of these analyzes inform LCZO researchers on rates of weathering, sources and sinks of carbon, nitrogen and phosphorus, riparian zone dynamics among many other subjects of inquiry.
Managing the diverse range of data, and associated metadata, generated from studies of the LCZO requires a robust information model. To meet this requirement the LCZO adopted Observation data model 2 (ODM2) which serves as the foundation of CZ Manager. ODM2 is designed to manage data generated from discreet earth observations across many disciplines such as those made through the CZO program. Once the LCZO began using ODM2 it became clear, that due to the many interrelated entities in ODM2, an interface was needed to more easily understand the information model. Creating records in an ODM2 database requires associating entities through foreign keys and often those entities themselves are related to additional entities. Keeping track of these relationships, using only a tool like SQL, is very difficult and time consuming. As a result, the LCZO began developing CZ Manager to help manage data in this complex but robust information model.
CZ Manager uses PostgreSQL, the Django web framework, and javascript APIs to create web forms for user friendly representations of ODM2 entities and their relationships. The Django web framework has a python backend for business logic and database interaction with html templates to generate the user interface. These technologies were chosen to be open source and consistent with other software developed as part of the ODM2 software ecosystem https://github.com/ODM2/odm2-software-ecosystem. These forms feature fields using drop down lists, type ahead fields and related entities via inline forms. Many of the entities in ODM2 are meant to be managed via a community driven controlled vocabulary. Such as system has been established here http://vocabulary.odm2.org/. The CZ Manager web forms, with links into the controlled vocabulary system, help facilitate understanding of the terms contained in the controlled vocabulary. Time series and sample based results are mapped via leaflet and can be graphed via highcharts. Time series data from sensors can be loaded via web form initiated Django commands or via the command line. Access to Django and custom CZ Manager commands enable users to manage their ODM2 database and connect it with networked sensors.