科研训练1:处理nc掩码数组并计算面积加权的全球海温平均值

本科研训练需要用到的数据(全球海温nc数据,分辨率为5˚)

链接: https://pan.baidu.com/s/1NXHrX46hjubZIWObny6CXA?pwd=mbk3 提取码: mbk3

import numpy as np
from netCDF4 import Dataset

# 读取数据
ncf = Dataset('./WOA2009_SST_annual.nc')# 改为数据的真实路径
sst = ncf.variables['t_mn'][:]
lon = ncf.variables['lon'][:]
lat = ncf.variables['lat'][:]
ncf.close()

print(sst.shape) #维度为1(时间)、33(深度)、36(纬度)和72(经度)

# 想去掉时间维度;只需要海洋表面温度(最上面的深度水平)
sst = np.squeeze(sst)[0, :, :]
print(sst.shape) #(36, 72)

# 将经度和纬度一维向量组合成网格化的二维数组
x,y = np.meshgrid(lon, lat)
# 地球网格面积加权,计算权重
cosy = np.cos(np.deg2rad(y))

# 取一个变量(如SST)的面积加权平均值
print('The area-weighted global mean SST is:')
print(u'{0:.2f}°C ({1:.1f}K)'.format(np.ma.average(sst, weights=cosy), np.ma.average(sst+273.15, we
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值