[ncl-talk] extracting Wrf Varibales and Times
Mary Haley
haley at ucar.edu
Mon Dec 7 09:17:58 MST 2015
WRF output files store their "times" array as strings, so you probably need
to read these off the files and parse them. You should be able to do this
with str_split_csv.
For example, let's say you open the files and read the "Times" variable
with:
[UNTESTED]:
files = systemfunc("ls wrfout_d01*")
files = files + ".nc"
f = addfiles(files,"r")
times = wrf_user_list_times(f) ; Read "Times" off the file
You can then parse the "times" array using "str_split_csv" to split the
fields on the "-" and "_" characters, which is what separates the years,
months, and days:
;--Parse the WRF times string to get the months as integers.
str1 = str_split_csv(times,"-",0) ; first split on "-"
str2 = str_split_csv(str1(:,2),"_",0) ; now split on "_""
wrf_months = toint(str1(:,1)) ; should be integers from 1 to 12
Now that you have "wrf_months", you can use the "ind" function to grab the
months you want:
;---Get the index locations for MAM and OND
mam_ind = ind(wrf_months.ge. 3.and.wrf_months.le. 5)
ond_ind = ind(wrf_months.ge.10.and.wrf_months.le.12)
;
; You may not have any need for the wrf_times_mam and
; wrf_times_ond arrays, but I'm including them here to
; see what they look like.
;
wrf_times_mam = times(mam_ind)
wrf_times_ond = times(ond_ind)
print("MAM: " + wrf_times_mam)
print("OND: " + wrf_times_ond)
These index values can be used to index any WRF variable that you read
with "wrf_user_getvar", or straight off the file:
;---Read all sea level pressures off the files
slp = wrf_user_getvar(f,"slp",-1) ; sea level pressure
;---Grab only MAM and OND seasons of slp
slp_mam = slp(mam_ind,:,:) ; this assumes "slp" is 3D
slp_ond = slp(ond_ind,:,:)
Let me know if this is not what you needed.
--Mary
On Sun, Dec 6, 2015 at 12:53 AM, afwande juliet <afwandej965 at gmail.com>
wrote:
> Dear NCL users
> I have many files from wrf output like this etc..
>
> wrfout_d01_1982-02-01_00:00:00
> wrfout_d01_1982-06-06_00:00:00
> wrfout_d01_1982-10-09_00:00:00
> wrfout_d01_1997-02-01_00:00:00
> wrfout_d01_1997-03-03_03:00:00
> wrfout_d01_1997-06-04_03:00:00
> wrfout_d01_1997-07-04_03:00:00
> wrfout_d01_1997-07-29_03:00:00
> wrfout_d01_1997-09-29_15:00:00
>
> I want to extract only 6variables for MAM and OND seasons for all the
> files so that whatever files I will finally have will contain only
> 6variables for times march-May and October -Dec
>
> Is there a way I can do this in NCL, I am trying to check the NCL
> documentations script at
> http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/Examples/BASIC_SFC/wrf_Surface_multi_input_files.htm
> but can get way out
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151207/1a1603ed/attachment.html
More information about the ncl-talk
mailing list