{
  "version": "1.0.0",
  "date": "2026-09-20",
  "sourceArchive": {
    "name": "sorah_data_scape_code_20260920.zip",
    "sha256": "7e030757f6cfa02d5e4dff3442dcb3f816c18f66c92b53beff1a8695e3cbed90"
  },
  "scope": "adopted-image-and-code-reference; not a drop-in renderer or replacement colour registry",
  "inputDataIncluded": false,
  "renderReproduction": "not-run-inputs-absent",
  "rightsNotes": "利用条件・許諾の記述は同梱READMEに由来し、SDSによる新たな許諾認定ではない。入力データは配布しない。",
  "subjects": [
    {
      "id": "sea-ice",
      "number": "01",
      "name": "北極海氷",
      "relatedProfiles": [
        "ICE"
      ],
      "images": [
        "ice_z2.jpg"
      ],
      "entrypoints": [
        "01_sea_ice/pure4.py",
        "01_sea_ice/video.py",
        "_shared_lib/render3.py"
      ],
      "quantity": "1979–2025年の各9月に海氷があった頻度。単年の海氷密接度とは別の量。",
      "visual": "ネイビーの海と、頻度に応じて白へ進む8段階。地名・経緯線は背景からの相対明度で置く。",
      "period": "コード既定：1979–2025年・9月、47年",
      "projection": "採用Z2のコード：EPSG:3411（北極域）。READMEの正距円筒という総称はこの図には当てはまらない。",
      "parameters": {
        "source": "NSIDC Sea Ice Index v4 / Natural Earth 50m",
        "iceThresholdPercent": 15,
        "stackFrom": 1979,
        "stackToDefault": 2025,
        "bands": 8,
        "smoothKm": 12,
        "size": [
          1080,
          1350
        ]
      },
      "notes": [
        "採用画像の後に入口コードが更新されている。再生成した画像との一致は未検証。",
        "原資料にはJAXA AMSR2への移行予定がある。ここに載せる画像はNSIDC版で、置換済みとは扱わない。"
      ],
      "timeType": "A / 年ごとの場。掲載図は複数年の集約",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "forest",
      "number": "02",
      "name": "森林",
      "relatedProfiles": [
        "FOREST"
      ],
      "images": [
        "forest_n3.jpg"
      ],
      "entrypoints": [
        "02_forest/nyt.py",
        "02_forest/forest1.py",
        "02_forest/sylvania.py"
      ],
      "quantity": "JAXA FNFの森林分類を集約した被覆割合。Hansen GFCの2000年樹冠被覆・損失年とは区別する。",
      "visual": "白い海、薄灰の陸、緑8段。森林を最も濃い層に置く。",
      "period": "N3生成関数の既定：2020年",
      "projection": "正距円筒。経度 −180–180°、緯度 −58–83°。",
      "parameters": {
        "source": "JAXA PALSAR-2 FNF",
        "paper": "#ffffff",
        "land": "#eeeeeb",
        "ink": "#467550",
        "bands": 8,
        "aggregateCells": 8,
        "displaySampling": "bilinear",
        "size": [
          1350,
          1080
        ]
      },
      "notes": [
        "N3の配色と生成処理はnyt.pyにあり、README記載のforest1.pyは共通の格子・図法処理。",
        "掲載画像の入力年・画素一致は元データでの再現が必要。上の年はコード既定値。"
      ],
      "timeType": "A / 年ごとの場",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "temperature",
      "number": "03",
      "name": "気温の平年差",
      "relatedProfiles": [
        "HEAT"
      ],
      "images": [
        "temp_v4.jpg"
      ],
      "entrypoints": [
        "03_temperature/temp2.py",
        "03_temperature/final_video.py"
      ],
      "quantity": "HadCRUT5の年平均気温偏差（°C）。絶対気温を示す図ではない。",
      "visual": "寒色・暖色それぞれ8段の発散尺度。地図とストライプで空間と時間を読む。",
      "period": "V4コード：2025年。年次入力：1850年以降。基準期間は入力メタデータで確認。",
      "projection": "正距円筒。世界全域。",
      "parameters": {
        "source": "HadCRUT5 / Met Office Hadley Centre",
        "unit": "°C anomaly",
        "mapLimit": 2.0,
        "stripeLimit": 1.2,
        "bandsPerSide": 8,
        "sourceGridDegrees": 5,
        "displayGridDegrees": 0.5,
        "sigmaDegrees": 3.5,
        "cool": [
          "#deebf7",
          "#c6dbef",
          "#9ecae1",
          "#6baed6",
          "#4292c6",
          "#2171b5",
          "#08519c",
          "#08306b"
        ],
        "warm": [
          "#fee0d2",
          "#fcbba1",
          "#fc9272",
          "#fb6a4a",
          "#ef3b2c",
          "#cb181d",
          "#a50f15",
          "#67000d"
        ]
      },
      "notes": [
        "採用画像はColorBrewerの配色。HEATの昼夜パレットと同一とは扱わない。",
        "地図±2.0°Cとストライプ±1.2°Cは別の上限。上限超過でも実値ラベルは残す。",
        "補完度は観測の追加ではない。新規実装ではP4プロファイルと補間表示の規定を併用。"
      ],
      "timeType": "A / 年平均の場",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "rivers",
      "number": "04",
      "name": "河川",
      "relatedProfiles": [
        "RIVER"
      ],
      "images": [
        "rivers_keys.jpg"
      ],
      "entrypoints": [
        "04_rivers/draw6.py",
        "04_rivers/video_c.py"
      ],
      "quantity": "HydroRIVERSの河川網。掲載シートの順序は構造の提示で、年ごとの河川の増減ではない。",
      "visual": "白地に青い細線。森林N3と同じ地理範囲と余白に揃える。",
      "period": "静的な河川網 / 構造の提示順",
      "projection": "正距円筒。経度 −180–180°、緯度 −58–83°。",
      "parameters": {
        "source": "HydroRIVERS v10 / HydroSHEDS",
        "ink": "#5678c4",
        "size": [
          1350,
          1080
        ],
        "uniformWidthPx": 0.4,
        "widthAlternativePx": [
          1.0,
          0.7,
          0.45,
          0.3
        ]
      },
      "notes": [
        "採用画像の後にdraw6.pyが更新されている。現在のコードには均一線幅と階級別線幅の両案がある。",
        "どの引数で各キーフレームを生成したかは、入力データとともに再確認する。"
      ],
      "timeType": "D / 構造の順序",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "earthquakes",
      "number": "05",
      "name": "震源",
      "relatedProfiles": [
        "QUAKE"
      ],
      "images": [
        "qg4.jpg",
        "qkeys.jpg"
      ],
      "entrypoints": [
        "05_earthquakes/q1.py",
        "05_earthquakes/bg.py",
        "05_earthquakes/relief.py",
        "05_earthquakes/video_q2.py"
      ],
      "quantity": "USGS ComCatの地震。点の位置は震央、大きさはマグニチュード、淡さは深さ。",
      "visual": "赤い点を無彩色の地形へ。密度の面に変換するQ1とは異なる、点の表現。",
      "period": "原資料：1973–2025年、M≥5.0",
      "projection": "正距円筒。世界全域。",
      "parameters": {
        "source": "USGS ComCat / ETOPO 2022（原資料記載）",
        "magnitudeMin": 5.0,
        "ink": "#c4221c",
        "radiusExpression": "0.9 * 2.4 ** (M - 5)",
        "depthEdgesKm": [
          0,
          35,
          70,
          150,
          300,
          800
        ],
        "size": [
          1350,
          675
        ]
      },
      "notes": [
        "半径式と色はbg.pyから採録。G4の背景はrelief.py等にも分かれ、完全な呼出し条件は未確定。",
        "原資料のG4とコード内のB4は同一の識別子ではない。地形陰影の強さを現行Groundsと同等と主張しない。"
      ],
      "timeType": "B / 事象の一覧",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "transport",
      "number": "06",
      "name": "船舶と航空",
      "relatedProfiles": [
        "LANES"
      ],
      "images": [
        "tr_keys.jpg"
      ],
      "entrypoints": [
        "06_transport/combo.py",
        "06_transport/flights.py",
        "06_transport/video_t2.py"
      ],
      "quantity": "船舶交通密度と航空路線の構造。航空線の重みは路線データの集約で、飛行中の機数ではない。",
      "visual": "ネイビー → 青 → 白の階調。船舶は粒、航空は大円の線で描き分ける。",
      "period": "船舶：2015-01–2021-02の固定集計。航空：OpenFlightsの取得版・時点は別途確認。",
      "projection": "正距円筒。世界全域、太平洋中心の別構図も含む。",
      "parameters": {
        "source": "World Bank / IMF shipping density; OpenFlights routes.dat",
        "shipPixelDegrees": 0.02,
        "shipFloor": 1000,
        "shipTransform": "log1p",
        "shipReferenceLog10": 7.5,
        "flightWidthPx": [
          0.35,
          0.5,
          0.7,
          1.0
        ],
        "size": [
          1350,
          675
        ]
      },
      "notes": [
        "固定集計の船舶密度を年別の変化として再生しない。",
        "キーフレームは層を現す過程。両データの同時観測を意味しない。"
      ],
      "timeType": "D / 層・構造の提示順（この図）",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "dust",
      "number": "07",
      "name": "サハラの砂塵",
      "relatedProfiles": [
        "DUST"
      ],
      "images": [
        "dust_d1.jpg",
        "dust_keys.jpg"
      ],
      "entrypoints": [
        "07_dust/dust.py",
        "07_dust/video_d.py",
        "07_dust/world.py"
      ],
      "quantity": "GEOS-FP DUEXTTAU（砂塵の光学的厚さ）。質量濃度ではない。",
      "visual": "白と薄灰の地理に茶色の霞を重ね、面の連続性を見せる。",
      "period": "D1コード：2025-06-01 01:30。3時間間隔の同化系列。画像との時点対応は未再現。",
      "projection": "正距円筒。経度 −110–25°、緯度 −5–45°。",
      "parameters": {
        "source": "NASA GMAO GEOS-FP",
        "variable": "DUEXTTAU",
        "unit": "dimensionless optical depth",
        "ink": "#a86022",
        "limit": 1.2,
        "gamma": 0.8,
        "smoothGridCells": 1.0,
        "displaySampling": "bilinear"
      },
      "notes": [
        "同化であり、予報として見せない。",
        "元コードのnan_to_numによる欠測のゼロ化は、そのまま現行実装へ移植しない。S-10〜13に従い欠測マスクを別に保つ。"
      ],
      "timeType": "A / 3時間ごとの場",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "aerosol",
      "number": "08",
      "name": "全エアロゾル",
      "relatedProfiles": [],
      "images": [
        "aer_keys.jpg"
      ],
      "entrypoints": [
        "08_aerosol/aer.py",
        "08_aerosol/video_a.py"
      ],
      "quantity": "AVHRR Deep Blueのエアロゾル光学的厚さ（AOD）。PM2.5濃度や砂塵成分だけの量とは異なる。",
      "visual": "茶系8段。月別の場や周期を見せ、表示用補完を脱色と境界で区別する。",
      "period": "NOAA-18 / 2006–2011年、1°月次。シート各枠の日時は未同梱。",
      "projection": "正距円筒。世界全域。",
      "parameters": {
        "source": "AVHRR Deep Blue V001",
        "unit": "dimensionless AOD",
        "ink": "#a86022",
        "bands": 8,
        "saturation": 0.6,
        "minimumCount": 5,
        "sourceGridDegrees": 1,
        "lowDisplayThreshold": 0.0375
      },
      "notes": [
        "専用の題材定義は未登録。AIR（大気汚染）やDUST（砂塵）に読み替えない。",
        "6年平均・1月平均・7月平均などの集約はaer.pyにある。各図の期間・集約を明記して使用する。"
      ],
      "timeType": "A / 月次の場、C / 同月の周期比較",
      "status": "adopted-reference",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    },
    {
      "id": "cyclones",
      "number": "09",
      "name": "サイクロン",
      "relatedProfiles": [
        "STORM"
      ],
      "images": [],
      "entrypoints": [
        "09_cyclones/cyc.py"
      ],
      "quantity": "IBTrACSのサイクロン経路。",
      "visual": "検討コードのみ。採用図版の掲載なし。",
      "period": "原資料：1980–2025年",
      "projection": "コードを参照。採用図法は未確定。",
      "parameters": {
        "source": "IBTrACS v04r01 main track"
      },
      "notes": [
        "原資料で未検証・統合仕様デッキから除外済み。SDSでも採用済みに数えない。"
      ],
      "timeType": "B / 事象の経路",
      "status": "not-adopted-unverified",
      "reproduction": "not-run-inputs-absent",
      "paletteParity": "not-asserted"
    }
  ],
  "additionalReference": {
    "id": "arctic-shipping",
    "name": "北極圏の船舶",
    "image": "ships_ice.jpg",
    "entrypoints": [
      "06_transport/ships_years.py",
      "01_sea_ice/pure6.py"
    ],
    "caption": "2012.09 / 2025.09 と表示されたGFW AIS presenceの比較資料。原資料名は「海氷×船舶」だが、ships_years.pyは氷を非表示にしている。海氷との重ね合わせを確認した事例には数えない。",
    "status": "reference-only-ice-hidden",
    "quantity": "9月の船舶存在時間。参照値60時間、log1pで表示。年別AISの捕捉範囲・時点と元データは再確認が必要。"
  },
  "files": {
    "01_sea_ice/build.py": {
      "sha256": "516a089d1367ee6a7249b05df352778dddb224b721444c25d6f5055c1689c660",
      "bytes": 3027
    },
    "01_sea_ice/geo.py": {
      "sha256": "3ed4818a589fdad05e3124256c97da624b2719648686cef371f605e71df55bda",
      "bytes": 3419
    },
    "01_sea_ice/pure3.py": {
      "sha256": "9b0dc0f64ddb7c0279cca2634dfdac9964932a1e57a539b2e10d8781168577f7",
      "bytes": 5353
    },
    "01_sea_ice/pure4.py": {
      "sha256": "993294407f775be1a921c1f2bf27f8837c1e5d28cd5997eb09b83e9e1960e029",
      "bytes": 6871
    },
    "01_sea_ice/pure5.py": {
      "sha256": "53da0f95e8b12282158212189c2071ba2e699cba1c4b11e8fd6703b5ae190aa4",
      "bytes": 2404
    },
    "01_sea_ice/pure6.py": {
      "sha256": "429b1c058e201942952f35333ce9c3753cd8d84aebed02c51aae40a50d1f2ac6",
      "bytes": 3077
    },
    "01_sea_ice/video.py": {
      "sha256": "0069874493f44d52e917fda38c78ba74539d5cd13e953dfe5334acf3a4d7304d",
      "bytes": 1398
    },
    "02_forest/build.py": {
      "sha256": "07d0fe7f6542a85e7b75e229e99c79916f897d4105855930ca5fe380e5d3fd8d",
      "bytes": 5088
    },
    "02_forest/digital.py": {
      "sha256": "fdc28e8fbeed524702c0d5e07f25bf250f20f3780a4a5d47b33adcd90a3cc4a6",
      "bytes": 2307
    },
    "02_forest/fetch_fnf.py": {
      "sha256": "342e653a5d7a48e5946426b492652565502e7152d46225c634e3e75422649163",
      "bytes": 1760
    },
    "02_forest/forest1.py": {
      "sha256": "fbc3b8985cde5fed4ffac8e1d3036c93e98be66b352e0ca642be1d3ec902f8c7",
      "bytes": 9860
    },
    "02_forest/gfc.py": {
      "sha256": "82f2d07c32d6ee124255262681ad38868bd36f7bf7997ae0421f665b2dd06b80",
      "bytes": 4519
    },
    "02_forest/nyt.py": {
      "sha256": "de46758ba013822ba3f305c800c6e045f160f2507a8d63e9714983ee34a6c889",
      "bytes": 3066
    },
    "02_forest/p.json": {
      "sha256": "ff37229212cc3067cbdbb15f4d58276cb19f24c8c18e04b399b8a37ebdfc792e",
      "bytes": 8726
    },
    "02_forest/render_gfc.py": {
      "sha256": "0916cffee5d35b4574c606d572dc65292895676ca1ad7fb01f6a9f4b7a7c8301",
      "bytes": 6340
    },
    "02_forest/sylvania.py": {
      "sha256": "71722d0348dbdc44c57a1569226351024bccdd97750e30f21aeef94dde8ba4b9",
      "bytes": 4129
    },
    "03_temperature/final_video.py": {
      "sha256": "9d1e44efa67e492b527c4ee4832e45f205d3a78e00899ce78c0c97dd128e4d16",
      "bytes": 4220
    },
    "03_temperature/p.json": {
      "sha256": "ac537c9a445fce7cd1a717720991be2189e7a28a824b1f4571a1c624351a18d6",
      "bytes": 8833
    },
    "03_temperature/temp1.py": {
      "sha256": "94065ea2df136ac0d52b4e14b6bea87fb99fed380888d162aa7dc0d978019068",
      "bytes": 4725
    },
    "03_temperature/temp2.py": {
      "sha256": "c576d06a676c27ca1913a1a74337633b87bf1b6cf3ec2360887e58f20aeaa689",
      "bytes": 10583
    },
    "03_temperature/trans2.py": {
      "sha256": "b60d0c6b3b4faa8e1171e0743ec2f0fe79940f0a31934cc1bc69b83fcf58574d",
      "bytes": 3143
    },
    "03_temperature/transitions.py": {
      "sha256": "503b13a31bc2427031438e774f55f9c1336125124ab0381fb75c1a6ea4f07f6f",
      "bytes": 3907
    },
    "03_temperature/video_temp.py": {
      "sha256": "b8b60b50ea46431329df37a81be8937f4745e44da97928362d0006205d7d7973",
      "bytes": 4304
    },
    "04_rivers/cache.py": {
      "sha256": "762d1c142c869c8f235dbad82bedea987a82351e91650230d3846da58173d862",
      "bytes": 1061
    },
    "04_rivers/dist.py": {
      "sha256": "050c477421683b3faff16a0929f0a5bfcb9335e62339f7913c0dacdb8c6ae5c6",
      "bytes": 690
    },
    "04_rivers/draw.py": {
      "sha256": "86958a9720424807900ab6216d2638ed4cd03351ca97f138c33d735193e354d2",
      "bytes": 3474
    },
    "04_rivers/draw2.py": {
      "sha256": "b674e5c5837c00f8569e87600fdcf8046e113ed7bb892f4d7344c5dc7a2cb5b9",
      "bytes": 2838
    },
    "04_rivers/draw3.py": {
      "sha256": "26c78b50714eca4491b0c116594735750884e1bd83e19e5d38688b4550d52400",
      "bytes": 2574
    },
    "04_rivers/draw4.py": {
      "sha256": "7d02bf488afafc48817e6bfc3036336483c1726fed2b702e4944e28c150d7836",
      "bytes": 2460
    },
    "04_rivers/draw5.py": {
      "sha256": "93be48af362bd3559e86898a77c951a860678b19e5693e17b5cb61aae50693b5",
      "bytes": 2262
    },
    "04_rivers/draw6.py": {
      "sha256": "e2e4d3a38003028911b0a1321000f2607031aacc25331ae4c0d9c0ede78f2192",
      "bytes": 2226
    },
    "04_rivers/p.json": {
      "sha256": "b7b09aed47ffa32fd1f2c82eb0b1ce7f76eb56e9c2d28db932db0a78f0b573ee",
      "bytes": 8356
    },
    "04_rivers/rivers_baseline.py": {
      "sha256": "e2e4d3a38003028911b0a1321000f2607031aacc25331ae4c0d9c0ede78f2192",
      "bytes": 2226
    },
    "04_rivers/video_c.py": {
      "sha256": "047719950ba373eea6cdf80d8b448ed8898e436ed2ec70edf6baf3b00f42d91e",
      "bytes": 3970
    },
    "04_rivers/video_rivers.py": {
      "sha256": "7e11594e4b2d92d6c54a4cc57d809aacbef0543d8fe56405834398b7b5a11cba",
      "bytes": 5305
    },
    "05_earthquakes/bg.py": {
      "sha256": "ae3901d72f1625479f98ce5dee0235cdb1d02b1b46cd3120dc1363a1abf74bc6",
      "bytes": 3895
    },
    "05_earthquakes/contours.py": {
      "sha256": "ef79c3e02052a234cba4aec03b4a76633998768f6dcb657fbb95d6e5d4f6df27",
      "bytes": 2648
    },
    "05_earthquakes/fetch.py": {
      "sha256": "16ea77c0b77327e0ed9f49c35dfd5965bf76d430f3e5b35a39ec898063b327b5",
      "bytes": 588
    },
    "05_earthquakes/q1.py": {
      "sha256": "850db14ea91355455c490e8fa5a9b75d2829d9a9de4a9909265d42956942ec60",
      "bytes": 5295
    },
    "05_earthquakes/q3.py": {
      "sha256": "66133dde532a518f19dec84d94a664f2cb1fd4b3d08f77997b31483572bdb825",
      "bytes": 314
    },
    "05_earthquakes/relief.py": {
      "sha256": "241a279938ce3fe5efa86fa2e2ec7649fce5b14c8b5d21532e8c8df22fd43504",
      "bytes": 3408
    },
    "05_earthquakes/video_q.py": {
      "sha256": "4a0882208f04221268a0556f4df8fdb5dacb6325d5f097ecbd3e0fd570b8479a",
      "bytes": 3133
    },
    "05_earthquakes/video_q2.py": {
      "sha256": "59da0be0289dc33208cf0245d25b592cb3dadb711785dc350769012351fca8be",
      "bytes": 4796
    },
    "06_transport/combo.py": {
      "sha256": "ae8a18f7dbb922bf23f3b2c07460041f708ffa72c98c991ecbc3aa374dddd1ee",
      "bytes": 4696
    },
    "06_transport/flights.py": {
      "sha256": "cb3863a64e98f48e42b611a1a614b491be2397e79c605e4e398dddacd421e123",
      "bytes": 4084
    },
    "06_transport/ships.py": {
      "sha256": "f9aaba4043b7bcaa0a63f1ebffddfe514dea39a631e80b12133ac8b158c585a3",
      "bytes": 2826
    },
    "06_transport/ships_video.py": {
      "sha256": "12bed9f8b836d13a9262547fcef0cedda6437ada7e8c826b83ae903d4c804f33",
      "bytes": 2944
    },
    "06_transport/ships_years.py": {
      "sha256": "516a9b1210aac2810a7f5ac68104365b5d8bdbac7d1168673c157926e95fbde1",
      "bytes": 3914
    },
    "06_transport/video_t.py": {
      "sha256": "cf8cb214cb2fbccbfcb7d999e98a58689f55b54fd597ad39adaf3bb5de13b0e7",
      "bytes": 6262
    },
    "06_transport/video_t2.py": {
      "sha256": "d0def04c7d485daca67f6ebca9c577899c67b7cb38bd83e414cf411cdaab7bd5",
      "bytes": 4955
    },
    "07_dust/dust.py": {
      "sha256": "1dd548c0675467042176c2f41611398c652f2bf1b2830dc1269cea9b86ac9816",
      "bytes": 2536
    },
    "07_dust/fetch.py": {
      "sha256": "f4d008035f48af2907d1da8bec1b8aedb902a89ee1c307e0037aaae5477bf822",
      "bytes": 967
    },
    "07_dust/video_d.py": {
      "sha256": "3e3cd26e38dfe122c2790fb40182af5e31eca129164466f41edc03c43141abac",
      "bytes": 2224
    },
    "07_dust/video_w.py": {
      "sha256": "a5d81700756d52bea34f733c85bd484fe152002ba6301b75dcc735afc4d81fc9",
      "bytes": 2005
    },
    "07_dust/world.py": {
      "sha256": "f0cd4176953bb437d78942b701914231b7fd27ea3e04d9be73220f058eec5619",
      "bytes": 2324
    },
    "08_aerosol/aer.py": {
      "sha256": "2fca591039127e6d6be8c5dfcf771b1f70758ff880e6f68c442e97d79f2e513f",
      "bytes": 3480
    },
    "08_aerosol/tex.py": {
      "sha256": "13af6b69f6f60f28f0d87ed58ed6f0aeb4854ec0fe5d5a12ad299d8aa49b6874",
      "bytes": 3747
    },
    "08_aerosol/video_a.py": {
      "sha256": "9b4a100a37bee0a6e99e052a9676ec3e81809389ac282203cdb4cd9535d9553a",
      "bytes": 4730
    },
    "09_cyclones/cyc.py": {
      "sha256": "b03cb60a521be697760e3531d6e224e9dcd8e5ffdf25b8738acbf0904549530d",
      "bytes": 5474
    },
    "MANIFEST.md": {
      "sha256": "ba1df8abdf5f909944335e4284b61929de915a157daa614027dcc5cb2242bc7a",
      "bytes": 4246
    },
    "README.md": {
      "sha256": "994d4004a5b11bb3c19ad7873d9252740c787aebd8fec1ef2c86affba4bea2ad",
      "bytes": 5252
    },
    "_approved/aer_keys.jpg": {
      "sha256": "e8cb2156d4190da4744bb8a0002339be437f957d9491932fa88ae505b71b0a5e",
      "bytes": 119483,
      "width": 1100,
      "height": 555
    },
    "_approved/dust_d1.jpg": {
      "sha256": "fb6ed9da8415b687eac80c44a381e0492be1f5286aa9b54716872fb26b76bbbb",
      "bytes": 24416,
      "width": 1100,
      "height": 407
    },
    "_approved/dust_keys.jpg": {
      "sha256": "f61751c5b67bef91c91502c5fc09ee339411ad646b5379ba5d520ef0aa29730c",
      "bytes": 35684,
      "width": 1100,
      "height": 413
    },
    "_approved/forest_n3.jpg": {
      "sha256": "69d19a93c783cc1fb935fd34990a423100ada8a835644f296766885f4a46a0b2",
      "bytes": 64357,
      "width": 1100,
      "height": 880
    },
    "_approved/ice_z2.jpg": {
      "sha256": "4c88f0273ca67243a83e5025e4f02da3f06468aa5f5c5e1cfe05904e9ac5bef2",
      "bytes": 97944,
      "width": 1080,
      "height": 1350
    },
    "_approved/qg4.jpg": {
      "sha256": "30be00232c9084b3ab0fb315ac24448b7d8709d598401fe146013c6c77001a1f",
      "bytes": 127629,
      "width": 1100,
      "height": 550
    },
    "_approved/qkeys.jpg": {
      "sha256": "73f98f0e5970966e27eebf8f06c58db886955b3742bfb0b70342f0e003aa473c",
      "bytes": 138010,
      "width": 1100,
      "height": 555
    },
    "_approved/rivers_keys.jpg": {
      "sha256": "1c76fe7e8f70a8360bebcd63e335c02885ae670f8af1f17364a475ff7db477f5",
      "bytes": 57816,
      "width": 1100,
      "height": 881
    },
    "_approved/ships_ice.jpg": {
      "sha256": "05f7d298288018d7deec766ec94ebe712c09a676613931187cbab4203317f33b",
      "bytes": 88458,
      "width": 1100,
      "height": 675
    },
    "_approved/temp_v4.jpg": {
      "sha256": "84f5dfca2e2008a813b71530aee11850cb57124d0a09ebbba20554d24bc0a970",
      "bytes": 75684,
      "width": 1100,
      "height": 721
    },
    "_approved/tr_keys.jpg": {
      "sha256": "4b4758dc2bfddeb2d522057ba735cc566d9de5aeb7c5bebea9077addfa6aa947",
      "bytes": 140752,
      "width": 1100,
      "height": 555
    },
    "_shared_lib/build.py": {
      "sha256": "7f1a73e5e749f4974fcea8e479635ffaaf70ab8528200ae00a9c185c07425100",
      "bytes": 12142
    },
    "_shared_lib/g1.py": {
      "sha256": "f24249e3fe51d209f7c30f534940f737cfd16db54bf24545ece5e597e97b3375",
      "bytes": 5440
    },
    "_shared_lib/loop.py": {
      "sha256": "d30f052ecf36344b61c9171ef6a8f8af1cf79764d02073df3730e95703c0b357",
      "bytes": 7461
    },
    "_shared_lib/measure.py": {
      "sha256": "8eacdb49ff6545b5d1001b593b8a8ec352bf02e217c05447480fc1e159ade3fc",
      "bytes": 3085
    },
    "_shared_lib/pure4.py": {
      "sha256": "acb3d6a70a5c01910fc396fd6c8adf7626b9cdfdd7ab2ae1d83ec2b6691282b7",
      "bytes": 6785
    },
    "_shared_lib/render.py": {
      "sha256": "550f8e07c6defe60a1e60c70331d9ba7dae9a5e59826ba3a10840af860a6bd28",
      "bytes": 7997
    },
    "_shared_lib/render3.py": {
      "sha256": "46e706e80597597d8bddc3887945353b47c3c5247deca78b00441feeabba1b21",
      "bytes": 11496
    },
    "_shared_lib/render_v1.py": {
      "sha256": "a5d3e0415f4d406a6b7f21ac95fd1db325def48f20772ed606d55e575f95a138",
      "bytes": 6875
    }
  }
}
