map projections script

cited by Here

 

mp_demo.jnl (4/99)
Description: demo of map projection scripts.
Here is your basic Ferret plot:

USE coads_climatology
SET REGION/X=0:360/Y=-90:90/L=1
SHADE/TITLE=”Standard Plot” sst
GO fland
GO land

Here is a sampling of what you can do with map projections.  First case:  a view from space.  For more detail about all the mp_* scripts, use  for example:

yes? go/help mp_aspect.jnl

The use of masked variables keeps the other side of the earth from “showing through” in projections where only part  of the globe is towards the user, such as the orthographic projections.

USE coads_climatology
SET REGION/X=0:360/Y=-90:90/L=1
GO mp_orthographic 210 45
SET GRID sst
GO mp_aspectLET masked_sst = sst * mp_mask
FILL/NOAX/NOLAB masked_sst, x_page, y_page
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,0.2 View From Space
GO mp_fland
GO mp_land

Let’s add some labels in world coordinates, and two graticules: One for the whole world and one for the Bering Sea.


GO mp_label 237.7 47.6 -1 0 .1 @p5@IISeattle
GO mp_label 204.4 19.5 -1 0 .1 @p5@IIHawaii
GO mp_graticule
GO mp_graticule 160 200 40 50 65 15 11
GO mp_label 180 45 0 -22 .15 “@p5@DRThe Bering Sea”

Here’s how you can plot your own data on top of the map projection.  This one is a straight line between Hawaii and Seattle


LET a = 204.4 + (237.7-204.4)/20 * i
LET b = 19.5 + (47.6-19.5)/20 * i
GO mp_line PLOT/NOLAB/VS/OVER/I=1:20/SYM=21 a b

Now a menagerie of projections from among those provided with Ferret.

SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst
GO fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Standard Plot
SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
GO mp_sinusoidal
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Sinusoidal
SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
GO mp_lambert_cyl
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Lambert Equal Area
SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
GO mp_bonne
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Bonne
SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
GO mp_mcbryde_fpp
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 McBryde Flat Polar
SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
GO mp_polyconic
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Polyconic
SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
GO mp_orthographic 300 45
SET GRID sst; GO mp_aspect
LET masked_sst = sst * mp_mask
SHADE/NOLAB/NOAX/NOKEY masked_sst, x_page, y_page
GO mp_graticule
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 OrthoGraphic
SET DATA coads_climatology
SET REGION/X=240:420/Y=-90:90/l=1
GO mp_stereographic_eq
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule 240 420 30 -90 90 15
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Stereographic Equatorial
SET DATA coads_climatology
SET REGION/X=0:360/Y=00:90/L=1
GO mp_stereographic_north
SET GRID sst; GO mp_aspect
SHADE/NOLAB/NOAX/NOKEY sst, x_page, y_page
GO mp_graticule 0 360 30 0 90 15
GO mp_fland 120 gray
LABEL/NOUSER `($PPL$XLEN)*0.5`,-0.4,0,0,.20 Stereographic North

Finally, we’ll create a fancy strip map centered on the Pacific.

SET DATA coads_climatology
SET REGION/X=0:360/Y=-90:90/l=1
SET WIN/ASPECT=.5
GO mp_hammer
SET GRID sst
GO mp_ocean_stripmap sst   LEV=(-2,20,4)(20,34,2) no_green 1 0

 

Advertisements