[ncl-talk] Conformal projection

Dennis Shea shea at ucar.edu
Wed Sep 16 16:40:44 MDT 2020


To examine the contents of the GRIB file:

%> *ncl_filedump
<https://www.ncl.ucar.edu/Document/Tools/ncl_filedump.shtml> *CW_Tskin.grib
| less

This provides an '*ncdump -h*' style look of the grib file [attachment:
*CW_Tskin.dump* ].It also provides value added variables: grid point
latitude and longitude and map information.

Using the information contained within the grib file;

%> ncl *CW_CARLOS.ncl*

produced *CARLOS_CW_Tskin.grib.png*

Cell mode was used because it was faster. [ I do not know why! ]

Good Luck




On Tue, Sep 15, 2020 at 7:41 PM Rick Brownrigg via ncl-talk <
ncl-talk at mailman.ucar.edu> wrote:

> Hi Carlos,
>
> The map is *probably* OK, I don't know for certain. Looking at planar maps
> near the poles is weird, and I've seen what you describe with E/W
> longitudes labeling all sides. But look at greenland on a globe and it kind
> of makes sense. I think if you set the resource "mpGridAndLimbOn=True", the
> lines of longitude will make a bit more sense*.*
>
> Rick
>
>
> On Tue, Sep 15, 2020 at 12:53 PM Carlos Peralta via ncl-talk <
> ncl-talk at mailman.ucar.edu> wrote:
>
>> Hello,
>>
>> I am following example 3 here:
>>
>> https://www.ncl.ucar.edu/Applications/Scripts/lcnative_3.ncl
>>
>> to plot a grb file where I am not sure of what the appropriate
>> parallels are.
>>
>> I get the figure below, which seems correct, but not sure
>> why I see the axes displayed with "W" and "E" in both the vertical
>> and horizontal.
>>
>> thanks for any help.
>>
>>
>> My code is below
>>
>> ;------------------------------------------------
>> ; lcnative_3.ncl
>> ;------------------------------------------------
>> ;
>> ; These files are loaded by default in NCL V6.2.0 and newer
>> ; load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>> ; load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>
>> begin
>>
>> ;------------------------------------------------
>> ; open file and read in data
>> ;------------------------------------------------
>>   gfile= "./CW_Tskin.grib"
>>   f     = addfile (gfile, "r")
>>   printVarSummary(f)
>>   ;fili  = "ruc2.bgrb.20020418.i12.f00.grb"
>>   ;f     = addfile (fili, "r")
>>
>>   ;vpt       = f->VPTMP_252_HYBL
>>   vpt       = f->TMP_GDS3_HTGL(g3_x_0|:,g3_y_1|:)
>>   ;lat2d     = f->gridlat_252
>>   ;lon2d     = f->gridlon_252
>>    lat2d=f->g3_lat_0
>>    lon2d=f->g3_lon_1
>>
>>
>> ;------------------------------------------------
>> ; create plot
>> ;------------------------------------------------
>>   wks = gsn_open_wks("png","lcnative")      ; send graphics to PNG file
>>
>>   res                   = True              ; plot mods desired
>>   res at tiMainString      = "Native Lambert Conformal"
>>   res at gsnAddCyclic = False
>> ;------------------------------------------------
>> ; lambert conformal projections are limited using
>> ; the corners method rather than the latlon method
>> ; seen for cylindrical equidistant projections
>> ;------------------------------------------------
>>   res at mpLimitMode       = "Corners"         ; choose range of map
>>   res at mpLeftCornerLatF  = lat2d at corners(0)
>>   res at mpLeftCornerLonF  = lon2d at corners(0)
>>   res at mpRightCornerLatF = lat2d at corners(2)
>>   res at mpRightCornerLonF = lon2d at corners(2)
>> ;------------------------------------------------
>> ; there are many instances when you may not know the
>> ; appropriate parallels. Here is a method to find out...
>> ; 1) as a first guess, start with the parellels in the
>> ;    center of the grid.
>> ; 2) look at the lines plotted on the map (see below).
>> ;    you know the projection is correct when the red
>> ;    and blue lines form a right angle between themselves
>> ;    and the boundary.
>> ; 3) iterate as necessary to get the closest solution.
>> ;------------------------------------------------
>>   res at mpProjection          = "LambertConformal"
>>
>>   res at mpLambertParallel1F = (max(lat2d)+min(lat2d))*0.5
>>   res at mpLambertParallel2F = (max(lat2d)+min(lat2d))*0.5
>>   res at mpLambertMeridianF  = (max(lon2d)+min(lon2d))*0.5
>>
>> ;------------------------------------------------
>>   res at pmTickMarkDisplayMode = "Always"
>>   res at mpFillOn              =  False           ; turn off map fill
>>   res at mpOutlineDrawOrder    = "PostDraw"       ; draw continental
>> outline last
>>   res at mpOutlineBoundarySets = "GeophysicalAndUSStates" ; state boundaries
>>
>> ;------------------------------------------------
>> ; usually, when data is placed onto a map, it is TRANSFORMED to the
>> specified
>> ; projection. Since this model is already on a native lambert conformal
>> grid,
>> ; we want to turn OFF the transformation.
>> ;------------------------------------------------
>>
>>   res at tfDoNDCOverlay = True
>> ; res at tfDoNDCOverlay = "NDCViewport"          ; NCL V6.5.0 or later
>>
>>
>> ;------------------------------------------------
>> ; set additional resources and create plot
>> ;------------------------------------------------
>>   res at cnFillOn              = True            ; color plot desired
>>   res at cnLinesOn             = False           ; turn off contour lines
>>   res at cnFillPalette         = "gui_default"   ; set color map
>>   res at gsnFrame              = False           ; don't advance frame yet
>>
>>   ;plot = gsn_csm_contour_map(wks,vpt(9,:,:),res) ; draw plot
>>   plot = gsn_csm_contour_map(wks,vpt(:,:),res) ; draw plot
>>
>> ;------------------------------------------------
>> ; add lines that help determine correct projection
>> ;------------------------------------------------
>>   dims  = dimsizes(vpt)                       ; get dimension of grid
>>   ;nlat  = dims(1)
>>   ;nlon  = dims(2)
>>   nlat  = dims(0)
>>   nlon  = dims(1)
>>
>>   gres                  = True                ; polyline mods desired
>>   gres at gsLineThicknessF = 3.0                 ; line thickness
>>   gres at gsLineColor      = "Red"               ; line color
>>   gsn_polyline (wks, plot, lon2d(nlat/2,:), lat2d(nlat/2,:), gres)
>>
>>   gres at gsLineColor      = "Blue"
>>   gsn_polyline (wks, plot, lon2d(:,nlon/2), lat2d(:,nlon/2), gres)
>>
>>   gres at gsLineColor      = "Black"
>>   gsn_polyline (wks, plot, lon2d(:,0)     , lat2d(:,0), gres)
>>   gsn_polyline (wks, plot, lon2d(:,nlon-1), lat2d(:,nlon-1), gres)
>>   gsn_polyline (wks, plot, lon2d(0,:)     , lat2d(0,:), gres)
>>   gsn_polyline (wks, plot, lon2d(nlat-1,:), lat2d(nlat-1,:), gres)
>>
>>   frame(wks)
>>
>> end
>>
>>
>>
>>
>> [image: image.png]
>>
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at mailman.ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> https://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at mailman.ucar.edu
> List instructions, subscriber options, unsubscribe:
> https://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200916/180d4ecf/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 169869 bytes
Desc: not available
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200916/180d4ecf/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CW_Tskin.dump
Type: application/octet-stream
Size: 2273 bytes
Desc: not available
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200916/180d4ecf/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CW_CARLOS.ncl
Type: application/octet-stream
Size: 2315 bytes
Desc: not available
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200916/180d4ecf/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CARLOS_CW_Tskin.grib.png
Type: image/png
Size: 122478 bytes
Desc: not available
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200916/180d4ecf/attachment-0003.png>


More information about the ncl-talk mailing list