!######################################################################## !######################################################################## !######### ######### !######### MODULE n2aconst ######### !######### ######### !######### Developed by ######### !######### Center for Analysis and Prediction of Storms ######### !######### University of Oklahoma ######### !######### ######### !######################################################################## !######################################################################## MODULE n2aconst 12 !------------------------------------------------------------------------ ! ! PURPOSE: ! ! Declare constants for use with NIDS2ARPS and related NIDS decoding ! routines. ! !------------------------------------------------------------------------ ! ! AUTHOR: ! ! Eric Kemp, 9 August 2001 ! Based on constants listed in C version of NIDS2ARPS, and HPUX ! FORTRAN 77 software developed by the NWS Techniques Development ! Laboratory. ! ! Eric Kemp, 17 August 2001 ! Removed INTEGER*4, INTEGER*1, etc, and avoided use of hexadecimal ! parameters (based on work by Yunheng Wang). Also, placed module in ! separate file. Finally, added dimension for array irad in subroutine ! get_radial_data. ! !------------------------------------------------------------------------ IMPLICIT NONE SAVE !------------------------------------------------------------------------ ! ! Julian date of 1 Jan 1970. Used to convert NEXRAD date to yr/mon/day. ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: jul_1_1_70=2440587 !------------------------------------------------------------------------ ! ! Internal ID for radial products. ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: ipradial = 44831 ! Z'AF1F' !------------------------------------------------------------------------ ! ! Internal ID's for raster products. ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: ipraster1 = 47631 ! Z'BA0F' INTEGER, PARAMETER :: ipraster2 = 47623 ! Z'BA07' !------------------------------------------------------------------------ ! ! Product ID codes. ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: BREFprodID1 = 16 ! Base reflectivity ID code INTEGER, PARAMETER :: BREFprodID2 = 21 ! 16 <= ID <= 21 INTEGER, PARAMETER :: BVELprodID1 = 22 ! Base velocity ID code INTEGER, PARAMETER :: BVELprodID2 = 27 ! 22 <= ID <+ 27 INTEGER, PARAMETER :: ETprodID = 41 ! Echo Top ID code INTEGER, PARAMETER :: VILprodID = 57 ! VIL ID code INTEGER, PARAMETER :: DPAprodID = 81 ! DPA ID code !------------------------------------------------------------------------ ! ! Unit conversions ! !------------------------------------------------------------------------ REAL, PARAMETER :: rad2deg = 180./3.141592654 REAL, PARAMETER :: deg2rad = 1./rad2deg REAL, PARAMETER :: mm2in = 0.001*39.37 REAL, PARAMETER :: mpfoot = 0.3048 REAL, PARAMETER :: kts2ms = 0.514444 !------------------------------------------------------------------------ ! ! Map projection information for NIDS DPA data. ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: DPAiproj = 1 ! Polar stereographic REAL, PARAMETER :: DPAtrulat1 = 60. REAL, PARAMETER :: DPAtrulon = -105. REAL, PARAMETER :: DPAscale = 1. REAL, PARAMETER :: DPAdx = 4762.5 ! Grid resolution (m) at trulon !------------------------------------------------------------------------ ! ! Maximum dimensions ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: maxlen = 100000 ! max. length of NIDS product INTEGER, PARAMETER :: maxelev = 4 INTEGER, PARAMETER :: maxgate = 230 INTEGER, PARAMETER :: maxazim = 464 INTEGER, PARAMETER :: maxgate_tilt = maxgate*maxazim INTEGER, PARAMETER :: ndim1 = 464 ! Maximum dimensions of the decoded INTEGER, PARAMETER :: ndim2 = 464 ! product (rows/cols or ! aximuths/ranges) INTEGER, PARAMETER :: itrailerdim = 20000 INTEGER, PARAMETER :: iheaderdim = 160 INTEGER, PARAMETER :: iraddim = 470 !NEW EMK 13 September 2001 INTEGER, PARAMETER :: maxnidsfile = 11 ! four tilts reflectivity, ! four tilts velocity, ! one VIL, one echo top, and ! one DPA !------------------------------------------------------------------------ ! ! Character constants. ! !------------------------------------------------------------------------ CHARACTER (LEN=6) :: refid = 'Refl' CHARACTER (LEN=20) :: refname = 'Reflectivity' CHARACTER (LEN=20) :: refunits = 'dBZ' CHARACTER (LEN=6) :: velid = 'RVel' CHARACTER (LEN=20) :: velname = 'Radial Velocity' CHARACTER (LEN=20) :: velunits = 'm/s' !------------------------------------------------------------------------ ! ! Miscellaneous parameters. ! !------------------------------------------------------------------------ INTEGER, PARAMETER :: iscale5 = 40962 ! Z'A002' INTEGER, PARAMETER :: stdin = 5, stdout=6 REAL, PARAMETER :: misschk = -199.0 REAL, PARAMETER :: refchek = -20.0 REAL, PARAMETER :: refmiss = -999.0 REAL, PARAMETER :: velchek = -199.0 REAL, PARAMETER :: velmiss = -999.0 REAL, PARAMETER :: winszrad = 7000.0 REAL, PARAMETER :: winszazim = 10.0 INTEGER, PARAMETER :: r_missing = -999. REAL, PARAMETER :: res(0:109) = (/ & 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., &! 0-9 0., 0., 0., 0., 0., 0., 1., 2., 4., 1., &! 10-19 2., 4., 0.25, 0.5, 1., 0.25, 0.5, 1., 0., 0., &! 20-29 0., 0., 0., 0., 0., 1., 4., 1., 4., 0., &! 30-39 0., 4., 0., 0., 0., 0., 0., 0., 0., 0., &! 40-49 0., 0., 0., 0., 0., 0., 0., 4., 0., 0., &! 50-59 0., 0., 0., 4., 4., 4., 4., 0., 0., 0., &! 60-69 0., 0., 0., 0., 0., 0., 0., 0., 2., 2., &! 70-79 2., 0., 0., 0., 0., 0., 0., 0., 0., 4., &! 80-89 4., 0., 0., 0., 0., 0., 0., 0., 0., 0., &! 90-99 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. /) !100-109 REAL, PARAMETER :: rasterchek = -9999. REAL, PARAMETER :: rastermiss = -9999. REAL, PARAMETER :: dpachek = -9999. REAL, PARAMETER :: dpamiss = -9999. END MODULE n2aconst