@grnsft/if 0.0.6 → 0.1.0

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 (147) hide show
  1. package/.examples/ompls/azure.yml +205 -0
  2. package/.github/workflows/nodejs-ci.yml +0 -8
  3. package/README.md +48 -9
  4. package/build/index.js +1 -2
  5. package/examples/impls/test/azure.yml +8 -8
  6. package/examples/impls/test/ccf.yml +5 -3
  7. package/examples/impls/test/if-demo.yml +19 -9
  8. package/examples/impls/test/metadata.yml +3 -2
  9. package/examples/impls/test/nesting.yml +10 -13
  10. package/examples/impls/test/sci-e.yml +1 -1
  11. package/examples/impls/test/sci-m.yml +2 -2
  12. package/examples/impls/test/sci-o.yml +2 -4
  13. package/examples/impls/test/sci.yml +1 -2
  14. package/examples/impls/test/shell.yml +2 -1
  15. package/examples/impls/{tdp-finder-test.yml → test/tdp-finder.yml} +8 -8
  16. package/examples/ompls/ccf.yml +3 -1
  17. package/examples/ompls/if-demo.yml +46 -22
  18. package/package.json +12 -5
  19. package/tsconfig.build.json +7 -0
  20. package/tsconfig.build.tsbuildinfo +1 -0
  21. package/build/__mocks__/azure/index.d.ts +0 -11
  22. package/build/__mocks__/azure/index.js +0 -132
  23. package/build/__mocks__/boavizta/countries.json +0 -138
  24. package/build/__mocks__/boavizta/instance_types.json +0 -625
  25. package/build/__mocks__/boavizta/providers.json +0 -1
  26. package/build/__mocks__/fs/index.d.ts +0 -3
  27. package/build/__mocks__/fs/index.js +0 -56
  28. package/build/__mocks__/model-universe/index.d.ts +0 -31
  29. package/build/__mocks__/model-universe/index.js +0 -64
  30. package/build/__mocks__/watt-time/data.json +0 -119
  31. package/build/__tests__/integration/ompl/index.test.d.ts +0 -1
  32. package/build/__tests__/integration/ompl/index.test.js +0 -61
  33. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +0 -1
  34. package/build/__tests__/unit/lib/azure-importer/index.test.js +0 -152
  35. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +0 -1
  36. package/build/__tests__/unit/lib/boavizta/index.test.js +0 -579
  37. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +0 -1
  38. package/build/__tests__/unit/lib/case-studies/aveva.test.js +0 -36
  39. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +0 -1
  40. package/build/__tests__/unit/lib/case-studies/emem.test.js +0 -108
  41. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +0 -1
  42. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +0 -53
  43. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +0 -1
  44. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +0 -23
  45. package/build/__tests__/unit/lib/ccf/index.test.d.ts +0 -1
  46. package/build/__tests__/unit/lib/ccf/index.test.js +0 -223
  47. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +0 -1
  48. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +0 -73
  49. package/build/__tests__/unit/lib/models-universe.test.d.ts +0 -1
  50. package/build/__tests__/unit/lib/models-universe.test.js +0 -193
  51. package/build/__tests__/unit/lib/observatory.test.d.ts +0 -1
  52. package/build/__tests__/unit/lib/observatory.test.js +0 -99
  53. package/build/__tests__/unit/lib/sci/index.test.d.ts +0 -1
  54. package/build/__tests__/unit/lib/sci/index.test.js +0 -106
  55. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +0 -1
  56. package/build/__tests__/unit/lib/sci-e/index.test.js +0 -30
  57. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +0 -1
  58. package/build/__tests__/unit/lib/sci-m/index.test.js +0 -58
  59. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +0 -1
  60. package/build/__tests__/unit/lib/sci-o/index.test.js +0 -42
  61. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +0 -1
  62. package/build/__tests__/unit/lib/shell-imp/index.test.js +0 -21
  63. package/build/__tests__/unit/lib/supercomputer.test.d.ts +0 -1
  64. package/build/__tests__/unit/lib/supercomputer.test.js +0 -231
  65. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +0 -1
  66. package/build/__tests__/unit/lib/tdp-finder/index.test.js +0 -62
  67. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +0 -1
  68. package/build/__tests__/unit/lib/teads-aws/index.test.js +0 -170
  69. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +0 -1
  70. package/build/__tests__/unit/lib/teads-curve/index.test.js +0 -146
  71. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +0 -1
  72. package/build/__tests__/unit/lib/watt-time/index.test.js +0 -106
  73. package/build/__tests__/unit/util/args.test.d.ts +0 -1
  74. package/build/__tests__/unit/util/args.test.js +0 -92
  75. package/build/__tests__/unit/util/models-universe.test.d.ts +0 -1
  76. package/build/__tests__/unit/util/models-universe.test.js +0 -193
  77. package/build/__tests__/unit/util/observatory.test.d.ts +0 -1
  78. package/build/__tests__/unit/util/observatory.test.js +0 -99
  79. package/build/__tests__/unit/util/supercomputer.test.d.ts +0 -1
  80. package/build/__tests__/unit/util/supercomputer.test.js +0 -231
  81. package/build/__tests__/unit/util/yaml.test.d.ts +0 -1
  82. package/build/__tests__/unit/util/yaml.test.js +0 -59
  83. package/build/lib/azure-importer/index.d.ts +0 -55
  84. package/build/lib/azure-importer/index.js +0 -314
  85. package/build/lib/boavizta/index.d.ts +0 -53
  86. package/build/lib/boavizta/index.js +0 -254
  87. package/build/lib/case-studies/aveva-model.d.ts +0 -29
  88. package/build/lib/case-studies/aveva-model.js +0 -53
  89. package/build/lib/case-studies/emem-model.d.ts +0 -42
  90. package/build/lib/case-studies/emem-model.js +0 -93
  91. package/build/lib/case-studies/eshoppen-model.d.ts +0 -24
  92. package/build/lib/case-studies/eshoppen-model.js +0 -123
  93. package/build/lib/case-studies/index.d.ts +0 -4
  94. package/build/lib/case-studies/index.js +0 -21
  95. package/build/lib/case-studies/sci-accenture-model.d.ts +0 -10
  96. package/build/lib/case-studies/sci-accenture-model.js +0 -37
  97. package/build/lib/ccf/aws-embodied.json +0 -5591
  98. package/build/lib/ccf/aws-instances.json +0 -21116
  99. package/build/lib/ccf/aws-use.json +0 -79
  100. package/build/lib/ccf/azure-embodied.json +0 -6547
  101. package/build/lib/ccf/azure-instances.json +0 -8332
  102. package/build/lib/ccf/azure-use.json +0 -58
  103. package/build/lib/ccf/gcp-embodied.json +0 -3049
  104. package/build/lib/ccf/gcp-instances.json +0 -3880
  105. package/build/lib/ccf/gcp-use.json +0 -58
  106. package/build/lib/ccf/index.d.ts +0 -63
  107. package/build/lib/ccf/index.js +0 -338
  108. package/build/lib/cloud-instance-metadata/aws-instances.json +0 -1
  109. package/build/lib/cloud-instance-metadata/azure-instances.json +0 -1
  110. package/build/lib/cloud-instance-metadata/index.d.ts +0 -15
  111. package/build/lib/cloud-instance-metadata/index.js +0 -104
  112. package/build/lib/index.d.ts +0 -14
  113. package/build/lib/index.js +0 -32
  114. package/build/lib/interfaces/ccf.d.ts +0 -19
  115. package/build/lib/interfaces/ccf.js +0 -3
  116. package/build/lib/interfaces/index.d.ts +0 -7
  117. package/build/lib/interfaces/index.js +0 -18
  118. package/build/lib/sci/index.d.ts +0 -13
  119. package/build/lib/sci/index.js +0 -131
  120. package/build/lib/sci-e/index.d.ts +0 -38
  121. package/build/lib/sci-e/index.js +0 -85
  122. package/build/lib/sci-m/index.d.ts +0 -10
  123. package/build/lib/sci-m/index.js +0 -124
  124. package/build/lib/sci-o/index.d.ts +0 -17
  125. package/build/lib/sci-o/index.js +0 -52
  126. package/build/lib/shell-imp/index.d.ts +0 -32
  127. package/build/lib/shell-imp/index.js +0 -82
  128. package/build/lib/tdp-finder/index.d.ts +0 -19
  129. package/build/lib/tdp-finder/index.js +0 -98
  130. package/build/lib/teads-aws/aws-embodied.json +0 -1
  131. package/build/lib/teads-aws/aws-instances.json +0 -1
  132. package/build/lib/teads-aws/index.d.ts +0 -58
  133. package/build/lib/teads-aws/index.js +0 -208
  134. package/build/lib/teads-curve/index.d.ts +0 -52
  135. package/build/lib/teads-curve/index.js +0 -158
  136. package/build/lib/watt-time/index.d.ts +0 -18
  137. package/build/lib/watt-time/index.js +0 -204
  138. package/build/util/models-universe.d.ts +0 -28
  139. package/build/util/models-universe.js +0 -95
  140. package/build/util/observatory.d.ts +0 -20
  141. package/build/util/observatory.js +0 -31
  142. package/build/util/supercomputer.d.ts +0 -30
  143. package/build/util/supercomputer.js +0 -109
  144. package/docs/implementations/tdp-finder.md +0 -36
  145. package/examples/impls/test/complex-pipeline.yml +0 -67
  146. package/examples/impls/test/toto.yaml +0 -22
  147. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,205 @@
1
+ name: ccf-demo
2
+ description: example impl invoking CCF model
3
+ tags: null
4
+ initialize:
5
+ models:
6
+ - name: azure-importer
7
+ kind: plugin
8
+ path: if-models
9
+ model: AzureImporterModel
10
+ graph:
11
+ children:
12
+ child:
13
+ pipeline:
14
+ - azure-importer
15
+ config:
16
+ azure-importer: null
17
+ inputs:
18
+ - timestamp: '2023-11-02T10:35:31.820Z'
19
+ duration: 3600
20
+ azure-observation-window: 5 min
21
+ azure-observation-aggregation: average
22
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
23
+ azure-resource-group: vm1_group
24
+ azure-vm-name: vm1
25
+ outputs:
26
+ - timestamp: '2023-11-02T10:35:31.820Z'
27
+ cloud-vendor: azure
28
+ cpu-util: '0.314'
29
+ mem-availableGB: 0.488636416
30
+ mem-usedGB: 0.5113635839999999
31
+ total-memoryGB: '1'
32
+ mem-util: 51.13635839999999
33
+ location: uksouth
34
+ cloud-instance-type: Standard_B1s
35
+ duration: 300
36
+ azure-observation-window: 5 min
37
+ azure-observation-aggregation: average
38
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
39
+ azure-resource-group: vm1_group
40
+ azure-vm-name: vm1
41
+ - timestamp: '2023-11-02T10:35:31.820Z'
42
+ cloud-vendor: azure
43
+ cpu-util: '0.314'
44
+ mem-availableGB: 0.48978984960000005
45
+ mem-usedGB: 0.5102101504
46
+ total-memoryGB: '1'
47
+ mem-util: 51.021015039999995
48
+ location: uksouth
49
+ cloud-instance-type: Standard_B1s
50
+ duration: 300
51
+ azure-observation-window: 5 min
52
+ azure-observation-aggregation: average
53
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
54
+ azure-resource-group: vm1_group
55
+ azure-vm-name: vm1
56
+ - timestamp: '2023-11-02T10:35:31.820Z'
57
+ cloud-vendor: azure
58
+ cpu-util: '0.301'
59
+ mem-availableGB: 0.490733568
60
+ mem-usedGB: 0.509266432
61
+ total-memoryGB: '1'
62
+ mem-util: 50.9266432
63
+ location: uksouth
64
+ cloud-instance-type: Standard_B1s
65
+ duration: 300
66
+ azure-observation-window: 5 min
67
+ azure-observation-aggregation: average
68
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
69
+ azure-resource-group: vm1_group
70
+ azure-vm-name: vm1
71
+ - timestamp: '2023-11-02T10:35:31.820Z'
72
+ cloud-vendor: azure
73
+ cpu-util: '0.298'
74
+ mem-availableGB: 0.490733568
75
+ mem-usedGB: 0.509266432
76
+ total-memoryGB: '1'
77
+ mem-util: 50.9266432
78
+ location: uksouth
79
+ cloud-instance-type: Standard_B1s
80
+ duration: 300
81
+ azure-observation-window: 5 min
82
+ azure-observation-aggregation: average
83
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
84
+ azure-resource-group: vm1_group
85
+ azure-vm-name: vm1
86
+ - timestamp: '2023-11-02T10:35:31.820Z'
87
+ cloud-vendor: azure
88
+ cpu-util: '0.301'
89
+ mem-availableGB: 0.49178214400000003
90
+ mem-usedGB: 0.5082178559999999
91
+ total-memoryGB: '1'
92
+ mem-util: 50.82178559999999
93
+ location: uksouth
94
+ cloud-instance-type: Standard_B1s
95
+ duration: 300
96
+ azure-observation-window: 5 min
97
+ azure-observation-aggregation: average
98
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
99
+ azure-resource-group: vm1_group
100
+ azure-vm-name: vm1
101
+ - timestamp: '2023-11-02T10:35:31.820Z'
102
+ cloud-vendor: azure
103
+ cpu-util: '0.298'
104
+ mem-availableGB: 0.49178214400000003
105
+ mem-usedGB: 0.5082178559999999
106
+ total-memoryGB: '1'
107
+ mem-util: 50.82178559999999
108
+ location: uksouth
109
+ cloud-instance-type: Standard_B1s
110
+ duration: 300
111
+ azure-observation-window: 5 min
112
+ azure-observation-aggregation: average
113
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
114
+ azure-resource-group: vm1_group
115
+ azure-vm-name: vm1
116
+ - timestamp: '2023-11-02T10:35:31.820Z'
117
+ cloud-vendor: azure
118
+ cpu-util: '0.304'
119
+ mem-availableGB: 0.492306432
120
+ mem-usedGB: 0.507693568
121
+ total-memoryGB: '1'
122
+ mem-util: 50.7693568
123
+ location: uksouth
124
+ cloud-instance-type: Standard_B1s
125
+ duration: 300
126
+ azure-observation-window: 5 min
127
+ azure-observation-aggregation: average
128
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
129
+ azure-resource-group: vm1_group
130
+ azure-vm-name: vm1
131
+ - timestamp: '2023-11-02T10:35:31.820Z'
132
+ cloud-vendor: azure
133
+ cpu-util: '0.3'
134
+ mem-availableGB: 0.49283072000000006
135
+ mem-usedGB: 0.50716928
136
+ total-memoryGB: '1'
137
+ mem-util: 50.716927999999996
138
+ location: uksouth
139
+ cloud-instance-type: Standard_B1s
140
+ duration: 300
141
+ azure-observation-window: 5 min
142
+ azure-observation-aggregation: average
143
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
144
+ azure-resource-group: vm1_group
145
+ azure-vm-name: vm1
146
+ - timestamp: '2023-11-02T10:35:31.820Z'
147
+ cloud-vendor: azure
148
+ cpu-util: '0.636'
149
+ mem-availableGB: 0.5062524928000001
150
+ mem-usedGB: 0.49374750719999994
151
+ total-memoryGB: '1'
152
+ mem-util: 49.374750719999994
153
+ location: uksouth
154
+ cloud-instance-type: Standard_B1s
155
+ duration: 300
156
+ azure-observation-window: 5 min
157
+ azure-observation-aggregation: average
158
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
159
+ azure-resource-group: vm1_group
160
+ azure-vm-name: vm1
161
+ - timestamp: '2023-11-02T10:35:31.820Z'
162
+ cloud-vendor: azure
163
+ cpu-util: '0.29500000000000004'
164
+ mem-availableGB: 0.509607936
165
+ mem-usedGB: 0.490392064
166
+ total-memoryGB: '1'
167
+ mem-util: 49.039206400000005
168
+ location: uksouth
169
+ cloud-instance-type: Standard_B1s
170
+ duration: 300
171
+ azure-observation-window: 5 min
172
+ azure-observation-aggregation: average
173
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
174
+ azure-resource-group: vm1_group
175
+ azure-vm-name: vm1
176
+ - timestamp: '2023-11-02T10:35:31.820Z'
177
+ cloud-vendor: azure
178
+ cpu-util: '0.309'
179
+ mem-availableGB: 0.5106565120000001
180
+ mem-usedGB: 0.48934348799999994
181
+ total-memoryGB: '1'
182
+ mem-util: 48.934348799999995
183
+ location: uksouth
184
+ cloud-instance-type: Standard_B1s
185
+ duration: 300
186
+ azure-observation-window: 5 min
187
+ azure-observation-aggregation: average
188
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
189
+ azure-resource-group: vm1_group
190
+ azure-vm-name: vm1
191
+ - timestamp: '2023-11-02T10:35:31.820Z'
192
+ cloud-vendor: azure
193
+ cpu-util: '0.484'
194
+ mem-availableGB: 0.5106565120000001
195
+ mem-usedGB: 0.48934348799999994
196
+ total-memoryGB: '1'
197
+ mem-util: 48.934348799999995
198
+ location: uksouth
199
+ cloud-instance-type: Standard_B1s
200
+ duration: 300
201
+ azure-observation-window: 5 min
202
+ azure-observation-aggregation: average
203
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
204
+ azure-resource-group: vm1_group
205
+ azure-vm-name: vm1
@@ -16,17 +16,9 @@ jobs:
16
16
  node-version: 18
17
17
  cache: 'yarn'
18
18
 
19
- - name: 'setup python'
20
- uses: actions/setup-python@v4
21
- with:
22
- python-version: '3.11'
23
-
24
19
  - name: Install dependencies
25
20
  run: yarn install
26
21
 
27
- - name: Copy Sample CLI Mocker to bin folder
28
- run: pip3 install pyyaml && cp src/lib/shell-imp/sampler /usr/local/bin/sampler && chmod +x /usr/local/bin/sampler
29
-
30
22
  - name: Run lint
31
23
  run: yarn lint
32
24
 
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Impact Engine Framework
1
+ # Impact Framework
2
2
 
3
- [Impact Engine Framework](https://greensoftwarefoundation.atlassian.net/wiki/spaces/~612dd45e45cd76006a84071a/pages/17072136/Opensource+Impact+Engine+Framework) is an [Incubation](https://oc.greensoftware.foundation/project-lifecycle.html#incubation) project from the [Open Source Working Group](https://greensoftwarefoundation.atlassian.net/wiki/spaces/~612dd45e45cd76006a84071a/pages/852049/Open+Source+Working+Group) in the [Green Software Foundation](https://greensoftware.foundation/).
3
+ [Impact Framework](https://greensoftwarefoundation.atlassian.net/wiki/spaces/~612dd45e45cd76006a84071a/pages/17072136/Opensource+Impact+Engine+Framework) (IF) is an [Incubation](https://oc.greensoftware.foundation/project-lifecycle.html#incubation) project from the [Open Source Working Group](https://greensoftwarefoundation.atlassian.net/wiki/spaces/~612dd45e45cd76006a84071a/pages/852049/Open+Source+Working+Group) in the [Green Software Foundation](https://greensoftware.foundation/).
4
4
 
5
- **IEF** is a framework to **M**odel, **M**easure, si**M**ulate and **M**onitor the environmental impacts of software
5
+ **IF** is a framework to **M**odel, **M**easure, si**M**ulate and **M**onitor the environmental impacts of software
6
6
 
7
7
  Modern applications are composed of many smaller pieces of software (components) running on many different environments, for example, private cloud, public cloud, bare-metal, virtualized, containerized, mobile, laptops, and desktops.
8
8
 
@@ -15,12 +15,51 @@ Read the [specification and design docs](https://github.com/Green-Software-Found
15
15
 
16
16
  ## Get started
17
17
 
18
- The first thing to understand is that IF is a framework for running model plugins. This means that in order to do some calculations, you need to load some models from some external resource. We provide a [standard library of models](https://github.com/Green-Software-Foundation/if-models) and a repository of [community models](https://github.com/Green-Software-Foundation/if-community-models) to get you started.
18
+ The first thing to understand is that IF is a framework for running model plugins. This means that in order to do some calculations, you need to load some models from some external resource. We provide a [standard library of models](https://github.com/Green-Software-Foundation/if-models) and a repository of [community models](https://github.com/Green-Software-Foundation/if-unofficial-models) to get you started.
19
19
 
20
- Start by installing some models:
20
+ Start by installing framework itself:
21
21
 
22
22
  ```sh
23
- yarn add https://github.com/Green-Software-Foundation/if-models
23
+ npm install -g "@grnsft/if"
24
+ ```
25
+ Then installing some models:
26
+
27
+ ```sh
28
+ npm install -g "@grnsft/if-models"
29
+ ```
30
+
31
+ Then create an `impl` file that describes your application (see our docs for a detailed explanation).
32
+
33
+ Then, run `impact-engine` using the following command:
34
+
35
+ ```sh
36
+ impact-engine --impl <path-to-your-impl-file>
37
+ ```
38
+
39
+ You can also add an optional savepath for your output yaml (if you do not provide one, the output will be printed to the console):
40
+
41
+ ```sh
42
+ impact-engine --impl <path-to-your-impl-file> --ompl <your-savepath>
43
+ ```
44
+
45
+ The `impact-engine` CLI tool will configure and run the models defined in your input `yaml` (`impl`) and return the results as an output `yaml` (`ompl`).
46
+
47
+ ### Alternate version
48
+
49
+ Start by cloning repository locally:
50
+
51
+ ```sh
52
+ git clone https://github.com/Green-Software-Foundation/if
53
+
54
+ cd if
55
+
56
+ yarn install
57
+ ```
58
+
59
+ Then installing some models:
60
+
61
+ ```sh
62
+ yarn add "@grnsft/if-models"
24
63
  ```
25
64
 
26
65
  Then create an `impl` file that describes your application (see our docs for a detailed explanation).
@@ -28,24 +67,24 @@ Then create an `impl` file that describes your application (see our docs for a d
28
67
  Then, run `impact-engine` using the following command:
29
68
 
30
69
  ```sh
31
- npx ts-node impact-engine.ts --impl <path-to-your-impl-file>
70
+ yarn impact-engine -- --impl <path-to-your-impl-file>
32
71
  ```
33
72
 
34
73
  You can also add an optional savepath for your output yaml (if you do not provide one, the output will be printed to the console):
35
74
 
36
75
  ```sh
37
- npx ts-node impact-engine.ts --impl <path-to-your-impl-file> --ompl <your-savepath>
76
+ yarn impact-engine -- --impl <path-to-your-impl-file> --ompl <your-savepath>
38
77
  ```
39
78
 
40
79
  The `impact-engine` CLI tool will configure and run the models defined in your input `yaml` (`impl`) and return the results as an output `yaml` (`ompl`).
41
80
 
81
+
42
82
  ## Video walk-through
43
83
 
44
84
  Watch this video to learn how to create and run an `impl`.
45
85
 
46
86
  [![Watch the walk-through video](https://i3.ytimg.com/vi/R-6eDM8AsvY/maxresdefault.jpg)](https://youtu.be/R-6eDM8AsvY)
47
87
 
48
-
49
88
  ## Run tests
50
89
 
51
90
  To run the complete set of tests simply run
package/build/index.js CHANGED
@@ -17,7 +17,6 @@ const { DISCLAIMER_MESSAGE, SOMETHING_WRONG } = config_1.STRINGS;
17
17
  * 3. Initializes models.
18
18
  * 4. Initializes graph, does computing.
19
19
  * 5. Saves processed object as a yaml file.
20
- * @example run `npx ts-node impact-engine.ts --impl ./test.yml --ompl ./result.yml`
21
20
  * @example run `npm run impact-engine -- --impl ./test.yml --ompl ./result.yml`
22
21
  */
23
22
  const impactEngine = async () => {
@@ -44,4 +43,4 @@ const impactEngine = async () => {
44
43
  return Promise.reject(new CliInputError(SOMETHING_WRONG));
45
44
  };
46
45
  impactEngine().catch(helpers_1.andHandle);
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQXFEO0FBQ3JELHVEQUFrRDtBQUVsRCxzQ0FBaUQ7QUFDakQsMENBQXFDO0FBQ3JDLDRDQUF5QztBQUN6QyxvREFBZ0Q7QUFDaEQsc0NBQWlFO0FBRWpFLHFDQUFpQztBQUVqQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXREOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQW9CLEdBQUUsQ0FBQztJQUU3QyxJQUFJLGFBQWEsRUFBRTtRQUNqQixNQUFNLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxHQUFHLGFBQWEsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsMkJBQW9CLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEQsdUJBQXVCO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUEsMEJBQVksRUFBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyw4QkFBOEI7UUFDOUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDNUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztRQUVGLHNCQUFzQjtRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLDZCQUFhLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFdkMsT0FBTztLQUNSO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7TW9kZWxzVW5pdmVyc2V9IGZyb20gJy4vbGliL21vZGVscy11bml2ZXJzZSc7XG5pbXBvcnQge1N1cGVyY29tcHV0ZXJ9IGZyb20gJy4vbGliL3N1cGVyY29tcHV0ZXInO1xuXG5pbXBvcnQge3BhcnNlUHJvY2Vzc0FyZ3VtZW50fSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2FuZEhhbmRsZX0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHt2YWxpZGF0ZUltcGx9IGZyb20gJy4vdXRpbC92YWxpZGF0aW9ucyc7XG5pbXBvcnQge29wZW5ZYW1sRmlsZUFzT2JqZWN0LCBzYXZlWWFtbEZpbGVBc30gZnJvbSAnLi91dGlsL3lhbWwnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFLCBTT01FVEhJTkdfV1JPTkd9ID0gU1RSSU5HUztcblxuLyoqXG4gKiAxLiBQYXJzZXMgeW1sIGlucHV0L291dHB1dCBwcm9jZXNzIGFyZ3VtZW50cy5cbiAqIDIuIE9wZW5zIHlhbWwgZmlsZSBhcyBhbiBvYmplY3QuXG4gKiAzLiBJbml0aWFsaXplcyBtb2RlbHMuXG4gKiA0LiBJbml0aWFsaXplcyBncmFwaCwgZG9lcyBjb21wdXRpbmcuXG4gKiA1LiBTYXZlcyBwcm9jZXNzZWQgb2JqZWN0IGFzIGEgeWFtbCBmaWxlLlxuICogQGV4YW1wbGUgcnVuIGBucHggdHMtbm9kZSBpbXBhY3QtZW5naW5lLnRzIC0taW1wbCAuL3Rlc3QueW1sIC0tb21wbCAuL3Jlc3VsdC55bWxgXG4gKiBAZXhhbXBsZSBydW4gYG5wbSBydW4gaW1wYWN0LWVuZ2luZSAtLSAtLWltcGwgLi90ZXN0LnltbCAtLW9tcGwgLi9yZXN1bHQueW1sYFxuICovXG5jb25zdCBpbXBhY3RFbmdpbmUgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKERJU0NMQUlNRVJfTUVTU0FHRSk7XG5cbiAgY29uc3QgcHJvY2Vzc1BhcmFtcyA9IHBhcnNlUHJvY2Vzc0FyZ3VtZW50KCk7XG5cbiAgaWYgKHByb2Nlc3NQYXJhbXMpIHtcbiAgICBjb25zdCB7aW5wdXRQYXRoLCBvdXRwdXRQYXRofSA9IHByb2Nlc3NQYXJhbXM7XG4gICAgY29uc3QgcmF3SW1wbCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0KGlucHV0UGF0aCk7XG5cbiAgICAvLyBMaWZlY3ljbGUgVmFsaWRhdGlvblxuICAgIGNvbnN0IGltcGwgPSB2YWxpZGF0ZUltcGwocmF3SW1wbCk7XG5cbiAgICAvLyBMaWZlY3ljbGUgSW5pdGlhbGl6ZSBNb2RlbHNcbiAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgIGltcGwuaW5pdGlhbGl6ZS5tb2RlbHMuZm9yRWFjaCgobW9kZWw6IGFueSkgPT5cbiAgICAgIG1vZGVsc0hhbmRib29rLndyaXRlRG93bihtb2RlbClcbiAgICApO1xuXG4gICAgLy8gTGlmZWN5Y2xlIENvbXB1dGluZ1xuICAgIGNvbnN0IGF0ZXJ1aUNvbXB1dGVyID0gbmV3IFN1cGVyY29tcHV0ZXIoaW1wbCwgbW9kZWxzSGFuZGJvb2spO1xuICAgIGNvbnN0IG9tcGwgPSBhd2FpdCBhdGVydWlDb21wdXRlci5jb21wdXRlKCk7XG5cbiAgICBpZiAoIW91dHB1dFBhdGgpIHtcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KG9tcGwpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlWWFtbEZpbGVBcyhvbXBsLCBvdXRwdXRQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQ2xpSW5wdXRFcnJvcihTT01FVEhJTkdfV1JPTkcpKTtcbn07XG5cbmltcGFjdEVuZ2luZSgpLmNhdGNoKGFuZEhhbmRsZSk7XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQXFEO0FBQ3JELHVEQUFrRDtBQUVsRCxzQ0FBaUQ7QUFDakQsMENBQXFDO0FBQ3JDLDRDQUF5QztBQUN6QyxvREFBZ0Q7QUFDaEQsc0NBQWlFO0FBRWpFLHFDQUFpQztBQUVqQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXREOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFaEMsTUFBTSxhQUFhLEdBQUcsSUFBQSwyQkFBb0IsR0FBRSxDQUFDO0lBRTdDLElBQUksYUFBYSxFQUFFO1FBQ2pCLE1BQU0sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLEdBQUcsYUFBYSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUV0RCx1QkFBdUI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBQSwwQkFBWSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxJQUFJLGdDQUFjLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUM1QyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNoQyxDQUFDO1FBRUYsc0JBQXNCO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLElBQUksNkJBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFNUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBQSxxQkFBYyxFQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV2QyxPQUFPO0tBQ1I7SUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUFFRixZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0IHtNb2RlbHNVbml2ZXJzZX0gZnJvbSAnLi9saWIvbW9kZWxzLXVuaXZlcnNlJztcbmltcG9ydCB7U3VwZXJjb21wdXRlcn0gZnJvbSAnLi9saWIvc3VwZXJjb21wdXRlcic7XG5cbmltcG9ydCB7cGFyc2VQcm9jZXNzQXJndW1lbnR9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICcuL3V0aWwvZXJyb3JzJztcbmltcG9ydCB7YW5kSGFuZGxlfSBmcm9tICcuL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge3ZhbGlkYXRlSW1wbH0gZnJvbSAnLi91dGlsL3ZhbGlkYXRpb25zJztcbmltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3QsIHNhdmVZYW1sRmlsZUFzfSBmcm9tICcuL3V0aWwveWFtbCc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi9jb25maWcnO1xuXG5jb25zdCB7Q2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtESVNDTEFJTUVSX01FU1NBR0UsIFNPTUVUSElOR19XUk9OR30gPSBTVFJJTkdTO1xuXG4vKipcbiAqIDEuIFBhcnNlcyB5bWwgaW5wdXQvb3V0cHV0IHByb2Nlc3MgYXJndW1lbnRzLlxuICogMi4gT3BlbnMgeWFtbCBmaWxlIGFzIGFuIG9iamVjdC5cbiAqIDMuIEluaXRpYWxpemVzIG1vZGVscy5cbiAqIDQuIEluaXRpYWxpemVzIGdyYXBoLCBkb2VzIGNvbXB1dGluZy5cbiAqIDUuIFNhdmVzIHByb2Nlc3NlZCBvYmplY3QgYXMgYSB5YW1sIGZpbGUuXG4gKiBAZXhhbXBsZSBydW4gYG5wbSBydW4gaW1wYWN0LWVuZ2luZSAtLSAtLWltcGwgLi90ZXN0LnltbCAtLW9tcGwgLi9yZXN1bHQueW1sYFxuICovXG5jb25zdCBpbXBhY3RFbmdpbmUgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKERJU0NMQUlNRVJfTUVTU0FHRSk7XG5cbiAgY29uc3QgcHJvY2Vzc1BhcmFtcyA9IHBhcnNlUHJvY2Vzc0FyZ3VtZW50KCk7XG5cbiAgaWYgKHByb2Nlc3NQYXJhbXMpIHtcbiAgICBjb25zdCB7aW5wdXRQYXRoLCBvdXRwdXRQYXRofSA9IHByb2Nlc3NQYXJhbXM7XG4gICAgY29uc3QgcmF3SW1wbCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0KGlucHV0UGF0aCk7XG5cbiAgICAvLyBMaWZlY3ljbGUgVmFsaWRhdGlvblxuICAgIGNvbnN0IGltcGwgPSB2YWxpZGF0ZUltcGwocmF3SW1wbCk7XG5cbiAgICAvLyBMaWZlY3ljbGUgSW5pdGlhbGl6ZSBNb2RlbHNcbiAgICBjb25zdCBtb2RlbHNIYW5kYm9vayA9IG5ldyBNb2RlbHNVbml2ZXJzZSgpO1xuICAgIGltcGwuaW5pdGlhbGl6ZS5tb2RlbHMuZm9yRWFjaCgobW9kZWw6IGFueSkgPT5cbiAgICAgIG1vZGVsc0hhbmRib29rLndyaXRlRG93bihtb2RlbClcbiAgICApO1xuXG4gICAgLy8gTGlmZWN5Y2xlIENvbXB1dGluZ1xuICAgIGNvbnN0IGF0ZXJ1aUNvbXB1dGVyID0gbmV3IFN1cGVyY29tcHV0ZXIoaW1wbCwgbW9kZWxzSGFuZGJvb2spO1xuICAgIGNvbnN0IG9tcGwgPSBhd2FpdCBhdGVydWlDb21wdXRlci5jb21wdXRlKCk7XG5cbiAgICBpZiAoIW91dHB1dFBhdGgpIHtcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KG9tcGwpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlWWFtbEZpbGVBcyhvbXBsLCBvdXRwdXRQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQ2xpSW5wdXRFcnJvcihTT01FVEhJTkdfV1JPTkcpKTtcbn07XG5cbmltcGFjdEVuZ2luZSgpLmNhdGNoKGFuZEhhbmRsZSk7XG4iXX0=
@@ -4,7 +4,7 @@ tags:
4
4
  initialize:
5
5
  models:
6
6
  - name: azure-importer
7
- path: if-models
7
+ path: "@grnsft/if-unofficial-models"
8
8
  model: AzureImporterModel
9
9
  kind: plugin
10
10
  graph:
@@ -15,12 +15,12 @@ graph:
15
15
  config:
16
16
  azure-importer:
17
17
  inputs:
18
- - timestamp: '2023-11-02T10:35:31.820Z'
19
- duration: 3600
20
- azure-observation-window: 5 min # value and unit must be space separated
21
- azure-observation-aggregation: 'average'
22
- azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
23
- azure-resource-group: vm1_group
24
- azure-vm-name: vm1
18
+ - timestamp: '2023-11-02T10:35:31.820Z'
19
+ duration: 3600
20
+ azure-observation-window: 5 min # value and unit must be space separated
21
+ azure-observation-aggregation: 'average'
22
+ azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
23
+ azure-resource-group: vm1_group
24
+ azure-vm-name: vm1
25
25
 
26
26
 
@@ -1,9 +1,11 @@
1
1
  name: ccf-demo
2
2
  description: example impl invoking CCF model
3
+ tags:
3
4
  initialize:
4
5
  models:
5
6
  - name: ccf
6
- kind: builtin
7
+ model: CloudCarbonFootprint
8
+ path: "@grnsft/if-unofficial-models"
7
9
  graph:
8
10
  children:
9
11
  child:
@@ -11,8 +13,8 @@ graph:
11
13
  - ccf
12
14
  config:
13
15
  ccf:
14
- vendor: aws
15
- instance-type: m5n.large
16
+ vendor: 'aws'
17
+ instance-type: 'm5n.large'
16
18
  inputs:
17
19
  - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
18
20
  duration: 1
@@ -4,21 +4,29 @@ tags:
4
4
  initialize:
5
5
  models:
6
6
  - name: azure-importer
7
- kind: builtin
7
+ model: AzureImporterModel
8
+ path: "@grnsft/if-unofficial-models"
8
9
  - name: cloud-instance-metadata
9
- kind: builtin
10
+ model: CloudInstanceMetadataModel
11
+ path: "@grnsft/if-models"
10
12
  - name: teads-curve
11
- kind: builtin
13
+ model: TeadsCurveModel
14
+ path: "@grnsft/if-unofficial-models"
12
15
  - name: sci-e
13
- kind: builtin
16
+ model: SciEModel
17
+ path: "@grnsft/if-models"
14
18
  - name: sci-o
15
- kind: builtin
19
+ model: SciOModel
20
+ path: "@grnsft/if-models"
16
21
  - name: sci-e
17
- kind: builtin
22
+ model: SciEModel
23
+ path: "@grnsft/if-models"
18
24
  - name: sci-m
19
- kind: builtin
25
+ model: SciMModel
26
+ path: "@grnsft/if-models"
20
27
  - name: sci
21
- kind: builtin
28
+ model: SciModel
29
+ path: "@grnsft/if-models"
22
30
  graph:
23
31
  children:
24
32
  child:
@@ -31,6 +39,8 @@ graph:
31
39
  - sci-m
32
40
  - sci
33
41
  config:
42
+ sci-o:
43
+ grid-carbon-intensity: 951
34
44
  sci:
35
45
  functional-unit: ''
36
46
  functional-unit-time: hour
@@ -43,9 +53,9 @@ graph:
43
53
  azure-subscription-id: 9de7e19f-8a18-4e73-9451-45fc74e7d0d3
44
54
  azure-resource-group: vm1_group
45
55
  azure-vm-name: vm1
46
- grid-carbon-intensity: 951
47
56
  total-embodied-emissions: 1533.12
48
57
  time-reserved: 300
49
58
  expected-lifespan: 94348800 # 3 yrs in seconds
50
59
  resources-reserved: 1
51
60
  total-resources: 64
61
+
@@ -1,10 +1,11 @@
1
- name: sci-m
1
+ name: cloud-instance-metadata
2
2
  description: simple demo invoking metadata lookup
3
3
  tags: null
4
4
  initialize:
5
5
  models:
6
6
  - name: cloud-instance-metadata
7
- kind: builtin
7
+ model: CloudInstanceMetadataModel
8
+ path: "@grnsft/if-models"
8
9
  graph:
9
10
  children:
10
11
  child:
@@ -7,23 +7,20 @@ tags:
7
7
  initialize:
8
8
  models:
9
9
  - name: teads-curve
10
- kind: builtin
10
+ model: TeadsCurveModel
11
+ path: "@grnsft/if-unofficial-models"
11
12
  - name: sci-e
12
- kind: builtin
13
- verbose: false
14
- path: ''
13
+ model: SciEModel
14
+ path: "@grnsft/if-models"
15
15
  - name: sci-m
16
- kind: builtin
17
- verbose: false
18
- path: ''
16
+ path: "@grnsft/if-models"
17
+ model: SciMModel
19
18
  - name: sci-o
20
- kind: builtin
21
- verbose: false
22
- path: ''
19
+ model: SciOModel
20
+ path: "@grnsft/if-models"
23
21
  - name: sci
24
- kind: builtin
25
- verbose: false
26
- path: ''
22
+ model: SciModel
23
+ path: "@grnsft/if-models"
27
24
  graph:
28
25
  children:
29
26
  child: # an advanced grouping node
@@ -7,7 +7,7 @@ initialize:
7
7
  kind: plugin
8
8
  verbose: false
9
9
  model: SciEModel
10
- path: if-models
10
+ path: "@grnsft/if-models"
11
11
  graph:
12
12
  children:
13
13
  child:
@@ -4,9 +4,9 @@ tags:
4
4
  initialize:
5
5
  models:
6
6
  - name: sci-m # a model that calculates m from te, tir, el, rr and rtor
7
- kind: builtin
7
+ model: SciMModel
8
8
  verbose: false
9
- path: ''
9
+ path: "@grnsft/if-models"
10
10
  graph:
11
11
  children:
12
12
  child:
@@ -5,14 +5,12 @@ initialize:
5
5
  models:
6
6
  - name: sci-e
7
7
  kind: plugin
8
- verbose: false
9
8
  model: SciEModel
10
- path: if-models
9
+ path: "@grnsft/if-models"
11
10
  - name: sci-o
12
- kind: plugin
13
11
  verbose: false
14
12
  model: SciOModel
15
- path: if-models
13
+ path: "@grnsft/if-models"
16
14
  graph:
17
15
  children:
18
16
  child:
@@ -5,9 +5,8 @@ initialize:
5
5
  models:
6
6
  - name: sci
7
7
  kind: plugin
8
- verbose: false
9
8
  model: SciModel
10
- path: if-models
9
+ path: "@grnsft/if-models"
11
10
  graph:
12
11
  children:
13
12
  child:
@@ -4,7 +4,8 @@ tags:
4
4
  initialize:
5
5
  models:
6
6
  - name: sampler
7
- kind: shell
7
+ model: ShellModel
8
+ path: "@grnsft/if-models"
8
9
  graph:
9
10
  children:
10
11
  child:
@@ -1,19 +1,19 @@
1
- name: tdp-tester
1
+ name: tdp-finder
2
+ description: demo
3
+ tags:
2
4
  initialize:
3
5
  models:
4
6
  - name: tdp-finder # a model that returns an embodied value given the sci embodied attribution equation.
5
- kind: builtin
6
- verbose: false
7
- path: ''
7
+ model: TdpFinderModel
8
+ path: "@grnsft/if-models"
8
9
  graph:
9
10
  children:
10
- backend:
11
+ child:
11
12
  pipeline:
12
13
  - tdp-finder
13
14
  config:
14
- tdp-finder:
15
- tdp:
16
- observations:
15
+ inputs:
17
16
  - timestamp: 2023-07-06T00:00
17
+ duration: 300
18
18
  physical-processor: AMD 3020e
19
19
 
@@ -1,9 +1,11 @@
1
1
  name: ccf-demo
2
2
  description: example impl invoking CCF model
3
+ tags:
3
4
  initialize:
4
5
  models:
5
6
  - name: ccf
6
- kind: builtin
7
+ model: CloudCarbonMetadataModel
8
+ path: if-models
7
9
  graph:
8
10
  children:
9
11
  child: