Software and Data Tools - earthlab/earth-lab-operations GitHub Wiki

As part of our mission to support open, reproducible research, the Analytics Hub develops and maintains open source software. We also occasionally contribute to other software projects. This page is intended to provide better tracking of software contributions for our group.

Analytics Hub Tools

smapr

R package to automate SMAP data discovery, acquisition, and processing

eddi

R package for the NOAA Evaporative Demand Drought Index

leri

R package for the NOAA Landscape Evaporative Response Index

streamstats

Python package for interfacing with the USGS StreamStats API

cft

R package for subsetting and getting Climate model data from MACAv2Meteorological models (13 models)

qtoolkit

This tool makes it much easier to work with Qualtrics survey data. We dropped support for it.

neonhs

This tool enables extraction of point location information from NEON airborne observing platforms (AOP)

Education Program Tools

earthpy

What it does: earthpy is a tool that we use in most of our lessons on earthdatascience.org. The most used functionality of that package is the data download and the et.io.home method which allows a user to automagically drop data into their home directory. This makes all workflows using our data reproducible. It also links to a suite of data subsets on figshare <Credentials for earth lab figshare should be in Chelsea’s hands. >. It finally has some plotting helpers. A few years back we were about to source out all of our vector data operations to geopandas for long term maintenance (open source win!) given the functionality fit better there. The less we maintain, the better. We built this because the code for doing many of the spatial operations was redundant and complex.

Abc-classroom

What it does: This is the tool that we use to manage teaching using GitHub classroom. It operates at the command line by default. I added some package based functionality so it could be run in a notebook, at the python command line etc. This tool is easily the most complex tool that we maintain now given the API interactions and wrappers around git that require subprocess calls. Background: The scripts that power abc-classroom originally came from Jed Brown in Computer science. So we don’t own the idea. We turned those scripts with help from Karen Cranston (who now has a full time job) into a full package that works at the command line. I had been working on ensuring it works as a package as well (at a python prompt or in a notebook vs only as a command line tool).

Matplotcheck

  • Docs - read the docs [needs hyperlink]

Background: This package was designed building upon the code from plotchecker created by jess hamrick (who also designed and created nbgrader). We worked with her and she is ok that we created it based upon her code. In hind sight it would have been better to take her code base and build directly on top of it because there are now two plot checking tools on pypi.This tool was designed to support autograding / testing plots in our courses and for on your own style assignments. The idea behind it is great. However, it is likely worth talking with Elsa about whether we want to use these tests in the future. In some cases, the tests can cause more problems than efficiency in grading given the many nuances of plot objects and approaches.

Projects we contribute to

Stan

A probabilistic programming language. In the process of modeling wildfires, we developed a Stan case study on sparse conditional autoregressive spatial models

Projects in development