Python | 月平均气候态 | SST

  • 数据来源:

NOAA Optimum Interpolation (OI) SST V2

  • 下载地址:

https://psl.noaa.gov/data/gridded/data.noaa.oisst.v2.html

OISST

  • 空间分辨率:
5.0 degree latitude by 5.0 degree longitude global grid (72x36)87.5N,
  • 覆盖范围
01/1856 to 2023/01

87.5N, 2.5E - 357.5E.

Monthly

Sea Level

Missing data is flagged with a value of -9.96921e+36.

以下过程,数据选取时间为1983-2022年,为了时间维度的大小可以被12整除

导入库


import numpy as np
import matplotlib.pyplot as plt
import xarray as xr

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap,shiftgrid,addcyclic, cm
from netCDF4 import Dataset as netcdf # netcdf4-python module

from matplotlib.pylab import rcParams

读取 SST 数据

  • 原本纬度排序是:90°N ~ -90°S,将其进行反正变为-90°S~90°N

data = xr.open_dataset(r'G:\code_daily\sst.mnmean.nc').sst.sel(time=slice('1983','2022'))

data
sst   = data[:,:,1:-1]
lons  = sst.lon
lats  = sst.lat[::-1]
sst

sst

计算月平均气候态

  • 将数据从 timexlatxlon 转化为 month x year x lat x lon
  • 对转换后的year维度求平均得到月平均的结果

lons,lats = np.meshgrid(lons, lats) 
ntime,nrow,ncol = sst.shape
sstym  = sst.data.reshape((12,int(ntime/12), nrow,ncol),order='F') # convert (yearmonths|lat|lont) to (years|12months|lat|lon)
sstclm = sstym.mean(axis=1) # along the year axis
                 
sstclm.shape

(12, 180, 360)

绘图

fig, axes = plt.subplots(3,4,figsize=(18,12),dpi=200)
flat_axes = axes.reshape(-1)
m = Basemap(resolution='c', projection='ortho', lat_0=0., lon_0=180.)
# coordinates transformation
x, y = m(lons, lats)
# string month names
month_lst = ['January', 'February', 'March', 'April', 'May', 'June', 'July',
              'August', 'September', 'October', 'November', 'December']
imon = -1
for ax in flat_axes:
    m.ax = ax
    imon = imon + 1 
    cssst = m.contourf(x,y,sstclm[imon], 20, vmin=0, cmap='jet', vmax=30, extend='both') 
    m.colorbar(cssst,"right", size="5%", pad='2%') 
    plt.title( month_lst[imon], fontsize=20) 
    m.fillcontinents(color='gray', lake_color='aqua')

sst-monthly-climatology


  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要制作Python气候图,可以使用xarray库来读取气候数据,然后使用matplotlib库来绘制图表。首先需要安装xarray和matplotlib库。 接下来,你可以按照以下步骤进行操作: 1. 首先,你需要导入所需的库: ``` import xarray as xr import matplotlib.pyplot as plt ``` 2. 然后,你需要读取气候数据文件。你可以使用xarray的open_dataset函数来读取文件: ``` data = xr.open_dataset('path_to_climate_data.nc') ``` 在这里,'path_to_climate_data.nc'是你的气候数据文件的路径。 3. 接下来,你可以提取你感兴趣的变量。例如,如果你想绘制500hPa的平均位势高度场,你可以使用以下代码: ``` variable = data['500hPa_high'].mean(dim='time') ``` 这里,'500hPa_high'是你感兴趣的变量的名称。 4. 然后,你可以绘制气候图。使用matplotlib的contour函数可以绘制等高线图: ``` plt.contour(variable.lon, variable.lat, variable, levels=10) plt.colorbar() plt.title('Climate State Map') plt.xlabel('Longitude') plt.ylabel('Latitude') plt.show() ``` 这段代码将绘制一个包含10个等高线的气候图,并包括一个颜色条。 请注意,以上代码仅提供了一个基本的示例,你可以根据你的具体需求进行进一步的自定义和调整。另外,你需要根据你的数据文件的结构和变量名称进行相应的修改。 希望这能帮助到你!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python--读取TRMM-3B43月平均降水绘制气候空间分布图(陆地区域做掩膜)](https://blog.csdn.net/weixin_44237337/article/details/130504487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [短期气候实习1 大气环流状况的表征 python代码](https://download.csdn.net/download/qq_45940811/85206989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简朴-ocean

继续进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值