PIOMAS Arctic sea ice thickness daily数据下载和IDL处理

网上好像没有PIOMAS数据处理的文章,最近项目需要进行了处理,因此给大家提供以下参考,不过自己摸索一下应该很快就会了

PIOMAS数据下载

http://psc.apl.uw.edu/research/projects/arctic-sea-ice-volume-anomaly/data/model_grid

在表格中的Sea ice thickness (Volume per unit Area) , daily mean即为我下载的海冰厚度数据

点击右侧的  hiday.H<yyyy>

跳转到https://pscfiles.apl.washington.edu/zhang/PIOMAS/data/v2.1/hiday/下载数据

我这里是下载了hiday.H2021

这个数据明显比其他数据小,因为其实只有1和2月的数据

PIOMAS数据处理

其实官网提供了读取数据的IDL程序,就是叫做read_draw_hi.pro这个程序,但是这个程序包含了制图,因此我觉得对我来说稍微有点复杂了。

我按照它程序提供的信息和思路,重新用IDL写了代码,因此以下代码就是能够将我上述下载的数据读取出来,存成每天一个波段的envi格式的数据(不带地理信息),我也将mask之外的数据存储成nan值了

除了上述的数据外,还需要下载grid.dat数据和io.dat_360_120.output数据,http://psc.apl.uw.edu/research/projects/arctic-sea-ice-volume-anomaly/data/model_grid 这个网址都有。

以下程序应该还算是比较简明,值得注意的是一些数据的地址要修改,另外就是如果读取的数据改变导致波段改变,59要改成别的值。因为我处理的是北极的信息,因此nx和ny是这个值,但是如果不是的话,可以从read_draw_hi.pro这个程序再找出进行修改

之后我使用envi的Georeference from IGM建立地理信息。这也是以下代码需要保存lon和lat的原因。

之后可能会更新批量处理的代码,代码也会加上建立地理信息的步骤。

pro read_piomas_2021
  nx=360 & ny=120;120 ;Arctic Parallel Ocean and sea Ice Model (POIM) grid
  max_levels=30
  desired_level =1
  mask_value=99999.0
  barwidth=200.0
  lon=fltarr(nx,ny) & lat=fltarr(nx,ny)
  data4=fltarr(nx,ny,59, /NOZERO);注意这里的59其实是指数据为1和2月数据一起59天,最后生成59各波段的数据
  kmt=intarr(nx,ny)
  ;读取经纬度
  openr, lunin, 'H:\mission\PIOMAS\grid.dat',/Get_lun  ;打开数据文件
  readf, lunin, lon, format='(10f8.2)'
  readf, lunin, lat, format='(10f8.2)'
  close,lunin
  free_lun,lunin
  ;read grid mask (ocean levels)
  openr,lunin,'H:\mission\PIOMAS\io.dat_360_120.output',/Get_lun  ;打开数据文件
  readf, lunin, kmt,format='(360i2)'
  close,lunin
  free_lun,lunin
  
  
;读取数据
 openr,lunin, 'H:\mission\PIOMAS\hiday.H2021', /swap_if_big_endian,/Get_lun  ;打开数据文件'H:\mission\LNG\PIOMAS\monthly\heff.H2021'
 readu,lunin, data4
 close,lunin
 free_lun,lunin
 location=where(kmt lt 1,count)
 if count gt 0 then begin
   numFiles=size(data4)
   numFiles=numFiles[3]
   FOR fidx=0, numFiles-1 DO BEGIN
    temp=data4[*,*,fidx]
    temp[location]=0.0/0
    data4[*,*,fidx]=temp[*,*]
   ENDFOR
 endif

 print,'count',count
 
 ;储存数据
 openw,lunou,'H:\mission\PIOMAS\lon',/get_lun
 writeu,lunou,lon;
 close,lunou
 free_lun,lunou
 
 openw,lunou,'H:\mission\PIOMAS\lat',/get_lun
 writeu,lunou,lat;
 close,lunou
 free_lun,lunou
 
 openw,lunou,'H:\mission\PIOMAS\piomas2021',/get_lun
 writeu,lunou,data4;
 close,lunou
 free_lun,lunou
print,'finished'



end

PIOMAS的一些详细信息,包括格网可以参考:http://psc.apl.uw.edu/research/projects/projections-of-an-ice-diminished-arctic-ocean/model/

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

就是一只白

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值