晴天一声雷,NCL官网发布重要通告,他们决定不再更新NCL转而向Python发展。WHAT???我刚把NCL用熟了你就跟我说这个。...现在python不但可以替代NCL而且还能提供很多NCL不具备的功能。...不过幸运的是NCL团队很贴心的给出了NCL向Python过渡的指导手册(NCL-to-Python Transition Guide),链接在文末。...熟悉NCL的小伙伴借助官方的文档一定能很快的完成向python的过渡。 Linux配置环境 之前的文章里有详细介绍过如何安装conda,想看详情的请见:一文教你解决Python所有安装配置。...wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh 接下来是安装miniconda,基本上是一路回车下去
首先这不是一篇告诉你如何抛弃NCL的推送,而是告诉你如何更好的使用Python! 作为曾经地球科学领域最炙手可热脚本语言之一的NCL已经进入维护模式,不再更新。...NCAR对NCL进行了“封装”,构成了PyNGL和PyNIO,随后可能还会开发一款工具,囊括NCL中大多数函数。...PyNGL和PyNIO中的函数和绘图方式与NCL是非常类似的,可以非常顺畅的从NCL转到Python。...但遗憾的是PyNGL和PyNIO仍不支持Windows系统(除了Win10的 Linux子系统外)。...ECWMF提供了cfgrib工具可将grib格式转换为NetCDF格式,cfgrib库支持Mac,Linux和windows系统。
1、尽量少用循环 NCL在做循环时特别费时间,这就需要我们在设计代码逻辑时尽量减少循环,对于循环,能合并的就合并,还有可以多用一些NCL的隐藏技能。...NCL要高的多,可以利用shell脚本来写循环。...尤其是需要循环读取多个很大的文件时,即使在NCL脚本中删除了这些文件的变量名,但是NCL并不会释放这些文件,它们还会占用大量的内存,造成运算效率低下。...中的getenv函数读取 ncl test.ncl done 假设这里是要对每个文件中的变量var算平均值,那么test.ncl脚本如下: begin filedirectory = getenv...7、用NCL调用Fortran程序 用NCL调用Fortran程序,需要使用wrapi脚本来将Fortran程序编译成共享对象,从而使NCL可以用external来调用该共享对象。
有任何问题都欢迎交流探讨,共同学习进步!
同时,随着NCL多个版本的优化,NCL提供了大量优秀的函数,来帮助使用者快速熟悉并使用气象和海洋中常用的统计方法。虽然现在NCL在向python转移,但是短时间内NCL依旧不会过时。...NCL主要是在Linux系统下运行。...现在,大家在Windows下运行NCL,目前主要分为3种方法: (1)cywin(2)虚拟机(3)WSL(Windows Subsystem for Linux)。...控制面板->程序->启用或关闭Windows功能 打开 适用于Linux的Windows子系统 选项,确定 ?...#NCL export NCARG_ROOT=/mnt/f/Linux/NCL export PATH=$NCARG_ROOT/bin:$PATH export DISPLAY=:0.0 Tips:需注意修改路径
下面以Linux系统为例,说明如何配置一个适合大气和海洋领域的Anaconda虚拟环境。...ANACONDA的环境变量到~/.bashrc export PATH=/home/xxx/anaconda3/bin:$PATH source ~/.bashrc 安装完成后可执行以下命令添加清华源,...但是官方不再继续更新维护,NCL与较新版本系统的glibc库等不兼容,因此在较新版本的linux系统中无法安装(如ubuntu20.04)。...-n ncl_stable -c conda-forge ncl source activate ncl_stable conda update -n ncl_stable -c conda-forge...--all # 安装成功后使用 source activate ncl_stable ncl plot.ncl 参考: http://www.ncl.ucar.edu/Download/conda.shtml
两图中红色均表示rectilinear网格,左图黑色四边形表示curvilinear网格,右图黑色多边形表示unstructured网格 Regridding步骤 在NCL中实现上述网格映射主要采用的是...0 = "y" ;-- name dimension 0 (default: ncl0) var_regrid!...NCL_Advanced_regrid_rectilin_to_curvilin_bilin_wgts_ESMF.ncl" fileattdef(fout,fAtt) ;-- copy file attributes...NCL_Advanced_regrid_curvilin_to_rectilin_bilin_weights_ESMF.ncl" fileattdef(fout,fAtt) ;-- copy file...NCL_Advanced_regrid_unstruct_to_rectilin_bilinear_wgts_ESMF.ncl" fileattdef(fout,fAtt) ;-- copy file
NCL作为一门气象专业语言,自带了很多气象届常用的算法和命令,比如各种强大的插值函数。...平时,我们不管做科研也好,还是做业务也好,都逃不了各种各样的插值:站点插到格点上,格点插到站点上,高分辨率插值到低分辨率格点,低分辨率插值到高分辨率,还有各种模式输出产品往站点、格点上插……NCL没出来之前...后来有了NCL,导师再也不怕你因为插值而卡在那里一个月没有任何进展啦!(然而NCL停更了耶。。) 好啦,现在让我们一起快乐地插值吧! ?...NCL的插值函数都在ngmath库(该库是Fortran、C语言、NCL可直接调用的数学命令的集合)中。...根据插值方法的不同,NCL的插值函数主要可以分为以下几类: csagrid系列:该系列函数利用一个三次样条近似演算法来拟合输入数据的函数。
NCL官网真是不写信则已,一写就是分手信啊。。 NCAR宣布已有的NCL、PyNIO和PyNGL都进入维护模式。...NCL: NCL处于维护模式。...记得NCL宣布全力开发PyNIO和PyNGL,是在2019年1月,而且他们当时还煞有介事地发布了时间节点。...具体可以见我以下两篇旧文: 如何优雅地告别NCL NCL投入Python怀抱的路线图与时间表 谁能想到,这才短短一年多的时间,这两个气象界万众瞩目的包,就烂尾了 ?...放弃了独立性的NCL,在Python的框架下能走多远?
在MySQL下执行: source /home/jiangxingqi/DB/hello world.sql
/hello.sh【hello.sh必须有x权限】 二、直接sh 加上文件名.sh,如运行hello.sh为sh hello.sh【hello.sh可以没有x权限】 方法一:绝对路径执行.sh文件...到.sh文件所在目录 比如以hello.sh文件为例,如下 2、给.sh文件添加x执行权限 比如以hello.sh文件为例,chmod u+x hello.sh,如下图 3、..../执行.sh文件 比如以hello.sh文件为例,..../hello.sh 即可执行hello.sh文件,如下图 4、sh 执行.sh文件 以hello.sh文件为例,sh hello.sh即可执行hello.sh文件,如下图 注:用“./”加文件名.sh...执行时,必须给.sh文件加x执行权限
为了帮助大家从NCL迁移到Python,开发者也是想尽了办法啊,最近有发起了新的项目-GeoCAT Examples[1],提供了很多的与NCL网站示例脚本对应的Python脚本,旨在帮助大家从NCL逐步迁移到...在提供了的很多Python绘图示例脚本中,目前尚存在不足的是NCL中curly vector图的绘制。如下图所示: ? 左为Python绘制,右为NCL绘制. 左图为截图....可见,matplotlib所绘制的quiver图,矢量箭头没有NCL的流线型,但这个问题后面可能会通过matplotlib上游贡献解决。 其余的图python基本都能够很容易的实现。...左为Python,右为NCL绘制 附: 官方提供的图片大小不一致,为了将Python和NCL的图片进行拼接,本文处理图片用到了ImageMagic的两个命令: •identify:获取图片的尺寸信息•convert...:改变图片尺寸,并进行图片拼接 使用如下命令分别获取Python和NCL绘制的图的图片尺寸 identify xy_18_lg.png xy_18_lg.png PNG 700x472 826x827+
一.命令分类 Linux命令分为两类,具体为内部命令和外部命令 内部命令: 指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,命令help查看所有内部命令的详情,如cd、type...命令查看: type查看命令分类,内部命令显示 shell相关信息,外部命令则显示$PATH路径 二.命令执行顺序 命令形态主要分为4类:alias别名命令、内部命令、hash缓存命令和外部命令。...ls命令执行过程: 下面进行简单分析: 1、shell不断询问是否有键盘输入,用户以enter结束键盘输入后,shell程序以空格为分隔符,得到”ls”,”-l”,”*.c”,三个字符串。...4、ls程序执行后,会分析argc和argv,”-l”表示这是一个选项开关,表明用户想得到文件的详细信息,并把这个开关量保存,以便最后输出的时候选择信息的格式。...5、ls执行完既定的步骤后,退出并返回退出码,若成功则返回0,否则根据错误的不同返回不同的非零数字。 6、shell在得到成功退出码后,继续等待用户输入。
本文介绍如何利用Java执行Linux命令,包括安装JDK、配置环境、执行Linux命令等步骤。
如果在Linux上,下载之后执行以下命令进行下载安装(以Miniconda3为例): wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda.../Miniconda3-latest-Linux-x86_64.sh # 假设下载的为此版本,其余Linux版本类似 如果没有执行权限,在执行上述安装命令之前,先更改此文件的权限,赋予其可执行权限:...chmod a+x Miniconda3-latest-Linux-x86_64.sh # 赋予所有用户此文件的可执行权限 安装期间,需要根据提示进行操作,如果需要更改安装路径,可在相应的安装步骤时更改路径...,-n ncl_stable 选项中的 ncl_stable 可以是任意名称 ⚠️注意: 上述命令仅能在支持NCL的平台安装,Windows系统仍然无法使用NCL(可以在拥有linux子系统的win10...Linux和Mac用户,可以从终端执行jupyter notebook启动。以下是启动示例: ? jupyter notebook的使用见下图: ?
0 4 * * * /bin/sh /usr/local/crontab/test.sh
目的:希望linux在开机或重启后第一时间启动部分服务或者执行特定脚本 1.需要在/etc/init.d/目录下建立对应的shell脚本,示例如下: 开机启动docker-compose中的所有容器 vi...kafka service daemon ### END INIT INFO docker-compose -f /root/docker/docker-compose.yml restart; 2.增加可执行权限...chmod +x /etc/init.d/kafka 3.查看默认执行级别 runlevel N 5 #这里表面本台电脑默认执行级别为 5 Linux有0~6共7个执行级别,不了解的同学赶紧了解下...4.在对应默认级别中建立软连接 ln -s /etc/init.d/kafka /etc/rc5.d/S01kafka 注意:S表示Start K表示Kill 后面跟两位数字,数字越小越优先执行...另外为了防止出错,其实还有个建议,将需要执行的脚本放在/etc/rc.local中,系统在启动完成后最后会去执行里面的内容
领取专属 10元无门槛券
手把手带您无忧上云