
Cloud seeding and weather modification.
The Heaviest Cloud
Above the pine-covered hills of Shillong, where the sky sits so close you can almost touch it, there once lived a cloud named Meghi. She was a monsoon cloud — big, dark, and swollen with rain — and she was the most stubborn cloud in all of Meghalaya.
Every other cloud in the sky followed the same simple rule: gather water from the sea, carry it to the hills, and let it fall as rain. It was what clouds did. It was what clouds were for.
But Meghi refused.
"Why should I give away my water?" she grumbled to the other clouds. "I worked hard to collect it. I carried it all the way from the Bay of Bengal. It's mine."
The Growing Weight
Day after day, Meghi drifted over the Khasi Hills, holding her rain. The other clouds emptied themselves gladly — they rained over Cherrapunji, over Mawsynram, over the sacred forests and the living root bridges. They became light and white and happy, floating upward like released balloons.
But Meghi grew heavier. And heavier. Her belly sagged until she scraped the tops of the pine trees. Her edges turned from grey to black to a deep, bruised purple. She could barely move.
"Just let go," called a friendly cumulus cloud drifting past. "You'll feel so much better."
"No!" said Meghi. "It's mine. All mine."
The Withered Garden
Below Meghi, in a village nestled in the hills, a girl named Banri tended a small garden. She grew tomatoes, beans, and marigolds — bright orange marigolds that her grandmother used for prayers at the village church.
But the garden was dying. Meghi's shadow blocked the sun, and Meghi's stubbornness blocked the rain. The tomatoes shrivelled. The beans drooped. The marigolds turned brown at the edges.
Banri looked up at the enormous cloud squatting above her village and shouted, "Please, cloud! We need your rain! My grandmother's marigolds are dying!"
Meghi heard the girl but turned away. "Not my problem," she muttered.
The Wind's Warning
That night, the East Wind — an old, wise wind that had blown across the hills since before humans arrived — came to speak with Meghi.
"Meghi," said the Wind, "I have carried clouds across this sky for ten thousand years. I have never seen one as heavy as you."
"Because I am the richest," said Meghi proudly.
"No," said the Wind. "Because you are the most burdened. There is a difference between being full and being weighed down. You have so much water that you cannot rise. You cannot drift. You cannot feel the sun on your back. You have become a prisoner of what you refuse to release."
Meghi was quiet for a long time. She could feel it — the ache in her belly, the heaviness in her heart, the exhaustion of holding so tightly to something that wanted to fall.
The Letting Go
At dawn, Meghi drifted over Banri's garden. She could see the girl kneeling beside her withered marigolds, watering them with a small cup — the last water from the family's storage pot.
Something broke inside Meghi. Not a wall, not a dam — something gentler. A decision.
She let go.
The rain came — not in a drizzle but in a great, warm downpour that soaked the garden, the village, the hills, the forests. It rained for an hour, then two, then three. Meghi poured out everything she had been holding, and with every drop she released, she felt lighter.
When it was over, Meghi was thin and white and so light she floated higher than she had ever been. She could see the whole of Meghalaya spread below her — the green valleys, the silver rivers, the waterfalls tumbling down cliffs. It was the most beautiful sight she had ever seen, and she had been too heavy to see it before.
Below, Banri's marigolds drank the rain and lifted their faces to the sun. By evening, the first orange blooms were opening.
Meghi never hoarded again. She learned what every cloud eventually learns: that giving doesn't make you less. It makes you light.
The end.
Choose your level. Everyone starts with the story — the code gets deeper as you go.
Here is a taste of what Level 1 looks like for this lesson:
import numpy as np
# Cloud formation: when does rising air hit the dew point?
# The atmosphere cools about 6.5°C per 1000m (lapse rate)
ground_temp = 30 # °C — hot day in Shillong
dew_point = 18 # °C — temperature where clouds form
lapse_rate = 6.5 # °C per 1000m
# Calculate cloud base height
cloud_base = (ground_temp - dew_point) / lapse_rate * 1000
# Cloud droplet vs raindrop
cloud_droplet = 0.01 # mm (10 micrometres)
raindrop = 2.0 # mm (2000 micrometres)
droplets_needed = (raindrop / cloud_droplet) ** 3
print(f"Ground temperature: ${ground_temp}°C")
print(f"Dew point: ${dew_point}°C")
print(f"Cloud base forms at: ${cloud_base:.0f} m altitude")
print(f"Droplets needed per raindrop: ${droplets_needed:,.0f}")
print(f"That is why Meghi could hold rain for so long!")This is just the first of 6 coding exercises in Level 1. By Level 4, you will build: Investigate the Conditions for Condensation.
By Level 4, enrolled students build: Investigate the Conditions for Condensation
Free
Level 0: Listener
Stories, science concepts, diagrams, quizzes. No coding.
You are here
Level 0 is always free. Coding levels (1-4) are part of our 12-Month Curriculum.
Cloud seeding and weather modification.
The big idea: "The Cloud That Refused to Rain" teaches us about Cloud Seeding & Weather — and you don't need to write a single line of code to understand it.
Boil a kettle and watch the spout. Right at the opening, you see nothing — that is actual water vapor, and it is invisible. A few centimetres away, a white plume appears. That is where the hot vapor has cooled enough to condense into tiny liquid droplets. You are watching a cloud form in your kitchen.
The same process happens in the atmosphere, but on a planetary scale. The sun heats water in oceans, rivers, and soil. Water molecules at the surface gain enough energy to escape as vapor — this is evaporation. The invisible vapor rises because warm air is less dense than cool air. As it rises, it expands (because atmospheric pressure decreases with altitude) and cools at roughly 6.5°C per 1,000 metres — this steady cooling rate is called the lapse rate.
At some altitude, the rising air cools to its dew point — the temperature at which it is holding as much water vapor as it physically can. Below the dew point, excess vapor must condense. But here is the catch: vapor molecules bouncing around in air will not spontaneously clump into a droplet on their own. They need a surface to condense onto — a condensation nucleus.
Condensation nuclei are everywhere: dust blown from deserts, sea salt flung up by breaking waves, pollen from plants, soot from fires, even bacteria. Each tiny particle (typically 0.1–1 micrometre) acts as a seed. Water vapor molecules stick to it, building a droplet about 10 micrometres across — roughly one-tenth the width of a human hair. Billions of these droplets, packed together, scatter sunlight in all directions and become visible as a cloud.
Check yourself: On a humid day in Shillong (ground temperature 30°C, dew point 18°C), at what altitude would you expect clouds to form? Use the lapse rate: (30 – 18) ÷ 6.5 × 1000 = about 1,850 metres. Look up from Ward’s Lake and the cloud base is predictable.
Key idea: Clouds form when rising air cools to the dew point and water vapor condenses onto tiny particles called condensation nuclei. No nuclei, no cloud — even at 100% humidity.
A cloud droplet is about 10 micrometres across. A raindrop is about 2,000 micrometres (2 mm). That means a raindrop contains roughly one million cloud droplets merged together. This is why Meghi could drift over the Khasi Hills for days, heavy with water, without a single drop falling — her droplets were too small.
There are two main ways droplets grow large enough to fall. The first is collision-coalescence (the warm rain process). In a cloud, not all droplets are the same size. Slightly larger droplets fall faster than tiny ones. As they fall through the cloud, they collide with and absorb smaller droplets — like a snowball rolling downhill. Each collision makes the drop bigger and faster, triggering more collisions. This chain reaction can produce a raindrop in about 20 minutes in a thick cloud.
The second way is the Bergeron process (the ice-crystal process), and it is responsible for most rain outside the tropics. In tall clouds, the top is below 0°C but many droplets stay liquid — they are supercooled. If even a few ice crystals form among these supercooled droplets, something remarkable happens: water vapor evaporates from the liquid droplets and deposits onto the ice crystals, because the vapor pressure over ice is lower than over liquid water at the same temperature. The ice crystals steal water from the droplets and grow rapidly. Eventually they become heavy enough to fall, and if the air below is warm, they melt into rain.
Prediction exercise: Imagine two clouds over Cherrapunji. Cloud A is shallow (1 km thick) and entirely above 0°C. Cloud B is towering (10 km tall) with its top well below freezing. Which one rains more easily? (Answer: Cloud B — it has both the collision-coalescence process AND the Bergeron process working simultaneously, plus much more water content.)
Key idea: Rain needs droplets to grow from 10 µm to 2,000 µm. Two processes do this: collision-coalescence (big droplets absorb small ones) and the Bergeron process (ice crystals steal water from liquid droplets). Clouds without these processes just sit there, like Meghi.
Access all 130+ lessons, quizzes, interactive tools, and offline activities
If a cloud has plenty of water but will not rain, could you give it a push? That is exactly the idea behind **cloud seeding** — humanity’s attempt to ...
Before weather apps and satellites, farmers, sailors, and herders in Meghalaya and across the world predicted weather by reading clouds. They were rig...