[ncl-talk] Daily averaged ozone concentration
Dennis Shea
shea at ucar.edu
Thu Aug 10 21:34:11 MDT 2017
re:
*fatal:Dimension sizes of left hand side do not match right hand side
fatal:["Execute.c":8640]:Execute: Error occurred at or near line 99 in file
wrf_hrly_to_daily.ncl*
Line 99:
*fnc->o3DayAvg = (o3DayAvg) *
The (...) should not affect the array. Actually I have no idea why used the
(...). I looked at the output and I think the issue is related to the first
two lines.
Replace
fnc->Time = Time
fnc->Times = Times ; original character
fnc->XLAT = f[0]->XLAT(0,:,:) ; no 'Time' dimension
fnc->XLONG = f[0]->XLONG(0,:,:)
fnc->o3DayAvg = (o3DayAvg)
With
fnc->o3DayAvg = o3DayAvg ; write meta data associated with
daily avg
fnc->XLAT = f[0]->XLAT(0,:,:) ; no 'Time' dimension
fnc->XLONG = f[0]->XLONG(0,:,:)
========
re: the plot
You must look at the data.
The lat/lon arrays are not global yet you have a global plot background.
That should provide you with some information to investigate.
*WRF files place the necessary graphic projection information with the file
attributes.That is why the WRF file's attributes were copied to the
'o3.day.nc <http://o3.day.nc>' file.*
ncl 0> f = addfile("o3.day.nc","r")
ncl 1> xlat = f->XLAT
ncl 2> printMinMax(xlat,0)
(0) LATITUDE, SOUTH IS NEGATIVE (degree_north) : min=24.4541
max=52.7485
ncl 3> xlon = f->XLONG
ncl 4> printMinMax(xlon,0)
(0) LONGITUDE, WEST IS NEGATIVE (degree_east) : min=-115.097
max=-74.9647
ncl 5> print(f)
variable: f
Type: file
filename: o3.day
path: o3.day.nc
file global attributes:
[snip]
*MAP_PROJ_CHAR : Lambert Conformal MAP_PROJ : 1... POLE_LON :
0 POLE_LAT : 90 STAND_LON : -95.031 MOAD_CEN_LAT :
39.072 TRUELAT2 : 39.072 TRUELAT1 : 39.072 CEN_LON :
-95.03101 CEN_LAT : 39.072*
[snip]
============================================
On Wed, Aug 9, 2017 at 7:22 PM, Bucaram Carbo, Carlos <
carlos.bucaramcarbo at und.edu> wrote:
>
> HI Dennis,
>
>
> Thank for your quick reply and feedback. Attached you will see the
> *wrf_hrly_to_daily.ncl* script we used to run the full set of data for
> one day, as well as the small variant we used to run only one 1-hour of
> data. As you might see from the corresponding* wrf_hrly_to_daily.out *files,
> an error occurred when we processed the full 24-hour set of *wrfout_d01**
> files. That error reads as follows:
>
>
>
>
> *fatal:Dimension sizes of left hand side do not match right hand side
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 99 in file
> wrf_hrly_to_daily.ncl*
>
>
> Line 99 of the *wrf_hrly_to_daily.ncl *reads as follows:
>
>
> *fnc->o3DayAvg = (o3DayAvg) *
>
>
> On another note when we ran the same script to process only one 1--hour
> *wrfout_d01* file, the out file completes the running of the script with
> no issues. Then the *o3.day.nc <http://o3.day.nc>* is created correctly,
> and thus we visualize an image similar to the attached one.
>
>
> Also we appreciate your advise regarding the commands for
> the visualization script. We might get to work on that as soon as the 24
> 1-hour *wrfout_d01** gridded o3 concentration values are correspondingly
> gridded on the daily average 1-frame file.
>
>
> Once again thanks for your help and feedback on the above issue,
>
>
>
> Carlos
>
>
> ------------------------------
> *From:* Dennis Shea <shea at ucar.edu>
> *Sent:* Monday, August 7, 2017 7:42:37 PM
> *To:* Bucaram Carbo, Carlos
> *Cc:* ncl-talk at ucar.edu
> *Subject:* Re: [ncl-talk] Daily averaged ozone concentration
>
> Your original email had:
>
> "find a script that would read 24 individual 1-hour wrfout_d01* output
> files for every day of an entire month of the year"
>
> [1]++++++++++++++++++++++++++++++++++++++++++++++
> Did anybody look at the .out file?
>
>
> filw = systemfunc("cd "+dirw+" ; ls wrfout_d01_2010-07-15_*.nc"
> pthw = dirw+filw
>
> ;---https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml
> addfiles - University Corporation for Atmospheric Research
> <https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml>
> www.ncl.ucar.edu
> NCL Home > Documentation > Functions > File I/O addfiles. Creates a
> reference that spans multiple data files. Prototype function addfiles (
> file_path [*] : string ...
>
> f = addfiles(pthw, "r") ; 'f' is type list
>
> Times= f[:]->Times ; char Times(Time,
> DateStrLen)
> Times_str= tostring( Times )
> print(Times_str)
>
> ===========
> You only have **one** time step. Likely only one file!
> ===========
> Variable: Times_str
> Type: string
> Total Size: 8 bytes
> 1 values
> Number of Dimensions: 1
> Dimensions and sizes: [1] <========
> Coordinates:
> (0) 2010-07-15_19:00:00
> (0) -----
>
> =====
> I provided an outline of how to proceed. The 'file name string' was a
> place holder for you to change for your needs
> You should have used something like the following unix style expansions
> which NCL understands.
>
> wrfout_d01_2010-*00.nc ; all wrfout_d01_2010 files for 2010
> that end with 00.nc
> or
> wrfout_d01_2010-0[6-8]*00.nc ; all wrfout_d01_2010 files for
> June-Aug that end with 00.nc
> or
> wrfout_d01_*00.nc ; all wrfout_d01 files that end with 00.nc
>
> filw = systemfunc("cd "+dirw+" ; ls wrfout_d01_2010-*00.nc"
> pthw = dirw+filw
> print(pthw) ; <====== LOOK at this
>
>
> f = addfiles(pthw, "r") ; 'f' is type list
> Times= f[:]->Times ; char Times(Time,
> DateStrLen)
> Times_str= tostring( Times )
> print(Times_str)
>
> exit ;
> ========
>
> [2]+++++++++++++++++++++++++++++++++++++++++++++++++++++
> The netCDF file looks fine. It has only one time step because you
> provided only one file.
>
> ========
> [3] I did not provide any graphic code. I speculate you are using some of
> the code you included with the original post. This included u10/v10 data
> which was overlaid onto O3. There is no u10/v10 on the daily mean o3 file.
> If you need a daily mean u10/v10, you will have to add more code to the NCL
> script. to calculate and output daily mean u10/v10.
>
> The plot code with the original email used: It used the following to plot
> the o3 value.
>
>
> plot = wrf_contour(a,wks,o3(nl,:,:),res) ; <=== nl ... level index
>
> ===
>
> Your scalar code for o3 would be
>
> a = addfile("o3.day.ncl", "r")
>
> plot = wrf_contour(a,wks,o3(nt,:,:),res) ; nt refers to the daily
> time index
>
> =================================
>
> ALl of the necessary plot information is on the o3.day.nc file as file
> attributes.
>
>
>
> On Mon, Aug 7, 2017 at 5:03 PM, Bucaram Carbo, Carlos <
> carlos.bucaramcarbo at und.edu> wrote:
>
>>
>> Hi Dennis,
>>
>>
>> Thank you for your reply, and comments. We proceeded as you recommended,
>> and then tried to visualize the output on a second NCL script. The end
>> result could be seen on the attached .pdf file. A few thoughts on what we
>> have found out so far:
>>
>>
>>
>> 1. We can process a single *wrfout_d01** file at a time, with the *Wrf_hrly_to_daily.ncl
>> *script. However when we have tried to process a *wrfout_d01** file
>> with multiple hours of data, we observe errors on the terminal screen and
>> virtually no data on the resulting *o3.day.nc <http://o3.day.nc>*
>> netcdf file. Also the script will not read multiple *wrfout_d01**
>> single hour data files, and just pick and process the very last hour of
>> such batch of data files.
>> 2. The visual output is very appealing, but it would be desirable to
>> have a visual representation within the domain area of study
>>
>>
>> Attached you will find the NCL scripts we have used, the resulting
>> o3.day.nc netcdf file, as well as the .pdf post-processed image. Also we
>> would be glad to share the *wrfout_d01* *files we have used so far,
>> through Dropbox, if you think it might help.
>>
>>
>> As before we do appreciate your help and feedback with this issue.
>>
>>
>> Best regards,
>>
>>
>>
>> Carlos
>> ------------------------------
>> *From:* Dennis Shea <shea at ucar.edu>
>> *Sent:* Friday, August 4, 2017 9:23:24 PM
>>
>> *To:* Bucaram Carbo, Carlos
>> *Cc:* ncl-talk at ucar.edu
>> *Subject:* Re: [ncl-talk] Daily averaged ozone concentration
>>
>> After
>>
>> filAtt = 0
>> filAtt at title = "O3: Daily Mean"
>> filAtt at Conventions = "None"
>> filAtt at creation_date = systemfunc("date")
>> filAtt at NCL = get_ncl_version()
>>
>> Add the following line:
>>
>> copy_VarAtts(f[0], filAtt) ; copy WRF file attributes
>>
>> Cheers
>> D
>>
>>
>> On Fri, Aug 4, 2017 at 7:25 PM, Bucaram Carbo, Carlos <
>> carlos.bucaramcarbo at und.edu> wrote:
>>
>>>
>>> Hi Dennis,
>>>
>>>
>>> Thank you for your quick reply. Upon your suggestion we downloaded the
>>> pre-compiled binaries of NCl 6.4.0 for our Linux distribution configuration
>>> , openSUSE Leap 42.1_x86_64, and thankfully got it to work.
>>>
>>>
>>> We also used your script and and it work very well to give us an average
>>> of the ground level o3 values on a new netcdf file, as well as on the
>>> terminal screen. However for some reason the new NCL image appear to revert
>>> to polar coordinates, and not to the original Lambert Conformal ones of the
>>> original wrfout_d01* file.
>>>
>>>
>>> Below you will see the message which we received on our terminal screen:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *Bucaram at linux-vx3k:~/Documents2/ncl_ncarg-6.4.0.Linux_CentOS7.3_x86_64_nodap_gnu485/bin>
>>> ./ncl ozone_script.ncl Copyright (C) 1995-2017 - All Rights Reserved
>>> University Corporation for Atmospheric Research NCAR Command Language
>>> Version 6.4.0 The use of this software is governed by a License Agreement.
>>> See http://www.ncl.ucar.edu/ <http://www.ncl.ucar.edu/> for more details. **(0)
>>> wrf_map: Error: no MAP_PROJ attribute in input file*
>>>
>>> It appears that since a map projection is not found on the newly produce
>>> d *o3.day.nc <http://o3.day.nc>* file, the NCL post-processed image
>>> shows (North) polar coordinates.
>>>
>>> Also attached you will find the script as well as the pdf post-processed
>>> file from NCL 6.4.0. Please let me know if you think it might be possible
>>> to include the original map projection on the post-processed image, so as
>>> to visualize the average ground level o3 concentration in the original
>>> domain.
>>>
>>> Thanks again for your help and best regards,
>>>
>>>
>>> Carlos
>>>
>>> ------------------------------
>>> *From:* Dennis Shea <shea at ucar.edu>
>>> *Sent:* Thursday, August 3, 2017 8:38:11 PM
>>> *To:* Bucaram Carbo, Carlos
>>> *Cc:* ncl-talk at ucar.edu
>>> *Subject:* Re: [ncl-talk] Daily averaged ozone concentration
>>>
>>> What version of NCL do you have?
>>>
>>> The attached script uses a 6.4.0 function: calculate_daily_values
>>> It is untested ... don't have multiple hourly files.
>>>
>>> https://www.ncl.ucar.edu/Document/Functions/Contributed/calc
>>> ulate_daily_values.shtml
>>> calculate_daily_values - CISL's NCAR Command Language (NCL)
>>> <https://www.ncl.ucar.edu/Document/Functions/Contributed/calculate_daily_values.shtml>
>>> www.ncl.ucar.edu
>>> NCL Home > Documentation > Functions > General applied math
>>> calculate_daily_values. Calculate daily values [avg, sum, min, max] from
>>> high frequency temporal values.
>>>
>>>
>>> On Thu, Aug 3, 2017 at 1:44 PM, Bucaram Carbo, Carlos <
>>> carlos.bucaramcarbo at und.edu> wrote:
>>>
>>>>
>>>> Dear NCL Support,
>>>>
>>>>
>>>> We are trying to find a script that would read 24 individual 1-hour
>>>> wrfout_d01* output files for every day of an entire month of the year, then average
>>>> the individual hourly ground level ozone (o3) concentrations data over each
>>>> daily 24-hour period (at lowest level nl=0), and write a new netcdf file
>>>> with an gridded o3 average concentration for that specific day. The end
>>>> result would be a visual representation of a gridded o3 average
>>>> concentration for any specific day, if possible.
>>>>
>>>>
>>>> When searching on previous archives we found the following response to
>>>> a somewhat similar inquire back in 2011, but we are not sure if it would
>>>> apply in our case:
>>>>
>>>>
>>>> https://www.ncl.ucar.edu/Support/talk_archives/2011/1358.html
>>>>
>>>> NCL:
>>>>
>>>> x3 = f->X ; (time,lat,lon) time is 3-hrly
>>>> dimx3 = dimsizes(x3)
>>>> ntim3 = dimx3(0)
>>>>
>>>> nsd = 8 ; number of samples per day
>>>>
>>>> xday = x3(::nsd,:,:) ; create array with meta data
>>>>
>>>> do nt=0,ntim3-1,nsd
>>>> xday(nt/nsd,:,:) = (/ dum_avg_n(nt:nt+nsd-1,:,:) /)
>>>> end do
>>>>
>>>> diro = "./" ; output directory
>>>> filo = "day.nc"
>>>> system ("/bin/rm -f "+diro+filo)
>>>> fnc = addfile (diro+filo, "c")
>>>>
>>>> filAtt = 0
>>>> filAtt at title = "..."
>>>> filAtt at Conventions = "None"
>>>> filAtt at creation_date = systemfunc("date")
>>>> fileattdef( fnc, filAtt ) ; create file attributes
>>>> filedimdef(ncdf,"time",-1,True) ; make time UNLIMITED
>>>> fnc->XDAY = xday
>>>>
>>>> Also attached you will find the current *wrf_ozone.ncl* script which
>>>> we use to post-process each individual 1-hour wrfout_d01* file for o3,
>>>> as a well as a sample post-processed image for a specific day and hour of
>>>> 2010.
>>>>
>>>> Any specific direction from your side regarding this issue would be
>>>> greatly appreciated.
>>>>
>>>> With best regards,
>>>>
>>>>
>>>> Carlos J. Bucaram
>>>> Graduate Research Assistant
>>>> University of North Dakota
>>>> Department of Chemical Engineering
>>>>
>>>> Harrington Hall Room 223
>>>> 241 Centennial Dr., Grand Forks, ND
>>>>
>>>> 58202-7101
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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/20170810/1773537a/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plot_o3.ncl
Type: application/octet-stream
Size: 3947 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170810/1773537a/attachment-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: o3_day_mean.000.png
Type: image/png
Size: 81158 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170810/1773537a/attachment-0002.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wrf.o3_day_mean.000.png
Type: image/png
Size: 146628 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170810/1773537a/attachment-0003.png
More information about the ncl-talk
mailing list