UNPKG

@hestia-earth/schema

Version:
244 lines (243 loc) 11.3 kB
import { JSON, SchemaType } from './types'; import { Term } from './Term'; import { Source } from './Source'; import { Property } from './Property'; import { Input } from './Input'; import { Practice } from './Practice'; import { TermTermType } from './Term'; export declare enum AnimalReferencePeriod { average = "average", 'end of Cycle' = "end of Cycle", 'start of Cycle' = "start of Cycle" } export declare enum AnimalStatsDefinition { animals = "animals", cycles = "cycles", modelled = "modelled", 'other observations' = "other observations", regions = "regions", replications = "replications", simulated = "simulated", sites = "sites", spatial = "spatial", time = "time" } export declare enum AnimalMethodClassification { 'consistent external sources' = "consistent external sources", 'estimated with assumptions' = "estimated with assumptions", 'expert opinion' = "expert opinion", 'inconsistent external sources' = "inconsistent external sources", modelled = "modelled", 'non-verified survey data' = "non-verified survey data", 'physical measurement' = "physical measurement", 'unsourced assumption' = "unsourced assumption", 'verified survey data' = "verified survey data" } /** * Contains all the TermTermType with override on the Animal. * Note: it does not contain the default TermTermType on related Blank Nodes. */ export declare const animalTermTermType: { term: TermTermType[]; all: TermTermType[]; }; /** * Contains all the fields that make the blank nodes unique. */ export declare const animalUniquenessFields: { properties: string[]; inputs: string[]; practices: string[]; }; /** * A type of animal present during the [Cycle](/schema/Cycle). Adding multiple blank nodes of this type specifies the population ("herd composition") or describes a polyculture system. Use <code>[properties](/schema/Animal#properties)</code> to add information describing each animal type, such as [Liveweight per head](/term/liveweightPerHead), [Liveweight gain](/term/liveweightGain), [Age](/term/age), [Mortality rate](/term/mortalityRate), or [Pregnancy rate total](/term/pregnancyRateTotal). Use <code>[inputs](/schema/Animal#inputs)</code> to specify the Inputs for each animal type such as the feed use. Input quantities should be the total for all animals represented by this blank node and not the input quantity per head. Use <code>[practices](/schema/Animal#practices)</code> to specify Practices describing each each animal type such as the [animal breed](/glossary?page=1&termType=animalBreed). */ export declare class Animal extends JSON<SchemaType.Animal> { /** * An identifier for each Animal which must be unique within the Cycle. */ animalId?: string; /** * A reference to the [Term](/schema/Term) describing the Animal. */ term?: Term; /** * A description of the Animal type. */ description?: string; /** * <ul class="is-pl-3 is-list-style-disc"> <li> The data are a time-weighted <code>average</code> over the Cycle. The recommended value. </li> <li> The data describe the Animal at the <code>start of Cycle</code>. </li> <li> The data describe the Animal at the <code>end of Cycle</code>. </li> </ul> */ referencePeriod?: AnimalReferencePeriod; /** * The number of Animals per <code>[functionalUnit](/schema/Cycle#functionalUnit)</code>. If using an average reference period, the number should be a time-weighted average which takes into account transitions between different categories that occur during the Cycle (e.g., female calves becoming heifers) and mortalities. */ value?: number; /** * An array of up to 1000 random samples from the posterior distribution of <code>[value](/schema/Animal#value)</code. This should describe the entire distribution of the dataset and not the distribution of the mean. */ distribution?: (number)[]; /** * The standard deviation of <code>[value](/schema/Animal#value)</code>. */ sd?: number; /** * The minimum of <code>[value](/schema/Animal#value)</code>. */ min?: number; /** * The maximum of <code>[value](/schema/Animal#value)</code>. */ max?: number; /** * What the descriptive statistics (<code>[sd](/schema/Animal#sd)</code>, <code>[min](/schema/Animal#min)</code>, <code>[max](/schema/Animal#max)</code>, and <code>[value](/schema/Animal#value)</code>) are calculated across, or whether they are simulated or the output of a model. <code>spatial</code> refers to descriptive statistics calculated across spatial units (e.g., pixels) within a region or country. <code>time</code> refers to descriptive statistics calculated across units of time (e.g., hours). */ statsDefinition?: AnimalStatsDefinition; /** * The number of observations the descriptive statistics are calculated over. */ observations?: number; /** * The price of the Animal. The price should be expressed per animal. The [currency](/schema/Animal#currency) must be specified. */ price?: number; /** * The three letter currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. */ currency?: string; /** * A classification of the method used to acquire or estimate the <code>[term](/schema/Animal#term)</code> and <code>[value](/schema/Animal#value)</code>. Overrides the <code>[defaultMethodClassification](/schema/Cycle#defaultMethodClassification)</code> specified in the [Cycle](/schema/Cycle). <code>methodClassification</code> should be specified separately for <code>[properties](/schema/Animal#properties)</code> (see <code>[Property](/schema/Property#methodClassification)</code>), <code>[inputs](/schema/Animal#inputs)</code> (see <code>[Input](/schema/Input#methodClassification)</code>) and <code>[practices](/schema/Animal#practices)</code> (see <code>[Practice](/schema/Practice#methodClassification)</code>). <ul class="is-pl-3 is-list-style-disc"> <li> <code>physical measurement</code> means the amount is quantified using weighing, volume measurement, metering, chemical methods, or other physical approaches. </li> <li> <code>verified survey data</code> means the data are initially collected through surveys; all or a subset of the data are verified using physical methods; and erroneous survey data are discarded or corrected. </li> <li> <code>non-verified survey data</code> means the data are collected through surveys that have not been subjected to verification. </li> <li> <code>modelled</code> means a previously calibrated model is used to estimate this data point from other data points describing this Cycle. </li> <li> <code>estimated with assumptions</code> means a documented assumption is used to estimate this data point from other data points describing this Cycle. </li> <li> <code>consistent external sources</code> means the data are taken from external datasets referring to different producers/enterprises: <ul class="is-pl-4 is-list-style-disc"> <li> Using the same technology (defined as the same [System](/glossary?termType=system) or the same key [Practices](/schema/Practice) as those specified in the Cycle); </li> <li> At the same date (defined as occurring within the [startDate](/schema/Cycle#startDate) and [endDate](/schema/Cycle#endDate) of the Cycle); and </li> <li> In the same [region](/schema/Site#region) or [country](/schema/Site#country). </li> </ul> Modelling or assumptions may have also been used to transform these data. </li> <li> <code>inconsistent external sources</code> means the data are taken from external datasets referring to different producers/enterprises: <ul class="is-pl-4 is-list-style-disc"> <li> Using a different technology (defined as a different [System](/glossary?termType=system) or using different key [Practices](/schema/Practice) to those specified in the Cycle); </li> <li> At a different date (defined as occurring within the [startDate](/schema/Cycle#startDate) and [endDate](/schema/Cycle#endDate) of the Cycle); or </li> <li> In a different [region](/schema/Site#region) or [country](/schema/Site#country). </li> </ul> Modelling or assumptions may have also been used to transform these data. </li> <li> <code>expert opinion</code> means the data have been estimated by experts in the field. </li> <li> <code>unsourced assumption</code> means the data do not have a clear source and/or are based on assumptions only. </li> </ul> */ methodClassification?: AnimalMethodClassification; /** * A justification of the <code>[methodClassification](/schema/Animal#methodClassification)</code> used. If the data were <code>estimated with assumptions</code> this field should also describe the assumptions. This is a required field if <code>[methodClassification](/schema/Animal#methodClassification)</code> is specified. */ methodClassificationDescription?: string; /** * A reference to the [Source](/schema/Source) of these data, if different from the [defaultSource](/schema/Cycle#defaultSource) of the [Cycle](/schema/Cycle). */ source?: Source; /** * A list of references to any other [sources](/schema/Source) of these data. */ otherSources?: Source[]; /** * A list of [Properties](/schema/Property) of the Animal type, which would override any default properties specified in the [term](/schema/Animal#term). */ properties?: Property[]; /** * The Inputs (e.g., feed or veterinary drugs). Values for each Input should be a sum over all animals represented by this blank node and not a value per head. */ inputs?: Input[]; /** * The Practices used to describe the [system](/glossary?page=1&termType=system) each Animal type is in or to describe management practices specific to each animal type (e.g., the [Milk yield per cow (FPCM)](/term/milkYieldPerCowFpcm)). */ practices?: Practice[]; /** * The version of the schema when these data were created. */ schemaVersion?: string; /** * A list of fields that have been added to the original dataset. */ added?: (string)[]; /** * A list of versions of the model used to add these fields. */ addedVersion?: (string)[]; /** * A list of fields that have been updated on the original dataset. */ updated?: (string)[]; /** * A list of versions of the model used to update these fields. */ updatedVersion?: (string)[]; /** * A list of fields that have been 'aggregated' using data from multiple [Cycles](/schema/Cycle). */ aggregated?: (string)[]; /** * A list of versions of the aggregation engine corresponding to each aggregated field. */ aggregatedVersion?: (string)[]; }