登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 新手村de小菜鸡 于 2022-11-20 22:07 编辑
首先要感谢两篇经验贴,帮助我很快地成功运行。放这: https://www.jianshu.com/p/5bb6d8ec5444
http://bbs.06climate.com/forum.php?mod=viewthread&tid=104131
开这个贴,是因为遇到了一些报错,先从下数据开始:
我下载的是ERA5位势高度、风速等每日nc数据,但是ncdump发现纬度是反过来的,于是我就用cdo-invertlat了一下。结果恰恰是这步操作,导致后面不断出现报错!分型时读取正反纬度都是一样的。
对于时间单位的处理:ERA5数据的time:units = "hours since 1900-01-01 00:00:00.0" 要改成00:00:00,而且我的数据时间并不是连续的,于是直接删除原来的时间,替换了个新的、连续的时间,后续记得换回来就行
cost733class的命令:
我用的是里面T-PCA的分型方法,看到软件里还有很多SOM、K-means等分型方法,但我没有试过
一个文件只有一个变量,nc文件要加上fmt:netcdf,ncl 9表示分型数量为9:
./cost733class -v 4 -dat pth:/home/ERA5_test_data/testz.nc var:z fmt:netcdf slo:105:125:0.25 sla:15:30:0.25 fdt:2016 ldt:2016 ddt:1d -met PCT -ncl 9 -cla /home/ERA5_test_data/output_9.txt -dcol 3
当然如果想对多个变量加权分型,也要一个文件一个变量的读入:
./cost733class -v 4 -dat pth:/homeERA5_test_data/testz.nc var:z fmt:netcdf wgt:1.D0 -dat pth:/home/ERA5_test_data/testt.nc var:t fmt:netcdf -dat pth:/home/ERA5_test_data/testw.nc var:w fmt:netcdf wgt:1.D0 slo:105:125:0.25 sla:15:30:0.25 fdt:2016 ldt:2016 ddt:1d -met PCT -ncl 9 -cla /home/ERA5_test_data/output9.txt -dcol 3
wgt表示加权,如果每个变量都设置为1,实际就是1/n,D代表双精度,1.0表示为1.D0,最后生成的文件是txt格式,我试过如果写成.nc,好像也是无效的nc文件格式
分型结束后,可以计算ECV进行评价
./cost733class -dat pth:/home/ERA5_test_data/testz.nc -dat pth:/home/ERA5_test_data/testt.nc -dat pth:/home/ERA5_test_data/testw.nc -clain pth:/home/ERA5_test_data/output_9.txt dtc:3 ddt:1d -met ECV
不会生成文件,只会在屏幕上显示出这个分型计算的ECV的值,我理解的是:分型数量不同,计算得出的ECV不同,哪个ECV最大说明哪种分型效果最好
另外,缺失值不影响分型软件运行,时间如果修改为连续的、正常的单位,就没问题,time_bnds我还没遇到
方差为0的报错我遇到过,方差为0不就是说数据都一样吗,检查发现输入命令里的变量var不应该是时间变量time,改成位势高度z就可以了
一个文件存了多个变量,是不能在var一起读入的
运行cost733之前要先进入到安装cost733class的src文件夹(我的路径是/home/cost733class/cost733class-1.4-main/src/),再开始执行命令./cost733class
剩下的就是熟读用户手册啦~
|