!************************************************************************ !* GEMPRM.PRM !* !* This include file contains parameter definitions for the GEMPAK !* software. !* !* OSF1 Version !** !* Log: See gemprm.log !************************************************************************ ! ! Missing data definitions ! REAL, PARAMETER :: rmissd = -9999.0 ! Missing data value REAL, PARAMETER :: rdiffd = 0.1 ! Missing value fuzziness INTEGER, PARAMETER :: imissd = -9999 ! Missing integer value LOGICAL :: ermiss ! Declare for stmt func ! ! Physical and mathematical constants ! REAL, PARAMETER :: pi = 3.14159265 REAL, PARAMETER :: halfpi = pi / 2. REAL, PARAMETER :: twopi = 2. * pi REAL, PARAMETER :: pi4th = pi / 4. ! PI,... REAL, PARAMETER :: dtr = pi / 180. REAL, PARAMETER :: rtd = 180. / pi ! Degrees <--> Radians REAL, PARAMETER :: radius = 6371200. ! Earth radius REAL, PARAMETER :: omega = 7.2921E-5! Earth angular veclocity REAL, PARAMETER :: gravty = 9.80616 ! Acceleration of gravity REAL, PARAMETER :: rdgas = 287.04 REAL, PARAMETER :: rkap = rdgas / gravty ! Gas constant of dry air REAL, PARAMETER :: rkappa = 2. / 7. REAL, PARAMETER :: akappa = 7. / 2. ! Poisson constant;inverse REAL, PARAMETER :: gamusd = 6.5 ! US std atmos lapse rate REAL, PARAMETER :: tmck = 273.15 ! Centigrade -> Kelvin ! ! File information parameters ! INTEGER, PARAMETER :: mmkey = 12 ! Maximum # of keys INTEGER, PARAMETER :: mmhdrs = 10000 ! Maximum # of headers INTEGER, PARAMETER :: mmprt = 20 ! Maximum # of parts INTEGER, PARAMETER :: mmlist = 20 ! Maximum search list INTEGER, PARAMETER :: mmfree = 62 ! Number of free pairs INTEGER, PARAMETER :: mmfile = 3 ! Maximum # of open files INTEGER, PARAMETER :: mblksz = 128 ! Block size INTEGER, PARAMETER :: mcache = 8 ! # of cached records INTEGER, PARAMETER :: mmparm = 40 ! Maximum # of parameters INTEGER, PARAMETER :: mmfhdr = 10 ! Maximum # of file hdrs INTEGER, PARAMETER :: mmsrch = 30 ! Max # of cond searches ! INTEGER, PARAMETER :: mmfldp = mmfile * mmprt ! INTEGER, PARAMETER :: mtvax = 2 INTEGER, PARAMETER :: mtsun = 3 INTEGER, PARAMETER :: mtiris = 4 INTEGER, PARAMETER :: mtapol = 5 INTEGER, PARAMETER :: mtibm = 6 INTEGER, PARAMETER :: mtigph = 7 INTEGER, PARAMETER :: mtultx = 8 INTEGER, PARAMETER :: mthp = 9 INTEGER, PARAMETER :: mtalph = 10 INTEGER, PARAMETER :: mtmach = mtalph ! Machine type ! Raob, VAS data source INTEGER, PARAMETER :: mmrecl = 1 ! Multiplier for RECL in ! file create/open ! (usually 4 on UNIX sys) ! INTEGER, PARAMETER :: mdreal = 1 INTEGER, PARAMETER :: mdintg = 2 INTEGER, PARAMETER :: mdchar = 3 INTEGER, PARAMETER :: mdrpck = 4 INTEGER, PARAMETER :: mdgrid = 5 ! Data types in DM lib INTEGER, PARAMETER :: mdgnon = 0 INTEGER, PARAMETER :: mdggrb = 1 INTEGER, PARAMETER :: mdgnmc = 2 INTEGER, PARAMETER :: mdgdif = 3 INTEGER, PARAMETER :: mdgdec = 4 ! Grid packing types INTEGER, PARAMETER :: mfsf = 1 INTEGER, PARAMETER :: mfsn = 2 INTEGER, PARAMETER :: mfgd = 3 ! Data file types INTEGER, PARAMETER :: mfunkn = 99 INTEGER, PARAMETER :: mfairw = 1 INTEGER, PARAMETER :: mfmetr = 2 INTEGER, PARAMETER :: mfship = 3 ! Unknown, airways, metar, ! ship data source INTEGER, PARAMETER :: mfbuoy = 4 INTEGER, PARAMETER :: mfsynp = 5 INTEGER, PARAMETER :: mfraob = 4 INTEGER, PARAMETER :: mfvas = 5 ! INTEGER, PARAMETER :: mfgrid = 6 ! Grid source INTEGER, PARAMETER :: mftext = 100 ! Text ! ! Declarations for array sizes in programs ! INTEGER, PARAMETER :: llmxlv = 500 ! Max # levels/station INTEGER, PARAMETER :: llmxtm = 200 ! Max # times/dataset INTEGER, PARAMETER :: llmxgt = 1000 ! Max # grid times INTEGER, PARAMETER :: llmxst = 20 ! Max # stations in list INTEGER, PARAMETER :: llmxdt = mmparm * llmxlv ! Max # data points INTEGER, PARAMETER :: llmxpt = 10000 ! Max # lines, polygons, ... INTEGER, PARAMETER :: llstfl = 9800 ! Max # stations in file INTEGER, PARAMETER :: llmxgd = 97000 ! Max # grid points INTEGER, PARAMETER :: llmdgg = 2304000 ! Max mem for intern grids INTEGER, PARAMETER :: mxloop = 30 ! Maximum frames in loop INTEGER, PARAMETER :: llnnav = 256 ! Grid nav block length INTEGER, PARAMETER :: llnanl = 128 ! Grid anl block length INTEGER, PARAMETER :: llsthl = 20 ! Max header size INTEGER, PARAMETER :: llgdhd = 128 ! Max grid hdr length INTEGER, PARAMETER :: lloagd = 400 ! Max # grids from 1 OA INTEGER, PARAMETER :: llclev = 50 ! Max # of contour lvls INTEGER, PARAMETER :: llaxis = 64 ! Max # of axis labels INTEGER, PARAMETER :: lltmcx = 100 ! Max # of time xsect pts ! ! Image file types (defined here and in gemprm.h) ! INTEGER, PARAMETER :: ifinvd = -1 INTEGER, PARAMETER :: ifarea = 1 INTEGER, PARAMETER :: ifgini = 2 INTEGER, PARAMETER :: ifnids = 3 INTEGER, PARAMETER :: ifnowr = 4 ! File type NONE, ! AREA (MCIDAS), ! GINI (AWIPS), NIDS ! radar, NOWRad (WSI) ! ! Offsets from local to UTC (GMT) time in HHMM (hour/minute) form ! INTEGER, PARAMETER :: joflst = 500 ! Offset for UTC/EST INTEGER, PARAMETER :: jofldt = 400 ! Offset for UTC/EDT ! ! ASCII character constants ! CHARACTER (LEN=1), PARAMETER :: chnull = CHAR (0) ! Null CHARACTER (LEN=1), PARAMETER :: chctla = CHAR (1) ! Control A CHARACTER (LEN=1), PARAMETER :: chctlc = CHAR (3) ! Control C CHARACTER (LEN=1), PARAMETER :: chtab = CHAR (9) ! Tab CHARACTER (LEN=1), PARAMETER :: chlf = CHAR (10) ! Line feed CHARACTER (LEN=1), PARAMETER :: chff = CHAR (12) ! Form feed CHARACTER (LEN=1), PARAMETER :: chcr = CHAR (13) ! Carriage return CHARACTER (LEN=1), PARAMETER :: chcan = CHAR (24) ! Cancel (CAN) CHARACTER (LEN=1), PARAMETER :: chesc = CHAR (27) ! Escape CHARACTER (LEN=1), PARAMETER :: chfs = CHAR (28) ! FS CHARACTER (LEN=1), PARAMETER :: chgs = CHAR (29) ! GS CHARACTER (LEN=1), PARAMETER :: chrs = CHAR (30) ! Record Separator CHARACTER (LEN=1), PARAMETER :: chus = CHAR (31) ! US CHARACTER (LEN=1), PARAMETER :: chspac = CHAR (32) ! Space CHARACTER (LEN=1), PARAMETER :: chtlda = CHAR (126) ! Tilda ! !----------------------- COORDINATE SYSTEMS ----------------------------- CHARACTER (LEN=10), PARAMETER :: sysup = 'DNVPLWMQIG' CHARACTER (LEN=10), PARAMETER :: syslo = 'dnvplwmqig' CHARACTER (LEN=1) :: carray (10) COMMON / gpsys / carray ! !-----------------------GPLT SYMBOL SIZE-------------------------------- REAL, PARAMETER :: radclm = .13 ! Calm wind circle radius REAL, PARAMETER :: radsky = 3.5 ! Sky cover symbol radius REAL, PARAMETER :: rszptn = 9.0 ! Pressure tendency symbol size ! !-----------------------GPLT BUFFER SIZE-------------------------------- INTEGER, PARAMETER :: igbszm = 20 + ( 4 * llmxgd ) ! Min desired GPLT buffer size INTEGER, PARAMETER :: igbsiz = (128*(1+INT((igbszm-1)/128))) ! Makes buffer size mul. of 128 INTEGER, PARAMETER :: igtbsz = 1100 ! !-----------------------DEVICE BUFFER SIZE------------------------------ INTEGER, PARAMETER :: igdszm = 20 + ( 2 * llmxpt ) ! Min desired DEVICE buffer size ! INTEGER, PARAMETER :: igdsiz = (128*(1+INT((igdszm-1)/128))) ! Makes buffer size mul. of 128 ! !-----------------------CYLINDRICAL MAP TRANSFORMATIONS----------------- INTEGER, PARAMETER :: mccyl = 1 INTEGER, PARAMETER :: mpcequ = 1, mpcmer = 2, mpcmcd = 3 INTEGER, PARAMETER :: mscequ = 1 ! !-----------------------AZIMUTHAL MAP TRANSFORMATIONS------------------- INTEGER, PARAMETER :: mcazm = 2 INTEGER, PARAMETER :: mpaequ = 1, mpastr = 2, mpaort = 3, mpalam = 4 INTEGER, PARAMETER :: mpagno = 5 INTEGER, PARAMETER :: msanor = 1, msasou = 2 ! !-----------------------CONICAL MAP TRANSFORMATIONS--------------------- INTEGER, PARAMETER :: mccon = 3 INTEGER, PARAMETER :: mpcnor = 1, mpcsou = 2 ! !-----------------------OBLIQUE MERCATOR-------------------------------- INTEGER, PARAMETER :: mcmer = 4 INTEGER, PARAMETER :: mptmer = 1, mputm = 2, mpoblq = 3 ! !-----------------------SATELLITE TRANSFORMATIONS----------------------- INTEGER, PARAMETER :: mcgoes = 6 INTEGER, PARAMETER :: mpmci = 1 ! !-----------------------COLOR TABLE INFORMATION------------------------- INTEGER, PARAMETER :: mxclnm = 50 ! Maximum number of color names saved ! !-----------------------DEVICE CHARACTERISTICS-------------------------- INTEGER, PARAMETER :: ndvchr = 20 ! Size of /DEVCHR/ to be passed