definitions.py 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. import os
  2. from pathlib import Path
  3. def get_root_path() -> Path:
  4. """ get the root_path from an environment variable """
  5. root_path_env = os.getenv('UNFCCC_GHG_ROOT_PATH', None)
  6. if root_path_env is None:
  7. raise ValueError('UNFCCC_GHG_ROOT_PATH environment variable needs to be set')
  8. else:
  9. root_path = Path(root_path_env).resolve()
  10. return root_path
  11. root_path = get_root_path()
  12. code_path = root_path / "UNFCCC_GHG_data"
  13. log_path = root_path / "log"
  14. extracted_data_path = root_path / "extracted_data"
  15. extracted_data_path_UNFCCC = extracted_data_path / "UNFCCC"
  16. downloaded_data_path = root_path / "downloaded_data"
  17. downloaded_data_path_UNFCCC = downloaded_data_path / "UNFCCC"
  18. legacy_data_path = root_path / "legacy_data"
  19. dataset_path = root_path / "datasets"
  20. dataset_path_UNFCCC = dataset_path / "UNFCCC"
  21. custom_country_mapping = {
  22. "EUA": "European Union",
  23. "EUC": "European Union",
  24. "FRK": "France",
  25. "DKE": "Denmark",
  26. "DNM": "Denmark",
  27. "GBK": "United Kingdom of Great Britain and Northern Ireland",
  28. }
  29. custom_folders = {
  30. 'Venezeula_(Bolivarian_Republic_of)': 'VEN',
  31. 'Venezuela_(Bolivarian_Republic_of)': 'VEN',
  32. 'Micronesia_(Federated_State_of)': 'FSM',
  33. 'Micronesia_(Federated_States_of)': 'FSM',
  34. 'The_Republic_of_North_Macedonia': 'MKD',
  35. 'Republic_of_Korea': 'KOR',
  36. 'Bolivia_(Plurinational_State_of)': 'BOL',
  37. 'Türkiye': 'TUR',
  38. 'Iran_(Islamic_Republic_of)': 'IRN',
  39. 'Côte_d’Ivoire': 'CIV',
  40. 'Democratic_Republic_of_the_Congo': "COD",
  41. 'European_Union': 'EUA',
  42. 'Taiwan': 'TWN',
  43. }
  44. GWP_factors = {
  45. 'SARGWP100_to_AR4GWP100': {
  46. 'HFCS': 1.1,
  47. 'PFCS': 1.1,
  48. 'UnspMixOfHFCs': 1.1,
  49. 'UnspMixOfPFCs': 1.1,
  50. 'FGASES': 1.1,
  51. },
  52. 'SARGWP100_to_AR5GWP100': {
  53. 'HFCS': 1.2,
  54. 'PFCS': 1.2,
  55. 'UnspMixOfHFCs': 1.2,
  56. 'UnspMixOfPFCs': 1.2,
  57. 'FGASES': 1.2,
  58. },
  59. 'SARGWP100_to_AR6GWP100': {
  60. 'HFCS': 1.4,
  61. 'PFCS': 1.3,
  62. 'UnspMixOfHFCs': 1.4,
  63. 'UnspMixOfPFCs': 1.3,
  64. 'FGASES': 1.35,
  65. },
  66. 'AR4GWP100_to_SARGWP100': {
  67. 'HFCS': 0.91,
  68. 'PFCS': 0.91,
  69. 'UnspMixOfHFCs': 0.91,
  70. 'UnspMixOfPFCs': 0.91,
  71. 'FGASES': 0.91,
  72. },
  73. 'AR4GWP100_to_AR5GWP100': {
  74. 'HFCS': 1.1,
  75. 'PFCS': 1.1,
  76. 'UnspMixOfHFCs': 1.1,
  77. 'UnspMixOfPFCs': 1.1,
  78. 'FGASES': 1.1,
  79. },
  80. 'AR4GWP100_to_AR6GWP100': {
  81. 'HFCS': 1.27,
  82. 'PFCS': 1.18,
  83. 'UnspMixOfHFCs': 1.27,
  84. 'UnspMixOfPFCs': 1.18,
  85. 'FGASES': 1.23,
  86. },
  87. 'AR5GWP100_to_SARGWP100': {
  88. 'HFCS': 0.83,
  89. 'PFCS': 0.83,
  90. 'UnspMixOfHFCs': 0.83,
  91. 'UnspMixOfPFCs': 0.83,
  92. 'FGASES': 0.83,
  93. },
  94. 'AR5GWP100_to_AR4GWP100': {
  95. 'HFCS': 0.91,
  96. 'PFCS': 0.91,
  97. 'UnspMixOfHFCs': 0.91,
  98. 'UnspMixOfPFCs': 0.91,
  99. 'FGASES': 0.91,
  100. },
  101. 'AR5GWP100_to_AR6GWP100': {
  102. 'HFCS': 1.17,
  103. 'PFCS': 1.08,
  104. 'UnspMixOfHFCs': 1.17,
  105. 'UnspMixOfPFCs': 1.08,
  106. 'FGASES': 1.125,
  107. },
  108. }
  109. gas_baskets = {
  110. 'HFCS (SARGWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  111. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  112. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  113. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  114. 'HFC407c', 'HFC410a', 'HFC4310mee',
  115. 'UnspMixOfHFCs (SARGWP100)'],
  116. 'HFCS (AR4GWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  117. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  118. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  119. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  120. 'HFC407c', 'HFC410a', 'HFC4310mee',
  121. 'UnspMixOfHFCs (AR4GWP100)'],
  122. 'HFCS (AR5GWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  123. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  124. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  125. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  126. 'HFC407c', 'HFC410a', 'HFC4310mee',
  127. 'UnspMixOfHFCs (AR5GWP100)'],
  128. 'HFCS (AR6GWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  129. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  130. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  131. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  132. 'HFC407c', 'HFC410a', 'HFC4310mee',
  133. 'UnspMixOfHFCs (AR6GWP100)'],
  134. 'PFCS (SARGWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  135. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (SARGWP100)'],
  136. 'PFCS (AR4GWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  137. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (AR4GWP100)'],
  138. 'PFCS (AR5GWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  139. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (AR5GWP100)'],
  140. 'PFCS (AR6GWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  141. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (AR6GWP100)'],
  142. 'FGASES (SARGWP100)': ['HFCS (SARGWP100)', 'PFCS (SARGWP100)', 'SF6', 'NF3'],
  143. 'FGASES (AR4GWP100)': ['HFCS (AR4GWP100)', 'PFCS (AR4GWP100)', 'SF6', 'NF3'],
  144. 'FGASES (AR5GWP100)':['HFCS (AR5GWP100)', 'PFCS (AR5GWP100)', 'SF6', 'NF3'],
  145. 'FGASES (AR6GWP100)':['HFCS (AR6GWP100)', 'PFCS (AR6GWP100)', 'SF6', 'NF3'],
  146. 'KYOTOGHG (SARGWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (SARGWP100)',
  147. 'PFCS (SARGWP100)'],
  148. 'KYOTOGHG (AR4GWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (AR4GWP100)',
  149. 'PFCS (AR4GWP100)'],
  150. 'KYOTOGHG (AR5GWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (AR5GWP100)',
  151. 'PFCS (AR5GWP100)'],
  152. 'KYOTOGHG (AR6GWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (AR6GWP100)',
  153. 'PFCS (AR6GWP100)'],
  154. }