[ncl-talk] Average values over a specified region
Karin Meier-Fleischer
meier-fleischer at dkrz.de
Tue Jan 26 07:47:31 MST 2016
Sorry, little mistake in coloring the lines. It must be:
*lat13* = closest_val(13,lat) ;-- return index of closest
latitude to 13 deg
*lon80* = closest_val(80,lon) ;-- return index of closest
longitude to 80 deg
print("lat({13}) (closest value) = "+*lat({13})*+" Index of
closest_val: "+lat13)
print("------------------")
print("lon({80})(closest value) = "+*lon({80})*+" Index of
closest_val: "+lon80)
print("------------------")
lat_box = lat(lat13-2:lat13+2);-- using indices to get the lats
around lat 13 deg.
lon_box = lon(lon80-2:lon80+2);-- using indices to get the lons
around lon 80 deg.
print(""+lat_box)
print("------------------")
print(""+lon_box)
print("--------------------------------------")
lat_box2 = lat({lat13-2:lat13+2}) ;-- Don't do this: this would use
the index as latitude value !!
lon_box2 = lon({lon80-2:lon80+2}) ;-- Don't do this: this would use
the index as longitude value !!
print(""+lat_box2)
print(""+lon_box2)
print("------------------")
It will returns, e.g
(0) lat({13})(closest value) = *12.12418712345578* Index of
closest_val: *41*
(0) ------------------
(0) lon({80})(closest value) = *80.625* Index of
closest_val: *139*
(0) ------------------
(0) 15.85470386969488
(1) 13.98944571235667
(2) 12.12418712345578; <--- closest value
(3) 10.25892816800639
(4) 8.393668907692385
(0) ------------------
(0) 76.875
(1) 78.75
(2) 80.625; <--- closest value
(3) 82.5
(4) 84.375
(0) --------------------------------------
(0) 40.1029793042494;-- Don't do this: this would use the index as
latitude value !!
(1) 41.96822026907537** ;-- Don't do this: this would use the index
as latitude value !!
(0) 138.75;-- Don't do this: this would use the index as longitude
value !!
(1) 140.625;-- Don't do this: this would use the index as longitude
value !!
(0) ------------------
Am 26.01.16 um 15:43 schrieb Karin Meier-Fleischer:
> Do you mean something like var({lat13-2:lat13+2},{lon80-2:lon80+2}) ?
>
> Then the answer is no, the coordinate subscripting gets the value of the
> closest grid cell and not the indices.
>
> lat({13}) will use the latitude value which is the closest to 13
> degrees, e.g. 12.12418.
>
> Let us assume the following snippet of a script:
>
> *lat13* = closest_val(13,lat) ;-- return index of closest
> latitude to 13 deg
> *lon80* = closest_val(80,lon) ;-- return index of closest
> longitude to 80 deg
>
> print("lat({13}) (closest value) = "+*lat({13})*+" Index of
> closest_val: "+lat13)
> print("------------------")
> print("lon({80})(closest value) = "+*lon({80})*+" Index of
> closest_val: "+lon80)
> print("------------------")
>
> lat_box = lat(lat13-2:lat13+2) ;-- using indices to get the lats
> around lat 13 deg.
> lon_box = lon(lon80-2:lon80+2) ;-- using indices to get the lons
> around lon 80 deg.
>
> print(""+lat_box)
> print("------------------")
> print(""+lon_box)
> print("--------------------------------------")
>
> lat_box2 = *lat({lat13-2:lat13+2})*;-- Don't do this: this would use
> the index as latitude value !!
> lon_box2 = *lon({lon80-2:lon80+2})* ;-- Don't do this: this would
> use the index as longitude value !!
>
> print(""+lat_box2)
> print(""+lon_box2)
> print("------------------")
>
> It will returns, e.g
>
> (0) lat({13})(closest value) = *12.12418712345578* Index of
> closest_val: *41*
> (0) ------------------
> (0) lon({80})(closest value) = *80.625* Index of
> closest_val: *139*
> (0) ------------------
> (0) 15.85470386969488
> (1) 13.98944571235667
> (2) 12.12418712345578; <--- closest value
> (3) 10.25892816800639
> (4) 8.393668907692385
> (0) ------------------
> (0) 76.875
> (1) 78.75
> (2) 80.625; <--- closest value
> (3) 82.5
> (4) 84.375
> (0) --------------------------------------
> (0) *40.1029793042494*;-- Don't do this: this would use the index as
> latitude value !!
> (1) *41.96822026907537*;-- Don't do this: this would use the index as
> latitude value !!
> (0) *138.75*;-- Don't do this: this would use the index as longitude
> value !!
> (1) *140.625*;-- Don't do this: this would use the index as longitude
> value !!
> (0) ------------------
>
>
> Hope this helps for understanding coordinate subscripting.
>
> Bye,
> Karin
>
>
>
> Am 26.01.16 um 15:13 schrieb Guido Cioni:
>> Shouldn’t the coordinate subscripting do the same thing?
>> Like say {lat13-2:lat13+2, lon80-2:lon80+2}
>>
>> Guido Cioni
>> http://guidocioni.altervista.org
>>
>>> On 26 Jan 2016, at 15:04, Karin Meier-Fleischer
>>> <meier-fleischer at dkrz.de <mailto:meier-fleischer at dkrz.de>> wrote:
>>>
>>> Hi Krishna,
>>>
>>> you can use the function *closest_val* to retrieve an index of an value.
>>>
>>> lat13 = closest_val(13,lat)
>>> lon80 = closest_val(80,lon)
>>>
>>> print("Index: "+lat13+" - "+lat(lat13))
>>> print("Index: "+lon80+" - "+lon(lon80))
>>>
>>> To plot 2 more grid boxes of lat/lon than you can use e.g.
>>>
>>> plot = gsn_csm_contour_map(wks,
>>> var(lat13-2:lat13+2,lon80-2:lon80+2),res)
>>>
>>>
>>> Bye,
>>> Karin
>>>
>>> Am 26.01.16 um 14:13 schrieb Krishna C:
>>>> Hi
>>>>
>>>>
>>>> Let us say i need a 2 by 2 box around 13 degree lat and 80 degree
>>>> lon . How do i know the respective indices.
>>>> Please correct if i am wrong.
>>>>
>>>> Regards
>>>> -Krishna-
>>>>
>>>> On Tue, Jan 26, 2016 at 5:14 PM, Guido Cioni <guidocioni at gmail.com>
>>>> wrote:
>>>>
>>>> Yes there is, but you should have a look at the documentation
>>>> on the page ;-)
>>>> The function that you need is dim_avg_n, then you just need to
>>>> restrict the latitude and longitude with brackets {43:45}.
>>>> Again, just go on ncl documentation and you'll definitely find
>>>> a way
>>>>
>>>> Il 26 gen 2016 11:52 AM, "Krishna C"
>>>> <chandrakrishna.90 at gmail.com
>>>> <mailto:chandrakrishna.90 at gmail.com>> ha scritto:
>>>>
>>>> Hi,
>>>>
>>>>
>>>> I am trying to extract precipitation values from WRF
>>>> output, over a small 2 by 2 lat lon box and average it. Is
>>>> there any explicit way of doing it in ncl
>>>>
>>>> With warm regards
>>>>
>>>>
>>>> -Krishna-
>>>>
>>>> _______________________________________________
>>>> ncl-talk mailing list
>>>> ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> ncl-talk mailing list
>>>> ncl-talk at ucar.edu
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
--
Dipl. Geophys. Karin Meier-Fleischer
Visualization, NCL
Application Support
Deutsches Klimarechenzentrum GmbH (DKRZ)
Bundesstrasse 45a - D20146 Hamburg - Germany
Phone: +49 (0)40 460094 126
Fax: +49 (0)40 460094 270
E-Mail: meier-fleischer at dkrz.de
URL: www.dkrz.de
Geschäftsführer: Prof. Dr. Thomas Ludwig
Sitz der Gesellschaft: Hamburg
Amtsgericht Hamburg HRB 39784
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160126/29c8214d/attachment.html
More information about the ncl-talk
mailing list