[Thread Prev][Thread Next][Index]
Re: missing mp_land_detail
Hi Goran,
I've attached mp_land_detail.jnl here. You can save it to a local journals
directory. We'll make sure it gets included in future releases of Ferret.
yes? USE coads_climatology
yes? SET REGION/X=0:360/Y=-90:90/L=1
yes? GO mp_orthographic 210 45
yes? SET GRID sst
yes? GO mp_aspect
yes? LET masked_sst = sst * mp_mask
yes? FILL/TITLE="View From Space"/NOAXES masked_sst, x_page, y_page
yes? GO mp_fland
yes? ! Plot all of the options.
yes? GO mp_land_detail thick over red green blue lightblue purple
Ansley Manke
Goran Georgievski wrote:
Hi All,
I would like to put on my stereographic projection map rivers available in
the geo_borders_intermed.nc file, but I can not find the script
mp_land_detail.jnl
As an alternative, with mp_line I put the rivers from Coastline Extractor as
described in Ferret FAQ
(http://ferret.wrc.noaa.gov/Ferret/FAQ/graphics/coastlines.html) on the
sterographic projection map, but I woud like to have only the biggest and
intermediate rivers on my picture.
When I try to plot the rivers from geo_borders_intermed.nc it looks fine
ploted with land_detail.jnl (and not on the sterographic projection map)
script, but when I try to plot it the same way as is described in the FAQ but
with mp_line in order to put it on projection map I got wrong picture.
My questions are: Is there a file mp_land_detail.jnl but I cannot find it?
And if so, could somebody provide me with the script?
or
Is there a file with only biggest and intermediate rivers available in the
form such as the file with all rivers available at
(http://rimmer.ngdc.noaa.gov/mgg/coast/getcoast.html) or how could I plot
only the biggest and intermediate rivers from the file available there?
With regards,
Goran
--
Goran Georgievski
ICBM, Physical Oceanography (Theory)
University of Oldenburg
Postfach 2503, D-26111 Oldenburg, Germany
Tel: ++49 (0)441 798 4061; Fax: ++49 (0)441 798 3404
\cancel mode verify
! overlaying coastal outline using detailed geo_borders_intermed data.
! Description: Plot outlines of continents, countries, and/or states
! usage: go mp_land_detail arg1 [arg2] [arg3] [arg4] [arg5] [arg6] [arg7]
!
! arg1 continent_pen
! arg2 "basemap" "overlay", or omitted for overlay
! arg3 country_pen Pen for optional national boundaries
! arg4 state_pen Pen for optional state boundaries (Western hemisphere)
! arg5 rivers_pen Pen for largest rivers
! arg6 more_rivers Pen for additional rivers
! arg7 marine boundaries Pen for marine boundaries in South Pacific, Bering Strait
!
! pens may be "0"(background), "1"(foreground), "thick"(same as pen 7),
! "black", "red", "green", "blue", or 2-18.
! arg 2 may be "basemap", "overlay", "fast" (fast, 20e:20e overlay) or omitted
! Note 1: A pen color of "black" will actually pen number 1
! -- normally white if the window background is black
! Note 2: An "N" for the continent pen means no continents
! -- use this for the special case of geo-political
! overlay without continents.
! Example calls:
! GO mp_land_detail red - overlay continents using red pen (2)
! GO mp_land_detail 10 - overlay continents using pen number 10
! GO mp_land_detail 1 basemap - basemap of continents outline in foreground color
! GO mp_land_detail 1 " " red - overlay continents with countries in red
! GO mp_land_detail thick basemap black black - continents, countries, and states
! GO mp_land_detail thick " " red green blue lightblue purple - continents, countries, states,
! all rivers, and marine boundaries
! GO mp_land_detail N " " 1 1 - overlay: no continents; yes political boundaries
!
! Example:
! USE coads_climatology
! SET REGION/X=0:360/Y=-90:90/L=1
! GO mp_orthographic 210 45
! SET GRID sst
! GO mp_aspect
! LET masked_sst = sst * mp_mask
! FILL/TITLE="View From Space"/NOAXES masked_sst, x_page, y_page
! GO mp_fland
! GO mp_land_detail thick over red green blue lightblue purple
!
! Notes:
! 1) This script is SLOW! It computes the map projection for all the
! boundary data, even when a small subset is being plotted.
! 2) If a pen value is given for the country_pen or state_pen then the
! corresponding geopolitical boundaries will be drawn - else
! they will be omitted
! 3) use GO line_samples to view the first 6 pen numbers
! Higher pen numbers cycle with thicker lines (max 18)
! 3) For more control over basemaps use "GO basemap"
! test argument before performing any actions
query/ignore $1%1|black|red|green|blue|lightblue|purple|white|thick|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|N|<go land_detail [pen or "N"] ["basemap"] [pen] [pen] with pen = 0(back), 1(fore), thick, 2-18 or a color%
query/ignore $2%default|basemap|overlay|<argument 2 can be "basemap", "overlay"%
query/ignore $3%1|black|red|green|blue|lightblue|purple|white|thick|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|N|<go land_detail [pen or "N"] ["basemap"] [pen] [pen] with pen = 0(back), 1(fore), thick, 2-18 or a color%
query/ignore $4%1|black|red|green|blue|lightblue|purple|white|thick|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|N|<go land_detail [pen or "N"] ["basemap"] [pen] [pen] with pen = 0(back), 1(fore), thick, 2-18 or a color%
query/ignore $5%1|black|red|green|blue|lightblue|purple|white|thick|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|N|<go land_detail [pen or "N"] ["basemap"] [pen] [pen] with pen = 0(back), 1(fore), thick, 2-18 or a color%
query/ignore $6%1|black|red|green|blue|lightblue|purple|white|thick|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|N|<go land_detail [pen or "N"] ["basemap"] [pen] [pen] with pen = 0(back), 1(fore), thick, 2-18 or a color%
query/ignore $7%1|black|red|green|blue|lightblue|purple|white|thick|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|N|<go land_detail [pen or "N"] ["basemap"] [pen] [pen] with pen = 0(back), 1(fore), thick, 2-18 or a color%
! introduce the outline data set
set data/save
set grid/save
let/quiet mp_x = x
let/quiet mp_xmin = `mp_x[i=@min]`
let/quiet mp_xmax = `mp_x[i=@max]`
let/quiet mp_y = y
let/quiet mp_ymin = `mp_y[j=@min]`
let/quiet mp_ymax = `mp_y[j=@max]`
let/quiet mp_std_parallel_north = mp_ymax
let/quiet mp_std_parallel_south = mp_ymin
! This test will keep the central meridians defined by "from space" views
!
let/quiet mp_test = `mp_central_meridian` - `(mp_x[i=@max] + mp_x[i=@min])/2`
if `mp_test eq 0` then
let/quiet mp_central_meridian = `(mp_x[i=@max] + mp_x[i=@min])/2`
endif
let/quiet mp_test = `mp_standard_parallel` - `(mp_y[j=@max] + mp_y[j=@min])/2`
if `mp_test eq 0` then
let/quiet mp_standard_parallel = `(mp_y[j=@max] + mp_y[j=@min])/2`
endif
cancel variable mp_test
define region/default save
cancel region
use geo_borders_intermed
! Initialize
let landi_subx = 0
let landi_addx = 0
let landi_datxmin = continent_lon[x=@min]
let landi_datxmax = continent_lon[x=@max]
let landi_basemap = $2"0|basemap>1|*>0"
IF `landi_basemap EQ 0` THEN
IF `mp_xmin LT landi_datxmin` then let landi_subx = `landi_subx - 360`
IF `mp_xmax GT landi_datxmax` then let landi_addx = `landi_addx + 360`
ENDIF
! always do the continents
set grid continent_lon
let/quiet mp_lambda = if (continent_lon ge mp_xmin and continent_lon le mp_xmax and continent_lat ge mp_ymin and continent_lat le mp_ymax) then (continent_lon * deg2rad)
let/quiet mp_phi = if (continent_lon ge mp_xmin and continent_lon le mp_xmax and continent_lat ge mp_ymin and continent_lat le mp_ymax) then (continent_lat * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$1"plot|N>QUERY/IGNORE stuff |*>plot"/set/vs/nolab/noax/line=1/$2"i=1:200826/overlay|basemap>i=1:200826/overly|*>i=1:200826/overlay" masked_x_page, masked_y_page
! select line style and plot
ppl pen 1 $1"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|N>1|"
! draw it - as an overlay or as a basemap
$1"ppl plot|N>QUERY/IGNORE stuff |*>ppl plot"$2"/overlay|basemap> |*>/overlay"
! Draw any lines outside 0 to 360
IF `landi_addx NE 0` THEN
set grid continent_lon
let/quiet mp_lambda = if ((continent_lon+landi_addx) ge mp_xmin and (continent_lon+landi_addx) le mp_xmax and continent_lat ge mp_ymin and continent_lat le mp_ymax) then ((continent_lon+landi_addx) * deg2rad)
let/quiet mp_phi = if ((continent_lon+landi_addx) ge mp_xmin and (continent_lon+landi_addx) le mp_xmax and continent_lat ge mp_ymin and continent_lat le mp_ymax) then (continent_lat * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$1"plot|N>QUERY/IGNORE stuff |*>plot"/set/vs/nolab/noax/line=1/$2"i=1:200826/overlay|basemap>i=1:200826/overly|*>i=1:200826/overlay" masked_x_page, masked_y_page
ppl pen 1 $1"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|N>1|"
$1"ppl plot|N>QUERY/IGNORE stuff |*>ppl plot"$2"/overlay|basemap> |*>/overlay"
ENDIF
IF `landi_subx NE 0` THEN
set grid continent_lon
let/quiet mp_lambda = if ((continent_lon+landi_subx) ge mp_xmin and (continent_lon+landi_subx) le mp_xmax and continent_lat ge mp_ymin and continent_lat le mp_ymax) then ((continent_lon+landi_subx) * deg2rad)
let/quiet mp_phi = if ((continent_lon+landi_subx) ge mp_xmin and (continent_lon+landi_subx) le mp_xmax and continent_lat ge mp_ymin and continent_lat le mp_ymax) then (continent_lat * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$1"plot|N>QUERY/IGNORE stuff |*>plot"/set/vs/nolab/noax/line=1/$2"i=1:200826/overlay|basemap>i=1:200826/overly|*>i=1:200826/overlay" masked_x_page, masked_y_page
ppl pen 1 $1"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|N>1|"
$1"ppl plot|N>QUERY/IGNORE stuff |*>ppl plot"$2"/overlay|basemap> |*>/overlay"
ENDIF
! **** now the optional country borders
set grid COUNTRY_LON
let/quiet mp_lambda = if (COUNTRY_LON ge mp_xmin and COUNTRY_LON le mp_xmax and COUNTRY_LAT ge mp_ymin and COUNTRY_LAT le mp_ymax) then (COUNTRY_LON * deg2rad)
let/quiet mp_phi = if (COUNTRY_LON ge mp_xmin and COUNTRY_LON le mp_xmax and COUNTRY_LAT ge mp_ymin and COUNTRY_LAT le mp_ymax) then (COUNTRY_LAT * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$3"query/ignore|*>plot/set/vs/nolab/line=1/overlay" masked_x_page, masked_y_page
! select line style and plot
ppl pen 1 $3"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|"
! draw it - as an overlay or as a basemap
$3"query/ignore|*>ppl plot/overlay"
! **** now the optional state borders
set grid STATE_LON
let/quiet mp_lambda = if (STATE_LON ge mp_xmin and STATE_LON le mp_xmax and STATE_LAT ge mp_ymin and STATE_LAT le mp_ymax) then (STATE_LON * deg2rad)
let/quiet mp_phi = if (STATE_LON ge mp_xmin and STATE_LON le mp_xmax and STATE_LAT ge mp_ymin and STATE_LAT le mp_ymax) then (STATE_LAT * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$4"query/ignore|*>plot/set/vs/nolab/line=1/overlay" masked_x_page, masked_y_page
! select line style and plot
ppl pen 1 $4"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|"
! draw it - as an overlay
$4"query/ignore|*>ppl plot/overlay"
! **** now the optional rivers (secondary ones first)
set grid RIVER1_2_LON
let/quiet mp_lambda = if (RIVER1_2_LON ge mp_xmin and RIVER1_2_LON le mp_xmax and RIVER1_2_LAT ge mp_ymin and RIVER1_2_LAT le mp_ymax) then (RIVER1_2_LON * deg2rad)
let/quiet mp_phi = if (RIVER1_2_LON ge mp_xmin and RIVER1_2_LON le mp_xmax and RIVER1_2_LAT ge mp_ymin and RIVER1_2_LAT le mp_ymax) then (RIVER1_2_LAT * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$6"query/ignore|*>plot/set/vs/nolab/line=1/overlay" masked_x_page, masked_y_page
! select line style and plot
ppl pen 1 $6"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|"
! draw it - as an overlay or as a basemap
$6"query/ignore|*>ppl plot/overlay"
! **** now the optional rivers (primary ones second)
set grid RIVER1_LON
let/quiet mp_lambda = if (RIVER1_LON ge mp_xmin and RIVER1_LON le mp_xmax and RIVER1_LAT ge mp_ymin and RIVER1_LAT le mp_ymax) then (RIVER1_LON * deg2rad)
let/quiet mp_phi = if (RIVER1_LON ge mp_xmin and RIVER1_LON le mp_xmax and RIVER1_LAT ge mp_ymin and RIVER1_LAT le mp_ymax) then (RIVER1_LAT * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$5"query/ignore|*>plot/set/vs/nolab/line=1/overlay" masked_x_page, masked_y_page
! select line style and plot
ppl pen 1 $5"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|"
! draw it - as an overlay or as a basemap
$5"query/ignore|*>ppl plot/overlay"
! **** now the optional marine boundaries
set grid MARINE_LON
let/quiet mp_lambda = if (MARINE_LON ge mp_xmin and MARINE_LON le mp_xmax and MARINE_LAT ge mp_ymin and MARINE_LAT le mp_ymax) then (MARINE_LON * deg2rad)
let/quiet mp_phi = if (MARINE_LON ge mp_xmin and MARINE_LON le mp_xmax and MARINE_LAT ge mp_ymin and MARINE_LAT le mp_ymax) then (MARINE_LAT * deg2rad)
let/quiet masked_x_page = mp_mask * x_page
let/quiet masked_y_page = mp_mask * y_page
$7"query/ignore|*>plot/set/vs/nolab/line=1/overlay" masked_x_page, masked_y_page
! select line style and plot
ppl pen 1 $7"1|black>1|red>2|green>3|blue>4|lightblue>5|purple>6|white>19|thick>7|0>0|1>1|2>2|3>3|4>4|5>5|6>6|7>7|8>8|9>9|10>10|11>11|12>12|13>13|14>14|15>15|16>16|17>17|18>18|"
! draw it - as an overlay or as a basemap
$7"query/ignore|*>ppl plot/overlay"
cancel data geo_borders_intermed
set grid/restore
set data/restore
let/quiet mp_x = x
let/quiet mp_y = y
let/quiet mp_test = `mp_central_meridian` - `(mp_x[i=@max] + mp_x[i=@min])/2`
if `mp_test eq 0` then
let/quiet mp_central_meridian = (mp_x[i=@max] + mp_x[i=@min])/2
endif
let/quiet mp_test = `mp_standard_parallel` - `(mp_y[j=@max] + mp_y[j=@min])/2`
if `mp_test eq 0` then
let/quiet mp_standard_parallel = (mp_y[j=@max] + mp_y[j=@min])/2
endif
cancel variable mp_test
let/quiet mp_std_parallel_north = mp_y[j=@max]
let/quiet mp_std_parallel_south = mp_y[j=@min]
let/quiet mp_lambda = mp_x * deg2rad
let/quiet mp_phi = mp_y * deg2rad
set region save
set mode/last verify
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement