metdig

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


动力诊断分析计算dynamic

<p>[TOC]</p> <h1>地转风计算</h1> <p>从位势高度计算地转风,代码示例如下:</p> <pre><code class="language-python">geostrophic_wind(hgt)</code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <h1>垂直涡度计算</h1> <p>代码示例如下:</p> <pre><code class="language-python">vorticity(u, v)</code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <h1>锋生函数计算</h1> <p>代码示例如下:</p> <pre><code class="language-python">frontogenesis(thta, u, v)</code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</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=&amp;#039;ecmwf&amp;#039;, var_name=&amp;#039;u&amp;#039;, levels=levels) v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&amp;#039;ecmwf&amp;#039;, var_name=&amp;#039;v&amp;#039;, levels=levels) tmp = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&amp;#039;ecmwf&amp;#039;, var_name=&amp;#039;tmp&amp;#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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python">&amp;lt;xarray.DataArray (member: 1, level: 14, time: 1, dtime: 1, lat: 451, lon: 901)&amp;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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</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=&amp;#039;ecmwf&amp;#039;, var_name=&amp;#039;u&amp;#039;, levels=levels) v = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&amp;#039;ecmwf&amp;#039;, var_name=&amp;#039;v&amp;#039;, levels=levels) tmp = get_model_3D_grid(init_time=init_time, fhour=fhour, model_name=&amp;#039;ecmwf&amp;#039;, var_name=&amp;#039;tmp&amp;#039;, levels=levels) # calculate div = dynamic.divergence(u, v) print(div)</code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python">&amp;lt;xarray.DataArray (member: 1, level: 14, time: 1, dtime: 1, lat: 451, lon: 901)&amp;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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python"></code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python">init_time = datetime(2023,5,4,8) points = {&amp;#039;id&amp;#039;: [&amp;#039;54511&amp;#039;], &amp;#039;lon&amp;#039;: [117], &amp;#039;lat&amp;#039;: [30]} hgt = cmadaas.get_model_points(data_name=&amp;#039;ecmwf_hr&amp;#039;,var_name=&amp;#039;hgt&amp;#039;, init_time=init_time,fhours=[24, 36], points = points, levels=[200,500, 700, 800]) u = cmadaas.get_model_points(data_name=&amp;#039;ecmwf_hr&amp;#039;,var_name=&amp;#039;u&amp;#039;, init_time=init_time,fhours=[24, 36], points = points, levels=[200,500, 700, 800]) v = cmadaas.get_model_points(data_name=&amp;#039;ecmwf_hr&amp;#039;,var_name=&amp;#039;v&amp;#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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;参数说明&lt;/b&gt;&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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;">&lt;font color=&quot;red&quot;&gt;是&lt;/font&gt;</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,&lt;br/&gt;e.g. &#039;member&#039;, &#039;level&#039;, &#039;time&#039;, &#039;dtime&#039;, &#039;lat&#039;, &#039;lon&#039;</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.&lt;br/&gt; If <code>False</code>, perturbations will be calculated by removing the mean value from each variable.&lt;br/&gt; 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>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;调用示例&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python">init_time = datetime(2023,5,4,8) u = cmadaas.get_model_3D_grids(data_name=&amp;#039;ecmwf_hr&amp;#039;,var_name=&amp;#039;u&amp;#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=&amp;#039;ecmwf_hr&amp;#039;,var_name=&amp;#039;rh&amp;#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=&amp;#039;dtime&amp;#039;) print(kf)</code></pre> <p>&lt;font size=&quot;4&quot;&gt;&lt;b&gt;输出信息&lt;/b&gt;&lt;/font&gt;</p> <pre><code class="language-python">&amp;lt;xarray.DataArray &amp;#039;data&amp;#039; (member: 1, level: 4, time: 1, dtime: 1, lat: 251, lon: 351)&amp;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>

页面列表

ITEM_HTML