@explorable-viz/fluid 0.7.90 → 0.7.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/fluid/fluid/lib/matrix.fld +18 -16
  2. package/dist/fluid/shared/fluid.mjs +210 -295
  3. package/dist/fluid/shared/load-figure.js +458 -700
  4. package/package.json +5 -3
  5. package/script/bundle-website.sh +13 -2
  6. package/website/article/README.md +3 -0
  7. package/website/article/convolution/index.html +90 -0
  8. package/website/article/convolution/spec.json +9 -0
  9. package/website/article/fluid/convolution/emboss.fld +5 -0
  10. package/website/article/fluid/convolution/test-image.fld +7 -0
  11. package/website/article/fluid/convolution.fld +24 -0
  12. package/website/article/fluid/dataset/methane-emissions.fld +123 -0
  13. package/website/article/fluid/dataset/non-renewables.fld +67 -0
  14. package/website/article/fluid/dataset/renewables-new.fld +301 -0
  15. package/website/article/fluid/dataset/scigen/1805.02474v1-10.fld +17 -0
  16. package/website/article/fluid/moving-average.fld +19 -0
  17. package/website/article/fluid/non-renewables.fld +21 -0
  18. package/website/article/fluid/scigen.fld +50 -0
  19. package/website/article/fluid/util.fld +36 -0
  20. package/website/article/image/fluid-logo.png +0 -0
  21. package/website/article/image/iccs-full-logo.png +0 -0
  22. package/website/article/image/schmidtsciences_primary_color.png +0 -0
  23. package/website/article/index.html +26 -0
  24. package/website/article/moving-average/index.html +57 -0
  25. package/website/article/moving-average/spec.json +9 -0
  26. package/website/article/non-renewables/index.html +46 -0
  27. package/website/article/non-renewables/spec.json +9 -0
  28. package/website/article/test.mjs +10 -0
  29. package/.spago/aff/v7.0.0/.editorconfig +0 -13
  30. package/.spago/aff/v7.0.0/.eslintrc.json +0 -28
  31. package/.spago/aff/v7.0.0/.gitignore +0 -14
  32. package/.spago/aff/v7.0.0/.tidyrc.json +0 -10
  33. package/.spago/affjax/v13.0.0/.editorconfig +0 -13
  34. package/.spago/affjax/v13.0.0/.eslintrc.json +0 -28
  35. package/.spago/affjax/v13.0.0/.gitignore +0 -14
  36. package/.spago/affjax/v13.0.0/.tidyrc.json +0 -10
  37. package/.spago/affjax-web/v1.0.0/.editorconfig +0 -13
  38. package/.spago/affjax-web/v1.0.0/.eslintrc.json +0 -30
  39. package/.spago/affjax-web/v1.0.0/.gitignore +0 -14
  40. package/.spago/affjax-web/v1.0.0/.tidyrc.json +0 -10
  41. package/.spago/argonaut-codecs/v9.0.0/.editorconfig +0 -13
  42. package/.spago/argonaut-codecs/v9.0.0/.gitignore +0 -9
  43. package/.spago/argonaut-codecs/v9.0.0/.tidyrc.json +0 -10
  44. package/.spago/argonaut-core/v7.0.0/.editorconfig +0 -13
  45. package/.spago/argonaut-core/v7.0.0/.eslintrc.json +0 -29
  46. package/.spago/argonaut-core/v7.0.0/.gitignore +0 -14
  47. package/.spago/argonaut-core/v7.0.0/.tidyrc.json +0 -10
  48. package/.spago/arraybuffer-types/v3.0.2/.editorconfig +0 -13
  49. package/.spago/arraybuffer-types/v3.0.2/.gitignore +0 -9
  50. package/.spago/arraybuffer-types/v3.0.2/.tidyrc.json +0 -10
  51. package/.spago/arrays/v7.0.0/.eslintrc.json +0 -26
  52. package/.spago/arrays/v7.0.0/.gitignore +0 -9
  53. package/.spago/assert/v6.0.0/.eslintrc.json +0 -26
  54. package/.spago/assert/v6.0.0/.gitignore +0 -8
  55. package/.spago/bifunctors/v6.0.0/.gitignore +0 -7
  56. package/.spago/catenable-lists/v7.0.0/.gitignore +0 -7
  57. package/.spago/console/v6.0.0/.eslintrc.json +0 -30
  58. package/.spago/console/v6.0.0/.gitignore +0 -9
  59. package/.spago/const/v6.0.0/.gitignore +0 -7
  60. package/.spago/contravariant/v6.0.0/.gitignore +0 -7
  61. package/.spago/control/v6.0.0/.gitignore +0 -7
  62. package/.spago/datetime/v6.1.0/.eslintrc.json +0 -26
  63. package/.spago/datetime/v6.1.0/.gitignore +0 -8
  64. package/.spago/debug/v6.0.0/.eslintrc.json +0 -36
  65. package/.spago/debug/v6.0.0/.gitignore +0 -8
  66. package/.spago/distributive/v6.0.0/.gitignore +0 -7
  67. package/.spago/effect/v4.0.0/.eslintrc.json +0 -26
  68. package/.spago/effect/v4.0.0/.gitignore +0 -8
  69. package/.spago/either/v6.1.0/.gitignore +0 -7
  70. package/.spago/enums/v6.0.0/.gitignore +0 -7
  71. package/.spago/exceptions/v6.0.0/.eslintrc.json +0 -26
  72. package/.spago/exceptions/v6.0.0/.gitignore +0 -8
  73. package/.spago/exists/v6.0.0/.gitignore +0 -7
  74. package/.spago/filterable/v5.0.0/.gitignore +0 -11
  75. package/.spago/foldable-traversable/v6.0.0/.eslintrc.json +0 -26
  76. package/.spago/foldable-traversable/v6.0.0/.gitignore +0 -8
  77. package/.spago/foreign/v7.0.0/.eslintrc.json +0 -26
  78. package/.spago/foreign/v7.0.0/.gitignore +0 -8
  79. package/.spago/foreign-object/v4.0.0/.eslintrc.json +0 -26
  80. package/.spago/foreign-object/v4.0.0/.gitignore +0 -8
  81. package/.spago/form-urlencoded/v7.0.0/.editorconfig +0 -13
  82. package/.spago/form-urlencoded/v7.0.0/.gitignore +0 -9
  83. package/.spago/form-urlencoded/v7.0.0/.tidyrc.json +0 -10
  84. package/.spago/free/v7.0.0/.gitignore +0 -8
  85. package/.spago/functions/v6.0.0/.eslintrc.json +0 -26
  86. package/.spago/functions/v6.0.0/.gitignore +0 -8
  87. package/.spago/functors/v5.0.0/.gitignore +0 -7
  88. package/.spago/gen/v4.0.0/.gitignore +0 -8
  89. package/.spago/graphs/v8.0.0/.gitignore +0 -7
  90. package/.spago/http-methods/v6.0.0/.editorconfig +0 -13
  91. package/.spago/http-methods/v6.0.0/.gitignore +0 -9
  92. package/.spago/http-methods/v6.0.0/.tidyrc.json +0 -10
  93. package/.spago/identity/v6.0.0/.gitignore +0 -7
  94. package/.spago/integers/v6.0.0/.eslintrc.json +0 -26
  95. package/.spago/integers/v6.0.0/.gitignore +0 -8
  96. package/.spago/invariant/v6.0.0/.gitignore +0 -7
  97. package/.spago/js-date/v8.0.0/.editorconfig +0 -13
  98. package/.spago/js-date/v8.0.0/.eslintrc.json +0 -29
  99. package/.spago/js-date/v8.0.0/.gitignore +0 -14
  100. package/.spago/js-date/v8.0.0/.tidyrc.json +0 -10
  101. package/.spago/js-uri/v3.0.0/.eslintrc.json +0 -30
  102. package/.spago/js-uri/v3.0.0/.gitignore +0 -14
  103. package/.spago/js-uri/v3.0.0/.tidyrc.json +0 -10
  104. package/.spago/lazy/v6.0.0/.eslintrc.json +0 -26
  105. package/.spago/lazy/v6.0.0/.gitignore +0 -8
  106. package/.spago/lcg/v4.0.0/.gitignore +0 -8
  107. package/.spago/lists/v7.0.0/.gitignore +0 -7
  108. package/.spago/maybe/v6.0.0/.gitignore +0 -7
  109. package/.spago/media-types/v6.0.0/.editorconfig +0 -13
  110. package/.spago/media-types/v6.0.0/.gitignore +0 -9
  111. package/.spago/media-types/v6.0.0/.tidyrc.json +0 -10
  112. package/.spago/newtype/v5.0.0/.gitignore +0 -7
  113. package/.spago/node-buffer/v8.0.0/.eslintrc.json +0 -26
  114. package/.spago/node-buffer/v8.0.0/.gitignore +0 -8
  115. package/.spago/node-child-process/v9.0.0/.eslintrc.json +0 -29
  116. package/.spago/node-child-process/v9.0.0/.gitignore +0 -8
  117. package/.spago/node-fs/v9.1.0/.eslintrc.json +0 -29
  118. package/.spago/node-fs/v9.1.0/.gitignore +0 -9
  119. package/.spago/node-path/v5.0.0/.eslintrc.json +0 -26
  120. package/.spago/node-path/v5.0.0/.gitignore +0 -8
  121. package/.spago/node-process/v10.0.0/.eslintrc.json +0 -29
  122. package/.spago/node-process/v10.0.0/.gitignore +0 -8
  123. package/.spago/node-streams/v7.0.0/.eslintrc.json +0 -29
  124. package/.spago/node-streams/v7.0.0/.gitignore +0 -8
  125. package/.spago/nonempty/v7.0.0/.gitignore +0 -7
  126. package/.spago/now/v6.0.0/.editorconfig +0 -13
  127. package/.spago/now/v6.0.0/.eslintrc.json +0 -29
  128. package/.spago/now/v6.0.0/.gitignore +0 -14
  129. package/.spago/now/v6.0.0/.tidyrc.json +0 -10
  130. package/.spago/nullable/v6.0.0/.editorconfig +0 -13
  131. package/.spago/nullable/v6.0.0/.eslintrc.json +0 -29
  132. package/.spago/nullable/v6.0.0/.gitignore +0 -14
  133. package/.spago/nullable/v6.0.0/.tidyrc.json +0 -10
  134. package/.spago/optparse/v5.0.0/.gitignore +0 -8
  135. package/.spago/optparse/v5.0.0/.npmrc +0 -1
  136. package/.spago/ordered-collections/v3.0.0/.gitignore +0 -8
  137. package/.spago/orders/v6.0.0/.gitignore +0 -7
  138. package/.spago/parallel/v6.0.0/.gitignore +0 -7
  139. package/.spago/parsing/v10.0.0/.editorconfig +0 -13
  140. package/.spago/parsing/v10.0.0/.gitignore +0 -10
  141. package/.spago/parsing/v10.0.0/.tidyoperators +0 -231
  142. package/.spago/parsing/v10.0.0/.tidyrc.json +0 -10
  143. package/.spago/partial/v4.0.0/.eslintrc.json +0 -26
  144. package/.spago/partial/v4.0.0/.gitignore +0 -8
  145. package/.spago/posix-types/v6.0.0/.gitignore +0 -7
  146. package/.spago/prelude/v6.0.0/.eslintrc.json +0 -26
  147. package/.spago/prelude/v6.0.0/.gitignore +0 -8
  148. package/.spago/profunctor/v6.0.0/.gitignore +0 -7
  149. package/.spago/psci-support/v6.0.0/.eslintrc.json +0 -28
  150. package/.spago/psci-support/v6.0.0/.gitignore +0 -8
  151. package/.spago/quickcheck/v8.0.1/.eslintrc.json +0 -26
  152. package/.spago/quickcheck/v8.0.1/.gitignore +0 -8
  153. package/.spago/random/v6.0.0/.eslintrc.json +0 -26
  154. package/.spago/random/v6.0.0/.gitignore +0 -8
  155. package/.spago/record/v4.0.0/.eslintrc.json +0 -26
  156. package/.spago/record/v4.0.0/.gitignore +0 -8
  157. package/.spago/refs/v6.0.0/.eslintrc.json +0 -26
  158. package/.spago/refs/v6.0.0/.gitignore +0 -8
  159. package/.spago/st/v6.0.0/.eslintrc.json +0 -26
  160. package/.spago/st/v6.0.0/.gitignore +0 -8
  161. package/.spago/strings/v6.0.0/.eslintrc.json +0 -26
  162. package/.spago/strings/v6.0.0/.gitignore +0 -8
  163. package/.spago/tailrec/v6.0.0/.gitignore +0 -7
  164. package/.spago/transformers/v6.0.0/.gitignore +0 -7
  165. package/.spago/tuples/v7.0.0/.gitignore +0 -7
  166. package/.spago/type-equality/v4.0.1/.gitignore +0 -7
  167. package/.spago/typelevel-prelude/v7.0.0/.gitignore +0 -8
  168. package/.spago/unfoldable/v6.0.0/.eslintrc.json +0 -26
  169. package/.spago/unfoldable/v6.0.0/.gitignore +0 -8
  170. package/.spago/unicode/v6.0.0/.editorconfig +0 -13
  171. package/.spago/unicode/v6.0.0/.gitattributes +0 -2
  172. package/.spago/unicode/v6.0.0/.gitignore +0 -19
  173. package/.spago/unicode/v6.0.0/.tidyrc.json +0 -10
  174. package/.spago/unsafe-coerce/v6.0.0/.eslintrc.json +0 -26
  175. package/.spago/unsafe-coerce/v6.0.0/.gitignore +0 -8
  176. package/.spago/web-dom/v6.0.0/.eslintrc.json +0 -29
  177. package/.spago/web-dom/v6.0.0/.gitignore +0 -9
  178. package/.spago/web-events/v4.0.0/.eslintrc.json +0 -29
  179. package/.spago/web-events/v4.0.0/.gitignore +0 -8
  180. package/.spago/web-file/v4.0.0/.eslintrc.json +0 -29
  181. package/.spago/web-file/v4.0.0/.gitignore +0 -8
  182. package/.spago/web-html/v4.0.0/.eslintrc.json +0 -29
  183. package/.spago/web-html/v4.0.0/.gitignore +0 -8
  184. package/.spago/web-storage/v5.0.0/.eslintrc.json +0 -29
  185. package/.spago/web-storage/v5.0.0/.gitignore +0 -8
  186. package/.spago/web-xhr/v5.0.0/.eslintrc.json +0 -29
  187. package/.spago/web-xhr/v5.0.0/.gitignore +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorable-viz/fluid",
3
- "version": "0.7.90",
3
+ "version": "0.7.91",
4
4
  "description": "Fluid is an experimental programming language which integrates a bidirectional dynamic analysis to connect outputs to data sources in a fine-grained way. Fluid is implemented in PureScript and runs in the browser.",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -23,7 +23,8 @@
23
23
  "script/bundle-website.sh",
24
24
  "script/bundle-page.sh",
25
25
  "script/util/clean.sh",
26
- "script/util/lisp-case.sh"
26
+ "script/util/lisp-case.sh",
27
+ "website/article"
27
28
  ],
28
29
  "scripts": {
29
30
  "benchmark": "./script/benchmark.sh",
@@ -41,7 +42,8 @@
41
42
  "test-page": "./script/test-page.sh",
42
43
  "test-website": "./script/test-website.sh",
43
44
  "test-website-all": "./script/test-website-all.sh",
44
- "tidy": "./script/tidy.sh"
45
+ "tidy": "./script/tidy.sh",
46
+ "serve-article": "./script/serve-article.sh"
45
47
  },
46
48
  "dependencies": {
47
49
  "@codemirror/commands": "6.2.2",
@@ -3,13 +3,24 @@ set -xeu
3
3
 
4
4
  PREFIX=""
5
5
 
6
- while getopts "w:l" opt; do
6
+ while getopts "l" opt; do
7
7
  case $opt in
8
- w) WEBSITE="$OPTARG";;
9
8
  l) PREFIX=node_modules/@explorable-viz/fluid;;
10
9
  esac
11
10
  done
12
11
 
12
+ shift $((OPTIND - 1))
13
+ WEBSITE="${WEBSITE:-$1}"
14
+ if [ -z "$WEBSITE" ]; then
15
+ echo "Usage: $0 [-l] <website-name>" >&2
16
+ exit 1
17
+ fi
18
+
19
+ if [ ! -d "website/$WEBSITE" ]; then
20
+ echo "Error: Directory 'website/$WEBSITE' does not exist." >&2
21
+ exit 1
22
+ fi
23
+
13
24
  PREFIX_=${PREFIX:+$PREFIX/}
14
25
  echo "Cleaning dist/$WEBSITE"
15
26
  . "${PREFIX_}script/util/clean.sh" $WEBSITE
@@ -0,0 +1,3 @@
1
+ # README
2
+
3
+ - This is the "dev" version of the `article` website in the `fluid-article` template repo
@@ -0,0 +1,90 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link rel="icon" href="/favicon.ico" type="image/x-icon">
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
8
+ <title>Fluid: Data-Linked Visualisations</title>
9
+ <link href="../css/styles.css" rel="stylesheet" type="text/css">
10
+ <link href="../css/view-styles.css" rel="stylesheet" type="text/css">
11
+ <script src="https://kit.fontawesome.com/20cf8b42c0.js" crossorigin="anonymous"></script>
12
+ <script src="../shared/util.js"></script>
13
+ <style>
14
+ .grid-container, .grid-container.data-pane-hidden {
15
+ grid-template-columns: 0.8fr var(--toggle-button-width) var(--text-pane-width);
16
+ }
17
+
18
+ .when-data-pane-visible {
19
+ font-size: 10pt;
20
+ }
21
+
22
+ .grid-container.data-pane-hidden.when-data-pane-visible {
23
+ display: none;
24
+ }
25
+
26
+ .data-pane {
27
+ display: grid;
28
+ grid-template-columns: min-content min-content;
29
+ vertical-align: top;
30
+ justify-content: end;
31
+ }
32
+
33
+ .data-pane * {
34
+ font-size: 9pt; /* otherwise interferes with .para-text */
35
+ }
36
+
37
+ .para-text {
38
+ margin-left: 5pt;
39
+ margin-right: 3pt;
40
+ }
41
+
42
+ .intermediates:has(> *) {
43
+ border-right: 1px dotted #CCCCCC;
44
+ }
45
+
46
+ .matrix-cell.selected-primary-persistent {
47
+ fill: rgb(214, 240, 214)
48
+ }
49
+
50
+ .matrix-cell-text.selected-primary-persistent:not(.matrix-cell-text.selected-primary-transient) {
51
+ color: green
52
+ }
53
+ </style>
54
+ </head>
55
+ <body>
56
+ <div id="grid" class="grid-container data-pane-hidden">
57
+ <div></div>
58
+ <div></div>
59
+ <div class="flex-left-align">
60
+ <h4>Matrix convolution</h4>
61
+ </div>
62
+
63
+ <div id="fig-data-pane" class="data-pane">
64
+ <div id="fig-input" class="flex-right-align data-pane-column"></div>
65
+ <div id="fig-intermediate" class="flex-right-align intermediates"></div>
66
+ </div>
67
+ <div onclick="toggleDataPane('grid')">
68
+ <i class="data-pane-button toggle-button fa-solid fa-eye-slash"></i>
69
+ </div>
70
+ <div class="flex-left-align">
71
+ <div class="flex-top-align">
72
+ <div id="fig">
73
+ <div class="fig-loading">loading figure(s)</div>
74
+ </div>
75
+ <div></div>
76
+ </div>
77
+ <details>
78
+ <summary>matrix.fld</summary>
79
+ <div id="codemirror-matrix"></div>
80
+ </details>
81
+ </div>
82
+ </div>
83
+
84
+ <script type="module">
85
+ import { loadFigure, drawCode } from "../shared/load-figure.js"
86
+ drawCode("../fluid/lib")("matrix")()
87
+ loadFigure("spec.json")()
88
+ </script>
89
+ </body>
90
+ </html>
@@ -0,0 +1,9 @@
1
+ {
2
+ "fluidSrcPath": ["../fluid"],
3
+ "file": "convolution",
4
+ "imports": [ "convolution/test-image", "convolution/emboss" ],
5
+ "datasets": [],
6
+ "inputs": [ "inputImage", "filter" ],
7
+ "query": true,
8
+ "linking": false
9
+ }
@@ -0,0 +1,5 @@
1
+ let filter =
2
+ let emboss = [[-2, -1, 0],
3
+ [-1, 1, 1],
4
+ [ 0, 1, 2]] in
5
+ [| nth2 i j emboss | (i, j) in (3, 3) |];
@@ -0,0 +1,7 @@
1
+ let inputImage =
2
+ let image = [[15, 13, 6, 9, 16],
3
+ [12, 5, 15, 4, 13],
4
+ [14, 9, 20, 8, 1],
5
+ [ 4, 10, 3, 7, 19],
6
+ [ 3, 11, 15, 2, 9]] in
7
+ [| nth2 i j image | (i, j) in (5, 5) |];
@@ -0,0 +1,24 @@
1
+ let lookup m n image =
2
+ let (m_max, n_max) = dims image
3
+ -- in image!(((m - 1) `mod` m_max) + 1, ((n - 1) `mod` n_max) + 1);
4
+ in if (m >= 1) `and` (m <= m_max) `and` (n >= 1) `and` (n <= n_max)
5
+ then image!(m, n)
6
+ else 0;
7
+
8
+ let matrixSum matr =
9
+ let (m, n) = dims matr
10
+ in foldl (+) 0 [ matr!(i, j) | (i, j) <- range (1, 1) (m, n) ];
11
+
12
+ let convolve image kernel =
13
+ let ((m, n), (i, j)) = (dims image, dims kernel);
14
+ (half_i, half_j) = (i `quot` 2, j `quot` 2);
15
+ area = i * j
16
+ in [| let interMatrix =
17
+ [| let x = m' + i' - 1 - half_i;
18
+ y = n' + j' - 1 - half_j in
19
+ lookup x y image * kernel!(i', j')
20
+ | (i', j') in (i, j) |]
21
+ in matrixSum interMatrix `quot` area
22
+ | (m', n') in (m, n) |]
23
+ in
24
+ convolve inputImage filter
@@ -0,0 +1,123 @@
1
+ -- This dataset contains methane emissions for the region of Africa and the Middle East.
2
+ -- Model: REMIND; Scenario: MAGPIE-SSP5-8.5
3
+ [
4
+ -- 2015
5
+ { year: 2015, type: "total", emissions: 64.82295407 },
6
+ { year: 2015, type: "Agricultural Waste Burning", emissions: 0.41125300 },
7
+ { year: 2015, type: "Agriculture", emissions: 18.17094166 },
8
+ { year: 2015, type: "Energy Sector", emissions: 29.76188165 },
9
+ { year: 2015, type: "Forest Burning", emissions: 0.51736129 },
10
+ { year: 2015, type: "Grassland Burning", emissions: 4.12193675 },
11
+ { year: 2015, type: "Industrial Sector", emissions: 0.09559156 },
12
+ { year: 2015, type: "Residential Commercial Other", emissions: 2.69146350 },
13
+ { year: 2015, type: "Transportation Sector", emissions: 0.06519554 },
14
+ { year: 2015, type: "Waste", emissions: 8.98732911 },
15
+
16
+ -- 2020
17
+ { year: 2020, type: "total", emissions: 78.43285535 },
18
+ { year: 2020, type: "Agricultural Waste Burning", emissions: 0.54358088 },
19
+ { year: 2020, type: "Agriculture", emissions: 22.13282073 },
20
+ { year: 2020, type: "Energy Sector", emissions: 38.81883821 },
21
+ { year: 2020, type: "Forest Burning", emissions: 0.51329337 },
22
+ { year: 2020, type: "Grassland Burning", emissions: 3.95741764 },
23
+ { year: 2020, type: "Industrial Sector", emissions: 0.09594071},
24
+ { year: 2020, type: "Residential Commercial Other", emissions: 2.56548807 },
25
+ { year: 2020, type: "Transportation Sector", emissions: 0.06546724 },
26
+ { year: 2020, type: "Waste", emissions: 9.74000850 },
27
+
28
+ -- 2030
29
+ { year: 2030, type: "total", emissions: 121.57147078 },
30
+ { year: 2030, type: "Agricultural Waste Burning", emissions: 0.84583739 },
31
+ { year: 2030, type: "Agriculture", emissions: 37.74454937 },
32
+ { year: 2030, type: "Energy Sector", emissions: 64.18597740 },
33
+ { year: 2030, type: "Forest Burning", emissions: 0.80870342 },
34
+ { year: 2030, type: "Grassland Burning", emissions: 4.02610215 },
35
+ { year: 2030, type: "Industrial Sector", emissions: 0.09598039 },
36
+ { year: 2030, type: "Residential Commercial Other", emissions: 1.97035231 },
37
+ { year: 2030, type: "Transportation Sector", emissions: 0.06571693 },
38
+ { year: 2030, type: "Waste", emissions: 11.82825140 },
39
+
40
+ -- 2040
41
+ { year: 2040, type: "total", emissions: 179.45174841 },
42
+ { year: 2040, type: "Agricultural Waste Burning", emissions: 1.19171607 },
43
+ { year: 2040, type: "Agriculture", emissions: 61.27090324 },
44
+ { year: 2040, type: "Energy Sector", emissions: 97.37841569 },
45
+ { year: 2040, type: "Forest Burning", emissions: 0.66064656 },
46
+ { year: 2040, type: "Grassland Burning", emissions: 3.84519255 },
47
+ { year: 2040, type: "Industrial Sector", emissions: 0.09689225 },
48
+ { year: 2040, type: "Residential Commercial Other", emissions: 1.33010499 },
49
+ { year: 2040, type: "Transportation Sector", emissions: 0.06631730 },
50
+ { year: 2040, type: "Waste", emissions: 13.61155975 },
51
+
52
+ -- 2050
53
+ { year: 2050, type: "total", emissions: 219.38894442 },
54
+ { year: 2050, type: "Agricultural Waste Burning", emissions: 1.60321718 },
55
+ { year: 2050, type: "Agriculture", emissions: 90.85759433 },
56
+ { year: 2050, type: "Energy Sector", emissions: 107.15311705 },
57
+ { year: 2050, type: "Forest Burning", emissions: 0.52749839 },
58
+ { year: 2050, type: "Grassland Burning", emissions: 3.76717842 },
59
+ { year: 2050, type: "Industrial Sector", emissions: 0.09848635 },
60
+ { year: 2050, type: "Residential Commercial Other", emissions: 0.82742253 },
61
+ { year: 2050, type: "Transportation Sector", emissions: 0.06709878 },
62
+ { year: 2050, type: "Waste", emissions: 14.48733139 },
63
+
64
+ -- 2060
65
+ { year: 2060, type: "total", emissions: 242.63229347 },
66
+ { year: 2060, type: "Agricultural Waste Burning", emissions: 1.93557102 },
67
+ { year: 2060, type: "Agriculture", emissions: 104.69106253 },
68
+ { year: 2060, type: "Energy Sector", emissions: 116.74729530 },
69
+ { year: 2060, type: "Forest Burning", emissions: 0.46539144 },
70
+ { year: 2060, type: "Grassland Burning", emissions: 3.66022062 },
71
+ { year: 2060, type: "Industrial Sector", emissions: 0.09971953 },
72
+ { year: 2060, type: "Residential Commercial Other", emissions: 0.46752611 },
73
+ { year: 2060, type: "Transportation Sector", emissions: 0.06781869 },
74
+ { year: 2060, type: "Waste", emissions: 14.49768823 },
75
+
76
+ -- 2070
77
+ { year: 2070, type: "total", emissions: 255.90313098 },
78
+ { year: 2070, type: "Agricultural Waste Burning", emissions: 2.08050211 },
79
+ { year: 2070, type: "Agriculture", emissions: 109.93855666 },
80
+ { year: 2070, type: "Energy Sector", emissions: 125.14149136 },
81
+ { year: 2070, type: "Forest Burning", emissions: 0.45346383 },
82
+ { year: 2070, type: "Grassland Burning", emissions: 3.52716441 },
83
+ { year: 2070, type: "Industrial Sector", emissions: 0.10005683 },
84
+ { year: 2070, type: "Residential Commercial Other", emissions: 0.21893571 },
85
+ { year: 2070, type: "Transportation Sector", emissions: 0.06817304 },
86
+ { year: 2070, type: "Waste", emissions: 14.37478702 },
87
+
88
+ -- 2080
89
+ { year: 2080, type: "total", emissions: 249.84379933 },
90
+ { year: 2080, type: "Agricultural Waste Burning", emissions: 2.15889057 },
91
+ { year: 2080, type: "Agriculture", emissions: 110.07024720 },
92
+ { year: 2080, type: "Energy Sector", emissions: 119.99949417 },
93
+ { year: 2080, type: "Forest Burning", emissions: 0.45790596 },
94
+ { year: 2080, type: "Grassland Burning", emissions: 3.37155974 },
95
+ { year: 2080, type: "Industrial Sector", emissions: 0.09982383 },
96
+ { year: 2080, type: "Residential Commercial Other", emissions: 0.11500102 },
97
+ { year: 2080, type: "Transportation Sector", emissions: 0.06831200 },
98
+ { year: 2080, type: "Waste", emissions: 13.50256483 },
99
+
100
+ -- 2090
101
+ { year: 2090, type: "total", emissions: 209.67760329 },
102
+ { year: 2090, type: "Agricultural Waste Burning", emissions: 2.25135814 },
103
+ { year: 2090, type: "Agriculture", emissions: 100.25638786 },
104
+ { year: 2090, type: "Energy Sector", emissions: 90.74292491 },
105
+ { year: 2090, type: "Forest Burning", emissions: 0.47913947 },
106
+ { year: 2090, type: "Grassland Burning", emissions: 3.01972800 },
107
+ { year: 2090, type: "Industrial Sector", emissions: 0.09911105 },
108
+ { year: 2090, type: "Residential Commercial Other", emissions: 0.06762289 },
109
+ { year: 2090, type: "Transportation Sector", emissions: 0.06829208 },
110
+ { year: 2090, type: "Waste", emissions: 12.69303888 },
111
+
112
+ -- 2100
113
+ { year: 2100, type: "total", emissions: 187.43439917 },
114
+ { year: 2100, type: "Agricultural Waste Burning", emissions: 2.27400509 },
115
+ { year: 2100, type: "Agriculture", emissions: 84.57857015 },
116
+ { year: 2100, type: "Energy Sector", emissions: 82.87915239 },
117
+ { year: 2100, type: "Forest Burning", emissions: 0.47888571 },
118
+ { year: 2100, type: "Grassland Burning", emissions: 2.92857597 },
119
+ { year: 2100, type: "Industrial Sector", emissions: 0.09806927 },
120
+ { year: 2100, type: "Residential Commercial Other", emissions: 0.04356964 },
121
+ { year: 2100, type: "Transportation Sector", emissions: 0.06813231 },
122
+ { year: 2100, type: "Waste", emissions: 14.08543862 }
123
+ ]
@@ -0,0 +1,67 @@
1
+ [
2
+ { country: "BRA", year: 2013, nuclearOut: 14.65, nuclearCap: 17.43, gasOut: 66.14, gasCap: 81.99, coalOut: 21.06, coalCap: 29.35, petrolOut: 24.79, petrolCap: 32.67},
3
+ { country: "CHN", year: 2013, nuclearOut: 111.5, nuclearCap: 128.42, gasOut: 116.39, gasCap: 371.60, coalOut: 4077.37, coalCap: 6895.70, petrolOut: 33.0, petrolCap: 66.58},
4
+ { country: "DEU", year: 2013, nuclearOut: 97.29, nuclearCap: 105.73, gasOut: 67.0, gasCap: 236.34, coalOut: 288.2, coalCap: 444.31, petrolOut: 25.25, petrolCap: 14.63},
5
+ { country: "FRA", year: 2013, nuclearOut: 423.68, nuclearCap: 553.02, gasOut: 18.39, gasCap: 69.29, coalOut: 23.84, coalCap: 55.28, petrolOut: 11.41, petrolCap: 15.07},
6
+ { country: "EGY", year: 2013, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 125.91, gasCap: 214.36, coalOut: 0.0, coalCap: 0.00, petrolOut: 27.66, petrolCap: 0.00},
7
+ { country: "IND", year: 2013, nuclearOut: 33.31, nuclearCap: 41.87, gasOut: 66.31, gasCap: 180.89, coalOut: 847.97, coalCap: 1317.68, petrolOut: 10.65, petrolCap: 6.31},
8
+ { country: "JPN", year: 2013, nuclearOut: 14.6, nuclearCap: 387.72, gasOut: 423.58, gasCap: 630.72, coalOut: 362.55, coalCap: 398.14, petrolOut: 166.48, petrolCap: 249.40},
9
+ { country: "MEX", year: 2013, nuclearOut: 11.38, nuclearCap: 14.10, gasOut: 155.78, gasCap: 249.31, coalOut: 29.87, coalCap: 47.13, petrolOut: 45.6, petrolCap: 50.46},
10
+ { country: "NGA", year: 2013, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 21.4, gasCap: 72.18, coalOut: 0.74, coalCap: 2.45, petrolOut: 0.0, petrolCap: 0.00},
11
+ { country: "USA", year: 2013, nuclearOut: 789.02, nuclearCap: 869.34, gasOut: 1124.84, gasCap: 3821.81, coalOut: 1581.11, coalCap: 2880.03, petrolOut: 40.26, petrolCap: 409.62},
12
+
13
+ { country: "BRA", year: 2014, nuclearOut: 14.46, nuclearCap: 17.43, gasOut: 77.75, gasCap: 86.64, coalOut: 25.8, coalCap: 29.35, petrolOut: 33.04, petrolCap: 32.67},
14
+ { country: "CHN", year: 2014, nuclearOut: 133.22, nuclearCap: 175.90, gasOut: 133.28, gasCap: 486.88, coalOut: 4203.06, coalCap: 7168.92, petrolOut: 35.66, petrolCap: 61.41},
15
+ { country: "DEU", year: 2014, nuclearOut: 97.13, nuclearCap: 105.73, gasOut: 60.61, gasCap: 238.36, coalOut: 274.41, coalCap: 438.88, petrolOut: 24.67, petrolCap: 14.63},
16
+ { country: "FRA", year: 2014, nuclearOut: 436.48, nuclearCap: 553.02, gasOut: 13.16, gasCap: 69.29, coalOut: 11.26, coalCap: 50.81, petrolOut: 11.34, petrolCap: 16.21},
17
+ { country: "EGY", year: 2014, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 127.39, gasCap: 220.93, coalOut: 0.0, coalCap: 0.00, petrolOut: 32.54, petrolCap: 0.00},
18
+ { country: "IND", year: 2014, nuclearOut: 34.69, nuclearCap: 50.63, gasOut: 64.01, gasCap: 208.49, coalOut: 949.93, coalCap: 1496.91, petrolOut: 11.55, petrolCap: 6.31},
19
+ { country: "JPN", year: 2014, nuclearOut: 0.0, nuclearCap: 387.72, gasOut: 450.88, gasCap: 679.60, coalOut: 355.6, coalCap: 398.14, petrolOut: 122.34, petrolCap: 249.40},
20
+ { country: "MEX", year: 2014, nuclearOut: 9.3, nuclearCap: 14.10, gasOut: 161.38, gasCap: 258.68, coalOut: 31.32, coalCap: 47.13, petrolOut: 30.73, petrolCap: 50.46},
21
+ { country: "NGA", year: 2014, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 24.42, gasCap: 72.18, coalOut: 0.84, coalCap: 2.45, petrolOut: 0.0, petrolCap: 0.00},
22
+ { country: "USA", year: 2014, nuclearOut: 797.17, nuclearCap: 863.47, gasOut: 1126.61, gasCap: 3920.71, coalOut: 1581.71, coalCap: 2840.52, petrolOut: 43.69, petrolCap: 392.80},
23
+
24
+ { country: "BRA", year: 2015, nuclearOut: 13.91, nuclearCap: 17.43, gasOut: 75.76, gasCap: 88.74, coalOut: 25.72, coalCap: 29.35, petrolOut: 27.37, petrolCap: 34.43},
25
+ { country: "CHN", year: 2015, nuclearOut: 171.38, nuclearCap: 238.01, gasOut: 166.91, gasCap: 562.04, coalOut: 4046.17, coalCap: 7691.02, petrolOut: 36.46, petrolCap: 58.52},
26
+ { country: "DEU", year: 2015, nuclearOut: 91.79, nuclearCap: 94.61, gasOut: 61.47, gasCap: 240.99, coalOut: 272.2, coalCap: 459.02, petrolOut: 25.57, petrolCap: 14.80},
27
+ { country: "FRA", year: 2015, nuclearOut: 437.43, nuclearCap: 553.02, gasOut: 21.14, gasCap: 70.87, coalOut: 11.89, coalCap: 32.76, petrolOut: 11.81, petrolCap: 16.56},
28
+ { country: "EGY", year: 2015, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 133.29, gasCap: 257.63, coalOut: 0.0, coalCap: 0.00, petrolOut: 37.39, petrolCap: 3.07},
29
+ { country: "IND", year: 2015, nuclearOut: 38.31, nuclearCap: 50.63, gasOut: 64.77, gasCap: 227.15, coalOut: 1006.55, coalCap: 1677.63, petrolOut: 9.26, petrolCap: 6.31},
30
+ { country: "JPN", year: 2015, nuclearOut: 4.52, nuclearCap: 368.36, gasOut: 417.5, gasCap: 694.67, coalOut: 349.64, coalCap: 398.84, petrolOut: 104.44, petrolCap: 249.40},
31
+ { country: "MEX", year: 2015, nuclearOut: 11.18, nuclearCap: 14.10, gasOut: 173.69, gasCap: 265.87, coalOut: 31.48, coalCap: 47.13, petrolOut: 29.11, petrolCap: 50.46},
32
+ { country: "NGA", year: 2015, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 24.4, gasCap: 88.13, coalOut: 0.69, coalCap: 2.45, petrolOut: 0.0, petrolCap: 0.00},
33
+ { country: "USA", year: 2015, nuclearOut: 797.18, nuclearCap: 864.35, gasOut: 1333.48, gasCap: 4019.70, coalOut: 1352.4, coalCap: 2650.69, petrolOut: 44.44, petrolCap: 345.32},
34
+
35
+ { country: "BRA", year: 2016, nuclearOut: 14.97, nuclearCap: 17.43, gasOut: 54.07, gasCap: 93.29, coalOut: 24.58, coalCap: 28.73, petrolOut: 14.41, petrolCap: 34.43},
36
+ { country: "CHN", year: 2016, nuclearOut: 213.18, nuclearCap: 294.69, gasOut: 188.28, gasCap: 585.61, coalOut: 4156.35, coalCap: 8071.99, petrolOut: 52.56, petrolCap: 43.45},
37
+ { country: "DEU", year: 2016, nuclearOut: 84.63, nuclearCap: 94.61, gasOut: 80.62, gasCap: 256.49, coalOut: 261.75, coalCap: 453.07, petrolOut: 25.39, petrolCap: 14.80},
38
+ { country: "FRA", year: 2016, nuclearOut: 403.2, nuclearCap: 553.02, gasOut: 34.97, gasCap: 75.95, coalOut: 10.23, coalCap: 32.76, petrolOut: 11.4, petrolCap: 16.56},
39
+ { country: "EGY", year: 2016, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 139.85, gasCap: 260.52, coalOut: 0.0, coalCap: 0.00, petrolOut: 34.23, petrolCap: 5.61},
40
+ { country: "IND", year: 2016, nuclearOut: 37.9, nuclearCap: 50.63, gasOut: 72.62, gasCap: 235.38, coalOut: 1073.6, coalCap: 1830.66, petrolOut: 9.41, petrolCap: 6.31},
41
+ { country: "JPN", year: 2016, nuclearOut: 17.68, nuclearCap: 363.36, gasOut: 421.84, gasCap: 723.31, coalOut: 345.24, coalCap: 400.42, petrolOut: 98.57, petrolCap: 249.40},
42
+ { country: "MEX", year: 2016, nuclearOut: 10.27, nuclearCap: 14.10, gasOut: 177.08, gasCap: 283.56, coalOut: 31.78, coalCap: 47.13, petrolOut: 30.92, petrolCap: 50.46},
43
+ { country: "NGA", year: 2016, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 23.24, gasCap: 89.18, coalOut: 0.65, coalCap: 2.45, petrolOut: 0.0, petrolCap: 0.00},
44
+ { country: "USA", year: 2016, nuclearOut: 805.69, nuclearCap: 872.15, gasOut: 1378.31, gasCap: 4127.36, coalOut: 1239.15, coalCap: 2510.88, petrolOut: 39.5, petrolCap: 323.42},
45
+
46
+ { country: "BRA", year: 2017, nuclearOut: 14.86, nuclearCap: 17.43, gasOut: 62.72, gasCap: 98.46, coalOut: 21.85, coalCap: 24.79, petrolOut: 17.33, petrolCap: 34.43},
47
+ { country: "CHN", year: 2017, nuclearOut: 248.1, nuclearCap: 313.78, gasOut: 203.2, gasCap: 638.60, coalOut: 4430.03, coalCap: 8356.16, petrolOut: 56.05, petrolCap: 49.14},
48
+ { country: "DEU", year: 2017, nuclearOut: 76.32, nuclearCap: 94.61, gasOut: 86.04, gasCap: 258.42, coalOut: 241.26, coalCap: 423.72, petrolOut: 25.16, petrolCap: 14.80},
49
+ { country: "FRA", year: 2017, nuclearOut: 398.36, nuclearCap: 553.02, gasOut: 40.5, gasCap: 75.95, coalOut: 12.81, coalCap: 32.76, petrolOut: 12.12, petrolCap: 16.56},
50
+ { country: "EGY", year: 2017, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 155.01, gasCap: 288.55, coalOut: 0.0, coalCap: 0.00, petrolOut: 26.3, petrolCap: 5.61},
51
+ { country: "IND", year: 2017, nuclearOut: 37.41, nuclearCap: 59.39, gasOut: 74.99, gasCap: 237.05, coalOut: 1115.24, coalCap: 1878.93, petrolOut: 8.79, petrolCap: 6.31},
52
+ { country: "JPN", year: 2017, nuclearOut: 29.07, nuclearCap: 342.78, gasOut: 428.92, gasCap: 733.74, coalOut: 342.88, coalCap: 403.92, petrolOut: 74.45, petrolCap: 249.40},
53
+ { country: "MEX", year: 2017, nuclearOut: 10.57, nuclearCap: 14.10, gasOut: 179.25, gasCap: 298.28, coalOut: 28.12, coalCap: 47.13, petrolOut: 35.42, petrolCap: 50.46},
54
+ { country: "NGA", year: 2017, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 24.38, gasCap: 89.18, coalOut: 0.68, coalCap: 2.45, petrolOut: 0.0, petrolCap: 0.00},
55
+ { country: "USA", year: 2017, nuclearOut: 804.95, nuclearCap: 872.76, gasOut: 1296.44, gasCap: 4229.68, coalOut: 1205.84, coalCap: 2433.18, petrolOut: 37.89, petrolCap: 320.62},
56
+
57
+ { country: "BRA", year: 2018, nuclearOut: 14.79, nuclearCap: 17.43, gasOut: 52.36, gasCap: 98.46, coalOut: 19.94, coalCap: 24.79, petrolOut: 14.39, petrolCap: 34.43},
58
+ { country: "CHN", year: 2018, nuclearOut: 295.0, nuclearCap: 391.22, gasOut: 215.5, gasCap: 710.70, coalOut: 4763.92, coalCap: 8555.54, petrolOut: 56.4, petrolCap: 55.19},
59
+ { country: "DEU", year: 2018, nuclearOut: 76.0, nuclearCap: 94.61, gasOut: 81.56, gasCap: 259.21, coalOut: 228.16, coalCap: 414.52, petrolOut: 23.63, petrolCap: 14.80},
60
+ { country: "FRA", year: 2018, nuclearOut: 412.94, nuclearCap: 553.02, gasOut: 30.61, gasCap: 75.95, coalOut: 8.31, coalCap: 32.76, petrolOut: 10.56, petrolCap: 16.56},
61
+ { country: "EGY", year: 2018, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 166.61, gasCap: 425.65, coalOut: 0.0, coalCap: 0.00, petrolOut: 15.7, petrolCap: 5.61},
62
+ { country: "IND", year: 2018, nuclearOut: 39.05, nuclearCap: 59.39, gasOut: 71.26, gasCap: 237.66, coalOut: 1198.86, coalCap: 1927.29, petrolOut: 6.4, petrolCap: 6.31},
63
+ { country: "JPN", year: 2018, nuclearOut: 49.11, nuclearCap: 333.23, gasOut: 425.37, gasCap: 747.84, coalOut: 345.13, coalCap: 405.50, petrolOut: 53.78, petrolCap: 241.69},
64
+ { country: "MEX", year: 2018, nuclearOut: 13.32, nuclearCap: 14.10, gasOut: 200.38, gasCap: 308.88, coalOut: 27.0, coalCap: 47.13, petrolOut: 33.19, petrolCap: 50.46},
65
+ { country: "NGA", year: 2018, nuclearOut: 0.0, nuclearCap: 0.00, gasOut: 23.49, gasCap: 94.26, coalOut: 0.62, coalCap: 2.45, petrolOut: 0.0, petrolCap: 0.00},
66
+ { country: "USA", year: 2018, nuclearOut: 807.08, nuclearCap: 871.01, gasOut: 1469.13, gasCap: 4431.51, coalOut: 1149.49, coalCap: 2293.89, petrolOut: 42.68, petrolCap: 304.67}
67
+ ]