definitions.py 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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. 'other halogenated gases': 1.1,
  52. },
  53. 'SARGWP100_to_AR5GWP100': {
  54. 'HFCS': 1.2,
  55. 'PFCS': 1.2,
  56. 'UnspMixOfHFCs': 1.2,
  57. 'UnspMixOfPFCs': 1.2,
  58. 'FGASES': 1.2,
  59. 'other halogenated gases': 1.2,
  60. },
  61. 'SARGWP100_to_AR6GWP100': {
  62. 'HFCS': 1.4,
  63. 'PFCS': 1.3,
  64. 'UnspMixOfHFCs': 1.4,
  65. 'UnspMixOfPFCs': 1.3,
  66. 'FGASES': 1.35,
  67. 'other halogenated gases': 1.35,
  68. },
  69. 'AR4GWP100_to_SARGWP100': {
  70. 'HFCS': 0.91,
  71. 'PFCS': 0.91,
  72. 'UnspMixOfHFCs': 0.91,
  73. 'UnspMixOfPFCs': 0.91,
  74. 'FGASES': 0.91,
  75. 'other halogenated gases': 0.91,
  76. },
  77. 'AR4GWP100_to_AR5GWP100': {
  78. 'HFCS': 1.1,
  79. 'PFCS': 1.1,
  80. 'UnspMixOfHFCs': 1.1,
  81. 'UnspMixOfPFCs': 1.1,
  82. 'FGASES': 1.1,
  83. 'other halogenated gases': 1.1,
  84. },
  85. 'AR4GWP100_to_AR6GWP100': {
  86. 'HFCS': 1.27,
  87. 'PFCS': 1.18,
  88. 'UnspMixOfHFCs': 1.27,
  89. 'UnspMixOfPFCs': 1.18,
  90. 'FGASES': 1.23,
  91. 'other halogenated gases': 1.23,
  92. },
  93. 'AR5GWP100_to_SARGWP100': {
  94. 'HFCS': 0.83,
  95. 'PFCS': 0.83,
  96. 'UnspMixOfHFCs': 0.83,
  97. 'UnspMixOfPFCs': 0.83,
  98. 'FGASES': 0.83,
  99. 'other halogenated gases': 0.83,
  100. },
  101. 'AR5GWP100_to_AR4GWP100': {
  102. 'HFCS': 0.91,
  103. 'PFCS': 0.91,
  104. 'UnspMixOfHFCs': 0.91,
  105. 'UnspMixOfPFCs': 0.91,
  106. 'FGASES': 0.91,
  107. 'other halogenated gases': 0.91,
  108. },
  109. 'AR5GWP100_to_AR6GWP100': {
  110. 'HFCS': 1.17,
  111. 'PFCS': 1.08,
  112. 'UnspMixOfHFCs': 1.17,
  113. 'UnspMixOfPFCs': 1.08,
  114. 'FGASES': 1.125,
  115. 'other halogenated gases': 1.125,
  116. },
  117. }
  118. gas_baskets = {
  119. 'HFCS (SARGWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  120. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  121. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  122. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  123. 'HFC407c', 'HFC410a', 'HFC4310mee',
  124. 'UnspMixOfHFCs (SARGWP100)'],
  125. 'HFCS (AR4GWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  126. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  127. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  128. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  129. 'HFC407c', 'HFC410a', 'HFC4310mee',
  130. 'UnspMixOfHFCs (AR4GWP100)'],
  131. 'HFCS (AR5GWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  132. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  133. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  134. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  135. 'HFC407c', 'HFC410a', 'HFC4310mee',
  136. 'UnspMixOfHFCs (AR5GWP100)'],
  137. 'HFCS (AR6GWP100)': ['HFC23', 'HFC32', 'HFC41', 'HFC125', 'HFC134',
  138. 'HFC134a', 'HFC143', 'HFC143a', 'HFC152', 'HFC152a',
  139. 'HFC227ea', 'HFC161', 'HFC227EA', 'HFC236cb', 'HFC236ea',
  140. 'HFC236fa', 'HFC245ca', 'HFC245fa', 'HFC365mfc', 'HFC404a',
  141. 'HFC407c', 'HFC410a', 'HFC4310mee',
  142. 'UnspMixOfHFCs (AR6GWP100)'],
  143. 'PFCS (SARGWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  144. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (SARGWP100)'],
  145. 'PFCS (AR4GWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  146. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (AR4GWP100)'],
  147. 'PFCS (AR5GWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  148. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (AR5GWP100)'],
  149. 'PFCS (AR6GWP100)': ['CF4', 'C2F6', 'C3F8', 'C4F10', 'C5F12', 'C6F14',
  150. 'C10F18', 'cC3F6', 'cC4F8', 'UnspMixOfPFCs (AR6GWP100)'],
  151. 'FGASES (SARGWP100)': ['HFCS (SARGWP100)', 'PFCS (SARGWP100)', 'SF6', 'NF3'],
  152. 'FGASES (AR4GWP100)': ['HFCS (AR4GWP100)', 'PFCS (AR4GWP100)', 'SF6', 'NF3'],
  153. 'FGASES (AR5GWP100)':['HFCS (AR5GWP100)', 'PFCS (AR5GWP100)', 'SF6', 'NF3'],
  154. 'FGASES (AR6GWP100)':['HFCS (AR6GWP100)', 'PFCS (AR6GWP100)', 'SF6', 'NF3'],
  155. 'KYOTOGHG (SARGWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (SARGWP100)',
  156. 'PFCS (SARGWP100)'],
  157. 'KYOTOGHG (AR4GWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (AR4GWP100)',
  158. 'PFCS (AR4GWP100)'],
  159. 'KYOTOGHG (AR5GWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (AR5GWP100)',
  160. 'PFCS (AR5GWP100)'],
  161. 'KYOTOGHG (AR6GWP100)': ['CO2', 'CH4', 'N2O', 'SF6', 'NF3', 'HFCS (AR6GWP100)',
  162. 'PFCS (AR6GWP100)'],
  163. }