[ncl-talk] Contour plot with rotated grid shifted to the west

Mary Haley haley at ucar.edu
Mon Nov 30 14:18:31 MST 2015


Correct, NCL can't automatically "unrotate" the coordinates for you based
on the rotated coordinates.

Karin Meier-Fleischer of DKRZ wrote a couple of functions that "unrotate"
the coordinates for you, and I've taken this example and her data file to
show how this might work for your data.

See the attached script. The data file can be downloaded from:

wget ftp.ucar.edu:/pub/scd/haley/tas_mon_1961-1990_rectilinear_grid_2D.nc

The rotated grid actually doesn't look that "rotated", because the center
lat/lon actually ends up being 0.0.  But, hopefully you can use the
"unrot_lat" and "unrot_lon" functions to generate your own 2D lat/lon
arrays.

--Mary


On Mon, Nov 30, 2015 at 1:31 PM, Guido Cioni <guidocioni at gmail.com> wrote:

> I don't have the original 2D lat/lon values, that's the problem. However,
> your script won't take into consideration the fact that coordinates are
> rotated, right? My rlon spans from approximately 340 to 392 degrees, while
> rlat from - 10 to +22.. Of course these are not the real coordinates to be
> used for plotting the map, since they are expressed in  the rotated
> framework. Do you see what I mean?
> I would like to provide you with the data file but is fairly big (gigs)
> Guido,
>
> I looked at your script further, and I think the issue is with the map
> corners you've selected.  You are using the 1D rotated coordinate arrays to
> choose the corners, but this is likely not correct. What you really need
> are the original 2D lat/lon values, as the two examples illustrated, but I
> don't see that you have this information on the file.
>
> Did you try plotting the data using the coordinate arrays? I've created a
> script for you to try, although it's untested because I don't have your
> data file.
>
> Thanks,
>
> --Mary
>
>
> On Mon, Nov 30, 2015 at 11:45 AM, Guido Cioni <guidocioni at gmail.com>
> wrote:
>
>> Sure, here it is. I think that the problem is that ncl is expecting 2-D
>> latitudes and longitudes while I have 1-D rlon and rlat..
>>
>> Yes I tried commenting the centers.
>>
>> m300382 at mlogin103% ncl_filedump complete.nc
>> Copyright (C) 1995-2015 - All Rights Reserved
>> University Corporation for Atmospheric Research
>> NCAR Command Language Version 6.3.0
>> The use of this software is governed by a License Agreement.
>> See http://www.ncl.ucar.edu/ for more details.
>>
>> Variable: f
>> Type: file
>> filename:       complete
>> path:   complete.nc
>>    file global attributes:
>>       CDI : Climate Data Interface version 1.4.7 (
>> http://code.zmaw.de/projects/cdi)
>>       Conventions : CF-1.0
>>       history : Fri Nov 27 13:33:35 2015: cdo -f nc copy 2014011700_000.grib2
>> 2014011700_001.grib2 2014011700_002.grib2 2014011700_003.grib2 2014011700_004.grib2
>> 2014011700_005.grib2 2014011700_006.grib2 2014011700_007.grib2
>> 2014011700_008.grib2 2014011700_009.grib2 2014011700_010.grib2
>> 2014011700_011.grib2 2014011700_012.grib2 2014011700_013.grib2
>> 2014011700_014.grib2 2014011700_015.grib2 2014011700_016.grib2
>> 2014011700_017.grib2 2014011700_018.grib2 2014011700_019.grib2
>> 2014011700_020.grib2 2014011700_021.grib2 2014011700_022.grib2
>> 2014011700_023.grib2 2014011700_024.grib2 2014011700_025.grib2
>> 2014011700_026.grib2 2014011700_027.grib2 2014011700_028.grib2
>> 2014011700_029.grib2 2014011700_030.grib2 2014011700_031.grib2
>> 2014011700_032.grib2 2014011700_033.grib2 2014011700_034.grib2
>> 2014011700_035.grib2 2014011700_036.grib2 2014011700_037.grib2
>> 2014011700_038.grib2 2014011700_039.grib2 2014011700_040.grib2
>> 2014011700_041.grib2 2014011700_042.grib2 2014011700_043.grib2
>> 2014011700_044.grib2 2014011700_045.grib2 2014011700_046.grib2
>> 2014011700_047.grib2
>>       CDO : Climate Data Operators version 1.4.7 (
>> http://code.zmaw.de/projects/cdo)
>>    dimensions:
>>       ncl_scalar = 1
>>       rlon = 706
>>       rlat = 434
>>       lev = 20
>>       time = 73  // unlimited
>>    variables:
>>       double rlon ( rlon )
>>          long_name :    longitude in rotated pole grid
>>          units :        degrees
>>          standard_name :        grid_longitude
>>          axis : X
>>
>>       double rlat ( rlat )
>>          long_name :    latitude in rotated pole grid
>>          units :        degrees
>>          standard_name :        grid_latitude
>>          axis : Y
>>
>>       character rotated_pole ( ncl_scalar )
>>          grid_mapping_name :    rotated_latitude_longitude
>>          grid_north_pole_latitude :     44.999996
>>          grid_north_pole_longitude :     144
>>
>>       double lev ( lev )
>>          long_name :    pressure
>>          units :        Pa
>>          axis : Z
>>
>>       double time ( time )
>>          units :        hours since 2014-01-17 00:00:00
>>          calendar :     proleptic_gregorian
>>
>>       float gh ( time, lev, rlat, rlon )
>>          long_name :    Geopotential Height
>>          units :        gpm
>>          code : 5
>>          grid_mapping : rotated_pole
>>
>>       float t ( time, lev, rlat, rlon )
>>          long_name :    Temperature
>>          units :        K
>>          grid_mapping : rotated_pole
>>
>>       float u ( time, lev, rlat, rlon )
>>          long_name :    U velocity
>>          units :        m s**-1
>>          code : 2
>>          grid_mapping : rotated_pole
>>
>>       float v ( time, lev, rlat, rlon )
>>          long_name :    V velocity
>>          units :        m s**-1
>>          code : 3
>>          grid_mapping : rotated_pole
>>
>>       float w ( time, lev, rlat, rlon )
>>          long_name :    Vertical velocity
>>          units :        Pa s**-1
>>          code : 8
>>          grid_mapping : rotated_pole
>>
>>       float pv ( time, lev, rlat, rlon )
>>          long_name :    Potential vorticity
>>          units :        K m**2 kg**-1 s**-1
>>          code : 14
>>          grid_mapping : rotated_pole
>>
>>       float mterh ( time, rlat, rlon )
>>          long_name :    Model terrain height
>>          units :        m
>>          code : 7
>>          grid_mapping : rotated_pole
>> Il 30 nov 2015 6:28 PM, "Mary Haley" <haley at ucar.edu> ha scritto:
>>
>>> Guido,
>>>
>>> I'm hoping Dave will weigh in here, but it would help if we could at
>>> least see the output from:
>>>
>>> ncl_filedump pv.nc
>>>
>>> Sometimes the global attributes of the file will give some valuable
>>> information about the correct map projection parameters.
>>>
>>> Did you actually try commenting out the mpCenterLatF and mpCenterLonF
>>> settings?  In the script you included, these two resources are still being
>>> set.
>>>
>>> It's possible that the data has already been rotated for you.
>>>
>>> --Mary
>>>
>>>
>>>
>>>
>>> On Mon, Nov 30, 2015 at 1:33 AM, Guido Cioni <guidocioni at gmail.com>
>>> wrote:
>>>
>>>> Hi all,
>>>> I’m trying to produce a contour plot with data on a rotated grid. The
>>>> original data look like that
>>>>
>>>>
>>>> Since I have the rotated north pole latitude (*44.999996*) and
>>>> longitude (*144.0*) in my data file I used the second example of the
>>>> support page on rotated grid.
>>>>
>>>>  Res1 at tfDoNDCOverlay=True
>>>>  Res1 at mpLimitMode = "Corners"
>>>>  Res1 at mpLeftCornerLatF = lat(0)
>>>>  Res1 at mpLeftCornerLonF = lon(0)
>>>>  Res1 at mpRightCornerLatF = lat(nlat-1)
>>>>  Res1 at mpRightCornerLonF = lon(nlon-1)
>>>>  Res1 at mpCenterLatF           = 90 - north_pole_lat
>>>>  Res1 at mpCenterLonF           = 180 + north_pole_lon
>>>>
>>>> However I get this result ( I believe this is Australia):
>>>>
>>>>
>>>> After several attempts I was able to plot the data using as bounds the
>>>> “real” coordinates of the rotated projection, without specifying the
>>>> center, e.g. :
>>>>
>>>>  Res1 at tfDoNDCOverlay=True
>>>>  Res1 at mpLimitMode = "Corners"
>>>>  Res1 at mpLeftCornerLatF = 30.35458
>>>>  Res1 at mpLeftCornerLonF = -75.14440
>>>>  Res1 at mpRightCornerLatF = 65.1125
>>>>  Res1 at mpRightCornerLonF = 13.87071
>>>>
>>>> But the contour plot is still slightly shifted to the west as you can
>>>> see in this image:
>>>>
>>>>
>>>> I know that in the data file my coordinates span from
>>>> rlon={340,392.875} and rlat={-9.962499,22.512501}.
>>>>
>>>> What am I missing?
>>>> Is there any additional documentation on rotated grid?
>>>>
>>>> Attached is my NCL script (data are too big).
>>>>
>>>>
>>>>
>>>> Guido Cioni
>>>> http://guidocioni.altervista.org
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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/20151130/e40fdf1c/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unrotate_grid.ncl
Type: application/octet-stream
Size: 8153 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151130/e40fdf1c/attachment.obj 


More information about the ncl-talk mailing list