超友好!气象 Python 训练营 ③ 关卡1

文章介绍了如何使用Python和相关库(如xarray和numpy)读取气象数据,利用斐波那契数列提取特定区域,计算并取整地表以上2m温度中大于等于0℃的格点平均温度。给出了正常和不正常两种方法的示例。
摘要由CSDN通过智能技术生成

超友好!气象 Python 训练营 ③ 关卡1

Q1:

读取 FNL 再分析资料中 2021 年 1 月 1 日 0 时地表以上2m温度的二维数组。从该数组中,取出每个维度里索引号都属于斐波那契数列(即截取该数组每个维度里索引号为0,1,1,2,3,5…的部分)的数组。然后计算新的数组中,温度大于等于 0℃ 格点的平均温度(单位:摄氏度),然后取整。

正常做法

def fib(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    fibs = [1, 1]
    for i in range(2, n):
        fibs.append(fibs[-1] + fibs[-2])
    return fibs
import xarray as xr
import numpy as np
data = xr.open_dataset('/home/mw/input/fnl6384/fnl/fnl_20210101_00_00.grib2',engine="pynio")
t = data['TMP_P0_L103_GLL0'].loc[2,:,:]
fibs_row = fib(12)
fibs_col = fib(13)
t = t[fibs_row,fibs_col]-273.15
a1 = int(t.where(t>0).mean())

不正常做法

a1 = 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值