# Anatomy of a thunderstorm

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0ie4z40022jw06mcnbctv9
> 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

- 11 steps across 1 layer
- Persona: You
- Technology / systems: The Sun, The atmosphere, The ground

## 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`.

## Anatomy of a thunderstorm

Lanes:
- The Sun: technology / system (id `sun`)
- The atmosphere: technology / system (id `air`)
- The ground: technology / system (id `ground`)
- You: person / role (id `you`)

Steps, in the order they run:

1. **A hot summer afternoon** [start; The Sun; id `t1`]
   - then Warm moist air rises: the water cycle in fast-forward
2. **Warm moist air rises: the water cycle in fast-forward** [subprocess; The atmosphere; id `t2`], links to the published process "The water cycle: the same water for 4 billion years" (https://forks.world/p/cmv0idy750009jw06828pjkbz; full text at https://forks.world/api/public/cmv0idy750009jw06828pjkbz/export)
   - then Does the cloud tower reach freezing heights?
3. **Does the cloud tower reach freezing heights?** [decision; The atmosphere; id `t3`]
   - if "Yes" go to Ice and hail collide and the cloud charges; if "No" go to A plain puffy cumulus cloud, maybe a shower
4. **Ice and hail collide and the cloud charges** [subprocess; The atmosphere; id `t4`], links to the published process "How a lightning bolt is born" (https://forks.world/p/cmv0idyqj000ejw069tnhayei; full text at https://forks.world/api/public/cmv0idyqj000ejw069tnhayei/export)
   - then Lightning heats the air and thunder booms
5. **Lightning heats the air and thunder booms** [task; The atmosphere; id `t5`]
   - then Count the seconds from flash to bang: every 3 is about 1 km
6. **Count the seconds from flash to bang: every 3 is about 1 km** [task; You; id `t6`]
   - then Are you indoors?
7. **Are you indoors?** [decision; You; id `t7`]
   - if "Yes" go to The storm passes with a cool downdraft and clear air; if "No" go to Get inside a building or a hard-topped car now
8. **The storm passes with a cool downdraft and clear air** [task; The atmosphere; id `t8`]
   - then Puddles evaporate and the cycle starts again
9. **Puddles evaporate and the cycle starts again** [end; The ground; id `t10`]
10. **Get inside a building or a hard-topped car now** [task; You; id `t7a`]
   - then The storm passes with a cool downdraft and clear air
11. **A plain puffy cumulus cloud, maybe a shower** [task; The atmosphere; id `t3a`]
   - then Puddles evaporate and the cycle starts again

```mermaid
flowchart LR
  subgraph l_sun["The Sun"]
    n_t1(["A hot summer afternoon"])
  end
  subgraph l_air["The atmosphere"]
    n_t2[["Warm moist air rises: the water cycle in fast-forward"]]
    n_t3{"Does the cloud tower reach freezing heights?"}
    n_t3a["A plain puffy cumulus cloud, maybe a shower"]
    n_t4[["Ice and hail collide and the cloud charges"]]
    n_t5["Lightning heats the air and thunder booms"]
    n_t8["The storm passes with a cool downdraft and clear air"]
  end
  subgraph l_ground["The ground"]
    n_t10(["Puddles evaporate and the cycle starts again"])
  end
  subgraph l_you["You"]
    n_t6["Count the seconds from flash to bang: every 3 is about 1 km"]
    n_t7{"Are you indoors?"}
    n_t7a["Get inside a building or a hard-topped car now"]
  end
  n_t1 --> n_t2
  n_t2 --> n_t3
  n_t3 -->|"Yes"| n_t4
  n_t3 -->|"No"| n_t3a
  n_t3a --> n_t10
  n_t4 --> n_t5
  n_t5 --> n_t6
  n_t6 --> n_t7
  n_t7 -->|"Yes"| n_t8
  n_t7 -->|"No"| n_t7a
  n_t7a --> n_t8
  n_t8 --> n_t10
```

## Full data (JSON)

```json
{
  "title": "Anatomy of a thunderstorm",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "sun",
          "name": "The Sun",
          "type": "system"
        },
        {
          "id": "air",
          "name": "The atmosphere",
          "type": "system"
        },
        {
          "id": "ground",
          "name": "The ground",
          "type": "system"
        },
        {
          "id": "you",
          "name": "You",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "t1",
          "kind": "start",
          "lane": "sun",
          "next": [
            {
              "to": "t2"
            }
          ],
          "uses": [],
          "label": "A hot summer afternoon"
        },
        {
          "id": "t2",
          "kind": "subprocess",
          "lane": "air",
          "link": {
            "id": "cmv0idy750009jw06828pjkbz",
            "scope": "public",
            "title": "The water cycle: the same water for 4 billion years"
          },
          "next": [
            {
              "to": "t3"
            }
          ],
          "uses": [],
          "label": "Warm moist air rises: the water cycle in fast-forward"
        },
        {
          "id": "t3",
          "kind": "decision",
          "lane": "air",
          "next": [
            {
              "to": "t4",
              "label": "Yes"
            },
            {
              "to": "t3a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the cloud tower reach freezing heights?"
        },
        {
          "id": "t3a",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "t10"
            }
          ],
          "uses": [],
          "label": "A plain puffy cumulus cloud, maybe a shower"
        },
        {
          "id": "t4",
          "kind": "subprocess",
          "lane": "air",
          "link": {
            "id": "cmv0idyqj000ejw069tnhayei",
            "scope": "public",
            "title": "How a lightning bolt is born"
          },
          "next": [
            {
              "to": "t5"
            }
          ],
          "uses": [],
          "label": "Ice and hail collide and the cloud charges"
        },
        {
          "id": "t5",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "t6"
            }
          ],
          "uses": [],
          "label": "Lightning heats the air and thunder booms"
        },
        {
          "id": "t6",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "t7"
            }
          ],
          "uses": [],
          "label": "Count the seconds from flash to bang: every 3 is about 1 km"
        },
        {
          "id": "t7",
          "kind": "decision",
          "lane": "you",
          "next": [
            {
              "to": "t8",
              "label": "Yes"
            },
            {
              "to": "t7a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Are you indoors?"
        },
        {
          "id": "t7a",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "t8"
            }
          ],
          "uses": [],
          "label": "Get inside a building or a hard-topped car now"
        },
        {
          "id": "t8",
          "kind": "task",
          "lane": "air",
          "next": [
            {
              "to": "t10"
            }
          ],
          "uses": [],
          "label": "The storm passes with a cool downdraft and clear air"
        },
        {
          "id": "t10",
          "kind": "end",
          "lane": "ground",
          "next": [],
          "uses": [],
          "label": "Puddles evaporate and the cycle starts again"
        }
      ],
      "title": "Anatomy of a thunderstorm",
      "parent": null
    }
  }
}
```
