📁 检测到 pp 变量名: 'pp'
📁 检测到 zmeso 变量名: 'lev_bnds'
🔍 调试信息开始
==================================================
✅ aligned_pp 名称: pp
✅ aligned_zmeso 名称: lev_bnds
📊 aligned_pp 维度形状: {'time': 648, 'lev': 15, 'lat': 1, 'lon': 1}
📊 aligned_zmeso 维度形状: {'time': 648, 'lev': 50, 'bnds': 2, 'lat': 1, 'lon': 1}
🔧 aligned_pp 所有维度: ['time', 'lev', 'lat', 'lon']
🔧 aligned_zmeso 所有维度: ['time', 'lev', 'bnds', 'lat', 'lon']
⚠️ 共同维度 'lev': 长度分别为 15 和 50
❌ 不匹配!无法直接广播 'lev' 维度
⚠️ 共同维度 'lat': 长度分别为 1 和 1
✅ 匹配
⚠️ 共同维度 'time': 长度分别为 648 和 648
✅ 匹配
⚠️ 共同维度 'lon': 长度分别为 1 和 1
✅ 匹配
🔄 尝试修复并计算乘积...
💡 zmeso 的 month_str 维度正常,无需 squeeze
❌ 运算失败: Cannot apply_along_axis when any iteration dimensions are 0
Traceback (most recent call last):
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\DC-run\8.27程序包\耦合运算.py", line 77, in <module>
product = aligned_pp * zmeso_fixed * 2592000 # 单位转换因子
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\_typed_ops.py", line 552, in __mul__
return self._binary_op(other, operator.mul)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\dataarray.py", line 4845, in _binary_op
f(self.variable, other_variable_or_arraylike)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\_typed_ops.py", line 935, in __mul__
return self._binary_op(other, operator.mul)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 2358, in _binary_op
self_data, other_data, dims = _broadcast_compat_data(self, other)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 2961, in _broadcast_compat_data
if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]):
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 2961, in <genexpr>
if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]):
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\variable.py", line 436, in data
duck_array = self._data.get_duck_array()
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 843, in get_duck_array
self._ensure_cached()
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 840, in _ensure_cached
self.array = as_indexable(self.array.get_duck_array())
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 797, in get_duck_array
return self.array.get_duck_array()
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 652, in get_duck_array
array = self.array[self.key]
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\backends\netCDF4_.py", line 108, in __getitem__
return indexing.explicit_indexing_adapter(
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\core\indexing.py", line 1021, in explicit_indexing_adapter
result = raw_indexing_method(raw_key.tuple)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\xarray\backends\netCDF4_.py", line 121, in _getitem
array = getitem(original_array, key)
File "src\\netCDF4\\_netCDF4.pyx", line 5055, in netCDF4._netCDF4.Variable.__getitem__
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\netCDF4\utils.py", line 429, in _StartCountStride
start[...,i] = np.apply_along_axis(lambda x: e*x, i, np.ones(sdim[:-1]))
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python313\Lib\site-packages\numpy\lib\_shape_base_impl.py", line 390, in apply_along_axis
raise ValueError(
ValueError: Cannot apply_along_axis when any iteration dimensions are 0