@tiangong-lca/mcp-server 0.0.5 → 0.0.6

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.
@@ -0,0 +1,1870 @@
1
+ // Generated from olca-schema (https://github.com/GreenDelta/olca-schema).
2
+ // DO NOT EDIT!
3
+
4
+ syntax = "proto3";
5
+
6
+ package protolca;
7
+
8
+ option java_package = "org.openlca.proto.generated";
9
+ option java_outer_classname = "Proto";
10
+ option csharp_namespace = "ProtoLCA";
11
+ option go_package = ".;protolca";
12
+
13
+ // An actor is a person or organisation.
14
+ message Actor {
15
+
16
+ // The type name of the respective entity.
17
+ // This field is used for JSON-LD compatibility.
18
+ string type = 1 [json_name = "@type"];
19
+
20
+ // The reference ID (typically an UUID) of the entity.
21
+ string id = 2 [json_name = "@id"];
22
+
23
+ // The name of the entity.
24
+ string name = 3;
25
+
26
+ // The description of the entity.
27
+ string description = 4;
28
+
29
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
30
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
31
+ // the same as 1.0.0 or 1).
32
+ string version = 5;
33
+
34
+ // The timestamp when the entity was changed the last time.
35
+ string last_change = 6;
36
+
37
+ // The category of the entity.
38
+ Ref category = 7;
39
+
40
+ // A list of optional tags. A tag is just a string which should not contain
41
+ // commas (and other special characters).
42
+ repeated string tags = 8;
43
+
44
+ // If this entity is part of a library, this field contains the identifier of
45
+ // that library. The identifier is typically just the combination of the
46
+ // library name and version.
47
+ string library = 9;
48
+
49
+ string address = 10;
50
+
51
+ string city = 11;
52
+
53
+ string country = 12;
54
+
55
+ string email = 13;
56
+
57
+ string telefax = 14;
58
+
59
+ string telephone = 15;
60
+
61
+ string website = 16;
62
+
63
+ string zip_code = 17;
64
+
65
+ }
66
+
67
+ // A single allocation factor in a process.
68
+ message AllocationFactor {
69
+
70
+ // The type name of the respective entity.
71
+ // This field is used for JSON-LD compatibility.
72
+ string type = 1 [json_name = "@type"];
73
+
74
+ // The type of allocation.
75
+ AllocationType allocation_type = 2;
76
+
77
+ // The output product (or waste input) to which this allocation factor is
78
+ // related. The must be an exchange with this product output (or waste input)
79
+ // in this process.
80
+ Ref product = 3;
81
+
82
+ // The value of the allocation factor.
83
+ double value = 4;
84
+
85
+ // An optional formula from which the value of the allocation factor is
86
+ // calculated.
87
+ string formula = 5;
88
+
89
+ // A product input, waste output, or elementary flow exchange which is
90
+ // allocated by this factor. This is only valid for causal allocation where
91
+ // allocation factors can be assigned to single exchanges.
92
+ ExchangeRef exchange = 6;
93
+
94
+ }
95
+
96
+ // An enumeration type for allocation methods. This type is used to define the
97
+ // type of an [AllocationFactor], the default allocation method of a
98
+ // multi-functional [Process], or the allocation method in a
99
+ // [CalculationSetup].
100
+ enum AllocationType {
101
+
102
+ // This default option was added automatically
103
+ // and means that no values was set.
104
+ UNDEFINED_ALLOCATION_TYPE = 0;
105
+
106
+ PHYSICAL_ALLOCATION = 1;
107
+
108
+ ECONOMIC_ALLOCATION = 2;
109
+
110
+ CAUSAL_ALLOCATION = 3;
111
+
112
+ USE_DEFAULT_ALLOCATION = 4;
113
+
114
+ NO_ALLOCATION = 5;
115
+
116
+ }
117
+
118
+ // A setup for a product system calculation.
119
+ message CalculationSetup {
120
+
121
+ // The type name of the respective entity.
122
+ // This field is used for JSON-LD compatibility.
123
+ string type = 1 [json_name = "@type"];
124
+
125
+ // The type of calculation that should be performed.
126
+ CalculationType calculation_type = 2;
127
+
128
+ // The product system that should be calculated (required).
129
+ Ref product_system = 3;
130
+
131
+ // The LCIA method for the calculation (optional).
132
+ Ref impact_method = 4;
133
+
134
+ // Indicates whether life cycle costs should be also calculated (optional).
135
+ bool with_costs = 5;
136
+
137
+ // Indicates whether a regionalized result should be calculated or not. If
138
+ // this is set to true, the intervention matrix is indexed by (elementary
139
+ // flow, location) - pairs instead of just elementary flows. The LCI result
140
+ // then contains results for these pairs which can be then used in
141
+ // regionalized impact assessments.
142
+ bool with_regionalization = 6;
143
+
144
+ // The normalisation and weighting set for the calculation (optional).
145
+ Ref nw_set = 7;
146
+
147
+ // The calculation type to be used in the calculation (optional).
148
+ AllocationType allocation_method = 8;
149
+
150
+ // A list of parameter redefinitions to be used in the calculation
151
+ // (optional).
152
+ repeated ParameterRedef parameter_redefs = 9;
153
+
154
+ // (optional)
155
+ double amount = 10;
156
+
157
+ // (optional)
158
+ Ref unit = 11;
159
+
160
+ // (optional)
161
+ Ref flow_property = 12;
162
+
163
+ }
164
+
165
+ // An enumeration of the different calculation methods supported by openLCA.
166
+ enum CalculationType {
167
+
168
+ // This default option was added automatically
169
+ // and means that no values was set.
170
+ UNDEFINED_CALCULATION_TYPE = 0;
171
+
172
+ // Calculates the total results for elementary flows, LCIA indicators, costs,
173
+ // etc. of a product system.
174
+ SIMPLE_CALCULATION = 1;
175
+
176
+ // Includes the total result vectors of a simple calculation but calculates
177
+ // also the direct contributions of each process (or better process product
178
+ // in case of multi-output processes) to these total results.
179
+ CONTRIBUTION_ANALYSIS = 2;
180
+
181
+ // Extends the contribution analysis by providing also the upstream results
182
+ // of each process (process product) in the product system. The upstream
183
+ // result contains the direct contributions of the respective process but
184
+ // also the result of the supply chain up to this process scaled to the
185
+ // demand of the process in the product system.
186
+ UPSTREAM_ANALYSIS = 3;
187
+
188
+ // A regionalized calculation is a contribution analysis but with an LCIA
189
+ // method that supports regionalized characterization factors (via region
190
+ // specific parameters in formulas) and a product system with processes that
191
+ // have geographic information assigned (point, line, or polygon shapes).
192
+ REGIONALIZED_CALCULATION = 4;
193
+
194
+ // A Monte Carlo simulation generates for each run, of a given number of a
195
+ // given number of iterations, random values according to the uncertainty
196
+ // distributions of process inputs/outputs, parameters, characterization
197
+ // factors, etc. of a product system and then performs a simple calculation
198
+ // for that specific run.
199
+ MONTE_CARLO_SIMULATION = 5;
200
+
201
+ }
202
+
203
+ // A category is used for the categorisation of types like processes, flows,
204
+ // etc. The tricky thing is that the `Category` class inherits also from the
205
+ // [CategorizedEntity] type so that a category can have a category attribute
206
+ // which is then the parent category of this category (uff).
207
+ message Category {
208
+
209
+ // The type name of the respective entity.
210
+ // This field is used for JSON-LD compatibility.
211
+ string type = 1 [json_name = "@type"];
212
+
213
+ // The reference ID (typically an UUID) of the entity.
214
+ string id = 2 [json_name = "@id"];
215
+
216
+ // The name of the entity.
217
+ string name = 3;
218
+
219
+ // The description of the entity.
220
+ string description = 4;
221
+
222
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
223
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
224
+ // the same as 1.0.0 or 1).
225
+ string version = 5;
226
+
227
+ // The timestamp when the entity was changed the last time.
228
+ string last_change = 6;
229
+
230
+ // The category of the entity.
231
+ Ref category = 7;
232
+
233
+ // A list of optional tags. A tag is just a string which should not contain
234
+ // commas (and other special characters).
235
+ repeated string tags = 8;
236
+
237
+ // If this entity is part of a library, this field contains the identifier of
238
+ // that library. The identifier is typically just the combination of the
239
+ // library name and version.
240
+ string library = 9;
241
+
242
+ // The type of models that can be linked to the category.
243
+ ModelType model_type = 10;
244
+
245
+ }
246
+
247
+ message Currency {
248
+
249
+ // The type name of the respective entity.
250
+ // This field is used for JSON-LD compatibility.
251
+ string type = 1 [json_name = "@type"];
252
+
253
+ // The reference ID (typically an UUID) of the entity.
254
+ string id = 2 [json_name = "@id"];
255
+
256
+ // The name of the entity.
257
+ string name = 3;
258
+
259
+ // The description of the entity.
260
+ string description = 4;
261
+
262
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
263
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
264
+ // the same as 1.0.0 or 1).
265
+ string version = 5;
266
+
267
+ // The timestamp when the entity was changed the last time.
268
+ string last_change = 6;
269
+
270
+ // The category of the entity.
271
+ Ref category = 7;
272
+
273
+ // A list of optional tags. A tag is just a string which should not contain
274
+ // commas (and other special characters).
275
+ repeated string tags = 8;
276
+
277
+ // If this entity is part of a library, this field contains the identifier of
278
+ // that library. The identifier is typically just the combination of the
279
+ // library name and version.
280
+ string library = 9;
281
+
282
+ string code = 10;
283
+
284
+ double conversion_factor = 11;
285
+
286
+ Ref reference_currency = 12;
287
+
288
+ }
289
+
290
+ // An indicator of a data quality system ([DQSystem]).
291
+ message DQIndicator {
292
+
293
+ // The type name of the respective entity.
294
+ // This field is used for JSON-LD compatibility.
295
+ string type = 1 [json_name = "@type"];
296
+
297
+ string name = 2;
298
+
299
+ int32 position = 3;
300
+
301
+ repeated DQScore scores = 4;
302
+
303
+ }
304
+
305
+ // An score value of an indicator ([DQIndicator]) in a data quality system
306
+ // ([DQSystem]).
307
+ message DQScore {
308
+
309
+ // The type name of the respective entity.
310
+ // This field is used for JSON-LD compatibility.
311
+ string type = 1 [json_name = "@type"];
312
+
313
+ int32 position = 2;
314
+
315
+ string label = 3;
316
+
317
+ string description = 4;
318
+
319
+ double uncertainty = 5;
320
+
321
+ }
322
+
323
+ // A data quality system (DQS) in openLCA describes a pedigree matrix of $m$
324
+ // data quality indicators (DQIs) and $n$ data quality scores (DQ scores). Such
325
+ // a system can then be used to assess the data quality of processes and
326
+ // exchanges by tagging them with an instance of the system $D$ where $D$ is a
327
+ // $m * n$ matrix with an entry $d_{ij}$ containing the value of the data
328
+ // quality score $j$ for indicator $i$. As each indicator in $D$ can only have
329
+ // a single score value, $D$ can be stored in a vector $d$ where $d_i$ contains
330
+ // the data quality score for indicator $i$. The possible values of the data
331
+ // quality scores are defined as a linear order $1 \dots n$. In openLCA, the
332
+ // data quality entry $d$ of a process or exchange is stored as a string like
333
+ // `(3;2;4;n.a.;2)` which means the data quality score for the first indicator
334
+ // is `3`, for the second `2` etc. A specific value is `n.a.` which stands for
335
+ // _not applicable_. In calculations, these data quality entries can be
336
+ // aggregated in different ways. For example, the data quality entry of a flow
337
+ // $f$ with a contribution of `0.5 kg` and a data quality entry of
338
+ // `(3;2;4;n.a.;2)` in a process $p$ and a contribution of `1.5 kg` and a data
339
+ // quality entry of `(2;3;1;n.a.;5)` in a process $q$ could be aggregated to
340
+ // `(2;3;2;n.a.;4)` by applying an weighted average and rounding. Finally,
341
+ // custom labels like `A, B, C, ...` or `Very good, Good, Fair, ...` for the DQ
342
+ // scores can be assigned by the user. These labels are then displayed instead
343
+ // of `1, 2, 3 ...` in the user interface or result exports. However,
344
+ // internally the numeric values are used in the data model and calculations.
345
+ message DQSystem {
346
+
347
+ // The type name of the respective entity.
348
+ // This field is used for JSON-LD compatibility.
349
+ string type = 1 [json_name = "@type"];
350
+
351
+ // The reference ID (typically an UUID) of the entity.
352
+ string id = 2 [json_name = "@id"];
353
+
354
+ // The name of the entity.
355
+ string name = 3;
356
+
357
+ // The description of the entity.
358
+ string description = 4;
359
+
360
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
361
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
362
+ // the same as 1.0.0 or 1).
363
+ string version = 5;
364
+
365
+ // The timestamp when the entity was changed the last time.
366
+ string last_change = 6;
367
+
368
+ // The category of the entity.
369
+ Ref category = 7;
370
+
371
+ // A list of optional tags. A tag is just a string which should not contain
372
+ // commas (and other special characters).
373
+ repeated string tags = 8;
374
+
375
+ // If this entity is part of a library, this field contains the identifier of
376
+ // that library. The identifier is typically just the combination of the
377
+ // library name and version.
378
+ string library = 9;
379
+
380
+ bool has_uncertainties = 10;
381
+
382
+ Ref source = 11;
383
+
384
+ repeated DQIndicator indicators = 12;
385
+
386
+ }
387
+
388
+ // An Exchange is an input or output of a [Flow] in a [Process]. The amount of
389
+ // an exchange is given in a specific unit of a quantity ([FlowProperty]) of
390
+ // the flow. The allowed units and flow properties that can be used for a flow
391
+ // in an exchange are defined by the flow property information in that flow
392
+ // (see also the [FlowPropertyFactor] type).
393
+ message Exchange {
394
+
395
+ // The type name of the respective entity.
396
+ // This field is used for JSON-LD compatibility.
397
+ string type = 1 [json_name = "@type"];
398
+
399
+ // Indicates whether this exchange is an avoided product.
400
+ bool avoided_product = 2;
401
+
402
+ // A formula for calculating the costs of this exchange.
403
+ string cost_formula = 3;
404
+
405
+ // The costs of this exchange.
406
+ double cost_value = 4;
407
+
408
+ // The currency in which the costs of this exchange are given.
409
+ Ref currency = 5;
410
+
411
+ // The process internal ID of the exchange. This is used to identify
412
+ // exchanges unambiguously within a process (e.g. when linking exchanges in a
413
+ // product system where multiple exchanges with the same flow are allowed).
414
+ // The value should be >= 1.
415
+ int32 internal_id = 6;
416
+
417
+ // The reference to the flow of the exchange.
418
+ Ref flow = 7;
419
+
420
+ // The quantity in which the amount is given.
421
+ Ref flow_property = 8;
422
+
423
+ bool input = 9;
424
+
425
+ // Indicates whether the exchange is the quantitative reference of the
426
+ // process.
427
+ bool quantitative_reference = 10;
428
+
429
+ double base_uncertainty = 11;
430
+
431
+ // A default provider is a [Process] that is linked as the provider of a
432
+ // product input or the waste treatment provider of a waste output. It is
433
+ // just an optional default setting which can be also ignored when building
434
+ // product systems in openLCA. The user is always free to link processes in
435
+ // product systems ignoring these defaults (but the flows and flow directions
436
+ // have to match of course).
437
+ Ref default_provider = 12;
438
+
439
+ double amount = 13;
440
+
441
+ string amount_formula = 14;
442
+
443
+ Ref unit = 15;
444
+
445
+ // A data quality entry like `(1;3;2;5;1)`. The entry is a vector of data
446
+ // quality values that need to match the data quality scheme for flow inputs
447
+ // and outputs that is assigned to the [Process]. In such a scheme the data
448
+ // quality indicators have fixed positions and the respective values in the
449
+ // `dqEntry` vector map to these positions.
450
+ string dq_entry = 16;
451
+
452
+ Uncertainty uncertainty = 17;
453
+
454
+ // A general comment about the input or output.
455
+ string description = 18;
456
+
457
+ }
458
+
459
+ // An instance of this class describes a reference to an exchange in a process.
460
+ // When we reference such an exchange we only need the information to indentify
461
+ // that exchange unambiguously in a process.
462
+ message ExchangeRef {
463
+
464
+ // The type name of the respective entity.
465
+ // This field is used for JSON-LD compatibility.
466
+ string type = 1 [json_name = "@type"];
467
+
468
+ // The internal ID of the exchange.
469
+ int32 internal_id = 2;
470
+
471
+ }
472
+
473
+ // Everything that can be an input or output of a process (e.g. a substance, a
474
+ // product, a waste, a service etc.)
475
+ message Flow {
476
+
477
+ // The type name of the respective entity.
478
+ // This field is used for JSON-LD compatibility.
479
+ string type = 1 [json_name = "@type"];
480
+
481
+ // The reference ID (typically an UUID) of the entity.
482
+ string id = 2 [json_name = "@id"];
483
+
484
+ // The name of the entity.
485
+ string name = 3;
486
+
487
+ // The description of the entity.
488
+ string description = 4;
489
+
490
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
491
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
492
+ // the same as 1.0.0 or 1).
493
+ string version = 5;
494
+
495
+ // The timestamp when the entity was changed the last time.
496
+ string last_change = 6;
497
+
498
+ // The category of the entity.
499
+ Ref category = 7;
500
+
501
+ // A list of optional tags. A tag is just a string which should not contain
502
+ // commas (and other special characters).
503
+ repeated string tags = 8;
504
+
505
+ // If this entity is part of a library, this field contains the identifier of
506
+ // that library. The identifier is typically just the combination of the
507
+ // library name and version.
508
+ string library = 9;
509
+
510
+ // The type of the flow. Note that this type is more a descriptor of how the
511
+ // flow is handled in calculations.
512
+ FlowType flow_type = 10;
513
+
514
+ // A CAS number of the flow.
515
+ string cas = 11;
516
+
517
+ // A chemical formula of the flow.
518
+ string formula = 12;
519
+
520
+ // The flow properties (quantities) in which amounts of the flow can be
521
+ // expressed together with conversion factors between these flow flow
522
+ // properties.
523
+ repeated FlowPropertyFactor flow_properties = 13;
524
+
525
+ // The location of the flow. Normally the location of a flow is defined by
526
+ // the process location where the flow is an input or output. However, some
527
+ // data formats define a location as a property of a flow.
528
+ Ref location = 14;
529
+
530
+ // A list of synonyms but packed into a single field. Best is to use
531
+ // semicolons as separator as commas are sometimes used in names of
532
+ // chemicals.
533
+ string synonyms = 15;
534
+
535
+ // Indicates whether this flow describes an infrastructure product. This
536
+ // field is part of the openLCA schema because of backward compatibility with
537
+ // EcoSpold 1. It does not really have a meaning in openLCA and should not be
538
+ // used anymore.
539
+ bool infrastructure_flow = 16;
540
+
541
+ }
542
+
543
+ // A crosswalk of flows from a source flow list to a target flow list.
544
+ message FlowMap {
545
+
546
+ // The type name of the respective entity.
547
+ // This field is used for JSON-LD compatibility.
548
+ string type = 1 [json_name = "@type"];
549
+
550
+ // The reference ID (typically an UUID) of the entity.
551
+ string id = 2 [json_name = "@id"];
552
+
553
+ // The name of the entity.
554
+ string name = 3;
555
+
556
+ // The description of the entity.
557
+ string description = 4;
558
+
559
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
560
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
561
+ // the same as 1.0.0 or 1).
562
+ string version = 5;
563
+
564
+ // The timestamp when the entity was changed the last time.
565
+ string last_change = 6;
566
+
567
+ // The reference (id, name, description) of the source flow list.
568
+ Ref source = 7;
569
+
570
+ // The reference (id, name, description) of the target flow list.
571
+ Ref target = 8;
572
+
573
+ // A list of flow mappings from flows in a source flow list to flows in a
574
+ // target flow list.
575
+ repeated FlowMapEntry mappings = 9;
576
+
577
+ }
578
+
579
+ // A mapping from a source flow to a target flow.
580
+ message FlowMapEntry {
581
+
582
+ // The type name of the respective entity.
583
+ // This field is used for JSON-LD compatibility.
584
+ string type = 1 [json_name = "@type"];
585
+
586
+ // Describes the source flow of the mapping.
587
+ FlowMapRef from = 2;
588
+
589
+ // Describes the target of the mapping.
590
+ FlowMapRef to = 3;
591
+
592
+ // The conversion factor to convert the amount of 1 unit of the source flow
593
+ // into the corresponding quantity of the target flow.
594
+ double conversion_factor = 4;
595
+
596
+ }
597
+
598
+ // Describes a source or target flow in a `FlowMappingEntry` of a `FlowMap`.
599
+ // Such a flow reference can also optionally specify the unit and flow property
600
+ // (quantity) for which the mapping is valid. If the unit or quantity is not
601
+ // given, the mapping is based on the respective reference unit and reference
602
+ // flow property of the flow.
603
+ message FlowMapRef {
604
+
605
+ // The type name of the respective entity.
606
+ // This field is used for JSON-LD compatibility.
607
+ string type = 1 [json_name = "@type"];
608
+
609
+ // The reference to the flow data set.
610
+ Ref flow = 2;
611
+
612
+ // An optional reference to a flow property of the flow for which the mapping
613
+ // is valid.
614
+ Ref flow_property = 3;
615
+
616
+ // An optional reference to a unit of the flow for which the mapping is valid
617
+ Ref unit = 4;
618
+
619
+ // In case of a product or waste flow a flow mapping can contain a provider
620
+ // which is the process that produces the product or a waste treatment
621
+ // process that consumes the waste flow. This is useful when we want to apply
622
+ // mappings of product and waste flows on databases and link them in the
623
+ // corresponding processes and product systems.
624
+ Ref provider = 5;
625
+
626
+ }
627
+
628
+ // A flow property is a quantity that can be used to express amounts of a flow.
629
+ message FlowProperty {
630
+
631
+ // The type name of the respective entity.
632
+ // This field is used for JSON-LD compatibility.
633
+ string type = 1 [json_name = "@type"];
634
+
635
+ // The reference ID (typically an UUID) of the entity.
636
+ string id = 2 [json_name = "@id"];
637
+
638
+ // The name of the entity.
639
+ string name = 3;
640
+
641
+ // The description of the entity.
642
+ string description = 4;
643
+
644
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
645
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
646
+ // the same as 1.0.0 or 1).
647
+ string version = 5;
648
+
649
+ // The timestamp when the entity was changed the last time.
650
+ string last_change = 6;
651
+
652
+ // The category of the entity.
653
+ Ref category = 7;
654
+
655
+ // A list of optional tags. A tag is just a string which should not contain
656
+ // commas (and other special characters).
657
+ repeated string tags = 8;
658
+
659
+ // If this entity is part of a library, this field contains the identifier of
660
+ // that library. The identifier is typically just the combination of the
661
+ // library name and version.
662
+ string library = 9;
663
+
664
+ // The type of the flow property
665
+ FlowPropertyType flow_property_type = 10;
666
+
667
+ // The units of measure that can be used to express quantities of the flow
668
+ // property.
669
+ Ref unit_group = 11;
670
+
671
+ }
672
+
673
+ // A FlowPropertyFactor is a conversion factor between <a
674
+ // href="./FlowProperty.html">flow properties (quantities)</a> of a <a
675
+ // href="./Flow.html">flow</a>. As an example the amount of the flow 'water' in
676
+ // a process could be expressed in 'kg' mass or 'm3' volume. In this case the
677
+ // flow water would have two flow property factors: one for the flow property
678
+ // 'mass' and one for 'volume'. Each of these flow properties has a reference
679
+ // to a <a href="./UnitGroup.html">unit group</a> which again has a reference
680
+ // unit. In the example the flow property 'mass' could reference the unit group
681
+ // 'units of mass' with 'kg' as reference unit and volume could reference the
682
+ // unit group 'units of volume' with 'm3' as reference unit. The flow property
683
+ // factor is now the conversion factor between these two reference units where
684
+ // the factor of the reference flow property of the flow is 1. If the reference
685
+ // flow property of 'water' in the example would be 'mass' the respective flow
686
+ // property factor would be 1 and the factor for 'volume' would be 0.001 (as 1
687
+ // kg water is 0.001 m3). The amount of water in a process can now be also
688
+ // given in liter, tons, grams etc. For this, the unit conversion factor of the
689
+ // respective unit group can be used to convert into the reference unit (which
690
+ // then can be used to convert to the reference unit of another flow property).
691
+ // Another thing to note is that different flow properties can refer to the
692
+ // same unit group (e.g. MJ upper calorific value and MJ lower calorific
693
+ // value.)
694
+ message FlowPropertyFactor {
695
+
696
+ // The type name of the respective entity.
697
+ // This field is used for JSON-LD compatibility.
698
+ string type = 1 [json_name = "@type"];
699
+
700
+ // The flow property (quantity) of the factor.
701
+ Ref flow_property = 2;
702
+
703
+ // The value of the conversion factor.
704
+ double conversion_factor = 3;
705
+
706
+ // Indicates whether the flow property of the factor is the reference flow
707
+ // property of the flow. The reference flow property must have a conversion
708
+ // factor of 1.0 and there should be only one reference flow property.
709
+ bool reference_flow_property = 4;
710
+
711
+ }
712
+
713
+ // An enumeration of flow property types.
714
+ enum FlowPropertyType {
715
+
716
+ // This default option was added automatically
717
+ // and means that no values was set.
718
+ UNDEFINED_FLOW_PROPERTY_TYPE = 0;
719
+
720
+ ECONOMIC_QUANTITY = 1;
721
+
722
+ PHYSICAL_QUANTITY = 2;
723
+
724
+ }
725
+
726
+ // A result value for a flow; given in the reference unit of the flow.
727
+ message FlowResult {
728
+
729
+ // The type name of the respective entity.
730
+ // This field is used for JSON-LD compatibility.
731
+ string type = 1 [json_name = "@type"];
732
+
733
+ // The flow reference.
734
+ Ref flow = 2;
735
+
736
+ // Indicates whether the flow is an input or not.
737
+ bool input = 3;
738
+
739
+ // The value of the flow amount.
740
+ double value = 4;
741
+
742
+ // The (reference to the) location of this flow result in case of a
743
+ // regionalized result.
744
+ Ref location = 5;
745
+
746
+ }
747
+
748
+ // The basic flow types.
749
+ enum FlowType {
750
+
751
+ // This default option was added automatically
752
+ // and means that no values was set.
753
+ UNDEFINED_FLOW_TYPE = 0;
754
+
755
+ ELEMENTARY_FLOW = 1;
756
+
757
+ PRODUCT_FLOW = 2;
758
+
759
+ WASTE_FLOW = 3;
760
+
761
+ }
762
+
763
+ message ImpactCategory {
764
+
765
+ // The type name of the respective entity.
766
+ // This field is used for JSON-LD compatibility.
767
+ string type = 1 [json_name = "@type"];
768
+
769
+ // The reference ID (typically an UUID) of the entity.
770
+ string id = 2 [json_name = "@id"];
771
+
772
+ // The name of the entity.
773
+ string name = 3;
774
+
775
+ // The description of the entity.
776
+ string description = 4;
777
+
778
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
779
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
780
+ // the same as 1.0.0 or 1).
781
+ string version = 5;
782
+
783
+ // The timestamp when the entity was changed the last time.
784
+ string last_change = 6;
785
+
786
+ // The category of the entity.
787
+ Ref category = 7;
788
+
789
+ // A list of optional tags. A tag is just a string which should not contain
790
+ // commas (and other special characters).
791
+ repeated string tags = 8;
792
+
793
+ // If this entity is part of a library, this field contains the identifier of
794
+ // that library. The identifier is typically just the combination of the
795
+ // library name and version.
796
+ string library = 9;
797
+
798
+ // The name of the reference unit of the LCIA category (e.g. kg CO2-eq.).
799
+ string reference_unit_name = 10;
800
+
801
+ // A set of parameters which can be used in formulas of the characterisation
802
+ // factors in this impact category.
803
+ repeated Parameter parameters = 11;
804
+
805
+ // The characterisation factors of the LCIA category.
806
+ repeated ImpactFactor impact_factors = 12;
807
+
808
+ }
809
+
810
+ // A single characterisation factor of a LCIA category for a flow.
811
+ message ImpactFactor {
812
+
813
+ // The type name of the respective entity.
814
+ // This field is used for JSON-LD compatibility.
815
+ string type = 1 [json_name = "@type"];
816
+
817
+ // The [Flow] of the impact assessment factor.
818
+ Ref flow = 2;
819
+
820
+ // In case of a regionalized impact category, this field can contain the
821
+ // location for which this factor is valid.
822
+ Ref location = 3;
823
+
824
+ // The quantity of the flow to which the LCIA factor is related (e.g. Mass).
825
+ Ref flow_property = 4;
826
+
827
+ // The flow unit to which the LCIA factor is related (e.g. kg).
828
+ Ref unit = 5;
829
+
830
+ // The value of the impact assessment factor.
831
+ double value = 6;
832
+
833
+ // A mathematical formula for calculating the value of the LCIA factor.
834
+ string formula = 7;
835
+
836
+ // The uncertainty distribution of the factors' value.
837
+ Uncertainty uncertainty = 8;
838
+
839
+ }
840
+
841
+ // An impact assessment method.
842
+ message ImpactMethod {
843
+
844
+ // The type name of the respective entity.
845
+ // This field is used for JSON-LD compatibility.
846
+ string type = 1 [json_name = "@type"];
847
+
848
+ // The reference ID (typically an UUID) of the entity.
849
+ string id = 2 [json_name = "@id"];
850
+
851
+ // The name of the entity.
852
+ string name = 3;
853
+
854
+ // The description of the entity.
855
+ string description = 4;
856
+
857
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
858
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
859
+ // the same as 1.0.0 or 1).
860
+ string version = 5;
861
+
862
+ // The timestamp when the entity was changed the last time.
863
+ string last_change = 6;
864
+
865
+ // The category of the entity.
866
+ Ref category = 7;
867
+
868
+ // A list of optional tags. A tag is just a string which should not contain
869
+ // commas (and other special characters).
870
+ repeated string tags = 8;
871
+
872
+ // If this entity is part of a library, this field contains the identifier of
873
+ // that library. The identifier is typically just the combination of the
874
+ // library name and version.
875
+ string library = 9;
876
+
877
+ // The impact categories of the method.
878
+ repeated Ref impact_categories = 10;
879
+
880
+ // The normalization and weighting sets of the method.
881
+ repeated NwSet nw_sets = 11;
882
+
883
+ }
884
+
885
+ // A result value for an impact assessment category.
886
+ message ImpactResult {
887
+
888
+ // The type name of the respective entity.
889
+ // This field is used for JSON-LD compatibility.
890
+ string type = 1 [json_name = "@type"];
891
+
892
+ // The reference to the impact assessment category.
893
+ Ref impact_category = 2;
894
+
895
+ // The value of the flow amount.
896
+ double value = 3;
897
+
898
+ }
899
+
900
+ // A location like a country, state, city, etc.
901
+ message Location {
902
+
903
+ // The type name of the respective entity.
904
+ // This field is used for JSON-LD compatibility.
905
+ string type = 1 [json_name = "@type"];
906
+
907
+ // The reference ID (typically an UUID) of the entity.
908
+ string id = 2 [json_name = "@id"];
909
+
910
+ // The name of the entity.
911
+ string name = 3;
912
+
913
+ // The description of the entity.
914
+ string description = 4;
915
+
916
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
917
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
918
+ // the same as 1.0.0 or 1).
919
+ string version = 5;
920
+
921
+ // The timestamp when the entity was changed the last time.
922
+ string last_change = 6;
923
+
924
+ // The category of the entity.
925
+ Ref category = 7;
926
+
927
+ // A list of optional tags. A tag is just a string which should not contain
928
+ // commas (and other special characters).
929
+ repeated string tags = 8;
930
+
931
+ // If this entity is part of a library, this field contains the identifier of
932
+ // that library. The identifier is typically just the combination of the
933
+ // library name and version.
934
+ string library = 9;
935
+
936
+ // The code of the location (e.g. an ISO 2-letter country code).
937
+ string code = 10;
938
+
939
+ // The average latitude of the location.
940
+ double latitude = 11;
941
+
942
+ // The average longitude of the location.
943
+ double longitude = 12;
944
+
945
+ // A GeoJSON object.
946
+ // When we map to the bytes type it means that we have no matching message
947
+ // type and just put the raw bytes into the field. This is specifically true
948
+ // for our geometry data of locations which cannot be translated to valid
949
+ // GeoJSON using Protocol Buffers (as they do not support arrays of arrays).
950
+ // To indicate that this is a different field than the field in the
951
+ // olca-schema definition, we append the _bytes suffix to the field name
952
+ bytes geometry_bytes = 13;
953
+
954
+ }
955
+
956
+ // An enumeration of the root entity types.
957
+ enum ModelType {
958
+
959
+ // This default option was added automatically
960
+ // and means that no values was set.
961
+ UNDEFINED_MODEL_TYPE = 0;
962
+
963
+ ACTOR = 1;
964
+
965
+ CATEGORY = 2;
966
+
967
+ CURRENCY = 3;
968
+
969
+ DQ_SYSTEM = 4;
970
+
971
+ FLOW = 5;
972
+
973
+ FLOW_PROPERTY = 6;
974
+
975
+ IMPACT_CATEGORY = 7;
976
+
977
+ IMPACT_METHOD = 8;
978
+
979
+ LOCATION = 9;
980
+
981
+ NW_SET = 10;
982
+
983
+ PARAMETER = 11;
984
+
985
+ PROCESS = 12;
986
+
987
+ PRODUCT_SYSTEM = 13;
988
+
989
+ PROJECT = 14;
990
+
991
+ SOCIAL_INDICATOR = 15;
992
+
993
+ SOURCE = 16;
994
+
995
+ UNIT = 17;
996
+
997
+ UNIT_GROUP = 18;
998
+
999
+ }
1000
+
1001
+ // A normalization and weighting factor of a [NwSet] related to an impact
1002
+ // category. Depending on the purpose of the [NwSet] (normalization, weighting,
1003
+ // or both) the normalization and weighting factor can be present or not.
1004
+ message NwFactor {
1005
+
1006
+ // The type name of the respective entity.
1007
+ // This field is used for JSON-LD compatibility.
1008
+ string type = 1 [json_name = "@type"];
1009
+
1010
+ Ref impact_category = 2;
1011
+
1012
+ double normalisation_factor = 3;
1013
+
1014
+ double weighting_factor = 4;
1015
+
1016
+ }
1017
+
1018
+ // A normalization and weighting set.
1019
+ message NwSet {
1020
+
1021
+ // The type name of the respective entity.
1022
+ // This field is used for JSON-LD compatibility.
1023
+ string type = 1 [json_name = "@type"];
1024
+
1025
+ // The reference ID (typically an UUID) of the entity.
1026
+ string id = 2 [json_name = "@id"];
1027
+
1028
+ // The name of the entity.
1029
+ string name = 3;
1030
+
1031
+ // The description of the entity.
1032
+ string description = 4;
1033
+
1034
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1035
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1036
+ // the same as 1.0.0 or 1).
1037
+ string version = 5;
1038
+
1039
+ // The timestamp when the entity was changed the last time.
1040
+ string last_change = 6;
1041
+
1042
+ // This is the optional unit of the (normalized and) weighted score when this
1043
+ // normalization and weighting set was applied on a LCIA result.
1044
+ string weighted_score_unit = 7;
1045
+
1046
+ // The list of normalization and weighting factors of this set.
1047
+ repeated NwFactor factors = 8;
1048
+
1049
+ }
1050
+
1051
+ // In openLCA, parameters can be defined in different scopes: global, process,
1052
+ // or LCIA method. The parameter name can be used in formulas and, thus, need
1053
+ // to conform to a specific syntax. Within a scope the parameter name should be
1054
+ // unique (otherwise the evaluation is not deterministic). There are two types
1055
+ // of parameters in openLCA: input parameters and dependent parameters. An
1056
+ // input parameter can have an optional uncertainty distribution but not a
1057
+ // formula. A dependent parameter can (should) have a formula (where also other
1058
+ // parameters can be used) but no uncertainty distribution.
1059
+ message Parameter {
1060
+
1061
+ // The type name of the respective entity.
1062
+ // This field is used for JSON-LD compatibility.
1063
+ string type = 1 [json_name = "@type"];
1064
+
1065
+ // The reference ID (typically an UUID) of the entity.
1066
+ string id = 2 [json_name = "@id"];
1067
+
1068
+ // The name of the entity.
1069
+ string name = 3;
1070
+
1071
+ // The description of the entity.
1072
+ string description = 4;
1073
+
1074
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1075
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1076
+ // the same as 1.0.0 or 1).
1077
+ string version = 5;
1078
+
1079
+ // The timestamp when the entity was changed the last time.
1080
+ string last_change = 6;
1081
+
1082
+ // The category of the entity.
1083
+ Ref category = 7;
1084
+
1085
+ // A list of optional tags. A tag is just a string which should not contain
1086
+ // commas (and other special characters).
1087
+ repeated string tags = 8;
1088
+
1089
+ // If this entity is part of a library, this field contains the identifier of
1090
+ // that library. The identifier is typically just the combination of the
1091
+ // library name and version.
1092
+ string library = 9;
1093
+
1094
+ // The scope where the parameter is valid.
1095
+ ParameterScope parameter_scope = 10;
1096
+
1097
+ // Indicates whether the parameter is an input parameter (true) or a
1098
+ // dependent/calculated parameter (false). A parameter can have a formula if
1099
+ // it is not an input parameter.
1100
+ bool input_parameter = 11;
1101
+
1102
+ // The parameter value.
1103
+ double value = 12;
1104
+
1105
+ // A mathematical expression to calculate the parameter value.
1106
+ string formula = 13;
1107
+
1108
+ // An uncertainty distribution of the parameter value. This is only valid for
1109
+ // input parameters.
1110
+ Uncertainty uncertainty = 14;
1111
+
1112
+ }
1113
+
1114
+ // A redefinition of a parameter in a product system.
1115
+ message ParameterRedef {
1116
+
1117
+ // The type name of the respective entity.
1118
+ // This field is used for JSON-LD compatibility.
1119
+ string type = 1 [json_name = "@type"];
1120
+
1121
+ // The context of the paramater (a process or LCIA method). If no context is
1122
+ // provided it is assumed that this is a redefinition of a global parameter.
1123
+ Ref context = 2;
1124
+
1125
+ // A description of this parameter redefinition.
1126
+ string description = 3;
1127
+
1128
+ // The name of the redefined parameter. Note that parameter names are used in
1129
+ // formulas so they need to follow specific syntax rules. A redefinition
1130
+ // replaces a bound parameter in a specific context and thus has to exactly
1131
+ // match the respective name.
1132
+ string name = 4;
1133
+
1134
+ // An uncertainty distribution for the redefined parameter value.
1135
+ Uncertainty uncertainty = 5;
1136
+
1137
+ // The value of the redefined parameter.
1138
+ double value = 6;
1139
+
1140
+ }
1141
+
1142
+ // An instance of this class is just a set of parameter redefinitions attached
1143
+ // to a product system. It can have a name and a description. One of the
1144
+ // parameter sets can be defined as the baseline of the product system. In the
1145
+ // calculation the baseline set is then taken by default.
1146
+ message ParameterRedefSet {
1147
+
1148
+ // The type name of the respective entity.
1149
+ // This field is used for JSON-LD compatibility.
1150
+ string type = 1 [json_name = "@type"];
1151
+
1152
+ // The name of the parameter set.
1153
+ string name = 2;
1154
+
1155
+ // A description of the parameter set.
1156
+ string description = 3;
1157
+
1158
+ // Indicates if this set of parameter redefinitions is the baseline for a
1159
+ // product system.
1160
+ bool is_baseline = 4;
1161
+
1162
+ // The parameter redefinitions of this redefinition set.
1163
+ repeated ParameterRedef parameters = 5;
1164
+
1165
+ }
1166
+
1167
+ // The possible scopes of parameters. Parameters can be defined globally, in
1168
+ // processes, or impact categories. They can be redefined in calculation setups
1169
+ // on the project and product system level, but the initial definition is
1170
+ // always only global, in a process, or an LCIA category.
1171
+ enum ParameterScope {
1172
+
1173
+ // This default option was added automatically
1174
+ // and means that no values was set.
1175
+ UNDEFINED_PARAMETER_SCOPE = 0;
1176
+
1177
+ // Indicates that the evaluation scope of a parameter is the process where it
1178
+ // is defined.
1179
+ PROCESS_SCOPE = 1;
1180
+
1181
+ // Indicates that the evaluation scope of a parameter is the impact category
1182
+ // where it is defined.
1183
+ IMPACT_SCOPE = 2;
1184
+
1185
+ // Indicates that the evaluation scope of a parameter is the global scope.
1186
+ GLOBAL_SCOPE = 3;
1187
+
1188
+ }
1189
+
1190
+ message Process {
1191
+
1192
+ // The type name of the respective entity.
1193
+ // This field is used for JSON-LD compatibility.
1194
+ string type = 1 [json_name = "@type"];
1195
+
1196
+ // The reference ID (typically an UUID) of the entity.
1197
+ string id = 2 [json_name = "@id"];
1198
+
1199
+ // The name of the entity.
1200
+ string name = 3;
1201
+
1202
+ // The description of the entity.
1203
+ string description = 4;
1204
+
1205
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1206
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1207
+ // the same as 1.0.0 or 1).
1208
+ string version = 5;
1209
+
1210
+ // The timestamp when the entity was changed the last time.
1211
+ string last_change = 6;
1212
+
1213
+ // The category of the entity.
1214
+ Ref category = 7;
1215
+
1216
+ // A list of optional tags. A tag is just a string which should not contain
1217
+ // commas (and other special characters).
1218
+ repeated string tags = 8;
1219
+
1220
+ // If this entity is part of a library, this field contains the identifier of
1221
+ // that library. The identifier is typically just the combination of the
1222
+ // library name and version.
1223
+ string library = 9;
1224
+
1225
+ repeated AllocationFactor allocation_factors = 10;
1226
+
1227
+ AllocationType default_allocation_method = 11;
1228
+
1229
+ // The inputs and outputs of the process.
1230
+ repeated Exchange exchanges = 12;
1231
+
1232
+ // This field holds the last internal ID that was used in an exchange (which
1233
+ // may have been deleted, so it can be larger than the largest internal ID of
1234
+ // the exchanges of the process.) The internal ID of an exchange is used to
1235
+ // identify exchanges within a process (for updates, data exchanges (see
1236
+ // process links), etc.). When you add an exchange to a process, you should
1237
+ // increment this field in the process and set the resulting value as the
1238
+ // internal ID of that exchange. The sequence of internal IDs should start
1239
+ // with `1`.
1240
+ int32 last_internal_id = 13;
1241
+
1242
+ // The location of the process.
1243
+ Ref location = 14;
1244
+
1245
+ repeated Parameter parameters = 15;
1246
+
1247
+ ProcessDocumentation process_documentation = 16;
1248
+
1249
+ ProcessType process_type = 17;
1250
+
1251
+ // A reference to a data quality system ([DQSystem]) with which the overall
1252
+ // quality of the process can be assessed.
1253
+ Ref dq_system = 18;
1254
+
1255
+ // A reference to a data quality system ([DQSystem]) with which the quality
1256
+ // of individual inputs and outputs ([Exchange]s) of the process can be
1257
+ // assessed.
1258
+ Ref exchange_dq_system = 19;
1259
+
1260
+ // A reference to a data quality system ([DQSystem]) with which the quality
1261
+ // of individual social aspects of the process can be assessed.
1262
+ Ref social_dq_system = 20;
1263
+
1264
+ // A data quality entry like `(1;3;2;5;1)`. The entry is a vector of data
1265
+ // quality values that need to match the overall data quality system of the
1266
+ // process (the system that is stored in the `dqSystem` property). In such a
1267
+ // system the data quality indicators have fixed positions and the respective
1268
+ // values in the `dqEntry` vector map to these positions.
1269
+ string dq_entry = 21;
1270
+
1271
+ // Indicates whether this process describes an infrastructure process. This
1272
+ // field is part of the openLCA schema because of backward compatibility with
1273
+ // EcoSpold 1. It does not really have a meaning in openLCA and should not be
1274
+ // used anymore.
1275
+ bool infrastructure_process = 22;
1276
+
1277
+ // A set of social aspects related to this process.
1278
+ repeated SocialAspect social_aspects = 23;
1279
+
1280
+ }
1281
+
1282
+ message ProcessDocumentation {
1283
+
1284
+ // The type name of the respective entity.
1285
+ // This field is used for JSON-LD compatibility.
1286
+ string type = 1 [json_name = "@type"];
1287
+
1288
+ string time_description = 2;
1289
+
1290
+ string valid_until = 3;
1291
+
1292
+ string valid_from = 4;
1293
+
1294
+ string technology_description = 5;
1295
+
1296
+ string data_collection_description = 6;
1297
+
1298
+ string completeness_description = 7;
1299
+
1300
+ string data_selection_description = 8;
1301
+
1302
+ string review_details = 9;
1303
+
1304
+ string data_treatment_description = 10;
1305
+
1306
+ string inventory_method_description = 11;
1307
+
1308
+ string modeling_constants_description = 12;
1309
+
1310
+ Ref reviewer = 13;
1311
+
1312
+ string sampling_description = 14;
1313
+
1314
+ repeated Ref sources = 15;
1315
+
1316
+ string restrictions_description = 16;
1317
+
1318
+ bool copyright = 17;
1319
+
1320
+ string creation_date = 18;
1321
+
1322
+ Ref data_documentor = 19;
1323
+
1324
+ Ref data_generator = 20;
1325
+
1326
+ Ref data_set_owner = 21;
1327
+
1328
+ string intended_application = 22;
1329
+
1330
+ string project_description = 23;
1331
+
1332
+ Ref publication = 24;
1333
+
1334
+ string geography_description = 25;
1335
+
1336
+ }
1337
+
1338
+ // A process link is a connection between two processes in a product system.
1339
+ message ProcessLink {
1340
+
1341
+ // The type name of the respective entity.
1342
+ // This field is used for JSON-LD compatibility.
1343
+ string type = 1 [json_name = "@type"];
1344
+
1345
+ // The descriptor of the process or product system that provides a product or
1346
+ // a waste treatment.
1347
+ Ref provider = 2;
1348
+
1349
+ // The descriptor of the flow that is exchanged between the two processes.
1350
+ Ref flow = 3;
1351
+
1352
+ // The descriptor of the process that is linked to the provider.
1353
+ Ref process = 4;
1354
+
1355
+ // The exchange of the linked process (this is useful if the linked process
1356
+ // has multiple exchanges with the same flow that are linked to different
1357
+ // provides, e.g. in an electricity mix).
1358
+ ExchangeRef exchange = 5;
1359
+
1360
+ }
1361
+
1362
+ enum ProcessType {
1363
+
1364
+ // This default option was added automatically
1365
+ // and means that no values was set.
1366
+ UNDEFINED_PROCESS_TYPE = 0;
1367
+
1368
+ LCI_RESULT = 1;
1369
+
1370
+ UNIT_PROCESS = 2;
1371
+
1372
+ }
1373
+
1374
+ // A product system describes the supply chain of a product (the functional
1375
+ // unit) ...
1376
+ message ProductSystem {
1377
+
1378
+ // The type name of the respective entity.
1379
+ // This field is used for JSON-LD compatibility.
1380
+ string type = 1 [json_name = "@type"];
1381
+
1382
+ // The reference ID (typically an UUID) of the entity.
1383
+ string id = 2 [json_name = "@id"];
1384
+
1385
+ // The name of the entity.
1386
+ string name = 3;
1387
+
1388
+ // The description of the entity.
1389
+ string description = 4;
1390
+
1391
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1392
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1393
+ // the same as 1.0.0 or 1).
1394
+ string version = 5;
1395
+
1396
+ // The timestamp when the entity was changed the last time.
1397
+ string last_change = 6;
1398
+
1399
+ // The category of the entity.
1400
+ Ref category = 7;
1401
+
1402
+ // A list of optional tags. A tag is just a string which should not contain
1403
+ // commas (and other special characters).
1404
+ repeated string tags = 8;
1405
+
1406
+ // If this entity is part of a library, this field contains the identifier of
1407
+ // that library. The identifier is typically just the combination of the
1408
+ // library name and version.
1409
+ string library = 9;
1410
+
1411
+ // The descriptors of all processes and sub-systems that are contained in the
1412
+ // product system.
1413
+ repeated Ref processes = 10;
1414
+
1415
+ // The descriptor of the process that provides the flow of the functional
1416
+ // unit of the product system.
1417
+ Ref reference_process = 11;
1418
+
1419
+ // The exchange of the reference processes (typically the product output)
1420
+ // that provides the flow of the functional unit of the product system.
1421
+ ExchangeRef reference_exchange = 12;
1422
+
1423
+ // The flow amount of the functional unit of the product system.
1424
+ double target_amount = 13;
1425
+
1426
+ // The unit in which the flow amount of the functional unit is given.
1427
+ Ref target_unit = 14;
1428
+
1429
+ // The flow property in which the flow amount of the functional unit is
1430
+ // given.
1431
+ Ref target_flow_property = 15;
1432
+
1433
+ // The process links of the product system.
1434
+ repeated ProcessLink process_links = 16;
1435
+
1436
+ // A list of possible sets of parameter redefinitions for this product
1437
+ // system.
1438
+ repeated ParameterRedefSet parameter_sets = 17;
1439
+
1440
+ }
1441
+
1442
+ message Project {
1443
+
1444
+ // The type name of the respective entity.
1445
+ // This field is used for JSON-LD compatibility.
1446
+ string type = 1 [json_name = "@type"];
1447
+
1448
+ // The reference ID (typically an UUID) of the entity.
1449
+ string id = 2 [json_name = "@id"];
1450
+
1451
+ // The name of the entity.
1452
+ string name = 3;
1453
+
1454
+ // The description of the entity.
1455
+ string description = 4;
1456
+
1457
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1458
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1459
+ // the same as 1.0.0 or 1).
1460
+ string version = 5;
1461
+
1462
+ // The timestamp when the entity was changed the last time.
1463
+ string last_change = 6;
1464
+
1465
+ // The category of the entity.
1466
+ Ref category = 7;
1467
+
1468
+ // A list of optional tags. A tag is just a string which should not contain
1469
+ // commas (and other special characters).
1470
+ repeated string tags = 8;
1471
+
1472
+ // If this entity is part of a library, this field contains the identifier of
1473
+ // that library. The identifier is typically just the combination of the
1474
+ // library name and version.
1475
+ string library = 9;
1476
+
1477
+ Ref impact_method = 10;
1478
+
1479
+ NwSet nw_set = 11;
1480
+
1481
+ }
1482
+
1483
+ // A Ref is a reference to a [RootEntity]. When serializing an entity (e.g. a
1484
+ // [Process]) that references another standalone entity (e.g. a [Flow] in an
1485
+ // [Exchange]) we do not want to write the complete referenced entity into the
1486
+ // serialized JSON object but just a reference. However, the reference contains
1487
+ // some meta-data like name, category path etc. that are useful to display.
1488
+ message Ref {
1489
+
1490
+ // The type name of the respective entity.
1491
+ // This field is used for JSON-LD compatibility.
1492
+ string type = 1 [json_name = "@type"];
1493
+
1494
+ // The reference ID (typically an UUID) of the entity.
1495
+ string id = 2 [json_name = "@id"];
1496
+
1497
+ // The name of the entity.
1498
+ string name = 3;
1499
+
1500
+ // The description of the entity.
1501
+ string description = 4;
1502
+
1503
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1504
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1505
+ // the same as 1.0.0 or 1).
1506
+ string version = 5;
1507
+
1508
+ // The timestamp when the entity was changed the last time.
1509
+ string last_change = 6;
1510
+
1511
+ // The full path of the category of the referenced entity from top to bottom,
1512
+ // e.g. `"Elementary flows", "Emissions to air", "unspecified"`.
1513
+ repeated string category_path = 7;
1514
+
1515
+ // If the entity that is described by this reference is part of a library,
1516
+ // this field contains the identifier of that library. The identifier is
1517
+ // typically just the combination of the library name and version.
1518
+ string library = 8;
1519
+
1520
+ // This field is only valid for references of flows or impact categories and
1521
+ // contains the name (symbol) of the reference unit of that respective flow
1522
+ // or impact category.
1523
+ string ref_unit = 9;
1524
+
1525
+ // This field is only valid for references of processes or flows and contains
1526
+ // the location name or code of that respective process or flow.
1527
+ string location = 10;
1528
+
1529
+ // In case of a reference to a flow, this field can contain the type of flow
1530
+ // that is referenced.
1531
+ FlowType flow_type = 11;
1532
+
1533
+ // In case of a reference to a process, this fiel can contain the type of
1534
+ // process that is referenced.
1535
+ ProcessType process_type = 12;
1536
+
1537
+ }
1538
+
1539
+ enum RiskLevel {
1540
+
1541
+ // This default option was added automatically
1542
+ // and means that no values was set.
1543
+ UNDEFINED_RISK_LEVEL = 0;
1544
+
1545
+ NO_OPPORTUNITY = 1;
1546
+
1547
+ HIGH_OPPORTUNITY = 2;
1548
+
1549
+ MEDIUM_OPPORTUNITY = 3;
1550
+
1551
+ LOW_OPPORTUNITY = 4;
1552
+
1553
+ NO_RISK = 5;
1554
+
1555
+ VERY_LOW_RISK = 6;
1556
+
1557
+ LOW_RISK = 7;
1558
+
1559
+ MEDIUM_RISK = 8;
1560
+
1561
+ HIGH_RISK = 9;
1562
+
1563
+ VERY_HIGH_RISK = 10;
1564
+
1565
+ NO_DATA = 11;
1566
+
1567
+ NOT_APPLICABLE = 12;
1568
+
1569
+ }
1570
+
1571
+ message SimpleResult {
1572
+
1573
+ // The type name of the respective entity.
1574
+ // This field is used for JSON-LD compatibility.
1575
+ string type = 1 [json_name = "@type"];
1576
+
1577
+ repeated FlowResult flow_results = 2;
1578
+
1579
+ repeated ImpactResult impact_results = 3;
1580
+
1581
+ }
1582
+
1583
+ // An instance of this class describes a social aspect related to a social
1584
+ // indicator in a process.
1585
+ message SocialAspect {
1586
+
1587
+ // The type name of the respective entity.
1588
+ // This field is used for JSON-LD compatibility.
1589
+ string type = 1 [json_name = "@type"];
1590
+
1591
+ // The value of the activity variable of the related indicator.
1592
+ double activity_value = 2;
1593
+
1594
+ string comment = 3;
1595
+
1596
+ // A data quality entry, e.g. `(3,1,2,4,1)`.
1597
+ string quality = 4;
1598
+
1599
+ // The raw amount of the indicator's unit of measurement (not required to be
1600
+ // numeric currently)
1601
+ string raw_amount = 5;
1602
+
1603
+ RiskLevel risk_level = 6;
1604
+
1605
+ Ref social_indicator = 7;
1606
+
1607
+ Ref source = 8;
1608
+
1609
+ }
1610
+
1611
+ message SocialIndicator {
1612
+
1613
+ // The type name of the respective entity.
1614
+ // This field is used for JSON-LD compatibility.
1615
+ string type = 1 [json_name = "@type"];
1616
+
1617
+ // The reference ID (typically an UUID) of the entity.
1618
+ string id = 2 [json_name = "@id"];
1619
+
1620
+ // The name of the entity.
1621
+ string name = 3;
1622
+
1623
+ // The description of the entity.
1624
+ string description = 4;
1625
+
1626
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1627
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1628
+ // the same as 1.0.0 or 1).
1629
+ string version = 5;
1630
+
1631
+ // The timestamp when the entity was changed the last time.
1632
+ string last_change = 6;
1633
+
1634
+ // The category of the entity.
1635
+ Ref category = 7;
1636
+
1637
+ // A list of optional tags. A tag is just a string which should not contain
1638
+ // commas (and other special characters).
1639
+ repeated string tags = 8;
1640
+
1641
+ // If this entity is part of a library, this field contains the identifier of
1642
+ // that library. The identifier is typically just the combination of the
1643
+ // library name and version.
1644
+ string library = 9;
1645
+
1646
+ // The name of the activity variable of the indicator.
1647
+ string activity_variable = 10;
1648
+
1649
+ // The quantity of the activity variable.
1650
+ Ref activity_quantity = 11;
1651
+
1652
+ // The unit of the activity variable.
1653
+ Ref activity_unit = 12;
1654
+
1655
+ // The unit in which the indicator is measured.
1656
+ string unit_of_measurement = 13;
1657
+
1658
+ // Documentation of the evaluation scheme of the indicator.
1659
+ string evaluation_scheme = 14;
1660
+
1661
+ }
1662
+
1663
+ // A source is a literature reference.
1664
+ message Source {
1665
+
1666
+ // The type name of the respective entity.
1667
+ // This field is used for JSON-LD compatibility.
1668
+ string type = 1 [json_name = "@type"];
1669
+
1670
+ // The reference ID (typically an UUID) of the entity.
1671
+ string id = 2 [json_name = "@id"];
1672
+
1673
+ // The name of the entity.
1674
+ string name = 3;
1675
+
1676
+ // The description of the entity.
1677
+ string description = 4;
1678
+
1679
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1680
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1681
+ // the same as 1.0.0 or 1).
1682
+ string version = 5;
1683
+
1684
+ // The timestamp when the entity was changed the last time.
1685
+ string last_change = 6;
1686
+
1687
+ // The category of the entity.
1688
+ Ref category = 7;
1689
+
1690
+ // A list of optional tags. A tag is just a string which should not contain
1691
+ // commas (and other special characters).
1692
+ repeated string tags = 8;
1693
+
1694
+ // If this entity is part of a library, this field contains the identifier of
1695
+ // that library. The identifier is typically just the combination of the
1696
+ // library name and version.
1697
+ string library = 9;
1698
+
1699
+ // A URL that points to the source.
1700
+ string url = 10;
1701
+
1702
+ // The full text reference of the source.
1703
+ string text_reference = 11;
1704
+
1705
+ // The publication year of the source.
1706
+ int32 year = 12;
1707
+
1708
+ // A direct link (relative or absolute URL) to the source file.
1709
+ string external_file = 13;
1710
+
1711
+ }
1712
+
1713
+ // Defines the parameter values of an uncertainty distribution. Depending on
1714
+ // the uncertainty distribution type different parameters could be used.
1715
+ message Uncertainty {
1716
+
1717
+ // The type name of the respective entity.
1718
+ // This field is used for JSON-LD compatibility.
1719
+ string type = 1 [json_name = "@type"];
1720
+
1721
+ // The uncertainty distribution type
1722
+ UncertaintyType distribution_type = 2;
1723
+
1724
+ // The arithmetic mean (used for normal distributions).
1725
+ double mean = 3;
1726
+
1727
+ // A mathematical formula for the arithmetic mean.
1728
+ string mean_formula = 4;
1729
+
1730
+ // The geometric mean value (used for log-normal distributions).
1731
+ double geom_mean = 5;
1732
+
1733
+ // A mathematical formula for the geometric mean.
1734
+ string geom_mean_formula = 6;
1735
+
1736
+ // The minimum value (used for uniform and triangle distributions).
1737
+ double minimum = 7;
1738
+
1739
+ // A mathematical formula for the minimum value.
1740
+ string minimum_formula = 8;
1741
+
1742
+ // The arithmetic standard deviation (used for normal distributions).
1743
+ double sd = 9;
1744
+
1745
+ // A mathematical formula for the arithmetic standard deviation.
1746
+ string sd_formula = 10;
1747
+
1748
+ // The geometric standard deviation (used for log-normal distributions).
1749
+ double geom_sd = 11;
1750
+
1751
+ // A mathematical formula for the geometric standard deviation.
1752
+ string geom_sd_formula = 12;
1753
+
1754
+ // The most likely value (used for triangle distributions).
1755
+ double mode = 13;
1756
+
1757
+ // A mathematical formula for the most likely value.
1758
+ string mode_formula = 14;
1759
+
1760
+ // The maximum value (used for uniform and triangle distributions).
1761
+ double maximum = 15;
1762
+
1763
+ // A mathematical formula for the maximum value.
1764
+ string maximum_formula = 16;
1765
+
1766
+ }
1767
+
1768
+ // Enumeration of uncertainty distribution types that can be used in exchanges,
1769
+ // parameters, LCIA factors, etc.
1770
+ enum UncertaintyType {
1771
+
1772
+ // This default option was added automatically
1773
+ // and means that no values was set.
1774
+ UNDEFINED_UNCERTAINTY_TYPE = 0;
1775
+
1776
+ LOG_NORMAL_DISTRIBUTION = 1;
1777
+
1778
+ NORMAL_DISTRIBUTION = 2;
1779
+
1780
+ TRIANGLE_DISTRIBUTION = 3;
1781
+
1782
+ UNIFORM_DISTRIBUTION = 4;
1783
+
1784
+ }
1785
+
1786
+ // An unit of measure
1787
+ message Unit {
1788
+
1789
+ // The type name of the respective entity.
1790
+ // This field is used for JSON-LD compatibility.
1791
+ string type = 1 [json_name = "@type"];
1792
+
1793
+ // The reference ID (typically an UUID) of the entity.
1794
+ string id = 2 [json_name = "@id"];
1795
+
1796
+ // The name of the entity.
1797
+ string name = 3;
1798
+
1799
+ // The description of the entity.
1800
+ string description = 4;
1801
+
1802
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1803
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1804
+ // the same as 1.0.0 or 1).
1805
+ string version = 5;
1806
+
1807
+ // The timestamp when the entity was changed the last time.
1808
+ string last_change = 6;
1809
+
1810
+ // The conversion factor to the reference unit of the unit group to which
1811
+ // this unit belongs.
1812
+ double conversion_factor = 7;
1813
+
1814
+ // Indicates whether the unit is the reference unit of the unit group to
1815
+ // which this unit belongs. If it is the reference unit the conversion factor
1816
+ // must be 1.0. There should be always only one reference unit in a unit
1817
+ // group. The reference unit is used to convert amounts given in one unit to
1818
+ // amounts given in another unit of the respective unit group.
1819
+ bool reference_unit = 8;
1820
+
1821
+ // A list of synonyms for the unit.
1822
+ repeated string synonyms = 9;
1823
+
1824
+ }
1825
+
1826
+ // A group of units that can be converted into each other.
1827
+ message UnitGroup {
1828
+
1829
+ // The type name of the respective entity.
1830
+ // This field is used for JSON-LD compatibility.
1831
+ string type = 1 [json_name = "@type"];
1832
+
1833
+ // The reference ID (typically an UUID) of the entity.
1834
+ string id = 2 [json_name = "@id"];
1835
+
1836
+ // The name of the entity.
1837
+ string name = 3;
1838
+
1839
+ // The description of the entity.
1840
+ string description = 4;
1841
+
1842
+ // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH
1843
+ // fields are optional and the fields may have leading zeros (so 01.00.00 is
1844
+ // the same as 1.0.0 or 1).
1845
+ string version = 5;
1846
+
1847
+ // The timestamp when the entity was changed the last time.
1848
+ string last_change = 6;
1849
+
1850
+ // The category of the entity.
1851
+ Ref category = 7;
1852
+
1853
+ // A list of optional tags. A tag is just a string which should not contain
1854
+ // commas (and other special characters).
1855
+ repeated string tags = 8;
1856
+
1857
+ // If this entity is part of a library, this field contains the identifier of
1858
+ // that library. The identifier is typically just the combination of the
1859
+ // library name and version.
1860
+ string library = 9;
1861
+
1862
+ // Some LCA data formats do not have the concept of flow properties or
1863
+ // quantities. This field provides a default link to a flow property for
1864
+ // units that are contained in this group.
1865
+ Ref default_flow_property = 10;
1866
+
1867
+ // The units of the unit group.
1868
+ repeated Unit units = 11;
1869
+
1870
+ }