天气极端性诊断分析计算extreme
<p>[TOC]</p>
<h1>距平anomaly</h1>
<p>任意stda数据,沿member维度作平均后对各个level、time、dtime求距平,代码示例如下:</p>
<pre><code class="language-python">anomaly(stda, clm_mean, cal_member_mean=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;">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数据(member=n, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_mean</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析平均值背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">cal_member_mean</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool, optional</td>
<td style="text-align: left;">是否先对stda数据进行member维度的平均. Defaults to False</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标准格式数据(member=1orn, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font>
<font color="red">需要提前准备历史背景数据STDA格式的mean和sd</font></p>
<pre><code class="language-python">mean = mean.assign_coords(time=[datetime(2024,6,27,8)])
sd = sd.assign_coords(time=[datetime(2024,6,27,8)])
hgt = cmadaas.get_model_3D_grids(data_name=&#039;ecmwf_ens&#039;,var_name=&#039;hgt&#039;,
init_time=init_time,fhours=[24], extent = [70,140,10,60], levels=[500,850])
x = metdig.cal.extreme.anomaly(hgt, mean)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>标准化异常度standard_anomaly</h1>
<p>任意stda数据,沿member维度作平均后对各个level、time、dtime求标准化异常度,代码示例如下:</p>
<pre><code class="language-python">standard_anomaly(stda, clm_mean, clm_sd, cal_member_mean=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;">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数据(member=n, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_mean</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析平均值背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_sd</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析标准差背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">cal_member_mean</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool, optional</td>
<td style="text-align: left;">是否先对stda数据进行member维度的平均. Defaults to False</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标准格式数据(member=1, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font>
<font color="red">需要提前准备历史背景数据STDA格式的mean和sd</font></p>
<pre><code class="language-python">mean = mean.assign_coords(time=[datetime(2024,6,27,8)])
sd = sd.assign_coords(time=[datetime(2024,6,27,8)])
hgt = cmadaas.get_model_3D_grids(data_name=&#039;ecmwf_ens&#039;,var_name=&#039;hgt&#039;,
init_time=init_time,fhours=[24], extent = [70,140,10,60], levels=[500,850])
x = metdig.cal.extreme.standard_anomaly(hgt, mean, sd)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>标准化异常概率ens_af_prob</h1>
<p>集合预报stda数据,各个level、time、dtime求标准化异常概率,返回值中的member维度为各个sigma对应的异常概率,代码示例如下:</p>
<pre><code class="language-python">ens_af_prob(stda, clm_mean, clm_sd, sigma=[-3, -2, -1, 1, 2, 3])</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</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">任意stda数据(member=n, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_mean</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析平均值背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_sd</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析标准差背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">sigma</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">list, optional</td>
<td style="text-align: left;">异常度阈值. Defaults to [-3, -2, -1, 1, 2, 3]</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标准格式数据(member=len(sigma), level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font>
<font color="red">需要提前准备历史背景数据STDA格式的mean和sd</font></p>
<pre><code class="language-python">mean = mean.assign_coords(time=[datetime(2024,6,27,8)])
sd = sd.assign_coords(time=[datetime(2024,6,27,8)])
hgt = cmadaas.get_model_3D_grids(data_name=&#039;ecmwf_ens&#039;,var_name=&#039;hgt&#039;,
init_time=init_time,fhours=[24], extent = [70,140,10,60], levels=[500,850])
metdig.cal.extreme.ens_af_prob(hgt, mean, sd, sigma=[-2,-1,1,2,])</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>
<h1>标准化异常最大最小值ens_af_maxmin</h1>
<p>集合预报stda数据,各个level、time、dtime求标准化异常最大最小值,返回值中的member维度为最大最小,代码示例如下:</p>
<pre><code class="language-python">ens_af_maxmin(stda, clm_mean, clm_sd)</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</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">任意stda数据(member=n, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_mean</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析平均值背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</td>
</tr>
<tr>
<td style="text-align: left;">clm_sd</td>
<td style="text-align: left;"><font color="red">是</font></td>
<td style="text-align: left;">stda</td>
<td style="text-align: left;">再分析标准差背景场(member=1, level=l, time=t, dtime=1, lat=y, lon=x)</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标准格式数据(member=2, level=l, time=t, dtime=d, lat=y, lon=x)</td>
</tr>
</tbody>
</table>
<p><font size="4"><b>调用示例</b></font>
<font color="red">需要提前准备历史背景数据STDA格式的mean和sd</font></p>
<pre><code class="language-python">mean = mean.assign_coords(time=[datetime(2024,6,27,8)])
sd = sd.assign_coords(time=[datetime(2024,6,27,8)])
hgt = cmadaas.get_model_3D_grids(data_name=&#039;ecmwf_ens&#039;,var_name=&#039;hgt&#039;,
init_time=init_time,fhours=[24], extent = [70,140,10,60], levels=[500,850])
x = metdig.cal.extreme.ens_af_maxmin(hgt, mean, sd)</code></pre>
<p><font size="4"><b>输出信息</b></font></p>
<pre><code class="language-python"></code></pre>