C C COMMENT LIST FOR PMSDX, X_PMSDX, and VARIANTS AS OF THE DATE IN THE NEXT LINE. C LAST MOD <970818.1111> PROGRAM PMSDX C C ********************************************************************** C FTN7X CONVERSION ... NEW ICE HANDLING AND SUBROUTINE USAGE * C ********************************************************************** C C THIS PROGRAM PRINTS THE 2D IMAGES ON THE HP PRINTER, CALCULATES THE C CONCENTRATION ON DIFFERENT CLASSES OF PARTICALE AND LISTS THE C PROCESSED DATA FROM EACH PARTICAL. C ADD THE FOLLOWING SUBROUTINES OR USE PMSD(X-M).LOD FOR AUTOMATIC OR MANUAL C CLASSIFICATION, RESPECTIVELY. C 1. %TWOD,%CALCN,%ICE,%FALLV,%CV01,%HST (ALL ARE IN %PMSLB) C C*********************************************************************** C C PARAMETER INPUT FROM DATA FILE. C C SYMB FUNCTION DEFALT C 1 * LO * DATA OUTPUT FOR * 0 C * EACH IMAGE * C 2 * LL * N SEC. SUMS LO * 0 C 3 * LDB * IMAGE print out * 0 C 4 * MTU * MAG TAPE UNIT * 8 C C JPROBE ... 2D-C PROBE USED. 1 = 2D-C WITH DEPOLARIZER, 2D-P W/O SYNC. C (50 MICRON 2D-C) 2 = 2D-C W/O DEPOLARIZER, 2D-P W/O SYNC. C 3 = 2D-C WITH DEPOLARIZER, 2D-P + SYNC. C 4 = 2D-C + 2D-P WITH SYNC. (OR GREY PROBES) C 5 = 2D-C W/O DEPOLARIZER, 2D-P + SYNC. (OR GREY) C 6 = NOAA 25um 2D-C W/O DEPOLARIZER, 2D-P + W/O SYNC. C 7 = NCAR 25um 2D-C W/O DEPOLARIZER, 2D-P + W/O SYNC. C JPROBE < 0 ... WRITE 10 SEC ANALYSIS TO DISK FILE. C C IPFLAG ... ANALYSIS FLAG ... 0 = SUMMARY STATISTICS ONLY C 1 = SUMMARY STATISTICS + 2D-C IMAGES. C 2 = SUMMARY STATISTICS + 2D-P IMAGES. C 3 = SUMMARY STATISTICS + ALL 2-D IMAGES. C 4 = ALL POSSIBLE INFO ON OUTPUT, INCL. IMAGES. C 5 = ALL POSSIBLE INFO EXCEPT IMAGES. C C IFLAG5 .. PROBE ANALIZED .. 0 = ALL PROBES ANALIZED. C 1 = 2D-C, 2 = 2D-P, 3 = 2DG-C, 4 = 2DG-P. C FILENM .. RADAR SCATTERING CROSS SECTION FILE NAME. C DENS .... GRAUPEL DENSITY G/CM3 ... USUALLY 0.4 G/CM3. C ICE1 .... ICE DISCRIMINATION FLAG 1 ... USUALLY 14 C ICE2 .... ICE DISCRIMINATION FLAG 2 ... USUALLY 16 C AICE3 ... ICE DISCRIMINATION FLAG 3 ... USUALLY 1.10 C SPLSH ... SPLASH REJECT TOLERANCE ... = 1.10 FOR MIXED PHASE CLOUDS. C C AVTIM ... 2-D AVERAGING TIME MAX PERIOD 959.999 (9 MIN., 59 SEC, 999 MSEC.) C (FOR XPMSGP_v4x: hhmm.ss, for max of 12 hrs.) C MINPIX ... XPMSGP minimum acceptable pixel value. 1=red, 2=blue, 3=green. C C NAME .... 5.5 cm Radar attenuation file for water at 0, +10, & +18 C C NAM ..... Output file name for 2-D size spectra C C ***** SECOND AND SUBSEQUENT READS ***** C C STARTM ... START TIME (HHMMSS) C ENDTM ... END TIME (HHMMSS) C FIXBC ... SEE FLAGS. C TAS ... TRUE AIR SPEED (M S-1). TAS < 0, 2D CLOCK IS SLAVED TO TAS. C IWHAT ... SEE FLAGS. C PMB ... PRESSURE IN MILLIBARS C FIXBP ... SEE FLAGS. C NAME2 ... Measured radar reflectivity at aircraft (time series) for ZM/ZR, C ice density computations. C C ****** X-WINDOW Variables Not directly related to processing ****** C C im_structc(21) - X information for 2D-C window C im_structp(21) - X information for 2D-P window C x_window - Logical TRUE = Draw images in X-window C C **** SPECIAL PURPOSE/ELLIPSE FIT ARRAYS & VARIABLES **** C C /TESTS/ IYMX(250) C " THETAS(250) C " GFITS(250) C " ECCEN(250) C " EFITS(250) C " parts(250) - TOGA (NCAR) partial image spectra. C /ELLPSF/ counter(42) C X_mean(42) C Y_MEAN(42) C RMaj_AX(42) C RMin_AX(42) C ECCENT(42) C E_FIT(42) C THETA_D(42) C PROLATE(42) C OBLATE(42) C eccen_sq(42) C fit_sq(42) C theta_sq(42) C C **** Other File Names **** C C nam3 - UNUSED C nam4 - Output file for Dr. Art Jameson's individual drop parameters. C ioutp - TOGA NCAR format file on /hrd/dat/pmsdata/test2d.dat C namfil - Individual image ellipse fit parameter file. C ifile3 - Mean ellipse fit parameters as a function of diameter. C bigdf1 - Big Drop output file - similar in form to Art Jameson file. C C ***************************************************************** C C ORIGINAL TAPE FORMAT C C ***************************************************************** C C THE TWO-D FORMAT IS AS FOLLOWS: C WORD CONTENT C 1 MIN*100+SEC C 2 MSEC*10+8*0+4*B-OL+2*A-OL+B/A C 3-2050 2-D IMAGES AND TIME CODES C TIME CODES ARE RECOGNIZED BY AN ALL-1 WORD FOLLOWED BY A BINARY C TIME CODE FOLLOWED BY AN ALL-0 WORD. C************************************************************************ C C ARRAYS C LOCATION NAME(DIMENSIONS) C C /DCOM/ acor(250) - TOGA P.T. Willis correction factor for "lost" 1'st slice. C /HISTO/ AICE(32) - ICE PARTICLES (N L-1) DIAMETERS 1-32. C MAIN allw(32) - TOGA sum center-in + center out accepted counts/channel. C /HISTO/ ANEDL(32) - NEEDLE CONCENTRATIONS (N L-1) EQUIV. CIRCLE DIAM 1-32. C " CITOT(32) - ICE PARTICLE SIZES, CH 1-32, N-SECOND SUM (N L-1) C " CWTOT(32) - WATER PARTICE DIAM., CH 1-32, N-SEC. SUM (N L-1) C " GRAUP(32) - GRAUPEL CONCENTRATIONS SIZE 1-32, (N L-1).N L-1) C /CCOM/ DDSTDP(250) - # CLOCK PULSES BETWEEN EACH PARTICLE. C " DTMPDP(250) - TIMES (SEC) BETWEEN PARTICLES. C /DCOM/ IAREA(250) - PARTICLE AREAS (# OF 'ON' BITS IN IMAGE) C COMMON IBUF(2050) - SEE TWOD RETURNS. C /DCOM/ ICLASS(250) - CLASS VALUES FOR ALL PARTICLES IN RECORD. C " IDPOL(250) - PARTICLE DEPOLARIZATION LEVELS. C " ILEDGE(250) - # TIMES PARTICLE INTERSECTED DIODE 1 C " INGAP(250) - GAP FLAGS (Y LINE ALL-1) FOR PARTICLES. C COMMON IPART(2,50) - SEE TWOD RETURNS (NOT USED 810101) C " IPMS(250) - ACCEPTED PARTICLE PERIMITERS. C MAIN isbuf(40) - Slow (FSSP) data buffer from SEA data system. C MAIN ITMB(15) - CONTAINS SYSTEM TIME OF PROGRAM RUN. C /DCOM/ IXSIZE(250) - MAXIMUM PARTICLE X-DIMENSIONS (# DIODES) C " IYSIZE(250) - " " Y " " C " LIWD(250) - PARTICLE LOCATIONS (WORD INDICES) WITHIN IBUF. C MAIN LOCK(3) - LU #S TO BE LOCKED BY PMSDX. C MAIN JBUF(500) - DOUBLE WORD BUFFER FOR PARTICLE PRINT-OUT. C /MASK2/ MASK(32) - BIT MASKS. C MAIN NAM(10) - PMSDX DATA OUTPUT FILE NAME (TYPE 2 DIRECT ACCESS) C " NAME(5) - RADAR BACKSCATTER X-SECTIONS FILE NAME. C " ncbuf(1029) - Input buffer for NCAR N308D 2-D data. C /HISTO/ PITOT(32) - 2D-P ICE PARTICLE CONCENTRATIONS (N L-1), CH 1-32. C MAIN QT(15) - RADAR SCATTERING CROSS SECTIONS. C " RBUF(32) - STORAGE FOR SHORT DATA INFO PRIOR TO FILE WRITE. C " SA_2DC(32) - Factors to account for 25-um probe variable DOF. C /SPLN/ S2(168) - SPLINE COEFFICIENTS FOR SUB. CURV1. C /CCOM/ TIMEDP(250) - PARTICLE TIMES FROM 2D RECORD (HHMMSS.MSEC) C MAIN UNIT(2) - PROBE RESOLUTIONS (2D-C,2D-P) (METERS) C /HISTO/ WAT(32) - WATER CONCENTRATIONS (N L-1) CH 1-32. C MAIN XR(15) - PARTICLE DIAMETERS USED TO GENERATE QT SPLINE FIT. C /DCOM/ zeros(250) - TOGA Counts/channel zero-area images. C C ********************************************************************** C C FLAGS: ALL FLAGS ARE INITALIZED TO 0. C 1. ISTART=1 > AT LEAST ONE SLOW RECORD HAS BEEN READ WHICH C CONTAINS THE DATE, HOURS & TAS WHICH ARE NOT SUPPLIED BY THE C 2D RECORDS. C 2. IFLAG1=1 > LAST PART OF 2D RECORD IS INCOMPLETE C AND THE REMAINING IMMAGE DATA IS CONTAINED C IN THE FOLLOWING RECORD. C 3. IFLAG2=1 > TIME BARS ARE BAD ... USE O/L % (SET W/AVTIM < 0). C 4. IFLAG3=0 > RESET VARIABLES IN N-SECOND AVERAGE CALCULATIONS. C 5. IFLAG4=1 > THAT THE 10 SEC DATA BE WRITTEN TO DISK. C 5. IFLAG5=1 > PROCESS 2D-C: =2, 2D-P: le 0, BOTH PROBES. C 6. IFLAG6=1 > PRINT N-SECOND AVERAGES, =0, DO NOT. C 7. IFLAG7 - unused C 8. IFLAG8 " C 9. IFLAG9 " C 10. FIXB - PROCESS FLAG. FIXB > 0, FIX STUCK BIT ON 2D-C or 2D-P. C FIXBC/P > 0, fix gap, < 0, fix solid line. C 11. ISLOW - SLOW DATA RECORD FLAG. ISLOW=0, IS SHORT RECORD. C 12. IFLAGSD - Averaging interval ended with a slow data record. C 13. ITAS - TAS FLAG. ITAS=1, 2D CLOCK IS SLAVED TO TRUE AIR SPEED. C 14. IWHAT - WHAT ARE THEY? -1=DON'T KNOW, 0=WATER, 1=ICE C C COUNTERS: C 1. NLOOP, COUNTS THE # OF PARTICALS THAT HAVE BEEN READ FROM C THE 2D RECORD AND IS SET TO 250 MAXIMUM. C 2. NTOTAL, IS THE TOTAL NUMBER OF PARTICALS IN THE RECORD. C 3. IC2D = # OF 2-D RECORDS BETWEEN SHORT RECORDS. C 4. IPHREC - COUNTS TAPE RECORDS THAT'VE BEEN READ. C 5. NDEPOL - COUNTS # OF PARTICLES WITH DEPOLARIZER SIGNAL. C 6. NICE - COUNTS # OF ICE PARTICLES IN IMAGE RECORD. C 7. NSTREK - COUNTS TOTAL # STREAKERS IN IMAGE RECORD. C 8. NTOTAL - ORIGINAL # PARTICLES (TIME BARS) ... NTOTAL - NLOOP C = # UNPROCESSED IMAGES IN CURRENT RECORD. C 9. NWAT - NUMBER OF WATER PARTICLES IN IMAGE RECORD. C C *** OTHER PARAMETERS ************************************************* C C *** FROM TWOD *** C COMMON: IBUF - INPUT BUFFER (DIMENSION 2050). C NWD - NUMBER OF WORDS IN THE RECORD. C IWD - CURRENT LOCATION IN 'IBUF'. C IYR - YEAR, SET ONLY BY 'SDATA'. C IMO - MONTH " C IDY - DAY " C IHR - HOUR " C IMIN - MINUTE, SET BY 'SDATA', RESET BY 'TWOD'. C ISEC - SECOND " C MSEC - MILISECOND, SET ONLY BY 'TWOD'. C .........2D DATA RETURNS: C IPROBE - PROBE INDICATOR - 1 = 2D-C, 2 = 2D-P. C IAOVLD - PROBE A OVERLOAD FLAG. C IBOVLD - PROBE B OVERLOAD FLAG. C IX - MAXIMUM VERTICAL DIMENSION OF IMAGE. C IY - MAXIMUM HORZONTAL DIMENSION OF IMAGE. C IA - AREA (NUMBER OF 'ON' BITS) OF IMAGE. C IEDGE - NUMBER OF TIMES IMAGE INTERSECTED THE LEFT EDGE. C JEDGE - NUMBER OF TIMES IMAGE INTERSECTED THE RIGHT EDGE. C NGAP - NUMBER OF GAPS ('FALSE TIME BARS') IN IMAGE. C ITMWRD - UNCONVERTED TIMER WORD (DIMENSION 2). C IDEPOL - ONE'S COMPLEMENT OF 2D DEPOLARIZATION. C IERR - ERROR FLAG 0 - NORMAL RETURN. C -1 - IMAGE CONTINUES IN NEXT RECORD. C IPART(100) - CURRENT PARTICLE IMAGE. C C OTHER VARIABLES IN PMSDX. C C A2D32 - 2D-A PROBE DIODE 32 VOLTAGE (VOLTS) C A2DV1 - 2D-A PROBE DIODE 1 VOLTAGE (VOLTS) C AADBP - THE INITIAL AVERAGE DISTANCE BETWEEN PARTICALS. C ACCNPF - THE INITIAL ACCEPTED # OF PARTICALS IN A RECORD. C ACCNPS - C AICE3 - SEE INPUT PARAMETERS. C ALASTM - EXACT TIME OF LAST PARTICLE ON LAST RECORD OF N-SEC. SUM. C AQT - RADAR BACKSCATTER POWER FROM 1 PARTICLE (CM**2) C ATEMP - A PROBE MIRROR TEMPERATURE (DEG. C) C ATTEN - INTEGRATED RADAR 2-WAY ATTENUATION (DBZ KM-1 PER RECORD) C ATTENI - RADAR ATTENUATION DUE TO ICE PARTICLES (DBZ KM-1) C ATTENJ - RADAR ATTENUATION DUE TO 1 PARTICLE (IN CALCN) C ATTENT - N TH SECOND SUM OF ATTEN. (DBZ KM-1) C ATTENW - RADAR ATTENUATION DUE TO WATER PARTICLE. (DBZ KM-1) C AVTIM - SEE INPUT PARAMETERS. C AXR - PARTICLE DIAMETER (CM) IN CALL TO CALCN. C B2D32 - 2D-B PROBE DIODE 32 VOLTAGE (VOLTS) C B2DV1 - 2D-B PROBE DIODE 1 VOLTAGE (VOLTS) C BTEMP - 2D-B PROBE MIRROR TEMPERATURE (DEG. C) C C2DC - 2D-C COUNT (# OF TIME BARS) C C2DOL - 2D-C OVER-LOAD PERCENTAGE. C C2DP - 2D-P COUNT (# OF TIME BARS) C CLCK - 2-D CLOCK, % OF MASTER RATE. (MASTER RATE = 4.0 MHZ) C CONCDP - PARTICLES WITH DEPOLARIZATION > 2 (N L-1 PER RECORD) C CONCI - ICE PARTICLES (N L-1 PER RECORD) C CONCW - WATER PARTICLES (N L-1 PER RECORD) C DATE - RECORD DATE (YYMMDD) C DBZ - RADAR REFLECTIVITY SUM PER REC. (10LOG10(MM**6 HR-1)) C DBZI - SUM PER RECORD, RADAR REFLECTIVITY DUE TO ICE. C DBZP - N SEC. SUM, 2D-P RADAR REFLECTIVITY (10LOG10(MM**6 HR-1)) C DBZC - N SEC. SUM, 2D-C RADAR REFLECTIVITY (10LOG10(MM**6 HR-1)) C DBZW - RADAR REFLECTIVITY PER RECORD DUE TO WATER. C DBZW1 - PLACE HOLDER FOR DBZ IN CALL TO CALCN. C DELD - # CLOCK PULSES IN THE SAMPLE TIME INTERVAL = DISTANCE C PROBE MOVED IN 25, 50, OR 200 MICRON STEPS, DEPENDING C ON THE PROBE IN QUESTION. (RAW DATA) C DELDF - SAME AS DELD, BUT AFTER SUBTRACTING OUT BAD TIME BARS. C DENS - SEE INPUT PARAMETERS. C DLTA - CLOCK % -(NEEDED CLOCK %) ... FOR TAS CORRECION WHEN C 2D CLOCKING IS NOT SLAVED TO TAS. C DSTMIN - MINIMUM ACCEPTABLE DISTANCE BETWEEN PARTICLES SUCH THAT C 95% OF PROBABLE PARTICLES ARE ACCEPTED. IE 0.0513=-LN(0.95) C ELT - ELAPSED TIME FOR THE RECORD. (SEC) C ENDTM - END TIME ... SEE INPUT PARAMETERS. C FIRSTM - EXACT TIME OF OCCURRENCE OF FIRST IMAGE. (MMSS.MSEC) C I10S - FLAG CONTROLLING N-SECOND AVERAGES. I10S=0, PRINT AVERAGES, C I10S=1, ADD RECORD OUTPUT TO N-SECOND SUMS. C IBUFL - INPUT BUFFER LENGTH = 2050 INTEGER WORDS. C ICE1 - SEE INPUT LIST. C ICE2 - DITTO C ICET - ICE TEST RETURN FROM ICE ... =0, IS WATER; =1, IS ICE C ICNWD - DRIVER CONTROL WORD FOR TAPES = 2100B+LU OF TAPE DRIVE. C ICOD - LOCATION FLAG FOR ALL DISK I/O STATEMENTS. C IDCB - SCRATCH BUFFER FOR DISK I/O ... LENGTH 144 WORDS. C IDENT - IDENTITY FLAG (USED FOR SHORT DATA ONLY IN SDATA LIST) C IERS - FILE I/O ERROR CODE STORAGE. C IIHR - HOURS CALCULATED FROM ELAPSED TIME BETWEEN PARTICLES. C IMBIT - 800 MILLISEC BIT (BIT 16) SAVER. SIGN BIT ON, IMBIT=1 C IPFLAG - SEE INPUT PARAMETER LIST. C ISTAT - TAPE I/O STATUS WORD. 1= GOOD READ/WRITE C IRNGE - FSSP RANGE. (NOT USED IN PMSDX) C IWC - INTEGRATED ICE WATER CONTENT OF A RECORD (G M-3) C IWCT - TOTAL ICE WATER CONTENT, N-SECOND SUM (G M-3) C IWCTC - 2D-C TTL IWC, N-SECOND SUM (G M-3) C IWCTP - DITTO FOR 2D-P. C JPROBE - SEE INPUT PARAMETER LIST C LWC - INTEGRATED LIQUID WATER CONTENT IN RECORD (G M-3) C LWC1 - LWC PLACEHOLDER IN CALCN. C LWCT - TOTAL LWC OF N-SECOND SUM (G M-3) C LWCTC - CONTRIBUTION OF 2D-C TO LWCT (G M-3) C LWCTP - DITTO FOR 2D-P. C MMSEC - MILLISECONDS FROM SHORT DATA RECORD. C MODE - CONTROL VARIABLE FOR TAPE READ ... 1=READ, 2=WRITE. C P2DOL - 2D-P OVERLOAD % FROM SHORT DATA RECORD. C PI - 3.1415926 C PWTOT - DITTO FOR 2D-P WATER PARTICLES. C RD - EQUIVALENT CIRCLE RADIUS OF ACCEPTED PARTICLE. (CM) C RD1 - EQUIVALENT CIRCLE RADIUS FROM 'ICE' ... (# DIODE UNITS) C RHO - DENSITY OF WATER (G CM-3) C RR - TOTAL RAIN RATE FOR CURRENT RECORD (MM HR-1) C RRI - RAIN RATE CONTRIBUTION FROM ICE PARTICLES (MM HR-1) C RRTC - N-SEC. SUM TOTAL RAIN RATE OF 2D-C. (MM HR-1) C RRTP - DITTO FOR 2D-P. C RRW1 - RAIN RATE CONTRIBUTION OF SINGLE PARTICLE (CALCN RETURN) C SIGMAP - SPLINE WIEGHT COEFICIENT FOR SUBROUTINE CURV1. C SPLSH - SEE INPUT PARAMETERS. C SSEC - SECONDS AS MASKED FROM 2D IMAGE TIME BAR. C STARTM - SEE INPUT PARAMETERS. C SV10P - 2D-P N SEC. SUM SAMPLE VOL. (M**3) FOR RADAR CALCULATIONS. C SVOL - RECORD SAMPLE VOLUME (L) C SVOLCC - RECORD SAMPLE VOLUME (CM) C SVOLM3 - RECORD SAMPLE VOLUME (M) C T2DA - 2D-A PROBE TOTAL COUNT (# TIME BARS, INCL. O/L PERIODS) C T2DB - DITTO FOR 2D-B. C TEMP - TEMPORARY STORAGE FOR INTERMEDIATE TIME CALCULATIONS. C TIME - TIME COMPUTED FROM 2-D + SHORT DATA RECORDS. (HHMMSS) C TIMEFR - EXACT TIME 2-D RECORD WAS WRITTEN ON TAPE. (HHMMSS.MSEC) C TMSVA - 2D-A N SEC. ELAPSED TIME FROM TIME BARS (SECONDS) C TMSVB - DITTO FOR 2D-B. C TOTC - 2D-C INTEGRATED sample volume (N SEC. SUM) C TOTP - DITTO FOR 2D-P C TW - TOTAL # CLOCK PULSES BETWEEN PARTICLES (VALUE OF TIME BAR) C TWC - TOTAL WATER CONTENT (LIQUID EQUIV.) OF RECORD. (G M-3) C YMD - DATE (YYMM) BEFORE DE-BLOCKING FROM SHORT DATA. C C ********************************************************************** C C xpmsgp_v41 2D-Grey probe alterations C C PROBE ID 3=2DG-C, 4=2DG-P C C LOGICAL READS (Follow the first start/stop group) C C GREY - New Style data if true, otherwise old PMS-DAS data - C superfluous in v4x of the program C FLIP - If true, swap words of image - Required of all DAT's recorded C with SEA system after the byte swap to correct the image. C DAT_do - If true, swap bytes from Intel to HP format - Required of all C DAT's recorded with SEA system. C COMB - Fixes a problem that occurred 1992-3 where every other C high-order word was missing from the image C JUAN - Print expanded headers (for de-bugging purposes) C PRINT - ASCII print of image (for de-bugging purposes) C ECC_OUT - Save ellipse fit parameters from each image to a file C MEAN_OUT - Save mean ellipse fit parameters (as a function of size) C C (Additional start/stop time lines follow these) C C EXCLUSIVE 2D-GREY ARRAYS C C INBUF(20000) - INTEGER*2 array - receives the raw 2D-Grey data C buffer from TapeRead C ISBUF(40) - Synchronous (FSSP) data buffer C SINE(360) - Storage for sine(theta) values C COSINE(360) - Storage for cosine(theta) values C igout(64,LENG) - "Fixed" image C igrey(64,LENG) - raw 2D-Grey image C kmin, kmid, kmax - diode count for each image at the given shadow depth. C C Other information provided by the Grey probe C C tim_res - Grey probe time resolution (changeable) C NUMPART - number of distinct images detected between recorded images