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> <h1>预报和观测分布对比图</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;compare_sg(sta_ob,grd_fo,grade_list,cmap_sta = None,cmap_grid= None,extend = &quot;both&quot;,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):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_fo &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grade_list &lt;/font&gt;</strong></td> <td style="text-align: left;">对比图中的要素等级</td> </tr> <tr> <td style="text-align: left;">cmap_sta</td> <td style="text-align: left;">站点实况数据的cmap</td> </tr> <tr> <td style="text-align: left;">cmap_grid</td> <td style="text-align: left;">格点预报数据的cmap</td> </tr> <tr> <td style="text-align: left;">extend</td> <td style="text-align: left;">colorbar的类型,默认两头是尖的</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <h2>固定实况时间的示例</h2> <p>固定一个实况时间,对比该实况时间匹配的不同模式的不同时效的预报场</p> <pre><code class="language-python">grd_m = meb.read_griddata_from_nc(r&amp;quot;H:\test_data\input\meb\grd_sele_test.nc&amp;quot;) print(grd_m)</code></pre> <pre><code>&amp;lt;xarray.DataArray &amp;#039;data0&amp;#039; (member: 3, level: 1, time: 10, dtime: 4, lat: 81, lon: 101)&amp;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 &amp;#039;ECMWF&amp;#039; &amp;#039;网格预报指导报&amp;#039; &amp;#039;国省融合预报&amp;#039; * 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 Attributes: dtime_units: hour</code></pre> <pre><code class="language-python">rain24_ob = meb.read_stadata_from_micaps3(r&amp;quot;H:\test_data\input\mpd\rain24h_21072108.000&amp;quot;) print(rain24_ob)</code></pre> <pre><code> level time dtime id lon lat data0 0 0 2021-07-21 08:00:00 0 45007 113.91 22.30 97.5 1 0 2021-07-21 08:00:00 0 45032 113.98 22.47 100.0 2 0 2021-07-21 08:00:00 0 45035 114.16 22.53 67.5 3 0 2021-07-21 08:00:00 0 45039 114.21 22.40 159.0 4 0 2021-07-21 08:00:00 0 45044 114.03 22.20 90.5 ... ... ... ... ... ... ... ... 2713 0 2021-07-21 08:00:00 0 59981 112.33 16.83 1.2 2714 0 2021-07-21 08:00:00 0 59985 111.60 16.53 0.0 2715 0 2021-07-21 08:00:00 0 59993 114.22 10.21 0.0 2716 0 2021-07-21 08:00:00 0 59994 114.29 9.71 0.0 2717 0 2021-07-21 08:00:00 0 59996 114.50 9.91 0.0 [2718 rows x 7 columns]</code></pre> <pre><code class="language-python">mpd.compare_sg(rain24_ob,grd_m, grade_list = [0.1,3,5,10,20,50],cmap_sta = &amp;quot;Reds&amp;quot;,cmap_grid = &amp;quot;Blues&amp;quot;,point_size=3,show = False,ts_grade=50)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=464393fd9ca5fd1ad3498cbc4a0c7b6f&amp;amp;file=file.png" alt="" /></p> <h2>固定起报时间的示例</h2> <p>固定一个起报时间,对比不同模式的不同时效的预报场和对应实况站点数据</p> <pre><code class="language-python">time_fo= datetime.datetime(2022,6,12,20,0) station = meb.read_stadata_from_micaps3(meb.station_国家站) station.iloc[:,-1] = meb.IV ##读取收集观测数据 dir1 = r&amp;quot;D:\book\test_data\input\OBS_with_noise\rain01\YYYYMMDDHH.000&amp;quot; sta_list = [] for dh in range(1,13,1): time_ob = time_fo + datetime.timedelta(hours = dh) path = meb.get_path(dir1,time_ob) sta = meb.read_stadata_from_micaps3(path,station = station,time = time_ob,dtime = 0,data_name = &amp;quot;OBS&amp;quot;,show = True) sta_list.append(sta) ob_rain01 = meb.concat(sta_list) ob_rain01 = meb.sele_by_para(ob_rain01,value=[0,300]) #保留取值合理的样本 #由逐小时降水计算逐3小时降水 ob_rain03 = meb.sum_of_sta(ob_rain01,used_coords=[&amp;quot;time&amp;quot;],span = 3) </code></pre> <pre><code>success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061221.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061222.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061223.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061300.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061301.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061302.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061303.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061304.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061305.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061306.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061307.000 success read from D:\book\test_data\input\OBS_with_noise\rain01\2022061308.000</code></pre> <pre><code class="language-python">dir_A = r&amp;quot;D:\book\test_data\input\MODEL_A\ACPC\YYYYMMDD\YYMMDDHH.TTT.nc&amp;quot; grd_list =[] for dh in range(0,13,3): path = meb.get_path(dir_A,time_fo,dh) grd = meb.read_griddata_from_nc(path,time = time_fo,dtime = dh, data_name = &amp;quot;MODEL_A&amp;quot;,show = True) if grd is not None: grd_list.append(grd) MODEL_A_ACPC = meb.concat(grd_list) MODEL_A_rain03 = meb.change(MODEL_A_ACPC,used_coords=[&amp;quot;dtime&amp;quot;],delta=3) </code></pre> <pre><code>success read from D:\book\test_data\input\MODEL_A\ACPC\20220612\22061220.000.nc success read from D:\book\test_data\input\MODEL_A\ACPC\20220612\22061220.003.nc success read from D:\book\test_data\input\MODEL_A\ACPC\20220612\22061220.006.nc success read from D:\book\test_data\input\MODEL_A\ACPC\20220612\22061220.009.nc success read from D:\book\test_data\input\MODEL_A\ACPC\20220612\22061220.012.nc</code></pre> <pre><code class="language-python">dir_B = r&amp;quot;D:\book\test_data\input\MODEL_B\rain03\YYYYMMDD\YYMMDDHH.TTT.nc&amp;quot; grd_list =[] for dh in range(0,13,3): path = meb.get_path(dir_B,time_fo,dh) grd = meb.read_griddata_from_nc(path,time = time_fo,dtime = dh, data_name = &amp;quot;MODEL_B&amp;quot;,show = True) if grd is not None: grd_list.append(grd) MODEL_B_rain03 = meb.concat(grd_list) </code></pre> <pre><code>D:\book\test_data\input\MODEL_B\rain03\20220612\22061220.000.nc not exists success read from D:\book\test_data\input\MODEL_B\rain03\20220612\22061220.003.nc success read from D:\book\test_data\input\MODEL_B\rain03\20220612\22061220.006.nc success read from D:\book\test_data\input\MODEL_B\rain03\20220612\22061220.009.nc success read from D:\book\test_data\input\MODEL_B\rain03\20220612\22061220.012.nc</code></pre> <pre><code class="language-python">grd_all = meb.combine_griddata([MODEL_A_rain03,MODEL_B_rain03],dtime_list=[3,6,9,12]) print(grd_all)</code></pre> <pre><code>&amp;lt;xarray.DataArray &amp;#039;data0&amp;#039; (member: 2, level: 1, time: 1, dtime: 4, lat: 25, lon: 41)&amp;gt; array([[[[[[ 0. , 0. , 0. , ..., 0. , 0. , 0. ], [ 0.1, 0. , 0.9, ..., 0. , 0. , 0. ], [ 0. , 0. , 0.1, ..., 0. , 0. , 0. ], ..., [ 0.1, 0.2, 0.2, ..., 10. , 12.6, 19.7], [ 0. , 0.1, 0.1, ..., 20. , 25.3, 19.3], [ 0. , 0. , 0. , ..., 4.8, 5. , 5. ]], [[ 0. , 0.2, 0.1, ..., 0. , 0. , 0. ], [ 0.3, 0. , 0. , ..., 0. , 0. , 0. ], [ 2.7, 0.6, 0.3, ..., 0. , 0. , 0. ], ..., [ 0. , 0. , 0. , ..., 0. , 0.4, 4.2], [ 0. , 0. , 0. , ..., 0.2, 0.2, 0.4], [ 0. , 0. , 0. , ..., 0.6, 0.1, 0.2]], [[ 0. , 0.3, 0. , ..., 0. , 0. , 0. ], [ 0.1, 0. , 0. , ..., 0. , 0. , 0. ], [ 0.6, 0.6, 0. , ..., 0. , 0. , 0. ], ..., ... ..., [ 0.5, 0.5, 0.6, ..., 0.4, 0.4, 0.4], [ 0.2, 0.3, 0.6, ..., 0.4, 0.5, 0.6], [ 0. , 0. , 0. , ..., 0.2, 0.3, 0.5]], [[ 1.4, 1.2, 0.9, ..., 0. , 0. , 0. ], [ 2.7, 2.5, 1.7, ..., 0.3, 0.1, 0. ], [ 4.5, 4.4, 3. , ..., 1.7, 1.1, 0.4], ..., [ 0. , 0. , 0. , ..., 0.3, 0.4, 0.4], [ 0. , 0. , 0. , ..., 0.2, 0.2, 0.3], [ 0. , 0. , 0. , ..., 0.3, 0.4, 0.4]], [[ 4.7, 3.3, 2.5, ..., 0.1, 0.1, 0.1], [ 6.6, 5.8, 4.4, ..., 0.5, 0.4, 0.2], [ 9.1, 9.3, 9. , ..., 1.6, 0.9, 0.3], ..., [ 0. , 0. , 0. , ..., 0.4, 0.4, 0.5], [ 0. , 0. , 0. , ..., 0.5, 0.6, 0.8], [ 0. , 0. , 0. , ..., 0.7, 0.9, 1.1]]]]]]) Coordinates: * member (member) &amp;lt;U7 &amp;#039;MODEL_A&amp;#039; &amp;#039;MODEL_B&amp;#039; * level (level) float64 0.0 * time (time) datetime64[ns] 2022-06-12T20:00:00 * dtime (dtime) int32 3 6 9 12 * lat (lat) float64 24.0 24.25 24.5 24.75 25.0 ... 29.25 29.5 29.75 30.0 * lon (lon) float64 110.0 110.2 110.5 110.8 ... 119.2 119.5 119.8 120.0</code></pre> <pre><code class="language-python">print(ob_rain03)</code></pre> <pre><code> level time dtime id lon lat OBS 0 0 2022-06-12 23:00:00 0 50136 122.52 52.97 0.49 1 0 2022-06-12 23:00:00 0 50137 122.37 53.47 0.00 2 0 2022-06-12 23:00:00 0 50246 124.72 52.35 1.04 3 0 2022-06-12 23:00:00 0 50247 123.57 52.03 0.18 4 0 2022-06-12 23:00:00 0 50349 124.40 51.67 0.36 ... ... ... ... ... ... ... ... 24085 0 2022-06-13 08:00:00 0 59945 109.70 18.65 0.00 24086 0 2022-06-13 08:00:00 0 59948 109.58 18.22 0.00 24087 0 2022-06-13 08:00:00 0 59951 110.33 18.80 0.00 24088 0 2022-06-13 08:00:00 0 59954 110.03 18.55 0.00 24089 0 2022-06-13 08:00:00 0 59981 112.33 16.83 0.00 [24090 rows x 7 columns]</code></pre> <pre><code class="language-python">mpd.compare_sg(ob_rain03,grd_all,grade_list = [0.1,5,10,25,50,100,250],ts_grade=25,point_size=3)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c52f062b27133cb716488526892680e6&amp;amp;file=file.png" alt="" /></p> <h1>降水预报和观测分布对比图</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;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):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_fo &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grade_list &lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</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&amp;quot;H:\test_data\input\meb\grd_sele_test.nc&amp;quot;) print(grd_m)</code></pre> <pre><code>&amp;lt;xarray.DataArray &amp;#039;data0&amp;#039; (member: 3, level: 1, time: 10, dtime: 4, lat: 81, lon: 101)&amp;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 &amp;#039;ECMWF&amp;#039; &amp;#039;网格预报指导报&amp;#039; &amp;#039;国省融合预报&amp;#039; * 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&amp;quot;H:\test_data\input\mpd\rain24h_21072108.000&amp;quot;)</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>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;rain_comprehensive_sg(sta_ob,grd_fo,grade_list, save_path=None,show = False,add_county_line = False): &lt;/font&gt;</strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </p> <h1>降水预报和观测分布综合对比图(中国范围)</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;rain_comprehensive_chinaland_sg(sta_ob,grd_fo,grade_list, save_path=None,show = False,add_county_line = False):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_fo &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grade_list &lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></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&amp;#039;H:\test_data\input\mpd\ec_rain24_BT19123008.024&amp;#039;,grid = grid0) meb.set_griddata_coords(grd_fo,gtime = [datetime.datetime(2019,12,30,8,0)],dtime_list= [24],member_list= [&amp;quot;ECMWF&amp;quot;]) sta = meb.read_stadata_from_micaps3(r&amp;#039;H:\test_data\input\mpd\ob_rain24_BT19123108.000&amp;#039;) sta = meb.between_value_range(sta, 0, 1000) sta_ob_rain03 = sta.copy() meb.set_stadata_attrs(sta_ob_rain03,var_name = &amp;quot;rain03&amp;quot;) sta_ob_rain24 = sta.copy() meb.set_stadata_attrs(sta_ob_rain24,var_name = &amp;quot;rain24&amp;quot;)</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>&amp;lt;xarray.DataArray &amp;#039;data0&amp;#039; (member: 1, level: 1, time: 1, dtime: 1, lat: 149, lon: 249)&amp;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) &amp;lt;U5 &amp;#039;ECMWF&amp;#039; * 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> <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>&amp;lt;xarray.DataArray &amp;#039;data0&amp;#039; (member: 1, level: 1, time: 1, dtime: 1, lat: 29, lon: 25)&amp;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) &amp;lt;U5 &amp;#039;ECMWF&amp;#039; * 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>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;rain_24h_sg(sta_ob,grd_fo,save_path=None,show = False,add_county_line = False):&lt;/font&gt;</strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </p> <h2>24h降水预报和观测分布综合对比图</h2> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;rain_24h_comprehensive_sg(sta_ob,grd_fo, save_path=None,show = False,add_county_line = False): &lt;/font&gt;</strong><br /> 根据输入的站点观测数据和网格预报数据,绘制对比图 </p> <h2>24h降水预报和观测分布综合对比图(中国范围)</h2> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;rain_24h_comprehensive_chinaland_sg(sta_ob,grd_fo, save_path=None,show = False,add_county_line = False):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_fo &lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</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&amp;quot;H:\test_data\output\mpd\program\rain_24h_sg.png&amp;quot;,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&amp;quot;H:\test_data\output\mpd\program\rain_24h_comp.png&amp;quot;,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&amp;quot;H:\test_data\output\mpd\program\rain_24h_comp_c.png&amp;quot;,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&amp;quot;H:\test_data\output\mpd\program\rain_24h_jx.png&amp;quot;,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>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;rain_comprehensive_sl(sta_ob,m14,map_extend,grade_list,save_path=None,show = False,dpi = 200,add_county_line = False,fontsize = None):&lt;/font&gt;</strong><br /> 根据输入的站点观测数据和主观落区,绘制对比图 </p> <h2>24h主观落区和观测分布综合对比图(中国范围)</h2> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 3&gt;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):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob &lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;m14 &lt;/font&gt;</strong></td> <td style="text-align: left;">读取micaps14文件所得的字典型变量</td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;map_extend &lt;/font&gt;</strong></td> <td style="text-align: left;">底图的范围,采用[slon,elon,slat,elat] 列表作为参数,也可也接受网格信息类变量作为地图范围的参数,注意该参数仅rain_comprehensive_sl 函数包含</td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grade_list &lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</td> <td style="text-align: left;">无返回值</td> </tr> </tbody> </table> <p><strong>调用示例:</strong></p> <pre><code class="language-python">path = r&amp;quot;H:\test_data\input\mpd\rr073008.024&amp;quot; time1 = datetime.datetime(2021,1,5,8,0) m14 = meb.read_micaps14(path,time = time1,dtime = 24,data_name = &amp;quot;主观落区&amp;quot;) station = meb.read_station(meb.station_国家站) sta = meb.read_stadata_from_micaps3(r&amp;quot;H:\test_data\input\mpd\ob21053108.000&amp;quot;,station = station) meb.set_stadata_names(sta,[&amp;quot;rr&amp;quot;]) 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>&lt;font face=&quot;黑体&quot; color=blue size = 4&gt;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;): &lt;/font&gt;</strong><br /> 根据输入的站点观测数据和预报数据,绘制对比图 </p> <h1>温度预报观测综合对比图(gg)</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 4&gt; 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;):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_ob&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_fo&lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</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&amp;#039;H:\test_data\input\mpd\grapes_t2m_BT20020108.048.nc&amp;#039;, grid = grid0,time = &amp;quot;2020020108&amp;quot;,dtime = 48,data_name = &amp;quot;GRAPES_GFS&amp;quot;) grd_fo00 = meb.read_griddata_from_nc(r&amp;#039;H:\test_data\input\mpd\grapes_t2m_BT20020308.000.nc&amp;#039;, grid = grid0,time = &amp;quot;2020020308&amp;quot;,dtime = 0,data_name = &amp;quot;GRAPES_GFS&amp;quot;) mpd.temper_gg(grd_fo00,grd_fo48,r&amp;quot;H:\test_data\output\mpd\program\temp.png&amp;quot;,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&amp;quot;H:\test_data\output\mpd\program\temp_comp.png&amp;quot;,show = True, ob_name = &amp;quot;分析&amp;quot;,fo_name = &amp;quot;零场&amp;quot;)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/6ee09c2a2d9fc2eb319ac0a537e871d7" alt="" /></p> <h1>温度预报观测对比图(sg)</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 4&gt;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;): &lt;/font&gt;</strong><br /> 根据输入的站点观测数据和预报数据,绘制对比图 </p> <h1>温度预报观测综合对比图(sg)</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 4&gt; 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;):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grd_fo&lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</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&amp;quot;H:\test_data\output\mpd\program\temp_comp_sg.png&amp;quot;,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&amp;quot;H:\test_data\output\mpd\program\temp_comp_sg.png&amp;quot;,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>&lt;font face=&quot;黑体&quot; color=blue size = 4&gt;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;): &lt;/font&gt;</strong><br /> 根据输入的站点观测数据和预报数据,绘制对比图 </p> <h1>温度预报观测综合对比图(ss)</h1> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 4&gt; 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;):&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_ob&lt;/font&gt;</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>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;sta_fo&lt;/font&gt;</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;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</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&amp;quot;H:\test_data\output\mpd\program\temp_comp_ss.png&amp;quot;,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&amp;quot;H:\test_data\output\mpd\program\temp_comp_ss.png&amp;quot;,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