动力诊断分析计算dynamic
<p>[TOC]</p>
<h1>地转风计算</h1>
<p>从位势高度计算地转风,代码示例如下:</p>
<pre><code class="language-python">geostrophic_wind(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;">位势高度</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>气压垂直运动速度计算</h1>
<p>从高度垂直速度、温度、风计算的气压垂直运动速度,代码示例如下:</p>
<pre><code class="language-python">vertical_velocity_pressure(w, tmp, mir=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;">w</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Vertical velocity in terms of 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;">温度</td>
</tr>
<tr>
<td style="text-align: left;">mir</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;">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>垂直运动速度计算</h1>
<p>从垂直速度、温度计算的垂直运动速度,代码示例如下:</p>
<pre><code class="language-python">vertical_velocity(vvel, tmp, mir=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;">vvel</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>
<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;">温度</td>
</tr>
<tr>
<td style="text-align: left;">mir</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;">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>平流计算</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">var_advect(var, 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;">var</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">any variable</td>
</tr>
<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;">x component of the wind</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;">y component of the wind</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标准格式adv数据</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>垂直涡度计算</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">vorticity(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;">x component of the wind</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;">y component of the wind</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标准格式vort数据</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>锋生函数计算</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">frontogenesis(thta, 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;">thta</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">Potential temperature</td>
</tr>
<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;">x component of the wind</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;">y component of the wind</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标准格式fg数据</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>绝对涡度计算</h1>
<p>从u和v分量计算水平风的绝对涡度,代码示例如下:</p>
<pre><code class="language-python">absolute_vorticity(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;">x component of the wind</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;">y component of the wind</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>斜压势涡度计算</h1>
<p>利用位温、压力、和风场计算斜压势涡度,代码示例如下:</p>
<pre><code class="language-python">potential_vorticity_baroclinic(thta, pres, 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;">thta</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">potential temperature</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;">vertical pressures</td>
</tr>
<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;">x component of the wind</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;">y component of the wind</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 thermal
from metdig.cal import dynamic
init_time = datetime.datetime(2020, 7, 25, 8)
fhour = 0
levels = [1000, 950, 925, 900, 850, 800, 700, 600, 500, 400, 300, 250, 200, 100]
u = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&#039;ecmwf&#039;, var_name=&#039;u&#039;, levels=levels)
v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&#039;ecmwf&#039;, var_name=&#039;v&#039;, levels=levels)
tmp = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&#039;ecmwf&#039;, var_name=&#039;tmp&#039;, levels=levels)
# calculate
pres = utl_stda_grid.gridstda_full_like_by_levels(u, levels)
thta = thermal.potential_temperature(pres, tmp)
pv = dynamic.potential_vorticity_baroclinic(thta, pres, u, v)
print(pv)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray (member: 1, level: 14, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[ 2.42653208e-03, -9.06594581e-04, 9.03788300e-03, ...,
1.05679417e-02, -1.79319269e-02, -3.54432669e-02],
[-8.56029122e-04, -2.10480316e-04, 2.95052433e-03, ...,
1.71613100e-02, -1.72281677e-03, 9.52016372e-04],
[ 1.94503847e-03, 2.35540282e-03, -1.07981185e-03, ...,
3.23233838e-02, 6.96729083e-03, 1.26707127e-02],
...,
[ 1.90764251e+00, 1.81903254e+00, 1.79525162e+00, ...,
4.86636599e-01, 4.84865614e-01, 4.91173336e-01],
[ 2.36314496e+00, 2.30739644e+00, 2.20754878e+00, ...,
4.91857796e-01, 5.01382352e-01, 5.05216317e-01],
[ 2.97358257e+00, 2.89763889e+00, 2.73886184e+00, ...,
4.47651820e-01, 3.93679602e-01, 3.76747210e-01]]]],
...,
[[[[-8.74497398e-01, -7.49609125e-01, -1.05337205e+00, ...,
-1.17909262e+00, -1.25825376e+00, -1.48523137e+00],
[-7.51946660e-01, -8.30235839e-01, -9.74355866e-01, ...,
-1.32578746e+00, -1.26616599e+00, -1.20646962e+00],
[-6.67381319e-01, -8.05505464e-01, -8.84519345e-01, ...,
-1.41694963e+00, -1.37305071e+00, -1.27051837e+00],
...,
[ 1.43798191e+01, 1.36212244e+01, 1.37080585e+01, ...,
1.36602877e+01, 1.36451287e+01, 1.43765137e+01],
[ 1.33641409e+01, 1.35105510e+01, 1.35361141e+01, ...,
1.36184645e+01, 1.35851057e+01, 1.42015599e+01],
[ 1.32721926e+01, 1.26656305e+01, 1.26876839e+01, ...,
1.36954145e+01, 1.36768845e+01, 1.34744539e+01]]]]]])
Coordinates:
* member (member) int32 0
* level (level) int64 1000 950 925 900 850 800 ... 500 400 300 250 200 100
* 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: pv
var_cn_name: 位涡
var_units: 10^6*k*m**2/kg/s
valid_time: 0
data_source:
data_type:
model_name: </code></pre>
<h1>水平散度计算</h1>
<p>利用u风和v风计算水平散度,代码示例如下:</p>
<pre><code class="language-python">divergence(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;">x component of the wind</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;">y component of the wind</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 dynamic
init_time = datetime.datetime(2020, 7, 25, 8)
fhour = 0
levels = [1000, 950, 925, 900, 850, 800, 700, 600, 500, 400, 300, 250, 200, 100]
u = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&#039;ecmwf&#039;, var_name=&#039;u&#039;, levels=levels)
v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&#039;ecmwf&#039;, var_name=&#039;v&#039;, levels=levels)
tmp = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&#039;ecmwf&#039;, var_name=&#039;tmp&#039;, levels=levels)
# calculate
div = dynamic.divergence(u, v)
print(div)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray (member: 1, level: 14, time: 1, dtime: 1, lat: 451, lon: 901)&gt;
array([[[[[[ 8.28578083e-01, -2.75427025e-02, -5.25862627e-01, ...,
1.61813698e+00, 3.10225809e+00, 4.41506584e+00],
[ 5.05862341e-01, 1.49362599e-01, -2.77396675e-01, ...,
4.16355116e-01, 1.09474504e+00, 2.12911450e+00],
[-3.85928486e-01, 1.48003209e-01, 4.16160248e-02, ...,
-3.91915801e-01, -7.74351686e-01, -6.95111180e-01],
......
[ 2.43786012e+00, 1.65944276e+00, 1.72970230e+00, ...,
-1.62709425e+00, -2.01630292e+00, -2.79472028e+00],
[ 6.52995033e-01, 6.52995033e-01, 6.52995033e-01, ...,
-1.72754726e+00, -2.05404478e+00, -2.84755888e+00],
[-8.26166222e-01, -1.69481683e-02, -2.97986298e-01, ...,
-1.47791704e+00, -1.26713844e+00, -1.26713844e+00]]]]]])
Coordinates:
* member (member) int32 0
* level (level) int64 1000 950 925 900 850 800 ... 500 400 300 250 200 100
* 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: div
var_cn_name: 散度
var_units: 10^5/s
valid_time: 0
data_source:
data_type:
model_name: </code></pre>
<h1>相对涡度及其切变和曲率计算</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">shear_vorticity(u, v, fill_value=np.nan)</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;">x component of the vector</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;">y component of the vector</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;">vort</td>
<td style="text-align: left;">atmosphere_upward_relative_vorticity(STDA标准格式)</td>
</tr>
<tr>
<td style="text-align: left;">shear_vort</td>
<td style="text-align: left;">shear_component_of_atmosphere_upward_relative_vorticity(STDA标准格式)</td>
</tr>
<tr>
<td style="text-align: left;">curve_vort</td>
<td style="text-align: left;">curvature_component_atmosphere_upward_relative_vorticity(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>风暴螺旋度计算</h1>
<p>代码示例如下:</p>
<pre><code class="language-python">storm_relative_helicity(hgt, u, v, depth, bottom=None, storm_u=None, storm_v=None)</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;">位势高度</td>
</tr>
<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;">x component of the wind</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;">y component of the wind</td>
</tr>
<tr>
<td style="text-align: left;">depth</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">float or int</td>
<td style="text-align: left;">Depth of the layer (unit: km)</td>
</tr>
<tr>
<td style="text-align: left;">bottom</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">float or int, optional</td>
<td style="text-align: left;">Height of layer bottom AGL (default is surface). Defaults to None</td>
</tr>
<tr>
<td style="text-align: left;">storm_u</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">float or int, optional</td>
<td style="text-align: left;">U component of storm motion (default is 0 m/s). Defaults to None</td>
</tr>
<tr>
<td style="text-align: left;">storm_v</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">float or int, optional</td>
<td style="text-align: left;">V component of storm motion (default is 0 m/s). Defaults to None</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;">positive_srh</td>
<td style="text-align: left;">Positive storm-relative helicity(stda标准格式)</td>
</tr>
<tr>
<td style="text-align: left;">negative_srh</td>
<td style="text-align: left;">Negative storm-relative helicity(stda标准格式)</td>
</tr>
<tr>
<td style="text-align: left;">total_srh</td>
<td style="text-align: left;">Total storm-relative helicity(stda标准格式)</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font></p>
<pre><code class="language-python">init_time = datetime(2023,5,4,8)
points = {&#039;id&#039;: [&#039;54511&#039;], &#039;lon&#039;: [117], &#039;lat&#039;: [30]}
hgt = cmadaas.get_model_points(data_name=&#039;ecmwf_hr&#039;,var_name=&#039;hgt&#039;,
init_time=init_time,fhours=[24, 36], points = points, levels=[200,500, 700, 800])
u = cmadaas.get_model_points(data_name=&#039;ecmwf_hr&#039;,var_name=&#039;u&#039;,
init_time=init_time,fhours=[24, 36], points = points, levels=[200,500, 700, 800])
v = cmadaas.get_model_points(data_name=&#039;ecmwf_hr&#039;,var_name=&#039;v&#039;,
init_time=init_time,fhours=[24, 36], points = points, levels=[200,500, 700, 800])
p, r, t = metdig.cal.dynamic.storm_relative_helicity(hgt, u, v, 1)
print(p) # Positive storm-relative helicity
print(r) # Negative storm-relative helicity
print(t) # Total storm-relative helicity</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">11.237865185070916 meter ** 2 / second ** 2
-8.369313644478098 meter ** 2 / second ** 2
2.8685515405928186 meter ** 2 / second ** 2</code></pre>
<h1>动能收支计算</h1>
<p>扰动通量通用函数,可用于计算动能收支,代码示例如下:</p>
<pre><code class="language-python">kinematic_flux(vel, b, axes, perturbation=False)</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;">vel</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">A component of velocity</td>
</tr>
<tr>
<td style="text-align: left;">b</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">May be a component of velocity or a scalar variable (e.g. Temperature)</td>
</tr>
<tr>
<td style="text-align: left;">axes</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">str</td>
<td style="text-align: left;">The index of the time axis, along which the calculations will be performed,<br/>e.g. 'member', 'level', 'time', 'dtime', 'lat', 'lon'</td>
</tr>
<tr>
<td style="text-align: left;">perturbation</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool, optional</td>
<td style="text-align: left;"><code>True</code> if the <code>vel</code> and <code>b</code> variables are perturbations.<br/> If <code>False</code>, perturbations will be calculated by removing the mean value from each variable.<br/> Defaults to <code>False</code></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">init_time = datetime(2023,5,4,8)
u = cmadaas.get_model_3D_grids(data_name=&#039;ecmwf_hr&#039;,var_name=&#039;u&#039;,
init_time=init_time,fhours=[24, 36], extent = [70,140,10,60], levels=[200,500, 700, 800])
b = cmadaas.get_model_3D_grids(data_name=&#039;ecmwf_hr&#039;,var_name=&#039;rh&#039;,
init_time=init_time,fhours=[24, 36], extent = [70,140,10,60], levels=[200,500, 700, 800])
kf = metdig.cal.dynamic.kinematic_flux(u, b, axes=&#039;dtime&#039;)
print(kf)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python">&lt;xarray.DataArray &#039;data&#039; (member: 1, level: 4, time: 1, dtime: 1, lat: 251,
lon: 351)&gt;
array([[[[[[ 2.81481934e+00, 3.63195801e+00, 2.28222656e+00, ...,
2.01155090e+00, 2.86987305e-01, -2.00469971e-01],
[-2.78125000e+00, -1.86279297e+00, 3.85742188e-02, ...,
4.75997925e-01, -1.21759033e+00, 8.93859863e-02],
[-1.17454834e+01, -6.29370117e+00, 2.26452637e+00, ...,
2.45709229e+00, -8.79211426e-01, -4.61383057e+00],
...,
[ 2.27648926e+01, 1.89571533e+01, 1.69345703e+01, ...,
1.22721100e+00, 1.35600281e+00, 9.51217651e-01],
[ 3.73709717e+01, 3.04285889e+01, 2.33306885e+01, ...,
7.60078430e-01, 8.21517944e-01, 9.03434753e-01],
[ 5.60618896e+01, 4.93522949e+01, 4.03048096e+01, ...,
7.53250122e-01, 8.14689636e-01, 8.82953644e-01]]]],
[[[[ 9.45171356e-01, 3.28222275e-01, -1.87604904e-01, ...,
-1.47405930e+01, -1.06505051e+01, -1.85307236e+01],
[ 1.29030609e+00, 5.70615768e-01, 1.17935181e-01, ...,
-1.71783180e+01, -1.09376678e+01, -1.32323532e+01],
...
6.29592896e-01, -1.02444458e+00, -3.32588196e+00],
[ 3.14050293e+00, -4.72656250e-01, -1.91851807e+00, ...,
...
var_name: kinematic_flux
var_cn_name:
var_units: meter * percent / second
valid_time: 0</code></pre>