爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 112|回复: 1

把CMAQ的小时数据通过循环作成日均值

[复制链接]

新浪微博达人勋

发表于 2024-4-24 15:35:30 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我想把CMAQ的小时数据通过循环作成日均值,但是我报错显示
fatal:syntax error: line 69 in file daily.ncl before or near .5
PM2.5
----^

fatal:error in statement
fatal:Syntax Error in block, block not executed
fatal:error at line 173 in file daily.ncl


代码:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/cd_string.ncl"
begin
filepath1="/home/dell/CMAQ/CMAQ-5.3.2_workdir/data/POST/20211231/d03/COMBINE_ACONC_v532_gcc_guigang_20211
2.nc"filepath2="/home/dell/CMAQ/CMAQ-5.3.2_workdir/data/output/20211231/d03/GRIDCRO2D_guigang.nc"
a=addfile(filepath1,"r")
b=addfile(filepath2,"r")


PM25 = a->PM25_TOT(:,0,:,:)
PM10=a->PM10(:,0,:,:)
SO2_temp = a->SO2(:,0,:,:)
O3_temp  = a->O3(:,0,:,:)
NO2_temp = a->NO2(:,0,:,:)
CO_temp  = a->CO(:,0,:,:)
flat = b->LAT(0,0,:,:)
flon = b->LON(0,0,:,:)
SO2  = SO2_temp*64/22.4
O3   = O3_temp*48/22.4
NO2  = NO2_temp*46/22.4
CO   = CO_temp/1000*28/22.4
time=a->TFLAG(:,0,:)
ntimes = dimsizes(time(:,0))         ; number of times in the file
strtime = new(ntimes,string)
nlon=dimsizes(flon(:,0))
nlat=dimsizes(flat(:,0))
print(nlon)
PM10@lat2d = lat
PM10@lon2d = lon
PM25@lat2d = lat
PM25@lon2d = lon
SO2@lat2d = lat
SO2@lon2d = lon
NO2@lat2d = lat
NO2@lon2d = lon
CO@lat2d = lat
CO@lon2d = lon
O3@lat2d = lat
O3@lon2d = lon
U@lat2d = lat
U@lon2d = lon
V@lat2d = lat
V@lon2d = lon


stime = new(ntimes, double)
stime@units = "hours since 1800-01-01 00:00"
;;Beijing Time
start_time=cd_inv_calendar(2021,12,31,19,00,00,"hours since 1800-01-01 00:00",0)


do i = 0, ntimes-1, 1
   stime(i) = start_time(0) + i
end do
format = "%Y-%N-%D %H:%M:%S"
format2 = "%Y-%N-%D"
format3 = "%Y_%N_%D_%HH"
date = cd_string(stime, format)
date2 = cd_string(stime, format2)

date3 = cd_string(stime, format3)


PM2.5_t= new((/31,nlat,nlon/),integer);;;;这里报错
PM10_t= new((/31,nlat,nlon/),integer)
SO2_t= new((/31,nlat,nlon/),integer)
O3_t= new((/31,nlat,nlon/),integer)
NO2_t= new((/31,nlat,nlon/),integer)
CO_t= new((/31,nlat,nlon/),integer)
itime_tmp=5
daynum = 0
do while (daynum .lt.31);33)
itime = itime_tmp +24*daynum


PM25_t(daynum,:,:) = dim_avg_n(PM25(itime:itime+23,:,:),0)
PM10_t(daynum,:,:) = dim_avg_n(PM10(itime:itime+23,:,:),0)
SO2_t(daynum,:,:) = dim_avg_n(SO2(itime:itime+23,:,:),0)
O3_t(daynum,:,:) = dim_avg_n(O3(itime:itime+23,:,:),0)
NO2_t(daynum,:,:) = dim_avg_n(NO2(itime:itime+23,:,:),0)
CO_t(daynum,:,:) = dim_avg_n(CO(itime:itime+23,:,:),0)

daynum:=daynum+1
end do

end

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2024-4-25 22:26:03 | 显示全部楼层
变量名里不能有点吧,PM2.5_t改为PM25_t试试。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表