概述
目录
NCL绘图步骤
系统调用
自定义函数和程序
程序
函数
处理跨平台的换行问题
Python绘图
包含在NCL软件包中的其他shell命令
三维图形绘制软件
NCL绘图步骤
- 加载图形库文件
- 设置输出图形的名称和央视
- 定义色板
- 修改绘图参数
- 调用绘图函数
具体画图操作和详细设置参见官网http://www.ncl.ucar.edu/
系统调用
systemfunc函数和system函数区别:
system是传递指令到操作系统中,不作返回;
systemfunc将值返回至NCL中
其他系统调用指令有:status_exit, getenv, sleep和get_cpu_time
;---执行一个shell命令
system("rm -f tmp.asc")
;---执行一个shell命令,并返回结果
file_list = systemfunc("ls t2m_*.nc")
datestring = systemfunc("date") ; 返回当前日期至字符串变量datestring
自定义函数和程序
自定义的函数或程序即可以直接放在脚本开始处以直接调用,也可单独存储为一个外部文件,通过"load"或者"loadscript"命令加载该外部文件以调用
程序
undef("procedure_name") ;optional
procedure procedure_name(declaration_list)
local local_variables
begin
(statements)
end
例如:
;--convK2C:将开尔文温度转换为摄氏温度
undef("convK2C")
procedure convK2C(var)
begin
var = var-273.15
var@units = "C"
end
将该代码段保存为my_library.ncl
之后再调用的时候,直接:
load "my_library.ncl"
begin
var1 = 274.15
convK2C(var1)
end
函数
函数的结构规则如下:
undef("function_name") ;optional
procedure function_name(declaration_list)
local local_variables
begin
statements
return(return_value)
end
下面的例子是计算Π的自定义函数
undef("my_pi")
function my_pi()
local lpi
begin
lpi = 4*arctan(1);
return (lpi)
end
假设上面的代码段被保存为my_library.ncl,若要使用函数my_pi,则:
load"my_library.ncl"
begin
x = my_pi()
print(x)
end
如果一个函数需要返回多个不同类型的变量,则利用[/.../]将多个变量构建为一个列表变量返回,例如:
begin
...
return([/ni, nj, nk/]
end
则在主脚本中:
comp = ret_mulvar(5,2)
var1 = comp[0]
var2 = comp[1]
var3 = comp[2]
处理跨平台的换行问题
在Vim编辑器中,采用命令w: setl ff=unix
另一种方法是使用dos2unix工具,具体命令是:dos2unix FILENAME
Python绘图
Basemap是在Matplotlib基础上开发的专门绘制带有地理坐标和各种地理投影的图形,目前已经停止了开发,逐渐被IRIS和Cartopy替代
还有地理信息系统常用数据处理的GDAL、专用于地图投影处理的pyproj、用于netCDF数据处理的netCDF4程序包
UV-CDAT可以作为一个单独的软件安装,用于高级三维图形绘制
Python中的UTF-8编码下,使用中文只需要在中文的字符串前面加上u即可
如:plt.title(u'地表风速 Surface Winds')
包含在NCL软件包中的其他shell命令
(1)ncl_filedump和ncdump -h类似,输出文件的基本信息。区别是:ncl_filedump除了支持netCDF文件之外,还支持NCL支持的其他格式文件,如:HDF, GRIB1, GRIB2, shapefile等
(2)ncl_convert2nc
(3)ng4ex是一个脚本文件,旨在展示NCL软件包中的一系列示例,可以通过在命令行输入ng4ex查看其用法。例如:查看所有矢量图的NCL例子,运行ng4ex -NCL -vectorplot
(4)WRAPIT是使用Fortran调用NCL的运行方式,使用这个命令可以很方便地在Fortran代码中调用NCL
三维图形绘制软件
VAPOR(https://www.vapor.ucar.edu/)
UV-CDAT (https://uvcdat.llnl.gov/)
最后
以上就是畅快帅哥为你收集整理的NCL绘图NCL绘图步骤系统调用自定义函数和程序Python绘图包含在NCL软件包中的其他shell命令三维图形绘制软件的全部内容,希望文章能够帮你解决NCL绘图NCL绘图步骤系统调用自定义函数和程序Python绘图包含在NCL软件包中的其他shell命令三维图形绘制软件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复