天气学检验ver_vs_anl
<p>[TOC]</p>
<h1>天气学检验</h1>
<p>基于零场的分析场或再分析场的天气学检验代码示例如下:</p>
<pre><code class="language-python">modelver_vs_anl(anl_time=None, anl_data_source='cassandra', anl_data_name='ecmwf',
ninit=4, init_interval=12, data_source='cassandra', data_name='ecmwf',
func=None, func_other_args={}, max_workers=6,fps=2,
output_dir=None, show='tab', tab_size=(30, 18),tab_dist=None, list_size=(16, 9),
is_clean_plt=False)</code></pre>
<p>根据输入的目标时间、起报次数、不同起报时间的时间间隔、模式名、函数名(定制产品)、函数参数、最大进程数,生成指定的定制产品图像并输出到指定目录。</p>
<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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">anl_time</td>
<td style="text-align: left;">datetime</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">None</td>
<td style="text-align: left;">零场的分析场或再分析场时间</td>
</tr>
<tr>
<td style="text-align: left;">anl_data_source</td>
<td style="text-align: left;">datetime</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">cassandra</td>
<td style="text-align: left;">零场的分析场或再分析场数据源</td>
</tr>
<tr>
<td style="text-align: left;">anl_data_name</td>
<td style="text-align: left;">datetime</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">ecmwf</td>
<td style="text-align: left;">零场的分析场或再分析场模式名</td>
</tr>
<tr>
<td style="text-align: left;">ninit</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">4</td>
<td style="text-align: left;">起报次数</td>
</tr>
<tr>
<td style="text-align: left;">init_interval</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">12</td>
<td style="text-align: left;">不同起报时间的时间间隔</td>
</tr>
<tr>
<td style="text-align: left;">data_source</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">cassandra</td>
<td style="text-align: left;">预报场数据源</td>
</tr>
<tr>
<td style="text-align: left;">data_name</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">ecmwf</td>
<td style="text-align: left;">预报场模式名</td>
</tr>
<tr>
<td style="text-align: left;">func</td>
<td style="text-align: left;">function</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">None</td>
<td style="text-align: left;">函数名</td>
</tr>
<tr>
<td style="text-align: left;">func_other_args</td>
<td style="text-align: left;">dict</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">{}</td>
<td style="text-align: left;">函数参数字典</td>
</tr>
<tr>
<td style="text-align: left;">max_workers</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">6</td>
<td style="text-align: left;">最大进程数</td>
</tr>
<tr>
<td style="text-align: left;">fps</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">2</td>
<td style="text-align: left;">动画速率</td>
</tr>
<tr>
<td style="text-align: left;">output_dir</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">None</td>
<td style="text-align: left;">输出目录</td>
</tr>
<tr>
<td style="text-align: left;">show</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">tab</td>
<td style="text-align: left;">显示方式:<br/>'list', show all plots in one cell<br/>'tab', show one plot in each tab page<br/>'animation', show gif animation.</td>
</tr>
<tr>
<td style="text-align: left;">tab_size</td>
<td style="text-align: left;">tuple</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">(30, 18)</td>
<td style="text-align: left;">如果show='tab'时生效,输出图片分辨率</td>
</tr>
<tr>
<td style="text-align: left;">tab_dist</td>
<td style="text-align: left;">tuple</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">None</td>
<td style="text-align: left;">如果show='tab'时生效,输出图片分布排列形式,如(nrows,ncols), None为自动给出</td>
</tr>
<tr>
<td style="text-align: left;">list_size</td>
<td style="text-align: left;">tuple</td>
<td style="text-align: left;"><font color='red'>是</font></td>
<td style="text-align: left;">(16, 9)</td>
<td style="text-align: left;">如果show='list'时生效,输出图片分辨率</td>
</tr>
<tr>
<td style="text-align: left;">is_clean_plt</td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">清理plt资源</td>
</tr>
</tbody>
</table>
<p><em>注:</em></p>
<ol>
<li>
<p>数据源(data_source)及模式名(data_name)列表详见:<a href="https://www.showdoc.com.cn/metdig/7139572020318236" title="数据源及类型列表">数据源及类型列表</a></p>
</li>
<li>各数据源属性列表详见如下:
<ul>
<li>cassandra:<a href="https://www.showdoc.com.cn/metdig/5110392719553594" title="cassandra数据源属性列表">cassandra数据源属性列表</a></li>
<li>cmadaas:<a href="https://www.showdoc.com.cn/metdig/6386077756820471" title="cmadaas数据源属性列表">cmadaas数据源属性列表</a></li>
<li>era5:<a href="https://www.showdoc.com.cn/metdig/6060999066114040" title="era5数据源属性列表">era5数据源属性列表</a></li>
<li>thredds:<a href="https://www.showdoc.com.cn/metdig/7194537959773803" title="thredds数据源属性列表">thredds数据源属性列表</a></li>
</ul></li>
</ol>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">import numpy as np
import metdig.onestep.diag_dynamic as diag_dynamic
import metdig.hub.ver_vs_anl as ver_vs_anl
func = diag_dynamic.hgt_uv_vvel
ver_vs_anl.modelver_vs_anl(func=func, show='tab')
ver_vs_anl.modelver_vs_anl(func=func, show='animation')
ver_vs_anl.modelver_vs_anl(func=func, show='list')</code></pre>
<p><font size="4"><b>输出图形</b></font></p>
<p><strong>list显示</strong></p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=06aa8a1233c238d8b7e3767c10f2449b" alt="modelver_vs_anl_0" title="modelver_vs_anl_0" /></p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=54f08ff8a5f024b022f0b41517b02fdf" alt="modelver_vs_anl_12" title="modelver_vs_anl_12" /></p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d33f9193bb2171c1d2f3e0decd202ba0" alt="modelver_vs_anl_24" title="modelver_vs_anl_24" /></p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c8b50aca0fa6d01ae798bb402daa0e3c" alt="modelver_vs_anl_36" title="modelver_vs_anl_36" /></p>
<p><strong>tab显示</strong></p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=95b48df6362a241c6ffbc0e592ebd33b" alt="modelver_vs_anl_tab" title="modelver_vs_anl_tab" /></p>
<p><strong>animation显示</strong></p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c39d9191b3924d525148f55da8b58cc9" alt="modelver_vs_anl_animation" title="modelver_vs_anl_animation" /></p>