#include <stdio.h>  
#include <string.h> 
#include <ctype.h>
#include <math.h>
/*************************************************/
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");
}
