# The water cycle: the same water for 4 billion years

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0idy750009jw06828pjkbz
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 29 steps across 3 layers
- Persona: A water droplet
- Technology / systems: The Sun, Ocean and lakes, Atmosphere, Land

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## The water cycle: the same water for 4 billion years

Lanes:
- The Sun: technology / system (id `sun`)
- Ocean and lakes: technology / system (id `ocean`)
- Atmosphere: technology / system (id `air`)
- Land: technology / system (id `ground`)
- A water droplet: person / role (id `drop`)

Steps, in the order they run:

1. **Sun heats the ocean surface** [start; The Sun; id `w1`]
   - then A droplet evaporates into vapor
2. **A droplet evaporates into vapor** [subprocess; A water droplet; id `w2`], opens the detail layer "Evaporation"
   - then Warm, moist air rises
3. **Warm, moist air rises** [task; Atmosphere; id `w3`]
   - then Air cools as it climbs
4. **Air cools as it climbs** [task; Atmosphere; id `w4`]
   - then Cold enough to reach the dew point?
5. **Cold enough to reach the dew point?** [decision; Atmosphere; id `w5`]
   - if "Yes" go to Vapor condenses onto dust as tiny droplets; if "No — keep rising" go to Warm, moist air rises
6. **Vapor condenses onto dust as tiny droplets** [task; A water droplet; id `w6`]
   - then Clouds form and drift with the wind
7. **Clouds form and drift with the wind** [task; Atmosphere; id `w7`]
   - then Droplets merge until heavy enough to fall?
8. **Droplets merge until heavy enough to fall?** [decision; Atmosphere; id `w8`]
   - if "Yes" go to Precipitation falls; if "No — keep drifting" go to Clouds form and drift with the wind
9. **Precipitation falls** [subprocess; A water droplet; id `w9`], opens the detail layer "Rain, snow, sleet or hail?"
   - then Where does it land?
10. **Where does it land?** [decision; Land; id `w10`]
   - if "Ocean or lake" go to Rejoins the sea, ready to start again; if "Soil" go to Soaks in; roots and groundwater take it; if "Pavement or rock" go to Runs off into streams
11. **Rejoins the sea, ready to start again** [task; Ocean and lakes; id `w11`]
   - then Sun heats the ocean surface
12. **Soaks in; roots and groundwater take it** [task; Land; id `w12`]
   - then Groundwater seeps slowly toward the sea; then Plants release it as vapor (transpiration)
13. **Groundwater seeps slowly toward the sea** [task; Land; id `w14`]
   - then Rejoins the sea, ready to start again
14. **Plants release it as vapor (transpiration)** [task; A water droplet; id `w16`]
   - then Warm, moist air rises
15. **Runs off into streams** [task; Land; id `w13`]
   - then Rivers carry it downhill to the sea
16. **Rivers carry it downhill to the sea** [task; Land; id `w15`]
   - then Rejoins the sea, ready to start again

```mermaid
flowchart LR
  subgraph l_sun["The Sun"]
    n_w1(["Sun heats the ocean surface"])
  end
  subgraph l_ocean["Ocean and lakes"]
    n_w11["Rejoins the sea, ready to start again"]
  end
  subgraph l_air["Atmosphere"]
    n_w3["Warm, moist air rises"]
    n_w4["Air cools as it climbs"]
    n_w5{"Cold enough to reach the dew point?"}
    n_w7["Clouds form and drift with the wind"]
    n_w8{"Droplets merge until heavy enough to fall?"}
  end
  subgraph l_ground["Land"]
    n_w10{"Where does it land?"}
    n_w12["Soaks in; roots and groundwater take it"]
    n_w14["Groundwater seeps slowly toward the sea"]
    n_w13["Runs off into streams"]
    n_w15["Rivers carry it downhill to the sea"]
  end
  subgraph l_drop["A water droplet"]
    n_w2[["A droplet evaporates into vapor"]]
    n_w6["Vapor condenses onto dust as tiny droplets"]
    n_w9[["Precipitation falls"]]
    n_w16["Plants release it as vapor (transpiration)"]
  end
  n_w1 --> n_w2
  n_w2 --> n_w3
  n_w3 --> n_w4
  n_w4 --> n_w5
  n_w5 -->|"Yes"| n_w6
  n_w5 -->|"No — keep rising"| n_w3
  n_w6 --> n_w7
  n_w7 --> n_w8
  n_w8 -->|"Yes"| n_w9
  n_w8 -->|"No — keep drifting"| n_w7
  n_w9 --> n_w10
  n_w10 -->|"Ocean or lake"| n_w11
  n_w10 -->|"Soil"| n_w12
  n_w10 -->|"Pavement or rock"| n_w13
  n_w11 --> n_w1
  n_w12 --> n_w14
  n_w12 --> n_w16
  n_w14 --> n_w11
  n_w16 --> n_w3
  n_w13 --> n_w15
  n_w15 --> n_w11
```

### Evaporation (detail of step "A droplet evaporates into vapor")

Lanes:
- The Sun: technology / system (id `sun`)
- Atmosphere: technology / system (id `air`)
- A water droplet: person / role (id `drop`)

Steps, in the order they run:

1. **Sunlight warms the water** [start; The Sun; id `e1`]
   - then The fastest molecules escape the surface
2. **The fastest molecules escape the surface** [task; A water droplet; id `e2`]
   - then Is wind carrying the vapor away?
3. **Is wind carrying the vapor away?** [decision; Atmosphere; id `e3`]
   - if "Yes" go to Fresh dry air keeps evaporation going; if "No" go to Air near the surface saturates and evaporation slows
4. **Fresh dry air keeps evaporation going** [task; Atmosphere; id `e4`]
   - then Vapor joins the air
5. **Vapor joins the air** [end; A water droplet; id `e6`]
6. **Air near the surface saturates and evaporation slows** [task; Atmosphere; id `e5`]
   - then Vapor joins the air

```mermaid
flowchart LR
  subgraph l_sun["The Sun"]
    n_e1(["Sunlight warms the water"])
  end
  subgraph l_air["Atmosphere"]
    n_e3{"Is wind carrying the vapor away?"}
    n_e4["Fresh dry air keeps evaporation going"]
    n_e5["Air near the surface saturates and evaporation slows"]
  end
  subgraph l_drop["A water droplet"]
    n_e2["The fastest molecules escape the surface"]
    n_e6(["Vapor joins the air"])
  end
  n_e1 --> n_e2
  n_e2 --> n_e3
  n_e3 -->|"Yes"| n_e4
  n_e3 -->|"No"| n_e5
  n_e4 --> n_e6
  n_e5 --> n_e6
```

### Rain, snow, sleet or hail? (detail of step "Precipitation falls")

Lanes:
- Atmosphere: technology / system (id `air`)
- Land: technology / system (id `ground`)
- A water droplet: person / role (id `drop`)

Steps, in the order they run:

1. **A droplet or ice crystal grows heavy** [start; A water droplet; id `f1`]
   - then What is the air like on the way down?
2. **What is the air like on the way down?** [decision; Atmosphere; id `f2`]
   - if "Freezing all the way" go to Snowflakes drift down; if "Warm all the way" go to Raindrops fall; if "Warm then freezing near the ground" go to Sleet bounces off the ground; if "Violent updrafts keep tossing it up" go to Layers of ice build into hailstones
3. **Snowflakes drift down** [task; A water droplet; id `f3`]
   - then Precipitation reaches the ground
4. **Precipitation reaches the ground** [end; Land; id `f7`]
5. **Raindrops fall** [task; A water droplet; id `f4`]
   - then Precipitation reaches the ground
6. **Sleet bounces off the ground** [task; A water droplet; id `f5`]
   - then Precipitation reaches the ground
7. **Layers of ice build into hailstones** [task; A water droplet; id `f6`]
   - then Precipitation reaches the ground

```mermaid
flowchart LR
  subgraph l_air["Atmosphere"]
    n_f2{"What is the air like on the way down?"}
  end
  subgraph l_ground["Land"]
    n_f7(["Precipitation reaches the ground"])
  end
  subgraph l_drop["A water droplet"]
    n_f1(["A droplet or ice crystal grows heavy"])
    n_f3["Snowflakes drift down"]
    n_f4["Raindrops fall"]
    n_f5["Sleet bounces off the ground"]
    n_f6["Layers of ice build into hailstones"]
  end
  n_f1 --> n_f2
  n_f2 -->|"Freezing all the way"| n_f3
  n_f2 -->|"Warm all the way"| n_f4
  n_f2 -->|"Warm then freezing near the ground"| n_f5
  n_f2 -->|"Violent updrafts keep tossing it up"| n_f6
  n_f3 --> n_f7
  n_f4 --> n_f7
  n_f5 --> n_f7
  n_f6 --> n_f7
```

## Full data (JSON)

```json
{
  "title": "The water cycle: the same water for 4 billion years",
  "maps": {
    "m_evap": {
      "id": "m_evap",
      "lanes": [
        {
          "id": "sun",
          "name": "The Sun",
          "type": "system"
        },
        {
          "id": "air",
          "name": "Atmosphere",
          "type": "system"
        },
        {
          "id": "drop",
          "name": "A water droplet",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "e1",
          "kind": "start",
          "lane": "sun",
          "next": [
            {
              "to": "e2"
            }
          ],
          "uses": [],
          "label": "Sunlight warms the water"
        },
        {
          "id": "e2",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "e3"
            }
          ],
          "uses": [],
          "label": "The fastest molecules escape the surface"
        },
        {
          "id": "e3",
          "kind": "decision",
          "lane": "air",
          "next": [
            {
              "to": "e4",
              "label": "Yes"
            },
            {
              "to": "e5",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is wind carrying the vapor away?"
        },
        {
          "id": "e4",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "e6"
            }
          ],
          "uses": [],
          "label": "Fresh dry air keeps evaporation going"
        },
        {
          "id": "e5",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "e6"
            }
          ],
          "uses": [],
          "label": "Air near the surface saturates and evaporation slows"
        },
        {
          "id": "e6",
          "kind": "end",
          "lane": "drop",
          "next": [],
          "uses": [],
          "label": "Vapor joins the air"
        }
      ],
      "title": "Evaporation",
      "parent": {
        "map": "m_root",
        "step": "w2"
      }
    },
    "m_fall": {
      "id": "m_fall",
      "lanes": [
        {
          "id": "air",
          "name": "Atmosphere",
          "type": "system"
        },
        {
          "id": "ground",
          "name": "Land",
          "type": "system"
        },
        {
          "id": "drop",
          "name": "A water droplet",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "f1",
          "kind": "start",
          "lane": "drop",
          "next": [
            {
              "to": "f2"
            }
          ],
          "uses": [],
          "label": "A droplet or ice crystal grows heavy"
        },
        {
          "id": "f2",
          "kind": "decision",
          "lane": "air",
          "next": [
            {
              "to": "f3",
              "label": "Freezing all the way"
            },
            {
              "to": "f4",
              "label": "Warm all the way"
            },
            {
              "to": "f5",
              "label": "Warm then freezing near the ground"
            },
            {
              "to": "f6",
              "label": "Violent updrafts keep tossing it up"
            }
          ],
          "uses": [],
          "label": "What is the air like on the way down?"
        },
        {
          "id": "f3",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "f7"
            }
          ],
          "uses": [],
          "label": "Snowflakes drift down"
        },
        {
          "id": "f4",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "f7"
            }
          ],
          "uses": [],
          "label": "Raindrops fall"
        },
        {
          "id": "f5",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "f7"
            }
          ],
          "uses": [],
          "label": "Sleet bounces off the ground"
        },
        {
          "id": "f6",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "f7"
            }
          ],
          "uses": [],
          "label": "Layers of ice build into hailstones"
        },
        {
          "id": "f7",
          "kind": "end",
          "lane": "ground",
          "next": [],
          "uses": [],
          "label": "Precipitation reaches the ground"
        }
      ],
      "title": "Rain, snow, sleet or hail?",
      "parent": {
        "map": "m_root",
        "step": "w9"
      }
    },
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "sun",
          "name": "The Sun",
          "type": "system"
        },
        {
          "id": "ocean",
          "name": "Ocean and lakes",
          "type": "system"
        },
        {
          "id": "air",
          "name": "Atmosphere",
          "type": "system"
        },
        {
          "id": "ground",
          "name": "Land",
          "type": "system"
        },
        {
          "id": "drop",
          "name": "A water droplet",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "w1",
          "kind": "start",
          "lane": "sun",
          "next": [
            {
              "to": "w2"
            }
          ],
          "uses": [],
          "label": "Sun heats the ocean surface"
        },
        {
          "id": "w2",
          "kind": "subprocess",
          "lane": "drop",
          "next": [
            {
              "to": "w3"
            }
          ],
          "uses": [],
          "child": "m_evap",
          "label": "A droplet evaporates into vapor"
        },
        {
          "id": "w3",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "w4"
            }
          ],
          "uses": [],
          "label": "Warm, moist air rises"
        },
        {
          "id": "w4",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "w5"
            }
          ],
          "uses": [],
          "label": "Air cools as it climbs"
        },
        {
          "id": "w5",
          "kind": "decision",
          "lane": "air",
          "next": [
            {
              "to": "w6",
              "label": "Yes"
            },
            {
              "to": "w3",
              "label": "No — keep rising"
            }
          ],
          "uses": [],
          "label": "Cold enough to reach the dew point?"
        },
        {
          "id": "w6",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "w7"
            }
          ],
          "uses": [],
          "label": "Vapor condenses onto dust as tiny droplets"
        },
        {
          "id": "w7",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "w8"
            }
          ],
          "uses": [],
          "label": "Clouds form and drift with the wind"
        },
        {
          "id": "w8",
          "kind": "decision",
          "lane": "air",
          "next": [
            {
              "to": "w9",
              "label": "Yes"
            },
            {
              "to": "w7",
              "label": "No — keep drifting"
            }
          ],
          "uses": [],
          "label": "Droplets merge until heavy enough to fall?"
        },
        {
          "id": "w9",
          "kind": "subprocess",
          "lane": "drop",
          "next": [
            {
              "to": "w10"
            }
          ],
          "uses": [],
          "child": "m_fall",
          "label": "Precipitation falls"
        },
        {
          "id": "w10",
          "kind": "decision",
          "lane": "ground",
          "next": [
            {
              "to": "w11",
              "label": "Ocean or lake"
            },
            {
              "to": "w12",
              "label": "Soil"
            },
            {
              "to": "w13",
              "label": "Pavement or rock"
            }
          ],
          "uses": [],
          "label": "Where does it land?"
        },
        {
          "id": "w11",
          "kind": "task",
          "lane": "ocean",
          "next": [
            {
              "to": "w1"
            }
          ],
          "uses": [],
          "label": "Rejoins the sea, ready to start again"
        },
        {
          "id": "w12",
          "kind": "task",
          "lane": "ground",
          "next": [
            {
              "to": "w14"
            },
            {
              "to": "w16"
            }
          ],
          "uses": [],
          "label": "Soaks in; roots and groundwater take it"
        },
        {
          "id": "w14",
          "kind": "task",
          "lane": "ground",
          "next": [
            {
              "to": "w11"
            }
          ],
          "uses": [],
          "label": "Groundwater seeps slowly toward the sea"
        },
        {
          "id": "w16",
          "kind": "task",
          "lane": "drop",
          "next": [
            {
              "to": "w3"
            }
          ],
          "uses": [],
          "label": "Plants release it as vapor (transpiration)"
        },
        {
          "id": "w13",
          "kind": "task",
          "lane": "ground",
          "next": [
            {
              "to": "w15"
            }
          ],
          "uses": [],
          "label": "Runs off into streams"
        },
        {
          "id": "w15",
          "kind": "task",
          "lane": "ground",
          "next": [
            {
              "to": "w11"
            }
          ],
          "uses": [],
          "label": "Rivers carry it downhill to the sea"
        }
      ],
      "title": "The water cycle: the same water for 4 billion years",
      "parent": null
    }
  }
}
```
