#include #include #include #include /*************************************************/ void initilize_arrays(); void daily_menu(); void monthly_menu(); void get_sta_daily_names(); void get_target_daily_names(); void get_zonal_daily_name(); void get_zonal_angular_bin_name(); void get_sta_monthly_name(); void get_ta_monthly_name(); /***************************************************/ void main() { void menu_options(); void count_records(); void print_records(); char filename[256]; char file_out[256]; char parm_name[60][256]; char target_name[60][256]; char zonal_daily_name[60][256]; char zonal_angular_bin_name[60][256]; char sta_monthly_name[60][256]; char ta_monthly_name[60][256]; FILE *fp; FILE *fpo; struct mcle { unsigned short time_scale; unsigned short data_type; unsigned short parameter_name; unsigned short sta_number; unsigned short scale_factor; unsigned short cal_day_of_mon; unsigned short month; short year; short ta_data[2070]; } mcle; char ans[10]; /*************************************************************/ int daily_sel[33]; int nr=0; int process=0; int i; int k; int beg=0; int count=0; int ilast=0; int start=0; int dump=0; int daily_sta; int daily_ta; int daily_zone_angular; int daily_zone; int monthly_ta; int monthly_sta; int read_size; int num_daily=0; int size=4156; int done=0; /*************************************************************/ (void) initilize_arrays(&parm_name[0][0],&target_name[0][0],&zonal_daily_name[0][0] ,&zonal_angular_bin_name[0][0],&sta_monthly_name[0][0] ,&ta_monthly_name[0][0]); printf("\nPlease enter the name of the INPUT file you wish to read: \n"); scanf("%s",filename); printf("%s\n",filename); fp = fopen(filename,"r"); if (fp == NULL) { printf("ERROR - Unable to open file\n"); exit(0); } /* **************************************************************** */ while(!done) { printf("Please enter the name of the OUTPUT file you wish to write OUTPUT to : \n"); scanf("%s",file_out); fpo = fopen(file_out, "r"); if (fpo != NULL) { printf("***************************************************************************\n"); printf("* WARNING: This fillename exist --> %s\n",file_out); printf("* Do you wish to overwrite it? 'y' yes 'n' no *\n"); printf("***************************************************************************\n"); scanf("%s",&ans); if(tolower(ans[0]) == 'y') { fpo = fopen(file_out, "w"); break; } continue; } fpo = fopen(file_out,"w"); break; } /* Now begin processing. /******************************************************************/ if ((nr=strncmp(filename+5,"D",1))==0) { process=1; } else if((nr=strncmp(filename+5,"M",1))==0) { process=2; } /*****************************************************************/ (void) menu_options(&process,&daily_sta,&daily_ta ,&daily_zone,&daily_zone_angular,&dump ,&monthly_sta,&monthly_ta ,&num_daily,&daily_sel[0],&parm_name[0][0],&target_name[0][0] ,&zonal_daily_name[0][0],&zonal_angular_bin_name[0][0] ,&sta_monthly_name[0][0],&ta_monthly_name[0][0],&filename[0]); /***********************************************************************************/ if (dump != 0) { (void) count_records(fp,fpo); } if( daily_zone_angular == 1) { while(1) { fseek(fp,start,0); read_size = fread((char *)&mcle,1,4156,fp); start=start+4156; if (read_size != size) { if(read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } for(i=0;i<=num_daily;i++) { if ((mcle.data_type == 14) && (mcle.parameter_name == daily_sel[i])) (void) print_records(fp,fpo,&mcle.time_scale,&mcle.data_type,&mcle.parameter_name, &mcle.sta_number,&mcle.scale_factor,&mcle.cal_day_of_mon, &mcle.month,&mcle.year,&mcle.ta_data[0]); } }/*End of while */ }/*End of if daily_zone_angular */ if( daily_zone == 1) { while(1) { fseek(fp,start,0); read_size = fread((char *)&mcle,1,4156,fp); start=start+4156; if (read_size != size) { if(read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } for(i=0;i<=num_daily;i++) { if ((mcle.data_type == 13) && (mcle.parameter_name == daily_sel[i])) (void) print_records(fp,fpo,&mcle.time_scale,&mcle.data_type,&mcle.parameter_name, &mcle.sta_number,&mcle.scale_factor,&mcle.cal_day_of_mon, &mcle.month,&mcle.year,&mcle.ta_data[0]); } }/*End of while */ }/*End of if daily_zone */ if (daily_sta == 1 ) { while(1) { fseek(fp,start,0); read_size = fread((char *)&mcle,1,4156,fp); start=start+4156; if (read_size != size) { if (read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } for(i=0;i<=num_daily;i++) { if ((mcle.data_type == 11) && (mcle.parameter_name == daily_sel[i])) { (void) print_records(fp,fpo,&mcle.time_scale,&mcle.data_type,&mcle.parameter_name, &mcle.sta_number,&mcle.scale_factor,&mcle.cal_day_of_mon, &mcle.month,&mcle.year,mcle.ta_data); } } }/*End of while */ }/*End of if daily_sta*/ if (daily_ta == 1 ) { while(1) { fseek(fp,start,0); read_size = fread((char *)&mcle,1,4156,fp); start=start+4156; if (read_size != size) { if (read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } for(i=0;i<=num_daily;i++) { if ((mcle.data_type == 12) && (mcle.parameter_name == daily_sel[i])) (void) print_records(fp,fpo,&mcle.time_scale,&mcle.data_type,&mcle.parameter_name, &mcle.sta_number,&mcle.scale_factor,&mcle.cal_day_of_mon, &mcle.month,&mcle.year,mcle.ta_data); } }/*End of while */ }/*End of if daily_ta */ if(monthly_sta == 1) { while(1) { fseek(fp,start,0); read_size = fread((char *)&mcle,1,4156,fp); start=start+4156; if (read_size != size) { if (read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } for(i=0;i<=num_daily;i++) { if ((mcle.data_type == 21) && (mcle.parameter_name == daily_sel[i])) (void) print_records(fp,fpo,&mcle.time_scale,&mcle.data_type,&mcle.parameter_name, & mcle.sta_number,&mcle.scale_factor,&mcle.cal_day_of_mon, &mcle.month,&mcle.year,mcle.ta_data); } }/*end of while */ }/*End of if monthly_sta */ if(monthly_ta == 1) { while(1) { fseek(fp,start,0); read_size = fread((char *)&mcle,1,4156,fp); start=start+4156; if (read_size != size) { if (read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } for(i=0;i<=num_daily;i++) { if ((mcle.data_type == 22) && (mcle.parameter_name == daily_sel[i])) (void) print_records(fp,fpo,&mcle.time_scale,&mcle.data_type,&mcle.parameter_name, &mcle.sta_number,&mcle.scale_factor,&mcle.cal_day_of_mon, &mcle.month,&mcle.year,mcle.ta_data); } }/*End of while */ }/*End of if monthly_ta */ } /*End of main */ void print_records(fp,fpo,time_scale,data_type,parameter_name, sta_number,scale_factor,cal_day_of_mon, month,year,ta_data) FILE *fp; FILE *fpo; unsigned short *time_scale; unsigned short *data_type; unsigned short *parameter_name; unsigned short *sta_number; unsigned short *scale_factor; unsigned short *cal_day_of_mon; unsigned short *month; short *year; short ta_data[2070]; { int i; int k; int beg=0; int count=0; int ilast=0; int start=0; int s_day=0; /*daily start day */ int e_day=0; /*daily end day */ int s_sta=0; /*daily start station num. */ int e_sta=0; /*daily end station num. */ int dump=0; /*dump all the logical header records on the file. */ int ta_day=0; /*daily target area */ int zone_day; /*daily zonal */ int daily_sta; int daily_ta; int daily_zone_angular; int daily_zone; int monthly_ta; int monthly_sta; if ((*time_scale == 1) && (*data_type == 11)) { ilast = 2069; } else if ((*time_scale == 1) && (*data_type == 12)) { ilast = 2069; } else if ((*time_scale == 1) && (*data_type == 13)) { ilast = 39; } else if ((*time_scale == 1) && (*data_type == 14)) { ilast = 2069; } else if ((*time_scale == 2) && (*data_type == 21)) { ilast = 2069; } else if ((*time_scale == 2) && (*data_type = 22)) { ilast = 2069; } switch (*parameter_name) { case 1: fprintf(fpo,"\n\n"); fprintf(fpo," (1) time_scale %d\n",*time_scale); fprintf(fpo," (2) data_type %d\n",*data_type); fprintf(fpo," (3) parameter_name %d\n",*parameter_name); fprintf(fpo," (4) sta_number %d\n",*sta_number); fprintf(fpo," (5) scale_factor %d\n",*scale_factor); fprintf(fpo," (6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo," (7) month %d\n",*month); fprintf(fpo," (8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 2: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 3: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 4: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Shortwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 5: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Net Radiation (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 6: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Observed Albedo (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units are in : Percent\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 7: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Corrected Albedo (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units are in : Percent\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 8: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Standard Deviation of AN (STA - D&M ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 9: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Standard Deviation of DN (STA - D&M ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 10: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Standard Deviation of AN (STA - D&M ZNBN - D)\n"); fprintf(fpo,"Shortwave Flux\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 11: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN LW Population(STA - D ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 12: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN LW Population (STA - D ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 13: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN SW Population (STA - D ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 14: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"No. Days of Month Observed-AN LW (STA & TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 15: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"No. Days of Month Observed-DN LW (STA & TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 16: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"No. Days of Month Observed-AN SW (STA & TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 17: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. No. of Days of Month (TA - M)\n"); fprintf(fpo,"Observed/STA Within Each TA-AN LW\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 18: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. No. of Days of Month (TA - M)\n"); fprintf(fpo,"Observed/STA Within Each TA-DN LW\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 19: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. No. of Days of Month (TA - M)\n"); fprintf(fpo,"Observed/STA Within Each TA-AN SW\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 20: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 21: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 22: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 23: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Shortwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 24: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Net Radiation (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 25: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Observed Albedo (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units are in : Percent\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 26: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Corrected Albedo (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units are in : Percent\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 27: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Standard Deviation of AN (STA - D&M ZNBN - D)\n"); fprintf(fpo,"Longwave Flux\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 28: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Standard Deviation of DN (STA - D&M ZNBN - D)\n"); fprintf(fpo,"Longwave Flux\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 29: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Standard Deviation of AN (STA - D&M ZNBN - D)\n"); fprintf(fpo,"Shortwave Flux\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 30: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN LW (STA - D ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 31: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN LW Population (STA - D ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 32: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN SW Population(STA - D ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 33: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"No. Days of Month Observed-AN (STA & TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 34: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"No. Days of Month Observed-DN (STA & TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 35: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"No. Days of Month Observed-AN (STA & TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 36: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. No. of Days of Month Observed/STA (TA - M)\n"); fprintf(fpo,"Within Each TA-AN LW\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 37: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Avg. No. of Days of Month Observed/STA (TA - M)\n"); fprintf(fpo,"Within Each TA-DN SW\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 38: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Longwave Flux (STA & TA - D&M ZN & ZNBN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 39: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"Solar Insolution (ZN - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 40: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN percent Obs. Clear Sky (TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 41: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN percent Obs. Partly Cloudy (TA & ZNBN - D Ta- M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 42: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN percent Obs. Mostly Cloudy (TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 43: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN percent Obs. Overcast (TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 44: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN % Obs. Clear Sky(TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 45: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN % Obs. Partly Cloudy (TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 46: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN percent Obs. Mostly Cloudy (TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-----------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 47: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN percent Obs. Overcast (TA & ZNBN - D TA - M)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 48: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Ersatz Clear Sky Longwave Flux (TA - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 49: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"DN Ersatz Clear Sky Longwave Flux (TA - D)\n"); fprintf(fpo,"The units of Flux are : W/m**2\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; case 50: fprintf(fpo,"\n\n"); fprintf(fpo,"(1) time_scale %d\n",*time_scale); fprintf(fpo,"(2) data_type %d\n",*data_type); fprintf(fpo,"(3) parameter_name %d\n",*parameter_name); fprintf(fpo,"(4) sta_number %d\n",*sta_number); fprintf(fpo,"(5) scale_factor %d\n",*scale_factor); fprintf(fpo,"(6) cal_day_of_mon %d\n",*cal_day_of_mon); fprintf(fpo,"(7) month %d\n",*month); fprintf(fpo,"(8) year %d\n",*year); fprintf(fpo,"\n"); fprintf(fpo,"AN Ersatz Clear Sky Obs. Albedo (TA - D)\n"); fprintf(fpo,"The units are in : Percent\n"); fprintf(fpo,"-------------------------------------------------\n"); for(i=0;i<=ilast;i++) { count++; if (count == 1) { fprintf(fpo,"("); fprintf(fpo,"%4d ",i+9); fprintf(fpo,")"); } fprintf(fpo," %7d",ta_data[i]); if (count > 8) { fprintf(fpo,"\n"); count=0; } } break; }/*End of switch */ fprintf(fpo,"\n"); }/*End of */ void menu_options(process,daily_sta,daily_ta,daily_zone,daily_zone_angular,dump ,monthly_sta,monthly_ta,num_daily,daily_sel,parm_name,target_name ,zonal_daily_name,zonal_angular_bin_name,sta_monthly_name,ta_monthly_name ,filename) int *process; int *daily_sta; int *daily_ta; int *daily_zone; int *daily_zone_angular; int *dump; int *monthly_sta; int *monthly_ta; int *num_daily; int *daily_sel[]; char *filename[]; char *parm_name[][256]; char *target_name[][256]; char *zonal_daily_name[][256]; char *zonal_angular_bin_name[][256]; char *sta_monthly_name[][256]; char *ta_monthly_name[][256]; { int done=0; char ans[10]; int res=0; int zone_day; /*daily zonal */ printf("\n\n"); printf("\n\n"); printf("\n\n"); printf("\n\n"); printf("\n\n"); while (!done) { printf("LOGICAL RECORDS MENU\n"); printf("---------------------\n"); printf(" 1) DAILY\n"); printf(" 2) MONTHLY\n"); printf(" 3) DUMP ALL LOGICAL RECORDS\n"); printf("Enter 'h' for help about this menu\n"); printf("Enter 'x' to exit or terminate process\n"); scanf("%s",&ans); res=atoi(&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'h') { printf("\n\n"); printf("\n\n"); printf("\n\n"); printf("*******************************************************************\n"); printf("* *\n"); printf("* HELP COMMAND *\n"); printf("* *\n"); printf("*******************************************************************\n"); printf("*Option selection '1' is the option to process daily records. *\n"); printf("*This option presents you with a sub menu for 'sta' or 'ta' data. *\n"); printf("*Option selection '2' is the option to process monthly records. *\n"); printf("*This option presents you with a sub menu for 'sta' or 'ta' data. *\n"); printf("*Option selection '3' will list out all the header records. *\n"); printf("*******************************************************************\n"); printf("\n\n"); } switch (res) { printf("res= %d\n",res); case 1: if(*process != 1) { printf("\n"); printf("This file ---> %s",filename); printf(" is not a DAILY file!!\n"); printf("\n"); break; } (void) daily_menu(daily_sta ,daily_ta ,daily_zone,daily_zone_angular ,num_daily,&daily_sel[0],&parm_name[0][0],&target_name[0][0] ,&zonal_daily_name[0][0],&zonal_angular_bin_name[0][0]); done=1; break; case 2: if(*process != 2) { printf("\n"); printf("This file ---> %s",filename); printf(" is not a MONTHLY file!!\n"); printf("\n"); break; } (void) monthly_menu(monthly_sta,monthly_ta,num_daily,&daily_sel[0] ,&sta_monthly_name[0][0],&ta_monthly_name[0][0]); done=1; break; case 3: done=1; *dump = 1; break; default: if(tolower(ans[0]) != 'h') { printf("\n\n****>> Your selection of %s ",ans); printf(" is invalid. Please try again.\n\n"); } } } }/*End of menu_options */ void daily_menu(daily_sta,daily_ta,daily_zone,daily_zone_angular ,num_daily,daily_sel,parm_name,target_name,zonal_daily_name ,zonal_angular_bin_name) int *daily_sta; int *daily_ta; int *daily_zone; int *daily_zone_angular; int *num_daily; int daily_sel[]; char parm_name[][256]; char target_name[][256]; char zonal_daily_name[][256]; char zonal_angular_bin_name[][256]; { char ans[10]; int done=0; int finished=0; int res; int hold; int kk=0; int k=0; int offset=0; while (!done) { printf("DAILY MENU\n"); printf("------------\n"); printf(" 1) DAILY STA\n"); printf(" 2) DAILY TA\n"); printf(" 3) DAILY ZONAL\n"); printf(" 4) DAILY ZONAL ANGULAR BIN\n"); printf("Enter 'h' to receive help with this menu.\n"); printf("Enter 'x' to exit or terminate\n"); scanf("%s",&ans); res=atoi(&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'h') { printf("\n\n"); printf("\n\n"); printf("\n\n"); printf("************************************************************************************************\n"); printf("* *\n"); printf("* HELP COMMAND *\n"); printf("* *\n"); printf("************************************************************************************************\n"); printf("*Option selection '1' is the option to process daily 'sta' records data_type(11). *\n"); printf("*Option selection '2' is the option to process daily 'ta' records data_type(12). *\n"); printf("*Option selection '3' is the option to process daily 'zonal' records data_type(13). *\n"); printf("*Option selection '4' is the option to process daily 'zonal angular bin' records data_type(14).*\n"); printf("************************************************************************************************\n"); printf("\n\n"); } switch (res) { case 1: (void) get_sta_daily_names(num_daily,&daily_sel[0],&parm_name[0][0],daily_sta); done=1; break; case 2: (void) get_target_daily_names(num_daily,&daily_sel[0],&target_name[0][0],daily_ta); done=1; break; case 3: (void) get_zonal_daily_name(num_daily,&daily_sel[0],&zonal_daily_name[0][0],daily_zone); done=1; break; case 4: (void) get_zonal_angular_bin_name(num_daily,&daily_sel[0],&zonal_angular_bin_name[0][0] ,daily_zone_angular); done=1; break; default: if(tolower(ans[0]) != 'h') { printf("\n\n****>> Your selection of %s ",&ans); printf(" is invalid. Please try again.\n\n"); } } } }/*End of daily_menu*/ void monthly_menu(monthly_sta,monthly_ta,num_daily,daily_sel ,sta_monthly_name,ta_monthly_name) int *monthly_sta; int *monthly_ta; int *num_daily; int daily_sel[]; char sta_monthly_name[][256]; char ta_monthly_name[][256]; { char ans[10]; int done=0; int res; while (!done) { printf("MONTHLY MENU\n"); printf("-------------\n"); printf(" 1) MONTHLY STA\n"); printf(" 2) MONTHLY TA\n"); printf("Enter 'h' to receive help with this menu.\n"); printf("Enter 'x' to exit or terminate \n"); scanf("%s",&ans); res=atoi(&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'h') { printf("\n\n"); printf("\n\n"); printf("\n\n"); printf("*************************************************************************************\n"); printf("* *\n"); printf("* HELP COMMAND *\n"); printf("* *\n"); printf("*************************************************************************************\n"); printf("*Option selection '1' is the option to process monthly 'sta' records data_type(21). *\n"); printf("*Option selection '2' is the option to process monthly 'ta' records data_type(22). *\n"); printf("*************************************************************************************\n"); printf("\n\n"); } switch (res) { case 1: (void) get_sta_monthly_name(monthly_sta,num_daily,&daily_sel[0],&sta_monthly_name[0][0]); done=1; break; case 2: (void) get_ta_monthly_name(monthly_ta,num_daily,&daily_sel[0],&ta_monthly_name[0][0]); done=1; break; default: if(tolower(ans[0]) != 'h') { printf("\n\n****>> Your selection of %s ",ans); printf(" is invalid. Please try again.\n\n"); } } } }/*End of monthly_menu */ void count_records(fp,fpo) FILE *fp; FILE *fpo; { int read_size; int size=20; int count; int beg; int i=0; int start=0; unsigned short buf[18000]; count=20; beg=1; while(1) { fseek(fp,start,0); read_size=fread((char *)buf,beg,count,fp); if(read_size != size) { if(read_size == 0) { printf(" Job Completed\n"); exit(0); } printf("read_size does not match size\n"); printf("size = %d\n",size); printf("read_size = %d\n",read_size); printf(" Job Completed\n"); exit(0); } i++; fprintf(fpo,"rec_count %4d\n ",i); fprintf(fpo,"time_scale %4d\n ",buf[0]); fprintf(fpo,"data_type %4d\n ",buf[1]); fprintf(fpo,"parm_name %4d\n ",buf[2]); fprintf(fpo,"sta_number %4d\n ",buf[3]); fprintf(fpo,"scale_factor %4d\n ",buf[4]); fprintf(fpo,"day_of_mon %4d\n ",buf[5]); fprintf(fpo,"month %4d\n ",buf[6]); fprintf(fpo,"year %4d\n",buf[7]); fprintf(fpo,"******************************************************\n"); start=start+4156; } } void get_sta_daily_names(num_daily,daily_sel,parm_name,daily_sta) int *num_daily; int daily_sel[]; char parm_name[][256]; int *daily_sta; { int offset=0; int hold=0; int done=0; char ans[10]; printf("The following is the list of PARAMETERS which are available for daily STA\n"); printf("\n"); printf("Coded Parameter Number.\n"); printf("All Clear Description\n"); printf("Sky Sky\n"); printf("---------------------------------------------------------------------\n"); printf(" 1 20 AN Longwave Flux\n"); printf(" 2 21 DN Longwave Flux\n"); printf(" 3 22 Avg. Longwave Flux\n"); printf(" 4 23 AN Shortwave Flux\n"); printf(" 5 24 Net Radiation\n"); printf(" 6 25 AN observed Albedo\n"); printf(" 7 26 AN diurnally corrected Albedo\n"); printf(" 8 27 Standard Deviation of AN\n"); printf(" 9 28 Standard Deviation of DN\n"); printf("10 29 Standard Deviation of AN\n"); printf("11 30 AN LW flux Population\n"); printf("12 31 DN LW flux Population\n"); printf("13 32 AN SW flux Population\n"); printf("\n"); printf("Please make a selection for processing. Enter the number(s)\n"); printf("of the PARAMETERS you wish printed. A [-1] entered will print all\n"); printf("of the PARAMETERS. To quit selecting and to begin processing enter\n"); printf("[quit](without the []).\n"); printf("Enter 'x' to exit or terminate\n"); while(1) { scanf("%s",&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'q') { printf("ans= %s\n",ans); break; } if (atoi(&ans)== -1) { *num_daily=26; daily_sel[0]=1; daily_sel[1]=2; daily_sel[2]=3; daily_sel[3]=4; daily_sel[4]=5; daily_sel[5]=6; daily_sel[6]=7; daily_sel[7]=8; daily_sel[7]=9; daily_sel[8]=10; daily_sel[9]=11; daily_sel[10]=12; daily_sel[11]=13; daily_sel[12]=20; daily_sel[13]=21; daily_sel[14]=22; daily_sel[15]=23; daily_sel[16]=24; daily_sel[17]=25; daily_sel[18]=26; daily_sel[19]=27; daily_sel[20]=28; daily_sel[21]=29; daily_sel[22]=30; daily_sel[23]=31; daily_sel[24]=32; break; } hold=atoi(&ans); if((hold < 1 ) || (hold > 32)) { printf("Invalid selection of %d",hold); printf(" please try again!\n"); continue; } switch(hold) { case 14: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 15: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 16: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 17: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 18: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 19: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; default: (*num_daily)++; printf("num_daily %d\n",*num_daily); offset=1; if(atoi(&ans) > 19) { offset=0; } daily_sel[*num_daily-1]=atoi(&ans); printf("You have selected: %d ",daily_sel[*num_daily-1]); printf(" %s\n",parm_name[daily_sel[*num_daily-1]-offset]); break; } } printf("Finshed selection of PARAMETER indexs.\n"); *daily_sta = 1; done=1; } void get_target_daily_names(num_daily,daily_sel,target_name,daily_ta) int *num_daily; int daily_sel[]; char target_name[][256]; int *daily_ta; { int offset=0; int hold=0; int done=0; char ans[10]; printf("The following is the list of PARAMETERS which are available for daily TA\n"); printf("\n"); printf("Coded Parameter Number.\n"); printf("All Clear Description\n"); printf("Sky Sky\n"); printf("---------------------------------------------------------------------\n"); printf(" 1 20 AN Longwave Flux\n"); printf(" 2 21 DN Longwave Flux\n"); printf(" 3 22 Avg. Longwave Flux\n"); printf(" 4 23 AN Shortwave Flux\n"); printf(" 5 24 Net Radiation\n"); printf(" 6 25 AN observed Albedo\n"); printf(" 7 26 AN diurnally corrected Albedo\n"); printf("40 - AN percent observations clear\n"); printf("41 - AN percent observations partly cloudy\n"); printf("42 - AN percent observations mostly cloudy\n"); printf("43 - AN percent observations overcast\n"); printf("44 - DN percent observations clear\n"); printf("45 - DN percent observations partly cloudy\n"); printf("46 - DN percent observations mostly cloudy\n"); printf("47 - DN percent observations overcast\n"); printf("48 - AN ersatz clear-sky longwave flux\n"); printf("49 - DN ersatz clear-sky longwave flux\n"); printf("50 - AN ersatz clear-sky albedo\n"); printf("\n"); printf("Please make a selection for processing. Enter the number(s)\n"); printf("of the PARAMETERS you wish printed. A [-1] entered will print all\n"); printf("of the PARAMETERS. To quit selecting and to begin processing enter\n"); printf("[quit](without the []).\n"); printf("Enter 'x' to exit or terminate\n"); while(!done) { scanf("%s",&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'q') { done=1; break; } if (atoi(&ans)== -1) { *num_daily=24; daily_sel[0]=1; daily_sel[1]=2; daily_sel[2]=3; daily_sel[3]=4; daily_sel[4]=5; daily_sel[5]=6; daily_sel[6]=7; daily_sel[7]=20; daily_sel[8]=21; daily_sel[9]=22; daily_sel[10]=23; daily_sel[11]=24; daily_sel[12]=25; daily_sel[13]=26; daily_sel[14]=40; daily_sel[15]=41; daily_sel[16]=42; daily_sel[17]=43; daily_sel[18]=44; daily_sel[19]=45; daily_sel[20]=46; daily_sel[21]=47; daily_sel[22]=48; daily_sel[23]=49; daily_sel[24]=50; done=1; break; } hold=atoi(&ans); if((hold < 1 ) || (hold > 50)) { printf("Invalid selection of %d",hold); printf(" please try again!\n"); continue; } switch(hold) { case 8: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 9: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 10: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 11: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 12: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 13: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 14: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 15: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 16: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 17: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 18: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 19: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 27: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 28: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 29: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 30: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 31: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 32: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 33: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 34: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 35: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 36: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 37: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 38: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 39: break; default: (*num_daily)++; offset=1; if(atoi(&ans) > 8) { offset=0; } daily_sel[*num_daily-1]=atoi(&ans); printf("You have selected: %d ",daily_sel[*num_daily-1]); printf(" %s\n",target_name[daily_sel[*num_daily-1]-offset]); break; } } printf("Finshed selection of PARAMETER indexs.\n"); *daily_ta = 1; done=1; } void get_zonal_daily_name(num_daily,daily_sel,zonal_daily_name,daily_zone) int *num_daily; int daily_sel[]; char zonal_daily_name[][256]; int *daily_zone; { int offset=0; int hold=0; int done=0; int i; char ans[10]; *num_daily=0; printf("The following is the list of PARAMETERS which are available for daily TA\n"); printf("\n"); printf("Coded Parameter Number.\n"); printf("All Clear Description\n"); printf("Sky Sky\n"); printf("---------------------------------------------------------------------\n"); printf(" 1 20 AN Longwave Flux\n"); printf(" 2 21 DN Longwave Flux\n"); printf(" 3 22 Avg. Longwave Flux\n"); printf(" 4 23 AN Shortwave Flux\n"); printf(" 5 24 Net Radiation\n"); printf(" 6 25 AN observed Albedo\n"); printf(" 7 26 AN diurnally corrected Albedo\n"); printf("39 - Solar insolation\n"); printf("40 - AN percent observations clear\n"); printf("41 - AN percent observations partly cloudy\n"); printf("42 - AN percent observations mostly cloudy\n"); printf("43 - AN percent observations overcast\n"); printf("44 - DN percent observations clear\n"); printf("45 - DN percent observations partly cloudy\n"); printf("46 - DN percent observations mostly cloudy\n"); printf("47 - DN percent observations overcast\n"); printf("\n"); printf("Please make a selection for processing. Enter the number(s)\n"); printf("of the PARAMETERS you wish printed. A [-1] entered will print all\n"); printf("of the PARAMETERS. To quit selecting and to begin processing enter\n"); printf("[quit](without the []).\n"); printf("Enter 'x' to exit or terminate\n"); while(!done) { scanf("%s",&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'q') { done=1; break; } if (atoi(&ans)== -1) { *num_daily=23; daily_sel[0]=1; daily_sel[1]=2; daily_sel[2]=3; daily_sel[3]=4; daily_sel[4]=5; daily_sel[5]=6; daily_sel[6]=7; daily_sel[7]=20; daily_sel[8]=21; daily_sel[9]=22; daily_sel[10]=23; daily_sel[11]=24; daily_sel[12]=25; daily_sel[13]=26; daily_sel[14]=39; daily_sel[15]=40; daily_sel[16]=41; daily_sel[17]=42; daily_sel[18]=43; daily_sel[19]=44; daily_sel[20]=45; daily_sel[21]=46; daily_sel[22]=47; done=1; break; } hold=atoi(&ans); if((hold < 1 ) || (hold > 47)) { printf("Invalid selection of %d",hold); printf(" please try again!\n"); continue; } switch(hold) { case 8: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 9: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 10: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 11: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 12: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 13: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 14: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 15: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 16: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 17: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 18: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 19: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 27: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 28: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 29: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 30: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 31: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 32: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 33: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 34: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 35: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 36: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 37: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 38: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; default: (*num_daily)++; offset=1; if(atoi(&ans) > 8) { offset=0; } daily_sel[*num_daily-1]=atoi(&ans); printf("You have selected: %d ",daily_sel[*num_daily-1]); printf(" %s\n",zonal_daily_name[daily_sel[*num_daily-1]-offset]); break; } } printf("Finshed selection of PARAMETER indexs.\n"); *daily_zone = 1; done=1; } void get_zonal_angular_bin_name(num_daily,daily_sel,zonal_angular_bin_name ,daily_zone_angular) int *num_daily; int daily_sel[]; char zonal_angular_bin_name[][256]; int *daily_zone_angular; { int offset=0; int hold=0; int done=0; char ans[10]; printf("zonal_angular_bin_name %s\n",zonal_angular_bin_name[2]); printf("The following is the list of PARAMETERS which are available for daily TA\n"); printf("\n"); printf("Coded Parameter Number.\n"); printf("All Clear Description\n"); printf("Sky Sky\n"); printf("---------------------------------------------------------------------\n"); printf(" 1 20 AN Longwave Flux\n"); printf(" 2 21 DN Longwave Flux\n"); printf(" 3 22 Avg. Longwave Flux\n"); printf(" 4 23 AN Shortwave Flux\n"); printf(" 5 24 Net Radiation\n"); printf(" 6 25 AN observed Albedo\n"); printf(" 7 26 AN diurnally corrected Albedo\n"); printf("40 - AN percent observations clear\n"); printf("41 - AN percent observations partly cloudy\n"); printf("42 - AN percent observations mostly cloudy\n"); printf("43 - AN percent observations overcast\n"); printf("44 - DN percent observations clear\n"); printf("45 - DN percent observations partly cloudy\n"); printf("46 - DN percent observations mostly cloudy\n"); printf("47 - DN percent observations overcast\n"); printf("\n"); printf("Please make a selection for processing. Enter the number(s)\n"); printf("of the PARAMETERS you wish printed. A [-1] entered will print all\n"); printf("of the PARAMETERS. To quit selecting and to begin processing enter\n"); printf("[quit](without the []).\n"); printf("Enter 'x' to exit or terminate\n"); while(!done) { scanf("%s",&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'q') { done=1; break; } if (atoi(&ans)== -1) { *num_daily=22; daily_sel[0]=1; daily_sel[1]=2; daily_sel[2]=3; daily_sel[3]=4; daily_sel[4]=5; daily_sel[5]=6; daily_sel[6]=7; daily_sel[7]=20; daily_sel[8]=21; daily_sel[9]=22; daily_sel[10]=23; daily_sel[11]=24; daily_sel[12]=25; daily_sel[13]=26; daily_sel[14]=40; daily_sel[15]=41; daily_sel[16]=42; daily_sel[17]=43; daily_sel[18]=44; daily_sel[19]=45; daily_sel[20]=46; daily_sel[21]=47; done=1; break; } hold=atoi(&ans); if((hold < 1 ) || (hold > 47)) { printf("Invalid selection of %d",hold); printf(" please try again!\n"); continue; } switch(hold) { case 8: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 9: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 10: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 11: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 12: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 13: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 14: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 15: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 16: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 17: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 18: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 19: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 27: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 28: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 29: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 30: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 31: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 32: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 33: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 34: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 35: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 36: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 37: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 38: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 39: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; default: (*num_daily)++; offset=1; if(atoi(&ans) > 8) { offset=0; } daily_sel[*num_daily-1]=atoi(&ans); printf("You have selected: %d ",daily_sel[*num_daily-1]); printf(" %s\n",zonal_angular_bin_name[daily_sel[*num_daily-1]-offset]); break; } } printf("Finshed selection of PARAMETER indexs.\n"); *daily_zone_angular = 1; done=1; } void get_sta_monthly_name(monthly_sta,num_daily,daily_sel,sta_monthly_name) int *monthly_sta; int *num_daily; int daily_sel[]; char sta_monthly_name[][256]; { int offset=0; int hold=0; int done=0; char ans[10]; printf("monthly_sta_name %s\n",sta_monthly_name[2]); printf("The following is the list of PARAMETERS which are available for daily TA\n"); printf("\n"); printf("Coded Parameter Number.\n"); printf("All Clear Description\n"); printf("Sky Sky\n"); printf("---------------------------------------------------------------------\n"); printf(" 1 20 AN Longwave Flux\n"); printf(" 2 21 DN Longwave Flux\n"); printf(" 3 22 Avg. Longwave Flux\n"); printf(" 4 23 AN Shortwave Flux\n"); printf(" 5 24 Net Radiation\n"); printf(" 6 25 AN observed Albedo\n"); printf(" 7 26 AN diurnally corrected Albedo\n"); printf(" 8 27 Standard deviation of daily average AN longwave fluxes\n"); printf(" 9 28 Standard deviation of daily average DN longwave fluxes\n"); printf("10 29 Standard deviation of daily average AN shortwave fluxes\n"); printf("14 33 Number of days with AN longwave flux data\n"); printf("15 34 Number of days with DN longwave flux data\n"); printf("16 35 Number of days with AN shortwave flux data\n"); printf("\n"); printf("Please make a selection for processing. Enter the number(s)\n"); printf("of the PARAMETERS you wish printed. A [-1] entered will print all\n"); printf("of the PARAMETERS. To quit selecting and to begin processing enter\n"); printf("[quit](without the []).\n"); printf("Enter 'x' to exit or terminate\n"); while(!done) { scanf("%s",&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'q') { done=1; break; } if (atoi(&ans)== -1) { *num_daily=26; daily_sel[0]=1; daily_sel[1]=2; daily_sel[2]=3; daily_sel[3]=4; daily_sel[4]=5; daily_sel[5]=6; daily_sel[6]=7; daily_sel[7]=8; daily_sel[8]=9; daily_sel[9]=10; daily_sel[10]=14; daily_sel[11]=15; daily_sel[12]=16; daily_sel[13]=20; daily_sel[14]=21; daily_sel[15]=22; daily_sel[16]=23; daily_sel[17]=24; daily_sel[18]=25; daily_sel[19]=26; daily_sel[20]=27; daily_sel[21]=28; daily_sel[22]=29; daily_sel[23]=33; daily_sel[24]=34; daily_sel[25]=35; done=1; break; } hold=atoi(&ans); if((hold < 1 ) || (hold > 35)) { printf("Invalid selection of %d",hold); printf(" please try again!\n"); continue; } switch(hold) { case 11: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 12: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 13: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 17: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 18: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 19: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 30: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 31: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 32: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; default: (*num_daily)++; offset=1; if(atoi(&ans) > 10) { offset=0; } daily_sel[*num_daily-1]=atoi(&ans); printf("You have selected: %d ",daily_sel[*num_daily-1]); printf(" %s\n",sta_monthly_name[daily_sel[*num_daily-1]-offset]); break; } } printf("Finshed selection of PARAMETER indexs.\n"); *monthly_sta = 1; done=1; } void get_ta_monthly_name(monthly_ta,num_daily,daily_sel,ta_monthly_name) /*dummzz*/ int *monthly_ta; int *num_daily; int daily_sel[]; char ta_monthly_name[][256]; { int offset=0; int hold=0; int done=0; char ans[10]; printf("monthly_ta_name %s\n",ta_monthly_name[2]); printf("The following is the list of PARAMETERS which are available for daily TA\n"); printf("\n"); printf("Coded Parameter Number.\n"); printf("All Clear Description\n"); printf("Sky Sky\n"); printf("---------------------------------------------------------------------\n"); printf(" 1 20 AN Longwave Flux\n"); printf(" 2 21 DN Longwave Flux\n"); printf(" 3 22 Avg. Longwave Flux\n"); printf(" 4 23 AN Shortwave Flux\n"); printf(" 5 24 Net Radiation\n"); printf(" 6 25 AN observed Albedo\n"); printf(" 7 26 AN diurnally corrected Albedo\n"); printf("14 33 Number of days with AN longwave flux data\n"); printf("15 34 Number of days with DN longwave flux data\n"); printf("16 35 Number of days with AN shortwave flux data\n"); printf("17 36 Average number of days with AN longwave flux per STA\n"); printf("18 37 Average number of days with DN longwave flux per STA\n"); printf("19 38 Average number of days with AN shortwave flux per STA\n"); printf("40 - AN percent observations clear\n"); printf("41 - AN percent observations partly cloudy\n"); printf("42 - AN percent observations mostly cloudy\n"); printf("43 - AN percent observations overcast\n"); printf("44 - DN percent observations clear\n"); printf("45 - DN percent observations partly cloudy\n"); printf("46 - DN percent observations mostly cloudy\n"); printf("47 - DN percent observations overcast\n"); printf("\n"); printf("Please make a selection for processing. Enter the number(s)\n"); printf("of the PARAMETERS you wish printed. A [-1] entered will print all\n"); printf("of the PARAMETERS. To quit selecting and to begin processing enter\n"); printf("[quit](without the []).\n"); printf("Enter 'x' to exit or terminate\n"); while(!done) { scanf("%s",&ans); if (tolower(ans[0]) == 'x') { exit(0); } if (tolower(ans[0]) == 'q') { done=1; break; } if (atoi(&ans)== -1) { *num_daily=34; daily_sel[0]=1; daily_sel[1]=2; daily_sel[2]=3; daily_sel[3]=4; daily_sel[4]=5; daily_sel[5]=6; daily_sel[6]=7; daily_sel[7]=14; daily_sel[8]=15; daily_sel[9]=16; daily_sel[10]=17; daily_sel[11]=18; daily_sel[12]=19; daily_sel[13]=20; daily_sel[14]=21; daily_sel[15]=22; daily_sel[16]=23; daily_sel[17]=24; daily_sel[18]=25; daily_sel[19]=26; daily_sel[20]=33; daily_sel[21]=34; daily_sel[22]=35; daily_sel[23]=36; daily_sel[24]=37; daily_sel[25]=38; daily_sel[26]=40; daily_sel[27]=41; daily_sel[28]=42; daily_sel[29]=43; daily_sel[30]=44; daily_sel[31]=45; daily_sel[32]=46; daily_sel[33]=47; done=1; break; } hold=atoi(&ans); if((hold < 1 ) || (hold > 47)) { printf("Invalid selection of %d",hold); printf(" please try again!\n"); continue; } switch(hold) { case 8: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 9: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 10: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 11: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 12: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 13: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 27: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 28: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 29: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 30: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 31: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 32: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; case 39: printf("Invalid selection of %d",hold); printf(" please try again!\n"); break; default: (*num_daily)++; offset=1; if(atoi(&ans) > 7) { offset=0; } daily_sel[*num_daily-1]=atoi(&ans); printf("You have selected: %d ",daily_sel[*num_daily-1]); printf(" %s\n",ta_monthly_name[daily_sel[*num_daily-1]-offset]); break; } } printf("Finshed selection of PARAMETER indexs.\n"); *monthly_ta = 1; done=1; } void initilize_arrays(parm_name,target_name,zonal_daily_name,zonal_angular_bin_name ,sta_monthly_name,ta_monthly_name) char parm_name[33][256]; char target_name[33][256]; char zonal_daily_name[33][256]; char zonal_angular_bin_name[33][256]; char sta_monthly_name[33][256]; char ta_monthly_name[33][256]; { strcpy(parm_name[0],"AN Longwave Flux"); strcpy(parm_name[1],"DN Longwave Flux"); strcpy(parm_name[2],"Avg. Longwave Flux"); strcpy(parm_name[3],"AN Shortwave Flux"); strcpy(parm_name[4],"Net Radiation"); strcpy(parm_name[5],"AN observed Albedo"); strcpy(parm_name[6],"AN diurnally corrected Albedo"); strcpy(parm_name[7],"Standard Deviation of AN longwave fluxes"); strcpy(parm_name[8],"Standard Deviation of DN longwave fluxes"); strcpy(parm_name[9],"Standard Deviation of AN shortwave fluxes"); strcpy(parm_name[10],"AN LW flux Population"); strcpy(parm_name[11],"DN LW flux Population"); strcpy(parm_name[12],"AN SW flux Population"); strcpy(parm_name[20],"AN Longwave Flux"); strcpy(parm_name[21],"DN Longwave Flux"); strcpy(parm_name[22],"Avg. Longwave Flux"); strcpy(parm_name[23],"AN Shortwave Flux"); strcpy(parm_name[24],"Net Radiation"); strcpy(parm_name[25],"AN observed Albedo"); strcpy(parm_name[26],"AN diurnally corrected Albedo"); strcpy(parm_name[27],"Standard Deviation of AN"); strcpy(parm_name[28],"Standard Deviation of DN"); strcpy(parm_name[29],"Standard Deviation of AN"); strcpy(parm_name[30],"AN LW flux Population"); strcpy(parm_name[31],"DN LW flux Population"); strcpy(parm_name[32],"AN SW flux Population"); /* initlize the target array */ strcpy(target_name[0],"AN longwave flux"); strcpy(target_name[1],"DN longwave flux"); strcpy(target_name[2],"Avg. Longwave Flux"); strcpy(target_name[3],"AN Shortwave Flux"); strcpy(target_name[4],"Net Radiation"); strcpy(target_name[5],"AN observed Albedo"); strcpy(target_name[6],"AN diurnally corrected Albedo"); strcpy(target_name[20],"AN longwave flux"); strcpy(target_name[21],"DN longwave flux"); strcpy(target_name[22],"Avg. Longwave Flux"); strcpy(target_name[23],"AN Shortwave Flux"); strcpy(target_name[24],"Net Radiation"); strcpy(target_name[25],"AN observed Albedo"); strcpy(target_name[26],"AN diurnally corrected Albedo"); strcpy(target_name[40],"AN % observations clear"); strcpy(target_name[41],"AN % observations partly cloudy"); strcpy(target_name[42],"AN % observations mostly cloudy"); strcpy(target_name[43],"AN % observations overcast"); strcpy(target_name[44],"DN % observations clear"); strcpy(target_name[45],"DN % observations partly cloudy"); strcpy(target_name[46],"DN % observations mostly cloudy"); strcpy(target_name[47],"DN % observations overcast"); strcpy(target_name[48],"AN ersatz clear-sky longwave flux"); strcpy(target_name[49],"DN ersatz clear-sky longwave flux"); strcpy(target_name[50],"AN ersatz clear-sky albedo"); /* initlize the daily_zonal array */ strcpy(zonal_daily_name[0],"AN longwave flux"); strcpy(zonal_daily_name[1],"DN longwave flux"); strcpy(zonal_daily_name[2],"Avg. Longwave Flux"); strcpy(zonal_daily_name[3],"AN Shortwave Flux"); strcpy(zonal_daily_name[4],"Net Radiation"); strcpy(zonal_daily_name[5],"AN observed Albedo"); strcpy(zonal_daily_name[6],"AN diurnally corrected Albedo"); strcpy(zonal_daily_name[20],"AN longwave flux"); strcpy(zonal_daily_name[21],"DN longwave flux"); strcpy(zonal_daily_name[22],"Avg. Longwave Flux"); strcpy(zonal_daily_name[23],"AN Shortwave Flux"); strcpy(zonal_daily_name[24],"Net Radiation"); strcpy(zonal_daily_name[25],"AN observed Albedo"); strcpy(zonal_daily_name[26],"AN diurnally corrected Albedo"); strcpy(zonal_daily_name[39],"Solar insolation"); strcpy(zonal_daily_name[40],"AN % observations clear"); strcpy(zonal_daily_name[41],"AN % observations partly cloudy"); strcpy(zonal_daily_name[42],"AN % observations mostly cloudy"); strcpy(zonal_daily_name[43],"AN % observations overcast"); strcpy(zonal_daily_name[44],"DN % observations clear"); strcpy(zonal_daily_name[45],"DN % observations partly cloudy"); strcpy(zonal_daily_name[46],"DN % observations mostly cloudy"); strcpy(zonal_daily_name[47],"DN % observations overcast"); /* initlize the zonal_angular_bin array */ strcpy(zonal_angular_bin_name[0],"AN longwave flux"); strcpy(zonal_angular_bin_name[1],"DN longwave flux"); strcpy(zonal_angular_bin_name[2],"Avg. Longwave Flux"); strcpy(zonal_angular_bin_name[3],"AN Shortwave Flux"); strcpy(zonal_angular_bin_name[4],"Net Radiation"); strcpy(zonal_angular_bin_name[5],"AN observed Albedo"); strcpy(zonal_angular_bin_name[6],"AN diurnally corrected Albedo"); strcpy(zonal_angular_bin_name[7],"Standard deviation of AN longwave fluxes"); strcpy(zonal_angular_bin_name[8],"Standard deviation of DN longwave fluxes"); strcpy(zonal_angular_bin_name[9],"Standard deviation of AN shortwave fluxes"); strcpy(zonal_angular_bin_name[10],"AN longwave flux population"); strcpy(zonal_angular_bin_name[11],"DN longwave flux population"); strcpy(zonal_angular_bin_name[12],"AN shortwave flux population"); strcpy(zonal_angular_bin_name[20],"AN longwave flux"); strcpy(zonal_angular_bin_name[21],"DN longwave flux"); strcpy(zonal_angular_bin_name[22],"Avg. Longwave Flux"); strcpy(zonal_angular_bin_name[23],"AN Shortwave Flux"); strcpy(zonal_angular_bin_name[24],"Net Radiation"); strcpy(zonal_angular_bin_name[25],"AN observed Albedo"); strcpy(zonal_angular_bin_name[26],"AN diurnally corrected Albedo"); strcpy(zonal_angular_bin_name[27],"Standard deviation of AN longwave fluxes"); strcpy(zonal_angular_bin_name[28],"Standard deviation of DN longwave fluxes"); strcpy(zonal_angular_bin_name[29],"Standard deviation of AN shortwave fluxes"); strcpy(zonal_angular_bin_name[30],"AN longwave flux population"); strcpy(zonal_angular_bin_name[31],"DN longwave flux population"); strcpy(zonal_angular_bin_name[32],"AN shortwave flux population"); strcpy(zonal_angular_bin_name[40],"AN % observations clear"); strcpy(zonal_angular_bin_name[41],"AN % observations partly cloudy"); strcpy(zonal_angular_bin_name[42],"AN % observations mostly cloudy"); strcpy(zonal_angular_bin_name[43],"AN % observations overcast"); strcpy(zonal_angular_bin_name[44],"DN % observations clear"); strcpy(zonal_angular_bin_name[45],"DN % observations partly cloudy"); strcpy(zonal_angular_bin_name[46],"DN % observations mostly cloudy"); strcpy(zonal_angular_bin_name[47],"DN % observations overcast"); /* initlize the sta_monthly array */ strcpy(sta_monthly_name[0],"AN longwave flux"); strcpy(sta_monthly_name[1],"DN longwave flux"); strcpy(sta_monthly_name[2],"Avg. Longwave Flux"); strcpy(sta_monthly_name[3],"AN Shortwave Flux"); strcpy(sta_monthly_name[4],"Net Radiation"); strcpy(sta_monthly_name[5],"AN observed Albedo"); strcpy(sta_monthly_name[6],"AN diurnally corrected Albedo"); strcpy(sta_monthly_name[7],"Standard deviation of daily average AN longwave fluxes"); strcpy(sta_monthly_name[8],"Standard deviation of daily average DN longwave fluxes"); strcpy(sta_monthly_name[9],"Standard deviation of daily average AN shortwave fluxes"); strcpy(sta_monthly_name[14],"Number of days with AN longwave flux data"); strcpy(sta_monthly_name[15],"Number of days with DN longwave flux data"); strcpy(sta_monthly_name[16],"Number of days with AN shortwave flux data"); strcpy(sta_monthly_name[20],"AN longwave flux"); strcpy(sta_monthly_name[21],"DN longwave flux"); strcpy(sta_monthly_name[22],"Avg. Longwave Flux"); strcpy(sta_monthly_name[23],"AN Shortwave Flux"); strcpy(sta_monthly_name[24],"Net Radiation"); strcpy(sta_monthly_name[25],"AN observed Albedo"); strcpy(sta_monthly_name[26],"AN diurnally corrected Albedo"); strcpy(sta_monthly_name[27],"Standard deviation of daily average AN longwave fluxes"); strcpy(sta_monthly_name[28],"Standard deviation of daily average DN longwave fluxes"); strcpy(sta_monthly_name[29],"Standard deviation of daily average AN shortwave fluxes"); strcpy(sta_monthly_name[33],"Number of days with AN longwave flux data"); strcpy(sta_monthly_name[34],"Number of days with DN longwave flux data"); strcpy(sta_monthly_name[35],"Number of days with AN shortwave flux data"); /* initlize the ta_monthly array */ strcpy(ta_monthly_name[0],"AN longwave flux"); strcpy(ta_monthly_name[1],"DN longwave flux"); strcpy(ta_monthly_name[2],"Avg. Longwave Flux"); strcpy(ta_monthly_name[3],"AN Shortwave Flux"); strcpy(ta_monthly_name[4],"Net Radiation"); strcpy(ta_monthly_name[5],"AN observed Albedo"); strcpy(ta_monthly_name[6],"AN diurnally corrected Albedo"); strcpy(ta_monthly_name[14],"Number of days with AN longwave flux data"); strcpy(ta_monthly_name[15],"Number of days with DN longwave flux data"); strcpy(ta_monthly_name[16],"Number of days with AN shortwave flux data"); strcpy(ta_monthly_name[17],"Average number of days with AN longwave flux per STA"); strcpy(ta_monthly_name[18],"Average number of days with DN longwave flux per STA"); strcpy(ta_monthly_name[19],"Average number of days with AN shortwave flux per STA"); strcpy(ta_monthly_name[20],"AN longwave flux"); strcpy(ta_monthly_name[21],"DN longwave flux"); strcpy(ta_monthly_name[22],"Avg. Longwave Flux"); strcpy(ta_monthly_name[23],"AN Shortwave Flux"); strcpy(ta_monthly_name[24],"Net Radiation"); strcpy(ta_monthly_name[25],"AN observed Albedo"); strcpy(ta_monthly_name[26],"AN diurnally corrected Albedo"); strcpy(ta_monthly_name[33],"Number of days with AN longwave flux data"); strcpy(ta_monthly_name[34],"Number of days with DN longwave flux data"); strcpy(ta_monthly_name[35],"Number of days with AN shortwave flux data"); strcpy(ta_monthly_name[36],"Average number of days with AN longwave flux per STA"); strcpy(ta_monthly_name[37],"Average number of days with DN longwave flux per STA"); strcpy(ta_monthly_name[38],"Average number of days with AN shortwave flux per STA"); strcpy(ta_monthly_name[40],"AN % observations clear"); strcpy(ta_monthly_name[41],"AN % observations partly cloudy"); strcpy(ta_monthly_name[42],"AN % observations mostly cloudy"); strcpy(ta_monthly_name[43],"AN % observations overcast"); strcpy(ta_monthly_name[44],"DN % observations clear"); strcpy(ta_monthly_name[45],"DN % observations partly cloudy"); strcpy(ta_monthly_name[46],"DN % observations mostly cloudy"); strcpy(ta_monthly_name[47],"DN % observations overcast"); }