[ncl-talk] Error while handling multiple WRF output files

Mary Haley haley at ucar.edu
Thu Sep 21 16:18:39 MDT 2017


It's hard for somebody to simply look at a script to see if it's correct or
not.  I do see some errors, but even if I correct the errors, I can't be
sure it's 100% correct without having access to your data.

The problems are:

[1]

Your data file is called "patna_data.nc". You are using wrf_xxxx functions
to plot this data. Since WRF-ARW output files are normally called something
like "wrfout_d02_2005-08-29_00:00:00", I can't be sure that you are
actually plotting WRF-ARW data. You can only use wrf_xxx plotting functions
on WRF-ARW data.

[2]

You have:

 t   = a->T2(0:7,:,:)
 ter = dim_avg_n( ter1, 0 )
 ter = ter - 273

I don't know what your objective, so I don't know if the above is correct.
However, you are calling "dim_avg_n" on "ter1" which doesn't exist.  Did
you mean:

 ter = dim_avg_n( t, 0 )

The above will take an average of the first 8 times teps of your data,
assuming that the leftmost dimension of T2 represents time.

Further, you should use the _Wrap version of this function, so metadata is
maintained:

 ter = dim_avg_n_Wrap( t, 0 )

[3]

You have:

ter = ter - 273

Since you are changing the units, you should update the "units" attribute
to something like this:

ter at units = "degC"


The rest of the script looks okay, but again, the wrf_contour and
wrf_map_overlays procedures will only work if you are actually plotting
WRF-ARW data.

--Mary



On Thu, Sep 7, 2017 at 10:02 PM, swati shewale <shewaleswati16 at gmail.com>
wrote:

> Thank you. I will try with your script. yesterday I tried it with below
> script. Please have a look and let me know, whether it is correct or not.
>
> On Fri, Sep 8, 2017 at 12:54 AM, Mary Haley <haley at ucar.edu> wrote:
>
>> If I understand you correctly, then you need to reshape your X array so
>> that it is NTIM x 8 x NLAT x NLON, and then you can average across the
>> second dimension from the left.
>>
>> I've attached a modified version of your script, which is UNTESTED. You
>> may need to modify it to do the right thing with regard to copying over the
>> required metadata.  I did this a little with copy_VarAtts, and copy_coords.
>>
>> --Mary
>>
>>
>>
>>
>> On Thu, Sep 7, 2017 at 3:42 AM, swati shewale <shewaleswati16 at gmail.com>
>> wrote:
>>
>>> Hiii,
>>> using ncrcat I have single file containing 24 time step (3hrly, 3 days).
>>> Now I want to plot temperature variable (average for each day, spatial,
>>> panel plot). I am unable to take out time step for 1st day (0:7) and then
>>> do average of it...then second day (8:15) ...likewise for third day
>>> (16:23). I wrote a script, in that it takes average over all time steps.
>>> what changes should I make so that I can get average over specific time
>>> step? attached herewith script.
>>> summary of variable temperature is as follow.
>>>
>>> Variable: X
>>> Type: float
>>> Total Size: 5658552 bytes
>>>             1414638 values
>>> Number of Dimensions: 3
>>> Dimensions and sizes:    [Time | 23] x [south_north | 201] x [west_east
>>> | 306]
>>> Coordinates:
>>> Number Of Attributes: 6
>>>   FieldType :    104
>>>   MemoryOrder :    XY
>>>   description :    TEMP at 2 M
>>>   units :    K
>>>   stagger :
>>>   coordinates :    XLONG XLAT XTIME
>>>
>>>
>>>
>>> On Thu, Sep 7, 2017 at 3:04 PM, swati shewale <shewaleswati16 at gmail.com>
>>> wrote:
>>>
>>>> Thank you. I will try with it.
>>>>
>>>> On Wed, Sep 6, 2017 at 8:39 PM, Mary Haley <haley at ucar.edu> wrote:
>>>>
>>>>> The error message is telling you that there's something wrong with
>>>>> argument 0 passed to wrf_contour.  Argument 0 refers to the first argument
>>>>> in the list, which is "a(itime)" in this case.
>>>>>
>>>>> The issue is that when you use addfiles to open a series of files, you
>>>>> need to use square brackets, [], to access a single file, and not curved
>>>>> brackets, (). This is because addfiles returns a "List" object, and lists
>>>>> in NCL need to be access with square brackets.
>>>>>
>>>>> You have:
>>>>>
>>>>>         contour = wrf_contour(a(itime),wks,t,t_res)
>>>>>
>>>>> and this should be:
>>>>>
>>>>>         contour = wrf_contour(a[itime],wks,t,t_res)
>>>>>
>>>>> --Mary
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Sep 4, 2017 at 4:40 AM, swati shewale <
>>>>> shewaleswati16 at gmail.com> wrote:
>>>>>
>>>>>> Hiiii
>>>>>>
>>>>>> I want to do panel plotting using WRF output. I have total 8 files,
>>>>>> each contains single time step (one day, 3 hrly datafiles so total 8
>>>>>> files). out of eight times I want to plot 6 time step (panel plot) for
>>>>>> variable slp and temperature.
>>>>>>
>>>>>> It shows below error.
>>>>>>
>>>>>> fatal:Argument type mismatch on argument (0) of (wrf_contour) can not
>>>>>> coerce
>>>>>> fatal:["Execute.c":8567]:Execute: Error occurred at or near line 44
>>>>>> in file temp.ncl
>>>>>> (0)    Error: gsn_panel: all of the plots passed to gsn_panel appear
>>>>>> to be invalid
>>>>>>
>>>>>>  Attached herewith script.
>>>>>>
>>>>>> Thank you in advance. Any help will be appreciated
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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/20170921/54511f2a/attachment.html>


More information about the ncl-talk mailing list