I suppose environmental technologist might be the most succinct description of my career.
In reverse chronology: I manage a tech-heavy green infrastructure research firm, Green Roof Diagnostics where we focus on improving the science of green roofs and other green infrastructure.
Before that I was in green roof construction, working with the amazingly talented Ben Eiben, whom I helped by researching his ideas and developing those into green roof products that altered the trajectory of green roof stormwater management.
Before that I practiced landscape architecture, including a decade restoring historic Olmsted parks, and multiple US Embassy projects that took me to around the world.
Before that, while studying landscape architecture, I obtained two minors: pottery and computer science. I never did anything with the pottery, but the CS background is now central to my work.
And before that, I was the weird kid who preferred plants to people and preferred rainstorms to sports. I loved when a big rain would flood the field behind our house, cause the ditches and creeks to rise, and create massive powerful flows through culverts. I would go wade in that until it subsided.
I am so fortunate to lead the amazingly talented and dedicated team of !! Green Roof Diagnostics, !! including Dr. Anna Zakrisson andDr. Scott Jeffers, and my right-hand-man Derek Hidalgo. We are researchers, hydrologists, biologists, modelers, technicians, and technologists who are working to quantify and improve the benefits of green infrastructure.
This work is by far the most challenging, most rewarding, and most fun I have ever had. And I could not ask to work with better people. Click the icon at left to learn more about Green Roof Diagnostics.
Short video by GRD's lab technican, Derek Hidalgo, about his passion for this work
In this video, produced by Purple-Roof, I discuss a bit of the environmental challenges that GRD is trying to face.
My first passion is for the environment. This passion has grown and changed from when I was a little boy in the rural south chopping brush, camping in the woods, transplanting shrubs, rooting cuttings, wading into storm drain culverts during storms, and generally just not spending much time indoors.
That early passion was carefree. By college in the 1990s I became very aware of our environmental crises, and committed my career to help combat that: first via responsible landscape architecture, and later via green roofs. Neither of those saves the planet. But we need to do the big things, small things, and everything inbetween.
My current passion is less optimistic than decades past. I am still optimistic, but no longer believe preventing climate change is the main goal. The main goal is adapting to the damage we have already done (and stop making it worse!). My work at Green Roof Diagnostics is focusing on quantifying precise benefits of green infrastructure, which hotter and wetter or drier cities will need. My passion project, Urban Meadow, is along the same lines.
Urbanmeadow.org is a passion project for me. Urban meadows are low-maintenance, low-impact, high-habitat-value plant communities. My house is behind one. You can have one. Your neighborhood park or school can have one. Urban meadows are great ways to make a meaningful environmental difference, but urban meadows are misunderstood. Urbanmeadow.org seeks to demystify and democratize this landscape type.
I am so fortunate to work with a wonderful group of people on Urbanmeadow.org! Check out the Urban Meadow Consultants page to see a list of some amazingly talented people who are experts at various aspects of urban meadows. (And contact one if you need help!) Some other amazing people are helping me with the Urban Meadow Blog.
Technology is amazing. The first time I ever stayed up - completely unaware of the time - working until 3 am was while working on a Pascal project in college. I ended up with a minor in computer science, but just as a hobby. Even back in the early 1990s I had a strong affinity toward programming because I felt like it was a logical extension of our own intelligence.
As I entered the non-computer-science workforce, I sort of forced programming into my landscape architectural role. I built a mini-CRM to track projects, a cost estimation tool, tools to help with grading, and was the cheerleader for AutoCad standards and templates. All that was logical to me so that creative people could be creative, and so that machines could do the repetitive and precise. I was the oddball.
Finally I am in a firm where technology is central. I have never wanted to be a specialist at technology. I want to be a specialist at leveraging technology for environmental benefit.
Development and testing of the Purple-Roof Concept was Green Roof Diagnostic’s first big project. This is a concept for improving the stormwater performance of green roofs by adding friction. The friction slows water to create stormwater detention.
When we first started testing this in 2017, we expected some modest performance that might slightly reduce the size of a stormwater tank. As we proceeded, ideas flowed, and performance was different from expectations... it was far better! After over 1,000 tests and the eyes of a handful of PhD hydrologists, we were able to get the new technology into EPA SWMM modeling.
This technology offers great promise to reduce localized flooding and combined sewer overflows in cities. I am so pleased to have been a part of this!
This video explains the Purple-Roof Concept. Enjoy!
The Purple-Roof Concept was invented by Oscar Warmerdam with a healthy dose of inspiration from Joshua Robinson. Oscar is a true visionary who thinks on a grand scale about the environment and the green infrastructure industry. Oscar also founded Green Roof Diagnostics, then handed it over to me to run it as an independent, unbiased research institute. To paraphrase Sting "if you love something, set it free", and that's just what Oscar did by envisioning GRD, and then letting it set its own course. I'm so lucky to have that trust, and to work with both teams.
My work at Green Roof Diagnostics involves a lot of IoT (internet of things) environmental sensors. My very first task at GRD was wiring and programming the lab and outdoor platforms. The real fun was building StormWatch, GRD’s internal monitoring software.
StormWatch collects the data, handles data quality control, pre-analyzes the data, manages all user custom input (such as which profiles are being tested at what storm intensity). More recently StormWatch is allowing us to remotely control the lab, and it is semi-automatically parameterizing data for use in modeling. All that from a bunch of sensors and wires. Nerds have all the fun
The photo above shows the interior of the rain simulator at Green Roof Diagnostic's Virginia laboratory. Although it might look simple, it is not. The laboratory produces synthetic rainfall from 12mm to 150mm per hour (1/2-inch to 6-inches / hour) at a range of slopes, and performs a full continuous water balance by weighing every drop of water.
After 2 years of manual operation, in 2020 I was finally able to set up remote control for most of the lab, and I am currently designing smart algorithms to allow the lab to operate multiple tests semi-automatically.
Evapotranspiration is so important to green infrastructure, but poorly understood. A fundamental difference between green infrastructure and gray infrastructure, is that green infrastructure provides retention (prevents runoff). How? Evapotranspiration (ET).
Despite ET's importance, it remains misunderstood. Modeling is critical to understanding and using ET data.
The first hydrologic modeler I built was this relatively simple one. This modeler uses annual weather data at a daily timestep to estimate evapotransipiration if different green roof systems.
This was the first time I ever wrote code to perform equations from scientific publications. Also the first time I had worked with the daunting Penman-Monteith method. I also found out how messy weather data is, and built a stochastic weather generator to convert messy hourly or daily weather and annual stats into a clean weather data set that conforms to the stats.
We are validating this model via a multi-year platform monitoring program.
The very short video above is a teaser for the retention modeler I built. Click the YouTube icon (above left) to go to Purple-Roof's channel, where you can find a more in-depth video about this. Of course, you can use the modeler at this link.
I often put chunks of my work into libraries so that I can use it in multiple applications.
When I first started at GRD, I decided Node.js would be our primary language... cue the criticsm, but I can defend it... and I discovered some unmet needs.
One need was for a date-time library. Yes, there are many already. I like none of them. All the IoT sensor data uses timestamps for everything, and I needed something really easy and completely reliable. So I built it.
Then I discovered that I couldn't find a library with all the unit conversions I need. I need some doozies, like gallons per minute per foot to liters per second per hectare. At this point, conjunction-junction was created: a library of pure Javascript helper functions tailored to scientific work.
My libraries include Quadratics (quadratic equation functions), Conjunction-Junction (a large library of date-time, conversion, SQL, and other functions), Browser Helpers, Profile Properties (simple green roof profile calcs), Log123 (because logger is no longer maintained), The Superior Snippet (structured data API converter), Something Rather Iconic (the best way I found to work with Font Awesome and Next.js), Pretty Colors, React Chart.js Preprocessor, and its helper library Graphing Helpers, (sorry, have not had time to document them all... will accept open-source help!)
Visualization is so important for science. You can probably tell from much of my site so far that a lot of what I do involves numbers, i.e. a lot of what I do is really hard to see and communicate. That is one reason graphing is so important.
But far better than graphs are visual representations of the real world, and that is why I absolutely fell in love with SVGs. SVG is part code / part image, so it is easily manipulated via numbers.The drawing you see above left is an example of green roof construction details at purple-roof.com which is an activated SVG connected to a database of each layer within the profile. Think of it as GIS (geographic information systems) but for green roofs.
The most exciting part of my work is modeling! Though I am not a hydrologist, I am the interface between hydrologists, research, and programming. I'm Lucky to have some great mentors, like Charlie Miller, and work with one of the world's best green roof modelers, Dr. Scott Jeffers.
The graph above shows calibrating a SWMM model to a series of nine (9) consecutive tests performed in the rain simulator. The X axis is time, the Y axis is instantaneous volume. Blue is rainfall, and the 2 red lines are actual and modeled runoff. Notice how close the red lines are together! Actual modeling is performed by Scott Jeffers, and research is performed in GRD's lab, and I write the software the collect and analyze the data, and to run the model in a web app that is accessible to architects, landscape architects, and engineers.
Sorry, I do not have a video that shows hydrologic modeling, but I can show you this video that shows the end results: a green roof that can replace a stormwater tank.
Graphs are my most important tool so in 2018 I focused very acutely on building a graphing tool that is optimized for my needs. I started with Chart.js, since it does what I need... but it is so hard to use! Specifically Chart.js requires the developer to create a fairly massive configuration, and in a deeply nested format. Further, it does not "fail nicely" if you made a mistake in the config.
At Green Roof Diagnostics, we are always expanding the structure of our rapidly growing data set, and we have diverse data presentation needs. So I need something that will be infinitely flexible.
To solve this I created react-chart-js-preprocessor. This preprocessor requires the data as array of objects, and each property of each object converted into axes according to unit, selectors, etc. To maintain this, I keep a database of all properties, and assign them units, definitions, and labels (which is necessary anyway for scientific documentation and collaboration).
React-chart-js-preprocessor + conjunction-junction have filled the gaps I needed to fill to work with scientific data in Javascript.
I love food. (And I look like I love food!) During the pandemic I started making some simple videos about everyday cuisine. I think it is often hard to cook, because of lack of ideas, lack of know-how, or lack of energy. My specialty is to use whatever is fresh and make it into something delicious with minimal effort. I don’t know if that cuisine has a name.
If you like my videos, please subscribe. And let me know if you have any requests.
One of our favorite veggies is garlic scapes, the crack of vegetables. Here's the #1 way to cook garlic scapes.
We don't each much meat, but when we do, it looks like I'll burn the kitchen down! Enjoy!
There is no story of me that does not involve my husband, Greg. Greg and I met about 2 years after I moved to DC, when we were both only a few years out of college, and we have spent our entire adult lives together.
Greg is my best friend, and probably the only person on the planet who would put up with my nonsense.
In summer 2020 I had the privilege to be on Jimmy Alexander's podcast Out With Jimmy where we talk about my coming out story, and finding love - and learning to love myself - as a gay man. Check out the full episode here!