portfolio

Persimia.com

PROBLEM: Unlike solar arrays, wind turbines are mechanical. And all things mechanical can break and have side effects. They create noise and shadow flicker. Part of blade could break off, and ice can accumulate and dislodge while at full rotational speed. Aerospace scientists from Georgia Tech have studied and published peer-reviewed papers on these topics. But risk-management tools were needed so engineers, elected officials, and policy planners could also understand what could happen and make educated decisions while planning and overseeing site reviews for a wind farm.

Persimia risk management wind tool
Result of a 3D-based blade throw simulation in the Persimia application.

Solution

A 3D desktop application that can define a wind farm and run complex, science-based simulations of what could potentially happen in given scenarios. The simulations, which can take several minutes to complete, are run asynchronously. Technologies: Vue.js, Python, C++, MySQL. 3D rendering uses Cesium, an open platform for geospatial mapping.

Lessons Learned

While we were confident that what we wanted to do was technically possible, we weren’t totally sure of every detail. When we came across issues (e.g. how to render tens of thousands of potential impact points on a 3D map efficiently), sometimes we needed to go to plan B. We also realized that engineers didn’t want to create projects in another tool, so we created an API that can be integrated into tools that they do use.

Bat Fatality Reduction Simulation

PROBLEM: Unfortunately bats are often found dead under wind turbines. Both the wind energy industry and environmentalist alike want to find a way to reduce those fatalities. While a 100% reduction is not realistic, finding a good balance between renewable energy production efficiency and fatality reduction is needed. 

Solution

Working with Persimia LLC and the Electric Power Research Institute (EPRI), we developed a science-based solution that aims to give the windy energy industry the tool it needs to make critical decisions. Engineers can run what-if scenarios implementing both custom and predefined strategies. Technologies: Vue.js, Quasar framework, Feathers.js based Persimia API, MySQL. Python-based simulations are run asynchronously.

Lessons Learned

We learned a lot of lessons while working on our previous Persimia 3D risk management tool. Right from the beginning, we used a service and API first approach. Budgetary constraints limited how much we could initially implement, so we stopped at a beta/minimal viable product (MVP). This allowed us to successfully demonstrate a proof-of-concept while awaiting further funding.

Cornell Nutrient Guidelines API

PROBLEM: Fertilizers (i.e. nutrients) are expensive for farmers. Under-applying them and crops don’t grow as well as they could. Over-applying doesn’t add any additional benefit and is wasting money. Cornell had a legacy application that could produce nutrient guidelines based on soil and plant tissue chemical analyses. But there wasn’t anyone left to support it. And it needed to update the program with latest crop research. At the same time, an external laboratory needed to use that knowledge to generate guidelines too.

Solution

Developed a new API service that both Cornell and the external laboratory could use to generate fertilizer guidelines. There was a line-by-line conversion of legacy code to ensure recommendations were accurately translated to the new API platform. Numerous sample ‘sets’ were input into both systems and results compared, increasing confidence in the new API. Technologies: .Net and C#.

Lessons Learned

There were quite a few challenges. First, source code for the legacy app was lost and had to be reversed engineered. Second, no one really knew how the program worked. After the API was finished, I created documentation for each crop detailing how it calculates nutrient guidelines. A third challenge now is the API, which uses a SOAP-based interface, is now considered a legacy app. While I’m no longer a part of this project anymore, it is currently being updated.