radclss 2026.2.6__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.
- radclss-2026.2.6/LICENSE +21 -0
- radclss-2026.2.6/PKG-INFO +22 -0
- radclss-2026.2.6/README.md +2 -0
- radclss-2026.2.6/pyproject.toml +29 -0
- radclss-2026.2.6/setup.cfg +4 -0
- radclss-2026.2.6/src/radclss/__init__.py +11 -0
- radclss-2026.2.6/src/radclss/config/__init__.py +18 -0
- radclss-2026.2.6/src/radclss/config/default_config.py +248 -0
- radclss-2026.2.6/src/radclss/config/output_config.py +185 -0
- radclss-2026.2.6/src/radclss/core/__init__.py +17 -0
- radclss-2026.2.6/src/radclss/core/radclss_core.py +284 -0
- radclss-2026.2.6/src/radclss/io/__init__.py +3 -0
- radclss-2026.2.6/src/radclss/io/write.py +46 -0
- radclss-2026.2.6/src/radclss/util/__init__.py +3 -0
- radclss-2026.2.6/src/radclss/util/column_utils.py +310 -0
- radclss-2026.2.6/src/radclss/vis/__init__.py +9 -0
- radclss-2026.2.6/src/radclss/vis/quicklooks.py +313 -0
- radclss-2026.2.6/src/radclss.egg-info/PKG-INFO +22 -0
- radclss-2026.2.6/src/radclss.egg-info/SOURCES.txt +24 -0
- radclss-2026.2.6/src/radclss.egg-info/dependency_links.txt +1 -0
- radclss-2026.2.6/src/radclss.egg-info/requires.txt +8 -0
- radclss-2026.2.6/src/radclss.egg-info/top_level.txt +1 -0
- radclss-2026.2.6/tests/test_config.py +136 -0
- radclss-2026.2.6/tests/test_io.py +17 -0
- radclss-2026.2.6/tests/test_radclss.py +510 -0
- radclss-2026.2.6/tests/test_vis.py +157 -0
radclss-2026.2.6/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Atmospheric Radiation Measurement user facility
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: radclss
|
|
3
|
+
Version: 2026.2.6
|
|
4
|
+
Summary: Extracted Radar Columns and In Situ Sensors
|
|
5
|
+
Author: rjackson, jrobrien91
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://www.github.com/ARM-Development/radclss
|
|
8
|
+
Requires-Python: >=3.9
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Dist: arm_pyart
|
|
12
|
+
Requires-Dist: numpy
|
|
13
|
+
Requires-Dist: xarray
|
|
14
|
+
Requires-Dist: pandas
|
|
15
|
+
Requires-Dist: xradar
|
|
16
|
+
Requires-Dist: act-atmos
|
|
17
|
+
Requires-Dist: matplotlib
|
|
18
|
+
Requires-Dist: dask
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
# ARM Repository Template
|
|
22
|
+
Basic repository template with required security workflows
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "radclss"
|
|
7
|
+
version = "2026.2.6"
|
|
8
|
+
description = "Extracted Radar Columns and In Situ Sensors"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
authors = [{ name = "rjackson" }, {name = "jrobrien91"}]
|
|
12
|
+
license = { text = "MIT" }
|
|
13
|
+
dependencies = [
|
|
14
|
+
"arm_pyart",
|
|
15
|
+
"numpy",
|
|
16
|
+
"xarray",
|
|
17
|
+
"pandas",
|
|
18
|
+
"xradar",
|
|
19
|
+
"act-atmos",
|
|
20
|
+
"matplotlib",
|
|
21
|
+
"dask",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[tool.setuptools]
|
|
25
|
+
package-dir = {"" = "src"}
|
|
26
|
+
packages = ["radclss"]
|
|
27
|
+
|
|
28
|
+
[project.urls]
|
|
29
|
+
Homepage = "https://www.github.com/ARM-Development/radclss"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""
|
|
2
|
+
====================================================
|
|
3
|
+
RadCLss: Extracted Radar Columns and In-Situ Sensors
|
|
4
|
+
====================================================
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from . import config # noqa
|
|
8
|
+
from . import core # noqa
|
|
9
|
+
from . import util # noqa
|
|
10
|
+
from . import vis # noqa
|
|
11
|
+
from . import io # noqa
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from .default_config import DEFAULT_DISCARD_VAR, set_discarded_variables # noqa
|
|
2
|
+
from .output_config import (
|
|
3
|
+
set_output_site, # noqa
|
|
4
|
+
set_output_facility, # noqa
|
|
5
|
+
set_output_platform, # noqa
|
|
6
|
+
set_output_level, # noqa
|
|
7
|
+
) # noqa
|
|
8
|
+
from .output_config import (
|
|
9
|
+
set_output_gate_time_attrs, # noqa
|
|
10
|
+
set_output_time_offset_attrs, # noqa
|
|
11
|
+
get_output_config, # noqa
|
|
12
|
+
) # noqa
|
|
13
|
+
from .output_config import (
|
|
14
|
+
set_output_alt_attrs, # noqa
|
|
15
|
+
set_output_lat_attrs, # noqa
|
|
16
|
+
set_output_lon_attrs, # noqa
|
|
17
|
+
set_output_station_attrs, # noqa
|
|
18
|
+
) # noqa
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Default configuration file for RadCLss
|
|
3
|
+
|
|
4
|
+
This file contains default parameters and variables used throughout RadCLss.
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
# Define variables to drop from RadCLss from the respective datastreams
|
|
9
|
+
DEFAULT_DISCARD_VAR = {
|
|
10
|
+
"radar": [
|
|
11
|
+
"classification_mask",
|
|
12
|
+
"uncorrected_copol_correlation_coeff",
|
|
13
|
+
"uncorrected_differential_phase",
|
|
14
|
+
"uncorrected_differential_reflectivity",
|
|
15
|
+
"uncorrected_differential_reflectivity_lag_1",
|
|
16
|
+
"uncorrected_mean_doppler_velocity_h",
|
|
17
|
+
"uncorrected_mean_doppler_velocity_v",
|
|
18
|
+
"uncorrected_reflectivity_h",
|
|
19
|
+
"uncorrected_reflectivity_v",
|
|
20
|
+
"uncorrected_spectral_width_h",
|
|
21
|
+
"uncorrected_spectral_width_v",
|
|
22
|
+
"clutter_masked_velocity",
|
|
23
|
+
"gate_id",
|
|
24
|
+
"ground_clutter",
|
|
25
|
+
"partial_beam_blockage",
|
|
26
|
+
"cumulative_beam_blockage",
|
|
27
|
+
"unfolded_differential_phase",
|
|
28
|
+
"path_integrated_attenuation",
|
|
29
|
+
"path_integrated_differential_attenuation",
|
|
30
|
+
"unthresholded_power_copolar_v",
|
|
31
|
+
"unthresholded_power_copolar_h",
|
|
32
|
+
"specific_differential_phase",
|
|
33
|
+
"specific_differential_attenuation",
|
|
34
|
+
"reflectivity_v",
|
|
35
|
+
"reflectivity",
|
|
36
|
+
"mean_doppler_velocity_v",
|
|
37
|
+
"mean_doppler_velocity",
|
|
38
|
+
"differential_reflectivity_lag_1",
|
|
39
|
+
"differential_reflectivity",
|
|
40
|
+
"differential_phase",
|
|
41
|
+
"normalized_coherent_power",
|
|
42
|
+
"normalized_coherent_power_v",
|
|
43
|
+
"signal_to_noise_ratio_copolar_h",
|
|
44
|
+
"signal_to_noise_ratio_copolar_v",
|
|
45
|
+
"specific_attenuation",
|
|
46
|
+
"spectral_width",
|
|
47
|
+
"spectral_width_v",
|
|
48
|
+
"sounding_temperature",
|
|
49
|
+
"signal_to_noise_ratio",
|
|
50
|
+
"velocity_texture",
|
|
51
|
+
"simulated_velocity",
|
|
52
|
+
"height_over_iso0",
|
|
53
|
+
],
|
|
54
|
+
"met": [
|
|
55
|
+
"base_time",
|
|
56
|
+
"time_offset",
|
|
57
|
+
"time_bounds",
|
|
58
|
+
"logger_volt",
|
|
59
|
+
"logger_temp",
|
|
60
|
+
"qc_logger_temp",
|
|
61
|
+
"lat",
|
|
62
|
+
"lon",
|
|
63
|
+
"alt",
|
|
64
|
+
"qc_temp_mean",
|
|
65
|
+
"qc_rh_mean",
|
|
66
|
+
"qc_vapor_pressure_mean",
|
|
67
|
+
"qc_wspd_arith_mean",
|
|
68
|
+
"qc_wspd_vec_mean",
|
|
69
|
+
"qc_wdir_vec_mean",
|
|
70
|
+
"qc_pwd_mean_vis_1min",
|
|
71
|
+
"qc_pwd_mean_vis_10min",
|
|
72
|
+
"qc_pwd_pw_code_inst",
|
|
73
|
+
"qc_pwd_pw_code_15min",
|
|
74
|
+
"qc_pwd_pw_code_1hr",
|
|
75
|
+
"qc_pwd_precip_rate_mean_1min",
|
|
76
|
+
"qc_pwd_cumul_rain",
|
|
77
|
+
"qc_pwd_cumul_snow",
|
|
78
|
+
"qc_org_precip_rate_mean",
|
|
79
|
+
"qc_tbrg_precip_total",
|
|
80
|
+
"qc_tbrg_precip_total_corr",
|
|
81
|
+
"qc_logger_volt",
|
|
82
|
+
"qc_logger_temp",
|
|
83
|
+
"qc_atmos_pressure",
|
|
84
|
+
"pwd_pw_code_inst",
|
|
85
|
+
"pwd_pw_code_15min",
|
|
86
|
+
"pwd_pw_code_1hr",
|
|
87
|
+
"temp_std",
|
|
88
|
+
"rh_std",
|
|
89
|
+
"vapor_pressure_std",
|
|
90
|
+
"wdir_vec_std",
|
|
91
|
+
"tbrg_precip_total",
|
|
92
|
+
"org_precip_rate_mean",
|
|
93
|
+
"pwd_mean_vis_1min",
|
|
94
|
+
"pwd_mean_vis_10min",
|
|
95
|
+
"pwd_precip_rate_mean_1min",
|
|
96
|
+
"pwd_cumul_rain",
|
|
97
|
+
"pwd_cumul_snow",
|
|
98
|
+
"pwd_err_code",
|
|
99
|
+
],
|
|
100
|
+
"sonde": [
|
|
101
|
+
"base_time",
|
|
102
|
+
"time_offset",
|
|
103
|
+
"lat",
|
|
104
|
+
"lon",
|
|
105
|
+
"qc_pres",
|
|
106
|
+
"qc_tdry",
|
|
107
|
+
"qc_dp",
|
|
108
|
+
"qc_wspd",
|
|
109
|
+
"qc_deg",
|
|
110
|
+
"qc_rh",
|
|
111
|
+
"qc_u_wind",
|
|
112
|
+
"qc_v_wind",
|
|
113
|
+
"qc_asc",
|
|
114
|
+
"wstat",
|
|
115
|
+
"asc",
|
|
116
|
+
],
|
|
117
|
+
"pluvio": [
|
|
118
|
+
"base_time",
|
|
119
|
+
"time_offset",
|
|
120
|
+
"load_cell_temp",
|
|
121
|
+
"heater_status",
|
|
122
|
+
"elec_unit_temp",
|
|
123
|
+
"supply_volts",
|
|
124
|
+
"orifice_temp",
|
|
125
|
+
"volt_min",
|
|
126
|
+
"ptemp",
|
|
127
|
+
"lat",
|
|
128
|
+
"lon",
|
|
129
|
+
"alt",
|
|
130
|
+
"maintenance_flag",
|
|
131
|
+
"reset_flag",
|
|
132
|
+
"qc_rh_mean",
|
|
133
|
+
"pluvio_status",
|
|
134
|
+
"bucket_rt",
|
|
135
|
+
"accum_total_nrt",
|
|
136
|
+
],
|
|
137
|
+
"ldquants": [
|
|
138
|
+
"specific_differential_attenuation_xband20c",
|
|
139
|
+
"specific_differential_attenuation_kaband20c",
|
|
140
|
+
"specific_differential_attenuation_sband20c",
|
|
141
|
+
"bringi_conv_stra_flag",
|
|
142
|
+
"exppsd_slope",
|
|
143
|
+
"norm_num_concen",
|
|
144
|
+
"num_concen",
|
|
145
|
+
"gammapsd_shape",
|
|
146
|
+
"gammapsd_slope",
|
|
147
|
+
"mean_doppler_vel_wband20c",
|
|
148
|
+
"mean_doppler_vel_kaband20c",
|
|
149
|
+
"mean_doppler_vel_xband20c",
|
|
150
|
+
"mean_doppler_vel_sband20c",
|
|
151
|
+
"specific_attenuation_kaband20c",
|
|
152
|
+
"specific_attenuation_xband20c",
|
|
153
|
+
"specific_attenuation_sband20c",
|
|
154
|
+
"specific_differential_phase_kaband20c",
|
|
155
|
+
"specific_differential_phase_xband20c",
|
|
156
|
+
"specific_differential_phase_sband20c",
|
|
157
|
+
"differential_reflectivity_kaband20c",
|
|
158
|
+
"differential_reflectivity_xband20c",
|
|
159
|
+
"differential_reflectivity_sband20c",
|
|
160
|
+
"reflectivity_factor_wband20c",
|
|
161
|
+
"reflectivity_factor_kaband20c",
|
|
162
|
+
"reflectivity_factor_xband20c",
|
|
163
|
+
"reflectivity_factor_sband20c",
|
|
164
|
+
"bringi_conv_stra_flag",
|
|
165
|
+
"time_offset",
|
|
166
|
+
"base_time",
|
|
167
|
+
"lat",
|
|
168
|
+
"lon",
|
|
169
|
+
"alt",
|
|
170
|
+
],
|
|
171
|
+
"vdisquants": [
|
|
172
|
+
"specific_differential_attenuation_xband20c",
|
|
173
|
+
"specific_differential_attenuation_kaband20c",
|
|
174
|
+
"specific_differential_attenuation_sband20c",
|
|
175
|
+
"bringi_conv_stra_flag",
|
|
176
|
+
"exppsd_slope",
|
|
177
|
+
"norm_num_concen",
|
|
178
|
+
"num_concen",
|
|
179
|
+
"gammapsd_shape",
|
|
180
|
+
"gammapsd_slope",
|
|
181
|
+
"mean_doppler_vel_wband20c",
|
|
182
|
+
"mean_doppler_vel_kaband20c",
|
|
183
|
+
"mean_doppler_vel_xband20c",
|
|
184
|
+
"mean_doppler_vel_sband20c",
|
|
185
|
+
"specific_attenuation_kaband20c",
|
|
186
|
+
"specific_attenuation_xband20c",
|
|
187
|
+
"specific_attenuation_sband20c",
|
|
188
|
+
"specific_differential_phase_kaband20c",
|
|
189
|
+
"specific_differential_phase_xband20c",
|
|
190
|
+
"specific_differential_phase_sband20c",
|
|
191
|
+
"differential_reflectivity_kaband20c",
|
|
192
|
+
"differential_reflectivity_xband20c",
|
|
193
|
+
"differential_reflectivity_sband20c",
|
|
194
|
+
"reflectivity_factor_wband20c",
|
|
195
|
+
"reflectivity_factor_kaband20c",
|
|
196
|
+
"reflectivity_factor_xband20c",
|
|
197
|
+
"reflectivity_factor_sband20c",
|
|
198
|
+
"bringi_conv_stra_flag",
|
|
199
|
+
"time_offset",
|
|
200
|
+
"base_time",
|
|
201
|
+
"lat",
|
|
202
|
+
"lon",
|
|
203
|
+
"alt",
|
|
204
|
+
],
|
|
205
|
+
"wxt": [
|
|
206
|
+
"base_time",
|
|
207
|
+
"time_offset",
|
|
208
|
+
"time_bounds",
|
|
209
|
+
"qc_temp_mean",
|
|
210
|
+
"temp_std",
|
|
211
|
+
"rh_mean",
|
|
212
|
+
"qc_rh_mean",
|
|
213
|
+
"rh_std",
|
|
214
|
+
"atmos_pressure",
|
|
215
|
+
"qc_atmos_pressure",
|
|
216
|
+
"wspd_arith_mean",
|
|
217
|
+
"qc_wspd_arith_mean",
|
|
218
|
+
"wspd_vec_mean",
|
|
219
|
+
"qc_wspd_vec_mean",
|
|
220
|
+
"wdir_vec_mean",
|
|
221
|
+
"qc_wdir_vec_mean",
|
|
222
|
+
"wdir_vec_std",
|
|
223
|
+
"qc_wxt_precip_rate_mean",
|
|
224
|
+
"qc_wxt_cumul_precip",
|
|
225
|
+
"logger_volt",
|
|
226
|
+
"qc_logger_volt",
|
|
227
|
+
"logger_temp",
|
|
228
|
+
"qc_logger_temp",
|
|
229
|
+
"lat",
|
|
230
|
+
"lon",
|
|
231
|
+
"alt",
|
|
232
|
+
],
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
def set_discarded_variables(instrument, var_list):
|
|
237
|
+
"""
|
|
238
|
+
Set the variables to be discarded from a given instrument datastream.
|
|
239
|
+
|
|
240
|
+
Parameters
|
|
241
|
+
----------
|
|
242
|
+
instrument : str
|
|
243
|
+
The instrument name (e.g., 'radar', 'met', 'sonde', etc.).
|
|
244
|
+
var_list : list
|
|
245
|
+
List of variable names to discard.
|
|
246
|
+
"""
|
|
247
|
+
global DEFAULT_DISCARD_VAR
|
|
248
|
+
DEFAULT_DISCARD_VAR[instrument] = var_list
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
OUTPUT_SITE = "BNF"
|
|
2
|
+
OUTPUT_FACILITY = "S2"
|
|
3
|
+
OUTPUT_PLATFORM = "csapr2radclss"
|
|
4
|
+
OUTPUT_LEVEL = "c2"
|
|
5
|
+
OUTPUT_GATE_TIME_ATTRS = {
|
|
6
|
+
"long_name": (
|
|
7
|
+
"Time in Seconds that Cooresponds to the Start"
|
|
8
|
+
+ " of each Individual Radar Volume Scan before"
|
|
9
|
+
+ " Concatenation"
|
|
10
|
+
),
|
|
11
|
+
"description": "Time in Seconds that Cooresponds to the Minimum Height Gate",
|
|
12
|
+
}
|
|
13
|
+
OUTPUT_TIME_OFFSET_ATTRS = dict(
|
|
14
|
+
long_name=("Time in Seconds Since Midnight"),
|
|
15
|
+
description=(
|
|
16
|
+
"Time in Seconds Since Midnight that Cooresponds"
|
|
17
|
+
+ "to the Center of Each Height Gate"
|
|
18
|
+
+ "Above the Target Location "
|
|
19
|
+
),
|
|
20
|
+
)
|
|
21
|
+
OUTPUT_STATION_ATTRS = dict(
|
|
22
|
+
long_name="Bankhead National Forest AMF-3 In-Situ Ground Observation Station Identifers"
|
|
23
|
+
)
|
|
24
|
+
OUTPUT_LAT_ATTRS = dict(
|
|
25
|
+
long_name="Latitude of BNF AMF-3 Ground Observation Site", units="Degrees North"
|
|
26
|
+
)
|
|
27
|
+
OUTPUT_LON_ATTRS = dict(
|
|
28
|
+
long_name="Longitude of BNF AMF-3 Ground Observation Site", units="Degrees East"
|
|
29
|
+
)
|
|
30
|
+
OUTPUT_ALT_ATTRS = dict(
|
|
31
|
+
long_name="Altitude above mean sea level for each station", units="m"
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def set_output_site(site):
|
|
36
|
+
"""
|
|
37
|
+
Set the output site for RadCLss files.
|
|
38
|
+
|
|
39
|
+
Parameters
|
|
40
|
+
----------
|
|
41
|
+
site : str
|
|
42
|
+
The output site name.
|
|
43
|
+
"""
|
|
44
|
+
global OUTPUT_SITE
|
|
45
|
+
OUTPUT_SITE = site
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def set_output_facility(facility):
|
|
49
|
+
"""
|
|
50
|
+
Set the output facility for RadCLss files.
|
|
51
|
+
|
|
52
|
+
Parameters
|
|
53
|
+
----------
|
|
54
|
+
facility : str
|
|
55
|
+
The output facility name.
|
|
56
|
+
"""
|
|
57
|
+
global OUTPUT_FACILITY
|
|
58
|
+
OUTPUT_FACILITY = facility
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def set_output_platform(platform):
|
|
62
|
+
"""
|
|
63
|
+
Set the output platform for RadCLss files.
|
|
64
|
+
|
|
65
|
+
Parameters
|
|
66
|
+
----------
|
|
67
|
+
platform : str
|
|
68
|
+
The output platform name.
|
|
69
|
+
"""
|
|
70
|
+
global OUTPUT_PLATFORM
|
|
71
|
+
OUTPUT_PLATFORM = platform
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def set_output_level(level):
|
|
75
|
+
"""
|
|
76
|
+
Set the output level for RadCLss files.
|
|
77
|
+
|
|
78
|
+
Parameters
|
|
79
|
+
----------
|
|
80
|
+
level : str
|
|
81
|
+
The output level name.
|
|
82
|
+
"""
|
|
83
|
+
global OUTPUT_LEVEL
|
|
84
|
+
OUTPUT_LEVEL = level
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def set_output_gate_time_attrs(attrs):
|
|
88
|
+
"""
|
|
89
|
+
Set the attributes for the gate_time variable.
|
|
90
|
+
|
|
91
|
+
Parameters
|
|
92
|
+
----------
|
|
93
|
+
attrs : dict
|
|
94
|
+
Dictionary of attributes for gate_time.
|
|
95
|
+
"""
|
|
96
|
+
global OUTPUT_GATE_TIME_ATTRS
|
|
97
|
+
OUTPUT_GATE_TIME_ATTRS = attrs
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def set_output_time_offset_attrs(attrs):
|
|
101
|
+
"""
|
|
102
|
+
Set the attributes for the time_offset variable.
|
|
103
|
+
|
|
104
|
+
Parameters
|
|
105
|
+
----------
|
|
106
|
+
attrs : dict
|
|
107
|
+
Dictionary of attributes for time_offset.
|
|
108
|
+
"""
|
|
109
|
+
global OUTPUT_TIME_OFFSET_ATTRS
|
|
110
|
+
OUTPUT_TIME_OFFSET_ATTRS = attrs
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def set_output_station_attrs(attrs):
|
|
114
|
+
"""
|
|
115
|
+
Set the attributes for the station variable.
|
|
116
|
+
|
|
117
|
+
Parameters
|
|
118
|
+
----------
|
|
119
|
+
attrs : dict
|
|
120
|
+
Dictionary of attributes for station.
|
|
121
|
+
"""
|
|
122
|
+
global OUTPUT_STATION_ATTRS
|
|
123
|
+
OUTPUT_STATION_ATTRS = attrs
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def set_output_lat_attrs(attrs):
|
|
127
|
+
"""
|
|
128
|
+
Set the attributes for the lat variable.
|
|
129
|
+
|
|
130
|
+
Parameters
|
|
131
|
+
----------
|
|
132
|
+
attrs : dict
|
|
133
|
+
Dictionary of attributes for lat.
|
|
134
|
+
"""
|
|
135
|
+
global OUTPUT_LAT_ATTRS
|
|
136
|
+
OUTPUT_LAT_ATTRS = attrs
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def set_output_lon_attrs(attrs):
|
|
140
|
+
"""
|
|
141
|
+
Set the attributes for the lon variable.
|
|
142
|
+
|
|
143
|
+
Parameters
|
|
144
|
+
----------
|
|
145
|
+
attrs : dict
|
|
146
|
+
Dictionary of attributes for lon.
|
|
147
|
+
"""
|
|
148
|
+
global OUTPUT_LON_ATTRS
|
|
149
|
+
OUTPUT_LON_ATTRS = attrs
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def set_output_alt_attrs(attrs):
|
|
153
|
+
"""
|
|
154
|
+
Set the attributes for the alt variable.
|
|
155
|
+
|
|
156
|
+
Parameters
|
|
157
|
+
----------
|
|
158
|
+
attrs : dict
|
|
159
|
+
Dictionary of attributes for alt.
|
|
160
|
+
"""
|
|
161
|
+
global OUTPUT_ALT_ATTRS
|
|
162
|
+
OUTPUT_ALT_ATTRS = attrs
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def get_output_config():
|
|
166
|
+
"""
|
|
167
|
+
Get the current output configuration as a dictionary.
|
|
168
|
+
|
|
169
|
+
Returns
|
|
170
|
+
-------
|
|
171
|
+
dict
|
|
172
|
+
Dictionary containing the current output configuration.
|
|
173
|
+
"""
|
|
174
|
+
return {
|
|
175
|
+
"site": OUTPUT_SITE,
|
|
176
|
+
"facility": OUTPUT_FACILITY,
|
|
177
|
+
"platform": OUTPUT_PLATFORM,
|
|
178
|
+
"level": OUTPUT_LEVEL,
|
|
179
|
+
"gate_time_attrs": OUTPUT_GATE_TIME_ATTRS,
|
|
180
|
+
"time_offset_attrs": OUTPUT_TIME_OFFSET_ATTRS,
|
|
181
|
+
"station_attrs": OUTPUT_STATION_ATTRS,
|
|
182
|
+
"lat_attrs": OUTPUT_LAT_ATTRS,
|
|
183
|
+
"lon_attrs": OUTPUT_LON_ATTRS,
|
|
184
|
+
"alt_attrs": OUTPUT_ALT_ATTRS,
|
|
185
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""
|
|
2
|
+
=============================
|
|
3
|
+
radclss.core package
|
|
4
|
+
=============================
|
|
5
|
+
|
|
6
|
+
This package contains the core functions for RadCLss.
|
|
7
|
+
|
|
8
|
+
... autosummary::
|
|
9
|
+
:toctree: generated/
|
|
10
|
+
|
|
11
|
+
radclss_core
|
|
12
|
+
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from .radclss_core import radclss # noqa: F401
|
|
16
|
+
|
|
17
|
+
__all__ = ["radclss"]
|