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
π§ͺ 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