wxdata 1.4__tar.gz → 1.4.1__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.
- {wxdata-1.4/src/wxdata.egg-info → wxdata-1.4.1}/PKG-INFO +1 -11
- {wxdata-1.4 → wxdata-1.4.1}/README.md +0 -10
- {wxdata-1.4 → wxdata-1.4.1}/pyproject.toml +1 -1
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/rtma_post_processing.py +29 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/rtma/process.py +27 -0
- {wxdata-1.4 → wxdata-1.4.1/src/wxdata.egg-info}/PKG-INFO +1 -11
- {wxdata-1.4 → wxdata-1.4.1}/LICENSE +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/setup.cfg +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigefs/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigefs/aigefs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigefs/paths.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigefs/url_scanners.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigfs/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigfs/aigfs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigfs/paths.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/aigfs/url_scanners.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/calc/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/calc/derived_fields.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/calc/kinematics.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/calc/thermodynamics.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/calc/unit_conversion.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/client/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/client/client.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/ecmwf.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/file_funcs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/keys.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/parsers.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/paths.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/ecmwf/url_scanners.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/fems/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/fems/fems.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/fems/raws_sigs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/exception_messages.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/file_funcs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/gefs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/paths.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/process.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gefs/url_scanners.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gfs/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gfs/exception_messages.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gfs/gfs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gfs/paths.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/gfs/url_scanners.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/hgefs/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/hgefs/hgefs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/hgefs/paths.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/hgefs/url_scanner.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/metars/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/metars/_clean_data.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/metars/metar_obs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/noaa/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/noaa/nws.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/aigefs_post_processing.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/aigfs_post_processing.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/ecmwf_post_processing.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/gefs_post_processing.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/gfs_post_processing.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/post_processors/hgefs_post_processing.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/rtma/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/rtma/file_funcs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/rtma/keys.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/rtma/rtma.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/rtma/url_scanners.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/soundings/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/soundings/_exceptions.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/soundings/wyoming_soundings.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/__init__.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/coords.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/exceptions.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/file_funcs.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/file_scanner.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/nomads_gribfilter.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/progress_bar.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/recycle_bin.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/scripts.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/tools.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata/utils/xmacis2_cleanup.py +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata.egg-info/SOURCES.txt +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata.egg-info/dependency_links.txt +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata.egg-info/requires.txt +0 -0
- {wxdata-1.4 → wxdata-1.4.1}/src/wxdata.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wxdata
|
|
3
|
-
Version: 1.4
|
|
3
|
+
Version: 1.4.1
|
|
4
4
|
Summary: A Python library that acts as a client to download, pre-process and post-process weather data. Friendly for users on VPN/PROXY connections.
|
|
5
5
|
Author: Eric J. Drewitz
|
|
6
6
|
Project-URL: Documentation, https://github.com/edrewitz/wxdata/blob/main/Documentation/Landing%20Page.md
|
|
@@ -127,16 +127,6 @@ ii) Set up a new environment with an earlier version of Python (must be Python >
|
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
|
|
130
|
-
|
|
131
|
-
- Some data access functions work on VPN/PROXY connections without needing to define VPN/PROXY settings:
|
|
132
|
-
- METARs
|
|
133
|
-
- NOAA Storm Prediction Center/National Weather Service Products
|
|
134
|
-
- FEMS
|
|
135
|
-
|
|
136
|
-
- Data access methods that users need to define VPN/PROXY IP addresses if using a VPN/PROXY connection:
|
|
137
|
-
- Various Forecast Models
|
|
138
|
-
- Observed Sounding Data from University of Wyoming
|
|
139
|
-
- Real-Time Mesoscale Analysis
|
|
140
130
|
|
|
141
131
|
1) Converts GRIB variable keys into variable keys that are in plain language.
|
|
142
132
|
- (e.g. 'r2' ---> '2m_relative_humidity')
|
|
@@ -98,16 +98,6 @@ ii) Set up a new environment with an earlier version of Python (must be Python >
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
|
|
101
|
-
|
|
102
|
-
- Some data access functions work on VPN/PROXY connections without needing to define VPN/PROXY settings:
|
|
103
|
-
- METARs
|
|
104
|
-
- NOAA Storm Prediction Center/National Weather Service Products
|
|
105
|
-
- FEMS
|
|
106
|
-
|
|
107
|
-
- Data access methods that users need to define VPN/PROXY IP addresses if using a VPN/PROXY connection:
|
|
108
|
-
- Various Forecast Models
|
|
109
|
-
- Observed Sounding Data from University of Wyoming
|
|
110
|
-
- Real-Time Mesoscale Analysis
|
|
111
101
|
|
|
112
102
|
1) Converts GRIB variable keys into variable keys that are in plain language.
|
|
113
103
|
- (e.g. 'r2' ---> '2m_relative_humidity')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "wxdata"
|
|
3
|
-
version = "1.4"
|
|
3
|
+
version = "1.4.1"
|
|
4
4
|
description = "A Python library that acts as a client to download, pre-process and post-process weather data. Friendly for users on VPN/PROXY connections."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -19,6 +19,31 @@ from wxdata.utils.file_funcs import clear_idx_files_in_path as _clear_idx_files_
|
|
|
19
19
|
_sys.tracebacklimit = 0
|
|
20
20
|
_logging.disable()
|
|
21
21
|
|
|
22
|
+
def _shift_longitude(ds):
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
This function shifts the longitude of dimension (x,y) from 0 to 360 to -180 to 180
|
|
26
|
+
|
|
27
|
+
Required Arguments:
|
|
28
|
+
|
|
29
|
+
1) ds (xarray.array) - The xarray data array of RTMA Data
|
|
30
|
+
|
|
31
|
+
Optional Arguments: None
|
|
32
|
+
|
|
33
|
+
Returns
|
|
34
|
+
-------
|
|
35
|
+
|
|
36
|
+
A RTMA dataset with longitude from -180 to 180
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
lon = ((ds['longitude'].values + 180.0) % 360.0) - 180.0
|
|
40
|
+
|
|
41
|
+
ds = ds.assign(
|
|
42
|
+
longitude=(("y", "x"), lon)
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
return ds
|
|
46
|
+
|
|
22
47
|
def _rows_and_cols(model):
|
|
23
48
|
|
|
24
49
|
"""
|
|
@@ -293,10 +318,14 @@ def process_rtma_data(filename,
|
|
|
293
318
|
|
|
294
319
|
_clear_idx_files_in_path(directory)
|
|
295
320
|
|
|
321
|
+
ds1 = _shift_longitude(ds1)
|
|
322
|
+
|
|
296
323
|
return ds1
|
|
297
324
|
|
|
298
325
|
else:
|
|
299
326
|
|
|
327
|
+
ds = _shift_longitude(ds)
|
|
328
|
+
|
|
300
329
|
_clear_idx_files_in_path(directory)
|
|
301
330
|
|
|
302
331
|
return ds
|
|
@@ -18,6 +18,31 @@ from wxdata.calc.thermodynamics import relative_humidity
|
|
|
18
18
|
sys.tracebacklimit = 0
|
|
19
19
|
logging.disable()
|
|
20
20
|
|
|
21
|
+
def _shift_longitude(ds):
|
|
22
|
+
|
|
23
|
+
"""
|
|
24
|
+
This function shifts the longitude of dimension (x,y) from 0 to 360 to -180 to 180
|
|
25
|
+
|
|
26
|
+
Required Arguments:
|
|
27
|
+
|
|
28
|
+
1) ds (xarray.array) - The xarray data array of RTMA Data
|
|
29
|
+
|
|
30
|
+
Optional Arguments: None
|
|
31
|
+
|
|
32
|
+
Returns
|
|
33
|
+
-------
|
|
34
|
+
|
|
35
|
+
A RTMA dataset with longitude from -180 to 180
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
lon = ((ds['longitude'].values + 180.0) % 360.0) - 180.0
|
|
39
|
+
|
|
40
|
+
ds = ds.assign(
|
|
41
|
+
longitude=(("y", "x"), lon)
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
return ds
|
|
45
|
+
|
|
21
46
|
def rows_and_cols(model):
|
|
22
47
|
|
|
23
48
|
"""
|
|
@@ -284,8 +309,10 @@ def process_rtma_data(path,
|
|
|
284
309
|
ds1['10m_wind_speed'] = mpcalc.smooth_gaussian(ds1['10m_wind_speed'], n=8)
|
|
285
310
|
ds1['10m_wind_gust'] = mpcalc.smooth_gaussian(ds1['10m_wind_gust'], n=8)
|
|
286
311
|
|
|
312
|
+
ds1 = _shift_longitude(ds)
|
|
287
313
|
return ds1
|
|
288
314
|
|
|
289
315
|
else:
|
|
290
316
|
|
|
317
|
+
ds = _shift_longitude(ds)
|
|
291
318
|
return ds
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wxdata
|
|
3
|
-
Version: 1.4
|
|
3
|
+
Version: 1.4.1
|
|
4
4
|
Summary: A Python library that acts as a client to download, pre-process and post-process weather data. Friendly for users on VPN/PROXY connections.
|
|
5
5
|
Author: Eric J. Drewitz
|
|
6
6
|
Project-URL: Documentation, https://github.com/edrewitz/wxdata/blob/main/Documentation/Landing%20Page.md
|
|
@@ -127,16 +127,6 @@ ii) Set up a new environment with an earlier version of Python (must be Python >
|
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
|
|
130
|
-
|
|
131
|
-
- Some data access functions work on VPN/PROXY connections without needing to define VPN/PROXY settings:
|
|
132
|
-
- METARs
|
|
133
|
-
- NOAA Storm Prediction Center/National Weather Service Products
|
|
134
|
-
- FEMS
|
|
135
|
-
|
|
136
|
-
- Data access methods that users need to define VPN/PROXY IP addresses if using a VPN/PROXY connection:
|
|
137
|
-
- Various Forecast Models
|
|
138
|
-
- Observed Sounding Data from University of Wyoming
|
|
139
|
-
- Real-Time Mesoscale Analysis
|
|
140
130
|
|
|
141
131
|
1) Converts GRIB variable keys into variable keys that are in plain language.
|
|
142
132
|
- (e.g. 'r2' ---> '2m_relative_humidity')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|