Skip to content

Commit 84d6552

Browse files
authored
Merge pull request #2 from open-lambda/blog
Blog
2 parents 06c7bb3 + 4437a6a commit 84d6552

46 files changed

Lines changed: 7910 additions & 386 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
-20.6 KB
Binary file not shown.
3.91 KB
Binary file not shown.
3.24 KB
Binary file not shown.
3.27 KB
Binary file not shown.

_build/.doctrees/index.doctree

27 Bytes
Binary file not shown.

_build/html/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: ff326529dec566ff85861a347816d852
3+
config: fe0d8d89ecad092c9e1a52c98b324dc8
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

_build/html/README.html

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,16 @@
5959
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
6060
<script>DOCUMENTATION_OPTIONS.pagename = 'README';</script>
6161
<link rel="index" title="Index" href="genindex.html" />
62-
<link rel="search" title="Search" href="search.html" />
62+
<link rel="search" title="Search" href="search.html" />
6363
<meta name="viewport" content="width=device-width, initial-scale=1"/>
64-
<meta name="docsearch:language" content="en"/>
64+
<meta name="docsearch:language" content="en"/>
65+
<link
66+
rel="alternate"
67+
type="application/atom+xml"
68+
href="blog/atom.xml"
69+
title="OpenLambda Blog"
70+
/>
71+
6572
</head>
6673

6774

@@ -175,8 +182,11 @@
175182
<div class="bd-toc-item navbar-nav active">
176183
<ul class="nav bd-sidenav">
177184
<li class="toctree-l1"><a class="reference internal" href="worker.html">Worker</a></li>
185+
<li class="toctree-l1 has-children"><a class="reference internal" href="blog/index.html">Blog</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="simple">
186+
</ul>
187+
</details></li>
178188
<li class="toctree-l1 has-children"><a class="reference internal" href="applications/index.html">Applications</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
179-
<li class="toctree-l2"><a class="reference internal" href="applications/ag-forecasting-api.html">🌾 Agricultural Forecasting API</a></li>
189+
<li class="toctree-l2"><a class="reference internal" href="applications/ag-forecasting-api.html">Agricultural Forecasting API</a></li>
180190
</ul>
181191
</details></li>
182192
</ul>
@@ -342,8 +352,7 @@ <h2> Contents </h2>
342352

343353
<div id="searchbox"></div>
344354
<article class="bd-article">
345-
346-
<section class="tex2jax_ignore mathjax_ignore" id="openlambda-github-pages-myst-markdown-site">
355+
<section class="tex2jax_ignore mathjax_ignore" id="openlambda-github-pages-myst-markdown-site">
347356
<h1>OpenLambda GitHub Pages — MyST Markdown Site<a class="headerlink" href="#openlambda-github-pages-myst-markdown-site" title="Link to this heading">#</a></h1>
348357
<p>This repo deploys automatically to GitHub Pages using <a class="reference external" href="https://jupyterbook.org">Jupyter Book</a>
349358
with <a class="reference external" href="https://myst-parser.readthedocs.io/">MyST Markdown</a> as the technical documentation of Open Lambda.</p>
@@ -408,6 +417,9 @@ <h2>Local Preview<a class="headerlink" href="#local-preview" title="Link to this
408417
}
409418
</script>
410419
<script>kernelName = 'python3'</script>
420+
<div class="section ablog__blog_comments">
421+
422+
</div>
411423

412424
</article>
413425

Lines changed: 5 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -1,145 +1,11 @@
1-
# 🌾 Agricultural Forecasting API
1+
# Agricultural Forecasting API
22

3-
FastAPI-based service for **crop disease risk forecasting** and **winter rye biomass estimation** using multi-source weather data.
4-
Developed by the University of Wisconsin–Madison Data Science Institute.
3+
FastAPI-based ASGI service for crop disease risk forecasting using multi-source weather data, developed by the University of Wisconsin–Madison Data Science Institute and integrated with Open-Lambda technology.
54

65
---
76

87
## Overview
98

10-
The API provides geospatial agricultural intelligence for Wisconsin, combining weather data with validated agronomic models.
11-
12-
### Key Features
13-
- 🌽 Crop disease risk forecasting (corn & soybean)
14-
- 🌱 Winter rye biomass estimation
15-
- 🌦 Multi-source weather integration (IBM EIS, WiscoNet, NOAA)
16-
- 📍 Coordinate and station-based queries
17-
- 🗺 GeoJSON outputs for GIS applications
18-
- ⚡ Async batch processing for multi-station analysis
19-
20-
---
21-
22-
## System Architecture
23-
24-
The system is structured into four main layers:
25-
26-
- **API Layer (FastAPI)**
27-
Handles incoming requests and routing (`/ibm`, `/wisconet_g`, `/models`)
28-
29-
- **Data Layer**
30-
- IBM EIS: high-resolution global weather API
31-
- WiscoNet: Wisconsin mesonet station network
32-
33-
- **Processing Layer**
34-
Weather normalization, unit conversion, GDD calculation, rolling features
35-
36-
- **Model Layer**
37-
Disease risk models and winter rye biomass model
38-
39-
---
40-
41-
## Core Modules
42-
43-
- Weather ingestion (IBM + WiscoNet)
44-
- Disease risk modeling
45-
- Winter rye biomass estimation
46-
- Async pipeline orchestration
47-
- GeoJSON response formatting
48-
49-
---
50-
51-
## API Endpoints
52-
53-
### IBM Forecasting (Coordinates)
54-
`GET /v2/ag_models_wrappers/ibm`
55-
56-
Returns disease risk + biomass using IBM weather data.
57-
58-
---
59-
60-
### WiscoNet Forecasting (Stations)
61-
`GET /v2/ag_models_wrappers/wisconet_g`
62-
63-
Returns station-based time-series disease risk and biomass.
64-
65-
---
66-
67-
### Model Metadata
68-
`GET /v2/ag_models_wrappers/models`
69-
70-
Returns available disease and biomass models.
71-
72-
---
73-
74-
## Disease Models
75-
76-
- **Tarspot (corn)** – humidity and temperature-based risk
77-
- **Gray Leaf Spot (corn)** – temperature + dew point model
78-
- **Frogeye Leaf Spot (soybean)** – GDD + rainfall model
79-
- **White Mold (soybean)** – precipitation and soil moisture model
80-
81-
---
82-
83-
## Winter Rye Biomass Model
84-
85-
Predicts dry biomass (lb/acre) using:
86-
87-
- Growing Degree Days (0°C base)
88-
- Planting date (day-of-year)
89-
- Fall precipitation
90-
- Logistic growth curve
91-
92-
### Outputs
93-
- Biomass (lb/acre)
94-
- Color class (gray / yellow / green)
95-
- Interpretation message
96-
97-
---
98-
99-
## Data Sources
100-
101-
### IBM Environmental Intelligence Suite (EIS)
102-
- High-resolution global weather data
103-
- Hourly forecasts and historical data
104-
- Requires authentication
105-
106-
### WiscoNet
107-
- Wisconsin mesonet (~100 stations)
108-
- Daily weather observations
109-
- Public API access
110-
111-
---
112-
113-
## Response Format
114-
115-
All outputs are returned as **GeoJSON FeatureCollections**, including:
116-
117-
- Weather variables
118-
- Disease risk scores
119-
- Biomass predictions
120-
- Station metadata
121-
122-
---
123-
124-
## Performance Features
125-
126-
- Async multi-station processing
127-
- Cached weather and station data (6h–7d TTL)
128-
- Parallel risk computation
129-
- Optimized data aggregation pipeline
130-
131-
---
132-
133-
## Setup
134-
135-
```bash
136-
git clone <repo>
137-
cd ag_forecasting_api
138-
139-
python -m venv .venv
140-
source .venv/bin/activate
141-
142-
pip install -r requirements.txt
143-
144-
uvicorn app:app --reload
145-
```
9+
The API provides geospatial agricultural intelligence for Wisconsin, combining weather data with validated crop disease forecasting models.
10+
The tool is now entering its next phase through integration with OpenLambda technology.
11+
For reference, please check the documentation [here](https://github.com/UW-Madison-DSI/ag_forecasting_api.git).

_build/html/_sources/blog/index.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# OpenLambda Blog
2+
3+
News, releases, and technical deep-dives from the OpenLambda project.
4+
5+
```{postlist} 10
6+
:format: "{title} — {author}, {date}"
7+
:date: "%B %d, %Y"
8+
:list-style: circle
9+
:excerpts:
10+
:sort:
11+
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
blogpost: true
3+
date: 2026-05-18
4+
author: open-lambda
5+
category: Releases
6+
tags: announcement, openlambda
7+
language: en
8+
---
9+
10+
# Hello, OpenLambda Blog
11+
12+
Welcome to the new OpenLambda blog. We'll use this space to share release
13+
notes, performance experiments, and design discussions.

0 commit comments

Comments
 (0)