!=====================================================================
! NGWM: Wmap, A Package for Producing Daily Weather Maps and Plotting
! Station Model Data
!=====================================================================
!
! WMAP is a collection of subroutines that will allow the user to
! create daily weather maps like the ones appearing in major U.S.
! newspapers. Full color is available. Functionality also exists
! for plotting station model data (temperature, pressure, wind speed,
! cloud cover, and so forth) in accordance with the World Meteorological
! Organization (WMO) guidelines. It is also possible to plot icons
! representing daily weather (like "snow", "thunderstorms," and so forth).
!
!---------------------------------------------------------------------
!
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~
! set/Get internal parameters
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
! NG_WMDFLT (sama as NG_WMRSET)
! NG_WMRSET to reset all parameters to their default values.
!
! NG_WMSETC to give a value of type CHARACTER to a parameter.
! NG_WMSETI to give a value of type INTEGER to a parameter.
! NG_WMSETR to give a value of type REAL to a parameter.
!
! NG_WMGETC to get a value of type CHARACTER.
! NG_WMGETI to get a value of type INTEGER.
! NG_WMGETR to get a value of type REAL.
!
! ~~~~~~~~~~~~~~~~
! Working Routines
! ~~~~~~~~~~~~~~~~
!
! NG_WMBARB plotting wind barb
! NG_WMDRFT plotting front lines
! NG_WMDRRG plotting regions indicating weather patterns or temperatures
! NG_WMLABC plotting city names and daily HI/LOWs
! NG_WMLABS plotting special symbols and icons for daily weather
! NG_WMLABT plotting regional temperature labels
! NG_WMLABW plotting regional weather labels
! NG_WMLGND plotting legends at the bottom of a weather map
! NG_WMSTNM plotting station model data
! NG_WMVECT plotting vectors not over maps
! NG_WMVMAP plotting vectors over map
! NG_WMVLBL plotting informational label box
!
!=====================================================================
!
! SUBROUTINE NG_WMBARB(X,Y,U,V)
!
! This subroutine plots wind barbs with the origin of the barb at
! (X,Y). U and V are the components of the wind vector.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMDRFT(N,X,Y)
!
! This subroutine draws a front along the line determined by the
! world coordinates (X(I),Y(I)) for I=1,N. A spline curve is
! fit to the points, so only a few points need be supplied.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMDRRG(N,X,Y,ITYPE,NC,XC,YC)
!
! This subroutine draws a closed region filled as per the
! value of ITYPE. Legal values for ITYPE are:
!
! ITYPE = 'INDEXnnn' where "nnn" denotes a color index.
! = 'T' for thunderstorms.
! = 'SH' for showers.
! = 'R' for rain.
! = 'F' for flurries.
! = 'SN' for snow.
! = 'I' for ice.
!
! If NC is greater than 2, then the region resulting from the
! spline fit to (X(I),Y(I),I=1,N) will be clipped against the
! region in (XC(I),YC(I),I=1,NC) .
!
! X,Y and XC,YC are world coordinate values.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMLABC(X,Y,CITY,TEMPS)
!
! Plot the city name in CITY and the daily temperatures
! in TEMPS in two lines, all centered at (X,Y). The
! text will be surrounded with a box in the background
! color.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMLABS(X,Y,SYMTYP)
!
! Plot the symbol indicated by the string SYMTYP. The symbol
! is centered at (X,Y), where X and Y are world coordinates.
! Legal values for SYMTYP are:
!
! 'HI'
! 'LOW'
! 'ARROW'
! 'DOT'
! 'CLOUD'
! 'ICE'
! 'IS' (Intermittent showers)
! 'IT' (Sunny, chance of T-storms)
! 'MC' (Mostly cloudy)
! 'MS' (Mostly sunny)
! 'RAIN'
! 'RS' (Rain and snow)
! 'SNOWFLAKES'
! 'SUN'
! 'THUNDERSTORM'
! 'VECTOR'
! 'WIND'
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMLABT(X,Y,LABEL,IFLG)
!
! Plots regional temperature labels with the option of
! plotting arrows, depending on the value of IFLG.
!
! If IFLG =
!
! 0 - Plots the label centered at (X,Y).
! 1-12 plots the label with an arrow positioned as per:
!
!
!
! 6 5 4 3 2
! \ \ | / /
! \ \ | / /
! -----------
! | |
! 7 -- | LABEL | -- 1
! | |
! -----------
! / / | \ \
! / / | \ \
! 8 9 10 11 12
!
!
!
! For IFLG=1 through 12 the tip of the arrow is positioned at (X,Y).
! For IFLG=0, only the label is drawn and not the arrow.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMLABW(X,Y,LABEL)
!
! Plot the label contained in the character variable LABEL
! centered at (X,Y), where X and Y are world coordinates.
! The labels are drawn with a shadow box.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMLGND(X,Y,NTYPE,IROWS,ICOLS)
!
! Subroutine for producing legends. NTYPE specifies what legends
! are to be drawn:
!
! NTYPE = 1 Plot the legend for the weather types. There are
! six weather types: showers; T-storms; rain; flurries;
! snow; ice. The coordinate (X,Y) for this type
! specifies the lower left corner of the legend.
! = 2 Plot the legend for the front types. There are
! three front types: cold; warm; stationary. The
! (X,Y) coordinate for this legend specifies the
! lower right corner of the legend.
! = 3 Plot the explanatory legend. The (X,Y) coordinate
! for this legend specifies the bottom center of the
! legend.
!
! IROWS and ICOLS specify how many rows and columns there should
! be in displaying the weather types, these values are significant
! only when NTYPE=1. Choices for IROWSxICOLS are: 1x6, 2x3, 3x2,
! and 6x1.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMSTNM(X,Y,IMDAT)
!
! This subroutine plots station model data as per the NOAA/WMO
! guidelines. (X,Y) is a world coordinate specifying the center
! of the tail of the windbarb shaft. IMDAT is a CHARACTER*5 array
! of length 9 that contains the coded model data. The first member
! of the IMDAT array contains IR,IX,H,VV (in that order), and the
! second member contains N,DD,FF (in that order). The remaining members
! of IMDAT contain, as their first character, a group identifier.
!
! In a little more detail:
!
! IMDAT(1)( 1: 1) = iR - precipitation data indictor.
! IMDAT(1)( 2: 2) = iX - weather data and station type indicator.
! IMDAT(1)( 3: 3) = h - height above ground of base lowest cloud.
! IMDAT(1)( 4: 5) = VV - visibility in miles and fractions for
! imperial units (UNT=0), or kilometers
! in metric units (UNT=1).
!
! IMDAT(2)( 1: 1) = N - total amount of cloud cover.
! IMDAT(2)( 2: 3) = dd - direction from which wind is blowing.
! IMDAT(2)( 4: 5) = ff - wind speed in knots.
!
! For I=3,9 if IMDAT(I)(1:1) =
!
! '1', then IMDAT(I)(2:2) = sn - sign of temperature
! IMDAT(I)(3:5) = TTT - current air temperature
!
! '2', then IMDAT(I)(2:2) = sn - sign of temperature
! IMDAT(I)(3:5) = Td - dew point
!
! '3', then IMDAT(I)(2:5) = PO - station pressure
!
! '4', then IMDAT(I)(2:5) = PPPP - pressure reduced to sea level
!
! '5', then IMDAT(I)(2:2) = a - characteristic of barograph trace
! IMDAT(I)(3:5) = ppp - pressure change, last 3 hrs.
!
! '6', then IMDAT(I)(2:4) = RRR - precipitation
! IMDAT(I)(5:5) = tr - time duration of precipitation
!
! '7', then IMDAT(I)(2:3) = ww - present weather
! IMDAT(I)(4:4) = W1 - most significant past weather
! IMDAT(I)(5:5) = W2 - 2nd most significant past weather
!
! '8', then IMDAT(I)(2:2) = Nh - fraction of sky cover
! IMDAT(I)(3:3) = CL - cloud type, low clouds
! IMDAT(I)(4:4) = CM - cloud type, medium clouds
! IMDAT(I)(5:5) = CH - cloud type, high clouds
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMVECT(X,Y,U,V)
!
! This subroutine plots wind vectors with the origin of the vector at
! (X,Y). U and V are the components of the wind vector.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMVMAP(X,Y,U,V)
!
! This subroutine plots wind vectors over a map with the origin
! of the vector at lat/lon coordinate (X,Y). U and V are the
! components of the wind vector.
!
!---------------------------------------------------------------------
!
! SUBROUTINE NG_WMVLBL(X,Y)
!
! This subroutine plots an informational label box using the
! current settings for vactor scaling "VRS" and "VRN". The
! (X,Y) coordinate specifies the lower right hand corner of
! the box position. The settings for "VLB" and "VLF" specify
! the background and foreground colors for the box and "VSC"
! specifies the scale factor.
!
!=====================================================================
! "Color" internal parameters
!=====================================================================
!
! Name Default Description
! AOC -1 Color index for the outlines of arrows (outlines drawn only if AOC is non-negative).
! ASC -1 Color index for the shadows of arrows (shadows are drawn only if ASC is non-negative).
! AWC 1 Color index for the interior of arrows.
! CBC 1 Color index to be used for backgrounds of city and daily high/low labels.
! CC1 2 Color index for the interior of a cloud symbol.
! CC2 1 Color index for the outline of the cloud symbol.
! CC3 1 Color index for the shadow of the cloud symbol.
! CFC 1 Color index to use for cold front symbols.
! COL 1 Color index to use for all objects that require only a single color setting.
! DBC 0 Color index to be used for the background shadow for the dots marking the city locations.
! DTC 1 Color index to use for the dots marking the city locations.
! HIB 0 Background color index for the "H" drawn for the high pressure symbols.
! HIC 1 Color index of the circumscribed circle for the "H" drawn for the high pressure symbols.
! HIF 1 Color index for the "H" drawn for the high pressure symbols.
! HIS 1 Color index for the shadow of the high pressure symbols
! LC1 2 Color index for the interior of the lightning bolt symbol
! LC2 1 Color index for the outline of the lightning bolt symbol.
! LC3 1 Color index for the shadow of the lightning bolt symbol
! LOB 1 Color index for the background of the "L" drawn for the low pressure symbols.
! LOC 1 Color index for the circumscribed circle for the "L" drawn for the low pressure symbols.
! LOF 0 Color index for the "L" drawn for the low pressure symbols.
! LOS 0 Color index for the shadow of the low pressure symbols.
! RBS -1 Color index to use for the background of the regional temperature labels (plotted only if RBS is non-negative).
! RC1 1 Color index for the outline of the boxes drawn for the regional weather labels.
! RC2 0 Color index for the backgrounds of the boxes used for the regional weather labels.
! RC3 1 Color index for the shadow color of the boxes used for the regional weather labels.
! RC4 1 Color index for the text string used for regional weather labels.
! RC5 -1 Color for the outlines of the characters in the text strings used for regional weather labels (plotted only if RC5 is non-negative).
! RFC 1 Color index to be used for the foreground of regional temperature labels and cities.
! RLS -1 Color index to use for shadows of regional temperature labels.
! ROS -1 Color index to use for the outlines of the regional temperature labels (plotted only if ROS is non-negative).
! SC1 2 Color index to be used for the center of the sun symbol.
! SC2 3 Color index for the points of the sun symbol.
! SC3 1 Color index for the outline of the sun symbol.
! SC4 1 Color index for the shadow of the sun symbol.
! T1C 1 One color to use for the alternating colors of the dashes in the tropical fronts.
! T2C 1 A second color to use for the alternating colors of the dashes in the tropical fronts.
! VCC 1 Color index for vector color.
! VLB 1 Color index for vector label background.
! VLF 1 Color index for vector label foreground.
! WFC 1 Color index to use for warm front symbols.
!
!=====================================================================
! Refer "NCAR menu" for interfacing WMAP in detail
!=====================================================================