Mapper
get_topo.c
Go to the documentation of this file.
1 #include "prototypes.h"
2 
3 void get_topo(char *fname)
4 
5 {
6 
7  int i,j,ier,maxj,maxi,max_value,k;
8  float lat,lon;
9  extern struct top *topo;
10  FILE *fp;
11  char *p,kbuf[10000];
13 
14  topo=(struct top *) calloc(1,sizeof(struct top));
15  if(topo==NULL) {
16 
17  printf("could not allocate topo space\n");
18  exit(1);
19 
20  }
21 
22  max_value=0;
23 
24  fp=fopen(fname,"r");
25 
26  if(fp==NULL) {
27 
28  printf("could not open %s\n",fname);
29  exit(1);
30 
31  }
32 
33  p=fgets(kbuf,80,fp);
34 
35  ier=sscanf(kbuf,"%f %f %f %f %f %f",&max_lat,&max_lon,&total_lat,&total_lon,&delta_lat,&delta_lon);
36  delta_lat=delta_lat/60.;
37  delta_lon=delta_lon/60.;
38 
41 
42  topo->maxi=maxi;
43  topo->maxj=maxj;
50 
51  topo->value=(short int**) calloc(maxi,sizeof(short int *));
52 
53  if( topo->value==NULL) {
54 
55  printf("no memory for topo array\n");
56  exit(1);
57 
58  }
59 
60  for(i=0;i<maxi;i++) {
61 
62  topo->value[i]=(short int *) calloc(maxj,sizeof(short int));
63 
64  if( topo->value[i]==NULL) {
65 
66  printf("no memory for topo array\n");
67  exit(1);
68 
69  }
70 
71  }
72 
73  for(j=0;j<maxj;j++) {
74 
75  fread(kbuf,sizeof(char),maxi*4,fp);
76 
77  k=0;
78 
79  for(i=0;i<maxi;i++) {
80 
81  topo->value[i][j]=atoi(&kbuf[k]);
82 
83  k=k+4;
84 
85  }
86 
87  }
88 
89 fclose(fp);
90 printf("return from topo\n");
91 return;
92 
93 }
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
struct top * topo
Definition: build_hrap.c:3
static int i
void get_topo(char *fname)
Definition: get_topo.c:3
fclose(fp)
printf("fbuf is %s\n", fbuf)
fp
Definition: make_NEXRAD.c:339
int j
Definition: mapp2h.h:48
double lat
Definition: mapp2h.h:41
double lon
Definition: mapp2h.h:41
int k
Definition: mapp2h.h:48
double max_lat
Definition: mapper.c:22
char fname[100]
Definition: send_afos.c:6
Definition: misc.h:509
float max_lon
Definition: misc.h:515
float total_lon
Definition: misc.h:517
float delta_lon
Definition: misc.h:519
int maxi
Definition: misc.h:512
int maxj
Definition: misc.h:513
float delta_lat
Definition: misc.h:518
float total_lat
Definition: misc.h:516
Definition: misc.h:523
float delta_lat
Definition: misc.h:533
float max_lat
Definition: misc.h:529
int maxi
Definition: misc.h:527
float total_lat
Definition: misc.h:531
float delta_lon
Definition: misc.h:534
short int ** value
Definition: misc.h:526
float max_lon
Definition: misc.h:530
float total_lon
Definition: misc.h:532
int maxj
Definition: misc.h:528