meteva

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


空间分布对比

<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 numpy as np import datetime</code></pre> <p>本模块函数只要用于展示单个起报时刻,单个预报时效的预报场(网格)同观测(站点或网格)的空间分布对比</p> <pre><code class="language-python">#降水预报和实况的测试数据 grid0 = meb.grid([73,135,0.25],[18,55,0.25]) grd_fo = meb.read_griddata_from_micaps4(r'H:\test_data\input\mpd\ec_rain24_BT19123008.024',grid = grid0) meb.set_griddata_coords(grd_fo,gtime = [datetime.datetime(2019,12,30,8,0)],dtime_list= [24],member_list= ["ECMWF"]) sta = meb.read_stadata_from_micaps3(r'H:\test_data\input\mpd\ob_rain24_BT19123108.000') sta = meb.between_value_range(sta, 0, 1000) sta_ob_rain03 = sta.copy() meb.set_stadata_attrs(sta_ob_rain03,var_name = "rain03") sta_ob_rain24 = sta.copy() meb.set_stadata_attrs(sta_ob_rain24,var_name = "rain24")</code></pre> <pre><code class="language-python">print(sta) #打印降水观测数据</code></pre> <pre><code> level time dtime id lon lat data0 0 0 2019-12-31 08:00:00 0 45004 114.17 22.31 0.0 1 0 2019-12-31 08:00:00 0 45005 114.17 22.30 0.0 2 0 2019-12-31 08:00:00 0 45007 113.91 22.30 0.0 7 0 2019-12-31 08:00:00 0 45032 114.15 22.52 0.0 8 0 2019-12-31 08:00:00 0 45035 113.98 22.47 0.0 ... ... ... ... ... ... ... ... 2736 0 2019-12-31 08:00:00 0 59981 112.33 16.83 0.0 2737 0 2019-12-31 08:00:00 0 59985 111.62 16.53 0.0 2738 0 2019-12-31 08:00:00 0 59993 114.22 10.21 0.4 2739 0 2019-12-31 08:00:00 0 59994 114.29 9.71 0.4 2740 0 2019-12-31 08:00:00 0 59996 114.50 9.91 0.0 [2444 rows x 7 columns]</code></pre> <pre><code class="language-python">print(grd_fo) #打印降水预报数据</code></pre> <pre><code>&lt;xarray.DataArray 'data0' (member: 1, level: 1, time: 1, dtime: 1, lat: 149, lon: 249)&gt; array([[[[[[0. , 0. , 0. , ..., 0.2, 0.4, 0.8], [0. , 0. , 0. , ..., 0.4, 0.3, 1. ], [0. , 0. , 0. , ..., 0.5, 0.5, 0.6], ..., [0.5, 0.6, 0.7, ..., 5. , 5.9, 6.8], [0.4, 0.5, 0.6, ..., 6.3, 7. , 7.4], [0.3, 0.4, 0.4, ..., 6.2, 6.9, 8.2]]]]]]) Coordinates: * member (member) &lt;U5 'ECMWF' * level (level) float64 0.0 * time (time) datetime64[ns] 2019-12-30T08:00:00 * dtime (dtime) int32 24 * lat (lat) float64 18.0 18.25 18.5 18.75 19.0 ... 54.25 54.5 54.75 55.0 * lon (lon) float64 73.0 73.25 73.5 73.75 ... 134.2 134.5 134.8 135.0</code></pre> <h1>降水预报和观测分布对比图</h1> <p><strong><font face="黑体" color=blue size = 3>rain_sg(sta_ob,grd_fo,grade_list,save_path=None,show = False,dpi = 200,add_county_line = False,x_y = &quot;dtime_member&quot;,sup_fontsize = 10,height = None,width = None,add_worldmap =False,sup_title = None,point_size = None,ts_grade = None):</font></strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </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>sta_ob </font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个时刻的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grd_fo </font></strong></td> <td style="text-align: left;">预报<a href="https://www.showdoc.cc/meteva?page_id=3975600815874861">网格数据</a>,数据中可以包含多种预报,多种起报时间和预报时效的预报</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grade_list </font></strong></td> <td style="text-align: left;">长度为7的列表,包含小雨、中雨、大雨、暴雨、大暴雨、特大暴雨以及一个降水上限值</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>dpi</strong></td> <td style="text-align: left;">控制输出输出图片的清晰度,和matplotlib参数dpi设置方式一致</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><strong>x_y</strong></td> <td style="text-align: left;">当包含多个子图对比时,该参数取为dtime_member时,列向是不同时效的对比,纵向是不同预报成员的对比</td> </tr> <tr> <td style="text-align: left;"><strong>sup_fontsize</strong></td> <td style="text-align: left;">图片标题的字体大小,其它字体将根据标题字体大小自动设置,其中坐标轴字体大小 = sup_fontsize <em> 0.9, 坐标刻度的字体大小 = sup_fontsize </em> 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>add_worldmap</strong></td> <td style="text-align: left;">是否添加世界地图</td> </tr> <tr> <td style="text-align: left;"><strong>sup_title</strong></td> <td style="text-align: left;">sub_plot 不为None图片中包含多个子图时起作用,sup_title可以时None,字符串或字符串列表,当取值为字符时,所有批量制作的图片会有相同的sup_title,当其为列表时,会逐一为每张图片设置sup_title</td> </tr> <tr> <td style="text-align: left;"><strong>point_size</strong></td> <td style="text-align: left;">观测散点的大小</td> </tr> <tr> <td style="text-align: left;"><strong>ts_grade</strong></td> <td style="text-align: left;">在多模式多时效对比的图形中,每个子图左下角会标注一个等级的TS评分,以便对比,Ts评分的降水等级由该参数确定,缺省时ts_grade = grade_list[0]确定</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">grd_m = meb.read_griddata_from_nc(r"H:\test_data\input\meb\grd_sele_test.nc") print(grd_m)</code></pre> <pre><code>&lt;xarray.DataArray 'data0' (member: 3, level: 1, time: 10, dtime: 4, lat: 81, lon: 101)&gt; array([[[[[[ 2.59400e+00, 2.88400e+00, 1.60200e+00, ..., 7.60000e-02, 3.21000e-01, 4.58000e-01], [ 4.63900e+00, 5.85900e+00, 9.62000e-01, ..., 1.60000e-02, 2.59000e-01, 8.24000e-01], [ 6.62200e+00, 3.31100e+00, 1.81500e+00, ..., 0.00000e+00, 4.50000e-02, 4.12000e-01], ..., [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 9.10900e+00, 1.01930e+01, 1.11390e+01], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 1.12450e+01, 1.05900e+01, 8.63600e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 7.20200e+00, 1.03300e+01, 9.93300e+00]], [[ 2.36050e+01, 2.25220e+01, 1.80360e+01, ..., 6.10000e-02, 3.00000e-02, 1.50000e-02], [ 2.42310e+01, 2.88090e+01, 2.12860e+01, ..., 4.60000e-02, 7.60000e-02, 1.99000e-01], [ 1.75020e+01, 2.56500e+01, 2.76190e+01, ..., 7.60000e-02, 6.10000e-02, 1.38000e-01], ... [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00]], [[ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], ..., [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00], [ 0.00000e+00, 0.00000e+00, 0.00000e+00, ..., 0.00000e+00, 0.00000e+00, 0.00000e+00]]]]]]) Coordinates: * member (member) object 'ECMWF' '网格预报指导报' '国省融合预报' * level (level) float64 0.0 * time (time) datetime64[ns] 2021-07-15T20:00:00 ... 2021-07-20T08:00:00 * dtime (dtime) int32 24 48 72 96 * lat (lat) float64 30.0 30.1 30.2 30.3 30.4 ... 37.6 37.7 37.8 37.9 38.0 * lon (lon) float64 108.0 108.1 108.2 108.3 ... 117.7 117.8 117.9 118.0</code></pre> <pre><code class="language-python">rain24_ob = meb.read_stadata_from_micaps3(r"H:\test_data\input\mpd\rain24h_21072108.000")</code></pre> <pre><code class="language-python">mpd.rain_sg(rain24_ob,grd_m, grade_list = [25,50,100,250,400,600,800],point_size=3,show = True,ts_grade=50)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/30bc606bc13739aeb52b54d84cf8d355" alt="" /></p> <h1>降水预报和观测分布综合对比图</h1> <p><strong><font face="黑体" color=blue size = 3>rain_comprehensive_sg(sta_ob,grd_fo,grade_list, save_path=None,show = False,add_county_line = False): </font></strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </p> <h1>降水预报和观测分布综合对比图(中国范围)</h1> <p><strong><font face="黑体" color=blue size = 3>rain_comprehensive_chinaland_sg(sta_ob,grd_fo,grade_list, save_path=None,show = False,add_county_line = False):</font></strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </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>sta_ob </font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grd_fo </font></strong></td> <td style="text-align: left;">预报<a href="https://www.showdoc.cc/meteva?page_id=3975600815874861">网格数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grade_list </font></strong></td> <td style="text-align: left;">长度为7的列表,包含小雨、中雨、大雨、暴雨、大暴雨、特大暴雨以及一个降水上限值</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">mpd.rain_comprehensive_chinaland_sg(sta_ob_rain03,grd_fo,grade_list = [0.1,4,13,25,60,120,500],show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/9bb82b14deba94d3728fa593a835f2ff" alt="" /></p> <pre><code class="language-python">grid_jx = meb.grid([113,119,0.25],[24,31,0.25]) grd_fo_jx = meb.interp_gg_linear(grd_fo,grid_jx) print(grd_fo_jx)</code></pre> <pre><code>&lt;xarray.DataArray 'data0' (member: 1, level: 1, time: 1, dtime: 1, lat: 29, lon: 25)&gt; array([[[[[[ 0. , 0. , 0. , 0. , 0. , 0.1, 0.1, 0. , 0. , 0. , 0.1, 0.8, 2. , 6. , 1.2, 4.9, 1.6, 3.6, 3. , 2.9, 4. , 1.9, 4.4, 7.3, 13.5], [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.3, 0.5, 0.8, 5.2, 3. , 2.8, 2.5, 5.2, 2.5, 2.2, 2.4, 3.5, 2.9, 6.1], [ 0.1, 0.2, 0. , 0.1, 0. , 0. , 0.1, 0.1, 0. , 0. , 0. , 0.1, 0.4, 0.8, 1.1, 2.5, 3.3, 6. , 2.5, 9.1, 6. , 3. , 1.6, 3.7, 4.2], [ 1.5, 0.2, 0. , 0.2, 0.1, 0.1, 0. , 0.1, 0. , 0. , 0. , 0. , 0.2, 0.2, 0.1, 2. , 3.2, 4.9, 4.7, 3.2, 3.4, 6.7, 4. , 1.8, 1.7], [ 3.8, 3.8, 1.4, 0.3, 0.1, 0. , 0.1, 0.1, 0.1, 0.1, 0. , 0.1, 0. , 0.1, 0.1, 2. , 0.2, 4.1, 8.9, 5.7, 0.9, 1.9, 5.3, 8.4, 2.7], [ 2.9, 4.2, 2.4, 2.2, 2. , 0.4, 0.7, 0.6, 0.3, 0.2, 0.3, 0.3, 0.1, 0.1, 0.1, 0.1, 3.1, 0.4, 1.1, 8.7, 4.1, 3.5, 2. , 3.8, 5.5], [ 4. , 1.8, 2.4, 3.7, 3.5, 1.6, 1.6, 1.5, 1.5, 1.6, 0.7, 0.5, 0.2, 0.2, 0.2, 0.1, 0.4, 0.4, ... 0.3, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.1, 0.3, 0.6, 0.8, 1.4, 2.3, 1.1, 1.8], [ 0. , 0.1, 0. , 0.2, 0.6, 1.1, 1.1, 1.4, 0.9, 0.5, 0.1, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.5, 0.6, 0.1, 0.4, 0.6, 0.4], [ 0. , 0. , 0. , 0. , 0.5, 0.2, 0.3, 0.4, 1. , 1.8, 0.5, 0. , 0. , 0. , 0. , 0. , 0. , 0.2, 0.4, 0.5, 0.6, 0.8, 0.4, 0.3, 0.9], [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.2, 0.5, 0.6, 1.2, 0. , 0. , 0. , 0. , 0. , 0. , 0.1, 0.2, 0.5, 1.1, 0.5, 0.9, 1.5], [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.4, 0.4, 0. , 0. , 0. , 0. , 0. , 0.1, 0.3, 0.2, 0.2, 0.3, 0.5, 0.3], [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.1, 0.6, 0.2, 0. , 0. , 0. , 0. , 0.1, 0. , 0. , 0.1, 0.2, 0.1], [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.1, 0.2, 0.1, 0.7, 1.3, 1.1, 0.4, 0. , 0. , 0. , 0.2, 0. , 0. , 0. , 0. , 0.1]]]]]]) Coordinates: * member (member) &lt;U5 'ECMWF' * level (level) float64 0.0 * time (time) datetime64[ns] 2019-12-30T08:00:00 * dtime (dtime) int32 24 * lat (lat) float64 24.0 24.25 24.5 24.75 25.0 ... 30.25 30.5 30.75 31.0 * lon (lon) float64 113.0 113.2 113.5 113.8 ... 118.2 118.5 118.8 119.0</code></pre> <pre><code class="language-python">mpd.rain_comprehensive_sg(sta_ob_rain03,grd_fo_jx,grade_list = [0.1,4,13,25,60,120,500],show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/4e90c0b49968cb27fc4a3676bd2cd47f" alt="" /></p> <h2>24h降水预报和观测分布对比图</h2> <p><strong><font face="黑体" color=blue size = 3>rain_24h_sg(sta_ob,grd_fo,save_path=None,show = False,add_county_line = False):</font></strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </p> <h2>24h降水预报和观测分布综合对比图</h2> <p><strong><font face="黑体" color=blue size = 3>rain_24h_comprehensive_sg(sta_ob,grd_fo, save_path=None,show = False,add_county_line = False): </font></strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </p> <h2>24h降水预报和观测分布综合对比图(中国范围)</h2> <p><strong><font face="黑体" color=blue size = 3>rain_24h_comprehensive_chinaland_sg(sta_ob,grd_fo, save_path=None,show = False,add_county_line = False):</font></strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </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>sta_ob </font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grd_fo </font></strong></td> <td style="text-align: left;">预报<a href="https://www.showdoc.cc/meteva?page_id=3975600815874861">网格数据</a>,数据中只能有单个起报时刻,单个时效的数据</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">mpd.rain_24h_sg(sta_ob_rain24,grd_fo,r"H:\test_data\output\mpd\program\rain_24h_sg.png",show = True)</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/f9621290a7bd7869beacd7891dcb3cf8?showdoc=.jpg" alt="" /></p> <pre><code class="language-python">mpd.rain_24h_comprehensive_sg(sta_ob_rain24,grd_fo,r"H:\test_data\output\mpd\program\rain_24h_comp.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/08727fe5bbfce48970a03f6578a5b85a" alt="" /></p> <pre><code class="language-python">mpd.rain_24h_comprehensive_chinaland_sg(sta_ob_rain24,grd_fo,r"H:\test_data\output\mpd\program\rain_24h_comp_c.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/4495ee48422397011ea90163e3b772e2" alt="" /></p> <pre><code class="language-python">mpd.rain_24h_comprehensive_sg(sta_ob_rain24,grd_fo_jx,r"H:\test_data\output\mpd\program\rain_24h_jx.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/9138e71a2882e083d32bebdbad3d5167" alt="" /></p> <h2>24h主观落区和观测分布综合对比图</h2> <p><strong><font face="黑体" color=blue size = 3>rain_comprehensive_sl(sta_ob,m14,map_extend,grade_list,save_path=None,show = False,dpi = 200,add_county_line = False,fontsize = None):</font></strong><br /> 根据输入的站点观测数据和主观落区,绘制对比图 </p> <h2>24h主观落区和观测分布综合对比图(中国范围)</h2> <p><strong><font face="黑体" color=blue size = 3>rain_comprehensive_chinaland_sl(sta_ob,m14,grade_list, save_path=None,show = False,dpi = 200,add_county_line = False,point_size = None,fontsize = None):</font></strong><br /> 根据输入的站点观测数据和主观落区,绘制对比图 </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>sta_ob </font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>m14 </font></strong></td> <td style="text-align: left;">读取micaps14文件所得的字典型变量</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>map_extend </font></strong></td> <td style="text-align: left;">底图的范围,采用[slon,elon,slat,elat] 列表作为参数,也可也接受网格信息类变量作为地图范围的参数,注意该参数仅rain_comprehensive_sl 函数包含</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grade_list </font></strong></td> <td style="text-align: left;">需要检验的落区等值线的等级</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>dpi</strong></td> <td style="text-align: left;">输出图片的dpi</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><strong>point_size</strong></td> <td style="text-align: left;">散点的大小</td> </tr> <tr> <td style="text-align: left;"><strong>fontsize</strong></td> <td style="text-align: left;">等值线标注的大小</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">path = r"H:\test_data\input\mpd\rr073008.024" time1 = datetime.datetime(2021,1,5,8,0) m14 = meb.read_micaps14(path,time = time1,dtime = 24,data_name = "主观落区") station = meb.read_station(meb.station_国家站) sta = meb.read_stadata_from_micaps3(r"H:\test_data\input\mpd\ob21053108.000",station = station) meb.set_stadata_names(sta,["rr"]) sta = meb.sele_by_para(sta,value = [0,500]) grade_list = [0.1,10,25,50,100,250,1000] mpd.rain_comprehensive_chinaland_sl(sta,m14,grade_list = grade_list,dpi = 300,point_size = 3,fontsize = 8)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=bc62f95290d908da2522925f13a46d1a" alt="" /></p> <pre><code class="language-python">mpd.rain_comprehensive_sl(sta,m14,map_extend = [110,120,20,30],grade_list = grade_list)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=2ffa307771c900b40a621ea83446e017" alt="" /></p> <h1>温度预报观测对比图(gg)</h1> <p><strong><font face="黑体" color=blue size = 4>temper_gg(grd_ob,grd_fo,save_path = None,show = False,add_county_line = False,unit = &quot;c&quot;,ob_name = &quot;实况&quot;,fo_name = &quot;预报&quot;): </font></strong><br /> 根据输入的站点观测数据和预报数据,绘制对比图 </p> <h1>温度预报观测综合对比图(gg)</h1> <p><strong><font face="黑体" color=blue size = 4> temper_comprehensive_gg(grd_ob,grd_fo,save_path = None,show = False,add_county_line = False,unit = &quot;c&quot;,ob_name = &quot;实况&quot;,fo_name = &quot;预报&quot;):</font></strong><br /> 根据输入的观测数据和预报数据,绘制对比图 </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>grd_ob</font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.cc/meteva?page_id=3975600815874861">网格数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grd_fo</font></strong></td> <td style="text-align: left;">预报<a href="https://www.showdoc.cc/meteva?page_id=3975600815874861">网格数据</a>,数据中只能有单个起报时刻,单个时效的数据</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><strong>unit</strong></td> <td style="text-align: left;">温度的单位,默认时温度colorbar以摄氏度作为单位,覆盖范围为-50℃到44℃,若utint = &quot;k&quot;,则以开尔文温度作为单位,colorbar的覆盖范围为223.15k 到 317.15k</td> </tr> <tr> <td style="text-align: left;"><strong>ob_name</strong></td> <td style="text-align: left;">观测场的名称,将在左上角子图和右侧子图的标注中出现</td> </tr> <tr> <td style="text-align: left;"><strong>fo_name</strong></td> <td style="text-align: left;">预报场的名称,将在左下角子图和右侧子图的标注中出现</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">grd_fo48 = meb.read_griddata_from_nc(r'H:\test_data\input\mpd\grapes_t2m_BT20020108.048.nc', grid = grid0,time = "2020020108",dtime = 48,data_name = "GRAPES_GFS") grd_fo00 = meb.read_griddata_from_nc(r'H:\test_data\input\mpd\grapes_t2m_BT20020308.000.nc', grid = grid0,time = "2020020308",dtime = 0,data_name = "GRAPES_GFS") mpd.temper_gg(grd_fo00,grd_fo48,r"H:\test_data\output\mpd\program\temp.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/690f0add489e155b98efcfb076760317" alt="" /></p> <pre><code class="language-python">mpd.temper_comprehensive_gg(grd_fo00,grd_fo48,r"H:\test_data\output\mpd\program\temp_comp.png",show = True, ob_name = "分析",fo_name = "零场")</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/6ee09c2a2d9fc2eb319ac0a537e871d7" alt="" /></p> <h1>温度预报观测对比图(sg)</h1> <p><strong><font face="黑体" color=blue size = 4>temper_sg(sta_ob,grd_fo,save_path = None,show = False,add_county_line = False,unit = &quot;c&quot;,ob_name = &quot;观测&quot;,fo_name = &quot;预报&quot;): </font></strong><br /> 根据输入的站点观测数据和预报数据,绘制对比图 </p> <h1>温度预报观测综合对比图(sg)</h1> <p><strong><font face="黑体" color=blue size = 4> temper_comprehensive_sg(sta_ob,grd_fo,save_path = None,show = False,add_county_line = False,unit = &quot;c&quot;,ob_name = &quot;观测&quot;,fo_name = &quot;预报&quot;):</font></strong><br /> 根据输入的观测数据和预报数据,绘制对比图 </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>sta_ob</font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.com.cn/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>grd_fo</font></strong></td> <td style="text-align: left;">预报<a href="https://www.showdoc.cc/meteva?page_id=3975600815874861">网格数据</a>,数据中只能有单个起报时刻,单个时效的数据</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><strong>unit</strong></td> <td style="text-align: left;">温度的单位,默认时温度colorbar以摄氏度作为单位,覆盖范围为-50℃到44℃,若utint = &quot;k&quot;,则以开尔文温度作为单位,colorbar的覆盖范围为223.15k 到 317.15k</td> </tr> <tr> <td style="text-align: left;"><strong>ob_name</strong></td> <td style="text-align: left;">观测场的名称,将在左上角子图和右侧子图的标注中出现</td> </tr> <tr> <td style="text-align: left;"><strong>fo_name</strong></td> <td style="text-align: left;">预报场的名称,将在左下角子图和右侧子图的标注中出现</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">station = meb.read_station(meb.station_国家站) sta_fo00 = meb.interp_gs_linear(grd_fo00,station) mpd.temper_sg(sta_fo00,grd_fo48,r"H:\test_data\output\mpd\program\temp_comp_sg.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/8a9dbfa8a56e7834b6bcc1042bbe1309" alt="" /></p> <pre><code class="language-python">mpd.temper_comprehensive_sg(sta_fo00,grd_fo48,r"H:\test_data\output\mpd\program\temp_comp_sg.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/2ed74ce6f2aa4a02ff2268662265ecbd" alt="" /></p> <h1>温度预报观测对比图(ss)</h1> <p><strong><font face="黑体" color=blue size = 4>temper_ss(sta_ob,sta_fo,save_path = None,show = False,add_county_line = False,unit = &quot;c&quot;,ob_name = &quot;观测&quot;,fo_name = &quot;预报&quot;): </font></strong><br /> 根据输入的站点观测数据和预报数据,绘制对比图 </p> <h1>温度预报观测综合对比图(ss)</h1> <p><strong><font face="黑体" color=blue size = 4> temper_comprehensive_ss(sta_ob,sta_fo,save_path = None,show = False,add_county_line = False,unit = &quot;c&quot;,ob_name = &quot;观测&quot;,fo_name = &quot;预报&quot;):</font></strong> 根据输入的观测数据和预报数据,绘制对比图 </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>sta_ob</font></strong></td> <td style="text-align: left;">实况<a href="https://www.showdoc.com.cn/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个起报时刻,单个时效的数据</td> </tr> <tr> <td style="text-align: left;"><strong><font face="黑体" color=blue size = 5>sta_fo</font></strong></td> <td style="text-align: left;">预报<a href="https://www.showdoc.com.cn/meteva?page_id=3975600580125986">站点数据</a>,数据中只能有单个起报时刻,单个时效的数据</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 为None时,程序内部会自动将show设置True</td> </tr> <tr> <td style="text-align: left;"><strong>add_county_line</strong></td> <td style="text-align: left;">绘制底图时是否添加县界</td> </tr> <tr> <td style="text-align: left;"><strong>unit</strong></td> <td style="text-align: left;">温度的单位,默认时温度colorbar以摄氏度作为单位,覆盖范围为-50℃到44℃,若utint = &quot;k&quot;,则以开尔文温度作为单位,colorbar的覆盖范围为223.15k 到 317.15k</td> </tr> <tr> <td style="text-align: left;"><strong>ob_name</strong></td> <td style="text-align: left;">观测场的名称,将在左上角子图和右侧子图的标注中出现</td> </tr> <tr> <td style="text-align: left;"><strong>fo_name</strong></td> <td style="text-align: left;">预报场的名称,将在左下角子图和右侧子图的标注中出现</td> </tr> <tr> <td style="text-align: left;"><font face="黑体" color=blue size=5>return</font></td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">station = meb.read_station(meb.station_国家站) sta_fo00 = meb.interp_gs_linear(grd_fo00,station) sta_fo48 = meb.interp_gs_linear(grd_fo48,station) mpd.temper_ss(sta_fo00,sta_fo48,r"H:\test_data\output\mpd\program\temp_comp_ss.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/53f93a88a6554f8a3ec396f829d704b4" alt="" /></p> <pre><code class="language-python">mpd.temper_comprehensive_ss(sta_fo00,sta_fo48,r"H:\test_data\output\mpd\program\temp_comp_ss.png",show = True)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/30650fd2ed668656591765eddc29c78e" alt="" /></p> <pre><code class="language-python"></code></pre>

页面列表

ITEM_HTML