天气学系统识别算法identify
<p>[TOC]</p>
<h1>天气系统识别由刘凑华老师设计研发,并请注意,天气识别相关功能,如无java环境,请安装以下java安装包并重启</h1>
<p>请自行下载jre安装包,离线下载地址:<a href="https://www.java.com/zh-CN/download/">https://www.java.com/zh-CN/download/</a></p>
<h1>高低压中心识别</h1>
<p>从输入的气压场或位势高度场中识别出高压和低压的范围、中心位置,并计算出面积和强度,代码示例如下:</p>
<pre><code class="language-python">high_low_center(hgt, resolution=&quot;low&quot;, smooth_times=0, min_size=100, grade_interval=5)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">气压或位势高度场网格数据,暂时只支持包含一个平面场</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 defaults to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的气压场或位势高度场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据高低压系统的尺度过滤掉一些尺度较小系统,其中系统尺度是以高(低)压中心到最近的鞍点的距离来代表 default to 100</td>
</tr>
<tr>
<td style="text-align: left;">grade_interval</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据高低压中心是否有闭合等值线来决定是否保留该中心,grade_interval是闭合等值线的等级值 default to 5</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>高低压识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;"></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: center;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">高低压系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>-1 或其他负整数</font></strong></td>
<td style="text-align: left;">低压系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">高压系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;">高(低)压类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">高(低)压中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">高(低)压中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">高(低)压中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">高(低)压中心点的气压或位势高度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">高(低)压区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">高(低)压中心面积</td>
<td style="text-align: left;">实数,单位:<code>1°×1°</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>mean</font></strong></td>
<td style="text-align: left;">高(低)压区域内气压(位势高度场)平均值</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">高(低)系统的强度,中心点值 - 平均值</td>
<td style="text-align: left;">实数</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,4,8)
hgt = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24,
data_name='ecmwf_hr', var_name='hgt', level=1000)
smooth_times = identify_kwargs.pop('smooth_times', 10)
caldata = mdgcal.high_low_center(hgt, smooth_times=smooth_times, **identify_kwargs)
</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>涡旋识别</h1>
<p>从输入的风场中识别出涡旋中心位置,以涡旋中心为中心,以涡旋中心到最近的一个鞍点的距离为半径,画一个圆作为涡旋的范围,以围绕圆形上的环流作为涡旋的强度。算法会返回涡旋的中心位置、面积和强度,代码示例如下:</p>
<pre><code class="language-python">vortex(u, v, resolution=&quot;low&quot;, smooth_times=0, min_size=100)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">u</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">u分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">v</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">v分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的风场场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据高低压系统的尺度过滤掉一些尺度较小系统,其中系统尺度是以高(低)压中心到最近的鞍点的距离来代表 default to 100</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>涡旋识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">涡旋系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">涡旋系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">涡旋中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">涡旋中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">涡旋中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">涡旋中心点的涡度</td>
<td style="text-align: left;">实数,单位: <code>10^-5/s</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">涡旋区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">涡旋面积</td>
<td style="text-align: left;">实数,单位1°×1°</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">涡旋强度,围绕涡旋范围边缘的环流</td>
<td style="text-align: left;">实数,单位: <code>10^5(m^2/s)</code></td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,4,8)
u = get_model_grid(data_source='cassandra', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='u', level=850)
v = get_model_grid(data_source='cassandra', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='v', level=850)
caldata = mdgcal.vortex(u, v, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>槽线识别</h1>
<p>从输入的500hPa位势高度场中识别出槽线,并计算出面积和强度,代码示例如下:</p>
<pre><code class="language-python">trough(hgt, resolution=&quot;low&quot;, smooth_times=0, min_size=100)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">气压或位势高度场网格数据,暂时只支持包含一个平面</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的气压场或位势高度场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>槽线识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">槽线系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">槽线系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">槽区的中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">槽区中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">槽区中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">槽区中心点的曲率涡度</td>
<td style="text-align: left;">实数,单位: <code>10^-5/s</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">槽线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">槽线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">槽线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">槽区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">槽区面积</td>
<td style="text-align: left;">实数,单位1°×1°</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">槽线强度,中心点曲率涡度与槽区平均涡度之差</td>
<td style="text-align: left;">实数,单位: <code>10^-5/s</code></td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,4,8)
hgt = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24,
data_name='ecmwf_hr', var_name='hgt', level=500)
smooth_times = identify_kwargs.pop('smooth_times', 10)
min_size = identify_kwargs.pop('min_size', 500)
caldata = mdgcal.trough(hgt, smooth_times=smooth_times, min_size=min_size, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>倒槽识别</h1>
<p>从输入的气压场或位势高度场中识别出倒槽,并计算出面积和强度。倒槽的识别方法和槽线类似,只不过增加了对槽线起止点相对位置的判断。代码示例如下:</p>
<pre><code class="language-python">reverse_trough(hgt, resolution=&quot;low&quot;, smooth_times=0, min_size=100)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">气压或位势高度场网格数据,暂时只支持包含一个平面场</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的气压场或位势高度场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据倒槽的槽线长度(单位km)过滤掉一些尺度较小系统 default to 100</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>倒槽识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">倒槽系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">倒槽系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">槽区的中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">槽区中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">槽区中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">槽区中心点的涡度</td>
<td style="text-align: left;">实数,单位: <code>10^-5/s</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">槽线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">槽线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">槽线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">槽区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">槽区面积</td>
<td style="text-align: left;">实数,单位1°×1°</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">倒槽强度,中心点涡度与槽区平均涡度之差</td>
<td style="text-align: left;">实数,单位: <code>10^-5/s</code></td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,29,8)
hgt = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24,
data_name='ecmwf_hr', var_name='hgt', level=1000)
smooth_times = identify_kwargs.pop('smooth_times', 10)
caldata = mdgcal.reverse_trough(hgt, smooth_times=smooth_times, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>辐合线识别</h1>
<p>从输入的风场中识别出辐合线,并计算出面积和强度。代码示例如下:</p>
<pre><code class="language-python">convergence_line(u, v, resolution=&quot;low&quot;, smooth_times=0, min_size=100)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">u</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">u分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">v</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">v分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的风场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据辐合线的长度(单位km)过滤掉一些尺度较小系统 default to 100</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>合线识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">辐合线系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">辐合线系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">辐合线的中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">辐合区中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">辐合区中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">辐合区中心点的切变辐合,切变辐合采用散点和周围2个<br>格距范围内最大的风向角度差异的绝对值的乘积表示</td>
<td style="text-align: left;">实数,单位: <code>10^-5°/s</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">辐合线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">辐合线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">辐合线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">辐合区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">辐合区面积</td>
<td style="text-align: left;">实数,单位:<code>1°×1°</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">辐合区强度,中心点散点与辐合区平均散点之差</td>
<td style="text-align: left;">实数,单位: <code>10^-5°/s</code></td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,4,8)
u = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='u', level=850)
v = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='v', level=850)
min_size = identify_kwargs.pop('min_size', 300)
caldata = mdgcal.convergence_line(u, v, min_size=min_size, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>切变线识别</h1>
<p>从输入的风场中识别出切变线,并计算出面积和强度。代码示例如下:</p>
<pre><code class="language-python">shear(u, v, resolution=&quot;low&quot;, smooth_times=0, min_size=100)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">u</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">u分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">v</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">v分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的风场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据切变线的长度(单位km)过滤掉一些尺度较小系统 default to 100</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>切变线识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">切变系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">切变线系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">切变线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">切变线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">切变线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,4,8)
u = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='u', level=850)
v = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='v', level=850)
min_size = identify_kwargs.pop('min_size', 400)
caldata = mdgcal.shear(u, v, min_size=min_size, **identify_kwargs)
</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>急流识别</h1>
<p>从输入的风场中识别出急流区、急流轴线,并计算出面积和强度。代码示例如下:</p>
<pre><code class="language-python">jet(u, v, resolution=&quot;low&quot;, smooth_times=0, min_size=100, jet_min_speed=12, only_south_jet=False)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">u</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">u分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">v</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">u分量风场数据,暂时只支持数据只包含单个平面的情景</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的风场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据切变线的长度(单位km)过滤掉一些尺度较小系统 default to 100</td>
</tr>
<tr>
<td style="text-align: left;">jet_min_speed</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">判断为急流的速度阈值,缺省值是850hPa高度的默认风速阈值12m/s ,default to 12</td>
</tr>
<tr>
<td style="text-align: left;">only_south_jet</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">是否仅保留南风急流,在中低层急流识别中常常仅保留南风急流,此时可设置该参数为True,对于200hPa高度的急流识别则一般设置为False,default to False</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>急流识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">急流系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">急流轴线系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">急流的中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">急流区中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">急流区中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">急流区中心点的风速</td>
<td style="text-align: left;">实数,单位: <code>m/s</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">急流轴线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">急流轴线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">急流轴线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">急流区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">急流区面积</td>
<td style="text-align: left;">实数,单位:<code>1°×1°</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">急流强度,中心点风速与急流区平均风速之差</td>
<td style="text-align: left;">实数,单位: <code>m/s</code></td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,5,4,8)
u = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='u', level=850)
v = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=24, data_name='ecmwf_hr', var_name='v', level=850)
min_size = identify_kwargs.pop('min_size', 300)
only_south_jet = identify_kwargs.pop('only_south_jet', True)
caldata = mdgcal.jet(u, v, min_size=min_size, only_south_jet=only_south_jet, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>副高识别</h1>
<p>从输入的500hPa高度场中识别出副高、副高轴线,并计算出面积和强度。代码示例如下:</p>
<pre><code class="language-python">subtropical_high(hgt, smooth_times=0, min_size=500, necessary_height=5840, sufficient_height=5880)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">500hPa位势高度场网格数据,暂时只支持包含一个平面场</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°,算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的高度场进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据切变线的长度(单位km)过滤掉一些尺度较小系统 default to 100</td>
</tr>
<tr>
<td style="text-align: left;">necessary_height</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">通常人们判断副高的范围为5880线围绕的高压区域,但有些情况下也以5840线作为副高范围,因此副高的阈值并非是一个固定的值,而是一个介于某个区间的值。如果人为设置这个区间的范围,necessary_height 就是副高阈值的取值区间的下界 default to 5840</td>
</tr>
<tr>
<td style="text-align: left;">sufficient_height</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">sufficient_height是副高阈值的取值区间的上界 default to 5880</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>副高识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">副高系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">副高轴线系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">副高的中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">副高中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">副高中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">副高中心点的位势高度</td>
<td style="text-align: left;">实数,单位: 位势米</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">副高轴线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">副高轴线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">副高轴线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">副高区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">副高面积</td>
<td style="text-align: left;">实数,单位:<code>1°×1°</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">副高强度,中心点高度与副高平均高度之差</td>
<td style="text-align: left;">实数,单位: 位势米</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,6,5,8)
hgt = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=120, data_name='ecmwf_hr', level=500)
smooth_times = identify_kwargs.pop('smooth_times', 20)
caldata = mdgcal.subtropical_high(hgt, smooth_times=smooth_times, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>南亚高压识别</h1>
<p>从输入的100hPa或200hPa高度场中识别出南亚高压、南亚高压轴线,并计算出面积和强度。代码示例如下:</p>
<pre><code class="language-python">south_asia_high(hgt, smooth_times=0, min_size=800, sn_height=16680)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">100hPa或200hPa位势高度场网格数据,暂时只支持包含一个平面场</td>
</tr>
<tr>
<td style="text-align: left;">resolution</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">系统识别算法涉及较多参数,而这些参数的最有值和网格分辨率有关,为了简化系统识别算法的使用,默认会将网格数据转化成两种固定的分辨率(0.5°或0.1°)的数据,当resolution ="low"时,会转化成0.5°分辨率,当resolution = "high"时,会转化成0.1°, 算法内置了相关的最优参数 default to "low"</td>
</tr>
<tr>
<td style="text-align: left;">smooth_times</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法可以根据需求对输入的高度进行平滑,以过滤较小尺度的噪音 default to 0</td>
</tr>
<tr>
<td style="text-align: left;">min_size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">调用系统识别算法后,可以根据切变线的长度(单位km)过滤掉一些尺度较小系统 default to 100</td>
</tr>
<tr>
<td style="text-align: left;">sn_height</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">南亚高压的范围特征线对应的高度值,对100hPa来说通常设置为16680,default to 16680</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">返回值</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">系统识别的结果,以字典形式返回</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>南亚高压识别结果内容说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">一级关键词</th>
<th style="text-align: left;">二级关键词</th>
<th style="text-align: left;">三级关键词</th>
<th style="text-align: left;">四级关键词</th>
<th style="text-align: left;">说明</th>
<th style="text-align: center;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>type</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统类型</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>level</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">天气系统的所在层次</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>time</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的起报时间</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>dtime</font></strong></td>
<td style="text-align: left;"></td>
<td style="text-align: left;">输入的网格场的预报时效</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>feature</font></strong></td>
<td style="text-align: left;">南亚高压系统的属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>1 或其他正整数</font></strong></td>
<td style="text-align: left;">南亚高压轴线系统的编号</td>
<td style="text-align: left;">字符串</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>center</font></strong></td>
<td style="text-align: left;">南亚高压的中心属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lon</font></strong></td>
<td style="text-align: left;">南亚高压中心经度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>lat</font></strong></td>
<td style="text-align: left;">南亚高压中心纬度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>value</font></strong></td>
<td style="text-align: left;">南亚高压中心点的位势高度</td>
<td style="text-align: left;">实数,单位: 位势米</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>axes</font></strong></td>
<td style="text-align: left;">南亚高压轴线属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>length</font></strong></td>
<td style="text-align: left;">南亚高压轴线长度</td>
<td style="text-align: left;">实数</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>point</font></strong></td>
<td style="text-align: left;">南亚高压轴线描点</td>
<td style="text-align: left;">经纬度坐标的列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>region</font></strong></td>
<td style="text-align: left;">南亚高压区属性</td>
<td style="text-align: left;">字典</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>area</font></strong></td>
<td style="text-align: left;">南亚高压面积</td>
<td style="text-align: left;">实数,单位:<code>1°×1°</code></td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=green size=3>strength</font></strong></td>
<td style="text-align: left;">南亚高压强度,中心点高度与南亚高压平均高度之差</td>
<td style="text-align: left;">实数,单位: 位势米</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">from datetime import datetime
from metdig.io import get_model_grid
import metdig.cal as mdgcal
init_time=datetime(2023,6,5,8)
hgt = get_model_grid(data_source='cmadaas', init_time=init_time, fhour=120, data_name='ecmwf_hr', level=100)
smooth_times = identify_kwargs.pop('smooth_times', 20)
sn_height = identify_kwargs.pop('sn_height', 16680)
caldata = mdgcal.south_asia_high(hgt, smooth_times=smooth_times, sn_height=sn_height, **identify_kwargs)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>将识别结果转换DataFrame</h1>
<p>字典形式的识别结果包含的信息是完整的,基于它可以做很多精细的分析,但是有些情况下为了更方便地开展长序列的结果分析和统计,需将字典形式结果转换成规整的数据表格。 本函数的功能就是从输入的字典形式的天气系统识并将结果转换成dataframe形式,代码示例如下:</p>
<pre><code class="language-python">tran_graphy_to_df(graphy)</code></pre>
<p><font size="4"><b>参数说明</b></font></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<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;">graphy</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">字典形式的天气系统识别结果,例如上面示例中的高低压系统识别结果</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>返回值说明</b></font>
<table><tr><td align="center" vlign="middle" width="30%" style="background:#2894FF"><font color="white"><b>返回值</b></font></td><td align="center" vlign="middle" width="70%" style="background:#2894FF"><font color="white"><b>说明</b></font></td></tr><tr><td align="center">tuple</td><td align="left">元组<br>第0个元素是包含中心点位置、取值、面积和强度的DataFrame数据<br>第1个元素是包含每一条轴线描点坐标的DataFrame数据<br>对于高低压和涡旋系统,不存在轴线,因此第1个元素返回结果为None<br>对于槽线天气和切变线等天气系统来说,轴线就是槽线和切变线的上每一个点的位置<br>对于切变线,暂时没有定义系统中心的位置和强度,因此第0个元素返回结果为None。</td></tr></table></p>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>