Win32  GrADS  V1.9.0‐rc1
=  funny@LASG动力论坛  =
1.下载
OpenGrADS 主页:    /
2.系统要求和安装
X86处理器(Pentium以上); Windows 2000以上; 512MB内存; 100MB硬盘空间.
自1.9版本开始, win32 GrADS绑定Xming X Windows Server, 因此不需要另行安装X server. 若不改变缺省的安装目录, 就不必设置环境变量; 并可整个目录移动.
3.应用程序及功能
< 支持IEEE和GRIB, 读写NetCDF, 远程访问DODS数据.
< 简化版(对内存需求小), 支持IEEE和GRIB数据, 不支持NetCDF/HDF‐SDS, LATS, Athena GUI及wi
< 带UNIDATA/URI DODS NetCDF客户端; 支持IEEE, GRIB和NetCDF, 并访问远程DODS数据
< 具有Athena Widgets图形界面, 其余功能同  (见下节) 支持IEEE和GRIB, 读NetCDF, 读写HDF‐SDS数据  支持IEEE和GRIB, 读写NetCDF
< 将GrADS图形文件转成eps格式文件(快)
< 将GrADS图形文件转成ps格式文件(慢)
< 将GrADS图形文件转成ps, pdf, png, svg. (png字体抗锯齿更佳) 生成grib格式映射文件
< grib文件扫描工具
< grib解码
< 形成站点数据映射文件
< 命令行工具, 转换含有URL语法(FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE)的文件
最新论坛网站源码
< ncgen‐ ncgen‐ 生成CDL文件(C或Fortran)用于写NetCDF格式数据    支持HDF‐4
支持NetCDF‐4
< ncdump‐ ncdump‐ ncdump‐ NetCDF/HDF‐SDS文件转换成ASCII格式    支持OPeNDAP
支持HDF‐4
支持NetCDF‐4
www.lasg.ac/xglm/2008/7/m0cetor4sh.htm
4.使用提醒
1)  星级建议——GrADS  V1.9.o‐rc1编译用的源代码与UNIX/Linux下是一样
的,建议ctl和gs文件用UNIX下的文本文件格式,其与DOS下文本文件最
大的区别是“回车/换行”符。可参考:
bbs.lasg.ac/cgi‐bin/i?forum=3&topic=6196
2)  同1)的理由,GrADS使用的路径体系与windows环境有所不同,各硬盘分
区为 /cygdriver/ 之下的子目录(如图1)。
3)  GrADS初学者,使用的图形界面(如图1)可能会有一定帮助,
但本命令需要自己建快捷方式。
注意:须在ctl文件中使用绝对路径(按GrADS所用路径体系);或在命令提示符窗口中启动之前先进入资料和ctl所在目录;或设
定快捷方式的起始路径(右键Æ属性Æ起始位置)。
图 1.  GrADS GUI界面和文件路径体系
4)  GrADS GUI菜单(图2)说明:
图 2.  GrADS GUI菜单
蓝组按键为基本设置命令;
黄组按键为display命令组,《 和 》表示display上一个时次和下一个时
次,籍此可手动实现”动画”;
Hold按键:”按下”的状态表示保留上次display绘制的图形,否则每按一次
黄组按键之前会先执行clear命令;
Var按键:选择要display的要素或编辑表达式;
ga>按键:手动输入GrADS命令。
5.扩展包(.gex)
env 设置和查询GrADS软件包的系统环境变量
fish 流函数和速度势相关计算
libbjt 很多有用的函数, 由Ben‐Jei Tsuang提供
re 2D的格点插值
gsudf 以.gsf的脚本文件写UDFs
grib2 读取grib2格式数据
gxyat 生成高质量png, ps, pdf或svg格式图形
libipc 通讯接口函数
shape 绘制轮廓(basemaps等)
帮助 d  function_name
对极点边界的处理:  用相邻纬圈的平均代替.
fish(u, v, [,mbdcnd]) Poisson方程求解, 其它形式: psi = fish(vor)  |  chi = fish(div)
fish_psi(…) 表达式同上, 求流函数 laplacian(psi) = vorticity
fish_chi(…) 求速度势 laplacian(chi) = divergence
fish_vor(…) 求相对涡度 vorticity = ‐ ( madvu(v,one) ‐ madvv(u,cosphi) / cosphi ) fish_div(…) 求散度 divergence = ‐ ( madvu(u,one) + madvv(v,cosphi) / cosphi )
MBDCND: 经向边条件, 缺省为MBDCND=9.(See FISHPAK) = 1  BC: solution specified at both poles
= 5  BC: solution specified at TF (South Pole) and
= 7  BC: solution specified at TS (North Pole) and
= 9  BC: solution unspecified at both poles
旋转风  one=1+0*lat
upsi = mvadv(one,psi)  (比cdiff擅长处理边界)
vpsi = ‐ muadv(one,psi)
范例
辐散风  uchi = ‐ muadv(one,chi)
vchi = ‐ mvadv(one,chi)
7.   lt(expr)    地方时
jd(expr)    从1 January  0001开始的Julian  Day
cosz(expr, h|d|m) 太阳天顶角的余弦.  H(our), d(ay) ,m(onth) 为时间尺度
时间相关 dayratio(expr) 白昼比
ftest(…) F 检验 ftest(ratio, df1, df2)
ttest(…) T 检验 ttest(diff, df),  diff=(mean1‐mean2)/stdv
tfit(…)  fit(…) 单点多元线性回归 y=f(x1, x2, …, xn)
tfit(y, x1, x2, x3, .., xn, t=t1, t=t2 [, dt, filename])
全球多元线性回归, 格式同上
tcorr2(…) 时间相关系数              tcorr2(x1, x2, t=t1, t=t2 [,dt])
tregr2(…) 同tregr, 求y=mx+c 的m 值    tregr2(x1, x2, t=t1, t=t2 [,dt])
统计相关 tmave2(…) 加mask 时间平均    tmave2(mskexpr, expr, t=t1, t=t2 [,dt])
mudav(u, expr) mvadv(v, expr) mwadv(w, expr) 纬向平流引起的变量expr 的时间变化率(expr/s):
经向平流引起的变量expr 的时间变化率(expr/s)
垂直平流引起的变量expr 的时间变化率(expr/s)
平流 madvu(u, expr) madvv(v, expr) madvw(w, expr) 纬向通量梯度:  ‐d(u*expr)/dx
经向通量梯度:  ‐d(v*expr)/dy
垂直通量梯度:  ‐d(w*expr)/dz
热力学量 satvap(T) dew(pvap) 饱和水汽压(Pa),  其中T 为温度(K)
露点温度(K), 其中pvap 为水汽压(Pa)
lw(…) 长波辐射冷却率(K/d)
lw(pl, ta, wa, taucl, fcld, ps, tg, eg, tb, wb, tauclb, fcldb  [,
binfile, ctlfile,‐r|‐c|‐h|‐l])
辐射传输 lw2(…) 长波辐射冷却率(K/d), 需要混合层顶的资料
lw2(pl, ta, wa, taucl, fcld, ps, tg, eg, tb, wb, pm, tm, wm,
tauclm, fcldm  [,binfile, ctlfile,‐r|‐c|‐h|‐l])
pinterp(…)  从3D 格点到某一等压面的垂直插值.  (–l 分段线性,缺省)
pinterp(expr, pgrid, plev, [‐l  | ‐s  | ‐p])
zinterp(…)  从3D 格点到某一等高面的垂直插值    (‐s 样条,‐p 多项式)
zinterp(expr, zgrid, zlev, [‐l  | ‐s  | ‐p])
垂直插值 /积分 vint2(...) 修正的质量加权垂直积分函数f/g*sum(expr*Delta(level))
vint2(ps, expr, top)
if(…)  公式比较. (op 为==, =, >, <, >=, <=, !=)
if(expr1, op, expr2, true_expr, false_expr)
which(…)  根据表达式标记格点
which(expr1, cond1, expr2,cond2, …, else_exp)
maxv(expr1, v2) minv(expr1, v2) expr1和v2(表达式, 常数或‐u)之间的最大值
expr1和v2(表达式, 常数或‐u)之间的最大值
其它函数 line(...) 画线(lon1, lat1) ~ (lon2, lat2), 用expr 为准设置线值val, ‐l 返回
每网格长度(km), ‐m 逻辑值(1 :pass, 0 : non ‐passing), ‐r 每段长
度比:line(expr, lon1, lat1, lon2, lat2 [, ‐l  | ‐m|‐r])
<
re(expr,dlon)                  (当dlon=dlat时)
re(expr, dlon, dlat, [ig, nyig], [ba | bl | bs | vt, vtmax, vtmin | ma, min])
re(expr, dlon, gYY, [ig, nyig], [ba | bl | bs | vt, vtmax, vtmin | ma, min])
re(expr, nx, linear, lon, dlon, ny, linear, lat, dlat, [ig, nyig], [ba| bl| bs| vt, vtmax, vtmin|
ma,min])          (线性Y映射)
re(expr, nx, linear, lon, dlon, ny, gaus, gstart, njog, [ig, nyig], [ba| bl| bs| vt, vtmax,
vtmin| ma,min])          (高斯Y映射)
nx, ny : 维数                        lon, lat, dlon, dlat : 起始经纬度及步长
gstart : 起始高斯格点所在y值(整数)  njog : 输出的全球高斯纬度数量(整数)
‘gaus’ , ‘linear’ : y方向映射方式
‘ig’, nyig : 输入场为高斯格点, nyig(≥8且为4的倍数)为高斯纬度数目(如ig92=T62) re(...)
‘ba’ :  以box averaging方式插值 , 当插到粗网格时此为缺省方法
‘bl’ :  双线性插值, 当插值到细网格时此为缺省方法
‘bs’ :  3阶Bessel插值
‘vt’, vtmax, vtmin :  vote插值(box averaging with voting), vtmax|vtmin∈[0,1](缺省 vtmax=vtmin=1/2)
‘ma’, fraction :    box averaging without voting, fraction∈[0,1](缺省为50%)
用脚本语言书写表达式函数.  (注: .gsf还可以有另一种方式调用)
ga‐> l
ga‐> gsudf  [init]
ga‐> d aave(speed(u,v), global)
加载, 不会因为reinit失效.
编写名为func的函数, 并存成func.gsf, 再在udxt列表中加入: udt  func  udf_gsuft  so
function speed(u, v)
expr=’sqrt(‘ % u % ’*’ % v % ’+’ % v % ’*’ v % ’)’ return expr 返回含有效GrADS表达式的字符串expr, 空字符串表示正常返回
function x_cdiff(var, dim)
‘set x 0 74’
‘define gsudf = cdiff(‘var’,’dim’)’
‘set x 1 73’
return ‘gsudf’
返回定义的变量gsudf
define errfunc(arg)
say 'errfunc: error found, cannot proceed'
return
返回出错信息
利用GIS shapefile数据绘制地图等(可实现basemap.gs等效果)。数据文件格式
为 .shp, .shx, .dbf, 需安装到GrADS的GADDIR所指定的目录下(在这个目录下, 已经有admin98.shp, admin98.shx和admin98.dbf一套数据).
shp_ployf  shpfile  [obj] 对于shpfile(命令中省略后缀)中定义的每个多边形用当前定义
的line属性填, 或可指定绘制特定object shp_lines  shpfile  [obj] 同上, 但绘制连线
shp_print  shpfile 尚不可用
Shapefile格式白皮书:
www.esri/library/whitepapers/pdfs/shapefile.pdf
Shapefile资源:
ESRI First Level World Administrative Boundaries 1998
id.unep.ch/download/admin98_li_shp.zip
GSHHS ‐ A Global Self‐consistent, Hierarchical, High‐resolution Shoreline Database aa.gov/mgg/shorelines/data/gshhs/version1.5/shapefiles/
FAO GeoNetwork
/geonetwork/srv/en/main.home
11.GxYat
GxYat是转化GrADS用print命令生成的图元文件的工具.
调用方式 1) 在GrADS中调用:  gxyat  [options]  output_image_file
2) 在系统中调用:    gxyat  [options]  input_metafile_name[.gm]
[Options] +a  关闭抗锯齿功能(缺省为ON)
‐h  输出命令使用的帮助信息
‐i  fname 输入文件名, '‐' 表示对标准输入进行转换
‐o  fname 输出文件名, 后缀决定输出的文件格式, 可为以下四种之一:
.png(缺省)  .ps  .pdf  .svg
‐r  形成以黑为背景的图片(缺省: 以白为背景)
‐v  详细信息
‐x m 图形的水平象素(缺省为800象素); PS/PDF格式水平尺寸的单位为
点数(1 point = 1/72 inches, 缺省为792 points = 11 inches)
‐y n 图形的水平象素(缺省为600象素); PS/PDF格式水平尺寸的单位为
点数(缺省为612 points = 8.5 inches)
‐w s  指定线宽缩放比例(缺省为1.0).
输出格式 1)  PS, PDF, 一个文件可包含多帧图片
2)  PNG, SVG, 一个文件只包含一帧图片, 在文件名中加%d产生系列文件.
3)  用ImageMagick可以处理除SVG之外的格式; 用Illustrator可以处理包
括SVG的格式.
范例 生成特定尺寸(1600x1200)的图形文件:
$  gxyat ‐o model.svg ‐x 1600 ‐y
将包含多帧图片的GrADS图元文件转化为一系列图形(png或svg)文件,对
pdf和ps无效:  $  gxyat ‐o frame‐%d.
$  gxyat ‐o frame‐%02d.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。