premise 2.1.0.dev3__tar.gz → 2.1.0.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. {premise-2.1.0.dev3/premise.egg-info → premise-2.1.0.dev5}/PKG-INFO +1 -1
  2. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/__init__.py +1 -1
  3. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/export.py +2 -2
  4. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/filesystem_constants.py +3 -0
  5. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/logger.py +9 -4
  6. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/new_database.py +64 -94
  7. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/transformation.py +0 -17
  8. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/transport.py +0 -20
  9. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/utils.py +57 -1
  10. {premise-2.1.0.dev3 → premise-2.1.0.dev5/premise.egg-info}/PKG-INFO +1 -1
  11. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/LICENSE +0 -0
  12. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/MANIFEST.in +0 -0
  13. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/README.md +0 -0
  14. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/activity_maps.py +0 -0
  15. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/biomass.py +0 -0
  16. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/brightway2.py +0 -0
  17. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/brightway25.py +0 -0
  18. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/cement.py +0 -0
  19. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/clean_datasets.py +0 -0
  20. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/GAINS_EU_sectors_mapping.yaml +0 -0
  21. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/GAINS_ei_pollutants.yaml +0 -0
  22. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/GAINS_emission_factors_EU.csv +0 -0
  23. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/gains_ecoinvent_sectoral_mapping.yaml +0 -0
  24. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/CH4.csv +0 -0
  25. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/N2O.csv +0 -0
  26. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/NH3.csv +0 -0
  27. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/NOx.csv +0 -0
  28. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/PM1.csv +0 -0
  29. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/PM10.csv +0 -0
  30. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/PM25.csv +0 -0
  31. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/PM_BC.csv +0 -0
  32. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/PM_OC.csv +0 -0
  33. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/PM_TSP.csv +0 -0
  34. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/SO2.csv +0 -0
  35. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/CLE/VOC.csv +0 -0
  36. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/CH4.csv +0 -0
  37. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/N2O.csv +0 -0
  38. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/NH3.csv +0 -0
  39. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/NOx.csv +0 -0
  40. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/PM1.csv +0 -0
  41. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/PM10.csv +0 -0
  42. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/PM25.csv +0 -0
  43. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/PM_BC.csv +0 -0
  44. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/PM_OC.csv +0 -0
  45. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/PM_TSP.csv +0 -0
  46. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/SO2.csv +0 -0
  47. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/GAINS_emission_factors/iam_data/MFR/VOC.csv +0 -0
  48. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-BIGCC.xlsx +0 -0
  49. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-Carma-CCS.xlsx +0 -0
  50. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-ESU-oil-and-gas.xlsx +0 -0
  51. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-PGM.xlsx +0 -0
  52. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-PV-perovskite.xlsx +0 -0
  53. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-PV.xlsx +0 -0
  54. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-batteries-LiO2.xlsx +0 -0
  55. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-batteries-LiS.xlsx +0 -0
  56. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-batteries-NMC111-811-NCA-LFP.xlsx +0 -0
  57. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-batteries-NMC622-LTO.xlsx +0 -0
  58. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-batteries-SIB.xlsx +0 -0
  59. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-biofuels.xlsx +0 -0
  60. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-biogas.xlsx +0 -0
  61. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-buses.xlsx +0 -0
  62. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-carbon-capture.xlsx +0 -0
  63. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-carbon-fiber.xlsx +0 -0
  64. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-co-firing-power-plants.xlsx +0 -0
  65. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-cobalt.xlsx +0 -0
  66. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-combined-heat-power-plant-CCS.xlsx +0 -0
  67. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-concentrating-solar-power.xlsx +0 -0
  68. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-fuel_cell.xlsx +0 -0
  69. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-geothermal.xlsx +0 -0
  70. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-germanium.xlsx +0 -0
  71. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-graphite.xlsx +0 -0
  72. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-home-batteries.xlsx +0 -0
  73. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-coal-gasification.xlsx +0 -0
  74. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-distribution.xlsx +0 -0
  75. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-electrolysis.xlsx +0 -0
  76. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-heating.xlsx +0 -0
  77. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-pyrolysis.xlsx +0 -0
  78. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-smr-atr-biogas.xlsx +0 -0
  79. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-smr-atr-natgas.xlsx +0 -0
  80. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-thermochemical-water-splitting.xlsx +0 -0
  81. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-turbine.xlsx +0 -0
  82. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-hydrogen-wood-gasification.xlsx +0 -0
  83. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-lithium.xlsx +0 -0
  84. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-methanol-heating.xlsx +0 -0
  85. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-nuclear_EPR.xlsx +0 -0
  86. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-nuclear_SMR.xlsx +0 -0
  87. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-pass_cars.xlsx +0 -0
  88. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-rhenium.xlsx +0 -0
  89. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-FT-from-coal-gasification-with-CCS.xlsx +0 -0
  90. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-FT-from-coal-gasification.xlsx +0 -0
  91. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-FT-from-electrolysis.xlsx +0 -0
  92. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-FT-from-natural-gas.xlsx +0 -0
  93. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-FT-from-wood-gasification-with-CCS.xlsx +0 -0
  94. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-FT-from-wood-gasification.xlsx +0 -0
  95. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-methanol-from-cement-plant.xlsx +0 -0
  96. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-methanol-from-coal-with-CCS.xlsx +0 -0
  97. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-methanol-from-coal.xlsx +0 -0
  98. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-methanol-from-electrolysis.xlsx +0 -0
  99. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-synfuels-from-methanol-from-wood.xlsx +0 -0
  100. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-syngas-from-coal.xlsx +0 -0
  101. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-syngas.xlsx +0 -0
  102. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-trucks.xlsx +0 -0
  103. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-two_wheelers.xlsx +0 -0
  104. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-vanadium-redox-flow-battery.xlsx +0 -0
  105. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-vanadium.xlsx +0 -0
  106. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/lci-wave_energy.xlsx +0 -0
  107. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/additional_inventories/migration_map.csv +0 -0
  108. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/consequential/blacklist.yaml +0 -0
  109. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/consequential/leadtimes.yaml +0 -0
  110. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/consequential/lifetimes.yaml +0 -0
  111. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/electricity/coal_power_emissions_2012_v1.csv +0 -0
  112. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/biofuels_activities.yml +0 -0
  113. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/biomethane_correction.yaml +0 -0
  114. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/fuel_efficiency_parameters.yml +0 -0
  115. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/fuel_groups.yaml +0 -0
  116. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/fuel_markets.yml +0 -0
  117. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/heat_sources_map.yml +0 -0
  118. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/hydrogen_efficiency_parameters.yml +0 -0
  119. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/hydrogen_supply_losses.yml +0 -0
  120. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/liquid_fuel_activities.yml +0 -0
  121. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/methane_activities.yml +0 -0
  122. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/oil_product_volumes.csv +0 -0
  123. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/fuels/supply_chain_scenarios.yml +0 -0
  124. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/fleet_files/fleet_all_vehicles.csv +0 -0
  125. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/fleet_files/image_fleet_trucks.csv +0 -0
  126. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/image_SSP1-Base.csv +0 -0
  127. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/image_SSP2-Base.csv +0 -0
  128. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/image_SSP2-RCP19.csv +0 -0
  129. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/image_SSP2-RCP26.csv +0 -0
  130. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP1-Base.csv +0 -0
  131. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP1-NDC.csv +0 -0
  132. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP1-NPi.csv +0 -0
  133. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP1-PkBudg1150.csv +0 -0
  134. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP1-PkBudg500.csv +0 -0
  135. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP2-Base.csv +0 -0
  136. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP2-NDC.csv +0 -0
  137. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP2-NPi.csv +0 -0
  138. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP2-PkBudg1150.csv +0 -0
  139. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP2-PkBudg500.csv +0 -0
  140. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP5-Base.csv +0 -0
  141. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP5-NDC.csv +0 -0
  142. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP5-NPi.csv +0 -0
  143. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP5-PkBudg1150.csv +0 -0
  144. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/iam_output_files/remind_SSP5-PkBudg500.csv +0 -0
  145. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/renewables/efficiency_solar_PV.csv +0 -0
  146. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/avg_load_factors.yaml +0 -0
  147. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/bus/EF_HBEFA42_exhaust.csv +0 -0
  148. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/bus/NMHC_species.csv +0 -0
  149. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/bus/degradation_EF.csv +0 -0
  150. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/bus/engine_wear.csv +0 -0
  151. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/car/EF_HBEFA42_exhaust.csv +0 -0
  152. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/car/EF_HBEFA42_non_exhaust.csv +0 -0
  153. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/car/NMHC_species.csv +0 -0
  154. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/car/degradation_EF.csv +0 -0
  155. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/car/engine_wear.csv +0 -0
  156. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/truck/EF_HBEFA42_exhaust.csv +0 -0
  157. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/truck/NMHC_species.csv +0 -0
  158. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/truck/degradation_EF.csv +0 -0
  159. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/truck/engine_wear.csv +0 -0
  160. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/two-wheeler/EF_HBEFA42_exhaust.csv +0 -0
  161. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/two-wheeler/NMHC_species.csv +0 -0
  162. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/two-wheeler/engine_wear.csv +0 -0
  163. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/transport/vehicles_map.yaml +0 -0
  164. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/correspondence_biosphere_flows.yaml +0 -0
  165. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/flow_mapping_olca.csv +0 -0
  166. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/flows_biosphere_38.csv +0 -0
  167. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/flows_biosphere_39.csv +0 -0
  168. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/outdated_flows.yaml +0 -0
  169. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/references.csv +0 -0
  170. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/simapro-biosphere.json +0 -0
  171. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/simapro_categories.csv +0 -0
  172. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/simapro_classification.csv +0 -0
  173. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/simapro_compartments.yml +0 -0
  174. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/export/simapro_units.yml +0 -0
  175. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/logging/logconfig.yaml +0 -0
  176. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/logging/reporting.yaml +0 -0
  177. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/materials_vars.yml +0 -0
  178. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/report/report.yaml +0 -0
  179. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/validation/circular exceptions.yaml +0 -0
  180. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/validation/electricity.yaml +0 -0
  181. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/validation/waste flows exceptions.yaml +0 -0
  182. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data/utils/validation/waste flows.yaml +0 -0
  183. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/data_collection.py +0 -0
  184. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/direct_air_capture.py +0 -0
  185. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/electricity.py +0 -0
  186. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/emissions.py +0 -0
  187. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/external.py +0 -0
  188. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/external_data_validation.py +0 -0
  189. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/fuels.py +0 -0
  190. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/geomap.py +0 -0
  191. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/heat.py +0 -0
  192. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/biomass_variables.yaml +0 -0
  193. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/carbon_capture_variables.yaml +0 -0
  194. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/carbon_storage_variables.yaml +0 -0
  195. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/cement_variables.yaml +0 -0
  196. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/constants.yaml +0 -0
  197. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/crops_variables.yaml +0 -0
  198. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/direct_air_capture_variables.yaml +0 -0
  199. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/electricity_variables.yaml +0 -0
  200. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/fuels_variables.yaml +0 -0
  201. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/gains_regions_mapping.yaml +0 -0
  202. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/heat_variables.yaml +0 -0
  203. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/iam_region_to_climate.yaml +0 -0
  204. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/mapping_overview.xlsx +0 -0
  205. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/missing_geography_equivalences.yaml +0 -0
  206. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/other_variables.yaml +0 -0
  207. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/steel_variables.yaml +0 -0
  208. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/topologies/gcam-topology.json +0 -0
  209. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/topologies/image-topology.json +0 -0
  210. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/topologies/remind-topology.json +0 -0
  211. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/iam_variables_mapping/topologies/tiam-ucl-topology.json +0 -0
  212. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/inventory_imports.py +0 -0
  213. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/marginal_mixes.py +0 -0
  214. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/report.py +0 -0
  215. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/steel.py +0 -0
  216. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise/validation.py +0 -0
  217. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise.egg-info/SOURCES.txt +0 -0
  218. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise.egg-info/dependency_links.txt +0 -0
  219. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise.egg-info/requires.txt +0 -0
  220. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/premise.egg-info/top_level.txt +0 -0
  221. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/pyproject.toml +0 -0
  222. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/requirements.txt +0 -0
  223. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/setup.cfg +0 -0
  224. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_activity_maps.py +0 -0
  225. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_clean_datasets.py +0 -0
  226. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_electricity.py +0 -0
  227. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_export.py +0 -0
  228. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_filesystem_constants.py +0 -0
  229. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_geomap.py +0 -0
  230. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_import_inventories.py +0 -0
  231. {premise-2.1.0.dev3 → premise-2.1.0.dev5}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: premise
3
- Version: 2.1.0.dev3
3
+ Version: 2.1.0.dev5
4
4
  Summary: Coupling IAM output to ecoinvent LCA database ecoinvent for prospective LCA
5
5
  Author-email: Romain Sacchi <romain.sacchi@psi.ch>, Alois Dirnaichner <dirnaichner@pik-potsdam.de>, Chris Mutel <cmutel@gmail.com>
6
6
  Maintainer-email: Romain Sacchi <romain.sacchi@psi.ch>
@@ -1,5 +1,5 @@
1
1
  __all__ = ("NewDatabase", "clear_cache", "get_regions_definition")
2
- __version__ = (2, 1, 0, "dev3")
2
+ __version__ = (2, 1, 0, "dev5")
3
3
 
4
4
 
5
5
  from premise.new_database import NewDatabase
@@ -27,9 +27,8 @@ from scipy import sparse as nsp
27
27
  from . import __version__
28
28
  from .data_collection import get_delimiter
29
29
  from .filesystem_constants import DATA_DIR
30
- from .geomap import Geomap
31
30
  from .inventory_imports import get_correspondence_bio_flows
32
- from .utils import reset_all_codes
31
+ from .utils import dump_database, load_database, reset_all_codes
33
32
  from .validation import BaseDatasetValidator
34
33
 
35
34
  FILEPATH_SIMAPRO_UNITS = DATA_DIR / "utils" / "export" / "simapro_units.yml"
@@ -976,6 +975,7 @@ def prepare_db_for_export(
976
975
 
977
976
 
978
977
  def _prepare_database(scenario, db_name, original_database, keep_uncertainty_data):
978
+
979
979
  scenario["database"] = prepare_db_for_export(
980
980
  scenario,
981
981
  name=db_name,
@@ -19,5 +19,8 @@ USER_DATA_BASE_DIR.mkdir(parents=True, exist_ok=True)
19
19
  DIR_CACHED_DB = USER_DATA_BASE_DIR / "cache"
20
20
  DIR_CACHED_DB.mkdir(parents=True, exist_ok=True)
21
21
 
22
+ DIR_CACHED_FILES = USER_DATA_BASE_DIR / "cached_files"
23
+ DIR_CACHED_FILES.mkdir(parents=True, exist_ok=True)
24
+
22
25
  USER_LOGS_DIR = platformdirs.user_log_path(appname="premise", appauthor="pylca")
23
26
  USER_LOGS_DIR.mkdir(parents=True, exist_ok=True)
@@ -3,12 +3,9 @@ Module to create a logger with the given handler.
3
3
  """
4
4
 
5
5
  import logging.config
6
- from logging.handlers import QueueHandler
7
6
  from multiprocessing import Queue
8
7
  from pathlib import Path
9
8
 
10
- import yaml
11
-
12
9
  from .filesystem_constants import DATA_DIR
13
10
 
14
11
  LOG_CONFIG = DATA_DIR / "utils" / "logging" / "logconfig.yaml"
@@ -58,4 +55,12 @@ def empty_log_files():
58
55
  for file in DIR_LOG_REPORT.iterdir():
59
56
  # if suffix is ".log"
60
57
  if file.suffix == ".log":
61
- file.unlink()
58
+ try:
59
+ file.unlink()
60
+ except PermissionError:
61
+ try:
62
+ # instead, let's empty the file
63
+ with open(file, "w") as f:
64
+ f.write("")
65
+ except PermissionError:
66
+ pass
@@ -40,17 +40,19 @@ from .filesystem_constants import DIR_CACHED_DB, IAM_OUTPUT_DIR, INVENTORY_DIR
40
40
  from .fuels import _update_fuels
41
41
  from .heat import _update_heat
42
42
  from .inventory_imports import AdditionalInventory, DefaultInventory
43
- from .logger import empty_log_files
44
43
  from .report import generate_change_report, generate_summary_report
45
44
  from .steel import _update_steel
46
45
  from .transport import _update_vehicles
47
46
  from .utils import (
48
47
  clear_existing_cache,
49
48
  create_scenario_list,
49
+ delete_all_pickles,
50
+ dump_database,
50
51
  eidb_label,
51
52
  hide_messages,
52
53
  info_on_utils_functions,
53
54
  load_constants,
55
+ load_database,
54
56
  print_version,
55
57
  warning_about_biogenic_co2,
56
58
  )
@@ -580,8 +582,6 @@ class NewDatabase:
580
582
  data = self.__import_additional_inventories(self.additional_inventories)
581
583
  self.database.extend(data)
582
584
 
583
- data = pickle.dumps(self.database, -1)
584
-
585
585
  print("- Fetching IAM data")
586
586
  # use multiprocessing to speed up the process
587
587
  if self.multiprocessing:
@@ -591,10 +591,6 @@ class NewDatabase:
591
591
  for scenario in self.scenarios:
592
592
  _fetch_iam_data(scenario)
593
593
 
594
- # add database to scenarios
595
- for scenario in self.scenarios:
596
- scenario["database"] = pickle.loads(data)
597
-
598
594
  print("Done!")
599
595
 
600
596
  def __find_cached_db(self, db_name: str) -> List[dict]:
@@ -898,57 +894,35 @@ class NewDatabase:
898
894
  [item for item in sectors if item not in sector_update_methods]
899
895
  )
900
896
 
901
- # Outer tqdm progress bar for sectors
902
- with tqdm(total=len(sectors), desc="Updating sectors", ncols=70) as pbar_outer:
903
- for sector in sectors:
904
- pbar_outer.set_description(f"Updating: {sector}")
905
-
906
- # skip "external" if no external scenarios are provided
907
- if sector == "external" and not any(
908
- "external scenarios" in scenario for scenario in self.scenarios
909
- ):
910
- continue
911
-
912
- # Prepare the function and arguments
913
- update_func = sector_update_methods[sector]["func"]
914
- fixed_args = sector_update_methods[sector]["args"]
915
-
916
- if self.multiprocessing:
917
- # Process scenarios in parallel for the current sector
918
- with ProcessPool(processes=multiprocessing.cpu_count()) as pool:
919
- # Prepare the tasks with all necessary arguments
920
- tasks = [
921
- (scenario,) + fixed_args for scenario in self.scenarios
922
- ]
923
-
924
- # we cannot pickle the datapackage contained under "external scenarios" in each scenario
925
- # so we replace it by the file path of the datapackage before processing
926
-
927
- for task in tasks:
928
- if "external scenarios" in task[0]:
929
- for external_scenario in task[0]["external scenarios"]:
930
- if isinstance(
931
- external_scenario["data"],
932
- datapackage.DataPackage,
933
- ):
934
- external_scenario["data"] = external_scenario[
935
- "data"
936
- ].base_path
937
-
938
- # Use starmap for preserving the order of tasks
939
- results = pool.starmap(update_func, tasks)
940
-
941
- # Update self.scenarios based on the ordered results
942
- for s, updated_scenario in enumerate(results):
943
- self.scenarios[s] = updated_scenario
944
-
945
- else:
946
- # Process scenarios in sequence for the current sector
947
- for s, scenario in enumerate(self.scenarios):
948
- self.scenarios[s] = update_func(scenario, *fixed_args)
897
+ # unlink all files in the cache directory
898
+ delete_all_pickles()
949
899
 
900
+ with tqdm(
901
+ total=len(self.scenarios), desc="Processing scenarios", ncols=70
902
+ ) as pbar_outer:
903
+ for scenario in self.scenarios:
904
+ # add database to scenarios
905
+ scenario["database"] = pickle.loads(pickle.dumps(self.database, -1))
906
+ for sector in sectors:
907
+ if sector in scenario.get("applied functions", []):
908
+ print(
909
+ f"Function to update {sector} already applied to scenario."
910
+ )
911
+ continue
912
+
913
+ # Prepare the function and arguments
914
+ update_func = sector_update_methods[sector]["func"]
915
+ fixed_args = sector_update_methods[sector]["args"]
916
+ scenario = update_func(scenario, *fixed_args)
917
+
918
+ if "applied functions" not in scenario:
919
+ scenario["applied functions"] = []
920
+ scenario["applied functions"].append(sector)
921
+
922
+ # dump database
923
+ dump_database(scenario)
950
924
  # Manually update the outer progress bar after each sector is completed
951
- pbar_outer.update(1)
925
+ pbar_outer.update()
952
926
  print("Done!\n")
953
927
 
954
928
  def write_superstructure_db_to_brightway(
@@ -973,6 +947,7 @@ class NewDatabase:
973
947
  )
974
948
 
975
949
  for scenario in self.scenarios:
950
+ scenario = load_database(scenario)
976
951
  _prepare_database(
977
952
  scenario=scenario,
978
953
  db_name=name,
@@ -1002,6 +977,9 @@ class NewDatabase:
1002
977
  # generate change report from logs
1003
978
  self.generate_change_report()
1004
979
 
980
+ for scenario in self.scenarios:
981
+ del scenario["database"]
982
+
1005
983
  def write_db_to_brightway(self, name: [str, List[str]] = None):
1006
984
  """
1007
985
  Register the new database into an open brightway project.
@@ -1039,18 +1017,19 @@ class NewDatabase:
1039
1017
  print("Write new database(s) to Brightway.")
1040
1018
 
1041
1019
  for s, scenario in enumerate(self.scenarios):
1020
+ scenario = load_database(scenario)
1042
1021
  _prepare_database(
1043
1022
  scenario=scenario,
1044
1023
  db_name=name[s],
1045
1024
  original_database=self.database,
1046
1025
  keep_uncertainty_data=self.keep_uncertainty_data,
1047
1026
  )
1048
-
1049
- for scen, scenario in enumerate(self.scenarios):
1050
1027
  write_brightway_database(
1051
1028
  scenario["database"],
1052
- name[scen],
1029
+ name[s],
1053
1030
  )
1031
+ # delete the database from the scenario
1032
+ del scenario["database"]
1054
1033
 
1055
1034
  # generate scenario report
1056
1035
  self.generate_scenario_report()
@@ -1073,10 +1052,18 @@ class NewDatabase:
1073
1052
 
1074
1053
  """
1075
1054
 
1055
+ def scenario_name(scenario):
1056
+ name = scenario["pathway"]
1057
+
1058
+ if "external scenarios" in scenario:
1059
+ for external in scenario["external scenarios"]:
1060
+ name += f"-{external['scenario']}"
1061
+ return name
1062
+
1076
1063
  if filepath is not None:
1077
1064
  if isinstance(filepath, str):
1078
1065
  filepath = [
1079
- (Path(filepath) / s["model"] / s["pathway"] / str(s["year"]))
1066
+ (Path(filepath) / s["model"] / scenario_name(s) / str(s["year"]))
1080
1067
  for s in self.scenarios
1081
1068
  ]
1082
1069
  elif isinstance(filepath, list):
@@ -1094,36 +1081,15 @@ class NewDatabase:
1094
1081
 
1095
1082
  print("Write new database(s) to matrix.")
1096
1083
 
1097
- # use multiprocessing to speed up the process
1098
-
1099
- if self.multiprocessing:
1100
- with ProcessPool(processes=multiprocessing.cpu_count()) as pool:
1101
- args = [
1102
- (scenario, "database", self.database, self.keep_uncertainty_data)
1103
- for scenario in self.scenarios
1104
- ]
1105
- results = pool.starmap(_prepare_database, args)
1106
-
1107
- for s, scenario in enumerate(self.scenarios):
1108
- self.scenarios[s] = results[s]
1109
-
1110
- with ProcessPool(processes=multiprocessing.cpu_count()) as pool:
1111
- args = [
1112
- Export(scenario, filepath[scen], self.version)
1113
- for scen, scenario in enumerate(self.scenarios)
1114
- ]
1115
- pool.map(_export_to_matrices, args)
1116
- else:
1117
- for scenario in self.scenarios:
1118
- _prepare_database(
1119
- scenario=scenario,
1120
- db_name="database",
1121
- original_database=self.database,
1122
- keep_uncertainty_data=self.keep_uncertainty_data,
1123
- )
1124
-
1125
- for scen, scenario in enumerate(self.scenarios):
1126
- Export(scenario, filepath[scen], self.version).export_db_to_matrices()
1084
+ for s, scenario in enumerate(self.scenarios):
1085
+ scenario = load_database(scenario)
1086
+ _prepare_database(
1087
+ scenario=scenario,
1088
+ db_name="database",
1089
+ original_database=self.database,
1090
+ keep_uncertainty_data=self.keep_uncertainty_data,
1091
+ )
1092
+ Export(scenario, filepath[s], self.version).export_db_to_matrices()
1127
1093
 
1128
1094
  # generate scenario report
1129
1095
  self.generate_scenario_report()
@@ -1149,15 +1115,15 @@ class NewDatabase:
1149
1115
  # use multiprocessing to speed up the process
1150
1116
 
1151
1117
  for scenario in self.scenarios:
1118
+ scenario = load_database(scenario)
1152
1119
  _prepare_database(
1153
1120
  scenario=scenario,
1154
1121
  db_name="database",
1155
1122
  original_database=self.database,
1156
1123
  keep_uncertainty_data=self.keep_uncertainty_data,
1157
1124
  )
1158
-
1159
- for scenario in self.scenarios:
1160
1125
  Export(scenario, filepath, self.version).export_db_to_simapro()
1126
+ del scenario["database"]
1161
1127
 
1162
1128
  # generate scenario report
1163
1129
  self.generate_scenario_report()
@@ -1183,17 +1149,17 @@ class NewDatabase:
1183
1149
  # use multiprocessing to speed up the process
1184
1150
 
1185
1151
  for scenario in self.scenarios:
1152
+ scenario = load_database(scenario)
1186
1153
  _prepare_database(
1187
1154
  scenario=scenario,
1188
1155
  db_name="database",
1189
1156
  original_database=self.database,
1190
1157
  keep_uncertainty_data=self.keep_uncertainty_data,
1191
1158
  )
1192
-
1193
- for scenario in self.scenarios:
1194
1159
  Export(scenario, filepath, self.version).export_db_to_simapro(
1195
1160
  olca_compartments=True
1196
1161
  )
1162
+ del scenario["database"]
1197
1163
 
1198
1164
  # generate scenario report
1199
1165
  self.generate_scenario_report()
@@ -1215,6 +1181,7 @@ class NewDatabase:
1215
1181
 
1216
1182
  # use multiprocessing to speed up the process
1217
1183
  for scenario in self.scenarios:
1184
+ scenario = load_database(scenario)
1218
1185
  _prepare_database(
1219
1186
  scenario=scenario,
1220
1187
  db_name=name,
@@ -1232,6 +1199,9 @@ class NewDatabase:
1232
1199
  scenario_list=list_scenarios,
1233
1200
  )
1234
1201
 
1202
+ for scenario in self.scenarios:
1203
+ del scenario["database"]
1204
+
1235
1205
  cached_inventories.extend(extra_inventories)
1236
1206
 
1237
1207
  list_scenarios = ["original"] + list_scenarios
@@ -310,23 +310,6 @@ def find_fuel_efficiency(
310
310
  print(
311
311
  f"Warning: {dataset['name'], dataset['location']} has no energy input"
312
312
  )
313
- for exc in dataset["exchanges"]:
314
- print(
315
- exc["type"],
316
- exc["name"],
317
- exc["amount"],
318
- exc.get("product"),
319
- exc["unit"],
320
- )
321
- from pprint import pprint
322
-
323
- print()
324
- pprint(fuel_filters)
325
- print()
326
- pprint(fuel_specs)
327
- print()
328
- pprint(fuel_map_reverse)
329
- print()
330
313
 
331
314
  if energy_input != 0 and float(energy_out) != 0:
332
315
  current_efficiency = float(energy_out) / energy_input
@@ -517,26 +517,6 @@ class Transport(BaseTransformation):
517
517
  Create vehicle market (fleet average) datasets.
518
518
  """
519
519
 
520
- # # create and regionalize vehicle datasets
521
- # vehicle_datasets = list(ws.get_many(
522
- # self.database,
523
- # ws.either(*[
524
- # ws.contains("name", size)
525
- # for size in self.mapping[self.vehicle_type]["sizes"]
526
- # ]),
527
- # ws.contains("name", self.vehicle_type),
528
- # ws.equals("unit", "unit")
529
- # ))
530
- #
531
- # for ds in vehicle_datasets:
532
- # new_vehicle_datasets = self.fetch_proxies(
533
- # subset = vehicle_datasets,
534
- # name=ds["name"],
535
- # ref_prod=ds["reference product"],
536
- # )
537
- #
538
- # self.database.extend(new_vehicle_datasets.values())
539
-
540
520
  # create and regionalize transport datasets
541
521
  filters = [
542
522
  ws.either(
@@ -3,6 +3,7 @@ Various utils functions.
3
3
  """
4
4
 
5
5
  import os
6
+ import pickle
6
7
  import sys
7
8
  import uuid
8
9
  from datetime import datetime
@@ -21,7 +22,12 @@ from wurst.searching import biosphere, equals, get_many, technosphere
21
22
 
22
23
  from . import __version__
23
24
  from .data_collection import get_delimiter
24
- from .filesystem_constants import DATA_DIR, DIR_CACHED_DB, VARIABLES_DIR
25
+ from .filesystem_constants import (
26
+ DATA_DIR,
27
+ DIR_CACHED_DB,
28
+ DIR_CACHED_FILES,
29
+ VARIABLES_DIR,
30
+ )
25
31
  from .geomap import Geomap
26
32
 
27
33
  FUELS_PROPERTIES = VARIABLES_DIR / "fuels_variables.yaml"
@@ -343,3 +349,53 @@ def create_scenario_list(scenarios: list) -> list:
343
349
  list_scenarios.append(name)
344
350
 
345
351
  return list_scenarios
352
+
353
+
354
+ def dump_database(scenario):
355
+ """
356
+ Dump database to a pickle file.
357
+ :param scenario: scenario dictionary
358
+ """
359
+
360
+ if "database filepath" in scenario:
361
+ return scenario
362
+
363
+ # generate random name
364
+ name = f"{uuid.uuid4().hex}.pickle"
365
+ # dump as pickle
366
+ with open(DIR_CACHED_FILES / name, "wb") as f:
367
+ pickle.dump(scenario["database"], f)
368
+ scenario["database filepath"] = DIR_CACHED_FILES / name
369
+ del scenario["database"]
370
+
371
+ return scenario
372
+
373
+
374
+ def load_database(scenario):
375
+ """
376
+ Load database from a pickle file.
377
+ :param scenario: scenario dictionary
378
+ """
379
+
380
+ if "database" in scenario:
381
+ return scenario
382
+
383
+ filepath = scenario["database filepath"]
384
+
385
+ # load pickle
386
+ with open(filepath, "rb") as f:
387
+ scenario["database"] = pickle.load(f)
388
+ del scenario["database filepath"]
389
+ # delete the file
390
+ filepath.unlink()
391
+
392
+ return scenario
393
+
394
+
395
+ def delete_all_pickles():
396
+ """
397
+ Delete all pickle files in the cache folder.
398
+ """
399
+
400
+ for file in DIR_CACHED_FILES.glob("*.pickle"):
401
+ file.unlink()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: premise
3
- Version: 2.1.0.dev3
3
+ Version: 2.1.0.dev5
4
4
  Summary: Coupling IAM output to ecoinvent LCA database ecoinvent for prospective LCA
5
5
  Author-email: Romain Sacchi <romain.sacchi@psi.ch>, Alois Dirnaichner <dirnaichner@pik-potsdam.de>, Chris Mutel <cmutel@gmail.com>
6
6
  Maintainer-email: Romain Sacchi <romain.sacchi@psi.ch>
File without changes
File without changes
File without changes