hestia-earth-models 0.74.16__py3-none-any.whl → 0.75.0__py3-none-any.whl
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.
Potentially problematic release.
This version of hestia-earth-models might be problematic. Click here for more details.
- hestia_earth/models/__init__.py +0 -3
- hestia_earth/models/ipcc2019/burning_utils.py +37 -0
- hestia_earth/models/ipcc2019/nonCo2EmissionsToAirNaturalVegetationBurning.py +84 -108
- hestia_earth/models/ipcc2019/pastureGrass_utils.py +1 -1
- hestia_earth/models/mocking/search-results.json +1 -1
- hestia_earth/models/utils/property.py +8 -6
- hestia_earth/models/version.py +1 -1
- hestia_earth/orchestrator/__init__.py +0 -3
- {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/METADATA +10 -14
- {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/RECORD +13 -636
- {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/WHEEL +1 -1
- {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/top_level.txt +0 -1
- hestia_earth/__init__.py +0 -1
- tests/models/__init__.py +0 -0
- tests/models/agribalyse2016/__init__.py +0 -0
- tests/models/agribalyse2016/test_fuelElectricity.py +0 -42
- tests/models/agribalyse2016/test_machineryInfrastructureDepreciatedAmountPerCycle.py +0 -36
- tests/models/akagiEtAl2011/__init__.py +0 -0
- tests/models/akagiEtAl2011/test_ch4ToAirCropResidueBurning.py +0 -33
- tests/models/akagiEtAl2011/test_nh3ToAirCropResidueBurning.py +0 -33
- tests/models/akagiEtAl2011/test_noxToAirCropResidueBurning.py +0 -33
- tests/models/akagiEtAl2011/test_pm25ToAirCropResidueBurning.py +0 -33
- tests/models/akagiEtAl2011/test_so2ToAirCropResidueBurning.py +0 -33
- tests/models/akagiEtAl2011/test_utils.py +0 -19
- tests/models/aware/__init__.py +0 -0
- tests/models/aware/test_scarcityWeightedWaterUse.py +0 -57
- tests/models/aware2_0/__init__.py +0 -0
- tests/models/aware2_0/test_scarcityWeightedWaterUse.py +0 -58
- tests/models/chaudharyBrooks2018/__init__.py +0 -0
- tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsLandOccupation.py +0 -58
- tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsLandTransformation.py +0 -58
- tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsTotalLandUseEffects.py +0 -20
- tests/models/cml2001Baseline/__init__.py +0 -0
- tests/models/cml2001Baseline/test_abioticResourceDepletionFossilFuels.py +0 -141
- tests/models/cml2001Baseline/test_abioticResourceDepletionMineralsAndMetals.py +0 -105
- tests/models/cml2001Baseline/test_eutrophicationPotentialExcludingFate.py +0 -23
- tests/models/cml2001Baseline/test_resourceUseEnergyDepletionDuringCycle.py +0 -136
- tests/models/cml2001Baseline/test_resourceUseEnergyDepletionInputsProduction.py +0 -23
- tests/models/cml2001Baseline/test_resourceUseMineralsAndMetalsDuringCycle.py +0 -58
- tests/models/cml2001Baseline/test_resourceUseMineralsAndMetalsInputsProduction.py +0 -23
- tests/models/cml2001Baseline/test_terrestrialAcidificationPotentialIncludingFateAverageEurope.py +0 -25
- tests/models/cml2001NonBaseline/__init__.py +0 -0
- tests/models/cml2001NonBaseline/test_eutrophicationPotentialIncludingFateAverageEurope.py +0 -23
- tests/models/cml2001NonBaseline/test_terrestrialAcidificationPotentialExcludingFate.py +0 -23
- tests/models/cycle/__init__.py +0 -0
- tests/models/cycle/animal/__init__.py +0 -0
- tests/models/cycle/animal/input/__init__.py +0 -0
- tests/models/cycle/animal/input/test_hestiaAggregatedData.py +0 -40
- tests/models/cycle/animal/input/test_properties.py +0 -55
- tests/models/cycle/animal/test_milkYield.py +0 -30
- tests/models/cycle/animal/test_properties.py +0 -20
- tests/models/cycle/completeness/__init__.py +0 -0
- tests/models/cycle/completeness/test_animalFeed.py +0 -14
- tests/models/cycle/completeness/test_cropResidue.py +0 -19
- tests/models/cycle/completeness/test_electricityFuel.py +0 -21
- tests/models/cycle/completeness/test_excretaManagement.py +0 -14
- tests/models/cycle/completeness/test_freshForage.py +0 -21
- tests/models/cycle/completeness/test_material.py +0 -18
- tests/models/cycle/completeness/test_seed.py +0 -36
- tests/models/cycle/completeness/test_soilAmendment.py +0 -23
- tests/models/cycle/input/__init__.py +0 -0
- tests/models/cycle/input/test_hestiaAggregatedData.py +0 -91
- tests/models/cycle/input/test_properties.py +0 -55
- tests/models/cycle/input/test_value.py +0 -41
- tests/models/cycle/post_checks/__init__.py +0 -0
- tests/models/cycle/post_checks/test_cache.py +0 -8
- tests/models/cycle/post_checks/test_otherSites.py +0 -15
- tests/models/cycle/post_checks/test_site.py +0 -26
- tests/models/cycle/practice/__init__.py +0 -0
- tests/models/cycle/practice/test_landCover.py +0 -27
- tests/models/cycle/practice/test_value.py +0 -52
- tests/models/cycle/pre_checks/__init__.py +0 -0
- tests/models/cycle/pre_checks/test_otherSites.py +0 -21
- tests/models/cycle/pre_checks/test_site.py +0 -33
- tests/models/cycle/product/__init__.py +0 -0
- tests/models/cycle/product/test_currency.py +0 -41
- tests/models/cycle/product/test_economicValueShare.py +0 -158
- tests/models/cycle/product/test_price.py +0 -29
- tests/models/cycle/product/test_primary.py +0 -75
- tests/models/cycle/product/test_properties.py +0 -32
- tests/models/cycle/product/test_revenue.py +0 -32
- tests/models/cycle/product/test_value.py +0 -41
- tests/models/cycle/test_aboveGroundCropResidueTotal.py +0 -20
- tests/models/cycle/test_completeness.py +0 -51
- tests/models/cycle/test_cycleDuration.py +0 -31
- tests/models/cycle/test_endDate.py +0 -38
- tests/models/cycle/test_otherSitesArea.py +0 -68
- tests/models/cycle/test_otherSitesUnusedDuration.py +0 -54
- tests/models/cycle/test_post_checks.py +0 -11
- tests/models/cycle/test_pre_checks.py +0 -11
- tests/models/cycle/test_siteArea.py +0 -51
- tests/models/cycle/test_siteDuration.py +0 -83
- tests/models/cycle/test_siteUnusedDuration.py +0 -55
- tests/models/cycle/test_startDate.py +0 -58
- tests/models/cycle/test_startDateDefinition.py +0 -31
- tests/models/cycle/test_transformations.py +0 -17
- tests/models/dammgen2009/__init__.py +0 -0
- tests/models/dammgen2009/test_noxToAirExcreta.py +0 -58
- tests/models/data/__init__.py +0 -0
- tests/models/data/test_hestiaAggregatedData.py +0 -32
- tests/models/deRuijterEtAl2010/__init__.py +0 -0
- tests/models/deRuijterEtAl2010/test_nh3ToAirCropResidueDecomposition.py +0 -57
- tests/models/ecoalimV9/__init__.py +0 -0
- tests/models/ecoalimV9/test_cycle.py +0 -22
- tests/models/ecoalimV9/test_impact_assessment.py +0 -24
- tests/models/ecoinventV3/__init__.py +0 -0
- tests/models/ecoinventV3/test_cycle.py +0 -69
- tests/models/ecoinventV3AndEmberClimate/__init__.py +0 -0
- tests/models/ecoinventV3AndEmberClimate/test_cycle.py +0 -28
- tests/models/edip2003/__init__.py +0 -0
- tests/models/edip2003/test_ozoneDepletionPotential.py +0 -21
- tests/models/emepEea2019/__init__.py +0 -0
- tests/models/emepEea2019/test_co2ToAirFuelCombustion.py +0 -34
- tests/models/emepEea2019/test_n2OToAirFuelCombustionDirect.py +0 -34
- tests/models/emepEea2019/test_nh3ToAirExcreta.py +0 -36
- tests/models/emepEea2019/test_nh3ToAirFuelCombustion.py +0 -34
- tests/models/emepEea2019/test_nh3ToAirInorganicFertiliser.py +0 -64
- tests/models/emepEea2019/test_noxToAirFuelCombustion.py +0 -34
- tests/models/emepEea2019/test_pm10ToAirAnimalHousing.py +0 -21
- tests/models/emepEea2019/test_pm25ToAirAnimalHousing.py +0 -21
- tests/models/emepEea2019/test_so2ToAirFuelCombustion.py +0 -34
- tests/models/emepEea2019/test_tspToAirAnimalHousing.py +0 -21
- tests/models/emepEea2019/test_utils.py +0 -204
- tests/models/environmentalFootprintV3_1/__init__.py +0 -0
- tests/models/environmentalFootprintV3_1/test_environmentalFootprintSingleOverallScore.py +0 -138
- tests/models/environmentalFootprintV3_1/test_freshwaterEcotoxicityPotentialCtue.py +0 -26
- tests/models/environmentalFootprintV3_1/test_marineEutrophicationPotential.py +0 -21
- tests/models/environmentalFootprintV3_1/test_photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py +0 -30
- tests/models/environmentalFootprintV3_1/test_scarcityWeightedWaterUse.py +0 -27
- tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandOccupation.py +0 -160
- tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandTransformation.py +0 -184
- tests/models/environmentalFootprintV3_1/test_soilQualityIndexTotalLandUseEffects.py +0 -78
- tests/models/epa2014/__init__.py +0 -0
- tests/models/epa2014/test_no3ToGroundwaterExcreta.py +0 -38
- tests/models/fantkeEtAl2016/__init__.py +0 -0
- tests/models/fantkeEtAl2016/test_damageToHumanHealthParticulateMatterFormation.py +0 -20
- tests/models/faostat2018/__init__.py +0 -0
- tests/models/faostat2018/product/__init__.py +0 -0
- tests/models/faostat2018/product/test_price.py +0 -117
- tests/models/faostat2018/test_coldCarcassWeightPerHead.py +0 -58
- tests/models/faostat2018/test_coldDressedCarcassWeightPerHead.py +0 -54
- tests/models/faostat2018/test_faostat_utils.py +0 -64
- tests/models/faostat2018/test_liveweightPerHead.py +0 -134
- tests/models/faostat2018/test_readyToCookWeightPerHead.py +0 -54
- tests/models/faostat2018/test_seed.py +0 -50
- tests/models/faostat2018/test_utils.py +0 -28
- tests/models/frischknechtEtAl2000/__init__.py +0 -0
- tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py +0 -138
- tests/models/geospatialDatabase/__init__.py +0 -0
- tests/models/geospatialDatabase/test_awareWaterBasinId.py +0 -27
- tests/models/geospatialDatabase/test_clayContent.py +0 -49
- tests/models/geospatialDatabase/test_croppingIntensity.py +0 -33
- tests/models/geospatialDatabase/test_drainageClass.py +0 -29
- tests/models/geospatialDatabase/test_ecoClimateZone.py +0 -32
- tests/models/geospatialDatabase/test_ecoregion.py +0 -27
- tests/models/geospatialDatabase/test_erodibility.py +0 -29
- tests/models/geospatialDatabase/test_heavyWinterPrecipitation.py +0 -29
- tests/models/geospatialDatabase/test_histosol.py +0 -33
- tests/models/geospatialDatabase/test_longFallowRatio.py +0 -33
- tests/models/geospatialDatabase/test_nutrientLossToAquaticEnvironment.py +0 -29
- tests/models/geospatialDatabase/test_organicCarbonPerKgSoil.py +0 -43
- tests/models/geospatialDatabase/test_potentialEvapotranspirationAnnual.py +0 -19
- tests/models/geospatialDatabase/test_potentialEvapotranspirationLongTermAnnualMean.py +0 -30
- tests/models/geospatialDatabase/test_potentialEvapotranspirationMonthly.py +0 -20
- tests/models/geospatialDatabase/test_precipitationAnnual.py +0 -20
- tests/models/geospatialDatabase/test_precipitationLongTermAnnualMean.py +0 -29
- tests/models/geospatialDatabase/test_precipitationMonthly.py +0 -20
- tests/models/geospatialDatabase/test_region.py +0 -27
- tests/models/geospatialDatabase/test_sandContent.py +0 -49
- tests/models/geospatialDatabase/test_siltContent.py +0 -37
- tests/models/geospatialDatabase/test_slope.py +0 -29
- tests/models/geospatialDatabase/test_slopeLength.py +0 -29
- tests/models/geospatialDatabase/test_soilPh.py +0 -43
- tests/models/geospatialDatabase/test_temperatureAnnual.py +0 -20
- tests/models/geospatialDatabase/test_temperatureLongTermAnnualMean.py +0 -29
- tests/models/geospatialDatabase/test_temperatureMonthly.py +0 -20
- tests/models/geospatialDatabase/test_totalNitrogenPerKgSoil.py +0 -43
- tests/models/geospatialDatabase/test_totalPhosphorusPerKgSoil.py +0 -29
- tests/models/geospatialDatabase/test_utils.py +0 -39
- tests/models/geospatialDatabase/test_waterDepth.py +0 -28
- tests/models/globalCropWaterModel2008/__init__.py +0 -0
- tests/models/globalCropWaterModel2008/test_rootingDepth.py +0 -84
- tests/models/haversineFormula/__init__.py +0 -0
- tests/models/haversineFormula/transport/__init__.py +0 -0
- tests/models/haversineFormula/transport/test_distance.py +0 -28
- tests/models/hestia/__init__.py +0 -0
- tests/models/hestia/test_aboveGroundCropResidue.py +0 -40
- tests/models/hestia/test_aboveGroundCropResidueTotal.py +0 -41
- tests/models/hestia/test_brackishWater.py +0 -32
- tests/models/hestia/test_cationExchangeCapacityPerKgSoil.py +0 -34
- tests/models/hestia/test_coldCarcassWeightPerHead.py +0 -47
- tests/models/hestia/test_coldDressedCarcassWeightPerHead.py +0 -47
- tests/models/hestia/test_concentrateFeed.py +0 -52
- tests/models/hestia/test_cropResidueManagement.py +0 -53
- tests/models/hestia/test_croppingIntensity.py +0 -53
- tests/models/hestia/test_default_emissions.py +0 -32
- tests/models/hestia/test_default_resourceUse.py +0 -32
- tests/models/hestia/test_energyContentLowerHeatingValue.py +0 -40
- tests/models/hestia/test_excretaKgMass.py +0 -97
- tests/models/hestia/test_excretaKgN.py +0 -36
- tests/models/hestia/test_excretaKgVs.py +0 -36
- tests/models/hestia/test_feedConversionRatio.py +0 -64
- tests/models/hestia/test_flowingWater.py +0 -44
- tests/models/hestia/test_freshWater.py +0 -32
- tests/models/hestia/test_histosol.py +0 -24
- tests/models/hestia/test_inorganicFertiliser.py +0 -20
- tests/models/hestia/test_irrigatedTypeUnspecified.py +0 -59
- tests/models/hestia/test_landCover.py +0 -100
- tests/models/hestia/test_landCover_utils.py +0 -233
- tests/models/hestia/test_landOccupationDuringCycle.py +0 -75
- tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py +0 -30
- tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py +0 -29
- tests/models/hestia/test_liveAnimal.py +0 -64
- tests/models/hestia/test_longFallowRatio.py +0 -49
- tests/models/hestia/test_management.py +0 -80
- tests/models/hestia/test_materialsAndSubstrate.py +0 -49
- tests/models/hestia/test_milkYield.py +0 -58
- tests/models/hestia/test_netPrimaryProduction.py +0 -38
- tests/models/hestia/test_organicCarbonPerHa.py +0 -104
- tests/models/hestia/test_organicCarbonPerKgSoil.py +0 -34
- tests/models/hestia/test_organicCarbonPerM3Soil.py +0 -34
- tests/models/hestia/test_organicMatterPerKgSoil.py +0 -34
- tests/models/hestia/test_organicMatterPerM3Soil.py +0 -34
- tests/models/hestia/test_pToSurfaceWaterAquacultureSystems.py +0 -56
- tests/models/hestia/test_pastureGrass.py +0 -31
- tests/models/hestia/test_pastureSystem.py +0 -47
- tests/models/hestia/test_potentialEvapotranspirationAnnual.py +0 -32
- tests/models/hestia/test_potentialEvapotranspirationMonthly.py +0 -32
- tests/models/hestia/test_precipitationAnnual.py +0 -32
- tests/models/hestia/test_precipitationMonthly.py +0 -32
- tests/models/hestia/test_rainfallAnnual.py +0 -32
- tests/models/hestia/test_rainfallMonthly.py +0 -32
- tests/models/hestia/test_readyToCookWeightPerHead.py +0 -47
- tests/models/hestia/test_residueBurnt.py +0 -37
- tests/models/hestia/test_residueIncorporated.py +0 -48
- tests/models/hestia/test_residueLeftOnField.py +0 -37
- tests/models/hestia/test_residueRemoved.py +0 -32
- tests/models/hestia/test_salineWater.py +0 -32
- tests/models/hestia/test_seed_emissions.py +0 -27
- tests/models/hestia/test_slope.py +0 -23
- tests/models/hestia/test_slopeLength.py +0 -23
- tests/models/hestia/test_soilClassification.py +0 -72
- tests/models/hestia/test_soilMeasurement.py +0 -156
- tests/models/hestia/test_stockingDensityAnimalHousingAverage.py +0 -42
- tests/models/hestia/test_temperatureAnnual.py +0 -32
- tests/models/hestia/test_temperatureMonthly.py +0 -32
- tests/models/hestia/test_totalNitrogenPerKgSoil.py +0 -36
- tests/models/hestia/test_unknownPreSeasonWaterRegime.py +0 -36
- tests/models/hestia/test_waterDepth.py +0 -34
- tests/models/hestia/test_waterSalinity.py +0 -38
- tests/models/impact_assessment/__init__.py +0 -0
- tests/models/impact_assessment/post_checks/__init__.py +0 -0
- tests/models/impact_assessment/post_checks/test_cycle.py +0 -28
- tests/models/impact_assessment/post_checks/test_remove_cache_fields.py +0 -6
- tests/models/impact_assessment/post_checks/test_remove_no_value.py +0 -17
- tests/models/impact_assessment/post_checks/test_site.py +0 -28
- tests/models/impact_assessment/pre_checks/__init__.py +0 -0
- tests/models/impact_assessment/pre_checks/test_cycle.py +0 -39
- tests/models/impact_assessment/pre_checks/test_site.py +0 -37
- tests/models/impact_assessment/product/__init__.py +0 -0
- tests/models/impact_assessment/product/test_economicValueShare.py +0 -36
- tests/models/impact_assessment/product/test_value.py +0 -36
- tests/models/impact_assessment/test_allocationMethod.py +0 -48
- tests/models/impact_assessment/test_emissions.py +0 -31
- tests/models/impact_assessment/test_irrigated.py +0 -14
- tests/models/impact_assessment/test_oganic.py +0 -14
- tests/models/impact_assessment/test_post_checks.py +0 -11
- tests/models/impact_assessment/test_pre_checks.py +0 -11
- tests/models/ipcc2006/__init__.py +0 -0
- tests/models/ipcc2006/test_aboveGroundCropResidueRemoved.py +0 -36
- tests/models/ipcc2006/test_aboveGroundCropResidueTotal.py +0 -48
- tests/models/ipcc2006/test_belowGroundCropResidue.py +0 -45
- tests/models/ipcc2006/test_n2OToAirCropResidueDecompositionDirect.py +0 -53
- tests/models/ipcc2006/test_n2OToAirCropResidueDecompositionIndirect.py +0 -45
- tests/models/ipcc2006/test_n2OToAirExcretaDirect.py +0 -68
- tests/models/ipcc2006/test_n2OToAirExcretaIndirect.py +0 -45
- tests/models/ipcc2006/test_n2OToAirInorganicFertiliserDirect.py +0 -55
- tests/models/ipcc2006/test_n2OToAirInorganicFertiliserIndirect.py +0 -43
- tests/models/ipcc2006/test_n2OToAirOrganicFertiliserDirect.py +0 -55
- tests/models/ipcc2006/test_n2OToAirOrganicFertiliserIndirect.py +0 -55
- tests/models/ipcc2013ExcludingFeedbacks/__init__.py +0 -0
- tests/models/ipcc2013ExcludingFeedbacks/test_gwp100.py +0 -23
- tests/models/ipcc2013IncludingFeedbacks/__init__.py +0 -0
- tests/models/ipcc2013IncludingFeedbacks/test_gwp100.py +0 -23
- tests/models/ipcc2019/__init__.py +0 -0
- tests/models/ipcc2019/animal/__init__.py +0 -0
- tests/models/ipcc2019/animal/test_fatContent.py +0 -22
- tests/models/ipcc2019/animal/test_hoursWorkedPerDay.py +0 -22
- tests/models/ipcc2019/animal/test_liveweightGain.py +0 -22
- tests/models/ipcc2019/animal/test_liveweightPerHead.py +0 -22
- tests/models/ipcc2019/animal/test_milkYieldPerAnimal.py +0 -21
- tests/models/ipcc2019/animal/test_pastureGrass.py +0 -47
- tests/models/ipcc2019/animal/test_pregnancyRateTotal.py +0 -22
- tests/models/ipcc2019/animal/test_trueProteinContent.py +0 -22
- tests/models/ipcc2019/animal/test_weightAtMaturity.py +0 -21
- tests/models/ipcc2019/test_aboveGroundBiomass.py +0 -189
- tests/models/ipcc2019/test_aboveGroundCropResidueTotal.py +0 -51
- tests/models/ipcc2019/test_belowGroundBiomass.py +0 -189
- tests/models/ipcc2019/test_belowGroundCropResidue.py +0 -77
- tests/models/ipcc2019/test_biocharOrganicCarbonPerHa.py +0 -132
- tests/models/ipcc2019/test_biomass_utils.py +0 -115
- tests/models/ipcc2019/test_carbonContent.py +0 -119
- tests/models/ipcc2019/test_ch4ToAirAquacultureSystems.py +0 -60
- tests/models/ipcc2019/test_ch4ToAirEntericFermentation.py +0 -199
- tests/models/ipcc2019/test_ch4ToAirExcreta.py +0 -83
- tests/models/ipcc2019/test_ch4ToAirFloodedRice.py +0 -25
- tests/models/ipcc2019/test_ch4ToAirOrganicSoilCultivation.py +0 -62
- tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py +0 -120
- tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py +0 -118
- tests/models/ipcc2019/test_co2ToAirBiocharStockChange.py +0 -90
- tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py +0 -50
- tests/models/ipcc2019/test_co2ToAirLimeHydrolysis.py +0 -49
- tests/models/ipcc2019/test_co2ToAirOrganicSoilCultivation.py +0 -63
- tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py +0 -151
- tests/models/ipcc2019/test_co2ToAirUreaHydrolysis.py +0 -30
- tests/models/ipcc2019/test_croppingDuration.py +0 -55
- tests/models/ipcc2019/test_ligninContent.py +0 -119
- tests/models/ipcc2019/test_n2OToAirAquacultureSystemsIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirCropResidueBurningDirect.py +0 -46
- tests/models/ipcc2019/test_n2OToAirCropResidueBurningIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionDirect.py +0 -79
- tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirExcretaDirect.py +0 -50
- tests/models/ipcc2019/test_n2OToAirExcretaIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirFuelCombustionIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirInorganicFertiliserDirect.py +0 -79
- tests/models/ipcc2019/test_n2OToAirInorganicFertiliserIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirNaturalVegetationBurningIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirOrganicFertiliserDirect.py +0 -79
- tests/models/ipcc2019/test_n2OToAirOrganicFertiliserIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirOrganicSoilBurningIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationDirect.py +0 -62
- tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationIndirect.py +0 -45
- tests/models/ipcc2019/test_n2OToAir_indirect_emissions_utils.py +0 -19
- tests/models/ipcc2019/test_nh3ToAirInorganicFertiliser.py +0 -47
- tests/models/ipcc2019/test_nh3ToAirOrganicFertiliser.py +0 -35
- tests/models/ipcc2019/test_nitrogenContent.py +0 -107
- tests/models/ipcc2019/test_no3ToGroundwaterCropResidueDecomposition.py +0 -51
- tests/models/ipcc2019/test_no3ToGroundwaterExcreta.py +0 -64
- tests/models/ipcc2019/test_no3ToGroundwaterInorganicFertiliser.py +0 -48
- tests/models/ipcc2019/test_no3ToGroundwaterOrganicFertiliser.py +0 -48
- tests/models/ipcc2019/test_nonCo2EmissionsToAirNaturalVegetationBurning.py +0 -97
- tests/models/ipcc2019/test_noxToAirInorganicFertiliser.py +0 -47
- tests/models/ipcc2019/test_noxToAirOrganicFertiliser.py +0 -35
- tests/models/ipcc2019/test_organicCarbonPerHa.py +0 -415
- tests/models/ipcc2019/test_organicCarbonPerHa_tier_1.py +0 -465
- tests/models/ipcc2019/test_organicCarbonPerHa_tier_2.py +0 -148
- tests/models/ipcc2019/test_organicCarbonPerHa_utils.py +0 -31
- tests/models/ipcc2019/test_pastureGrass.py +0 -68
- tests/models/ipcc2021/__init__.py +0 -0
- tests/models/ipcc2021/test_gwp100.py +0 -23
- tests/models/jarvisAndPain1994/__init__.py +0 -0
- tests/models/jarvisAndPain1994/test_n2ToAirExcreta.py +0 -37
- tests/models/koble2014/__init__.py +0 -0
- tests/models/koble2014/test_cropResidueManagement.py +0 -19
- tests/models/koble2014/test_residueBurnt.py +0 -20
- tests/models/koble2014/test_residueLeftOnField.py +0 -21
- tests/models/koble2014/test_residueRemoved.py +0 -20
- tests/models/koble2014/test_utils.py +0 -52
- tests/models/lcImpactAllEffects100Years/__init__.py +0 -0
- tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsClimateChange.py +0 -23
- tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealth.py +0 -20
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthClimateChange.py +0 -23
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthWaterStress.py +0 -32
- tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
- tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/__init__.py +0 -0
- tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsClimateChange.py +0 -23
- tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealth.py +0 -20
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthClimateChange.py +0 -23
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthWaterStress.py +0 -32
- tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
- tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
- tests/models/lcImpactCertainEffects100Years/__init__.py +0 -0
- tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealth.py +0 -20
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthClimateChange.py +0 -23
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthWaterStress.py +0 -32
- tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
- tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/__init__.py +0 -0
- tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealth.py +0 -20
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthClimateChange.py +0 -23
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthWaterStress.py +0 -32
- tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
- tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
- tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
- tests/models/linkedImpactAssessment/__init__.py +0 -0
- tests/models/linkedImpactAssessment/test_emissions.py +0 -22
- tests/models/linkedImpactAssessment/test_freshwaterWithdrawalsInputsProduction.py +0 -23
- tests/models/linkedImpactAssessment/test_landOccupationInputsProduction.py +0 -23
- tests/models/linkedImpactAssessment/test_landTransformation100YearAverageInputsProduction.py +0 -25
- tests/models/linkedImpactAssessment/test_landTransformation20YearAverageInputsProduction.py +0 -25
- tests/models/pooreNemecek2018/__init__.py +0 -0
- tests/models/pooreNemecek2018/test_aboveGroundCropResidueTotal.py +0 -45
- tests/models/pooreNemecek2018/test_belowGroundCropResidue.py +0 -45
- tests/models/pooreNemecek2018/test_ch4ToAirAquacultureSystems.py +0 -79
- tests/models/pooreNemecek2018/test_excretaKgN.py +0 -124
- tests/models/pooreNemecek2018/test_excretaKgVs.py +0 -107
- tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py +0 -60
- tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py +0 -51
- tests/models/pooreNemecek2018/test_longFallowDuration.py +0 -29
- tests/models/pooreNemecek2018/test_n2OToAirAquacultureSystemsDirect.py +0 -59
- tests/models/pooreNemecek2018/test_n2ToAirAquacultureSystems.py +0 -59
- tests/models/pooreNemecek2018/test_nh3ToAirAquacultureSystems.py +0 -80
- tests/models/pooreNemecek2018/test_no3ToGroundwaterCropResidueDecomposition.py +0 -23
- tests/models/pooreNemecek2018/test_no3ToGroundwaterExcreta.py +0 -23
- tests/models/pooreNemecek2018/test_no3ToGroundwaterInorganicFertiliser.py +0 -23
- tests/models/pooreNemecek2018/test_no3ToGroundwaterOrganicFertiliser.py +0 -23
- tests/models/pooreNemecek2018/test_noxToAirAquacultureSystems.py +0 -59
- tests/models/pooreNemecek2018/test_nurseryDensity.py +0 -29
- tests/models/pooreNemecek2018/test_nurseryDuration.py +0 -29
- tests/models/pooreNemecek2018/test_plantationDensity.py +0 -29
- tests/models/pooreNemecek2018/test_plantationLifespan.py +0 -29
- tests/models/pooreNemecek2018/test_plantationProductiveLifespan.py +0 -29
- tests/models/pooreNemecek2018/test_rotationDuration.py +0 -29
- tests/models/pooreNemecek2018/test_saplingsDepreciatedAmountPerCycle.py +0 -46
- tests/models/pooreNemecek2018/test_utils.py +0 -26
- tests/models/poschEtAl2008/__init__.py +0 -0
- tests/models/poschEtAl2008/test_terrestrialAcidificationPotentialAccumulatedExceedance.py +0 -39
- tests/models/poschEtAl2008/test_terrestrialEutrophicationPotentialAccumulatedExceedance.py +0 -39
- tests/models/recipe2016Egalitarian/__init__.py +0 -0
- tests/models/recipe2016Egalitarian/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Egalitarian/test_damageToHumanHealth.py +0 -20
- tests/models/recipe2016Egalitarian/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Egalitarian/test_damageToResourceAvailability.py +0 -23
- tests/models/recipe2016Egalitarian/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Egalitarian/test_ecosystemDamageOzoneFormation.py +0 -26
- tests/models/recipe2016Egalitarian/test_fossilResourceScarcity.py +0 -23
- tests/models/recipe2016Egalitarian/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Egalitarian/test_freshwaterEutrophicationPotential.py +0 -23
- tests/models/recipe2016Egalitarian/test_humanCarcinogenicToxicity.py +0 -23
- tests/models/recipe2016Egalitarian/test_humanDamageOzoneFormation.py +0 -26
- tests/models/recipe2016Egalitarian/test_humanNonCarcinogenicToxicity.py +0 -23
- tests/models/recipe2016Egalitarian/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Egalitarian/test_marineEutrophicationPotential.py +0 -23
- tests/models/recipe2016Egalitarian/test_ozoneDepletionPotential.py +0 -26
- tests/models/recipe2016Egalitarian/test_terrestrialAcidificationPotential.py +0 -23
- tests/models/recipe2016Egalitarian/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Hierarchist/__init__.py +0 -0
- tests/models/recipe2016Hierarchist/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Hierarchist/test_damageToHumanHealth.py +0 -20
- tests/models/recipe2016Hierarchist/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Hierarchist/test_damageToResourceAvailability.py +0 -23
- tests/models/recipe2016Hierarchist/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Hierarchist/test_ecosystemDamageOzoneFormation.py +0 -26
- tests/models/recipe2016Hierarchist/test_fossilResourceScarcity.py +0 -23
- tests/models/recipe2016Hierarchist/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Hierarchist/test_freshwaterEutrophicationPotential.py +0 -23
- tests/models/recipe2016Hierarchist/test_humanCarcinogenicToxicity.py +0 -23
- tests/models/recipe2016Hierarchist/test_humanDamageOzoneFormation.py +0 -26
- tests/models/recipe2016Hierarchist/test_humanNonCarcinogenicToxicity.py +0 -23
- tests/models/recipe2016Hierarchist/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Hierarchist/test_marineEutrophicationPotential.py +0 -23
- tests/models/recipe2016Hierarchist/test_ozoneDepletionPotential.py +0 -26
- tests/models/recipe2016Hierarchist/test_terrestrialAcidificationPotential.py +0 -23
- tests/models/recipe2016Hierarchist/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Individualist/__init__.py +0 -0
- tests/models/recipe2016Individualist/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Individualist/test_damageToHumanHealth.py +0 -20
- tests/models/recipe2016Individualist/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Individualist/test_damageToResourceAvailability.py +0 -23
- tests/models/recipe2016Individualist/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
- tests/models/recipe2016Individualist/test_ecosystemDamageOzoneFormation.py +0 -26
- tests/models/recipe2016Individualist/test_fossilResourceScarcity.py +0 -23
- tests/models/recipe2016Individualist/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Individualist/test_freshwaterEutrophicationPotential.py +0 -23
- tests/models/recipe2016Individualist/test_humanCarcinogenicToxicity.py +0 -23
- tests/models/recipe2016Individualist/test_humanDamageOzoneFormation.py +0 -26
- tests/models/recipe2016Individualist/test_humanNonCarcinogenicToxicity.py +0 -23
- tests/models/recipe2016Individualist/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/recipe2016Individualist/test_marineEutrophicationPotential.py +0 -23
- tests/models/recipe2016Individualist/test_ozoneDepletionPotential.py +0 -26
- tests/models/recipe2016Individualist/test_terrestrialAcidificationPotential.py +0 -23
- tests/models/recipe2016Individualist/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
- tests/models/schererPfister2015/__init__.py +0 -0
- tests/models/schererPfister2015/test_nErosionSoilFlux.py +0 -70
- tests/models/schererPfister2015/test_pErosionSoilFlux.py +0 -70
- tests/models/schererPfister2015/test_pToDrainageWaterSoilFlux.py +0 -33
- tests/models/schererPfister2015/test_pToGroundwaterSoilFlux.py +0 -33
- tests/models/schererPfister2015/test_pToSurfaceWaterSoilFlux.py +0 -45
- tests/models/schmidt2007/__init__.py +0 -0
- tests/models/schmidt2007/test_ch4ToAirWasteTreatment.py +0 -45
- tests/models/schmidt2007/test_h2SToAirWasteTreatment.py +0 -45
- tests/models/schmidt2007/test_n2OToAirWasteTreatmentDirect.py +0 -45
- tests/models/schmidt2007/test_nh3ToAirWasteTreatment.py +0 -45
- tests/models/schmidt2007/test_utils.py +0 -39
- tests/models/site/__init__.py +0 -0
- tests/models/site/measurement/__init__.py +0 -0
- tests/models/site/measurement/test_value.py +0 -41
- tests/models/site/post_checks/__init__.py +0 -0
- tests/models/site/post_checks/test_cache.py +0 -8
- tests/models/site/post_checks/test_country.py +0 -6
- tests/models/site/pre_checks/__init__.py +0 -0
- tests/models/site/pre_checks/test_cache_geospatialDatabase.py +0 -22
- tests/models/site/pre_checks/test_cache_years.py +0 -25
- tests/models/site/pre_checks/test_country.py +0 -13
- tests/models/site/test_defaultMethodClassification.py +0 -24
- tests/models/site/test_defaultMethodClassificationDescription.py +0 -24
- tests/models/site/test_grouped_measurement.py +0 -20
- tests/models/stehfestBouwman2006/__init__.py +0 -0
- tests/models/stehfestBouwman2006/test_n2OToAirCropResidueDecompositionDirect.py +0 -20
- tests/models/stehfestBouwman2006/test_n2OToAirExcretaDirect.py +0 -20
- tests/models/stehfestBouwman2006/test_n2OToAirInorganicFertiliserDirect.py +0 -20
- tests/models/stehfestBouwman2006/test_n2OToAirOrganicFertiliserDirect.py +0 -20
- tests/models/stehfestBouwman2006/test_noxToAirCropResidueDecomposition.py +0 -20
- tests/models/stehfestBouwman2006/test_noxToAirExcreta.py +0 -20
- tests/models/stehfestBouwman2006/test_noxToAirInorganicFertiliser.py +0 -20
- tests/models/stehfestBouwman2006/test_noxToAirOrganicFertiliser.py +0 -20
- tests/models/stehfestBouwman2006GisImplementation/__init__.py +0 -0
- tests/models/stehfestBouwman2006GisImplementation/test_noxToAirCropResidueDecomposition.py +0 -22
- tests/models/stehfestBouwman2006GisImplementation/test_noxToAirExcreta.py +0 -20
- tests/models/stehfestBouwman2006GisImplementation/test_noxToAirInorganicFertiliser.py +0 -20
- tests/models/stehfestBouwman2006GisImplementation/test_noxToAirOrganicFertiliser.py +0 -20
- tests/models/test_cache_nodes.py +0 -31
- tests/models/test_cache_sites.py +0 -93
- tests/models/test_config.py +0 -170
- tests/models/test_emissionNotRelevant.py +0 -32
- tests/models/test_log.py +0 -128
- tests/models/test_resourceUseNotRelevant.py +0 -27
- tests/models/test_utils.py +0 -6
- tests/models/transformation/__init__.py +0 -0
- tests/models/transformation/input/__init__.py +0 -0
- tests/models/transformation/input/test_excreta.py +0 -49
- tests/models/transformation/input/test_max.py +0 -34
- tests/models/transformation/input/test_min.py +0 -34
- tests/models/transformation/input/test_properties.py +0 -34
- tests/models/transformation/input/test_sd.py +0 -34
- tests/models/transformation/input/test_value.py +0 -34
- tests/models/transformation/product/__init__.py +0 -0
- tests/models/transformation/product/test_excreta.py +0 -54
- tests/models/usetoxV2/__init__.py +0 -0
- tests/models/usetoxV2/test_freshwaterEcotoxicityPotentialCtue.py +0 -23
- tests/models/utils/__init__.py +0 -0
- tests/models/utils/test_array_builders.py +0 -314
- tests/models/utils/test_background_emissions.py +0 -13
- tests/models/utils/test_blank_node.py +0 -1081
- tests/models/utils/test_cache_sources.py +0 -21
- tests/models/utils/test_crop.py +0 -27
- tests/models/utils/test_cropResidue.py +0 -26
- tests/models/utils/test_cropResidueManagement.py +0 -24
- tests/models/utils/test_currency.py +0 -13
- tests/models/utils/test_dataCompleteness.py +0 -52
- tests/models/utils/test_ecoClimateZone.py +0 -152
- tests/models/utils/test_emission.py +0 -74
- tests/models/utils/test_feedipedia.py +0 -26
- tests/models/utils/test_impact_assessment.py +0 -48
- tests/models/utils/test_indicator.py +0 -26
- tests/models/utils/test_input.py +0 -88
- tests/models/utils/test_liveAnimal.py +0 -34
- tests/models/utils/test_measurement.py +0 -116
- tests/models/utils/test_practice.py +0 -24
- tests/models/utils/test_product.py +0 -73
- tests/models/utils/test_property.py +0 -24
- tests/models/utils/test_site.py +0 -70
- tests/models/utils/test_source.py +0 -42
- tests/models/utils/test_term.py +0 -115
- tests/models/utils/test_time_series.py +0 -88
- tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py +0 -0
- tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py +0 -79
- tests/orchestrator/__init__.py +0 -0
- tests/orchestrator/models/__init__.py +0 -0
- tests/orchestrator/models/emissions/__init__.py +0 -0
- tests/orchestrator/models/emissions/test_deleted.py +0 -21
- tests/orchestrator/models/test_transformations.py +0 -32
- tests/orchestrator/strategies/__init__.py +0 -0
- tests/orchestrator/strategies/merge/__init__.py +0 -0
- tests/orchestrator/strategies/merge/test_merge_append.py +0 -33
- tests/orchestrator/strategies/merge/test_merge_default.py +0 -7
- tests/orchestrator/strategies/merge/test_merge_list.py +0 -342
- tests/orchestrator/strategies/merge/test_merge_node.py +0 -95
- tests/orchestrator/strategies/run/__init__.py +0 -0
- tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py +0 -109
- tests/orchestrator/strategies/run/test_add_key_if_missing.py +0 -14
- tests/orchestrator/strategies/run/test_always.py +0 -5
- tests/orchestrator/test_models.py +0 -70
- tests/orchestrator/test_orchestrator.py +0 -27
- tests/orchestrator/test_utils.py +0 -109
- {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/licenses/LICENSE +0 -0
hestia_earth/models/__init__.py
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class FuelCategory(Enum):
|
|
5
|
+
"""
|
|
6
|
+
Natural vegetation fuel categories from IPCC (2019).
|
|
7
|
+
"""
|
|
8
|
+
BOREAL_FOREST = "boreal-forest"
|
|
9
|
+
DRAINED_EXTRATROPICAL_ORGANIC_SOILS_WILDFIRE = "drained-extratropical-organic-soils-wildfire"
|
|
10
|
+
DRAINED_TROPICAL_ORGANIC_SOILS_WILDFIRE = "drained-tropical-organic-soils-wildfire"
|
|
11
|
+
EUCALYPT_FOREST = "eucalypt-forest"
|
|
12
|
+
NATURAL_TROPICAL_FOREST = "natural-tropical-forest" # mean of primary and secondary tropical forest
|
|
13
|
+
PEATLAND_VEGETATION = "peatland-vegetation"
|
|
14
|
+
PRIMARY_TROPICAL_FOREST = "primary-tropical-forest"
|
|
15
|
+
SAVANNA_GRASSLAND_EARLY_DRY_SEASON_BURNS = "savanna-grassland-early-dry-season-burns"
|
|
16
|
+
SAVANNA_GRASSLAND_MID_TO_LATE_DRY_SEASON_BURNS = "savanna-grassland-mid-to-late-dry-season-burns"
|
|
17
|
+
SAVANNA_WOODLAND_EARLY_DRY_SEASON_BURNS = "savanna-woodland-early-dry-season-burns"
|
|
18
|
+
SAVANNA_WOODLAND_MID_TO_LATE_DRY_SEASON_BURNS = "savanna-woodland-mid-to-late-dry-season-burns"
|
|
19
|
+
SECONDARY_TROPICAL_FOREST = "secondary-tropical-forest"
|
|
20
|
+
SHRUBLAND = "shrubland"
|
|
21
|
+
TEMPERATE_FOREST = "temperate-forest"
|
|
22
|
+
TERTIARY_TROPICAL_FOREST = "tertiary-tropical-forest"
|
|
23
|
+
TROPICAL_ORGANIC_SOILS_PRESCRIBED_FIRE = "tropical-organic-soils-prescribed-fire"
|
|
24
|
+
TUNDRA = "tundra"
|
|
25
|
+
UNDRAINED_EXTRATROPICAL_ORGANIC_SOILS_WILDFIRE = "undrained-extratropical-organic-soils-wildfire"
|
|
26
|
+
UNKNOWN_TROPICAL_FOREST = "unknown-tropical-forest" # mean of primary, secondary and tertiary tropical forest
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class EmissionCategory(Enum):
|
|
30
|
+
"""
|
|
31
|
+
Natural vegetation burning emission categories from IPCC (2019).
|
|
32
|
+
"""
|
|
33
|
+
AGRICULTURAL_RESIDUES = "agricultural-residues"
|
|
34
|
+
BIOFUEL_BURNING = "biofuel-burning"
|
|
35
|
+
OTHER_FOREST = "other-forest"
|
|
36
|
+
SAVANNA_AND_GRASSLAND = "savanna-and-grassland"
|
|
37
|
+
TROPICAL_FOREST = "tropical-forest"
|
|
@@ -19,9 +19,12 @@ from hestia_earth.models.utils.ecoClimateZone import EcoClimateZone, get_eco_cli
|
|
|
19
19
|
from hestia_earth.models.utils.emission import _new_emission
|
|
20
20
|
from hestia_earth.models.utils.lookup import get_region_lookup_value
|
|
21
21
|
from hestia_earth.models.utils.site import related_cycles
|
|
22
|
+
from hestia_earth.models.utils.term import get_lookup_value
|
|
22
23
|
|
|
23
24
|
from . import MODEL
|
|
24
25
|
from .biomass_utils import BiomassCategory, get_valid_management_nodes, summarise_land_cover_nodes
|
|
26
|
+
from .burning_utils import EmissionCategory, FuelCategory
|
|
27
|
+
|
|
25
28
|
|
|
26
29
|
REQUIREMENTS = {
|
|
27
30
|
"Cycle": {
|
|
@@ -55,9 +58,17 @@ REQUIREMENTS = {
|
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
60
|
LOOKUPS = {
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
+
"emission": [
|
|
62
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_BOREAL_FOREST_sd",
|
|
63
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_BOREAL_FOREST_value",
|
|
64
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_NATURAL_TROPICAL_FOREST_sd",
|
|
65
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_NATURAL_TROPICAL_FOREST_value",
|
|
66
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_TEMPERATE_FOREST_sd",
|
|
67
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_TEMPERATE_FOREST_value",
|
|
68
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_TERTIARY_TROPICAL_FOREST_sd",
|
|
69
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_TERTIARY_TROPICAL_FOREST_value",
|
|
70
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_UNKNOWN_TROPICAL_FOREST_sd",
|
|
71
|
+
"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_UNKNOWN_TROPICAL_FOREST_value"
|
|
61
72
|
],
|
|
62
73
|
"ipcc2019FuelCategory_tonnesDryMatterCombustedPerHaBurned": "value",
|
|
63
74
|
"landCover": "BIOMASS_CATEGORY",
|
|
@@ -95,36 +106,6 @@ _DEFAULT_FACTOR = {"value": 0}
|
|
|
95
106
|
_DEFAULT_PERCENT_BURNED = 0
|
|
96
107
|
|
|
97
108
|
|
|
98
|
-
class _FuelCategory(Enum):
|
|
99
|
-
"""
|
|
100
|
-
Natural vegetation fuel categories from IPCC (2019).
|
|
101
|
-
"""
|
|
102
|
-
BOREAL_FOREST = "boreal-forest"
|
|
103
|
-
EUCALYPT_FOREST = "eucalypt-forest"
|
|
104
|
-
NATURAL_TROPICAL_FOREST = "natural-tropical-forest" # mean of primary and secondary tropical forest
|
|
105
|
-
PRIMARY_TROPICAL_FOREST = "primary-tropical-forest"
|
|
106
|
-
SAVANNA_GRASSLAND_EARLY_DRY_SEASON_BURNS = "savanna-grassland-early-dry-season-burns"
|
|
107
|
-
SAVANNA_GRASSLAND_MID_TO_LATE_DRY_SEASON_BURNS = "savanna-grassland-mid-to-late-dry-season-burns"
|
|
108
|
-
SAVANNA_WOODLAND_EARLY_DRY_SEASON_BURNS = "savanna-woodland-early-dry-season-burns"
|
|
109
|
-
SAVANNA_WOODLAND_MID_TO_LATE_DRY_SEASON_BURNS = "savanna-woodland-mid-to-late-dry-season-burns"
|
|
110
|
-
SECONDARY_TROPICAL_FOREST = "secondary-tropical-forest"
|
|
111
|
-
SHRUBLAND = "shrubland"
|
|
112
|
-
TEMPERATE_FOREST = "temperate-forest"
|
|
113
|
-
TERTIARY_TROPICAL_FOREST = "tertiary-tropical-forest"
|
|
114
|
-
UNKNOWN_TROPICAL_FOREST = "unknown-tropical-forest" # mean of primary, secondary and tertiary tropical forest
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
class _EmissionCategory(Enum):
|
|
118
|
-
"""
|
|
119
|
-
Natural vegetation burning emission categories from IPCC (2019).
|
|
120
|
-
"""
|
|
121
|
-
AGRICULTURAL_RESIDUES = "agricultural-residues"
|
|
122
|
-
BIOFUEL_BURNING = "biofuel-burning"
|
|
123
|
-
OTHER_FOREST = "other-forest"
|
|
124
|
-
SAVANNA_AND_GRASSLAND = "savanna-and-grassland"
|
|
125
|
-
TROPICAL_FOREST = "tropical-forest"
|
|
126
|
-
|
|
127
|
-
|
|
128
109
|
_EmissionTermId = Literal[
|
|
129
110
|
"ch4ToAirNaturalVegetationBurning",
|
|
130
111
|
"coToAirNaturalVegetationBurning",
|
|
@@ -136,7 +117,7 @@ _EmissionTermId = Literal[
|
|
|
136
117
|
class _InventoryYear(TypedDict, total=False):
|
|
137
118
|
biomass_category_summary: dict[BiomassCategory, float]
|
|
138
119
|
natural_vegetation_delta: dict[BiomassCategory, float]
|
|
139
|
-
fuel_burnt_per_category: dict[
|
|
120
|
+
fuel_burnt_per_category: dict[FuelCategory, npt.NDArray]
|
|
140
121
|
annual_emissions: dict[_EmissionTermId, npt.NDArray]
|
|
141
122
|
amortised_emissions: dict[_EmissionTermId, npt.NDArray]
|
|
142
123
|
share_of_emissions: dict[str, float] # {cycle_id (str): value, ...}
|
|
@@ -161,40 +142,40 @@ _Inventory = dict[int, _InventoryYear]
|
|
|
161
142
|
|
|
162
143
|
_BIOMASS_CATEGORY_TO_FUEL_CATEGORY = {
|
|
163
144
|
BiomassCategory.FOREST: {
|
|
164
|
-
EcoClimateZone.WARM_TEMPERATE_MOIST:
|
|
165
|
-
EcoClimateZone.WARM_TEMPERATE_DRY:
|
|
166
|
-
EcoClimateZone.COOL_TEMPERATE_MOIST:
|
|
167
|
-
EcoClimateZone.COOL_TEMPERATE_DRY:
|
|
168
|
-
EcoClimateZone.BOREAL_MOIST:
|
|
169
|
-
EcoClimateZone.BOREAL_DRY:
|
|
170
|
-
EcoClimateZone.TROPICAL_MONTANE:
|
|
171
|
-
EcoClimateZone.TROPICAL_WET:
|
|
172
|
-
EcoClimateZone.TROPICAL_MOIST:
|
|
173
|
-
EcoClimateZone.TROPICAL_DRY:
|
|
145
|
+
EcoClimateZone.WARM_TEMPERATE_MOIST: FuelCategory.TEMPERATE_FOREST,
|
|
146
|
+
EcoClimateZone.WARM_TEMPERATE_DRY: FuelCategory.TEMPERATE_FOREST,
|
|
147
|
+
EcoClimateZone.COOL_TEMPERATE_MOIST: FuelCategory.TEMPERATE_FOREST,
|
|
148
|
+
EcoClimateZone.COOL_TEMPERATE_DRY: FuelCategory.TEMPERATE_FOREST,
|
|
149
|
+
EcoClimateZone.BOREAL_MOIST: FuelCategory.BOREAL_FOREST,
|
|
150
|
+
EcoClimateZone.BOREAL_DRY: FuelCategory.BOREAL_FOREST,
|
|
151
|
+
EcoClimateZone.TROPICAL_MONTANE: FuelCategory.UNKNOWN_TROPICAL_FOREST,
|
|
152
|
+
EcoClimateZone.TROPICAL_WET: FuelCategory.UNKNOWN_TROPICAL_FOREST,
|
|
153
|
+
EcoClimateZone.TROPICAL_MOIST: FuelCategory.UNKNOWN_TROPICAL_FOREST,
|
|
154
|
+
EcoClimateZone.TROPICAL_DRY: FuelCategory.UNKNOWN_TROPICAL_FOREST
|
|
174
155
|
},
|
|
175
156
|
BiomassCategory.NATURAL_FOREST: {
|
|
176
|
-
EcoClimateZone.WARM_TEMPERATE_MOIST:
|
|
177
|
-
EcoClimateZone.WARM_TEMPERATE_DRY:
|
|
178
|
-
EcoClimateZone.COOL_TEMPERATE_MOIST:
|
|
179
|
-
EcoClimateZone.COOL_TEMPERATE_DRY:
|
|
180
|
-
EcoClimateZone.BOREAL_MOIST:
|
|
181
|
-
EcoClimateZone.BOREAL_DRY:
|
|
182
|
-
EcoClimateZone.TROPICAL_MONTANE:
|
|
183
|
-
EcoClimateZone.TROPICAL_WET:
|
|
184
|
-
EcoClimateZone.TROPICAL_MOIST:
|
|
185
|
-
EcoClimateZone.TROPICAL_DRY:
|
|
157
|
+
EcoClimateZone.WARM_TEMPERATE_MOIST: FuelCategory.TEMPERATE_FOREST,
|
|
158
|
+
EcoClimateZone.WARM_TEMPERATE_DRY: FuelCategory.TEMPERATE_FOREST,
|
|
159
|
+
EcoClimateZone.COOL_TEMPERATE_MOIST: FuelCategory.TEMPERATE_FOREST,
|
|
160
|
+
EcoClimateZone.COOL_TEMPERATE_DRY: FuelCategory.TEMPERATE_FOREST,
|
|
161
|
+
EcoClimateZone.BOREAL_MOIST: FuelCategory.BOREAL_FOREST,
|
|
162
|
+
EcoClimateZone.BOREAL_DRY: FuelCategory.BOREAL_FOREST,
|
|
163
|
+
EcoClimateZone.TROPICAL_MONTANE: FuelCategory.NATURAL_TROPICAL_FOREST,
|
|
164
|
+
EcoClimateZone.TROPICAL_WET: FuelCategory.NATURAL_TROPICAL_FOREST,
|
|
165
|
+
EcoClimateZone.TROPICAL_MOIST: FuelCategory.NATURAL_TROPICAL_FOREST,
|
|
166
|
+
EcoClimateZone.TROPICAL_DRY: FuelCategory.NATURAL_TROPICAL_FOREST
|
|
186
167
|
},
|
|
187
168
|
BiomassCategory.PLANTATION_FOREST: {
|
|
188
|
-
EcoClimateZone.WARM_TEMPERATE_MOIST:
|
|
189
|
-
EcoClimateZone.WARM_TEMPERATE_DRY:
|
|
190
|
-
EcoClimateZone.COOL_TEMPERATE_MOIST:
|
|
191
|
-
EcoClimateZone.COOL_TEMPERATE_DRY:
|
|
192
|
-
EcoClimateZone.BOREAL_MOIST:
|
|
193
|
-
EcoClimateZone.BOREAL_DRY:
|
|
194
|
-
EcoClimateZone.TROPICAL_MONTANE:
|
|
195
|
-
EcoClimateZone.TROPICAL_WET:
|
|
196
|
-
EcoClimateZone.TROPICAL_MOIST:
|
|
197
|
-
EcoClimateZone.TROPICAL_DRY:
|
|
169
|
+
EcoClimateZone.WARM_TEMPERATE_MOIST: FuelCategory.TEMPERATE_FOREST,
|
|
170
|
+
EcoClimateZone.WARM_TEMPERATE_DRY: FuelCategory.TEMPERATE_FOREST,
|
|
171
|
+
EcoClimateZone.COOL_TEMPERATE_MOIST: FuelCategory.TEMPERATE_FOREST,
|
|
172
|
+
EcoClimateZone.COOL_TEMPERATE_DRY: FuelCategory.TEMPERATE_FOREST,
|
|
173
|
+
EcoClimateZone.BOREAL_MOIST: FuelCategory.BOREAL_FOREST,
|
|
174
|
+
EcoClimateZone.BOREAL_DRY: FuelCategory.BOREAL_FOREST,
|
|
175
|
+
EcoClimateZone.TROPICAL_MONTANE: FuelCategory.TERTIARY_TROPICAL_FOREST,
|
|
176
|
+
EcoClimateZone.TROPICAL_WET: FuelCategory.TERTIARY_TROPICAL_FOREST,
|
|
177
|
+
EcoClimateZone.TROPICAL_MOIST: FuelCategory.TERTIARY_TROPICAL_FOREST,
|
|
178
|
+
EcoClimateZone.TROPICAL_DRY: FuelCategory.TERTIARY_TROPICAL_FOREST
|
|
198
179
|
}
|
|
199
180
|
}
|
|
200
181
|
"""
|
|
@@ -202,26 +183,26 @@ Mapping from IPCC biomass category and eco-climate zone to natural vegetation fu
|
|
|
202
183
|
"""
|
|
203
184
|
|
|
204
185
|
_FUEL_CATEGORY_TO_EMISSION_CATEGORY = {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
186
|
+
FuelCategory.BOREAL_FOREST: EmissionCategory.OTHER_FOREST,
|
|
187
|
+
FuelCategory.EUCALYPT_FOREST: EmissionCategory.OTHER_FOREST,
|
|
188
|
+
FuelCategory.NATURAL_TROPICAL_FOREST: EmissionCategory.TROPICAL_FOREST,
|
|
189
|
+
FuelCategory.PRIMARY_TROPICAL_FOREST: EmissionCategory.TROPICAL_FOREST,
|
|
190
|
+
FuelCategory.SAVANNA_GRASSLAND_EARLY_DRY_SEASON_BURNS: EmissionCategory.SAVANNA_AND_GRASSLAND,
|
|
191
|
+
FuelCategory.SAVANNA_GRASSLAND_MID_TO_LATE_DRY_SEASON_BURNS: EmissionCategory.SAVANNA_AND_GRASSLAND,
|
|
192
|
+
FuelCategory.SAVANNA_WOODLAND_EARLY_DRY_SEASON_BURNS: EmissionCategory.SAVANNA_AND_GRASSLAND,
|
|
193
|
+
FuelCategory.SAVANNA_WOODLAND_MID_TO_LATE_DRY_SEASON_BURNS: EmissionCategory.SAVANNA_AND_GRASSLAND,
|
|
194
|
+
FuelCategory.SECONDARY_TROPICAL_FOREST: EmissionCategory.TROPICAL_FOREST,
|
|
195
|
+
FuelCategory.SHRUBLAND: EmissionCategory.SAVANNA_AND_GRASSLAND,
|
|
196
|
+
FuelCategory.TEMPERATE_FOREST: EmissionCategory.OTHER_FOREST,
|
|
197
|
+
FuelCategory.TERTIARY_TROPICAL_FOREST: EmissionCategory.TROPICAL_FOREST,
|
|
198
|
+
FuelCategory.UNKNOWN_TROPICAL_FOREST: EmissionCategory.TROPICAL_FOREST
|
|
218
199
|
}
|
|
219
200
|
"""
|
|
220
201
|
Mapping from natural vegetation fuel category to natural vegetation burning emission category.
|
|
221
202
|
"""
|
|
222
203
|
|
|
223
204
|
|
|
224
|
-
def _get_fuel_category(biomass_category: BiomassCategory, eco_climate_zone: EcoClimateZone) ->
|
|
205
|
+
def _get_fuel_category(biomass_category: BiomassCategory, eco_climate_zone: EcoClimateZone) -> FuelCategory:
|
|
225
206
|
"""
|
|
226
207
|
Get the IPCC (2019) natural vegetation fuel category that corresponds to a specific combination of biomass category
|
|
227
208
|
and eco-climate zone.
|
|
@@ -229,7 +210,7 @@ def _get_fuel_category(biomass_category: BiomassCategory, eco_climate_zone: EcoC
|
|
|
229
210
|
return _BIOMASS_CATEGORY_TO_FUEL_CATEGORY.get(biomass_category, {}).get(eco_climate_zone)
|
|
230
211
|
|
|
231
212
|
|
|
232
|
-
def
|
|
213
|
+
def get_emission_category(fuel_category: FuelCategory) -> EmissionCategory:
|
|
233
214
|
"""
|
|
234
215
|
Get the IPCC (2019) emission category that corresponds to a fuel category.
|
|
235
216
|
"""
|
|
@@ -291,7 +272,7 @@ def _get_sample_func(kwargs: dict) -> Callable:
|
|
|
291
272
|
)
|
|
292
273
|
|
|
293
274
|
|
|
294
|
-
def _get_fuel_factor(fuel_category:
|
|
275
|
+
def _get_fuel_factor(fuel_category: FuelCategory) -> dict:
|
|
295
276
|
"""
|
|
296
277
|
Retrieve distribution data for a specific fuel category.
|
|
297
278
|
"""
|
|
@@ -323,29 +304,24 @@ def _get_fuel_factor(fuel_category: _FuelCategory) -> dict:
|
|
|
323
304
|
)
|
|
324
305
|
|
|
325
306
|
|
|
326
|
-
def _get_emission_factor(term_id: _EmissionTermId, emission_category:
|
|
307
|
+
def _get_emission_factor(term_id: _EmissionTermId, emission_category: EmissionCategory) -> dict:
|
|
327
308
|
"""
|
|
328
309
|
Retrieve distribution data for a specific emission and emission category.
|
|
329
310
|
"""
|
|
330
|
-
|
|
331
|
-
LOOKUP_FILENAME = f"{LOOKUP_KEY}.csv"
|
|
311
|
+
TERM_TYPE = "emission"
|
|
332
312
|
TARGET_DATA = ("value", "sd")
|
|
333
313
|
|
|
334
|
-
row = term_id
|
|
335
314
|
column_root = f"IPCC_2019_G_EMITTED_PER_KG_DRY_MATTER_COMBUSTED_{emission_category.name}"
|
|
336
315
|
|
|
337
|
-
lookup = download_lookup(LOOKUP_FILENAME)
|
|
338
|
-
|
|
339
316
|
data = {
|
|
340
|
-
target:
|
|
341
|
-
|
|
317
|
+
target: get_lookup_value(
|
|
318
|
+
{"@id": term_id, "termType": TERM_TYPE},
|
|
319
|
+
f"{column_root}_{target}",
|
|
320
|
+
model=MODEL,
|
|
321
|
+
term=term_id
|
|
322
|
+
) for target in TARGET_DATA
|
|
342
323
|
}
|
|
343
324
|
|
|
344
|
-
for target in TARGET_DATA:
|
|
345
|
-
debugMissingLookup(
|
|
346
|
-
LOOKUP_FILENAME, "term.id", row, f"{column_root}_{target}", data.get(target), model=MODEL, term=term_id
|
|
347
|
-
)
|
|
348
|
-
|
|
349
325
|
return (
|
|
350
326
|
{
|
|
351
327
|
k: parsed for k, v in data.items() if (parsed := safe_parse_float(v, default=None)) is not None
|
|
@@ -355,7 +331,7 @@ def _get_emission_factor(term_id: _EmissionTermId, emission_category: _EmissionC
|
|
|
355
331
|
|
|
356
332
|
|
|
357
333
|
def _sample_fuel_factor(
|
|
358
|
-
fuel_category:
|
|
334
|
+
fuel_category: FuelCategory, *, seed: Union[int, np.random.Generator, None] = None
|
|
359
335
|
) -> npt.NDArray:
|
|
360
336
|
"""
|
|
361
337
|
Generate random samples from a fuel factor's distribution data.
|
|
@@ -367,7 +343,7 @@ def _sample_fuel_factor(
|
|
|
367
343
|
|
|
368
344
|
def _sample_emission_factor(
|
|
369
345
|
term_id: _EmissionTermId,
|
|
370
|
-
emission_category:
|
|
346
|
+
emission_category: EmissionCategory,
|
|
371
347
|
*,
|
|
372
348
|
seed: Union[int, np.random.Generator, None] = None
|
|
373
349
|
) -> npt.NDArray:
|
|
@@ -432,11 +408,11 @@ def _calc_burnt_fuel(area_converted: npt.NDArray, fuel_factor: npt.NDArray, frac
|
|
|
432
408
|
def _build_fuel_burnt_accumulator(
|
|
433
409
|
percent_burned: npt.ArrayLike,
|
|
434
410
|
eco_climate_zone: EcoClimateZone,
|
|
435
|
-
sample_fuel_factor_func: Callable[[
|
|
411
|
+
sample_fuel_factor_func: Callable[[FuelCategory], npt.NDArray]
|
|
436
412
|
):
|
|
437
413
|
"""
|
|
438
414
|
Build an `accumulate_fuel_burnt` function to reduce natural vegetation deltas into mass of fuel burnt per
|
|
439
|
-
`
|
|
415
|
+
`FuelCategory`.
|
|
440
416
|
|
|
441
417
|
Parameters
|
|
442
418
|
----------
|
|
@@ -444,7 +420,7 @@ def _build_fuel_burnt_accumulator(
|
|
|
444
420
|
The percentage of land converted using burning during a land use change event (percentage, 0-100%).
|
|
445
421
|
eco_climate_zone : EcoClimateZone
|
|
446
422
|
The eco-climate zone of the Site.
|
|
447
|
-
sample_fuel_factor_func : Callable[[
|
|
423
|
+
sample_fuel_factor_func : Callable[[FuelCategory], npt.NDArray]
|
|
448
424
|
Function to sample fuel factor parameter.
|
|
449
425
|
|
|
450
426
|
Returns
|
|
@@ -455,15 +431,15 @@ def _build_fuel_burnt_accumulator(
|
|
|
455
431
|
frac_burnt = percent_burned / 100
|
|
456
432
|
|
|
457
433
|
def accumulate_fuel_burnt(
|
|
458
|
-
result: dict[
|
|
459
|
-
) -> dict[
|
|
434
|
+
result: dict[FuelCategory, npt.NDArray], biomass_category: BiomassCategory, delta: float
|
|
435
|
+
) -> dict[FuelCategory, npt.NDArray]:
|
|
460
436
|
"""
|
|
461
|
-
Calculate the amount of fuel burnt when natural vegetation is lost. Accumulate fuel burnt by `
|
|
437
|
+
Calculate the amount of fuel burnt when natural vegetation is lost. Accumulate fuel burnt by `FuelCategory`.
|
|
462
438
|
|
|
463
439
|
Parameters
|
|
464
440
|
----------
|
|
465
|
-
result : dict[
|
|
466
|
-
A dict with the format `{
|
|
441
|
+
result : dict[FuelCategory, npt.NDArray]
|
|
442
|
+
A dict with the format `{FuelCategory: kg_fuel_burnt (npt.NDArray)}`.
|
|
467
443
|
biomass_category : BiomassCategory
|
|
468
444
|
A biomass category undergoing change during a LUC event.
|
|
469
445
|
delta : float
|
|
@@ -471,7 +447,7 @@ def _build_fuel_burnt_accumulator(
|
|
|
471
447
|
|
|
472
448
|
Returns
|
|
473
449
|
-------
|
|
474
|
-
dict[
|
|
450
|
+
dict[FuelCategory, npt.NDArray]
|
|
475
451
|
"""
|
|
476
452
|
|
|
477
453
|
fuel_category = _get_fuel_category(biomass_category, eco_climate_zone)
|
|
@@ -560,12 +536,12 @@ def _compile_inventory(
|
|
|
560
536
|
land_cover_grouped = group_nodes_by_year(land_cover_nodes)
|
|
561
537
|
percent_burned = get_percent_burned(site)
|
|
562
538
|
|
|
563
|
-
@lru_cache(maxsize=len(
|
|
539
|
+
@lru_cache(maxsize=len(FuelCategory))
|
|
564
540
|
def sample_fuel_factor(*args):
|
|
565
541
|
"""Fuel factors should not be re-sampled between years, so cache results."""
|
|
566
542
|
return _sample_fuel_factor(*args, seed=rng)
|
|
567
543
|
|
|
568
|
-
@lru_cache(maxsize=len(EMISSION_TERM_IDS)*len(
|
|
544
|
+
@lru_cache(maxsize=len(EMISSION_TERM_IDS)*len(EmissionCategory))
|
|
569
545
|
def sample_emission_factor(*args):
|
|
570
546
|
"""Emission factors should not be re-sampled between years, so cache results."""
|
|
571
547
|
return _sample_emission_factor(*args, seed=rng)
|
|
@@ -610,7 +586,7 @@ def _compile_inventory(
|
|
|
610
586
|
|
|
611
587
|
annual_emissions = {
|
|
612
588
|
term_id: sum(
|
|
613
|
-
_calc_emission(amount, sample_emission_factor(term_id,
|
|
589
|
+
_calc_emission(amount, sample_emission_factor(term_id, get_emission_category(fuel_category)))
|
|
614
590
|
for fuel_category, amount in fuel_burnt_per_category.items()
|
|
615
591
|
) for term_id in EMISSION_TERM_IDS
|
|
616
592
|
}
|
|
@@ -890,7 +866,7 @@ def run(cycle: dict):
|
|
|
890
866
|
Returns
|
|
891
867
|
-------
|
|
892
868
|
list[dict]
|
|
893
|
-
A list of HESTIA [Emission](https://www.hestia.earth/schema/Emission) nodes with `term
|
|
869
|
+
A list of HESTIA [Emission](https://www.hestia.earth/schema/Emission) nodes with `term.@id` =
|
|
894
870
|
`ch4ToAirNaturalVegetationBurning` **OR** `coToAirNaturalVegetationBurning` **OR**
|
|
895
871
|
`n2OToAirNaturalVegetationBurningDirect` **OR** `noxToAirNaturalVegetationBurning`.
|
|
896
872
|
"""
|
|
@@ -219,7 +219,7 @@ def _pastureGrass_key_property_value(column: dict, **log_args):
|
|
|
219
219
|
term_id = practice_input_id(practice)
|
|
220
220
|
term = download_hestia(term_id)
|
|
221
221
|
value = list_sum(practice.get('value', [0]))
|
|
222
|
-
lookup_value = node_property_lookup_value(MODEL, term, column, default=0, **log_args)
|
|
222
|
+
lookup_value = node_property_lookup_value(MODEL, term_id, term.get('termType'), column, default=0, **log_args)
|
|
223
223
|
return (lookup_value, value)
|
|
224
224
|
return get_value
|
|
225
225
|
|