NCL绘制:WRF输出结果wrfout_d01*文件后处理


WRF官网关于ncl的教程::
https://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/NCL_examples.php

编程语言:NCL
系统:Ubuntu 16.04.6 LTS 以及 Windows10

windows下Sublime在共享文件夹下编辑脚本,链接到run/下运行。

ln -sf /media/sf_WRF/WRFout.ncl .


1. 读取

WRF模式运行结束后会输出wrfout_d01*结果文件。利用addfile()函数打开。
可以进行批量修改文件为.nc格式,详情参考其他教程;也可以利用NCL直接进行读取。

    a = addfile("wrfout_d01_2017-06-20_00:00:00","r")
    print(a)
    printVarSummary(a)

1
2

关于文件wrfout_d01*的输出结果,大致看一眼变量和维度信息,包含wrf设定

  • 10
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
以下是使用NCL(NCAR Command Language)读取WRF输出数据中指定经纬度范围mdbz数据的示例代码,其中使用了wrf_user_getvar函数: ```ncl load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ; 加载gsn_code.ncl库 begin ; 定义变量 variable wrf_data, mdbz integer i, j, k, n, ret ; 读取WRF输出的nc文件 wrf_data = addfile("wrfout.nc", "r") ; 获取经度、纬度和垂直层数 lon = wrf_data->XLONG(0,:,:) ; 经度 lat = wrf_data->XLAT(0,:,:) ; 纬度 nz = dimsizes(wrf_data->PH) ; 设置经纬度范围 lon_min = -80.0 lon_max = -70.0 lat_min = 20.0 lat_max = 30.0 ; 获取经度、纬度范围对应的网格索引 lon_idx = where(lon.ge.lon_min .and. lon.le.lon_max, True, False) lat_idx = where(lat.ge.lat_min .and. lat.le.lat_max, True, False) ; 获取经度、纬度范围对应的网格大小 nx = dimsizes(lon_idx) ny = dimsizes(lat_idx) ; 设置起始位置和大小 start = (/0, min(lat_idx), min(lon_idx)/) count = (/1, ny, nx/) ; 获取指定经纬度范围内的mdbz值 mdbz = new((/nz, ny, nx/), typeof(wrf_data->mdbz)) do i = 0, nx-1 start(2) = lon_idx(i) do j = 0, ny-1 start(1) = lat_idx(j) ret = wrf_user_getvar("mdbz", mdbz(:,j,i), start, count, wrf_data) if (ret.ne.0) then ; 错误处理 end if end do end do ; 输出mdbz值 n = nx * ny mdbz = reshape(mdbz, (/nz, n/)) mdbz = transpose(mdbz) mdbz = mdbz(:,0) print(mdbz) ; 释放资源 delete(wrf_data) end ``` 在示例代码中,假设WRF输出的nc文件名为“wrfout.nc”。首先,通过addfile函数读取nc文件中的数据。然后,根据指定的经纬度范围,获取对应的网格索引和网格大小。接着,使用wrf_user_getvar函数获取指定经纬度范围内的mdbz值,并输出。最后,通过delete函数释放资源。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值