This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
>From: address@hidden (Chris Hennon) >Organization: UCAR/Unidata >Keywords: 200009071606.e87G6ZN01178 >Can you plot a hurricane track in gempak 5.4? > >Thanks. > >Chris > >================================================ >| Chris Hennon Ohio State University | >| Tropical Meteorology address@hidden | >| | >| Dept of Geography Office: 1155 Derby Hall | >| 1036 Derby Hall Phone : (614) 292-2704 | >| Columbus, OH 43210 Fax : (614) 292-6213 | >================================================ > Yep. See the "tropical storm tracks" link from http://www.unidata.ucar.edu/packages/gempak/examples/ Marker types 23 and 24 are tropical storm and hurricane symbols respectively. The dctrop decoder decodes realtime bulletins, and I have a script which plots those files using sfmap. Or, you can create your own station table format file and use the STNPLT option for station position setting the marker appropriately. The dctrop output file looks like: PARM = FCHR;SKNT;SCAT STN YYMMDD/HHMM FCHR SKNT SCAT ERNESTO 000902/0900 0.00 35.00 6.00 ERNESTO 000902/0900 12.00 40.00 6.00 ERNESTO 000902/0900 24.00 40.00 6.00 ERNESTO 000902/0900 36.00 40.00 6.00 ERNESTO 000902/0900 48.00 40.00 6.00 ERNESTO 000902/0900 72.00 45.00 6.00 ERNESTO 000902/1500 0.00 35.00 6.00 ERNESTO 000902/1500 12.00 35.00 6.00 ERNESTO 000902/1500 24.00 40.00 6.00 ERNESTO 000902/1500 36.00 40.00 6.00 ERNESTO 000902/1500 48.00 40.00 6.00 ERNESTO 000902/1500 72.00 40.00 6.00 ERNESTO 000902/2100 0.00 35.00 6.00 ERNESTO 000902/2100 12.00 35.00 6.00 ERNESTO 000902/2100 24.00 35.00 6.00 ERNESTO 000902/2100 36.00 35.00 6.00 ERNESTO 000902/2100 48.00 35.00 6.00 ERNESTO 000902/2100 72.00 35.00 6.00 ERNESTO 000903/0300 0.00 35.00 6.00 ERNESTO 000903/0300 12.00 35.00 6.00 ERNESTO 000903/0300 24.00 35.00 6.00 ERNESTO 000903/0300 36.00 35.00 6.00 ERNESTO 000903/0300 48.00 35.00 6.00 ERNESTO 000903/0300 72.00 35.00 6.00 ERNESTO 000903/0900 0.00 35.00 6.00 ERNESTO 000903/0900 12.00 35.00 6.00 ERNESTO 000903/0900 24.00 35.00 6.00 ERNESTO 000903/0900 36.00 35.00 6.00 ERNESTO 000903/0900 48.00 35.00 6.00 ERNESTO 000903/0900 72.00 35.00 6.00 ERNESTO 000903/1500 0.00 35.00 6.00 ERNESTO 000903/1500 12.00 35.00 6.00 ERNESTO 000903/1500 24.00 35.00 6.00 ERNESTO 000903/1500 36.00 35.00 6.00 ERNESTO 000903/1500 48.00 35.00 6.00 ERNESTO 000903/1500 72.00 35.00 6.00 ERNESTO 000903/2100 0.00 30.00 7.00 ERNESTO 000903/2100 12.00 30.00 7.00 Below is the script I run for the 4 plots from the examples page above. Basically, I run sfmap once to plot the FCHR=0 hour forecast positions for all times, then for the last time, I plot all the forecast positions for the overlay of the forecast track. I set the symbol based on the SCAT storm category, where 1 through 5 are hurricane safir-simpson categories, 6 is tropical storm, and 7 is depression. SO below in the script, you'll find that I set the marker to "+" for the depressions, then 23 for tropical storm and 24 for hurricane. Steve Chiswell #!/bin/csh -f # this script sends output to the PS driver since it uses # dattim=all (gif would create separate frames) setenv PATH ${PATH}:/usr/local/bin setenv TMPDIR /tmp cd $TMPDIR source /home/gempak/Gemenviron setenv DISPLAY unix:0 if($#argv == 1) then set region=$1 else set region=epacific endif setenv STORM $GEMDATA/storm/tropic/$region set WORK=/home/chiz/web/tmp if(! -e $STORM) then echo No such directory $region exit endif switch ($region) case 'wpacific': set GAREA='#25;130;22;30' breaksw case 'epacific': set GAREA='#20;-120;20;30' set GAREA='#30;-108;16;21' set GAREA='#18;-108;16;21' breaksw case 'atlantic': set GAREA='#30;-85;15;20' set GAREA='#27.5;-62.5;24;38' breaksw case 'cpacific': set GAREA='#22;-155;22;30' breaksw default: echo Unknown region exit endsw cd $STORM set FILES=`find *.gem -mtime -1 -print` if($#FILES == 0) then #echo No current storms exit endif @ COUNT = 1 while ($COUNT <= $#FILES) if(! -l $FILES[$COUNT]) then echo $FILES[$COUNT]:r >>! $WORK/storm_names.$$ endif @ COUNT = $COUNT + 1 end cd $WORK set names=`cat storm_names.$$` rm storm_names.$$ @ COUNT = 0 foreach FILE ($FILES) if(-l $STORM/$FILE) then echo Just a link $FILE continue endif echo $FILE $COUNT sflist << EOF1 dattim = all sffile = \$STORM/$FILE sfparm = dset output = f/tropic_dat.$$ area = dset idntyp = stid \$respond = yes r e EOF1 set DATE=`cat tropic_dat.$$ | nawk '/[0-9][0-9][0-9][0-9][0-9][0-9]\/[0-9][0-9][0-9][0-9]/ { print $2 }'` cat tropic_dat.$$ if($#DATE > 0) then set TITLE=$DATE[1] else set TITLE=`date -u '+%y%m%d/%H%M'` endif if(-e tropic_dat.$$) then rm tropic_dat.$$ endif set DEVICE="ps|${region}.ps||C" if($COUNT == 0) then set CLEAR=n set MAP='1/1/2' set LATLON='30/2/1' else set CLEAR=n set MAP=0 set LATLON=0 endif @ LST = 3 + $COUNT gpmap << GP_EOF \$mapfil = hipowo.cia MAP = $MAP GAREA = $GAREA PROJ = mer SATFIL = RADFIL = LATLON = $LATLON PANEL = 0 TEXT = 1.5/22/1/hw CLEAR = $CLEAR DEVICE = $DEVICE title = 2/-${LST}/Forecast Track $FILE:r $TITLE r CLEAR = n MAP = 0 LATLON = 0 TITLE = 4/-2/Track History, $names r e GP_EOF sfmap << EOF AREA = dset GAREA = $GAREA SATFIL = RADFIL = DATTIM = all SFFILE = $STORM/$FILE COLORS = 4;0;0;2 MAP = 0 LATLON = 0 TITLE = 0 CLEAR = n PANEL = 0 PROJ = mer FILTER = .8 TEXT = 1.2/22/1/hw SKPMIS = n SFPARM = mark:1/2/2;fchr=0;scat=7;sknt !MARKER = 4/1/2/2/hw OUTPUT = t TITLE = 0 r SFPARM = mark:23/4/6;fchr=0;scat=6;sknt !MARKER = 4/23/4/6/hw r SFPARM = mark:24/4/6;fchr=0;scat<5.1;sknt !MARKER = 4/24/4/6/hw r DATTIM = LAST COLOR = 2;0;0;2 filter = n SFPARM = mark:1/2/2;scat=7;fchr>1;sknt !MARKER = 2/1/2/2/hw r SFPARM = mark:23/4/6;scat=6;fchr>1;sknt !MARKER = 2/23/4/6/hw r SFPARM = mark:24/4/6;scat=1;fchr>1;sknt !MARKER = 2/24/4/6/hw r COLOR = 15;0;0;2 SFPARM = mark:24/4/6;scat=2;fchr>1;sknt !MARKER = 15/24/4/6/hw r COLOR = 14;0;0;2 SFPARM = mark:24/4/6;scat=3;fchr>1;sknt !MARKER = 14/24/4/6/hw r COLOR = 13;0;0;2 SFPARM = mark:24/4/6;scat=4;fchr>1;sknt !MARKER = 13/24/4/6/hw r COLOR = 12;0;0;2 SFPARM = mark:24/4/6;scat=5;fchr>1;sknt !MARKER = 12/24/4/6/hw r e EOF @ COUNT = $COUNT + 1 end gpend # use the imagemagick package to convert the ps to gif convert -rotate 90 $region.ps $region.gif mv $region.gif /www/staff/chiz/storm/tropic