Wild Utah Project - RSRA

Introduction

Wild Utah Project (WUP), along with other conservationists and scientists, has been developing the Rapid-Stream Riparian Assessment, which uses scientific indicators to determine stream health.  The goal of the RSRA program is to identify priorities for restoration and protection, encourage better management practices, and identify targeted species for reintroduction.  WUP approached DharmaTech to "build an RSRA database" and make it accessible for the world to use.  We decided to leverage WUP's existing Drupal content management system (CMS) and extend it to make their vision a reality.  We built the custom web-based database in less than 50 hours, at a fraction of the market cost.  It was completed ahead of schedule and far exceeded their initial requirements.

Background

Stream-riparian zones are some of the most productive and important natural resources found on public and private lands.  Because of both the ecological importance of riparian areas and their heavy utilization by humans, there is a need for assessment methods that can be used to objectively evaluate the existing conditions of the stream-riparian ecosystem.  RSRA involves a quantitative evaluation of between two to seven indicator variables in five different ecological categories rated on a scale that ranges from "1" - representing highly impacted and non-functional conditions, to "5" - representing a healthy and completely functional system.

Gathering Requirements

We use the Agile process internally for our projects but have found it difficult to expose this process to our clients.  The Agile process is foreign to most of the groups we work with, and it requires a great deal of trust from the client.  The process involves week-long "sprints" on a series of tasks/stories that have been prioritized by the client.  The client tells us what is important and we help them organize these requirements into something we can build and deliver within a week. 

We had worked with WUP on several projects in the past and had developed a high level of trust with them.  We described the Agile process to them, and they decided it would be a great way for them to keep tabs on the development process.  Every week, they delivered a series of notecards, each with an id, title, story, and priority.  Each notecard also had a small test on the back to prove the story.  During the meeting, which never lasted more than 45 minutes, we discussed the stories and helped them prioritize based on how much effort we estimated.  This was to ensure that at the end of the one-week spring, they would have a working product that they could see, touch, taste and smell.  Basically, our process for building WUP's Ferrari was to get the engine humming first, then add the heated seats later.

The Product

The broad goals of the RSRA database initially looked like this:

  • Central repository of RSRA surveys (electronic with attached scan of hard copy)
  • Accessible to everyone
  • Searchable

Using Drupal, CCK, and taxonomy, we quickly exceeded these goals and spent the remainder of the project time focusing on the heated seats.  This is a perfect example of why DharmaTech loves Drupal: it provides a solid, secure framework that allows developers to quickly build custom tools.  Custom work we did for this project includes:

  • Dynamically calculating averages for each section and an overall score (jquery).
  • Plotting surveys on Google Maps by converting UTM to Lat/Lon. (gmap, jquery).
  • Custom template for the form to mimic the hard copy that is used in the field.
  • Custom teaser as a popup on Google Maps with color indicators representing the score/range.
  • Custom images used for markers that indicate overall score for that survey.

The first step was to build a content type called "RSRA score sheet."  The workflow of submitting an RSRA score sheet begins by entering Reach, Stream, and Watershed.  These three fields are vocabulary that allows free-tagging.  All RSRA score sheets also use UTM to specify the location.  Unfortunately, Google Maps doesn't know anything about UTM so it requires a conversion to latitude/longitude.  This happens on the fly using the JavaScript library for Geographic/UTM Coordinate Converter and populates the location field so the node is mapped properly with the gmap module.

There are 5 scoring sections (Water Quality, Hydrogeomorphology, Fish/Aquatic Habitat, Riparian Vegetation, and Terrestrial Wildlife) each with indicator scores and an average score.  Additionally, the average values for each of these sections is calculated for an overall score on the functionality of the stream.  A few lines of jQuery handles calculating the averages and displaying the mean score(s).  The look and feel of the score sheet mimics that of the dead tree version and is designed for fast, easy entry since most score sheets will be filled out after the stream survey has been completed.

There are two ways to find the data once it has been entered into Drupal, map view and search view. Using the map view, it's easy to see at a glance streams that have a low (red)/medium (yellow)/high (green) rating and what that rating is:

Clicking on a marker displays a popup (teaser view) of the reach, stream, watershed, ratings for each of the 5 sections and the overall rating.

Since taxonomy is used for the reach, stream and watershed, clicking any of those will show you all RSRA score sheets that have been submitted for that term.  In addition to viewing the score sheet, any worksheets or photos that have been attached can be viewed, a zoomed map of the location, and the ability to export all score sheet values as CSV (thank you views bonus pack).  Searching can be done using exposed filters (views) by reach, stream, watershed, and more direct queries like where water quality is less than 3 and overall score greater than 4:

Once again, color coding is used to signify value.  Red is bad, green is good.  Despite an overall score being high (green) there may be problem areas such as water quality 1.5 (red):


Conclusion

The project was completed from start to finish in less than 50 hours.  It included an upgrade to Drupal 6, planning, training, sprint meetings, theming, and RSRA custom code.  This timing also coincided with the 10th Biennial Conference for Research on the Colorado Plateau, a conference put on every other year by the USGS - Biological Resources Division in Flagstaff, AZ.  This year was an especially important year for Wild Utah Project to attend because the conference was put on jointly by the Society for Conservation Biology, which resulted in almost double the usual attendance.  Dr. Pete Stacey, Department of Biology, University of New Mexico, presented at the conference on "Development of a Region-wide Database for RSRA Surveys of the Functional Condition of Southwestern Streams and Riparian Areas."

The notable Drupal modules used:

All of the source code for this project is available from our svn repository at: https://svn.dharmatech.org/svn/drupal/6/branches/wildutahproject.org/

developed by us using drupal | designed by pyramid communications | photography by butch adams | all content is licensed under a creative commons license