[ncl-talk] zonal_mpsi
Adam Phillips
asphilli at ucar.edu
Fri Sep 9 17:10:16 MDT 2016
Hi Ipshita,
The printVarSummary output shows what the problem is:
Type: float
Total Size: 714816 bytes
178704 values
Number of Dimensions: 3
Dimensions and sizes: [level | 17] x [lat | 73] x [lon | 144]
Coordinates:
level: [10..1000]
The error message that you are recieving states that the levels need to be
in Pa:
fatal:zonal_mpsi: The pressure array must be between the values of 500 and
100500 (exclusive), and monotonically increasing.
Thus, you need to convert your pressure levels to Pa. I am unsure whether
zonal_mpsi uses the level coordinate variable attached to your v1 array, so
it is probably better to change that (as opposed to just altering the
v1&level array itself.
level = v1&level
delete(v1&level)
level = level*100.
level&level = level
level at units = "Pa"
v1&level = level
That should fix the issue..
Adam
On Fri, Sep 9, 2016 at 12:01 PM, Ipshita Majhi <ipmajhi at alaska.edu> wrote:
> Hi ,
>
> Thank you for your input. I did try the above mentioned correction. I
> still get an error :
>
> fatal:zonal_mpsi: The pressure array must be between the values of 500 and
> 100500 (exclusive), and monotonically increasing
>
> Here is the printVarSummary and print for v1 Variable: v1
>
> Type: float
> Total Size: 714816 bytes
> 178704 values
> Number of Dimensions: 3
> Dimensions and sizes: [level | 17] x [lat | 73] x [lon | 144]
> Coordinates:
> level: [10..1000]
> lat: [90..-90]
> lon: [ 0..357.5]
> Number Of Attributes: 14
> long_name : Monthly mean v wind
> units : m/s
> precision : 2
> least_significant_digit : 1
> var_desc : v-wind
> level_desc : Multiple levels
> statistic : Mean
> parent_stat : Other
> missing_value : -9.96921e+36
> valid_range : ( -125, 160 )
> dataset : NCEP Reanalysis Derived Products
> actual_range : ( -68.57001, 68.56999 )
> _FillValue : -9.96921e+36
> time : 1297320
>
>
> Variable: level (coordinate)
> Type: float
> Total Size: 68 bytes
> 17 values
> Number of Dimensions: 1
> Dimensions and sizes: [level | 17]
> Coordinates:
> Number Of Attributes: 7
> units : millibar
> long_name : Level
> positive : down
> GRIB_id : 100
> GRIB_name : hPa
> actual_range : ( 1000, 10 )
> axis : Z
> (0) 10
> (1) 20
> (2) 30
> (3) 50
> (4) 70
> (5) 100
> (6) 150
> (7) 200
> (8) 250
> (9) 300
> (10) 400
> (11) 500
> (12) 600
> (13) 700
> (14) 850
> (15) 925
> (16) 1000
>
> Variable: PsPa
> Type: float
> Total Size: 42048 bytes
> 10512 values
> Number of Dimensions: 2
> Dimensions and sizes: [73] x [144]
> Coordinates:
> Number Of Attributes: 1
> _FillValue : -9.96921e+36
>
>
>
>
> On Fri, Sep 9, 2016 at 8:10 AM, Adam Phillips <asphilli at ucar.edu> wrote:
>
>> Hi Ipshita,
>> You are altering the order of your level dimension here:
>> v1=v_jan_1948(::-1,:,:)
>> and that is completely fine. However, you are then flipping the level
>> dimension again here when you specify v1&level:
>> zmpsi = zonal_mpsi(v1,v1&lat,v1&level(::-1),PsPa)
>>
>> Try changing this:
>> zmpsi = zonal_mpsi(v1,v1&lat,v1&level(::-1),PsPa)
>> to this:
>> zmpsi = zonal_mpsi(v1,v1&lat,v1&level,PsPa)
>>
>> If that does not fix the issue please add printVarSummary and print
>> statements to your script and examine the output. The end of your script
>> should look like this:
>> v1=v_jan_1948(::-1,:,:)
>> PsPa=ps_jan_1948*100
>> printVarSummary(v1)
>> print(v1&level)
>> zmpsi = zonal_mpsi(v1,v1&lat,v1&level,PsPa)
>>
>> If you still are having trouble please respond to the ncl-talk email list
>> with the printVarSummary and print output.
>> Adam
>>
>>
>> On Thu, Sep 8, 2016 at 5:02 PM, Ipshita Majhi <ipmajhi at alaska.edu> wrote:
>>
>>>
>>> Dear Users,
>>>
>>> I want to plot stream function of wind (v) and I am using zonal_mpsi to
>>> calculate the stream function. I keep getting error messages.
>>>
>>> fatal:zonal_mpsi: The pressure array must be between the values of 500
>>> and 100500 (exclusive), and monotonically increasing.
>>>
>>> I am not sure how to fix this problem.
>>>
>>> I am attaching my code.
>>>
>>> I read in the V wind and surface pressure
>>>
>>> v-wind has 4 dimensions (time,lev,lat,lon)
>>>
>>> Surface pressure has 3 dimensions (time,lat,lon)
>>>
>>> Here is the code I wrote
>>>
>>> ;**************************************************************
>>> ;*******************************************
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>> ;*******************************************
>>>
>>> ;********************************************
>>> ;This is to read wind speed and wind direction
>>> ;from 1948-2016
>>> ;********************************************
>>>
>>> a=addfile("/Users/ipshita/Documents/grads_NCL/wspd.mon.mean.nc","r")
>>> b=addfile("/Users/ipshita/Documents/grads_NCL/uwnd.mon.mean.nc","r")
>>> c=addfile("/Users/ipshita/Documents/grads_NCL/vwnd.mon.mean.nc","r")
>>> d=addfile("/Users/ipshita/Documents/grads_NCL/omega.mon.mean.nc","r")
>>> e=addfile("/Users/ipshita/Documents/grads_NCL/pres.sfc.mon.mean.nc","r")
>>>
>>> v=c->vwnd ;Wind in horizontal direction in m/s
>>>
>>> level=c->level ;Pressure level from 1000hpa to 10 hpa
>>>
>>> lat=c->lat
>>>
>>> lon=c->lon
>>>
>>> ps=e->pres
>>>
>>> ps_jan_1948=ps(0,:,:)
>>>
>>> printMinMax(ps_1948_2015,False)
>>>
>>> v_jan_1948=v(0,:,:,:)
>>> ;*********************************************
>>> ;Going from low to high in terms of level
>>> ;*********************************************
>>>
>>> v1=v_jan_1948(::-1,:,:)
>>> ;*********************************************
>>> ;Converting Pressure into Pascals
>>> ;*********************************************
>>>
>>> PsPa=ps_jan_1948*100
>>>
>>> printMinMax(PsPa,False)
>>>
>>> ;*********************************************
>>> zmpsi = zonal_mpsi(v1,v1&lat,v1&level(::-1),PsPa)
>>> ;*******************************************************************
>>>
>>> I will be grateful if you can help me resolve this issue.
>>>
>>> Best Regards
>>> Ipshita
>>>
>>>
>>> _______________________________________________
>>> 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>
>>
>
>
>
> --
> Ipshita Majhi
> PhD Candidate
> University of Alaska , Fairbanks
> Atmospheric Science Department
> (907)978-4220 ipmajhi at alaska.edu
>
--
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/20160909/41b3b1ea/attachment.html
More information about the ncl-talk
mailing list