metdig

智能网格预报可视化诊断分析及权重推荐系统


stda拓展接口

<p>[TOC]</p> <p><strong>stda拓展接口</strong></p> <p>采用xr.register_dataarray_accessor和pd.api.extensions.register_dataframe_accessor注册了网格stda和站点stda接口,方便用户调用。</p> <p>网格stda和站点stda接口属性和方法名均保持一致,特殊方法在函数说明中说明。</p> <p>拓展接口均采用&quot;.stda.&quot;方法调用,如:</p> <pre><code class="language-python">import metdig data = xr.DataArray([[271, 272, 273], [274, 275, 276]], dims=("X", "Y"), coords={"X": [10, 20], 'Y': [80, 90, 100]}) data = metdig.utl.xrda_to_gridstda(xrda, lon_dim='X', lat_dim='Y', member=['cassandra'], np_input_units='K', var_name='tmp') print(data.stda.lon) print(data.stda.lat) print(data.stda.values) print(data.stda.description())</code></pre> <h1>属性</h1> <p><font size='4'><b>member</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;">pd.series</td> <td style="text-align: left;">获取member维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>level</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;">pd.series</td> <td style="text-align: left;">获取level维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>fcst_time</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;">pd.series</td> <td style="text-align: left;">获取fcst_time(timexdtime)维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>time</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;">pd.series</td> <td style="text-align: left;">获取time维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>dtime</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;">pd.series</td> <td style="text-align: left;">获取dtime维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>id</b></font></p> <p>仅支持站点型stda</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;">pd.series</td> <td style="text-align: left;">获取id维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>lat</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;">pd.series</td> <td style="text-align: left;">获取lat维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>lon</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;">pd.series</td> <td style="text-align: left;">获取lon维度数据</td> </tr> </tbody> </table> <p><font size='4'><b>values</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;">numpy</td> <td style="text-align: left;">获取stda数据</td> </tr> </tbody> </table> <p><font size='4'><b>quantity</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;">quantity numpy</td> <td style="text-align: left;">获取带单位的数据</td> </tr> </tbody> </table> <h1>设置stda数据</h1> <p>设置stda数据,如果给定var_name,则自动赋值stda属性</p> <pre><code class="language-python">set_values(values, var_name=None, **attrs_kwargv)</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;">values</td> <td style="text-align: left;"><font color='red'>是</font></td> <td style="text-align: left;">array_like</td> <td style="text-align: left;">values</td> </tr> <tr> <td style="text-align: left;">var_name</td> <td style="text-align: left;"><font color='red'>否</font></td> <td style="text-align: left;">str</td> <td style="text-align: left;">要素名</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">其他参数<code>**attrs_kwargv</code></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;">data_source</td> <td style="text-align: left;">否</td> <td style="text-align: left;">str</td> <td style="text-align: left;">数据源</td> </tr> <tr> <td style="text-align: left;">data_type</td> <td style="text-align: left;">否</td> <td style="text-align: left;">str</td> <td style="text-align: left;">数据类型</td> </tr> <tr> <td style="text-align: left;">data_name</td> <td style="text-align: left;">否</td> <td style="text-align: left;">str</td> <td style="text-align: left;">模式名</td> </tr> </tbody> </table> <h1>获取维度数据</h1> <p>获取维度数据,如果dim_name='fcst_time'情况下,特殊处理,返回time*dtime</p> <pre><code class="language-python">get_dim_value(dim_name)</code></pre> <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;">dim_name</td> <td style="text-align: left;"><font color='red'>是</font></td> <td style="text-align: left;">str</td> <td style="text-align: left;">维度名</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">返回值</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">numpy</td> <td style="text-align: left;">维度数据</td> </tr> </tbody> </table> <h1>根据维度名获取stda数据</h1> <p>根据维度名获取stda数据, 注: 1、网格stda仅支持二维,非二维数据调用该函数会报错 2、站点stda为pd.DataFrame,无意义,故忽略xdim ydim两个参数</p> <pre><code class="language-python">get_value(ydim='lat', xdim='lon')</code></pre> <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;">ydim</td> <td style="text-align: left;"><font color='red'>否</font></td> <td style="text-align: left;">str</td> <td style="text-align: left;">维度名</td> </tr> <tr> <td style="text-align: left;">xdim</td> <td style="text-align: left;"><font color='red'>否</font></td> <td style="text-align: left;">str</td> <td style="text-align: left;">维度名</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">返回值</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">numpy</td> <td style="text-align: left;">stda数据</td> </tr> </tbody> </table> <h1>获取预报描述信息</h1> <p>获取描述信息,格式如下: 起报时间: Y年m月d日H时 预报时间: Y年m月d日H时 预报时效: 小时</p> <pre><code class="language-python">description()</code></pre> <table> <thead> <tr> <th style="text-align: left;">返回值</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">str</td> <td style="text-align: left;">描述信息</td> </tr> </tbody> </table> <h1>获取站点描述信息</h1> <p>获取描述信息,格式如下: 起报时间: Y年m月d日H时 [data_name]N小时预报[describe] 预报点: lon, lat</p> <p>起报时间: Y年m月d日H时 [data_name]实况info 分析点: lon, lat</p> <pre><code class="language-python">description_point(describe='')</code></pre> <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;">describe</td> <td style="text-align: left;"><font color='red'>否</font></td> <td style="text-align: left;">str</td> <td style="text-align: left;">自定义描述</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">返回值</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">str</td> <td style="text-align: left;">描述信息</td> </tr> </tbody> </table> <h1>过滤数据</h1> <p>根据conditon条件过滤数据,类似于xr.DataArray.where</p> <pre><code class="language-python">where(conditon, other=np.nan)</code></pre> <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;">conditon</td> <td style="text-align: left;"><font color='red'>是</font></td> <td style="text-align: left;">array_like</td> <td style="text-align: left;">判断条件,必须是bool类型数组</td> </tr> <tr> <td style="text-align: left;">other</td> <td style="text-align: left;"><font color='red'>否</font></td> <td style="text-align: left;">str</td> <td style="text-align: left;">填充值</td> </tr> </tbody> </table> <table> <thead> <tr> <th style="text-align: left;">返回值</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">str</td> <td style="text-align: left;">描述信息</td> </tr> </tbody> </table>

页面列表

ITEM_HTML