In the summer of 2019 I created a little side project Google Earth Engine website (geteach.com/engine). While I have been using it in class for these past six years, my desire was to always take this knowledge and apply it to my main project geteach.com. Finally, with Google Earth Engine doing the heavy data lifting and AI assistants helping me bridge the gap, I have gotten real close to what I want. Now geteach.com has two new layers in the climate mapset (Climate Graphs and Climograph Challenge) and the Climate Regions layer now has more case study locations drawing from this new database. But…how does it all work, and how will I use it in the classroom?


The New Layers

Climate Graphs

In the past, geteach.com had a Climate Regions layer with 11 cities representing 11 simplified climate regions. Clicking on one of those cities would display a climate graph. It was useful, but limited. What I really wanted was for a student to click anywhere on the terrestrial earth and get a climograph. That is what the Climate Graphs layer does…at least between 58 degrees South and 80 degrees North.


Pedagogical Ideas

Climate comparison. One of the simplest and most effective activities is having students pick two locations and compare their climographs side by side. What months are the wettest? When is the temperature range the greatest? Is there a dry season? This builds the habit of reading climate patterns rather than just memorizing labels.

Compare climate graphs with other layers. The real power of this layer comes when students start layering it with other data in the climate mapset. Pull up a climograph for a location, then toggle on Precipitable Water, Land Temperature, Vegetation Index, Sea Surface Temperature, Topography, or the Earth-Sun Relationship layer and ask: why does this climograph look the way it does?


Exploring climate controls. This is where I see the deepest learning happening. Using geteach.com’s grid tool alongside the other layers in the climate mapset, students can investigate the classic climate controls: latitude, continentality, ocean currents, prevailing winds, and topography. For example, students can compare two cities at the same latitude but on opposite sides of a mountain range, or compare a coastal city to an interior one and watch the climograph tell the story of the rain shadow or the maritime effect. The Ocean Currents, Wind Currents, and DEM layers are all sitting right there in the same mapset. That combination makes this kind of investigation intuitive and easy to set up.


Climograph Challenge

The Climograph Challenge takes everything students learn from the Climate Graphs layer and turns it into a game. Think of it as a GeoGuessr type game, but instead of Street View, students are given a climograph. Their job is to figure out where on Earth that climate pattern belongs and place their pin on the map.

Each game runs five rounds. Students analyze the climograph, consider what the temperature curve and precipitation bars are telling them about latitude, seasonality, and moisture, then click the map to place their guess. Scoring is based on two factors: latitude accuracy and true distance. Each factor is worth up to 2,500 points per round, for a maximum of 5,000 points per round and 25,000 points possible overall. After submitting, the actual location is revealed and a line connects their guess to the answer.


Pedagogical Ideas

The game is more fun, and more educational, when students have a strategy. Here is where the other layers in the climate mapset become valuable tools rather than just background maps.

Use Land Temperature and Precipitable Water as reference layers. Before pinning their guess, students can toggle through the monthly Land Temperature layers to find where on Earth surface temperatures match the pattern they see in the temperature curve. They can do the same with the monthly Precipitable Water layers to match the wet and dry season pattern from the precipitation bars. Cycling through January through December on either layer while studying the climograph turns the game into a genuine spatial reasoning exercise.

The ITCZ as a clue. One of the most useful things a student can learn to recognize in a climograph is the signal of the Intertropical Convergence Zone. A location near the equator will often show two precipitation peaks per year. This is because the ITCZ passes overhead twice, moving north toward the summer solstice and south toward the winter solstice. Recognizing that double-peak pattern is a strong signal that the pin belongs somewhere in the tropics, and combined with the Precipitable Water layers, students can begin to narrow down which part of the tropics.

From game to debrief. After each round, the reveal is a teaching moment. Why was the actual location where it was? What does that climograph tell us about that region’s latitude, its proximity to an ocean, or its position relative to a mountain range? The line between guess and answer almost always sparks a geographic conversation worth having.


How Does It All Work?

From Google Earth Engine to geteach.com

The backbone of all three features is a climate database built from Google Earth Engine. Here is how it came together, from satellite data to student interaction.

Harvesting the data in Earth Engine. Using the Earth Engine code editor, I queried the TerraClimate dataset, a global climate record spanning 2004 to 2023. For each of the twelve months, I calculated the average temperature and precipitation across twenty years of data. Because Earth Engine can time out on large exports, I wrote a script that divided the globe into 70 latitude slices and exported each one as a separate CSV file to Google Drive. When the jobs finished, I had 70 files covering the terrestrial earth from 58 degrees South to 80 degrees North at a 0.25 degree resolution, roughly 17 miles between data points at the equator.

Building the database. Two Python scripts handled the next steps. The first concatenated the 70 CSV slices into a single file. The second converted that combined file into a SQLite database. That database is now the engine behind all three climate features on geteach.com: the Climate Graphs layer, the Climograph Challenge, and the expanded case study cities in the Climate Regions layer.

Connecting it to the map. A PHP API sits between the database and the map. When a student clicks a location in the Climate Graphs layer, the map sends the coordinates to the API, which finds the nearest data point in the SQLite database and returns the twelve months of temperature and precipitation values as JSON. The JavaScript then renders those values as a climograph using Google Charts. For the Climograph Challenge, the same API pulls a random record from the database to serve as the mystery location. For the Climate Regions case study cities, I worked with AI to identify the best representative examples for each climate zone, and those cities pull their chart data from the same database.

The role of AI. I have been tinkering with code for about fifteen years, but I am not a true coder. I know what I want to build and I can write something rough, but getting from rough to working used to take a very long time. With AI assistants helping me smooth out the Python scripts, the PHP API, and the JavaScript, what might have taken four months on my own took about two weeks. The process was iterative. I would write a draft, describe what was not working or what I wanted it to do differently, and the AI would help me refine it. Earth Engine gave me the data. AI helped me build the bridge.

These three features grew out of six years of wanting to do more with climate data in the classroom. The data was always there. Getting it into the hands of students in a usable form was the challenge.