在Python中调用CDO批量处理文件(非cdo-python库)。
实际上可以利用CDO的chain方式连锁处理,代码会更简洁。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import os
filePath = '/CMIP6/hist/ta/CESM2/r1i1p1f1/'
filename = os.listdir(filePath)
filename = list(filter(lambda x:x.startswith('ta'), filename))
for i in range(len(filename)):
os.system('cdo remapbil,r144x73 {}{} {}no{}.nc'.format(filePath,filename[i],filePath,i))
os.system('rm -f {}tmp*'.format(filePath))
os.system('cdo -b 32 mergetime {}no* {}ta.nc'.format(filePath,filePath))
os.system('rm -f {}no*'.format(filePath))
|
可使用的CDO指令可以参考: