1、1.ctl 文件的编写dset d:testtest1.dat 数据文件路径名和文件名title monthly precipitation data 数据标题options 365_day_calendar 特殊格式说明 365_day_calendar/template(多个文件)undef -9999.0 缺测值,若有多个则用 fortran 改写成同一个缺测值xdef 144 linear 0 2.5 x 维数 格点数/排列方式 /起始值/间隔 *linear 线性/levels 列举ydef 73 linear -90 2.5 y 维数zdef 5 linear 1000 850 7
2、00 500 200 z 维数tdef 24 linear 00z01Jan1979 1mo 时间维数 *mo 月 yr 年vars 1 变量数precip 1 99 *precipitation data 变量名/层数/排列顺序/ 说明endvars*变量循环顺序:x 经度 y 维度 z 高度 v 变量 t 时间*注释行第一列用* ,注释行不能出现在变量列表中2.维数环境设置set lon/lat/lev/time var1 *实际值set x/y/z/t var1 *格点数值*两种坐标可以混用3.图形文件的保存gxprint/printim *.png/jpg/pdf/eps. white
3、enable print *.gmfprintdisableprint4.图形类型的设置set gxout typecontour 二位等值线图 *默认shaded 二维填色等值线图vector 矢量箭头二维风场图 *d u;v 时为默认bar 直方图 line 折线图 *默认5.图形要素设置gxout=contour or shadedset cint value 设置等值线间隔set clevs lev1,lev2, 设置特定等值线set ccols col1,col2, 设置对应于 set clevs 的等值线的颜色cbarn size 0/1 x y 设置色标gxout=line or
4、 contourset ccolor color 设置线条颜色set cstyle style 设置线条样式 1 实线 2 长虚线 3 短虚线set cthick thickns 设置线条粗细 110set cmark marker 设置数据点标记 0 无标记 *line 时有效gxout=barset bargap val 设置直方条间隔 *0100 百分比,0 为无间隔set barbase val/bottom/top 设置直方条起始值gxout=vectorset arrscl size 设置箭头长度set arrowhead size 设置箭头大小,缺省为 0.056.gs 文件的编
5、写将命令用单引号括起来7.变量define varname=expression 定义变量d air(t=3) d air(t=3,z=5) d air(lev=1000)-air(lev=500) 设置变量维数8.平均函数ave(expr,dimexpr1,dimexpr2,) 一维平均aave(expr,dimexpr1,dimexpr2, dimexpr3,dimexpr4,) 二维平均 *不能对 z、t*需将维度设置成点9.地图投影设置set mproj proj 设置地图投影方式latlon 缺省nps 北半球极地投影sps 南半球极地投影set map color style th
6、ickness 设置背景地图线条颜色、线型、宽度10.绘图区域设置set parea xmin xmax ymin ymax 11.坐标要素控制set frame on/off/circle 绘制图形边框/不绘制/绘制圆形边框set grads on/off 标记 grads 及绘图时间draw title 绘制标题draw xlab/ylab 绘制 x 轴/y 轴图注set xyrev on/off xy 轴互换set zlog on/off z 方向用对数坐标set xlint/ylint value 设置 x/y 轴坐标刻度间隔set vrange val1 val2 设置 y 轴范围s
7、et vrange2 val1 val2 设置 x 轴范围set xlopts/ylopts color thickness size x/y 轴刻度值的颜色、线宽、大小 *缺省1,4,0.12set tlsupp year 去掉年份显示12.颜色的定义define_colors 使用内部默认颜色标号13.基本绘图命令set line color style thickness 设置颜色、线型、线宽draw line x1 y1 x2 y2 绘制直线draw rec/recf x1 y1 x2 y2 绘制不填色/填色矩形draw mark type x y size 绘制标记 *1 叉 2 空
8、心圆 3 实心圆 4 空心方框 5 实心方框draw string x y string 绘制字符串set strsiz hsiz 设置字符大小14.文件操作(1)输出二进制变量设置维数环境 set gxout fwrite set fwrite *.dat d var(2)读写有格式文件result=read(filename) result 第一行:返回码( 0 OK,1 打开错误 2 文件结束 8 文件状态为写入 9I/O 错误)result 第二行:读取的文件内容 Text = sublin(result,2) 将 result 相应行的内容赋值给 Textaa=subwrd(Text
9、,#n) 将 Text 的第 n 个值赋值给 aa result=write(filename, text, )15.维数查询q w2xy lon lat 将经纬度坐标转换为图形窗口坐标 返回值 : X=* Y=*q xy2w X Y 将图形窗口坐标转为经纬度坐标 返回值: Lon=* Lat=* q w2gr lon lat 将经纬度坐标转换为格点坐标 返回值: Xdim=* Ydim=* q gr2w xdim ydim 将格点坐标转换为经纬度坐标 返回值:Lon=* Lat=* q xy2gr X Y 将图形窗口坐标转换为格点坐标 返回值: Xdim=* Ydim=* q gr2xy x
10、dim ydim 将格点坐标转换为经纬度坐标 返回值:X=* Y=* 16.气候平均设置季节变量set t 1 12define climate=ave(var,t+0,t=tmax,12)modify climate seasonal 滑动平均set t 1 tmaxdefine running_mean=ave(var,t-n,t+n)17.站点资料绘图(1)转换生成数据文件及格点文件数据文件的顺序为先循环站号再循环时间,每条记录包含 站号- 纬度-经度-时间-nlev-flag-数据,每循环完一个时间后要加一个不写数据且 nlev=0 的记录(2)编写 ctl dtype station stnmap *.map *变量层数为 0(3)生成.map 映射文件!stnmap i */*/*.ctl(4)插值open *grid.ctlopen *dat.ctldefine varname=oacres(grid,var.2)(5)绘图cnbasemap varname18.绘制路径图