geospacelab 0.11.4__py3-none-any.whl → 0.12.1__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.
Files changed (63) hide show
  1. geospacelab/__init__.py +1 -1
  2. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/downloader.py +103 -0
  3. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/edr_aur/__init__.py +17 -7
  4. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/edr_aur/downloader.py +13 -62
  5. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/__init__.py +317 -0
  6. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/downloader.py +44 -0
  7. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/loader.py +198 -0
  8. geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/variable_config.py +149 -0
  9. geospacelab/datahub/sources/cdaweb/downloader.py +396 -97
  10. geospacelab/datahub/sources/cdaweb/downloader_backup.py +93 -0
  11. geospacelab/datahub/sources/cdaweb/omni/__init__.py +26 -14
  12. geospacelab/datahub/sources/cdaweb/omni/downloader.py +97 -84
  13. geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct02/__init__.py +1 -1
  14. geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct02/downloader.py +1 -1
  15. geospacelab/datahub/sources/gfz/hpo/__init__.py +1 -1
  16. geospacelab/datahub/sources/gfz/hpo/variable_config.py +3 -1
  17. geospacelab/datahub/sources/madrigal/isr/pfisr/fitted/loader.py +1 -1
  18. geospacelab/datahub/sources/madrigal/satellites/dmsp/downloader.py +2 -1
  19. geospacelab/datahub/sources/tud/champ/dns_acc/__init__.py +24 -7
  20. geospacelab/datahub/sources/tud/champ/dns_acc/downloader.py +29 -36
  21. geospacelab/datahub/sources/tud/champ/dns_acc/loader.py +28 -2
  22. geospacelab/datahub/sources/tud/champ/wnd_acc/__init__.py +68 -10
  23. geospacelab/datahub/sources/tud/champ/wnd_acc/downloader.py +29 -36
  24. geospacelab/datahub/sources/tud/champ/wnd_acc/loader.py +36 -7
  25. geospacelab/datahub/sources/tud/champ/wnd_acc/variable_config.py +3 -3
  26. geospacelab/datahub/sources/tud/downloader.py +288 -113
  27. geospacelab/datahub/sources/tud/goce/dns_acc/__init__.py +354 -0
  28. geospacelab/datahub/sources/tud/goce/dns_acc/downloader.py +42 -0
  29. geospacelab/datahub/sources/tud/goce/dns_acc/loader.py +66 -0
  30. geospacelab/datahub/sources/tud/goce/dns_acc/variable_config.py +139 -0
  31. geospacelab/datahub/sources/tud/goce/dns_wnd_acc/__init__.py +3 -3
  32. geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/__init__.py +339 -0
  33. geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/downloader.py +42 -0
  34. geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/loader.py +84 -0
  35. geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/variable_config.py +212 -0
  36. geospacelab/datahub/sources/tud/goce/wnd_acc/__init__.py +339 -0
  37. geospacelab/datahub/sources/tud/goce/wnd_acc/downloader.py +42 -0
  38. geospacelab/datahub/sources/tud/goce/wnd_acc/loader.py +65 -0
  39. geospacelab/datahub/sources/tud/goce/wnd_acc/variable_config.py +188 -0
  40. geospacelab/datahub/sources/tud/grace/dns_acc/__init__.py +6 -3
  41. geospacelab/datahub/sources/tud/grace/dns_acc/downloader.py +29 -37
  42. geospacelab/datahub/sources/tud/grace/wnd_acc/__init__.py +21 -4
  43. geospacelab/datahub/sources/tud/grace/wnd_acc/downloader.py +29 -39
  44. geospacelab/datahub/sources/tud/grace/wnd_acc/loader.py +5 -1
  45. geospacelab/datahub/sources/tud/grace/wnd_acc/variable_config.py +74 -0
  46. geospacelab/datahub/sources/tud/grace_fo/dns_acc/__init__.py +6 -3
  47. geospacelab/datahub/sources/tud/grace_fo/dns_acc/downloader.py +35 -40
  48. geospacelab/datahub/sources/tud/grace_fo/wnd_acc/__init__.py +20 -4
  49. geospacelab/datahub/sources/tud/grace_fo/wnd_acc/downloader.py +29 -44
  50. geospacelab/datahub/sources/tud/grace_fo/wnd_acc/loader.py +4 -0
  51. geospacelab/datahub/sources/tud/grace_fo/wnd_acc/variable_config.py +73 -0
  52. geospacelab/datahub/sources/tud/swarm/dns_acc/__init__.py +27 -5
  53. geospacelab/datahub/sources/tud/swarm/dns_acc/downloader.py +29 -38
  54. geospacelab/datahub/sources/tud/swarm/dns_pod/__init__.py +24 -5
  55. geospacelab/datahub/sources/tud/swarm/dns_pod/downloader.py +29 -38
  56. geospacelab/datahub/sources/tud/swarm/dns_pod/loader.py +3 -0
  57. geospacelab/datahub/sources/wdc/asysym/downloader.py +2 -2
  58. geospacelab/visualization/mpl/panels.py +7 -3
  59. {geospacelab-0.11.4.dist-info → geospacelab-0.12.1.dist-info}/METADATA +4 -5
  60. {geospacelab-0.11.4.dist-info → geospacelab-0.12.1.dist-info}/RECORD +63 -45
  61. {geospacelab-0.11.4.dist-info → geospacelab-0.12.1.dist-info}/WHEEL +1 -1
  62. {geospacelab-0.11.4.dist-info → geospacelab-0.12.1.dist-info}/licenses/LICENSE +0 -0
  63. {geospacelab-0.11.4.dist-info → geospacelab-0.12.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,198 @@
1
+ # Licensed under the BSD 3-Clause License
2
+ # Copyright (C) 2021 GeospaceLab (geospacelab)
3
+ # Author: Lei Cai, Space Physics and Astronomy, University of Oulu
4
+
5
+ import netCDF4
6
+ import datetime
7
+ import numpy as np
8
+ import re
9
+ import cdflib
10
+
11
+ import geospacelab.toolbox.utilities.pydatetime as dttool
12
+ import geospacelab.toolbox.utilities.pybasic as pybasic
13
+
14
+
15
+ class Loader(object):
16
+
17
+ def __init__(self, file_path, file_type='sdr-disk', pole='N', pp_type='AURORAL'):
18
+
19
+ self.variables = {}
20
+ self.metadata = {}
21
+ self.file_path = file_path
22
+ self.file_type = file_type
23
+ self.pole = pole
24
+ self.pp_type = pp_type
25
+
26
+ self.load_data()
27
+
28
+ def load_data(self):
29
+ dataset = netCDF4.Dataset(self.file_path)
30
+ variables = {}
31
+ metadata = {}
32
+
33
+ # get the version of the file
34
+ variables['FILE_VERSION'] = re.findall(r"(v[\w\d.]+).nc", dataset.FILENAME)[0]
35
+ variables['DATA_PRODUCT_VERSION'] = str(dataset.DATA_PRODUCT_VERSION)
36
+ variables['SOFTWARE_VERSION_NUMBER'] = str(dataset.SOFTWARE_VERSION_NUMBER)
37
+ variables['CALIBRATION_PERIOD_VERSION'] = dataset.CALIBRATION_PERIOD_VERSION
38
+ variables['EMISSION_SPECTRA'] = ['1216', '1304', '1356', 'LBHS', 'LBHL']
39
+
40
+ if self.pole == 'N':
41
+ pole = self.pole
42
+ pole_str = 'NORTH'
43
+ elif self.pole == 'S':
44
+ pole = self.pole
45
+ pole_str = 'SOUTH'
46
+ else:
47
+ raise ValueError
48
+
49
+ if self.pp_type in ['AURORAL', 'DAY_AURORAL', 'DAY_AUR']:
50
+ pp_key_1 = 'DAY'
51
+ pp_key_2 = 'AURORAL'
52
+ else:
53
+ pp_key_1 = self.pp_type
54
+ pp_key_2 = ''
55
+
56
+ # Global attributes
57
+ starting_time = datetime.datetime.strptime(dataset.STARTING_TIME, "%Y%j%H%M%S")
58
+ variables['STARTING_TIME'] = starting_time
59
+ stopping_time = datetime.datetime.strptime(dataset.STOPPING_TIME, "%Y%j%H%M%S")
60
+ variables['STOPPING_TIME'] = stopping_time
61
+ dt0 = dttool.get_start_of_the_day(starting_time)
62
+
63
+ # Time and position
64
+ sectime = pybasic.str_join('TIME', pp_key_1, pp_key_2, separator='_', uppercase=True)
65
+ sectime = np.array(dataset.variables[sectime])
66
+ cdfepoch = pybasic.str_join('TIME', 'EPOCH', pp_key_1, pp_key_2, separator='_', uppercase=True)
67
+ dts = cdflib.cdfepoch.unixtime(np.array(dataset.variables[cdfepoch]))
68
+ dts = dttool.convert_unix_time_to_datetime_cftime(dts)
69
+
70
+ var_name_nc = pybasic.str_join('ORBIT', pp_key_1, pp_key_2, separator='_', uppercase=True)
71
+ variables['SC_ORBIT_ID'] = np.array(dataset.variables[var_name_nc])
72
+
73
+ var_name_nc = pybasic.str_join('LATITUDE', pp_key_1, pp_key_2, separator='_', uppercase=True)
74
+ geo_lat = np.array(dataset.variables[var_name_nc])
75
+
76
+ ind_full = np.arange(0, geo_lat.shape[0])
77
+ if self.pole in ['N', 'S']:
78
+ ind_S = np.where(geo_lat < -5.)[0]
79
+ if list(ind_S):
80
+ ind_N = ind_full[0:ind_S[0]]
81
+ else:
82
+ ind_N = np.where(geo_lat > 5.)[0]
83
+ if (self.pole == 'N' and not list(ind_N)) or (self.pole == 'S' and not list(ind_S)):
84
+ raise ValueError("No data available!")
85
+
86
+ if self.pole == 'N':
87
+ ind_along = ind_N
88
+ else:
89
+ ind_along = ind_S
90
+ elif self.pole == 'both':
91
+ ind_along = ind_full
92
+ else:
93
+ raise NotImplementedError
94
+
95
+ variables['SC_DATETIME'] = dts[ind_along]
96
+
97
+ variables['SC_GEO_LAT'] = geo_lat[ind_along]
98
+
99
+ if self.pole in ['N', 'S']:
100
+ ind_center = np.where(np.abs(variables['SC_GEO_LAT']) == np.max(np.abs(variables['SC_GEO_LAT'])))[0][0]
101
+ variables['DATETIME'] = variables['SC_DATETIME'][ind_center]
102
+ else:
103
+ variables['DATETIME'] = starting_time + (stopping_time - starting_time) / 2
104
+
105
+ var_name_nc = pybasic.str_join('LONGITUDE', pp_key_1, pp_key_2, separator='_', uppercase=True)
106
+ variables['SC_GEO_LON'] = np.array(dataset.variables[var_name_nc])[ind_along]
107
+
108
+ var_name_nc = pybasic.str_join('ALTITUDE', pp_key_1, pp_key_2, separator='_', uppercase=True)
109
+ variables['SC_GEO_ALT'] = np.array(dataset.variables[var_name_nc])[ind_along]
110
+
111
+ var_name_nc = pybasic.str_join('PIERCEPOINT', pp_key_1, 'LATITUDE', pp_key_2, separator='_', uppercase=True)
112
+ variables['DISK_GEO_LAT'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
113
+
114
+ var_name_nc = pybasic.str_join('PIERCEPOINT', pp_key_1, 'LONGITUDE', pp_key_2, separator='_', uppercase=True)
115
+ variables['DISK_GEO_LON'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
116
+
117
+ var_name_nc = pybasic.str_join('PIERCEPOINT', pp_key_1, 'ALTITUDE', pp_key_2, separator='_', uppercase=True)
118
+ variables['DISK_GEO_ALT'] = np.array(dataset.variables[var_name_nc])
119
+
120
+ var_name_nc = pybasic.str_join('PIERCEPOINT', pp_key_1, 'SZA', pp_key_2, separator='_', uppercase=True)
121
+ variables['DISK_SZA'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
122
+
123
+ var_name_nc = pybasic.str_join('IN_SAA', pp_key_1, pp_key_2, separator='_', uppercase=True)
124
+ variables['DISK_SAA'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
125
+
126
+ var_name_nc = pybasic.str_join('ACROSSPIXELSIZE', pp_key_1, pp_key_2, separator='_', uppercase=True)
127
+ variables['ACROSS_PIXEL_SIZE'] = np.array(dataset.variables[var_name_nc])
128
+
129
+ var_name_nc = pybasic.str_join('ALONGPIXELSIZE', pp_key_1, pp_key_2, separator='_', uppercase=True)
130
+ variables['ALONG_PIXEL_SIZE'] = np.array(dataset.variables[var_name_nc])
131
+
132
+ var_name_nc = pybasic.str_join('EFFECTIVELOOKANGLE', pp_key_1, pp_key_2, separator='_', uppercase=True)
133
+ variables['EFFECTIVE_LOOK_ANGLE'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
134
+
135
+ # Re-binned data
136
+ # var_name_nc = pybasic.str_join('DISKCOUNTSDATA', pp_key_1, pp_key_2, separator='_', uppercase=True)
137
+ # variables['DISK_COUNTS_DATA'] = np.array(dataset.variables[var_name_nc])
138
+
139
+ # var_name_nc = pybasic.str_join('DISKDECOMP_UNCERTAINTY', pp_key_1, pp_key_2, separator='_', uppercase=True)
140
+ # variables['DISK_DECOMP_UNCERTAINTY'] = np.array(dataset.variables[var_name_nc])
141
+
142
+ var_name_nc = pybasic.str_join('EXPOSURE', pp_key_1, pp_key_2, separator='_', uppercase=True)
143
+ variables['EXPOSURE'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
144
+
145
+ var_name_nc = pybasic.str_join('SAA_COUNT', pp_key_1, pp_key_2, separator='_', uppercase=True)
146
+ variables['SAA_COUNT'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
147
+
148
+ # Calibration parameters
149
+ var_name_nc = 'DARK_COUNT_CORRECTION'
150
+ variables['DARK_COUNT_CORRECTION'] = np.array(dataset.variables[var_name_nc])
151
+
152
+ var_name_nc = 'SCATTER_LIGHT_1216_CORRECTION'
153
+ variables['SCATTER_LIGHT_1216_CORRECTION'] = np.array(dataset.variables[var_name_nc])
154
+
155
+ var_name_nc = 'SCATTER_LIGHT_1304_CORRECTION'
156
+ variables['SCATTER_LIGHT_1304_CORRECTION'] = np.array(dataset.variables[var_name_nc])
157
+
158
+ var_name_nc = 'OVERLAP_1304_1356_CORRECTION'
159
+ variables['OVERLAP_1304_1356_CORRECTION'] = np.array(dataset.variables[var_name_nc])
160
+
161
+ var_name_nc = 'LONGWAVE_SCATTER_CORRECTION'
162
+ variables['LONG_WAVE_SCATTER_CORRECTION'] = np.array(dataset.variables[var_name_nc])
163
+
164
+ var_name_nc = 'RED_LEAK_CORRECTION'
165
+ variables['RED_LEAK_CORRECTION'] = np.array(dataset.variables[var_name_nc])
166
+
167
+ # Calibrated data
168
+ var_name_nc = pybasic.str_join('DQI', pp_key_1, pp_key_2, separator='_', uppercase=True)
169
+ variables['DQI'] = np.array(dataset.variables[var_name_nc]).T[ind_along, :]
170
+
171
+ dict_vn_nc = {
172
+ 'DISK_COUNTS': pybasic.str_join('DISKCOUNTSDATA', pp_key_1, pp_key_2, separator='_', uppercase=True),
173
+ 'DISK_R': pybasic.str_join('DISK', 'INTENSITY', pp_key_1, pp_key_2, separator='_', uppercase=True),
174
+ 'DISK_R_RECT': pybasic.str_join('DISK', 'RECTIFIED', 'INTENSITY', pp_key_1, pp_key_2, separator='_', uppercase=True),
175
+ 'DISK_DECOMP_ERROR': pybasic.str_join('DISKDECOMP_UNCERTAINTY', pp_key_1, pp_key_2, separator='_', uppercase=True),
176
+ 'DISK_R_ERROR': pybasic.str_join('DISK', 'RADIANCE', 'UNCERTAINTY', pp_key_1, pp_key_2,
177
+ separator='_', uppercase=True),
178
+ 'DISK_R_RECT_ERROR': pybasic.str_join('DISK', 'RECTIFIED', 'RADIANCE', 'UNCERTAINTY', pp_key_1, pp_key_2,
179
+ separator='_', uppercase=True),
180
+ 'DISK_CALIB_ERROR': pybasic.str_join('DISK', 'CALIBRATION', 'UNCERTAINTY', pp_key_1, pp_key_2,
181
+ separator='_', uppercase=True),
182
+ 'DQI': pybasic.str_join('DQI', pp_key_1, pp_key_2, 'CHAN', separator='_', uppercase=True),
183
+ }
184
+
185
+ for vnp, vn_nc in dict_vn_nc.items():
186
+ disk_array = np.array(dataset.variables[vn_nc])
187
+ for ind, emline in enumerate(variables['EMISSION_SPECTRA']):
188
+ if 'ERROR' in vnp:
189
+ vn = vnp.replace('_ERROR', '') + '_' + emline + '_ERROR'
190
+ else:
191
+ vn = vnp + '_' + emline
192
+
193
+ variables[vn] = disk_array[:, :, ind].T[ind_along, :]
194
+
195
+ dataset.close()
196
+
197
+ self.variables = variables
198
+ self.metadata = metadata
@@ -0,0 +1,149 @@
1
+ # Licensed under the BSD 3-Clause License
2
+ # Copyright (C) 2021 GeospaceLab (geospacelab)
3
+ # Author: Lei Cai, Space Physics and Astronomy, University of Oulu
4
+
5
+ __author__ = "Lei Cai"
6
+ __copyright__ = "Copyright 2021, GeospaceLab"
7
+ __license__ = "BSD-3-Clause License"
8
+ __email__ = "lei.cai@oulu.fi"
9
+ __docformat__ = "reStructureText"
10
+
11
+ from geospacelab.datahub import VariableModel as Var
12
+ import geospacelab.visualization.mpl.colormaps as cm
13
+
14
+ database = 'jhuapl'
15
+
16
+ timestamps = {
17
+ 'DATETIME': 'CENTERED_TIME',
18
+ }
19
+
20
+
21
+ default_colormap = cm.cmap_aurora()
22
+
23
+ default_plot_config = {
24
+ 'line': {
25
+ 'linestyle': '-',
26
+ 'linewidth': 1.5,
27
+ 'marker': '',
28
+ 'markersize': 3,
29
+ },
30
+ 'pcolormesh': {
31
+ 'cmap': default_colormap,
32
+ 'c_scale': 'log',
33
+ 'c_lim': [100, 6000],
34
+ 'alpha': 0.9,
35
+ }
36
+ }
37
+
38
+ configured_variables = {}
39
+ visual = 'on'
40
+
41
+ depend_0 = {'GEO_LAT': 'DISK_GEO_LAT', 'GEO_LON': 'DISK_GEO_LON'}
42
+ depend_1 = {'GEO_LAT': 'DISK_GEO_LAT'}
43
+ depend_2 = {'GEO_LAT': 'DISK_GEO_LAT', 'GEO_LON': 'DISK_GEO_LON'}
44
+ depend_c = {'SPECTRA': 'EMISSION_SPECTRA'}
45
+
46
+ ####################################################################################################################
47
+ var_name = 'DISK_R_LBHS'
48
+ var = Var(name=var_name, ndim=3, variable_type='scalar', visual=visual)
49
+ # set variable attrs
50
+ var.fullname = 'Auroral emission intensity at LBHS'
51
+ var.label = r'LBHS'
52
+ var.group = 'Emission intensity'
53
+ var.unit = 'R'
54
+ var.depends = {0: depend_0, 1: {'AACGM_LAT': 'GRID_MLAT'}, 2: {'AACGM_LON': 'GRID_MLON'}}
55
+ # set plot attrs
56
+ plot_config = var.visual.plot_config
57
+ plot_config.config(**default_plot_config)
58
+ plot_config.style = '2P'
59
+ # set axis attrs
60
+ axis = var.visual.axis
61
+
62
+
63
+ configured_variables[var_name] = var
64
+
65
+ configured_variables['DISK_R_RECT_LBHS'] = var.clone()
66
+
67
+ ####################################################################################################################
68
+ var_name = 'DISK_R_LBHL'
69
+ var = Var(name=var_name, ndim=3, variable_type='scalar', visual=visual)
70
+ # set variable attrs
71
+ var.fullname = 'Auroral emission intensity at LBHL'
72
+ var.label = r'LBHL'
73
+ var.group = 'Emission intensity'
74
+ var.unit = 'R'
75
+ var.depends = {0: depend_0, 1: {'AACGM_LAT': 'GRID_MLAT'}, 2: {'AACGM_LON': 'GRID_MLON'}}
76
+ # set plot attrs
77
+ plot_config = var.visual.plot_config
78
+ plot_config.config(**default_plot_config)
79
+ plot_config.style = '2P'
80
+ # set axis attrs
81
+ axis = var.visual.axis
82
+
83
+
84
+ configured_variables[var_name] = var
85
+
86
+ configured_variables['DISK_R_RECT_LBHL'] = var.clone()
87
+
88
+ ####################################################################################################################
89
+ var_name = 'DISK_R_1304'
90
+ var = Var(name=var_name, ndim=3, variable_type='scalar', visual=visual)
91
+ # set variable attrs
92
+ var.fullname = 'Auroral emission intensity at 130.4 nm'
93
+ var.label = r'1304'
94
+ var.group = 'Emission intensity'
95
+ var.unit = 'R'
96
+ var.depends = {0: depend_0, 1: {'AACGM_LAT': 'GRID_MLAT'}, 2: {'AACGM_LON': 'GRID_MLON'}}
97
+ # set plot attrs
98
+ plot_config = var.visual.plot_config
99
+ plot_config.config(**default_plot_config)
100
+ plot_config.style = '2P'
101
+ # set axis attrs
102
+ axis = var.visual.axis
103
+
104
+
105
+ configured_variables[var_name] = var
106
+
107
+ configured_variables['DISK_R_RECT_1304'] = var.clone()
108
+
109
+ ####################################################################################################################
110
+ var_name = 'DISK_R_1356'
111
+ var = Var(name=var_name, ndim=3, variable_type='scalar', visual=visual)
112
+ # set variable attrs
113
+ var.fullname = 'Auroral emission intensity at 135.6 nm'
114
+ var.label = r'1356'
115
+ var.group = 'Emission intensity'
116
+ var.unit = 'R'
117
+ var.depends = {0: depend_0, 1: {'AACGM_LAT': 'GRID_MLAT'}, 2: {'AACGM_LON': 'GRID_MLON'}}
118
+ # set plot attrs
119
+ plot_config = var.visual.plot_config
120
+ plot_config.config(**default_plot_config)
121
+ plot_config.style = '2P'
122
+ # set axis attrs
123
+ axis = var.visual.axis
124
+
125
+
126
+ configured_variables[var_name] = var
127
+
128
+ configured_variables['DISK_R_RECT_1356'] = var.clone()
129
+
130
+ ####################################################################################################################
131
+ var_name = 'DISK_R_1216'
132
+ var = Var(name=var_name, ndim=3, variable_type='scalar', visual=visual)
133
+ # set variable attrs
134
+ var.fullname = 'Auroral emission intensity at 121.6 nm'
135
+ var.label = r'1216'
136
+ var.group = 'Emission intensity'
137
+ var.unit = 'R'
138
+ var.depends = {0: depend_0, 1: {'AACGM_LAT': 'GRID_MLAT'}, 2: {'AACGM_LON': 'GRID_MLON'}}
139
+ # set plot attrs
140
+ plot_config = var.visual.plot_config
141
+ plot_config.config(**default_plot_config)
142
+ plot_config.style = '2P'
143
+ # set axis attrs
144
+ axis = var.visual.axis
145
+
146
+
147
+ configured_variables[var_name] = var
148
+
149
+ configured_variables['DISK_R_RECT_1216'] = var.clone()