Inspiration

We were passionate about creating large-scale impact for sustainability. We observed that organizations failed to optimize their limited funds since climate adaption is uncertain. Climate adaptation is full of hard decisions like where risk is growing, which communities are most exposed, and how limited resources should be allocated. We saw this is an increasingly proliferating issue, that was worth solving.

Besides, being passionate about solving the crucial issue of climate change, we were also curious of using embedding models for videos, not just text. A lot of climate and simulation work ends up in visual outputs that are hard to search through. That pushed us to build a project where generated simulation videos are part of the intelligence layer. Ultimately, we aimed to reach a layman audience of non-experts, which is exactly what SenTree's decision-support experience and user-focused design allowed us to do.

What it does

SenTree is an end-to-end climate risk intelligence system designed to drive better sustainability investing decisions. It tells environmental and government organizations where to invest and how much it is worth. It has multiple functions:

  • It integrates research papers to detect tipping points - the ones that are the most vulnerable. These are normalized per Koppen-Geiger climate class so a desert node and a rainforest node aren't penalized on the same raw scale.
  • It calculates Resilience ROI with uncertainty. Returns are discounted over a 10-year horizon and adjusted for precipitation ensemble uncertainty
  • It makes simulations searchable in plain English. Outputs are rendered as MP4 heatmaps and embedded into a 768-dimensional vector space using Gemini 1.5 Pro native video embeddings
  • It propagates risk through a climate graph neural network. Grid cells become graph nodes connected by geographic proximity.
  • Implements 26 climate interventions and predicts exactly how each one changes the risk map. But has integrated logic, so it won't recommend a mangrove project in a desert. Every intervention is filtered by the local climate classification, so you only see options that are physically viable for that location.

How we built it

It ingests real temperature and precipitation climate data from ISIMIP3b, stimulated on GDFL-ESM4 and extracted temperature and precipitation features from 2015 - 2100.

Then, Kopper-Geiger climate classification is computer per grid cell and along with other temporal, climatical, and physical features is embedded as a vector inside the Graph Neural Network. Simulation outputs are rendered as MP4s via matplotlib and ffmpeg, chunked by SentrySearch, and indexed into ChromaDB. The full dashboard is built in Streamlit with sidebar navigation, live ROI recomputation, pydeck interactive maps, and a frame-by-frame GNN training playback.

26 climate interventions are implemented, and using Koppen-Geiger classifications to filter, we build a recommendation system that calculates Investor Scores based on ROI resilience and Loss Avoided for interventions.

Challenges we ran into

Early on we ran into issues into setting up the correct project environment. The system had multiple learning libraries, visualization tools, frontend tooling and video processing frameworks. So most of our initial work went into installing the right dependencies so that everything could work together perfectly.

We had issues with calculating risks; initially, the tail risk malfunctioned and created strong variations over time, which was unrealistic. There were multiple issues with RCAC cluster and GPU assignment, since none of knew slurm too well. Automation made this all easier once we got the hang of it though.

We couldn't get out of the swamp that was poor time management, git merge conflicts, and dumb AI models and/or their harnesses constantly sabotaging us.

Another challenge was performance. Streamlit worked well to build the dashboard, but the interactive GNN playback component was too slow when rendered frame by frame in the app.

Furthermore, the video rendering pipeline took a long time since the pipeline effectively ran on the CPU and was not able to benefit from the GPU acceleration capabilities (which only the GNN could use) due to library limitations. For eg. NumPy is CPU only.

Accomplishments that we're proud of

What we learned

What's next for SenTree

Built With

Share this project:

Updates

posted an update

Accomplishments that we're proud of

We were able to embed a React app into our Streamlit dashboard to visualise the training process and it worked wonderfully. It blended perfectly with the dashboard and caused no issues. We were also proud of the fact that we were able to use the GPU compute capabilities of RCAC for training the GNN which was superbly fast and allowed us to improve the model and readily test it rather than being bottlenecked by limited compute power in a 36 hour hackathon.

One of the most incredible achievements was to classify all the regions with Koppen-Geiger classifications. It allowed us to see climate shift until 2100, and that was extremely insightful and informed us with what is wrong. The next powerful implementation was to add the Koppen-Geiger classification to the GNN. We wanted to asses and truly come up reasonable estimates for the model, and upon integrating Koppen-Geiger into the GNN, we found the model optimization was significantly better.

Lastly, we were proud to have semantic search embedded successfully to find simulations.

We built a user-centric webpage that allows a non-expert to model climate-risks, simulate interventions and analyse visual evidence to take an informed decision for a better tomorrow.

What we learned

One of the takeaways was learning how to use Gemini embeddings to search through generated video simulations. This was one of the most important steps towards making SenTree more accessible to a lay audience. Instead of forcing users to manually browse many generated outputs, we were able to make the results easier to query and connect the modelling pipeline to a more intuitive discovery experience.

However, the most important key takeaway was to look at climate shift in real time and find out solutions that worked the best for the regions. We realized, although, climate change is an increasingly crucial problem to solve, if we widen our solution implementations to include predicted weather forecasting, risks, and better interventions, we can make a significant impact.

We also learnt how to adjust and tune weights using Koppen Geiger in a GNN to improve performance. Working through the training behaviour and carefully looking at the loss curves gave us a better understanding of what choices we can make that would positively affect risk propagation, prediction quality, and overall model usefulness.

What's next for SenTree

The next steps for SenTree include implementing financial research models and combine stocks data, to not just invest in regions and interventions, but also companies. This widens our audience from just big organizations to empathetic environment-conscious individuals.

Moreover, we hopefully, would like to integrate this software with a real organization and quantify their impact from using decisions from this app, and integrate more useful and applicable data to the app.

Finally, out of curiosity, we want to explore more about climate shifts and what are the prominent features causing these shifts.

Log in or sign up for Devpost to join the conversation.