My name is Andrew Brown. I am a soil scientist with an interest in open-source software.
|
|
Most of my software development work centers around interoperability, R-based tools, National Cooperative Soil Survey data sources, and spatial data analysis. I am fortunate to be able to do some of this work as part of my job as a soil scientist.
I maintain a handful of R and Python packages and contribute to several more; some of these are available on CRAN (https://cran.r-project.org/) and the ncss-tech or brownag r-universe repositories.
I also have a blog that I rarely add posts to these days: http://humus.rocks/
ποΈ National Cooperative Soil Survey (NCSS) Data & Databases
| Package | CRAN | Description |
|---|---|---|
| soilDB | Access and query NCSS databases | |
| SoilTaxonomy | Taxonomic dictionaries and formative element parsing | |
| rosettaPTF | Rosetta pedotransfer functions with Python rosetta-soil package in R | |
| InterpretationEngine | NASIS Soil Interpretations in R | |
| jNSMR | Interface to Java Newhall Simulation Model for R | |
| OSDRegistry | Official Series Description registry tools | |
| SoilKnowledgeBase | NCSS knowledge base resources | |
| labtaxa | KSSL Lab Data Mart analysis container | |
| soilDBdata | Data package for soilDB | |
| SSURGOPortalR | Interface to SSURGO Portal tools | |
| SSURGO | Build SSURGO databases with DuckDB and soilDB | |
| SSURGOsnapshots | SSURGO snapshot utilities | |
| hydricsoils | Field indicators of hydric soils | |
| NASIStools | Tools for NASIS | |
| nasis | NASIS data model abstraction layer | |
| cvirrr | CVIR script evaluation outside NASIS | |
| rdshub | Dynamic Soils Hub tools and APIs | |
| KSTL | Keys to Soil Taxonomy API |
π Soil Profile Analysis & Visualization
| Package | CRAN | Description |
|---|---|---|
| SoilProfileGraphs | Calibrated soil pit photos and plots | |
| ggspc | ggplot2 extensions for SoilProfileCollection objects | |
| soilmotif | Analyze, fit, and generalize soil depth functions | |
| SOILmilaR | Apply 'Similar Soils' contrasts |
π Geospatial & Remote Sensing
| Package | CRAN | Description |
|---|---|---|
| whitebox | WhiteboxTools R frontend | |
| rgeedim | Google Earth Engine imagery download | |
| rgeomorphon | Terrain form classification | |
| gpkg | GeoPackage utilities | |
| geodensity | Geodesic kernel density estimation | |
| geocoda | Compositional data analysis for geospatial data | |
| terragee | terra Google Earth Engine wrapper | |
| rsamgeo | Segment geospatial data with Segment Anything Model | |
| gdalcli | R frontend for GDAL CLI | |
| ROGRSQL | DBI Backend for GDAL OGRSQL dialect | |
| rjts | Java Topology Suite (JTS) Interface | |
| rgeowheels | Download Geospatial Python Wheels with R |
πΎ Rangeland & Ecological Sites
| Package | CRAN | Description |
|---|---|---|
| rapr | Rangeland Analysis Platform interface | |
| ESAT | Ecological Site Analytical Tools |
π§ Hydrologic & Watershed Analysis
| Package | CRAN | Description |
|---|---|---|
| huckster | Hydrologic unit boundary tools | |
| acis | Applied Climate Information System interface |
βοΈ Workflow & Pipeline Tools
| Package | CRAN | Description |
|---|---|---|
| tarflowr | High-level orchestration of targets pipelines |
πΎ Database Tools
| Package | CRAN | Description |
|---|---|---|
| rjackcess | R interface to MS Access using Jackcess | |
| LinkedDataTable | Linked data table utilities |
π§ͺ Experimental & Development
| Package | CRAN | Description |
|---|---|---|
| grundo | A Unified Model Interface for Digital Soil Mapping | |
| soil-excursions | Miscellaneous soil analysis tools and experiments | |
| soilvctrs | Geometric and topologic operations on stratified environmental data |
π Python Libraries
| Package | PyPI | Description |
|---|---|---|
| soildb | Python port of soilDB for accessing NCSS databases | |
| soilprofilecollection | Python implementation of SoilProfileCollection | |
| mpspline | Mass-preserving spline functions for soil data |






