[Thread Prev][Thread Next][Index]

Re: Outlining grid boxes



On Mon, 1 Nov 2004, John Krasting wrote:
> I am using GFDL climate model output and I am trying to outline individual
> grid boxes and areas of grid boxes.
> The GO BOX script uses latitude and longitude as its inputs.  Is there an
> easier way to outline individual grid boxes without having to manually
> compute the coordinates of the box corners?

Hi John,
	I take it you can define a mask that identifies the grid cells
that you need to outline. If so then the "polygon" command may be a
way to achieve what you need.
	The example below illustrates the case of a grid where the
interval in uniform in both directions.  If the grid were not regular
in one or both direction then one would need a more clever way of
defining the box surrounding each "valid" grid cell. (I suspect there
may be a cunning way to outline the outermost boundary of a group of
selected cells too in several passes of left, right, top and bottom
edges ... )

	In the following example I will plot a chart of the Indian
Ocean, then outline the grid cells in the coarser etopo120 bathymetry
that are deeper than 3000m and lie between 30S and the equator.

use etopo20
region/x=30e:120e/y=40s:20n
shade/nolab/nokey/pal=black if(rose ge 0)then rose

use etopo120 ! 2 degree spacing in x and y, centered on odd degrees
let dx=2 ; let dy=2  ! the uniform intervals
let bx=zsequence({-0.5,0.5,0.5,-0.5}) ! coords of a unit cell
let by=zsequence({0.5,0.5,-0.5,-0.5}) !  centered in this case

! now define mask for the desired grid cells
let deep=if(rose lt -3000)then rose
let deepx=if(deep)then x[g=rose]+0*y[g=rose] ! coords of "valid" grid
let deepy=if(deep)then y[g=rose]+0*x[g=rose] !    converted to a 2-d field

show grid/y deep[d=2]
! ... use something like this to identify j=31:45 as the zonal
!        band of interest

repeat/j=31:45 (polygon/nolab/o/line=1/d=2/coord_ax=z \
                                     deepx+dx*bx,deepy+dy*by)

! adding something like /pal=grey to the last command might further
! highlight the valid cells.

! another idea to highlight a region of interest (but without the
! outlining of individual cells would be to use "shade/pat=..."
! as for example
shade/nolab/nokey/pal=black/d=1 if(rose ge 0)then rose
shade/o/nolab/pat=lite_up_right_to_left/pal=black/y=30s:0 deep[d=2]

! a lite shading like this can allow an underlying filled field to
! show through.

Good Luck,
Mick Spillane



[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / PMEL / TMAP

Contact Us | Privacy Policy | Disclaimer | Accessibility Statement