/************************************************************/ /* */ /* This program reads the TARFOX uwc131a_amb data file. */ /* */ /************************************************************/ #include #include #include FILE *fp; FILE *tp; char buf1[80]; char buf2[512]; char buf3[512]; char buf4[512]; char buf5[512]; char buf6[512]; char buf7[512]; char line1[512]; char line2[512]; char line3[512]; char line4[512]; char line5[512]; char line6[512]; char line7[512]; char line8[512]; char line9[512]; char line10[512]; char line11[512]; char line12[512]; char line13[512]; char line14[512]; char line15[512]; char line16[512]; char buf9[512]; char buf10[512]; char l1[512]; char l2[512]; char l3[512]; char l4[512]; char l5[512]; char l6[512]; char l7[512]; char l8[512]; char l9[512]; char l10[512]; char l11[512]; char l12[512]; char l13[512]; char l14[512]; char l15[512]; char l16[512]; char l17[512]; char buf12[512]; char *scom_line[100]; char buf13[512]; char *ncom_line[100]; char buf14[512]; char outfile[30]; int nlhead; int ffi; int ivol; int nvol; int dx; int npv; int nauxv; int nscoml; int ncoml; int y1; int y2; int m1; int m2; int d1; int d2; int time[6000]; int iv[20000]; int auxv[20000][13]; int pv[20000][13]; int store1[20000]; int store2[20000][14]; int store3[20000][13]; int x,y; int select[13]; int num; int num_recs; int num_sel; int i,j,k,n; char data_file[30]; char out_file[30]; char instring[80]; char *currentpos, *lastpos; int ans; float pv_scales[13]; char pv_parms[14][180]; char auxv_parms[14][180]; void get_file(); void read_file(); void print_file(); void custom_menu(); void set_pv_parms(); void set_auxv_parms(); void print_pv(); void print_auxv(); void get_file() { printf("Please enter name of data file: "); scanf("%s",data_file); printf("%s\n",data_file); fp=fopen(data_file,"r"); strcat(data_file,".rpt"); strcpy(out_file,data_file); printf("%s %s\n","Name of report file: ",out_file); tp=fopen(out_file,"w"); } void set_pv_parms() { strcpy(pv_parms[0],"PRIMARY VARIABLES:"); strcpy(pv_parms[1],"1. CLOUD DROPLET CONCENTRATION (PMS FSSP-100X (DROPLETS 2-47 MICRONS [number per cubic centimeter]"); strcpy(pv_parms[2],"2. CLOUD DROPLET CONCENTRATION (PMS OAP-200X (DROPLETS 20-320)) [number per liter]"); strcpy(pv_parms[3],"3. LIQUID WATER CONTENT (PMS FSSP-100X (DROPLETS 2-47 MICRONS)) [grams per cubic meter]"); strcpy(pv_parms[4],"4. LIQUID WATER CONTENT (PVM-100A) [grams per cubic meter]"); strcpy(pv_parms[5],"5. LIQUID WATER CONTENT (KING) [grams per cubic meter]"); strcpy(pv_parms[6],"6. FFECTIVE RADIUS (FSSP/OAP) [microns]"); strcpy(pv_parms[7],"7. EFFECTIVE RADIUS (PVM) [microns]"); strcpy(pv_parms[8],"8. CONDENSATION NUCLEI [GE CNC I (PARTICLES > 0.01 MICRONS)) number per cubic centimeter]"); strcpy(pv_parms[9],"9. CONDENSATION NUCLEI [TSI MODEL 3760 CNC III (PARTICLES > 0.003 MICRONS)) [number per cubic centimeter]"); strcpy(pv_parms[10],"10. PARTICLE CONCENTRATION (PCASP-100X (PARTICLES 0.1-3.0 MICRONS)) [number per cubic centimeter]"); strcpy(pv_parms[11],"11. DRY LIGHT SCATTERING AT 540 NM (MRI MODEL 1567 (IN-HOUSE MODIFIED INTEGRATING NEPHELOMETER) [per meter pathlength]"); strcpy(pv_parms[12],"12. AMBIENT HUMIDITY LIGHT SCATTERING AT 537 NM (IN-HOUSE INTEGRATING 537 NM (IN-HOUSE INTEGRATING))"); strcpy(pv_parms[13],"13. OZONE CONCENTRATION (MONITOR LABS MODEL 8410A ETHYLENE CHEMI-LUMINESCENCE) [ppbv]"); } void print_pv() { int m; m=0; set_pv_parms(); for (m=0;m<14;m++) { printf("%s\n",pv_parms[m]); } } void set_auxv_parms() { strcpy(auxv_parms[0],"AUXILIARY VARIABLES: "); strcpy(auxv_parms[1],"1. TIME IN HHMMSS FORMAT [UTC]"); strcpy(auxv_parms[2],"2. RADAR ALITIUDE (AN/APN22) [meters above terrain]"); strcpy(auxv_parms[3],"3. GPS LATITUDE (TRIMBLE TNL-3000) [decimal degrees]"); strcpy(auxv_parms[4],"4. GPS LONGITUDE (TRIMPLE TNL-3000) [decimal degrees]"); strcpy(auxv_parms[5],"5. STATIC PRESSURE (ROSEMOUNT MODEL 830BA VARIABLE CAPACITANCE) [millibars]"); strcpy(auxv_parms[6],"6. STATIC TEMPERATURE (ROSEMOUNT MODEL 102CY2CG PLATINUM WIRE RESISTANCE) [degrees C]"); strcpy(auxv_parms[7],"7. DEWPOINT/FROSTPOINT (CAMBRIDGE SYSTEMS MODEL TH73-244 CHILLED-MIRROR) [degrees C]"); strcpy(auxv_parms[8],"8. UV RADIATION FROM ABOVE (EPPLEY LAB. INC. MODEL 14042 PHOTO-CELL (295-390 NANOMETERS)) [watts per square meter]"); strcpy(auxv_parms[9],"9. UV RADIATION FROM BELOW (EPPLEY LAB. INC. MODEL 14042 PHOTO-CELL(295-390 NANOMETERS)) [watts per square meter]))"); strcpy(auxv_parms[10],"10. VISIBLE RADIATION FROM ABOVE (EPPLEY LAB. INC. MODEL PSP THERMOPILE(0.3-3.0 MICRONS)) [watts per square meter]"); strcpy(auxv_parms[11],"11. VISIBLE RADIATION FROM BELOW (EPPLEY LAB. INC. MODEL PSP THERMOPILE(0.3-3.0 MICRONS)) [watts per square meter]"); strcpy(auxv_parms[12],"12. TRUE AIRSPEED (ROSEMOUNT MODEL 831BA VARIABLE CAPACITANCE) [meters per second]"); strcpy(auxv_parms[13],"13. TRUE HEADING [degrees clockwise from true North]"); } void print_auxv() { int m; m=0; set_auxv_parms(); for (m=0;m<14;m++) { printf("%s\n",auxv_parms[m]); } printf("\n"); } void read_file() { int i; printf("Reading file...\n"); fscanf(fp,"%d",&nlhead); fscanf(fp,"%d\n",&ffi); fgets(buf1,80,fp); fgets(buf2,80,fp); fgets(buf3,80,fp); fgets(buf4,80,fp); fscanf(fp,"%d",&ivol); fscanf(fp,"%d",&nvol); fscanf(fp,"%d",&y1); fscanf(fp,"%d",&m1); fscanf(fp,"%d",&d1); fscanf(fp,"%d",&y2); fscanf(fp,"%d",&m2); fscanf(fp,"%d\n",&d2); fscanf(fp,"%d\n",&dx); fgets(buf5,100,fp); fscanf(fp,"%d\n",&npv); fgets(buf6,100,fp); fgets(buf7,100,fp); fgets(line1,100,fp); fgets(line2,100,fp); fgets(line3,100,fp); fgets(line4,100,fp); fgets(line5,100,fp); fgets(line6,100,fp); fgets(line7,100,fp); fgets(line8,100,fp); fgets(line9,100,fp); fgets(line10,100,fp); fgets(line11,100,fp); fgets(line12,100,fp); fgets(line13,100,fp); fgets(line14,100,fp); fgets(line15,100,fp); fgets(line16,100,fp); fscanf(fp,"%d\n",&nauxv); fgets(buf9,100,fp); fgets(buf10,100,fp); fgets(l1,100,fp); fgets(l2,100,fp); fgets(l3,100,fp); fgets(l4,100,fp); fgets(l5,100,fp); fgets(l6,100,fp); fgets(l7,100,fp); fgets(l8,100,fp); fgets(l9,100,fp); fgets(l10,100,fp); fgets(l11,100,fp); fgets(l12,100,fp); fgets(l13,100,fp); fgets(l14,100,fp); fgets(l15,100,fp); fgets(l16,100,fp); fgets(l17,100,fp); fscanf(fp,"%d\n",&nscoml); /* printf("%d\n",nscoml); */ if (nscoml > 0) { for (i=0;i 0) { for (i=0;i 0) { fprintf(tp,"%s\n\n","Array of special comment lines:"); for (i=0;i 0) { fprintf(tp,"%s\n\n","Array of normal comment lines:"); for (i=0;i