晴天一声雷,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:需注意修改路径
NCL作为一门气象专业语言,自带了很多气象届常用的算法和命令,比如各种强大的插值函数。...平时,我们不管做科研也好,还是做业务也好,都逃不了各种各样的插值:站点插到格点上,格点插到站点上,高分辨率插值到低分辨率格点,低分辨率插值到高分辨率,还有各种模式输出产品往站点、格点上插……NCL没出来之前...后来有了NCL,导师再也不怕你因为插值而卡在那里一个月没有任何进展啦!(然而NCL停更了耶。。) 好啦,现在让我们一起快乐地插值吧! ?...NCL的插值函数都在ngmath库(该库是Fortran、C语言、NCL可直接调用的数学命令的集合)中。...根据插值方法的不同,NCL的插值函数主要可以分为以下几类: csagrid系列:该系列函数利用一个三次样条近似演算法来拟合输入数据的函数。
两图中红色均表示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官网真是不写信则已,一写就是分手信啊。。 NCAR宣布已有的NCL、PyNIO和PyNGL都进入维护模式。...NCL: NCL处于维护模式。...记得NCL宣布全力开发PyNIO和PyNGL,是在2019年1月,而且他们当时还煞有介事地发布了时间节点。...具体可以见我以下两篇旧文: 如何优雅地告别NCL NCL投入Python怀抱的路线图与时间表 谁能想到,这才短短一年多的时间,这两个气象界万众瞩目的包,就烂尾了 ?...放弃了独立性的NCL,在Python的框架下能走多远?
为了帮助大家从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+
Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows系统,包含了众多常用于科学计算、数据分析的 Python 包, 以及一个包管理器conda。...下面以Linux系统为例,说明如何配置一个适合大气和海洋领域的Anaconda虚拟环境。...但是官方不再继续更新维护,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
脚本主要内容: NetCDF数据读取 计算和存储 等值线、矢量箭头、图层叠加 脚本略有缺失,完整脚本请购买施宁教授出的《NCL数据处理与绘图实习手册》纸质书籍。版权归施宁教授所有。...代码: load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm.../gsn_csm.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" load "$NCARG_ROOT/lib/ncarg.../nclscripts/csm/shea_util.ncl" begin year=ispan(1979,2013,1) ; 79/80 - 13/14 it_s=197912 ;起始年月 it_e...plot-comp-enso") gsn_define_colormap(wks,"rainbow+gray") ; 调用rainbow+gray色板,,其它色板名称请查阅http://www.ncl.ucar.edu
经验上来讲,常规情况下,需要满足气象科研、学习、生活的90%的需求,基本需要需要两台电脑,一台Windows和一台Linux/Mac。...那么,Win10的WSL/WSL2的出现就是微软的送福利系列,经过几年的优化和生态的完善,用上了Win10就好似享受到了买一送一的优惠,拥有了一台Win10电脑你还能同时拥有一台Ubuntu的Linux...那就分享一下我的配置和使用逻辑,不过,这里未能满足的10%需求要单独强调一下,服务器还是建议老老实实的用Linux的独立系统(Redhat最为推荐),另外,WSL还是主要用于科学计算,本文中暂不涉及图形界面的复杂设置...到这里,基本能够同时拥有一台科研生产力电脑了兼备Win10和Linux两种操作系统,同时无缝对接使用NCL和Python了。更多细节就不细说了,遇到具体问题可在文末留言或者在交流群讨论。...Terminal/Fluent Terminal可以达到Linux中酷炫的效果 ? Mobaxterm下的Ubuntu的效果 ? Mobaxterm下NCL环境查看nc文件信息 ?
NCL中的filwgts_lanczos函数 对于滤波,首先需要构造滤波器,根据需要分为三种:高通滤波器,低通滤波器以及带通滤波器。...NCL提供了filwgts_lanczos函数来构造Lanczos滤波器,其参数总共有nWgt, ihp, fca, fcb, sigma这五个,参数含义取值参见下方或官网函数说明。
上图中列出了当前Linux,MacOSX和Windows系统上Miniconda3(Python3发行版)的最新版本。.../Miniconda3-latest-Linux-x86_64.sh ..../Miniconda3-latest-Linux-x86_64.sh # 假设下载的为此版本,其余Linux版本类似 如果没有执行权限,在执行上述安装命令之前,先更改此文件的权限,赋予其可执行权限:...时需要通过Conda Forge源,可以通过以下命令进行安装: conda create -n ncl_stable -c conda-forge ncl 创建 ncl_stable 虚拟环境,通过...,-n ncl_stable 选项中的 ncl_stable 可以是任意名称 ⚠️注意: 上述命令仅能在支持NCL的平台安装,Windows系统仍然无法使用NCL(可以在拥有linux子系统的win10
使用conda create 命令可以创建新环境: conda create --name ncl -c conda-forge ncl=6.4.0 # --name 参数用来指定环境名,即新创建的环境名为...ncl # -c 参数用来指定源通道 conda-forge 为源通道别名 # ncl=6.4.0 为从源通道下载指定版本的包 上述命令是通过conda安装ncl,目前不支持windows系统安装...按照以下步骤生成环境文件: 激活要导出的环境 Linux,OS X : source activate env_name Windows : activate env_name 导出环境到文件...加入环境变量 conda环境可以包括已经保存在 Linux,OS X,Windows系统的环境变量。如果你需要一个环境存储密钥用于登录服务器或配置文件,可以通过创建脚本完成此操作。...Linux ,OS X 定位到conda环境目录,进入目录下后创建子目录和文件: 例如: cd /home/user/anaconda3/envs/analytics mkdir -p .
领取专属 10元无门槛券
手把手带您无忧上云