shancx 1.9.33.226__tar.gz → 1.9.33.227__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.
Files changed (98) hide show
  1. {shancx-1.9.33.226 → shancx-1.9.33.227}/PKG-INFO +1 -1
  2. {shancx-1.9.33.226 → shancx-1.9.33.227}/setup.py +1 -1
  3. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Read.py +22 -13
  4. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx.egg-info/PKG-INFO +1 -1
  5. {shancx-1.9.33.226 → shancx-1.9.33.227}/README.md +0 -0
  6. {shancx-1.9.33.226 → shancx-1.9.33.227}/setup.cfg +0 -0
  7. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/3D/__init__.py +0 -0
  8. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Class.py +0 -0
  9. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/CudaPrefetcher1.py +0 -0
  10. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Fake_image.py +0 -0
  11. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Hsml.py +0 -0
  12. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/L2Loss.py +0 -0
  13. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/MetricTracker.py +0 -0
  14. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Normalize.py +0 -0
  15. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/OptimizerWScheduler.py +0 -0
  16. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Rmageresize.py +0 -0
  17. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Savemodel.py +0 -0
  18. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/SmoothL1_losses.py +0 -0
  19. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/Tqdm.py +0 -0
  20. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/__init__.py +0 -0
  21. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/checknan.py +0 -0
  22. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/dsalgor.py +0 -0
  23. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/iouJU.py +0 -0
  24. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/mask.py +0 -0
  25. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/psnr.py +0 -0
  26. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/ssim.py +0 -0
  27. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/structural_similarity.py +0 -0
  28. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Algo/tool.py +0 -0
  29. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Calmetrics/__init__.py +0 -0
  30. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Calmetrics/calmetrics.py +0 -0
  31. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Calmetrics/calmetricsmatrixLib.py +0 -0
  32. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Calmetrics/rmseR2score.py +0 -0
  33. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Clip/__init__.py +0 -0
  34. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Cmd.py +0 -0
  35. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Config_.py +0 -0
  36. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Df/DataFrame.py +0 -0
  37. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Df/__init__.py +0 -0
  38. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Df/tool.py +0 -0
  39. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Diffm/Psamples.py +0 -0
  40. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Diffm/__init__.py +0 -0
  41. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Diffm/test.py +0 -0
  42. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Doc/__init__.py +0 -0
  43. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/E/__init__.py +0 -0
  44. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Fillmiss/__init__.py +0 -0
  45. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Fillmiss/imgidwJU.py +0 -0
  46. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Fillmiss/imgidwLatLonJU.py +0 -0
  47. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Gpu/__init__.py +0 -0
  48. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/H9/__init__.py +0 -0
  49. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/H9/ahi_read_hsd.py +0 -0
  50. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/H9/ahisearchtable.py +0 -0
  51. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/H9/geometry.py +0 -0
  52. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Hug/__init__.py +0 -0
  53. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Inst.py +0 -0
  54. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Lib.py +0 -0
  55. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Mos/__init__.py +0 -0
  56. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/NN/__init__.py +0 -0
  57. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/NN/chainMul.py +0 -0
  58. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Path1.py +0 -0
  59. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/GlobMap.py +0 -0
  60. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/Gray2RGB.py +0 -0
  61. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/__init__.py +0 -0
  62. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/draw_day_CR_PNG.py +0 -0
  63. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/exam.py +0 -0
  64. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/plotGlobal.py +0 -0
  65. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/radarNmc.py +0 -0
  66. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Plot/single_china_map.py +0 -0
  67. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Point.py +0 -0
  68. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/QC.py +0 -0
  69. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/RdPzl/__init__.py +0 -0
  70. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Resize.py +0 -0
  71. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/SN/__init__.py +0 -0
  72. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Time/GetTime.py +0 -0
  73. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Time/__init__.py +0 -0
  74. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Time/timeCycle.py +0 -0
  75. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Time/tool.py +0 -0
  76. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Train/__init__.py +0 -0
  77. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Train/makelist.py +0 -0
  78. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Train/multiGpu.py +0 -0
  79. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Train/prepare.py +0 -0
  80. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/Train/renet50.py +0 -0
  81. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/ZR.py +0 -0
  82. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/__init__.py +0 -0
  83. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/args.py +0 -0
  84. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/bak.py +0 -0
  85. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/cmp.py +0 -0
  86. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/df2database.py +0 -0
  87. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/geosProj.py +0 -0
  88. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/getResponse.py +0 -0
  89. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/info.py +0 -0
  90. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/netdfJU.py +0 -0
  91. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/npz.py +0 -0
  92. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/sendM.py +0 -0
  93. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/tensBoard/__init__.py +0 -0
  94. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx/wait.py +0 -0
  95. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx.egg-info/SOURCES.txt +0 -0
  96. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx.egg-info/dependency_links.txt +0 -0
  97. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx.egg-info/requires.txt +0 -0
  98. {shancx-1.9.33.226 → shancx-1.9.33.227}/shancx.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shancx
3
- Version: 1.9.33.226
3
+ Version: 1.9.33.227
4
4
  Summary: A simple timer decorator
5
5
  Home-page: https://gitee.com/shancx
6
6
  Author: shancx
@@ -3,7 +3,7 @@
3
3
  from setuptools import setup, find_packages
4
4
  setup(
5
5
  name="shancx",
6
- version="1.9.33.226",
6
+ version="1.9.33.227",
7
7
  packages=find_packages(),
8
8
  description="A simple timer decorator",
9
9
  long_description=open("README.md").read(),
@@ -1,8 +1,14 @@
1
+
1
2
  import xarray as xr
2
3
  import numpy as np
3
4
  import gzip
4
5
  import tempfile
5
6
  import os
7
+ backend_kwargs = {
8
+ 'errors': 'ignore',
9
+ # 'errors': 'raise'
10
+ # 'errors': 'warn'
11
+ }
6
12
  def getGrib(filepath):
7
13
  tmp_path = filepath
8
14
  if filepath.endswith('.gz'):
@@ -11,7 +17,7 @@ def getGrib(filepath):
11
17
  tmp.write(f.read())
12
18
  tmp_path = tmp.name
13
19
  try:
14
- ds = xr.open_dataset(tmp_path, engine='cfgrib')
20
+ ds = xr.open_dataset(tmp_path, engine='cfgrib', backend_kwargs=backend_kwargs)
15
21
  var_name = list(ds.data_vars)[0]
16
22
  data_var = ds[var_name]
17
23
  data_values = np.where(data_var.values < -900, np.nan, data_var.values)
@@ -32,16 +38,15 @@ def getGrib(filepath):
32
38
  lons = var.longitude.values
33
39
  break
34
40
  else:
35
- raise ValueError("未找到经纬度坐标")
36
- lat_range = (float(np.nanmin(lats)), float(np.nanmax(lats)))
37
- lon_range = (float(np.nanmin(lons)), float(np.nanmax(lons)))
41
+ raise ValueError("未找到经纬度坐标")
38
42
  return {
39
- 'data': data,
43
+ 'data': data_values,
40
44
  'lats': lats,
41
45
  'lons': lons
42
46
  }
43
47
  finally:
44
48
  os.unlink(tmp_path)
49
+
45
50
  """
46
51
  input_Path = './Composite_00.50_20250701-010044.grib2.gz'
47
52
  result = getGrib(input_Path)
@@ -50,15 +55,17 @@ result = getGrib(input_Path)
50
55
  import pygrib
51
56
  import numpy as np
52
57
  import pandas as pd
53
- def readGrib(file_path, target_param=None):
58
+ import gzip
59
+ import tempfile
60
+ def readGrib(filepath, target_param=None):
61
+ filepath= filepath
62
+ if filepath.endswith('.gz'):
63
+ with gzip.open(filepath, 'rb') as f:
64
+ with tempfile.NamedTemporaryFile(suffix='.grib2', delete=False) as tmp:
65
+ tmp.write(f.read())
66
+ filepath = tmp.name
54
67
  try:
55
- with pygrib.open(file_path) as grbs:
56
- file_path= file_path
57
- if filepath.endswith('.gz'):
58
- with gzip.open(filepath, 'rb') as f:
59
- with tempfile.NamedTemporaryFile(suffix='.grib2', delete=False) as tmp:
60
- tmp.write(f.read())
61
- file_path = tmp.name
68
+ with pygrib.open(filepath) as grbs:
62
69
  if target_param:
63
70
  try:
64
71
  grb = grbs.select(shortName=target_param)[0]
@@ -99,6 +106,7 @@ def readGrib(file_path, target_param=None):
99
106
  except Exception as e:
100
107
  print(f"GRIB读取错误: {str(e)}")
101
108
  return None
109
+ """
102
110
  if __name__ == "__main__":
103
111
  path = "/mnt/wtx_weather_forecast/CMA_DATA/NAFP/EC/C1D/2024/2024112720/ECMFC1D_PRTY_1_2024112712_GLB_1_2.grib2"
104
112
  result = readGrib(path)
@@ -107,5 +115,6 @@ if __name__ == "__main__":
107
115
  print("经度范围:", np.min(result['lons']), "~", np.max(result['lons']))
108
116
  print("纬度范围:", np.min(result['lats']), "~", np.max(result['lats']))
109
117
  print("参数单位:", result['metadata']['units'])
118
+ """
110
119
 
111
120
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shancx
3
- Version: 1.9.33.226
3
+ Version: 1.9.33.227
4
4
  Summary: A simple timer decorator
5
5
  Home-page: https://gitee.com/shancx
6
6
  Author: shancx
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