[ncl-talk] Contour plot with rotated grid shifted to the west
David Brown
dbrown at ucar.edu
Mon Nov 30 15:54:46 MST 2015
Hi Guido,
Here's my take on this so far. You enclosed an image labelled "Bolam
Model". Is that plot supposed to represent the actual grid of your
data? I am asking because it does not seem possible to reconcile the
coordinate information that you have provided with this plot. I am
attaching a couple of plots and a modified version of your script (it
just draws the map, since we do not have the data). I can
approximately duplicate the map projection of the Bolam plot by eye,
but I have to use different numbers than those you have supplied. The
script first draws a map based on the rotated lat/lon extent that you
supplied, after conversion into "real" lat/lon values. Then it draws
an approximation of the Bolam map.
Mary supplied you with the NCL script from Karin that converts from
rotated coordinates to regular lat/lon. I used a C code that does the
same thing. You could use either method to create your own 2d lat/lon
coordinates for this grid. If you would like the C code let me know.
I am curious how you obtained the "real" corner values you used:
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
These do not seem to me to be correct either.
It would help if you listed the complete set of rotated lat/lon
values. You could do it using ncl_filedump:
ncl_filedump -v rlat,rlon complete.nc
-dave
On Mon, Nov 30, 2015 at 2:18 PM, Mary Haley <haley at ucar.edu> wrote:
> 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
>>>>>
>>>>
>>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pv_test.000001.png
Type: image/png
Size: 106468 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151130/c9e08ee3/attachment.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pv_test.000002.png
Type: image/png
Size: 98260 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151130/c9e08ee3/attachment-0001.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plot_pv-mod.ncl
Type: application/octet-stream
Size: 2697 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151130/c9e08ee3/attachment.obj
More information about the ncl-talk
mailing list