SAL(结构强度尺度)
<p>[TOC]</p>
<pre><code class="language-python">%matplotlib inline
%load_ext autoreload
%autoreload 2
import meteva.base as meb
import meteva.product as mpd
import meteva.method as mem</code></pre>
<h1>SAL(结构、强度、尺度)概述</h1>
<hr />
<p><font face="黑体" color=Black size=4>
<br> SAL方法是MODE算法基础上,从被标记过的网格范围内降水场中统计降水的均匀性,平均强度和质心分布等属性,检验预报和观测之间的均匀性、平均强度和距离等偏差属性<br><br />
<br> 计算过程中首先会将未标记成目标的网格点置为0,然后按如下方法计算不同的检验指标:<br> </p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/76ea67ba2762311edb20e3afd72ecd92" alt="" /></p>
<p><font face="黑体" color=Blue size=4><strong>sal(look)</strong></font> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<th style="text-align: left;">说明</th>
<th style="text-align: left;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=Blue size=5>look</font></strong></td>
<td style="text-align: left;">目标识别或匹配的结果,它可以是feature_finder 或者merge函数的返回结果</td>
<td style="text-align: left;">字典</td>
</tr>
</tbody>
</table>
<p><strong>——————————————————————————————————————————————————————————————————————————————————————————————————————————</strong>
<font face="黑体" color=Green size=4><strong>sal函数返回结果内容说明</strong></font> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: center;">说明</th>
<th style="text-align: left;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=Green size=3>S</font></strong></td>
<td style="text-align: center;">结构误差</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=Green size=3>A</font></strong></td>
<td style="text-align: center;">强度误差</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=Green size=3>L</font></strong></td>
<td style="text-align: center;">尺度误差</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=Green size=3>L1</font></strong></td>
<td style="text-align: center;">观测和预报目标整场质心位置误差</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=Green size=3>L2</font></strong></td>
<td style="text-align: center;">观测和预报各自的目标质心离整场质心的平均距离的误差</td>
<td style="text-align: left;">实数</td>
</tr>
</tbody>
</table>
<p><strong>调用示例</strong></p>
<pre><code class="language-python">#读取观测和预报数据
filename_ob = r'H:\test_data\input\mem\mode\ob\rain03\20070111.000.nc'
filename_fo = r'H:\test_data\input\mem\mode\ec\rain03\20070108.003.nc'
grd_ob = meb.read_griddata_from_nc(filename_ob,time = "2020070111",dtime = 0,data_name = "OBS")
grd_fo = meb.read_griddata_from_nc(filename_fo,time = "2020070108",dtime = 3,data_name = "ECMWF")
#目标的识别,匹配合并,具体请参考MODE模块
look_ff = mem.mode.feature_finder(grd_ob,grd_fo,smooth = 5,threshold = 5,minsize = 5)
look_match = mem.mode.centmatch(look_ff)
look_merge = mem.mode.merge_force(look_match)
mem.mode.plot_label(look_merge) </code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/992a49055644398487ec49572432b731" alt="" /></p>
<pre><code class="language-python">sal1 = mem.sal(look_ff)</code></pre>
<pre><code class="language-python">sal1</code></pre>
<pre><code>{'S': -0.0609681020174893,
'A': -1.0122826478089915,
'L': 0.26826933913953166,
'L1': 0.06460283962309978,
'L2': 0.2036664995164319}</code></pre>
<pre><code class="language-python"></code></pre>