nmcdev / meteva

提供气象产品检验相关程序
176 stars 79 forks source link

fix FSS function in score.py #132

Closed WangYuuuuuu closed 2 years ago

WangYuuuuuu commented 2 years ago
  1. replace np.convolve with scipy.signa.convolve.

the np.convolve function use two one-dimensional array as input, and returns the discrete, linear convolution of two one-dimensional sequences. The fss function need two-dimensional input, so use scipy.signa.convolve function to replace the np.convolve.

  1. fix the kernel with values in window_sizes_list, not the size of window_sizes_list.

the variable kernel was improperly assigned to the length of window_sizes_list, however, the true kernel should be the value in window_sizes_list.

liucouhua commented 2 years ago

感谢您的改进建议和提交的合并请求。确实如您说言,meteva/method/continuous/score.py中的fss算法存在问题。实际上在您提交请求前的2021年11月的版本中该段代码已经删除。目前fss的相关功能位于meteva/method/space/fss/fss.py模块里。并在https://www.showdoc.com.cn/meteva/8023545421481661 有相关的使用说明。在改正后的fss算法中并未采用 scipy.signa.convolve,而是采用了scipy.ndimage.filters import uniform_filter来实现卷积,后者效率更高。因此,并未采纳您的合并,谢谢!