[ncl-talk] how I can split one file to 12 files?
Adam Phillips
asphilli at ucar.edu
Wed Oct 21 16:34:01 MDT 2015
Hi Sun,
If you do want to create a netCDF file for each month from your files that
contain 12 months of data, I would use the netCDF operators:
; Note: Script not tested, check that the results are as you would expect.
begin
year = (/"2007","2008","2009","2010","2011","2012","2013"/)
varname = "MFLUX_GDS0_ISBL_S130"
diri = "/Users/spark/vertical/00_DATA/20_JRA-55/"
filo = "fcst_phy3m125.231_mflux."
do gg = 0,dimsizes(year)-1
fili = "fcst_phy3m125.231_mflux."+year(gg)+"01_"+year(gg)+"12.
allen136024.nc"
do hh = 1,12
en = sprinti("%2.2i",hh))
print("ncks -v "+varname+" -d time,"+(hh-1)+","+(hh-1)+"
"+diri+fili+" "+filo+year(gg)+en+".nc")
; system("ncks -v "+varname+"-d time,"+(hh-1)+","+(hh-1)+"
"+diri+fili+" "+diri+filo+year(gg)+en+".nc")
end do
print("Now done with year = "+year(gg))
end do
end
If the print statements look good, then you could uncomment out the system
statement.
Hope that helps.. If not, or if I totally misunderstood what you are after,
please respond to the ncl-talk email list and not to me personally.
Adam
On Tue, Oct 20, 2015 at 11:59 PM, mireiyue <mireiyue at gmail.com> wrote:
> Dear NCL users
>
> I have a file it contains 12 months data
> (ec550aer_aero_NorESM1-M_historicalExt_r1i1p1_*201201-201212*.nc). I want
> to make file for each month. What nil function I should use? I tried to use
> reshape but It gives me
> fatal:_NclBuildArray: each element of a literal array must have the same
> dimension sizes, at least one item doesn’t (near L30). If I made mistake in
> the script please help me what I did wrong or if I have to use other
> function.
>
> I do appreciate any helps.
>
> year = (/"2007","2008","2009","2010","2011","2012","2013"/)
> diri = "/Users/spark/vertical/00_DATA/20_JRA-55/" ;
> path to file
> do ii=0,6
>
> fili =
> "fcst_phy3m125.231_mflux."+year(ii)+"01_"+year(ii)+"12.allen136024"
> varname = "MFLUX_GDS0_ISBL_S130"
> filenc = addfile (diri+fili+".nc", "r") ; entire file
> mf = filenc->$varname$ ; (time, ver, lat, lon)
>
> time =filenc->initial_time0
> lev =filenc->lv_ISBL1
> lat =filenc->g0_lat_2
> lon =filenc->g0_lon_3
> mf at _FillValue=1e+20
>
> printVarSummary(mf)
>
> ntim = dimsizes(time)
> nlev = dimsizes(lev)
> nlat = dimsizes(lat)
> nlon = dimsizes(lon)
> nyears = ntim/12
>
> * mfreshape = reshape(mf,(/nyears,12,nlev,nlat,nlon/)) :an error occurs
> here*
> printVarSummary(mfreshape)
>
> Thank you
> Sun-
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
--
Adam Phillips
Associate Scientist, Climate and Global Dynamics Laboratory, NCAR
www.cgd.ucar.edu/staff/asphilli/ 303-497-1726
<http://www.cgd.ucar.edu/staff/asphilli>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151021/ba215235/attachment.html
More information about the ncl-talk
mailing list