-
Notifications
You must be signed in to change notification settings - Fork 0
/
var_dict.py
80 lines (72 loc) · 2.82 KB
/
var_dict.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# pangu's setting:
# atmos_vars: [
# "geopotential",
# "u_component_of_wind",
# "v_component_of_wind",
# "temperature",
# "specific_humidity",
# ]
# single_vars: [
# "2m_temperature",
# "10m_u_component_of_wind",
# "10m_v_component_of_wind",
# "mean_sea_level_pressure",
# ]
PRESSURE_VARS = [
"HGT_P0_L100_GLC0", # geopotential, hgtn
"UGRD_P0_L100_GLC0", # u_component_of_wind, u
"VGRD_P0_L100_GLC0", # v_component_of_wind, v
"TMP_P0_L100_GLC0", # temperature, t
"SPFH_P0_L100_GLC0", # specific_humidity, q
]
SURFACE_VARS = [
"MSLMA_P0_L101_GLC0", # mean_sea_level_pressure, msl
"TMP_P0_L103_GLC0", # 2m_temperature, 2t
"UGRD_P0_L103_GLC0", # 10m_u_component_of_wind, 10u
"VGRD_P0_L103_GLC0", # 10m_v_component_of_wind, 10v
]
# ⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
# need to change:
# var to be choosen:
var_mapping = {
"HGT_P0_L100_GLC0": "hgtn",
"UGRD_P0_L100_GLC0": "u",
"VGRD_P0_L100_GLC0": "v",
"TMP_P0_L100_GLC0": "t",
"SPFH_P0_L100_GLC0": "q",
"MSLMA_P0_L101_GLC0": "msl",
"TMP_P0_L103_GLC0": "2t",
"UGRD_P0_L103_GLC0": "10u",
"VGRD_P0_L103_GLC0": "10v",
}
# level to be choosen:
atmos_level = [
5000, 10000, 15000, 20000, 25000, 30000, 40000,
50000, 60000, 70000, 85000, 92500, 100000
]
# ⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆
atmos_level_all = [
5000, 7500, 10000, 12500, 15000, 17500, 20000, 22500, 25000, 27500,
30000, 32500, 35000, 37500, 40000, 42500, 45000, 47500, 50000, 52500,
55000, 57500, 60000, 62500, 65000, 67500, 70000, 72500, 75000, 77500,
80000, 82500, 85000, 87500, 90000, 92500, 95000, 97500, 100000, 101320,
]
def atmos_level2index_in_atmos_level_all(atmos_level):
atmos_level_all = [
5000, 7500, 10000, 12500, 15000, 17500, 20000, 22500, 25000, 27500,
30000, 32500, 35000, 37500, 40000, 42500, 45000, 47500, 50000, 52500,
55000, 57500, 60000, 62500, 65000, 67500, 70000, 72500, 75000, 77500,
80000, 82500, 85000, 87500, 90000, 92500, 95000, 97500, 100000, 101320,
]
# index_in_atmos_level_all = [0, 2, 4, 6, 8, 10, 14, 18, 22, 26, 32, 35, 38]
index_in_atmos_level_all = [atmos_level_all.index(level) for level in atmos_level]
index_level_mapping = {}
for index in index_in_atmos_level_all:
index_level_mapping[index] = atmos_level_all[index]
return index_in_atmos_level_all, index_level_mapping
index_level_mapping = atmos_level2index_in_atmos_level_all(atmos_level)
# print(index_level_mapping, index_in_atmos_level_all)
# index_level_mapping = {
# 0: 5000, 2: 10000, 4: 15000, 6: 20000, 8: 25000, 10: 30000, 14: 40000,
# 18: 50000, 22: 60000, 26: 70000, 32: 85000, 35: 92500, 38: 100000,
# }