C*********************************************************************** C*************************** M A P S C O N ***************************** C*********************************************************************** C** C** NAME: MAPSCON C** C** C** C** PURPOSE C** ======= C** INCLUDE FILE BASELINE VERSION 11/13/92 P. MILLER C** PARAMETERS USED THROUGHOUT THE MAPS MODEL C** C** 3DVAR VERSION 12/5/00 T. L. SMITH C** C** C** C** VARIABLES C** ========= C** LABEL TYPE ................DESCRIPTION.................. C** ANAGRD_P I MAPS UPPER-AIR ANALYSIS GRID C** C** BOGSNMC_P I BOGUS OB BIT. C** BUOY_P I BUOY OBSERVATIONS C** C** CAPE_P I CONVECTIVE AVAILABLE POTENTIAL ENERGY C** CIN_P I CONVECTIVE INHIBITION C** CNSSBAD_P I CONSISTENCY CHECK SEZ BAD -- C** FOR USE WHEN DATUM PASSES CHECKS BUT C** CONSISTENCY WITH OTHER OBS IN THE VERTICAL C** WHICH HAVE BEEN FOUND BAD, DEEMS IT BAD. C** C** DX_P R GRID INTERVAL (M): X-DIRECTION C** DY_P R GRID INTERVAL (M): Y-DIRECTION C** C** ERROR_P I FATAL STATUS RETURN. C** C** FAILURE_P I UNSUCCESSFUL, BUT NOT FATAL, RETURN. C** C** GPS_P I GPS OBSERVATION C** C** HORZBAD_P I HORIZONTAL BAD OB BIT. C** HORZCHG_P I HORIZONTAL CHANGED OB BIT. C** HYDRBAD_P I HYDROSTATIC BAD OB BIT. C** HYDRCHG_P I HYDROSTATIC CHANGED OB BIT. C** H_P I HEIGHT C** C** INIGRD_P I NMC UPPER-AIR ANALYSIS/FORECAST GRID C** LIFTED INDEX AND PRECIPITATION (ONLY) C** I_POLE_P R X INDEX OF NORTH POLE (ND) C** C** J_POLE_P R Y INDEX OF NORTH POLE (ND) C** C** LAMBERT_P I LAMBERT CONFORMAL MAP PROJECTION C** LAT_LL_P R LAT OF LOWER-LEFT CORNER OF X-Y GRID (DEG) C** LAT_TAN_P R LATITUDE AT LAMBERT CONFORMAL PROJECTION C** IS TRUE (DEG) C** LAT_TRUE_P R LATITUDE AT WHICH X-Y SCALE IS TRUE (DEG) C** LAT_UR_P R LAT OF UPPER-RIGHT CORNER OF X-Y GRID (DEG) C** LHFLX_P I LATENT HEAT FLUX FROM SURFACE (W/M**2) C** LON_LL_P R LON OF LOWER-LEFT CORNER OF X-Y GRID (DEG) C** LON_UR_P R LON OF UPPER-RIGHT CORNER OF X-Y GRID (DEG) C** LON_XX_P R MERIDIAN ALIGNED WITH CARTESIAN X-AXIS(DEG) C** LPLTID_P I CHARACTER LENGTH OF PLATFORM ID (AIRCRAFT C** TAIL NO. C** LSTAID_P I CHARACTER LENGTH OF STATION IDENTIFIER C** LTG_P I LIGHTNING DATA C** LTIME_P I CHARACTER LENGTH OF THE TIME OF THE DATA C** C** MSLP_P I MAPS SLP C** MSTRBAD_P I MASTER BAD OB BIT. C** MSTRCHG_P I MASTER CHANGED OB BIT. C** MXST_P I MAXIMUM NUMBER OF STATIONS ALLOWED C** FOR ALL SOURCES COMBINED C** MXVR_P I MAXIMUM NUMBER OF VARIABLES POSSIBLE C** = SFC ARRANGEMENT C** MXVREX_P I NUMBER OF EXTRA 2-D VARIABLES NEEDED FOR OUTPUT C** MXVRS_P I MAXIMUM NUMBER OF VARIABLES POSSIBLE C** W/ SOIL VARIABLES C** MXVRSGCM_P I MAXIMUM NUMBER OF VARIABLES POSSIBLE C** W/ SOIL VARIABLES + SFC MORDS C** M_P I MONTGOMERY STREAM FUNCTION C** C** NOTFOUND_P I THE FILE WAS NOT FOUND = 6 C** NO_P I C** NSRC_P I MAXIMUM NUMBER OF SOURCES C** NSTA_P I MAXIMUM NUMBER OF STATIONS ALLOWED C** IN ONE SOURCE C** NTER_P I NUMBER OF HIGH-RESOLUTION TERRAIN POINTS C** WITHIN DX_P IN A SINGLE DIMENSION C** NVAR_P I NUMBER OF BASIC 3-d VARIABLES IN USE FOR C** UPPER-AIR SYSTEM C** NVAR3_P I NUMBER OF total 3-d VARIABLES IN USE FOR C** UPPER-AIR SYSTEM including cloud variables C** NVAREX_P I NUMBER OF EXTRA 3-D VARIABLES NEEDED FOR C** MOLTS output C** NVAREX2_P I NUMBER OF still more EXTRA 2-D VARIABLES C NEEDED for output C** NX_P I HORIZONTAL GRID DIMENSION: X-DIRECTION C** NY_P I HORIZONTAL GRID DIMENSION :Y-DIRECTION C** NX_n I HORIZONTAL GRID DIMENSION: X-DIRECTION C for NDFD grid C** NY_n I HORIZONTAL GRID DIMENSION :Y-DIRECTION C for NDFD grid C** NZP_P I VERTICAL GRID DIMENSION: PRESSURE SYSTEM C** NZP25_P I VERTICAL GRID DIMENSION: PRESSURE SYSTEM C** FOR 25-MB resolution, 1050-100 hPa C** NZTN_P I VERTICAL GRID DIMENSION: HYBRID SYSTEM C** NZS_P I VERTICAL GRID DIMENSION: SOIL LEVELS - model C** C** PC_P I CONDENSATION PRESSURE C** PIREPS_P I AIRCRAFT REPORT OBS C** POLAR_P I POLAR STEREOGRAPHIC MAP PROJECTION C** PREGRD_P I MAPS UPPER-AIR PREDICTION GRID C** PROFILER_P I PROFILER OBS C** PROJ_P I MAP PROJECTION C** PW_P I PRECIPITABLE WATER ANALYSIS VARIABLE (MM) C** PWOB_P I PRECIPITABLE WATER OBSERVATION (MM) C** P1000MB_P I C** P850MB_P I C** P700MB_P I C** P500MB_P I C** P400MB_P I C** P300MB_P I C** P250MB_P I C** P200MB_P I C** P150MB_P I C** P_P I PRESSURE C** C** QV_P I WATER VAPOR MIXING RATIO C** QC_P I CLOUD WATER MIXING RATIO C** QR_P I RAIN WATER MIXING RATIO C** QI_P I ICE MIXING RATIO C** QN_P I SNOW MIXING RATIO C** QG_P I GRAUPEL MIXING RATIO C** QNC_P I NUMBER CONCENTRATION FOR ICE PARTICLES C** C** RAOB_P I RAWINDSONDE OBS C** REJOBS_P I STATION HAD ALL ITS OBSERVATIONS REJECTED C** DURING INGEST C** RHSTAR_P R RH* = SQRT(1-RH) C** RH_P R RELATIVE HUMIDITY C** ROTCON_P R WIND ROTATION CONSTANT, = 1 FOR POLAR STEREO C** AND SIN(LAT_TAN_P) FOR LAMBERT CONFORMAL C** C** C** SAO_P I SURFACE AVIATION OBSERVATIONS C** SAT_P I Satellite OBSERVATIONS C** SFC_P I SURFACE OBSERVATIONS C** SHFLX_P I SENSIBLE HEAT FLUX AT SURFACE (W/M**2) C** SND_LEV_P I MAXIMUM NO. OF LEVELS IN A SOUNDING C** SPVAL_P R FLAG VALUE C** SUCCESS_P I SUCCESSFUL RETURN C** C** TG_P I GROUND TEMPERATURE (K) C** THETA_P I POTENTIAL TEMPERATURE C** THMAX_P R MAXIMUM THETA LEVEL USED IN SUB. ERRORS C** TROPP_P I TROPOPAUSE PRESSURE C** TROPTH_P I TROPOPAUSE THETA C** TROPU_P I TROPOPAUSE U-COMPONENT OF WIND C** TROPV_P I TROPOPAUSE V-COMPONENT OF WIND C** T_P I TEMPERATURE C** C** U_P I U COMPONENT OF THE WIND C** C** C** VAS_P I VAS OBSERVATIONS C** VAS_SND_LEV_P I C** VERTBAD_P I VERTICAL BAD OB BIT. C** VERTCHG_P I VERTICAL CHANGED OB BIT. C** VIS_P I C** V_P I V COMPONENT OF THE WIND C** VV_P I Vertical velocity C** C** X_MAX_P R MAXIMUM X-COORDINATE (M) C** X_MIN_P R MINIMUM X-COORDINATE (M) C** X_POLE_P R X-COORDINATE OF NORTH POLE (M) C** C** C** YES_P I C** Y_MAX_P R MAXIMUM Y-COORDINATE (M) C** Y_MIN_P R MINIMUM Y-COORDINATE (M) C** Y_POLE_P R Y-COORDINATE OF NORTH POLE (M) C** C*********************************************************************** C*********************************************************************** C*********************************************************************** C C DOMAIN AND GRID CONFIGURATION C C*********************************************************************** C -------------------------------------------------------------------- C ANALYSIS AND PREDICTION DOMAIN - CHOICE OF POLAR STEREOGRAPHIC OR C LAMBERT TANGENT MAP PROJECTION. C CONSTANTS DEFINING THE ANALYSIS AND PREDICTION DOMAIN AND THE C TRANSFORMATION OF COORDINATES BETWEEN SPHERICAL COORDINATES C (LON,LAT) AND CARTESIAN COORDINATES (X,Y). C -------------------------------------------------------------------- INTEGER NTER_P INTEGER NX_P INTEGER NY_P INTEGER NX_n INTEGER NY_n INTEGER NZP_P INTEGER NZP25_P INTEGER NZS_P INTEGER NZTN_P REAL DX_P REAL DY_P REAL I_POLE_P REAL J_POLE_P REAL LAMBERT_P REAL LAT_LL_P REAL LON_LL_P REAL LAT_UR_P REAL LON_UR_P REAL LAT_TAN_P REAL LAT_TRUE_P REAL LON_XX_P REAL POLAR_P REAL PROJ_P REAL ROTCON_P REAL X_MAX_P REAL X_MIN_P REAL Y_MAX_P REAL Y_MIN_P REAL X_POLE_P REAL Y_POLE_P PARAMETER ( NX_P = 451 ) PARAMETER ( NY_P = 337 ) PARAMETER ( NX_n = 1073 ) PARAMETER ( NY_n = 689 ) PARAMETER ( NZP_P = 8 ) PARAMETER ( NZP25_P = 37 ) PARAMETER ( NZS_P = 6 ) PARAMETER ( NZTN_P = 50 ) PARAMETER ( DX_P = 13545.087 ) PARAMETER ( DY_P = 13545.087 ) C PARAMETER ( NTER_P = INT(DX_P/10000.)) PARAMETER ( NTER_P = 4 ) PARAMETER ( I_POLE_P = 156.9014 ) PARAMETER ( J_POLE_P = 701.942 ) PARAMETER ( LAMBERT_P = 2 ) PARAMETER ( LAT_LL_P = 16.2810 ) PARAMETER ( LON_LL_P = -126.1378 ) PARAMETER ( LAT_UR_P = 55.4818 ) PARAMETER ( LON_UR_P = -57.3794 ) PARAMETER ( LAT_TAN_P = 25.0 ) PARAMETER ( LAT_TRUE_P = 35.0 ) C PARAMETER ( LON_XX_P = -15.0 ) PARAMETER ( LON_XX_P = -95.0 ) PARAMETER ( POLAR_P = 1 ) PARAMETER ( PROJ_P = LAMBERT_P ) PARAMETER ( ROTCON_P = 0.422618 ) C PARAMETER ( ROTCON_P = max(float(2-proj_p), C 1 0.422618) ) c PARAMETER ( ROTCON_P = 0.422618 c 1 **(FLOAT(PROJ_P-1)) ) C This expression gives 1 for polar stereo C and sin (lat_tan_p) for lambert. PARAMETER ( X_MAX_P = (NX_P-1)*DX_P ) PARAMETER ( X_MIN_P = 0.0 ) PARAMETER ( Y_MAX_P = (NY_P-1)*DY_P ) PARAMETER ( Y_MIN_P = 0.0 ) PARAMETER ( X_POLE_P = (I_POLE_P-1)*DX_P) PARAMETER ( Y_POLE_P = (J_POLE_P-1)*DY_P) C*********************************************************************** C C DATA TYPES C C*********************************************************************** INTEGER NSTA_P INTEGER MXST_P INTEGER NSRC_P INTEGER VAS_P INTEGER SAT_P INTEGER PROFILER_P INTEGER RAOB_P INTEGER PIREPS_P INTEGER SAO_P INTEGER SFC_P INTEGER BUOY_P INTEGER GPS_P INTEGER ANAGRD_P INTEGER PREGRD_P INTEGER INIGRD_P PARAMETER ( NSTA_P = 20000 ) PARAMETER ( MXST_P = 40000 ) PARAMETER ( NSRC_P = 25 ) PARAMETER ( VAS_P = 1 ) PARAMETER ( SAT_P = 1 ) PARAMETER ( PROFILER_P = 2 ) PARAMETER ( RAOB_P = 3 ) PARAMETER ( PIREPS_P = 4 ) PARAMETER ( SAO_P = 5 ) PARAMETER ( SFC_P = 5 ) PARAMETER ( BUOY_P = 16 ) PARAMETER ( GPS_P = 17 ) PARAMETER ( ANAGRD_P = 6 ) PARAMETER ( PREGRD_P = 7 ) PARAMETER ( INIGRD_P = 8 ) C*********************************************************************** C C ANALYSIS AND PREDICTION VARIABLES C C*********************************************************************** INTEGER MXVR_P INTEGER MXVREX_P INTEGER MXVRS_P INTEGER MXVRSGCM_P INTEGER NVAR_P INTEGER NVAREX_P INTEGER NVAREX2_P INTEGER NVAR3_P PARAMETER ( MXVR_P = 46 ) PARAMETER ( MXVREX_P = 26 ) PARAMETER ( MXVRS_P = 46 ) PARAMETER ( MXVRSGCM_P = 44 ) PARAMETER ( NVAR_P = 7 ) PARAMETER ( NVAREX_P = 5 ) PARAMETER ( NVAREX2_P = 5 ) PARAMETER ( NVAR3_P = 14 ) C -------------------------------------------------------------------- C UPPER-AIR HYBRID SYSTEM: ANALYZED VARIABLES C -------------------------------------------------------------------- INTEGER P_P INTEGER M_P INTEGER THETA_P INTEGER PC_P INTEGER QV_P INTEGER U_P INTEGER V_P INTEGER PWOB_P INTEGER QC_P INTEGER QR_P INTEGER QI_P INTEGER QN_P INTEGER QG_P INTEGER QNC_P INTEGER VV_P INTEGER TKE_P PARAMETER ( P_P = 1 ) PARAMETER ( M_P = 2 ) PARAMETER ( THETA_P = 3 ) PARAMETER ( PC_P = 4 ) PARAMETER ( QV_P = 4 ) PARAMETER ( U_P = 5 ) PARAMETER ( V_P = 6 ) PARAMETER ( PWOB_P = 7 ) PARAMETER ( VV_P = 7 ) PARAMETER ( QC_P = 8 ) PARAMETER ( QR_P = 9 ) PARAMETER ( QI_P = 10 ) PARAMETER ( QN_P = 11 ) PARAMETER ( QG_P = 12 ) PARAMETER ( QNC_P = 13 ) PARAMETER ( TKE_P = 14 ) C -------------------------------------------------------------------- C UPPER-AIR PRESSURE SYSTEM C -------------------------------------------------------------------- INTEGER H_P INTEGER T_P INTEGER RH_P INTEGER RHSTAR_P INTEGER MSLP_P PARAMETER ( H_P = 2 ) PARAMETER ( T_P = 3 ) PARAMETER ( RH_P = 4 ) PARAMETER ( RHSTAR_P = 4 ) PARAMETER ( MSLP_P = 1 ) C -------------------------------------------------------------------- C SURFACE FORECASTS (FROM UPPER-AIR SYSTEM) C -------------------------------------------------------------------- INTEGER TG_P INTEGER SHFLX_P INTEGER LHFLX_P INTEGER RADNET_P INTEGER PRECIN_P INTEGER SFCP_P INTEGER PRECNC_P INTEGER PRECC_P INTEGER PW_P INTEGER TROPP_P INTEGER TROPTH_P INTEGER TROPU_P INTEGER TROPV_P INTEGER CAPE_P INTEGER CIN_P INTEGER ST1_P INTEGER ST2_P INTEGER ST3_P INTEGER ST4_P INTEGER STB_P INTEGER SM_P INTEGER SM1_P INTEGER SM2_P INTEGER SM3_P INTEGER SM4_P INTEGER SMB_P INTEGER DIREVAP_P INTEGER CANEVAP_P INTEGER ETFLUX_P INTEGER CONDSFC_P INTEGER DRIP_P INTEGER NETSWSFC_P INTEGER SNOWACC_P INTEGER SNOWDEP_P INTEGER RUNOFFSFC_P INTEGER RUNOFFSUBSFC_P INTEGER CANWAT_P INTEGER SNOWT_P INTEGER SNWE_P INTEGER RHOSN_P INTEGER TINSN_P INTEGER QWVG_P PARAMETER ( TG_P = 2 ) PARAMETER ( SHFLX_P = 3 ) PARAMETER ( LHFLX_P = 4 ) PARAMETER ( RADNET_P = 5 ) PARAMETER ( PRECIN_P = 6 ) PARAMETER ( SFCP_P = 6 ) PARAMETER ( PRECNC_P = 7 ) PARAMETER ( PRECC_P = 8 ) PARAMETER ( PW_P = 9 ) PARAMETER ( TROPP_P = 10 ) PARAMETER ( TROPTH_P = 11 ) PARAMETER ( TROPU_P = 12 ) PARAMETER ( TROPV_P = 13 ) PARAMETER ( CAPE_P = 14 ) PARAMETER ( CIN_P = 15 ) PARAMETER ( ST1_P = 16 ) PARAMETER ( ST2_P = 17 ) PARAMETER ( ST3_P = 18 ) PARAMETER ( ST4_P = 19 ) PARAMETER ( STB_P = 20 ) PARAMETER ( SM_P = 21 ) PARAMETER ( SM1_P = 22 ) PARAMETER ( SM2_P = 23 ) PARAMETER ( SM3_P = 24 ) PARAMETER ( SM4_P = 25 ) PARAMETER ( SMB_P = 26 ) PARAMETER ( DIREVAP_P = 27 ) PARAMETER ( CANEVAP_P = 28 ) PARAMETER ( ETFLUX_P = 29 ) PARAMETER ( CONDSFC_P = 30 ) PARAMETER ( DRIP_P = 31 ) PARAMETER ( NETSWSFC_P = 32 ) PARAMETER ( SNOWACC_P = 33 ) PARAMETER ( SNOWDEP_P = 34 ) PARAMETER ( RUNOFFSFC_P = 35 ) PARAMETER ( RUNOFFSUBSFC_P = 36 ) PARAMETER ( CANWAT_P = 37 ) PARAMETER ( SNOWT_P = 38 ) PARAMETER ( TINSN_P = 39 ) PARAMETER ( QWVG_P = 40 ) PARAMETER ( SNWE_P = 41 ) PARAMETER ( RHOSN_P = 42 ) C -------------------------------------------------------------------- C UPPER-AIR PRESSURE SYSTEM LEVELS C -------------------------------------------------------------------- INTEGER P1000MB_P INTEGER P850MB_P INTEGER P700MB_P INTEGER P500MB_P INTEGER P400MB_P INTEGER P300MB_P INTEGER P250MB_P INTEGER P200MB_P INTEGER P150MB_P PARAMETER ( P1000MB_P = 1 ) PARAMETER ( P850MB_P = 1 ) PARAMETER ( P700MB_P = 2 ) PARAMETER ( P500MB_P = 3 ) PARAMETER ( P400MB_P = 4 ) PARAMETER ( P300MB_P = 5 ) PARAMETER ( P250MB_P = 6 ) PARAMETER ( P200MB_P = 7 ) PARAMETER ( P150MB_P = 8 ) C -------------------------------------------------------------------- C UPPER-AIR HYBRID SYSTEM LEVELS. C -------------------------------------------------------------------- INTEGER H224K_P PARAMETER ( H224K_P = 1 ) C*********************************************************************** C C RETURN STATUS VALUES C C*********************************************************************** INTEGER YES_P INTEGER NO_P INTEGER NULL_P REAL SPVAL_P INTEGER SUCCESS_P INTEGER FAILURE_P INTEGER ERROR_P INTEGER OPENED_P INTEGER CLOSED_P INTEGER NOTFOUND_P PARAMETER ( YES_P = 0 ) PARAMETER ( NO_P = 1 ) PARAMETER ( NULL_P = -1 ) PARAMETER ( SPVAL_P = 99999.0 ) PARAMETER ( SUCCESS_P = 0 ) PARAMETER ( FAILURE_P = 1 ) PARAMETER ( ERROR_P = 3 ) PARAMETER ( OPENED_P = 4 ) PARAMETER ( CLOSED_P = 5 ) PARAMETER ( NOTFOUND_P = 6 ) C*********************************************************************** C C INGEST VARIABLES C C*********************************************************************** C -------------------------------------------------------------------- C VALUES OF THE NUMERIC FLAG TO DESCRIBE THE OVERALL AVAILABILITY C OF THE OBSERVATIONS FROM A STATION THAT HAS BEEN PROCESSED BY C INGEST C -------------------------------------------------------------------- INTEGER GOODOBS_P INTEGER MISSOBS_P INTEGER REJOBS_P PARAMETER ( GOODOBS_P = 0 ) PARAMETER ( MISSOBS_P = -1 ) PARAMETER ( REJOBS_P = -2 ) C -------------------------------------------------------------------- C PARAMETERS USED IN OBSERVATION AND GRIDDED DATA INGEST C -------------------------------------------------------------------- INTEGER SND_LEV_P INTEGER VAS_SND_LEV_P PARAMETER ( SND_LEV_P = 208 ) PARAMETER ( VAS_SND_LEV_P = 41 ) C*********************************************************************** C C QUALITY CONTROL VARIABLES C C*********************************************************************** INTEGER MSTRBAD_P INTEGER MSTRCHG_P INTEGER HYDRBAD_P INTEGER HYDRCHG_P INTEGER VERTBAD_P INTEGER VERTCHG_P INTEGER HORZBAD_P INTEGER HORZCHG_P INTEGER BOGSNMC_P INTEGER CNSSBAD_P PARAMETER ( MSTRBAD_P = 1 ) PARAMETER ( MSTRCHG_P = 2 ) PARAMETER ( HYDRBAD_P = 3 ) PARAMETER ( HYDRCHG_P = 4 ) PARAMETER ( VERTBAD_P = 5 ) PARAMETER ( VERTCHG_P = 6 ) PARAMETER ( HORZBAD_P = 7 ) PARAMETER ( HORZCHG_P = 8 ) PARAMETER ( BOGSNMC_P = 12 ) PARAMETER ( CNSSBAD_P = 13 ) C*********************************************************************** C C DATABASE VARIABLES C C*********************************************************************** C -------------------------------------------------------------------- C THE VARIABLES BELOW ARE THE MAXIMUM ARRAY DIMENSIONS NEEDED IN C SOME COMMON BLOCKS. NVARMAX_P IS THE MAXIMUM NVAR_P USED IN ANY OF C THE DATABASE CONFIGURATIONS, NZMAX_P IS THE MAXIMUM NZ_P IN USE, C AND NVNZMAX_P IS THE LARGEST PRODUCT OF NVAR_P*NZ_P FOUND (NOTE: IS C NOT NECESSARILY THE PRODUCT OF NVARMAX_P*NZMAX_P) C -------------------------------------------------------------------- REAL THMAX_P PARAMETER ( THMAX_P = 500.0 ) C -------------------------------------------------------------------- C CHARACTER LENGTHS C -------------------------------------------------------------------- INTEGER LTIME_P INTEGER LSTAID_P INTEGER LPLTID_P PARAMETER ( LTIME_P = 9 ) PARAMETER ( LSTAID_P = 9 ) PARAMETER ( LPLTID_P = 9 )