meteva

提供气象产品检验相关python程序


图形检验产品

<p>[TOC]</p> <pre><code class="language-python">%matplotlib inline %load_ext autoreload %autoreload 2 import meteva.method as mem import numpy as np</code></pre> <pre><code>The autoreload extension is already loaded. To reload it, use: %reload_ext autoreload</code></pre> <pre><code class="language-python">ob = np.random.randn(2,100) error = np.random.randn(8,2,100) fo = error +ob grade_list = [0.0,0.4,0.8,1.2,1.6,2.0] fo_name_list = ["ECMWF","NCEP","T639","SCMOC","GRAPES","GRAPES_MESO","GRAPES-3KM","SHANGHAI"]</code></pre> <h1>综合检验图</h1> <p><strong><font face="黑体" color=blue size = 5>performance(ob, fo,grade_list=[1e-30],member_list=None,compare =&quot;&gt;=&quot;,x_y = &quot;sr_pod&quot;, save_path=None,show = False,dpi = 300, title=&quot;综合表现图&quot;, sup_fontsize =10,width = None,height = None)</font></strong> </p> <p>绘制二分类预报的综合检验图,其横坐标为成功率,纵坐标为命中率,并绘制了等bias和等ts曲线辅助线,检验结果以圆点方式显示在图中,从而可以直接浏览成功率、命中率、bias和ts等检验指标。 </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;"><strong><font face="黑体" color=blue size=5>ob</font></strong></td> <td style="text-align: left;">实况数据, 任意维numpy数组</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size=5>fo</font></strong></td> <td style="text-align: left;">预测数据, 任意维numpy数组,Fo.shape 比Ob.shape多一维或者保持一致,Fo.shape低维与ob.shape保持一致</td> </tr> <tr> <td style="text-align: left;"><strong>grade_list</strong></td> <td style="text-align: left;">阈值列表</td> </tr> <tr> <td style="text-align: left;"><strong>member_list</strong></td> <td style="text-align: left;">各预报成员的名称列表,缺省时系统由自动生成,将在bar图的legend中显示</td> </tr> <tr> <td style="text-align: left;"><strong>compare</strong></td> <td style="text-align: left;">比较方法,可选项包括&quot;&gt;=&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;,&quot;&lt;&quot;, 是要素原始值和阈值对比的方法,默认方法为&quot;&gt;=&quot;,即原始值大于等于阈值记为1,否则记为0,compare 为&quot;&lt;=&quot;时,原始值小于等于阈值的站点记为1, 这在基于能见度标记大雾事件、低温事件或降温事件等场景中可以用到</td> </tr> <tr> <td style="text-align: left;"><strong>x_y</strong></td> <td style="text-align: left;">xy轴坐标,缺省情况下会以成功率 _ 命中率作为横_纵坐标,当x_y = &quot;far_mr&quot;时坐标会切换成空报率_漏报率</td> </tr> <tr> <td style="text-align: left;"><strong>save_path</strong></td> <td style="text-align: left;">图片保存路径,缺省时不输出图片,而是以默认绘图窗口形式展示</td> </tr> <tr> <td style="text-align: left;"><strong>show</strong></td> <td style="text-align: left;">是否在屏幕显示图片,如果save_path 和save_dir 为都None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>dpi</strong></td> <td style="text-align: left;">绘图所采用dpi参数,效果同matplotlib中dpi参数</td> </tr> <tr> <td style="text-align: left;"><strong>title</strong></td> <td style="text-align: left;">图片标题,缺省时 为“散点回归图”</td> </tr> <tr> <td style="text-align: left;"><strong>sup_fontsize</strong></td> <td style="text-align: left;">图片标题的字体大小,其它字体将根据标题字体大小自动设置,其中坐标轴字体大小 = sup_fontsize × 0.9, 坐标刻度的字体大小 = sup_fontsize × 0.8</td> </tr> <tr> <td style="text-align: left;"><strong>width</strong></td> <td style="text-align: left;">图片的宽度,缺省时程序自动设置</td> </tr> <tr> <td style="text-align: left;"><strong>height</strong></td> <td style="text-align: left;">图片的高度,缺省时程序自动设置</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size=5>return</font></strong></td> <td style="text-align: left;">无返回结果</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">mem.performance(ob,fo[0,:],grade_list = grade_list)</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8a485caae9deeb43e34e4a4314030649?showdoc=.jpg" alt="" /></p> <pre><code class="language-python">mem.performance(ob,fo,member_list = fo_name_list)</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/bc3a2112b565a9bebb1608d1d76a7655?showdoc=.jpg" alt="" /></p> <pre><code class="language-python">mem.performance(ob,fo,grade_list = grade_list,member_list = fo_name_list, save_path = r"H:\test_data\output\method\yes_or_no\p3.png",show = True)</code></pre> <pre><code>检验结果已以图片形式保存至H:\test_data\output\method\yes_or_no\p3.png</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/49ceabb3778e3350919b34161ae898e7?showdoc=.jpg" alt="" /></p> <pre><code class="language-python">mem.performance(ob,fo,grade_list = grade_list,member_list = fo_name_list,x_y = "far_mr")</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/7b42862420c47de17e96cdf89c913053?showdoc=.jpg" alt="" /></p> <h1>综合检验图(基于检验结果)</h1> <p><strong><font face="黑体" color=blue size = 5>performance_mr_far(mr_array, far_array,grade_list=[1e-30], member_list=None, x_y = &quot;sr_pod&quot;, save_path=None,show = False,dpi = 300, title=&quot;综合表现图&quot;,sup_fontsize =10,width = None,height = None)</font></strong><br /> 绘制二分类预报的综合检验图,其横坐标为成功率,纵坐标为命中率,并绘制了等bias和等ts曲线辅助线,检验结果以圆点方式显示在图中,从而可以直接浏览成功率、命中率、bias和ts等检验指标。 </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;"><strong><font face="黑体" color=blue size=5>mr_array</font></strong></td> <td style="text-align: left;">漏报率, 2维数组,第1维是模式,第2维是等级</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size=5>far_array</font></strong></td> <td style="text-align: left;">空报率,2维数组,第1维是模式,第2维是等级</td> </tr> <tr> <td style="text-align: left;"><strong>grade_list</strong></td> <td style="text-align: left;">阈值列表,将在图中显示</td> </tr> <tr> <td style="text-align: left;"><strong>member_list</strong></td> <td style="text-align: left;">各预报成员的名称列表,缺省时系统由自动生成,将在bar图的legend中显示</td> </tr> <tr> <td style="text-align: left;"><strong>x_y</strong></td> <td style="text-align: left;">xy轴坐标,缺省情况下会以成功率_命中率作为横_纵坐标,当x_y = &quot;far_mr&quot;时坐标会切换成空报率_漏报率</td> </tr> <tr> <td style="text-align: left;"><strong>save_path</strong></td> <td style="text-align: left;">图片保存路径,缺省时不输出图片,而是以默认绘图窗口形式展示</td> </tr> <tr> <td style="text-align: left;"><strong>show</strong></td> <td style="text-align: left;">是否在屏幕显示图片,如果save_path 和save_dir 为都None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>dpi</strong></td> <td style="text-align: left;">绘图所采用dpi参数,效果同matplotlib中dpi参数</td> </tr> <tr> <td style="text-align: left;"><strong>title</strong></td> <td style="text-align: left;">图片标题,缺省时 为“散点回归图”</td> </tr> <tr> <td style="text-align: left;"><strong>sup_fontsize</strong></td> <td style="text-align: left;">图片标题的字体大小,其它字体将根据标题字体大小自动设置,其中坐标轴字体大小 = sup_fontsize × 0.9, 坐标刻度的字体大小 = sup_fontsize × 0.8</td> </tr> <tr> <td style="text-align: left;"><strong>width</strong></td> <td style="text-align: left;">图片的宽度,缺省时程序自动设置</td> </tr> <tr> <td style="text-align: left;"><strong>height</strong></td> <td style="text-align: left;">图片的高度,缺省时程序自动设置</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size=5>return</font></strong></td> <td style="text-align: left;">无返回结果</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">far_array = mem.far(ob,fo,grade_list) mr_array = mem.mr(ob,fo,grade_list) mem.performance_mr_far(mr_array,far_array,grade_list = grade_list,member_list = fo_name_list,x_y = "far_mr", save_path = r"H:\test_data\output\method\yes_or_no\p3.png",show = True)</code></pre> <pre><code>检验结果已以图片形式保存至H:\test_data\output\method\yes_or_no\p3.png</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/209ceb56c5e89f45816220ecd2851d4a" alt="" /></p> <pre><code class="language-python">grade_list = [10,25] member_list = ["ECMWF","CMA_GFS"] far_array = np.array([[0.4,0.5],[0.6,0.7]]) mr_array =np.array([[0.2,0.3],[0.4,0.5]]) mem.performance_mr_far(mr_array,far_array,grade_list = grade_list,member_list = member_list,x_y = "far_mr", save_path = r"H:\test_data\output\method\yes_or_no\p4.png",show = True)</code></pre> <pre><code>检验结果已以图片形式保存至H:\test_data\output\method\yes_or_no\p4.png</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/cf950fa9d533da4a06e49127dbb05299" alt="" /></p>

页面列表

ITEM_HTML