oafuncs 0.0.98.11__tar.gz → 0.0.98.12__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 (50) hide show
  1. {oafuncs-0.0.98.11/oafuncs.egg-info → oafuncs-0.0.98.12}/PKG-INFO +1 -1
  2. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/netcdf_merge.py +13 -16
  3. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12/oafuncs.egg-info}/PKG-INFO +1 -1
  4. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/setup.py +1 -1
  5. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/LICENSE.txt +0 -0
  6. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/MANIFEST.in +0 -0
  7. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/README.md +0 -0
  8. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/__init__.py +0 -0
  9. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_data/hycom.png +0 -0
  10. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_data/oafuncs.png +0 -0
  11. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/cprogressbar.py +0 -0
  12. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/email.py +0 -0
  13. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/netcdf_modify.py +0 -0
  14. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/netcdf_write.py +0 -0
  15. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/parallel.py +0 -0
  16. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/parallel_test.py +0 -0
  17. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/plot_dataset.py +0 -0
  18. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/_script/replace_file_content.py +0 -0
  19. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_cmap.py +0 -0
  20. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_data.py +0 -0
  21. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_date.py +0 -0
  22. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/User_Agent-list.txt +0 -0
  23. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/__init__.py +0 -0
  24. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/hycom_3hourly.py +0 -0
  25. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/hycom_3hourly_proxy.py +0 -0
  26. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/idm.py +0 -0
  27. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/literature.py +0 -0
  28. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/read_proxy.py +0 -0
  29. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/test_ua.py +0 -0
  30. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_down/user_agent.py +0 -0
  31. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_draw.py +0 -0
  32. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_file.py +0 -0
  33. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_help.py +0 -0
  34. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_model/__init__.py +0 -0
  35. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_model/roms/__init__.py +0 -0
  36. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_model/roms/test.py +0 -0
  37. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_model/wrf/__init__.py +0 -0
  38. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_model/wrf/little_r.py +0 -0
  39. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_nc.py +0 -0
  40. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_python.py +0 -0
  41. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_sign/__init__.py +0 -0
  42. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_sign/meteorological.py +0 -0
  43. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_sign/ocean.py +0 -0
  44. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_sign/scientific.py +0 -0
  45. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs/oa_tool.py +0 -0
  46. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs.egg-info/SOURCES.txt +0 -0
  47. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs.egg-info/dependency_links.txt +0 -0
  48. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs.egg-info/requires.txt +0 -0
  49. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/oafuncs.egg-info/top_level.txt +0 -0
  50. {oafuncs-0.0.98.11 → oafuncs-0.0.98.12}/setup.cfg +0 -0
@@ -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
@@ -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
@@ -18,7 +18,7 @@ URL = "https://github.com/Industry-Pays/OAFuncs"
18
18
  EMAIL = "liukun0312@stu.ouc.edu.cn"
19
19
  AUTHOR = "Kun Liu"
20
20
  REQUIRES_PYTHON = ">=3.9.0" # 2025/03/13
21
- VERSION = "0.0.98.11"
21
+ VERSION = "0.0.98.12"
22
22
 
23
23
  # What packages are required for this module to be executed?
24
24
  REQUIRED = [
File without changes
File without changes
File without changes
File without changes