Skip to main content
Glama
linancn

TianGong-LCA-MCP Server

by linancn
olca.proto57 kB
// Generated from olca-schema (https://github.com/GreenDelta/olca-schema). // DO NOT EDIT! syntax = "proto3"; package protolca; option java_package = "org.openlca.proto.generated"; option java_outer_classname = "Proto"; option csharp_namespace = "ProtoLCA"; option go_package = ".;protolca"; // An actor is a person or organisation. message Actor { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; string address = 10; string city = 11; string country = 12; string email = 13; string telefax = 14; string telephone = 15; string website = 16; string zip_code = 17; } // A single allocation factor in a process. message AllocationFactor { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The type of allocation. AllocationType allocation_type = 2; // The output product (or waste input) to which this allocation factor is // related. The must be an exchange with this product output (or waste input) // in this process. Ref product = 3; // The value of the allocation factor. double value = 4; // An optional formula from which the value of the allocation factor is // calculated. string formula = 5; // A product input, waste output, or elementary flow exchange which is // allocated by this factor. This is only valid for causal allocation where // allocation factors can be assigned to single exchanges. ExchangeRef exchange = 6; } // An enumeration type for allocation methods. This type is used to define the // type of an [AllocationFactor], the default allocation method of a // multi-functional [Process], or the allocation method in a // [CalculationSetup]. enum AllocationType { // This default option was added automatically // and means that no values was set. UNDEFINED_ALLOCATION_TYPE = 0; PHYSICAL_ALLOCATION = 1; ECONOMIC_ALLOCATION = 2; CAUSAL_ALLOCATION = 3; USE_DEFAULT_ALLOCATION = 4; NO_ALLOCATION = 5; } // A setup for a product system calculation. message CalculationSetup { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The type of calculation that should be performed. CalculationType calculation_type = 2; // The product system that should be calculated (required). Ref product_system = 3; // The LCIA method for the calculation (optional). Ref impact_method = 4; // Indicates whether life cycle costs should be also calculated (optional). bool with_costs = 5; // Indicates whether a regionalized result should be calculated or not. If // this is set to true, the intervention matrix is indexed by (elementary // flow, location) - pairs instead of just elementary flows. The LCI result // then contains results for these pairs which can be then used in // regionalized impact assessments. bool with_regionalization = 6; // The normalisation and weighting set for the calculation (optional). Ref nw_set = 7; // The calculation type to be used in the calculation (optional). AllocationType allocation_method = 8; // A list of parameter redefinitions to be used in the calculation // (optional). repeated ParameterRedef parameter_redefs = 9; // (optional) double amount = 10; // (optional) Ref unit = 11; // (optional) Ref flow_property = 12; } // An enumeration of the different calculation methods supported by openLCA. enum CalculationType { // This default option was added automatically // and means that no values was set. UNDEFINED_CALCULATION_TYPE = 0; // Calculates the total results for elementary flows, LCIA indicators, costs, // etc. of a product system. SIMPLE_CALCULATION = 1; // Includes the total result vectors of a simple calculation but calculates // also the direct contributions of each process (or better process product // in case of multi-output processes) to these total results. CONTRIBUTION_ANALYSIS = 2; // Extends the contribution analysis by providing also the upstream results // of each process (process product) in the product system. The upstream // result contains the direct contributions of the respective process but // also the result of the supply chain up to this process scaled to the // demand of the process in the product system. UPSTREAM_ANALYSIS = 3; // A regionalized calculation is a contribution analysis but with an LCIA // method that supports regionalized characterization factors (via region // specific parameters in formulas) and a product system with processes that // have geographic information assigned (point, line, or polygon shapes). REGIONALIZED_CALCULATION = 4; // A Monte Carlo simulation generates for each run, of a given number of a // given number of iterations, random values according to the uncertainty // distributions of process inputs/outputs, parameters, characterization // factors, etc. of a product system and then performs a simple calculation // for that specific run. MONTE_CARLO_SIMULATION = 5; } // A category is used for the categorisation of types like processes, flows, // etc. The tricky thing is that the `Category` class inherits also from the // [CategorizedEntity] type so that a category can have a category attribute // which is then the parent category of this category (uff). message Category { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The type of models that can be linked to the category. ModelType model_type = 10; } message Currency { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; string code = 10; double conversion_factor = 11; Ref reference_currency = 12; } // An indicator of a data quality system ([DQSystem]). message DQIndicator { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; string name = 2; int32 position = 3; repeated DQScore scores = 4; } // An score value of an indicator ([DQIndicator]) in a data quality system // ([DQSystem]). message DQScore { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; int32 position = 2; string label = 3; string description = 4; double uncertainty = 5; } // A data quality system (DQS) in openLCA describes a pedigree matrix of $m$ // data quality indicators (DQIs) and $n$ data quality scores (DQ scores). Such // a system can then be used to assess the data quality of processes and // exchanges by tagging them with an instance of the system $D$ where $D$ is a // $m * n$ matrix with an entry $d_{ij}$ containing the value of the data // quality score $j$ for indicator $i$. As each indicator in $D$ can only have // a single score value, $D$ can be stored in a vector $d$ where $d_i$ contains // the data quality score for indicator $i$. The possible values of the data // quality scores are defined as a linear order $1 \dots n$. In openLCA, the // data quality entry $d$ of a process or exchange is stored as a string like // `(3;2;4;n.a.;2)` which means the data quality score for the first indicator // is `3`, for the second `2` etc. A specific value is `n.a.` which stands for // _not applicable_. In calculations, these data quality entries can be // aggregated in different ways. For example, the data quality entry of a flow // $f$ with a contribution of `0.5 kg` and a data quality entry of // `(3;2;4;n.a.;2)` in a process $p$ and a contribution of `1.5 kg` and a data // quality entry of `(2;3;1;n.a.;5)` in a process $q$ could be aggregated to // `(2;3;2;n.a.;4)` by applying an weighted average and rounding. Finally, // custom labels like `A, B, C, ...` or `Very good, Good, Fair, ...` for the DQ // scores can be assigned by the user. These labels are then displayed instead // of `1, 2, 3 ...` in the user interface or result exports. However, // internally the numeric values are used in the data model and calculations. message DQSystem { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; bool has_uncertainties = 10; Ref source = 11; repeated DQIndicator indicators = 12; } // An Exchange is an input or output of a [Flow] in a [Process]. The amount of // an exchange is given in a specific unit of a quantity ([FlowProperty]) of // the flow. The allowed units and flow properties that can be used for a flow // in an exchange are defined by the flow property information in that flow // (see also the [FlowPropertyFactor] type). message Exchange { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // Indicates whether this exchange is an avoided product. bool avoided_product = 2; // A formula for calculating the costs of this exchange. string cost_formula = 3; // The costs of this exchange. double cost_value = 4; // The currency in which the costs of this exchange are given. Ref currency = 5; // The process internal ID of the exchange. This is used to identify // exchanges unambiguously within a process (e.g. when linking exchanges in a // product system where multiple exchanges with the same flow are allowed). // The value should be >= 1. int32 internal_id = 6; // The reference to the flow of the exchange. Ref flow = 7; // The quantity in which the amount is given. Ref flow_property = 8; bool input = 9; // Indicates whether the exchange is the quantitative reference of the // process. bool quantitative_reference = 10; double base_uncertainty = 11; // A default provider is a [Process] that is linked as the provider of a // product input or the waste treatment provider of a waste output. It is // just an optional default setting which can be also ignored when building // product systems in openLCA. The user is always free to link processes in // product systems ignoring these defaults (but the flows and flow directions // have to match of course). Ref default_provider = 12; double amount = 13; string amount_formula = 14; Ref unit = 15; // A data quality entry like `(1;3;2;5;1)`. The entry is a vector of data // quality values that need to match the data quality scheme for flow inputs // and outputs that is assigned to the [Process]. In such a scheme the data // quality indicators have fixed positions and the respective values in the // `dqEntry` vector map to these positions. string dq_entry = 16; Uncertainty uncertainty = 17; // A general comment about the input or output. string description = 18; } // An instance of this class describes a reference to an exchange in a process. // When we reference such an exchange we only need the information to indentify // that exchange unambiguously in a process. message ExchangeRef { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The internal ID of the exchange. int32 internal_id = 2; } // Everything that can be an input or output of a process (e.g. a substance, a // product, a waste, a service etc.) message Flow { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The type of the flow. Note that this type is more a descriptor of how the // flow is handled in calculations. FlowType flow_type = 10; // A CAS number of the flow. string cas = 11; // A chemical formula of the flow. string formula = 12; // The flow properties (quantities) in which amounts of the flow can be // expressed together with conversion factors between these flow flow // properties. repeated FlowPropertyFactor flow_properties = 13; // The location of the flow. Normally the location of a flow is defined by // the process location where the flow is an input or output. However, some // data formats define a location as a property of a flow. Ref location = 14; // A list of synonyms but packed into a single field. Best is to use // semicolons as separator as commas are sometimes used in names of // chemicals. string synonyms = 15; // Indicates whether this flow describes an infrastructure product. This // field is part of the openLCA schema because of backward compatibility with // EcoSpold 1. It does not really have a meaning in openLCA and should not be // used anymore. bool infrastructure_flow = 16; } // A crosswalk of flows from a source flow list to a target flow list. message FlowMap { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The reference (id, name, description) of the source flow list. Ref source = 7; // The reference (id, name, description) of the target flow list. Ref target = 8; // A list of flow mappings from flows in a source flow list to flows in a // target flow list. repeated FlowMapEntry mappings = 9; } // A mapping from a source flow to a target flow. message FlowMapEntry { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // Describes the source flow of the mapping. FlowMapRef from = 2; // Describes the target of the mapping. FlowMapRef to = 3; // The conversion factor to convert the amount of 1 unit of the source flow // into the corresponding quantity of the target flow. double conversion_factor = 4; } // Describes a source or target flow in a `FlowMappingEntry` of a `FlowMap`. // Such a flow reference can also optionally specify the unit and flow property // (quantity) for which the mapping is valid. If the unit or quantity is not // given, the mapping is based on the respective reference unit and reference // flow property of the flow. message FlowMapRef { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference to the flow data set. Ref flow = 2; // An optional reference to a flow property of the flow for which the mapping // is valid. Ref flow_property = 3; // An optional reference to a unit of the flow for which the mapping is valid Ref unit = 4; // In case of a product or waste flow a flow mapping can contain a provider // which is the process that produces the product or a waste treatment // process that consumes the waste flow. This is useful when we want to apply // mappings of product and waste flows on databases and link them in the // corresponding processes and product systems. Ref provider = 5; } // A flow property is a quantity that can be used to express amounts of a flow. message FlowProperty { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The type of the flow property FlowPropertyType flow_property_type = 10; // The units of measure that can be used to express quantities of the flow // property. Ref unit_group = 11; } // A FlowPropertyFactor is a conversion factor between <a // href="./FlowProperty.html">flow properties (quantities)</a> of a <a // href="./Flow.html">flow</a>. As an example the amount of the flow 'water' in // a process could be expressed in 'kg' mass or 'm3' volume. In this case the // flow water would have two flow property factors: one for the flow property // 'mass' and one for 'volume'. Each of these flow properties has a reference // to a <a href="./UnitGroup.html">unit group</a> which again has a reference // unit. In the example the flow property 'mass' could reference the unit group // 'units of mass' with 'kg' as reference unit and volume could reference the // unit group 'units of volume' with 'm3' as reference unit. The flow property // factor is now the conversion factor between these two reference units where // the factor of the reference flow property of the flow is 1. If the reference // flow property of 'water' in the example would be 'mass' the respective flow // property factor would be 1 and the factor for 'volume' would be 0.001 (as 1 // kg water is 0.001 m3). The amount of water in a process can now be also // given in liter, tons, grams etc. For this, the unit conversion factor of the // respective unit group can be used to convert into the reference unit (which // then can be used to convert to the reference unit of another flow property). // Another thing to note is that different flow properties can refer to the // same unit group (e.g. MJ upper calorific value and MJ lower calorific // value.) message FlowPropertyFactor { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The flow property (quantity) of the factor. Ref flow_property = 2; // The value of the conversion factor. double conversion_factor = 3; // Indicates whether the flow property of the factor is the reference flow // property of the flow. The reference flow property must have a conversion // factor of 1.0 and there should be only one reference flow property. bool reference_flow_property = 4; } // An enumeration of flow property types. enum FlowPropertyType { // This default option was added automatically // and means that no values was set. UNDEFINED_FLOW_PROPERTY_TYPE = 0; ECONOMIC_QUANTITY = 1; PHYSICAL_QUANTITY = 2; } // A result value for a flow; given in the reference unit of the flow. message FlowResult { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The flow reference. Ref flow = 2; // Indicates whether the flow is an input or not. bool input = 3; // The value of the flow amount. double value = 4; // The (reference to the) location of this flow result in case of a // regionalized result. Ref location = 5; } // The basic flow types. enum FlowType { // This default option was added automatically // and means that no values was set. UNDEFINED_FLOW_TYPE = 0; ELEMENTARY_FLOW = 1; PRODUCT_FLOW = 2; WASTE_FLOW = 3; } message ImpactCategory { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The name of the reference unit of the LCIA category (e.g. kg CO2-eq.). string reference_unit_name = 10; // A set of parameters which can be used in formulas of the characterisation // factors in this impact category. repeated Parameter parameters = 11; // The characterisation factors of the LCIA category. repeated ImpactFactor impact_factors = 12; } // A single characterisation factor of a LCIA category for a flow. message ImpactFactor { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The [Flow] of the impact assessment factor. Ref flow = 2; // In case of a regionalized impact category, this field can contain the // location for which this factor is valid. Ref location = 3; // The quantity of the flow to which the LCIA factor is related (e.g. Mass). Ref flow_property = 4; // The flow unit to which the LCIA factor is related (e.g. kg). Ref unit = 5; // The value of the impact assessment factor. double value = 6; // A mathematical formula for calculating the value of the LCIA factor. string formula = 7; // The uncertainty distribution of the factors' value. Uncertainty uncertainty = 8; } // An impact assessment method. message ImpactMethod { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The impact categories of the method. repeated Ref impact_categories = 10; // The normalization and weighting sets of the method. repeated NwSet nw_sets = 11; } // A result value for an impact assessment category. message ImpactResult { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference to the impact assessment category. Ref impact_category = 2; // The value of the flow amount. double value = 3; } // A location like a country, state, city, etc. message Location { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The code of the location (e.g. an ISO 2-letter country code). string code = 10; // The average latitude of the location. double latitude = 11; // The average longitude of the location. double longitude = 12; // A GeoJSON object. // When we map to the bytes type it means that we have no matching message // type and just put the raw bytes into the field. This is specifically true // for our geometry data of locations which cannot be translated to valid // GeoJSON using Protocol Buffers (as they do not support arrays of arrays). // To indicate that this is a different field than the field in the // olca-schema definition, we append the _bytes suffix to the field name bytes geometry_bytes = 13; } // An enumeration of the root entity types. enum ModelType { // This default option was added automatically // and means that no values was set. UNDEFINED_MODEL_TYPE = 0; ACTOR = 1; CATEGORY = 2; CURRENCY = 3; DQ_SYSTEM = 4; FLOW = 5; FLOW_PROPERTY = 6; IMPACT_CATEGORY = 7; IMPACT_METHOD = 8; LOCATION = 9; NW_SET = 10; PARAMETER = 11; PROCESS = 12; PRODUCT_SYSTEM = 13; PROJECT = 14; SOCIAL_INDICATOR = 15; SOURCE = 16; UNIT = 17; UNIT_GROUP = 18; } // A normalization and weighting factor of a [NwSet] related to an impact // category. Depending on the purpose of the [NwSet] (normalization, weighting, // or both) the normalization and weighting factor can be present or not. message NwFactor { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; Ref impact_category = 2; double normalisation_factor = 3; double weighting_factor = 4; } // A normalization and weighting set. message NwSet { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // This is the optional unit of the (normalized and) weighted score when this // normalization and weighting set was applied on a LCIA result. string weighted_score_unit = 7; // The list of normalization and weighting factors of this set. repeated NwFactor factors = 8; } // In openLCA, parameters can be defined in different scopes: global, process, // or LCIA method. The parameter name can be used in formulas and, thus, need // to conform to a specific syntax. Within a scope the parameter name should be // unique (otherwise the evaluation is not deterministic). There are two types // of parameters in openLCA: input parameters and dependent parameters. An // input parameter can have an optional uncertainty distribution but not a // formula. A dependent parameter can (should) have a formula (where also other // parameters can be used) but no uncertainty distribution. message Parameter { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The scope where the parameter is valid. ParameterScope parameter_scope = 10; // Indicates whether the parameter is an input parameter (true) or a // dependent/calculated parameter (false). A parameter can have a formula if // it is not an input parameter. bool input_parameter = 11; // The parameter value. double value = 12; // A mathematical expression to calculate the parameter value. string formula = 13; // An uncertainty distribution of the parameter value. This is only valid for // input parameters. Uncertainty uncertainty = 14; } // A redefinition of a parameter in a product system. message ParameterRedef { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The context of the paramater (a process or LCIA method). If no context is // provided it is assumed that this is a redefinition of a global parameter. Ref context = 2; // A description of this parameter redefinition. string description = 3; // The name of the redefined parameter. Note that parameter names are used in // formulas so they need to follow specific syntax rules. A redefinition // replaces a bound parameter in a specific context and thus has to exactly // match the respective name. string name = 4; // An uncertainty distribution for the redefined parameter value. Uncertainty uncertainty = 5; // The value of the redefined parameter. double value = 6; } // An instance of this class is just a set of parameter redefinitions attached // to a product system. It can have a name and a description. One of the // parameter sets can be defined as the baseline of the product system. In the // calculation the baseline set is then taken by default. message ParameterRedefSet { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The name of the parameter set. string name = 2; // A description of the parameter set. string description = 3; // Indicates if this set of parameter redefinitions is the baseline for a // product system. bool is_baseline = 4; // The parameter redefinitions of this redefinition set. repeated ParameterRedef parameters = 5; } // The possible scopes of parameters. Parameters can be defined globally, in // processes, or impact categories. They can be redefined in calculation setups // on the project and product system level, but the initial definition is // always only global, in a process, or an LCIA category. enum ParameterScope { // This default option was added automatically // and means that no values was set. UNDEFINED_PARAMETER_SCOPE = 0; // Indicates that the evaluation scope of a parameter is the process where it // is defined. PROCESS_SCOPE = 1; // Indicates that the evaluation scope of a parameter is the impact category // where it is defined. IMPACT_SCOPE = 2; // Indicates that the evaluation scope of a parameter is the global scope. GLOBAL_SCOPE = 3; } message Process { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; repeated AllocationFactor allocation_factors = 10; AllocationType default_allocation_method = 11; // The inputs and outputs of the process. repeated Exchange exchanges = 12; // This field holds the last internal ID that was used in an exchange (which // may have been deleted, so it can be larger than the largest internal ID of // the exchanges of the process.) The internal ID of an exchange is used to // identify exchanges within a process (for updates, data exchanges (see // process links), etc.). When you add an exchange to a process, you should // increment this field in the process and set the resulting value as the // internal ID of that exchange. The sequence of internal IDs should start // with `1`. int32 last_internal_id = 13; // The location of the process. Ref location = 14; repeated Parameter parameters = 15; ProcessDocumentation process_documentation = 16; ProcessType process_type = 17; // A reference to a data quality system ([DQSystem]) with which the overall // quality of the process can be assessed. Ref dq_system = 18; // A reference to a data quality system ([DQSystem]) with which the quality // of individual inputs and outputs ([Exchange]s) of the process can be // assessed. Ref exchange_dq_system = 19; // A reference to a data quality system ([DQSystem]) with which the quality // of individual social aspects of the process can be assessed. Ref social_dq_system = 20; // A data quality entry like `(1;3;2;5;1)`. The entry is a vector of data // quality values that need to match the overall data quality system of the // process (the system that is stored in the `dqSystem` property). In such a // system the data quality indicators have fixed positions and the respective // values in the `dqEntry` vector map to these positions. string dq_entry = 21; // Indicates whether this process describes an infrastructure process. This // field is part of the openLCA schema because of backward compatibility with // EcoSpold 1. It does not really have a meaning in openLCA and should not be // used anymore. bool infrastructure_process = 22; // A set of social aspects related to this process. repeated SocialAspect social_aspects = 23; } message ProcessDocumentation { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; string time_description = 2; string valid_until = 3; string valid_from = 4; string technology_description = 5; string data_collection_description = 6; string completeness_description = 7; string data_selection_description = 8; string review_details = 9; string data_treatment_description = 10; string inventory_method_description = 11; string modeling_constants_description = 12; Ref reviewer = 13; string sampling_description = 14; repeated Ref sources = 15; string restrictions_description = 16; bool copyright = 17; string creation_date = 18; Ref data_documentor = 19; Ref data_generator = 20; Ref data_set_owner = 21; string intended_application = 22; string project_description = 23; Ref publication = 24; string geography_description = 25; } // A process link is a connection between two processes in a product system. message ProcessLink { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The descriptor of the process or product system that provides a product or // a waste treatment. Ref provider = 2; // The descriptor of the flow that is exchanged between the two processes. Ref flow = 3; // The descriptor of the process that is linked to the provider. Ref process = 4; // The exchange of the linked process (this is useful if the linked process // has multiple exchanges with the same flow that are linked to different // provides, e.g. in an electricity mix). ExchangeRef exchange = 5; } enum ProcessType { // This default option was added automatically // and means that no values was set. UNDEFINED_PROCESS_TYPE = 0; LCI_RESULT = 1; UNIT_PROCESS = 2; } // A product system describes the supply chain of a product (the functional // unit) ... message ProductSystem { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The descriptors of all processes and sub-systems that are contained in the // product system. repeated Ref processes = 10; // The descriptor of the process that provides the flow of the functional // unit of the product system. Ref reference_process = 11; // The exchange of the reference processes (typically the product output) // that provides the flow of the functional unit of the product system. ExchangeRef reference_exchange = 12; // The flow amount of the functional unit of the product system. double target_amount = 13; // The unit in which the flow amount of the functional unit is given. Ref target_unit = 14; // The flow property in which the flow amount of the functional unit is // given. Ref target_flow_property = 15; // The process links of the product system. repeated ProcessLink process_links = 16; // A list of possible sets of parameter redefinitions for this product // system. repeated ParameterRedefSet parameter_sets = 17; } message Project { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; Ref impact_method = 10; NwSet nw_set = 11; } // A Ref is a reference to a [RootEntity]. When serializing an entity (e.g. a // [Process]) that references another standalone entity (e.g. a [Flow] in an // [Exchange]) we do not want to write the complete referenced entity into the // serialized JSON object but just a reference. However, the reference contains // some meta-data like name, category path etc. that are useful to display. message Ref { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The full path of the category of the referenced entity from top to bottom, // e.g. `"Elementary flows", "Emissions to air", "unspecified"`. repeated string category_path = 7; // If the entity that is described by this reference is part of a library, // this field contains the identifier of that library. The identifier is // typically just the combination of the library name and version. string library = 8; // This field is only valid for references of flows or impact categories and // contains the name (symbol) of the reference unit of that respective flow // or impact category. string ref_unit = 9; // This field is only valid for references of processes or flows and contains // the location name or code of that respective process or flow. string location = 10; // In case of a reference to a flow, this field can contain the type of flow // that is referenced. FlowType flow_type = 11; // In case of a reference to a process, this fiel can contain the type of // process that is referenced. ProcessType process_type = 12; } enum RiskLevel { // This default option was added automatically // and means that no values was set. UNDEFINED_RISK_LEVEL = 0; NO_OPPORTUNITY = 1; HIGH_OPPORTUNITY = 2; MEDIUM_OPPORTUNITY = 3; LOW_OPPORTUNITY = 4; NO_RISK = 5; VERY_LOW_RISK = 6; LOW_RISK = 7; MEDIUM_RISK = 8; HIGH_RISK = 9; VERY_HIGH_RISK = 10; NO_DATA = 11; NOT_APPLICABLE = 12; } message SimpleResult { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; repeated FlowResult flow_results = 2; repeated ImpactResult impact_results = 3; } // An instance of this class describes a social aspect related to a social // indicator in a process. message SocialAspect { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The value of the activity variable of the related indicator. double activity_value = 2; string comment = 3; // A data quality entry, e.g. `(3,1,2,4,1)`. string quality = 4; // The raw amount of the indicator's unit of measurement (not required to be // numeric currently) string raw_amount = 5; RiskLevel risk_level = 6; Ref social_indicator = 7; Ref source = 8; } message SocialIndicator { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // The name of the activity variable of the indicator. string activity_variable = 10; // The quantity of the activity variable. Ref activity_quantity = 11; // The unit of the activity variable. Ref activity_unit = 12; // The unit in which the indicator is measured. string unit_of_measurement = 13; // Documentation of the evaluation scheme of the indicator. string evaluation_scheme = 14; } // A source is a literature reference. message Source { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // A URL that points to the source. string url = 10; // The full text reference of the source. string text_reference = 11; // The publication year of the source. int32 year = 12; // A direct link (relative or absolute URL) to the source file. string external_file = 13; } // Defines the parameter values of an uncertainty distribution. Depending on // the uncertainty distribution type different parameters could be used. message Uncertainty { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The uncertainty distribution type UncertaintyType distribution_type = 2; // The arithmetic mean (used for normal distributions). double mean = 3; // A mathematical formula for the arithmetic mean. string mean_formula = 4; // The geometric mean value (used for log-normal distributions). double geom_mean = 5; // A mathematical formula for the geometric mean. string geom_mean_formula = 6; // The minimum value (used for uniform and triangle distributions). double minimum = 7; // A mathematical formula for the minimum value. string minimum_formula = 8; // The arithmetic standard deviation (used for normal distributions). double sd = 9; // A mathematical formula for the arithmetic standard deviation. string sd_formula = 10; // The geometric standard deviation (used for log-normal distributions). double geom_sd = 11; // A mathematical formula for the geometric standard deviation. string geom_sd_formula = 12; // The most likely value (used for triangle distributions). double mode = 13; // A mathematical formula for the most likely value. string mode_formula = 14; // The maximum value (used for uniform and triangle distributions). double maximum = 15; // A mathematical formula for the maximum value. string maximum_formula = 16; } // Enumeration of uncertainty distribution types that can be used in exchanges, // parameters, LCIA factors, etc. enum UncertaintyType { // This default option was added automatically // and means that no values was set. UNDEFINED_UNCERTAINTY_TYPE = 0; LOG_NORMAL_DISTRIBUTION = 1; NORMAL_DISTRIBUTION = 2; TRIANGLE_DISTRIBUTION = 3; UNIFORM_DISTRIBUTION = 4; } // An unit of measure message Unit { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The conversion factor to the reference unit of the unit group to which // this unit belongs. double conversion_factor = 7; // Indicates whether the unit is the reference unit of the unit group to // which this unit belongs. If it is the reference unit the conversion factor // must be 1.0. There should be always only one reference unit in a unit // group. The reference unit is used to convert amounts given in one unit to // amounts given in another unit of the respective unit group. bool reference_unit = 8; // A list of synonyms for the unit. repeated string synonyms = 9; } // A group of units that can be converted into each other. message UnitGroup { // The type name of the respective entity. // This field is used for JSON-LD compatibility. string type = 1 [json_name = "@type"]; // The reference ID (typically an UUID) of the entity. string id = 2 [json_name = "@id"]; // The name of the entity. string name = 3; // The description of the entity. string description = 4; // A version number in MAJOR.MINOR.PATCH format where the MINOR and PATCH // fields are optional and the fields may have leading zeros (so 01.00.00 is // the same as 1.0.0 or 1). string version = 5; // The timestamp when the entity was changed the last time. string last_change = 6; // The category of the entity. Ref category = 7; // A list of optional tags. A tag is just a string which should not contain // commas (and other special characters). repeated string tags = 8; // If this entity is part of a library, this field contains the identifier of // that library. The identifier is typically just the combination of the // library name and version. string library = 9; // Some LCA data formats do not have the concept of flow properties or // quantities. This field provides a default link to a flow property for // units that are contained in this group. Ref default_flow_property = 10; // The units of the unit group. repeated Unit units = 11; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/linancn/tiangong-lca-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server