cost733天气分型软件安装及使用流程

原来的官网已经停更了,安装包和手册都无法下载。

现仅存的安装包下载地址:philipan / cost733class-1.4 · GitLab (uni-augsburg.de)

手册:(2) (PDF) COST733CLASS v1.2 User guide (researchgate.net)

安装

因为我用的服务器,netcdf, hdf5等环境变量之前都是配置好的,所以解压后直接一步安装。

解压

tar xzvf cost733class-1.4.tar.gz

进入解压后的文件夹,执行

intel处理器  ./configure FC=ifort CC=icc --disable-grib --disable-opengl && make

gnu处理器  ./configure FC=gfortran CC=gcc --disable-grib --disable-opengl && make

然后进入src文件夹,检查是否生成cost733class可执行文件,生成即安装成功。

使用

关于方法以及类型的选择,更多的需要去读用户手册或者参考已发表文献,这里我只记录一下自己基于ERA5的逐小时SLP的运行流程

1. 数据下载

勾取自己需要的时间和经纬度范围,下载对应的nc文件

ERA5 hourly data on single levels from 1959 to present (copernicus.eu)

2. 数据预处理

根据自己的研究需求,可以用日平均,也可以每天挑选一个时刻,放在一个nc文件里

3. 运行

进入安装文件夹中的src文件,即cost733class可执行文件所在的位置,运行以下命令

./cost733class -dat pth:/public/home/sunxiaoyun/datadir/ERA5/input4cost733/slp-daily.nc slo:100:125:0.25 sla:20:50:0.25 -met PCT -ncl 4 -cla  output-PCT.txt  

./cost733class -dat pth:/student/sunxiaoyun/cal_4_cost733/input4cost733/slp-heavy.nc wgt:1.D0 -dat pth:/student/sunxiaoyun/cal_4_cost733/input4cost733/u-heavy.nc wgt:1.D0 -dat pth:/student/sunxiaoyun/cal_4_cost733/input4cost733/v-heavy.nc wgt:1.D0 slo:100:125:0.25 sla:20:50:0.25 -met PCT -ncl 4 -cla ./output/output-heavy-PCT04.txt         #用地面气压和风场共同进行分型

执行时给出经纬度范围和分辨率,我选择的是PCT方法,类型是4种,输出至PCT.txt,这些都可以根据自己的需求进行修改。

到这一步就可以出运行结果了,生成的txt中几列数据分别是年,月,日,时和type

PCT.txt

4.分类结果评估

手册中提供了一些分类结果评估的,目的是选出最合适的类型数。这里举例最常用的方法止一:ECV

需要给出分类的input文件,分类的执行结果以及方法的选择。

./cost733class -dat pth:/student/sunxiaoyun/cal_4_cost733/input4cost733/slp-heavy-twice.nc  -clain pth:./output/output-heavy-twice-PCT04.txt dtc:4 ddt:1d -met ECV -idx clain-ECV

其中 dtc:4 (日期数据有四列的意思)这个命令需要加上,否则在读入分类结果的时候会报错。

其中关于分类及评估方法的选取,以及用多种变量分类时权重的分配等都有待研究。感兴趣的可以自己去手册里看看。手册中还提供了后处理的一些命令,我用不惯,选择自己画图分析了。


遇到的问题(好多问题/(ㄒoㄒ)/~~)及解决方案:

1. 关于input文件的时间单位

直接下载的数据去运行cost733报错,找不到时间单位,但数据属性显示明明是有单位的

报错信息
input文件的time变量属性

然后我去研究了一下代码,发现对时间单位的几种情况中,开始时间没有1900-01-01 00:00:00.0这种情况,不敢随意修改源代码怕有连锁反应,也不想通读所有代码,所以就写了个脚本改了一下时间属性(这一步自行发挥,我目前试了ncl和python都可以)。

截取自netcdfcheck.f90

更改后的时间单位如图所示,是代码中显示的第三种case。然后我去试了一下就可以正常运行了。

2. input文件时间的连续性

这个分型模式只适用于连续的日期进行分型,例如我输入的是2013-2020年每年的12月共8个月的数据,最后运行完输出的txt文件中显示从2013年12月1日到2014年7月。目前找到的解决方案就是再另写一个文件记录正确的日期,最后分析的时候替换一下。

3.input文件日平均的处理

在我自己运行的时候,分析的时间序列比较长,所以用日均值比较合理。ERA5官方有提供一个calculator Daily statistics calculated from ERA5 data (copernicus.eu),需要点点点,我选择了python批量下载小时值,用cdo处理成日均值。cdo的安装和使用我也进行过一些简单的记录。

安装: 基于anaconda安装cdo - 简书 (jianshu.com) 使用:cdo的使用--数据的合并,剪裁,更改等,持更 - 简书 (jianshu.com)

但是回来就发现这个cdo做的日均值在跨年数据作为input文件的时候会报错。就是我用2013-2020年每年的12月共8个月没问题,做每年冬季(12月-次年1-2月)就会报错方差为0。方差为0不就是数据都一样吗,又去检查了所有数据的方差明明没有0,无法理解。

评论区有朋友说删除使用cdo平均过程中新生成的time_bnds后可正常运行,我试了一下还是失败了,有需要的朋友可以尝试一下。

报错信息
所有点方差的最大最小值

2023.02.10更新

原来执行./cost733class 命令可以选择读入的变量! 这样便可以解决方差为0的问题。

./cost733class pth:/public/home/sunxiaoyun/datadir/ERA5/input4cost733/slp-daily.nc var:z slo:100:125:0.25 sla:20:50:0.25 -met PCT -ncl 4 -cla  output-PCT.txt  

2023.08.04更新

使用cdo的delete删除time_bnds变量总是报错找不到变量

用了python中del命令,变量依旧存在。。。

最后实现工具大融合,最终用nco删除了这个变量

ncrcat -v varname -x input.nc output.nc

2024.05.23更新

模式默认读取日数据,在做一天多个时次的时候可以尝试更改一下nc文件的时间间隔,也可解决方差为0的问题

cdo settaxis, 2013-04-01, 00:00, 1 day test.nc test1.nc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容