| 
 
	积分1122贡献 精华在线时间 小时注册时间2017-9-2最后登录1970-1-1 
 | 
 
| 
本帖最后由 qixiang0620 于 2019-5-4 21:16 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 想将计算出来的水汽通量值写入dat文件后,再直接用该变量写另一个区域平均的dat文件,但是在写水汽通量的dat文件时,用ctl打开后只有第一个时次各层的数据,请大家帮忙看一下问题所在,谢谢!gs:
 'reinit'
 'sdfopen d:\lwshuju\ERA5\air-16.nc'
 'sdfopen d:\lwshuju\ERA5\rhum-16.nc'
 'sdfopen d:\lwshuju\ERA5\uv-wind-16.nc'
 'set gxout fwrite'
 'set fwrite d:\lwshuju\kongzhi\shuiqi.dat'
 tt=1
 zz=1
 while(tt<=16)
 'set lon 110 130'
 'set lat 20 40'
 'set t 'tt''
 while(zz<=8)
 'set z 'zz''
 *水汽通量(v*q*g,风速*比湿*重力加速度,单位:g*s/kg=g/(cm*hPa*s))
 'define p=lev'
 *计算饱和水气压
 'define es=6.112*exp(17.67*(t-273.15)/(t-29.65))'
 *计算水气压
 'define e=es*r.2/100'
 *计算比湿
 'define q=622*e/(p-0.378*e)'
 'define q1=u.3*q/9.8'
 'define q2=v.3*q/9.8'
 'define sq=mag(q1,q2)'
 'd sq'
 *say result
 zz=zz+1
 endwhile
 tt=tt+1
 endwhile
 'disable fwrite'
 
 ctl:
 dset d:\lwshuju\kongzhi\shuiqi.dat
 title avet data
 undef -9.99e+33
 xdef 81 linear 110 0.25
 ydef 81 linear 20 0.25
 zdef 8 levels 1000 950 925 850 700 500 200 100
 tdef 16 linear 08Z16SEP2018 60mn
 vars 1
 sq 8 -999 shuiqitongliang
 endvars
 出错原因:
 突然想到了,应该在t循环开始处再加zz=1,要不然z已大于8,不会继续循环。
 这个出错原因也太傻了,哭。
 
 
 
 
 
 | 
 |