Downscale Climate Rainfall Projections by ZIP Code

Downscale Climate Rainfall Projections by ZIP Code

ISEF Category: Earth and Environmental Sciences

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Climate Science  ·  Difficulty: Advanced  ·  Setup: University Lab  ·  Time: Full Year

The Hook

A county map can hide huge rainfall differences inside one ZIP code. One hill, one valley, or one storm track can change the whole story. That matters when towns plan drainage, roads, and flood prep. Your project turns coarse climate models into local predictions people can use.

What Is It?

Climate models like CMIP6 work on large grid boxes. Each box can cover many miles, so the model sees a broad pattern, not a street-level one. Downscaling means taking that coarse output and estimating what it might look like at a finer scale, such as a county or ZIP code. Think of it like turning a blurry photo into a sharper one, but for rainfall.

A conditional GAN, or conditional generative adversarial network, is a machine learning model that learns to create realistic fine-scale maps from coarse inputs. One part, the generator, makes the guess. The other part, the discriminator, checks whether the guess looks real. In this project, you would train the model with historical reanalysis data like ERA5 and observed precipitation data like PRISM, then ask it to map climate projections into local rainfall patterns. Ensemble dropout helps estimate uncertainty by making the model act a little differently many times and comparing the spread of its answers.

Why This Is a Good Topic

This topic is strong because you can test a clear model against real data and measure how well it works. You can compare predicted and observed precipitation, check uncertainty, and see whether the model improves local detail over the coarse climate grid. The project connects to flooding, water supply, agriculture, and city planning. You can also learn useful skills in geospatial data, machine learning, and model evaluation.

Research Questions

  • How does a conditional GAN compare with bilinear interpolation for downscaling monthly precipitation in one county?
  • What is the effect of adding terrain variables, such as elevation and slope, on local precipitation accuracy?
  • Does ensemble dropout produce uncertainty ranges that match observed forecast errors?
  • To what extent does training on ERA5 plus PRISM improve performance over training on ERA5 alone?
  • Which precipitation season, wet or dry, shows the largest downscaling error?
  • How does model performance change when you hold out one ZIP code area during validation?

Basic Materials

  • Laptop or desktop computer with at least 16 GB RAM.
  • Python installed with geospatial and machine learning libraries.
  • Historical ERA5 precipitation data.
  • PRISM precipitation data.
  • CMIP6 precipitation projection data.
  • County and ZIP code boundary shapefiles.
  • Digital elevation model data for the target county.
  • External hard drive or cloud storage for large files.
  • Spreadsheet software for data tracking and notes.

Advanced Materials

  • Workstation or university cluster access with a CUDA-capable GPU.
  • Python environment with TensorFlow or PyTorch.
  • ERA5 reanalysis data.
  • PRISM climate normals and observed precipitation grids.
  • CMIP6 ensemble projection files.
  • High-resolution county land surface datasets.
  • GIS software for spatial alignment and map inspection.
  • NetCDF and GeoTIFF handling tools.
  • Storage space for repeated model runs and uncertainty ensembles.

Software & Tools

  • Python: Runs the machine learning pipeline, data cleaning, and evaluation scripts.
  • QGIS: Checks county, ZIP code, and raster alignment on maps.
  • xarray: Reads and slices gridded climate data in NetCDF format.
  • GeoPandas: Handles county and ZIP boundary files for spatial joins.
  • ImageJ: Measures visual differences if you compare map outputs as images.

Experiment Steps

  1. Define the exact spatial and time scale you want to predict, then choose one county and one precipitation metric to keep the project focused.
  2. Gather coarse climate inputs, fine-scale observations, and local geography layers, then check that all grids line up in the same coordinate system.
  3. Build a baseline method first, such as simple interpolation, so you have a fair comparison for the machine learning model.
  4. Design the conditional GAN inputs and outputs, then decide which predictors the model will see and which target you want it to learn.
  5. Plan an evaluation scheme that holds out unseen time periods or ZIP areas, then choose metrics for error, bias, and spatial agreement.
  6. Set up repeated inference with dropout enabled, then compare the uncertainty spread with actual prediction errors.

Common Pitfalls

  • Mixing rainfall units across datasets, which makes the model learn fake patterns instead of real precipitation changes.
  • Training and testing on overlapping time periods, which inflates accuracy and hides overfitting.
  • Ignoring grid mismatch between ERA5, PRISM, and county boundaries, which scrambles the target labels.
  • Treating ZIP codes as perfect physical regions, which can blur results because weather does not follow postal lines.
  • Skipping a baseline model, which makes it hard to prove that the GAN adds value over simpler methods.

What Makes This Competitive

A strong version of this project does more than make a prettier map. It tests whether the model actually improves local rainfall estimates, not just visual detail. It also explains uncertainty in a way that decision makers can trust. You get closer to competition level when you compare against smart baselines, hold out unseen regions, and use clear error metrics tied to real planning needs.

Project Variations

  • Use hourly rainfall instead of monthly rainfall to test whether the model handles short, intense storm events better or worse.
  • Swap ZIP codes for watershed boundaries to see whether hydrologic regions give cleaner downscaling results.
  • Compare a GAN with a simpler CNN to find out whether the extra model complexity really improves local precipitation skill.

Learn More

  • NASA Earthdata: Search for climate, reanalysis, and remote sensing datasets, then read the documentation for gridded precipitation products.
  • NOAA Climate Data Online: Find historical weather and climate records for U.S. locations and compare them with model output.
  • USGS National Water Information System: Look up streamflow and hydrologic context for your target county to connect rainfall with local water response.
  • PRISM Climate Group: Find precipitation and climate grids plus method notes for high-resolution U.S. climate data.
  • MIT OpenCourseWare: Search for machine learning and deep learning courses to learn the basics of neural network training and evaluation.
  • PubMed: Search for review articles on statistical downscaling, climate uncertainty, and precipitation prediction.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub​ →

Shopping Cart