Daily_QC
junk.c
Go to the documentation of this file.
1 
2 void area_select(Widget w,XtPointer data)
3 
4 {
5 
6 Cardinal argcount;
7 Arg args[20];
8 Widget dialog,rowcol,pbutton;
9 Widget jwidget;
10 XmString text;
11 struct MenuItem items[50];
12 Widget main_bar;
13 int slider_size,scrollm,ivalue,increment,page_increment,ier;
14 FILE *fr,*fp;
15 char *q,*p, ibuf[100],dbuf[100],ebuf[100];
16 struct tm *gmtim;
17 int m,mer;
18 char preca[100],precb[100],precc[100],precd[100],prece[100],buf[100],databuf[50];
19 char zpointa[100],zpointb[100];
20 time_t tget;
21 struct tm *gm;
22 int k,kk,mk,num;
23 time_t sget;
24 int i;
25 int l;
26 
27 XDefineCursor(display,window,watch_cursor);
28 XmUpdateDisplay(top_level);
29 
30 argcount=0;
31 XtSetArg(args[argcount],XmNwidth,774);argcount++;
32 XtSetArg(args[argcount],XmNheight,580);argcount++;
33 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
34 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
35 menu_bar=XmCreateMenuBar(main_window,"Menubar",args,argcount);
36 text=XmStringCreateLocalized("Reading Map and Precipitation Data");
37 
38 argcount=0;
39 XtSetArg(args[argcount],XmNwidth, 300);argcount++;
40 XtSetArg(args[argcount],XmNheight,300);argcount++;
41 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
42 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
43 XtSetArg(args[argcount],XmNmessageString,text);argcount++;
44 XtSetArg(args[argcount],XmNdialogStyle,
45  XmDIALOG_FULL_APPLICATION_MODAL);argcount++;
46 dialog=XmCreateMessageDialog(drawing_area,"Map Backgrounds",args,argcount);
47 XtUnmanageChild(XmMessageBoxGetChild(dialog,XmDIALOG_CANCEL_BUTTON));
48 XtUnmanageChild(XmMessageBoxGetChild(dialog,XmDIALOG_HELP_BUTTON));
49 XtUnmanageChild(XmMessageBoxGetChild(dialog,XmDIALOG_SEPARATOR));
50 XtAddCallback(dialog,XmNokCallback,kill_dialog,NULL);
51 
52 XtSetSensitive(XmMessageBoxGetChild(dialog,XmDIALOG_OK_BUTTON),False);
53 
54 argcount=0;
55 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
56 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
57 rowcol=XtCreateWidget("rowcolo",xmRowColumnWidgetClass,dialog,args,argcount);
58 
59 argcount=0;
60 XtSetArg(args[argcount],XmNeditMode,XmMULTI_LINE_EDIT);argcount++;
61 XtSetArg(args[argcount],XmNscrollBarDisplayPolicy,XmSTATIC);argcount++;
62 XtSetArg(args[argcount],XmNeditable,False);argcount++;
63 XtSetArg(args[argcount],XmNcolumns,40);argcount++;
64 XtSetArg(args[argcount],XmNrows,10);argcount++;
65 XtSetArg(args[argcount],XmNscrollVertical,True);argcount++;
66 XtSetArg(args[argcount],XmNscrollHorizontal,True);argcount++;
67 XtSetArg(args[argcount],XmNcursorPositionVisible,False);argcount++;
68 XtSetArg(args[argcount],XmNscrollingPolicy,XmAPPLICATION_DEFINED);argcount++;
69 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
70 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
71 s_text=XmCreateScrolledText(rowcol,"text",args,argcount);
72 
73 XtManageChild(s_text);
74 
75 XtVaGetValues(XtParent(s_text),XmNverticalScrollBar,&scrollbar,NULL);
76 
77 XtManageChild(rowcol);
78 XtManageChild(dialog);
79 XmStringFree(text);
80 
81 XmtWaitUntilMapped(dialog);
82 
83 posit=0;
84 
86 
87 legend_save=-1;
88 tlegend_save=-1;
89 add_topo_flag=-1;
90 zoom=1;
91 
93 
94 gmtim=gmtime(&btim);
95 
96 emonth=gmtim->tm_mon;
97 
98 tget=btim - 24L*3600L*(long)9;
99 
100 gm=gmtime(&tget);
101 
102 smonth=gm->tm_mon;
103 
104 isom=emonth;
106 
107 read_maps((char *)data,smonth,emonth);
108 
109 basin_file[0]=0;hrap_file[0]=0;
110 grid_file[0]=0;
111 station_list_file[0]=0;rfc[0]=0;
112 zstation_list_file[0]=0;
115 topo_buf[0]=0;
116 ngrid_file[0]=0;
118 type[0]=0;
119 gif_file[0]=0;
120 gifbuf[0]=0;
121 station_climo_file[0]=0;
122 dbase_out[0]=0;zdbase_out[0]=0;
123 map_out[0]=0;zmap_out[0]=0;
124 
125 fr=fopen((char *)data,"r");
126 
127 for(;;) {
128 
129  p=fgets(ibuf,80,fr);
130 
131  if(p==NULL)
132  break;
133 
134  p=strchr(ibuf,'\n');
135  if(p!=NULL)
136  *p=0;
137  p=pars_line(ibuf,"station_climo_list=",station_climo_file);
138  p=pars_line(ibuf,"rfc=",rfc);
139  p=pars_line(ibuf,"obs_archive_directory=",obs_archive_file);
140  p=pars_line(ibuf,"scratch_directory=",scratch_file);
141 
142  p=pars_line(ibuf,"station_list=",station_list_file);
143  p=pars_line(ibuf,"stationz_list=",zstation_list_file);
144  p=pars_line(ibuf,"hrap_gage_grid=",hrap_gage_file);
145  p=pars_line(ibuf,"hrap_zgage_grid=",hrap_zgage_file);
146  p=pars_line(ibuf,"basins=",basin_file);
147  p=pars_line(ibuf,"hrap=",hrap_file);
148  p=pars_line(ibuf,"type=",type);
149  p=pars_line(ibuf,"OPOINT_out=",dbase_out);
150  p=pars_line(ibuf,"OMAP_out=",map_out);
151  p=pars_line(ibuf,"ZPOINT_out=",zdbase_out);
152  p=pars_line(ibuf,"OMAZ_out=",zmap_out);
153  if((p=pars_line(ibuf,"pxtemp=",dbuf))!=NULL) {
154 
155  pxtemp=atof(dbuf);
156  dmvalue=pxtemp*100*3.28/.55;
157 
158  }
159 
160  p=pars_line(ibuf,"freezing_level_directory=",freezing_level_directory);
161  p=pars_line(ibuf,"topo_scale=",topo_buf);
162  p=pars_line(ibuf,"hrap_grid_mask=",hrap_grid_mask_file);
163  p=pars_line(ibuf,"gif_directory=",gif_file);
164 
165  if((p=pars_line(ibuf,"gif_location=",gifbuf))!=NULL)
166  strcpy(gifbuf,p);
167 
168  if((p=pars_line(ibuf,"type_source=",dbuf))!=NULL) {
169 
170  q=strchr(p,',');
171 
172  if(q==NULL)
173  continue;
174 
175  *q=0;
176 
177  strcpy(ts[tsmax].abr,p);
178 
179  strcpy(ts[tsmax].name,q+1);
180 
181  tsmax++;
182 
183  }
184 
185 
186  }
187 
188 if(gifbuf[0]!=0) {
189 
190  m=0;
191  while(gifbuf[m]!=0) {
192 
193  if(gifbuf[m]==',')
194  gifbuf[m]=' ';
195 
196  m++;
197 
198  }
199 
200  ier=sscanf(gifbuf,"%f %f %f %f %f %f",
201  &giflat[1],&giflon[1],
202  &giflat[2],&giflon[2],
203  &giflat[3],&giflon[3]);
204 
205  maxgif=ier/2;
206 
207  }
208 
209 if(gif_file[0]==0)
210  strcpy(gif_file,scratch_file);
211 
212 if(type[0]==0)
213  strcpy(type,"2");
214 
215 if(topo_buf[0] != 0)
216  topo_scale=atof(topo_buf);
217 
218 fclose(fr);
219 
220 sprintf(pcpn_file,"%s/opoint.%s.",scratch_file,rfc);
221 sprintf(proc_pcpn_file,"%s/opoint2.%s.",scratch_file,rfc);
222 sprintf(snow_file,"%s/snopoint.%s.",scratch_file,rfc);
223 
224 sprintf(map_file,"%s/omap.%s.",scratch_file,rfc);
225 sprintf(grid_file,"%s/ogrid.%s.",scratch_file,rfc);
226 sprintf(ngrid_file,"%s/ngrid.",scratch_file);
227 
228 sprintf(zpoint1_file,"%s/ozpoint.%s.",scratch_file,rfc);
229 sprintf(zpoint2_file,"%s/ozpoint2.%s.",scratch_file,rfc);
230 sprintf(zgrid_file,"%s/ozgrid.%s.",scratch_file,rfc);
231 sprintf(rsel_file,"%s/omaz.%s.",scratch_file,rfc);
232 
233 if(zstation_list_file[0] != 0) {
234 
235  strcpy(dbuf,"reading zstation list\n");
236  posit=posit+strlen(dbuf);
237  XmTextInsert(s_text,posit,dbuf);
238 
239  XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
240  XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
241  &increment,&page_increment);
242  XmScrollBarSetValues(scrollbar,scrollm-slider_size,
243  slider_size,increment,page_increment,True);
244 
245  XmUpdateDisplay(top_level);
246  get_zstation_list(zstation_list_file);
247 
248  }
249 
250 if(station_list_file[0] != 0) {
251 
252  strcpy(dbuf,"reading station list\n");
253  posit=posit+strlen(dbuf);
254  XmTextInsert(s_text,posit,dbuf);
255 
256  XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
257  XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
258  &increment,&page_increment);
259  XmScrollBarSetValues(scrollbar,scrollm-slider_size,
260  slider_size,increment,page_increment,True);
261 
262  XmUpdateDisplay(top_level);
264 
265  }
266 
267 for(m=0;m<max_stations;m++) {
268 
269  for(l=0;l<10;l++) {
270 
271  pdata[l].stn[m].scons=calloc(5,sizeof(short int));
272  pdata[l].stn[m].rain=calloc(5,sizeof(struct rain));
273  pdata[l].stn[m].frain=calloc(5,sizeof(struct rain));
274  pdata[l].stn[m].frzlvl=calloc(5,sizeof(int));
275  pdata[l].stn[m].snoflag=calloc(5,sizeof(short int));
276  pdata[l].stn[m].sflag=calloc(5,sizeof(short int));
277  pdata[l].stn[m].srain=calloc(5,sizeof(struct rain));
278 
279  }
280 
281 }
282 
284 
286 
288 
289 if(isohyets_used==0)
290  method=1;
291 
292 items[0].label=NULL;
293 items[0].callback=NULL;
294 items[0].callback_data=NULL;
295 
296 main_bar=BuildPulldownPushMenu(menu_bar,"File",'M',items);
297 jwidget=AttachToCascade(menu_bar,"File",main_bar);
298 
299 argcount=0;
300 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
301 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
302 
303 pbutton=XmCreatePushButton(main_bar,"Send to Database",args,argcount);
304 XtAddCallback(pbutton,XmNactivateCallback,send_dbase,NULL);
305 XtManageChild(pbutton);
306 
307 argcount=0;
308 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
309 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
310 
311 pbutton=XmCreatePushButton(main_bar,"Make GIF",args,argcount);
312 XtAddCallback(pbutton,XmNactivateCallback,make_gif,NULL);
313 XtManageChild(pbutton);
314 
315 argcount=0;
316 
317 XtSetArg(args[argcount],XmNbackground,mmap[1]);argcount++;
318 XtSetArg(args[argcount],XmNforeground,mmap[0]);argcount++;
319 
320 pbutton=XmCreatePushButton(main_bar,"Quit",args,argcount);
321 XtAddCallback(pbutton,XmNactivateCallback,quit_all,NULL);
322 XtManageChild(pbutton);
323 
324 strcpy(dbuf,"reading basin data\n");
325 posit=posit+strlen(dbuf);
326 XmTextInsert(s_text,posit,dbuf);
327 
328 XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
329 XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
330  &increment,&page_increment);
331 XmScrollBarSetValues(scrollbar,scrollm-slider_size,
332  slider_size,increment,page_increment,True);
333 
334 XmUpdateDisplay(top_level);
335 
337 
338 strcpy(dbuf,"reading Precipitation data\n");
339 posit=posit+strlen(dbuf);
340 XmTextInsert(s_text,posit,dbuf);
341 
342 XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
343 XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
344  &increment,&page_increment);
345 XmScrollBarSetValues(scrollbar,scrollm-slider_size,
346  slider_size,increment,page_increment,True);
347 
348 XmUpdateDisplay(top_level);
349 
350 ier=chdir(scratch_file);
351 
352 if(ier==0) {
353 
354 
355  }
356 
357 else {
358 
359  printf("could not change directory to %s\n",scratch_file);
360 
361  exit(1);
362 
363  }
364 
365 for(m=0;m<maxdays;m++) {
366 
367  tget=btim - 24L*3600L*(long)m;
368 
370 
372 
373  for(k=0;k<5;k++) {
374 
375  if(k < 2)
376  sget=tget-84600L;
377 
378  else
379  sget=tget;
380 
381  gmtim=gmtime(&sget);
382 
383  kk=3-k;
384 
385  sprintf(dbuf,"%s%02d-%02d-%02d.%s",ngrid_file,
386  gm->tm_mon+1,gm->tm_mday,gm->tm_year,timefile[k]);
387 
388  if(k < 4)
389  num=50+m*4+kk;
390 
391  else
392  num=90+m;
393 
394  mer=read_qpf_grids(num,dbuf);
395 
396 
397 
398  }
399 
400  pdata[m].stddev=3.0;
401 
402  tget=btim - 24L*3600L*(long)m;
403 
404  gm=gmtime(&tget);
405 
406  sprintf(preca,"%s%02d-%02d-%02d",
407  pcpn_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
408  sprintf(precb,"%s%02d-%02d-%02d",
409  proc_pcpn_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
410  sprintf(precc,"%sdev.%02d-%02d-%02d",
411  proc_pcpn_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
412  sprintf(precd,"%sbad.%02d-%02d-%02d",
413  proc_pcpn_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
414  sprintf(prece,"%s%02d-%02d-%02d",
415  snow_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
416  sprintf(zpointa,"%s%02d-%02d-%02d",
417  zpoint1_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
418  sprintf(zpointb,"%s%02d-%02d-%02d",
419  zpoint2_file,gm->tm_mon+1,gm->tm_mday,gm->tm_year);
420 
421  sprintf(databuf,"%02d-%02d-%02d",gm->tm_mon+1,gm->tm_mday,gm->tm_year);
422 
423  sprintf(buf,"cp %s/opoint.%s.%02d-%02d-%02d %s",obs_archive_file,rfc,
424  gm->tm_mon+1,gm->tm_mday,gm->tm_year,scratch_file);
425 
426  system(buf);
427 
428  sprintf(buf,"cp %s/snopoint.%s.%02d-%02d-%02d %s",obs_archive_file,rfc,
429  gm->tm_mon+1,gm->tm_mday,gm->tm_year,scratch_file);
430 
431  system(buf);
432 
433  sprintf(buf,"cp %s/ozpoint.%s.%02d-%02d-%02d %s",obs_archive_file,rfc,
434  gm->tm_mon+1,gm->tm_mday,gm->tm_year,scratch_file);
435 
436  system(buf);
437 
438  read_snow(prece,m);
439 
440  mer=read_precip_a(preca,tget,m);
441 
442  read_bad_values(precd,m);
443 
444  ier=read_precip_b(precb,tget,m);
445 
446  read_zlevel_a(zpointa,tget,m);
447 
448  read_zlevel_b(zpointb,tget,m);
449 
450  fp=fopen(precc,"r");
451  if(fp!=NULL) {
452 
453  p=fgets(ibuf,80,fp);
454 
455  pdata[m].stddev=atof(ibuf);
456 
457  if(pdata[m].stddev != 1.0 &&
458  pdata[m].stddev != 3.0 &&
459  pdata[m].stddev != 5.0)
460  pdata[m].stddev=3.0;
461 
462  fclose(fp);
463 
464  }
465 
466  if(ier==1)
467  sprintf(dbuf,"%s - level 2 data\n",databuf);
468 
469  else if(ier==-1 && mer==1)
470  sprintf(dbuf,"%s - level 1 data\n",databuf);
471 
472  else if(ier==-2 && mer==1)
473  sprintf(dbuf,"%s - level 1 data overwrite\n",databuf);
474 
475  else
476  sprintf(dbuf,"%s - no data\n",databuf);
477  posit=posit+strlen(dbuf);
478  XmTextInsert(s_text,posit,dbuf);
479 
480  XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
481  XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
482  &increment,&page_increment);
483  XmScrollBarSetValues(scrollbar,scrollm-slider_size,
484  slider_size,increment,page_increment,True);
485 
486  XmUpdateDisplay(top_level);
487 
489 
491 
493 
495 
497 
498  /* read in grids and make maps if level 2 found */
499 
500  if(ier==1) {
501 
502  for(k=0;k<5;k++) {
503 
504  if(k < 2)
505  sget=tget-84600L;
506 
507  else
508  sget=tget;
509 
510  gmtim=gmtime(&sget);
511 
512  kk=3-k;
513 
514  sprintf(dbuf,"%s%02d-%02d-%02d.%s",ngrid_file,
515  gm->tm_mon+1,gm->tm_mday,gm->tm_year,timefile[k]);
516 
517  if(k < 4)
518  num=50+m*4+kk;
519 
520  else
521  num=90+m;
522 
523  mer=read_qpf_grids(num,dbuf);
524 
525  sprintf(dbuf,"%s%02d-%02d-%02d.%s",grid_file,
526  gm->tm_mon+1,gm->tm_mday,gm->tm_year,timefile[k]);
527 
528 
529  if(k < 4)
530  num=m*4+kk;
531 
532  else
533  num=40+m;
534 
535  mer=read_qpf_grids(num,dbuf);
536 
537  if(mer==-1) {
538 
539  if(k==4)
540  mk=1;
541 
542  else
543  mk=0;
544 
545  if(pdata[m].used[k]!=0) {
546 
547  render_pcp(m,k,mk);
548 
549  write_qpf_grids(dbuf);
550 
551  }
552 
553  }
554 
555  make_map(num);
556 
557 
558  }
559 
560  }
561 
562 for(k=0;k<4;k++) {
563 
564  if(zdata[m].level[k] != 2)
565  continue;
566 
567  if(k < 2)
568  sget=tget-84600L;
569 
570  else
571  sget=tget;
572 
573  gmtim=gmtime(&sget);
574 
575  kk=3-k;
576 
577  sprintf(dbuf,"%s%02d-%02d-%02d.%s",zgrid_file,
578  gm->tm_mon+1,gm->tm_mday,gm->tm_year,ztimefile[k]);
579 
580  num=100+m*4+kk;
581 
582  mer=read_qpf_grids(num,dbuf);
583 
584  if(mer==-1)
585  render_z(pcpn_day,k,0);
586 
587  make_rsel(num);
588 
589  }
590 
591 }
592 
593 get_bad_snotel();
594 
596 
597 for(m=0;m<10;m++)
598  get_zlevel(m);
599 
600 /* edit menus */
601 
602 items[0].label="Precipitation";
604 items[0].callback_data=NULL;
605 items[1].label="Freezing level";
607 items[1].callback_data=NULL;
608 items[2].label=NULL;
609 
610 main_bar=BuildPulldownPushMenu(menu_bar,"Edit",'M',items);
611 jwidget=AttachToCascade(menu_bar,"Edit",main_bar);
612 
613 main_bar=BuildPulldownToggleMenu(menu_bar,"Backgrounds",'M',ktems);
614 jwidget=AttachToCascade(menu_bar,"Backgrounds",main_bar);
615 
616 items[0].label="Find station";
618 items[0].callback_data=(XtPointer)1;
619 items[1].label=NULL;
620 
621 main_bar=BuildPulldownPushMenu(menu_bar,"Options",'M',items);
622 jwidget=AttachToCascade(menu_bar,"Options",main_bar);
623 
624 /* products menu */
625 
626 XtManageChild(menu_bar);
627 
628 XmMainWindowSetAreas(main_window,menu_bar,NULL,NULL,NULL,drawing_area);
629 
630 strcpy(dbuf,"Done!!\n");
631 posit=posit+strlen(dbuf);
632 XmTextInsert(s_text,posit,dbuf);
633 
634 XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
635 XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
636  &increment,&page_increment);
637 XmScrollBarSetValues(scrollbar,scrollm-slider_size,
638  slider_size,increment,page_increment,True);
639 
640 get_legend();
641 
642 XmUpdateDisplay(top_level);
643 
644 XtSetSensitive(XmMessageBoxGetChild(dialog,XmDIALOG_OK_BUTTON),True);
645 
646 }
int max_stations
Definition: daily_qc.c:199
void restore_bad_values(int iday)
Definition: bad_values.c:242
void read_bad_values(char *fname, int m)
Definition: bad_values.c:4
void quality_control_stations(int j)
Definition: bu.c:4
void calculate_zlevel()
void check_consistency(int j)
Widget main_window
Definition: daily_qc.c:214
char gifbuf[1000]
Definition: daily_qc.c:92
float stddev
Definition: daily_qc.c:273
int dmvalue
Definition: daily_qc.c:41
int old_isom
Definition: daily_qc.c:141
char rsel_file[1000]
Definition: daily_qc.c:184
double cen_lon
Definition: daily_qc.c:190
int legend_save
Definition: daily_qc.c:263
unsigned long mmap[16]
Definition: daily_qc.c:226
int maxgif
Definition: daily_qc.c:89
int add_topo_flag
Definition: daily_qc.c:260
void change_edit_stations()
Definition: daily_qc.c:3077
char hrap_gage_file[1000]
Definition: daily_qc.c:186
Widget BuildPulldownPushMenu(Widget parent, char *menu_title, char menu_mnemonic, struct MenuItem *items)
Definition: daily_qc.c:1115
int maxdays
Definition: daily_qc.c:85
Widget top_level
Definition: daily_qc.c:214
char basin_file[1000]
Definition: daily_qc.c:175
double min_lat
Definition: daily_qc.c:190
int tlegend_save
Definition: daily_qc.c:263
char topo_buf[100]
Definition: daily_qc.c:124
char hrap_zgage_file[1000]
Definition: daily_qc.c:187
char obs_archive_file[1000]
Definition: daily_qc.c:136
char station_climo_file[1000]
Definition: daily_qc.c:107
int pcpn_day
Definition: daily_qc.c:248
int begin_year
Definition: daily_qc.c:149
int begin_day
Definition: daily_qc.c:149
void quit_all()
char hrap_file[1000]
Definition: daily_qc.c:175
char scratch_file[1000]
Definition: daily_qc.c:137
float topo_scale
Definition: daily_qc.c:122
Widget scrollbar
Definition: daily_qc.c:215
time_t btim
Definition: daily_qc.c:140
char zdbase_out[1000]
Definition: daily_qc.c:181
void clear_drawable(Drawable pixw)
Definition: daily_qc.c:1607
int isohyets_used
Definition: daily_qc.c:192
int begin_month
Definition: daily_qc.c:149
Display * display
Definition: daily_qc.c:228
char gif_file[1000]
Definition: daily_qc.c:91
int posit
Definition: daily_qc.c:255
int emonth
Definition: daily_qc.c:142
char * ztimefile[]
Definition: daily_qc.c:146
Widget menu_bar
Definition: daily_qc.c:214
char proc_pcpn_file[1000]
Definition: daily_qc.c:175
char pcpn_file[1000]
Definition: daily_qc.c:175
void get_bad_snotel()
Definition: daily_qc.c:9202
char type[5]
Definition: daily_qc.c:98
void make_gif()
Definition: daily_qc.c:8403
char zpoint2_file[1000]
Definition: daily_qc.c:177
char zmap_out[1000]
Definition: daily_qc.c:181
char map_out[1000]
Definition: daily_qc.c:179
char zpoint1_file[1000]
Definition: daily_qc.c:177
char station_list_file[1000]
Definition: daily_qc.c:173
char ngrid_file[1000]
Definition: daily_qc.c:188
Widget AttachToCascade(Widget parent, char *label, Widget sub_menu)
Definition: daily_qc.c:1225
void send_dbase()
Definition: daily_qc.c:6490
char dbase_out[1000]
Definition: daily_qc.c:179
char map_file[1000]
Definition: daily_qc.c:179
float giflat[5]
Definition: daily_qc.c:90
int zoom
Definition: daily_qc.c:289
struct MenuItem ktems[100]
Definition: daily_qc.c:240
char grid_file[1000]
Definition: daily_qc.c:183
char * timefile[]
Definition: daily_qc.c:144
int tsmax
Definition: daily_qc.c:87
Window window
Definition: daily_qc.c:229
Widget drawing_area
Definition: daily_qc.c:214
char zgrid_file[1000]
Definition: daily_qc.c:177
Widget s_text
Definition: daily_qc.c:214
char rfc[100]
Definition: daily_qc.c:138
float pxtemp
Definition: daily_qc.c:25
int isom
Definition: daily_qc.c:141
void change_zedit_stations()
Definition: daily_qc.c:4113
Widget BuildPulldownToggleMenu(Widget parent, char *menu_title, char menu_mnemonic, struct MenuItem *items)
Definition: daily_qc.c:1143
int method
Definition: daily_qc.c:254
void kill_dialog()
int smonth
Definition: daily_qc.c:142
char hrap_grid_mask_file[1000]
Definition: daily_qc.c:117
char snow_file[1000]
Definition: daily_qc.c:70
float giflon[5]
Definition: daily_qc.c:90
Cursor watch_cursor
Definition: daily_qc.c:220
void other_pcpn_options()
double max_lat
Definition: daily_qc.c:190
void estimate_daily_stations(int j)
void estimate_partial_stations(int j)
void get_hrap_coord(double maximum_latitude, double minimum_latitude, double center_longitude, int smonth, int emonth)
Definition: get_hrap_coord.c:4
void get_zgage_grid(double maximum_latitude, double minimum_latitude, double center_longitude)
Definition: get_zgage_grid.c:4
void get_zlevel(int j)
Definition: get_zlevel.c:4
read_maps((char *) data, smonth, emonth)
fr
Definition: jnk.c:17
printf("pcp %d\n", pcp_in_use[103])
freezing_level_directory[100]
Definition: jnk.c:7
exit(1)
zstation_list_file[0]
Definition: jnk.c:6
get_hrap_mask(hrap_grid_mask_file)
void area_select(Widget w, XtPointer data)
Definition: junk.c:2
void make_map(int)
void get_station_list(char *)
int read_precip_a(char *, time_t, int)
Definition: read_precip_a.c:3
long ouptime(int, int, int, int, int, int)
void render_pcp(int, int, int)
char * pars_line(char *, char *, char *)
void XmtWaitUntilMapped(Widget)
void get_basin_data(char *, char *)
int read_precip_b(char *, time_t, int)
Definition: read_precip_b.c:4
void read_archived_data(char *, char *, char *, time_t, char *)
int read_qpf_grids(int k, char *fname)
void write_qpf_grids(char *fname)
int read_snow(char *fname, int i)
Definition: read_snow.c:3
int read_zlevel_a(char *fname, time_t tget, int i)
Definition: read_zlevel_a.c:3
int read_zlevel_b(char *fname, time_t tget, int i)
Definition: read_zlevel_b.c:3
void render_z(int pcpn_day, int pcpn_time, int pcpn_time_step)
Definition: render_z.c:12
Definition: misc.h:386
char * label
Definition: misc.h:388
void(* callback)()
Definition: misc.h:390
XtPointer callback_data
Definition: misc.h:391
Definition: misc.h:216
float stddev
Definition: misc.h:220
struct stn stn[1500]
Definition: misc.h:222
Definition: misc.h:191
struct rain rain[5]
Definition: misc.h:202
short int * scons
Definition: misc_new.h:380
short int * snoflag
Definition: misc_new.h:384
struct rain frain[5]
Definition: misc.h:203
short int * sflag
Definition: misc_new.h:385
int frzlvl[5]
Definition: misc.h:204
struct rain * srain
Definition: misc_new.h:386
Definition: misc_new.h:35