nco常用命令及高级玩法Word文件下载.docx
《nco常用命令及高级玩法Word文件下载.docx》由会员分享,可在线阅读,更多相关《nco常用命令及高级玩法Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
6.ncl_filedump–ca.grb
7.
8、ncatted:
比较简单,但是也比较容易出错,最好参考教材
ncatted-O-aunits,y_T,o,c,nounitsoda_test_restore.nc
为变量y_T的units属性修改为字符型属性nounits
ncatted-O-acartesian_axis,grid_y_T,c,c,Yoda_test_restore.nc
为变量grid_y_T
增加属性cartesian_axis=”Y”
ncatted-acase,global,m,c,fwffwf.cpl.r.1941-01-01-00000.nc:
changeglobalattributes.
ncatted-amissing_value,temp,m,f,36oda_sub_kang.nc
将变量的缺省值修改为36.0,注意,修改的不仅是metadata,而且也修改了temp变量里面缺省值的值为36.0,注意,此时最好_Fill_Value最好不要出现
ncatted-O-afilename,global,m,c,temp_sfc_restore.ncoda_test_restore.nc
修改oda_test_restore.nc中globalattributes
下面filename的值为temp_sfc_restore.nc
ncatted-aTITLE,global,c,c,"
OUTPUTFROMWRFV3.3MODEL"
wrf.d01.nc
ncatted-O-acalendar,time,d,,,
u10_07sep1_08mar2.nc
删除time的calendar属性
9、ncrename:
ncrename
–vtemp,temin.nc
给变量改名
–dlat1,latin.nc
给坐标改名
10、ncap2(ncap):
必须要两个文件名:
in.ncout.nc
ncapusuallylosestheattributewhilencap2keepsattribute.
ncap2-O-s'
anomaly_2hour_outchange=temp-temp_restore'
in.ncout.nc
两个变量相减生成第三个变量
temp_oda=float(temp_oda)'
将in.nc中的变量temp_oda转变成float类型
ncap2
–O
–s
‘lon_lat[lon,lat]=lat+lon’
in.ncout.nc
lat和lon分别是一维数组,产生一个二维数组lon_lat(lon,lat)
11、ncpdq:
ncpdq-a-latoda_sub_kang.ncout.nc
改变lat的排列方向
ncpdq-aT,Z,Y,X-vtemptemperature_jccom.ncout.nc
改变变量temp的排放顺序为temp(t,z,y,x)
ncpdq-azt,TIMEregrid_3d.ncout.nc
changetherecorddimensionfromTIMEtozt
ncpdqin.ncout.ncallvariabletonc_short
ncpdq–Uin.ncout.ncunpackallvariabletofloat
12、ncra
ncra-dTIME,0,30,1u_10.ncu.nc
对u_10.nc的第一个月求平均值
13、ncwa:
Note:
onlyvalidinonedimensionaverage.
ncwa
-O
–alonin.ncout.nc
storethezonalmeanofin.ncinout.nc
14
ncbo
needonly3files.
ncbo
-O--op_typ=add/sub/mlt/dvdin1.ncin2.ncout.nc
“ncboperformsbinaryoperations(additionsubtractionmultiplicationdivision,file1+-*/file2=out.nc)onvariablesinfile1andcorrespondingvariables(thosewiththesamename)infile2andstorestheresultsinfile3
15
ncflint
ncflint-O-C-vprs_sfc-w0.01,0.0in.ncin.ncout.nc
-C,
whichcauses
NCO
to
notautomaticallyaddcoordinatestothevariablesappearingintheoutput-file.
Rescalethedimensionalunitsofthesurfacepressureprs_sfcfromPascalstohectopascals
(millibars)
含nc文件的fortran编译命令
ifort-ofortran.exefortran1.f90-I/usr/local/include-L/usr/local/lib
–lnetcdf
17上用32位编译:
xlf90layer.f90-I/gpfs/fs4/kangxb/software/software.32bit/include-L/gpfs/fs4/kangxb/software/software.32bit/lib-lnetcdf
Xlf90
–ca.f90
只编译不链接
Segmentationfault:
堆栈不够的标志,此时尝试用-q64编译,如果还不行,就只好修改程序,减少堆栈
GRADS:
1、grads二进制文件转换成为nc文件:
lats4d-itest.ctl-otest.nc-ftypectl-varsclfmi
2、命令行执行lats4d:
gradsc
-lbc
"
lats4d
-v
-q
-i
model
-o
ex1"
CDO
./configureCC=pgcc--prefix=/global/u2/k/kang/software/cdo-1.4.3--with-netcdf=/opt/cray/netcdf/4.0.1.0/netcdf-pgi/--with-hdf5=/opt/cray/hdf5/1.8.3.0/hdf5-pgi/--with-szlib=/usr/common/usg/szip/2.1/pgi/
./configureCC=pgcc--prefix=/global/u2/k/kang/software/cdo-1.4.3--with-netcdf=
/opt/cray/netcdf/4.0.1.0/netcdf-pgi
--with-hdf5=
/opt/cray/hdf5/1.8.5.0/hdf5-pgi/
--with-szlib=/usr/common/usg/szip/2.1/pgi/
onevergreen:
./configure--prefix=/homes/xkang/software/cdo--with-netcdf=/cell_root/software/netcdf/4.1.1/intel400CC=icc--with-hdf5=/cell_root/software/hdf/1.8.6/intel/sys/include
LIBS='
-lcurl'
./configure--prefix=/homes/xkang/software/cdo--with-netcdf=/cell_root/software/netcdf/4.1.1/intel400CC=iccLIBS='
-lcurl-lgssapi_krb5-lssl-lcrypto-ldl-lidn-ldes425-lkrb5-lk5crypto-lcom_err-lkrb5support-lresolv'
1.
binary->
nc
/global/u2/k/kang/software/cdo-1.4.3/bin/cdo-fncimport_binaryin.ctlout.nc
2.nc->
grib:
https:
//code.zmaw.de/boards/1/topics/2907
operatorstrategies:
1、
specifyinglargenumberfiles:
ncfilename=alphanumeric_prefix+numeric_suffix+’.’+filetype#
ncea/ncecat/ncra/ncrcat
–nfile_number,digit_number,numeric_increment
#wheredigitnumberisthefixednumberofnumericdigitscomprisingthenumeric_suffix,asthefollowingexample:
digit_numberis2,noalphanumeric_prefix,ifdigit_numberis1,thenthealphanumeric_prefixis8.
ncra
–n5,2,185.nc8589.nc
#ncra85.nc86.nc87.nc88.nc89.nc8589.nc
specialskills:
2、
converttimefromarecorddimensiontoanon-recorddimension
ncecatin.ncout.nc
#Converttimetonon-recorddimension
ncwa-arecordin.ncout.nc
#Removenewdegeneraterecorddimension
3、
converttimefromafixeddimensiontoarecorddimension
#createarecorddimension:
“record”
ncpdq-aTIME,recordout.ncin.nc#changetherecorddimensionfrom
“record”
toTIME
4、
howtogluetimedimensionlackingfilestogetherwithtimedimensionadded?
(ex:
temp_0hour(lat,lon),temp_6hour(lat,lon)totemp(time,lon,lat))
ncecattemp1.nctemp_0hour.nc
result:
temp(record,lat,lon),record=UNLIMITED;
//(1currently)
ncecattemp2.nctemp_6hour.nc
ncrcattemp_0hour.nctemp_6hour.nctemp.nc,result:
//(2currently)
–drecord,timetemp.nc
temp(time,lat,lon)
createtime.ncfile(like:
time=UNLIMITED;
//(2currently),doubletime(time))withncl
ncks
–Atime.nctemp.nc
temp(time,lat,lon)
5、
Howtouse.psfileintheword?
Openthe*.psfilewithgsvsoftware->
selectthe
“PStoEPS”
buttonin
“file”
menu->
saveas*.eps(thewordsupportedformat)
Open.pswithgsview->
convert->
jpeg
6、
Nclmultipleinputfilesskills:
Ex:
######definevariable#################
name=new((/2/),string)
in=new((/2/),file)
temp=new((/2,50,200,360/),double)
######givethevariablethevalue#######
name(0)=(/"
temp.2005_1.nc"
/)
name
(1)=(/"
temp.2005_2.nc"
doi=0,1
in(i)=addfile(name(i),"
r"
)
in2=in(i)
temp(i,:
:
)=in2->
temp
enddo
7、
addtimerecord
#!
/bin/csh
setecho
#attributetimedimensionasrecorddimension
foreachlabel(soda_u_1981.ncsoda_v_1981.nc
)
ncecat-O$labelout.nc
ncpdq-O-atime,recordout.ncout1.nc
ncwa-O-arecordout1.nc$label
rmout*
end
8.dailymeantomonthlymeanincludingleapyear.
/bin/tcsh
rm*.tmp
@yr=1951
while($yr<
=2007)
setisleap=0
foreachyr1(1952195619601964196819721976198019841988199219962000200420082012)
if($yr==$yr1)then
setisleap=1
endif
end
if($isleap==0)then
ncra-O-dtime,0,30download/APHRO_MA_025deg_V1003R1.$yr.ncout.10.nc
ncra-O-dtime,31,58download/APHRO_MA_025deg_V1003R1.$yr.ncout.11.nc
ncra-O-dtime,59,89download/APHRO_MA_025deg_V1003R1.$yr.ncout.12.nc
ncra-O-dtime,90,119download/APHRO_MA_025deg_V1003R1.$yr.ncout.13.nc
ncra-O-dtime,120,150download/APHRO_MA_025deg_V1003R1.$yr.ncout.14.nc
ncra-O-dtime,151,180download/APHRO_MA_025deg_V1003R1.$yr.ncout.15.nc
ncra-O-dtime,181,211download/APHRO_MA_025deg_V1003R1.$yr.ncout.16.nc
ncra-O-dtime,212,242download/APHRO_MA_025deg_V1003R1.$yr.ncout.17.nc
ncra-O-dtime,243,272download/APHRO_MA_025deg_V1003R1.$yr.ncout.18.nc
ncra-O-dtime,273,303download/APHRO_MA_025deg_V1003R1.$yr.ncout.19.nc
ncra-O-dtime,304,333download/APHRO_MA_025deg_V1003R1.$yr.ncout.20.nc
ncra-O-dtime,334,364download/APHRO_MA_025deg_V1003R1.$yr.ncout.21.nc
else
ncra-O-dtime,31,59download/APHRO_MA_025deg_V1003R1.$yr.ncout.11.nc
ncra-O-dtime,60,90download/APHRO_MA_025deg_V1003R1.$yr.ncout.12.nc
ncra-O-dtime,91,120download/APHRO_MA_025deg_V1003R1.$yr.ncout.13.nc
ncra-O-dtime,121,151download/APHRO_MA_025deg_V1003R1.$yr.ncout.14.nc
ncra-O-dtime,152,181download/APHRO_MA_025deg_V1003R1.$yr.ncout.15.nc
ncra-O-dtime,182,212download/APHRO_MA_025deg_V1003R1.$yr.ncout.16.nc
ncra-O-dtime,213,243download/APHRO_MA_025deg_V1003R1.$yr.ncout.17.nc
ncra-O-dtime,244,273download/APHRO_MA_025deg_V1003R1.$yr.ncout.18.nc
ncra-O-dtime,274,304download/APHRO_MA_025deg_V1003R1.$yr.ncout.19.nc
ncra-O-dtime,305,334download/APHRO_MA_025deg_V1003R1.$yr.ncout.20.nc
ncra-O-dtime,335,365download/APHRO_MA_025deg_V1003R1.$yr.ncout.21.nc
ncrcat-O-n12,2,1out.10.ncmonth/APHRO_MA_025deg_V1003R1.$yr.nc
rmout*
@yr+=1
End
9.Fourtimesperdailymeantomonthlymean
forvarinslp_t_10_modq_10_modu_10_modv_10_mod
do
filein=$var.clim.nc
fileout=$var.clim.monthly.nc
ncra-O-dtime,0,123$fileinout.10.nc
ncra-O-dtime,124,235$fileinout.11.nc
ncra-O-dtime,236,359$fileinout.12.nc
ncra-O-dtime,360,479$fileinout.13.nc
ncra-O-dtime,480,603$fileinout.14.nc
ncra-O-dtime,604,723$fileinout.15.nc
ncra-O-dtime,724,847$fileinout.16.nc
ncra-O-dtime,848,971$fileinout.17.nc
ncra-O-dtime,972,1091$fileinout.18.nc
ncra-O-dtime,1092,1215$fileinout.19.nc
ncra-O-dtime,1216,1335$fi