oafuncs 0.0.98.11__py3-none-any.whl → 0.0.98.12__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.
@@ -4,7 +4,9 @@ from typing import List, Optional, Union
4
4
  import numpy as np
5
5
  import xarray as xr
6
6
  from dask.diagnostics import ProgressBar
7
+
7
8
  from oafuncs import pbar
9
+ from oafuncs._script.netcdf_write import _calculate_scale_and_offset # 新增导入
8
10
 
9
11
 
10
12
  def merge_nc(file_list: Union[str, List[str]], var_name: Optional[Union[str, List[str]]] = None, dim_name: Optional[str] = None, target_filename: Optional[str] = None) -> None:
@@ -83,24 +85,19 @@ def merge_nc(file_list: Union[str, List[str]], var_name: Optional[Union[str, Lis
83
85
  encoding = {}
84
86
  for var in merged_dataset.data_vars:
85
87
  data = merged_dataset[var].values
86
- # print(f"Variable '{var}' ready for writing: min={data.min():.3f}, max={data.max():.3f}, mean={data.mean():.3f}")
87
88
  if data.dtype.kind in {"i", "u", "f"}: # 仅对数值型数据进行压缩
88
- data_range = data.max() - data.min()
89
- if data_range > 0: # 避免范围过小导致的精度问题
90
- scale_factor = data_range / (2**16 - 1)
91
- add_offset = data.min()
92
- encoding[var] = {
93
- "zlib": True,
94
- "complevel": 4,
95
- "dtype": "int16",
96
- "scale_factor": scale_factor,
97
- "add_offset": add_offset,
98
- "_FillValue": -32767,
99
- }
100
- else:
101
- encoding[var] = {"zlib": True, "complevel": 4} # 范围过小时禁用缩放
89
+ # 统一调用 netcdf_write 中的 scale/offset 计算
90
+ scale_factor, add_offset = _calculate_scale_and_offset(data, n=16)
91
+ encoding[var] = {
92
+ "zlib": True,
93
+ "complevel": 4,
94
+ "dtype": "int16",
95
+ "scale_factor": scale_factor,
96
+ "add_offset": add_offset,
97
+ "_FillValue": -32767,
98
+ }
102
99
  else:
103
- encoding[var] = {"zlib": True, "complevel": 4} # 非数值型数据不使用缩放
100
+ encoding[var] = {"zlib": True, "complevel": 4}
104
101
 
105
102
  # 确保写入时不会因编码问题导致数据丢失
106
103
  # merged_dataset.to_netcdf(target_filename, encoding=encoding)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oafuncs
3
- Version: 0.0.98.11
3
+ Version: 0.0.98.12
4
4
  Summary: Oceanic and Atmospheric Functions
5
5
  Home-page: https://github.com/Industry-Pays/OAFuncs
6
6
  Author: Kun Liu
@@ -12,7 +12,7 @@ oafuncs/_data/hycom.png,sha256=MadKs6Gyj5n9-TOu7L4atQfTXtF9dvN9w-tdU9IfygI,10945
12
12
  oafuncs/_data/oafuncs.png,sha256=o3VD7wm-kwDea5E98JqxXl04_78cBX7VcdUt7uQXGiU,3679898
13
13
  oafuncs/_script/cprogressbar.py,sha256=UIgGcLFs-6IgWlITuBLaQqrpt4OAK3Mst5RlCiNfZdQ,15772
14
14
  oafuncs/_script/email.py,sha256=lL4HGKrr524-g0xLlgs-4u7x4-u7DtgNoD9AL8XJKj4,3058
15
- oafuncs/_script/netcdf_merge.py,sha256=ktmTOgGfLHBNdS4HBc6xFDfO8B7E4DT7d1e6Dtare9Y,5596
15
+ oafuncs/_script/netcdf_merge.py,sha256=ncNxstXJ77Ftyac5b1yRriVoBxbTVtaU111NU_7k_QA,5282
16
16
  oafuncs/_script/netcdf_modify.py,sha256=sGRUYNhfGgf9JV70rnBzw3bzuTRSXzBTL_RMDnDPeLQ,4552
17
17
  oafuncs/_script/netcdf_write.py,sha256=iO1Qv9bp6RLiw1D8Nrv7tX_8X-diUZaX3Nxhk6pJ5Nw,8556
18
18
  oafuncs/_script/parallel.py,sha256=T9Aie-e4LcbKlFTLZ0l4lhEN3SBVa84jRcrAsIm8s0I,8767
@@ -37,8 +37,8 @@ oafuncs/oa_sign/__init__.py,sha256=QKqTFrJDFK40C5uvk48GlRRbGFzO40rgkYwu6dYxatM,5
37
37
  oafuncs/oa_sign/meteorological.py,sha256=8091SHo2L8kl4dCFmmSH5NGVHDku5i5lSiLEG5DLnOQ,6489
38
38
  oafuncs/oa_sign/ocean.py,sha256=xrW-rWD7xBWsB5PuCyEwQ1Q_RDKq2KCLz-LOONHgldU,5932
39
39
  oafuncs/oa_sign/scientific.py,sha256=a4JxOBgm9vzNZKpJ_GQIQf7cokkraV5nh23HGbmTYKw,5064
40
- oafuncs-0.0.98.11.dist-info/licenses/LICENSE.txt,sha256=rMtLpVg8sKiSlwClfR9w_Dd_5WubTQgoOzE2PDFxzs4,1074
41
- oafuncs-0.0.98.11.dist-info/METADATA,sha256=vbHI4zd7XEcXnbCI7VuGmyDEcnfv5hsVjR8XczfObTU,4273
42
- oafuncs-0.0.98.11.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
43
- oafuncs-0.0.98.11.dist-info/top_level.txt,sha256=bgC35QkXbN4EmPHEveg_xGIZ5i9NNPYWqtJqaKqTPsQ,8
44
- oafuncs-0.0.98.11.dist-info/RECORD,,
40
+ oafuncs-0.0.98.12.dist-info/licenses/LICENSE.txt,sha256=rMtLpVg8sKiSlwClfR9w_Dd_5WubTQgoOzE2PDFxzs4,1074
41
+ oafuncs-0.0.98.12.dist-info/METADATA,sha256=TfDApyqtzs-wBr9sBG2sYBVHZFfJht6g1N3JtCQSHfU,4273
42
+ oafuncs-0.0.98.12.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
43
+ oafuncs-0.0.98.12.dist-info/top_level.txt,sha256=bgC35QkXbN4EmPHEveg_xGIZ5i9NNPYWqtJqaKqTPsQ,8
44
+ oafuncs-0.0.98.12.dist-info/RECORD,,