其他诊断分析计算other
<p>[TOC]</p>
<h1>pressure_to_height_std</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">pressure_to_height_std(pressure)</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;">pressure</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">pressure</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;">height</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>height_to_geopotential</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">height_to_geopotential(hgt)</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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">1</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;">geohgt</td>
<td style="text-align: left;">geopotential height</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>geopotential_to_height</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">geopotential_to_height(geohgt)</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;">geohgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">geopotential height</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;">hgt</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>dry_static_energy</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">dry_static_energy(hgt,tmp)</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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Atmospheric height</td>
</tr>
<tr>
<td style="text-align: left;">tmp</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Air temperature</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;">drsteg</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>Calculate the temperature at a level assuming only dry processes</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">dry_lapse(pres,tmp,reference_pres=None,vertical_dim=0)</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;">pres</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Atmospheric pressure level(s) of interest</td>
</tr>
<tr>
<td style="text-align: left;">tmp</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Starting temperature</td>
</tr>
<tr>
<td style="text-align: left;">reference_pres</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Reference pressure; if not given, it defaults to the first element of the pressure array</td>
</tr>
<tr>
<td style="text-align: left;">vertical_dim</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</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;">tmp2</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>Calculate air parcel air_density</h1>
<p> This calculation must be given an air parcel’s pressure, temperature, and mixing ratio. The implementation uses the formula outlined in [Hobbs2006] pg.67.,代码示例如下:</p>
<pre><code class="language-python">air_density(pres,tmp,mixr,**kwargs)</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;">pres</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;"><em>type</em></td>
<td style="text-align: left;"><em>description</em></td>
</tr>
<tr>
<td style="text-align: left;">tmp</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;"><em>type</em></td>
<td style="text-align: left;"><em>description</em></td>
</tr>
<tr>
<td style="text-align: left;">mixr</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;"><em>type</em></td>
<td style="text-align: left;"><em>description</em></td>
</tr>
<tr>
<td style="text-align: left;">kwargs</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">1</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;">density</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>Calculate the height at a certain pressure above another height</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">add_pres_to_hgt(hgt,pres)</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;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;"><em>description</em></td>
</tr>
<tr>
<td style="text-align: left;">pres</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;"><em>description</em></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;">addhgt</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>Calculate the pressure at a certain height above another pressure level</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">add_hgt_to_pres(pres,hgt)</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;">pres</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;"><em>description</em></td>
</tr>
<tr>
<td style="text-align: left;">hgt</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;"><em>description</em></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;">addpres</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>n点平滑</h1>
<p>平滑处理,代码示例如下:</p>
<pre><code class="language-python">smooth_n_point(stda_data, n=5, passes=1)</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;">stda_data</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">stda数据</td>
</tr>
<tr>
<td style="text-align: left;">n</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">The number of points to use in smoothing, only valid inputs are 5 and 9. Defaults to 5.</td>
</tr>
<tr>
<td style="text-align: left;">passes</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">The number of times to apply the filter to the grid. Defaults to 1.</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;">stda</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">import datetime
from metdig.io.cassandra import get_model_grid
from metdig.utl import utl_stda_grid
from metdig.cal import thermal
from metdig.cal import other
init_time = datetime.datetime(2020, 7, 25, 8)
fhour = 0
tmp = get_model_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='tmp', level=500)
rh = get_model_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='rh', level=500)
td = thermal.dewpoint_from_relative_humidity(tmp, rh)
# smooth
td = other.smooth_n_point(td, 9, 2)
print(td)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray (member: 1, level: 1, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[-40.505894, -40.483128, -40.47175 , ..., -20.539557,
-20.138365, -19.789034],
[-40.426224, -40.430626, -40.437294, ..., -22.153175,
-21.95071 , -21.730204],
[-40.34657 , -40.38035 , -40.411736, ..., -23.498613,
-23.502384, -23.420006],
...,
[-22.147375, -22.062077, -22.000946, ..., -25.965475,
-25.997517, -25.832115],
[-22.369833, -22.328434, -22.285576, ..., -25.912632,
-25.853445, -26.36493 ],
[-22.639416, -22.624666, -22.624666, ..., -25.524725,
-25.198145, -24.89834 ]]]]]], dtype=float32)
Coordinates:
* member (member) int32 0
* level (level) int32 500
* time (time) datetime64[ns] 2020-07-25T08:00:00
* dtime (dtime) int32 0
* lat (lat) float64 -10.0 -9.8 -9.6 -9.4 -9.2 ... 79.4 79.6 79.8 80.0
* lon (lon) float64 0.0 0.2 0.4 0.6 0.8 ... 179.2 179.4 179.6 179.8 180.0
Attributes:
var_name: td
var_cn_name: 露点温度
var_units: degC
valid_time: 0
data_source:
data_type:
model_name: </code></pre>
<h1>高斯滤波</h1>
<p>高斯滤波,代码示例如下:</p>
<pre><code class="language-python">gaussian_filter(input_stda, sigma, order=0, output=None, mode='reflect', cval=0.0, truncate=4.0)</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;">input_stda</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">stda数据</td>
</tr>
<tr>
<td style="text-align: left;">sigma</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;">order</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;">output</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;">mode</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;">cval</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;">truncate</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;"></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;">stda</td>
<td style="text-align: left;">STDA标准格式数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python"></code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>U、V风矢量分量计算</h1>
<p>从速度和方向计算U,V风矢量分量,代码示例如下:</p>
<pre><code class="language-python">wind_components(wsp, wdir)</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;">wsp</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">The wind speed (magnitude)</td>
</tr>
<tr>
<td style="text-align: left;">wdir</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">The wind direction, specified as the direction from which the wind is blowing (0-2 pi radians or 0-360 degrees), with 360 degrees being North.</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;">stda</td>
<td style="text-align: left;">STDA标准格式的风分量数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">import datetime
from metdig.io.cassandra import get_model_3D_grid
from metdig.utl import utl_stda_grid
from metdig.cal import other
init_time = datetime.datetime(2020, 7, 25, 8)
fhour = 0
u = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='u', levels=levels)
v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='v', levels=levels)
# calculate
u, v = other.wind_components(wsp, wdir)
print(u)
print(v)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray (member: 1, level: 1, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[ -2.4654083 , -2.5591583 , -2.7466578 , ...,
-11.277908 , -11.309158 , -11.371657 ],
[ -2.7154083 , -2.809158 , -2.9654086 , ...,
-11.340408 , -11.402908 , -11.496658 ],
[ -2.934158 , -2.9341576 , -3.0279078 , ...,
-11.309158 , -11.496657 , -11.684158 ],
...,
[ -0.4966583 , -0.6841584 , -0.8716583 , ...,
-0.21540827, -0.1841582 , -0.15290831],
[ -0.15290831, -0.30915838, -0.49665833, ...,
0.53459144, 0.6908421 , 0.81584173],
[ 0.1283416 , 0.03459166, -0.12165832, ...,
1.5658413 , 1.7220922 , 1.8783422 ]]]]]], dtype=float32)
Coordinates:
* member (member) int32 0
* level (level) int32 850
* time (time) datetime64[ns] 2020-07-25T08:00:00
* dtime (dtime) int32 0
* lat (lat) float64 -10.0 -9.8 -9.6 -9.4 -9.2 ... 79.4 79.6 79.8 80.0
* lon (lon) float64 0.0 0.2 0.4 0.6 0.8 ... 179.2 179.4 179.6 179.8 180.0
Attributes:
var_name: u
var_cn_name: u方向风速
var_units: m/s
valid_time: 0
data_source:
data_type:
model_name:
&lt;xarray.DataArray (member: 1, level: 1, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[ 1.7791593e+00, 1.9666592e+00, 2.1229100e+00, ...,
5.6041008e-01, 4.9791032e-01, 4.0416047e-01],
[ 1.9354092e+00, 2.1854100e+00, 2.4979093e+00, ...,
4.0415841e-01, 2.1665932e-01, 2.9159503e-02],
[ 2.1541598e+00, 2.4979100e+00, 2.7791598e+00, ...,
2.1665962e-01, 6.0408957e-02, -2.0915652e-03],
...,
[-4.7084048e-01, -3.7709048e-01, -2.5209048e-01, ...,
-1.4708405e+00, -1.5020905e+00, -1.6270905e+00],
[ 2.7915955e-01, 3.4165952e-01, 4.3540952e-01, ...,
-1.5645905e+00, -1.6583402e+00, -1.7833405e+00],
[ 9.9790949e-01, 1.0916595e+00, 1.1854095e+00, ...,
-2.5020905e+00, -2.5645900e+00, -2.6270900e+00]]]]]],
dtype=float32)
Coordinates:
* member (member) int32 0
* level (level) int32 850
* time (time) datetime64[ns] 2020-07-25T08:00:00
* dtime (dtime) int32 0
* lat (lat) float64 -10.0 -9.8 -9.6 -9.4 -9.2 ... 79.4 79.6 79.8 80.0
* lon (lon) float64 0.0 0.2 0.4 0.6 0.8 ... 179.2 179.4 179.6 179.8 180.0
Attributes:
var_name: v
var_cn_name: v方向风速
var_units: m/s
valid_time: 0
data_source:
data_type:
model_name: </code></pre>
<h1>风向计算</h1>
<p>从u和v分量计算风向,代码示例如下:</p>
<pre><code class="language-python">wind_direction(u, v)</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;">u</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Wind component in the X (East-West) direction</td>
</tr>
<tr>
<td style="text-align: left;">v</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Wind component in the Y (East-West) direction</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;">stda</td>
<td style="text-align: left;">STDA标准格式的风向数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">import datetime
from metdig.io.cassandra import get_model_3D_grid
from metdig.utl import utl_stda_grid
from metdig.cal import other
init_time = datetime.datetime(2020, 7, 25, 8)
fhour = 0
u = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='u', levels=levels)
v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='v', levels=levels)
# calculate
wdir = other.wind_direction(u, v)
print(wdir)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray (member: 1, level: 1, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[125.81606 , 127.54152 , 127.70067 , ..., 92.84474 ,
92.52094 , 92.03549 ],
[125.4794 , 127.881454 , 130.10909 , ..., 92.04109 ,
91.08851 , 90.145325 ],
[126.28485 , 130.40845 , 132.54721 , ..., 91.097534 ,
90.301056 , 89.989746 ],
...,
[ 46.528584 , 61.137577 , 73.86971 , ..., 8.331879 ,
6.9896545, 5.3686905],
[151.28848 , 137.85892 , 131.24034 , ..., 341.13565 ,
337.38406 , 335.41687 ],
[187.32861 , 181.81494 , 174.14026 , ..., 327.96112 ,
326.1191 , 324.43564 ]]]]]], dtype=float32)
Coordinates:
* member (member) int32 0
* level (level) int32 850
* time (time) datetime64[ns] 2020-07-25T08:00:00
* dtime (dtime) int32 0
* lat (lat) float64 -10.0 -9.8 -9.6 -9.4 -9.2 ... 79.4 79.6 79.8 80.0
* lon (lon) float64 0.0 0.2 0.4 0.6 0.8 ... 179.2 179.4 179.6 179.8 180.0
Attributes:
var_name: wdir
var_cn_name: 风向
var_units: degree
valid_time: 0
data_source:
data_type:
model_name: </code></pre>
<h1>风速计算</h1>
<p>从u和v分量计算风速,代码示例如下:</p>
<pre><code class="language-python">wind_speed(u, v)</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;">u</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Wind component in the X (East-West) direction</td>
</tr>
<tr>
<td style="text-align: left;">v</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Wind component in the Y (East-West) direction</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;">stda</td>
<td style="text-align: left;">STDA标准格式的风速数据</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">import datetime
from metdig.io.cassandra import get_model_3D_grid
from metdig.utl import utl_stda_grid
from metdig.cal import other
init_time = datetime.datetime(2020, 7, 25, 8)
fhour = 0
u = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='u', levels=levels)
v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name='ecmwf', var_name='v', levels=levels)
# calculate
wsp = other.wind_speed(u, v)
print(wsp)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray (member: 1, level: 1, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[ 3.0403366 , 3.227544 , 3.4714372 , ..., 11.291823 ,
11.320114 , 11.378838 ],
[ 3.3345542 , 3.559127 , 3.877267 , ..., 11.347608 ,
11.404966 , 11.4966955 ],
[ 3.6400123 , 3.8534188 , 4.1099825 , ..., 11.3112335 ,
11.496817 , 11.684158 ],
...,
[ 0.6843685 , 0.7811977 , 0.9073796 , ..., 1.4865303 ,
1.5133374 , 1.6342596 ],
[ 0.3182939 , 0.46077123, 0.66049296, ..., 1.6534 ,
1.7964841 , 1.9610969 ],
[ 1.0061287 , 1.0922076 , 1.1916361 , ..., 2.9516633 ,
3.08913 , 3.2295156 ]]]]]], dtype=float32)
Coordinates:
* member (member) int32 0
* level (level) int32 850
* time (time) datetime64[ns] 2020-07-25T08:00:00
* dtime (dtime) int32 0
* lat (lat) float64 -10.0 -9.8 -9.6 -9.4 -9.2 ... 79.4 79.6 79.8 80.0
* lon (lon) float64 0.0 0.2 0.4 0.6 0.8 ... 179.2 179.4 179.6 179.8 180.0
Attributes:
var_name: wsp
var_cn_name: 风速
var_units: m/s
valid_time: 0
data_source:
data_type:
model_name: </code></pre>