Mapper
libraries
common
get_lmaxmin.c
Go to the documentation of this file.
1
#include "
prototypes_new.h
"
2
3
float
get_lmaxmin
(
float
lat
,
float
lon
,
int
mon
,
int
type)
4
5
{
6
7
extern
struct
maxmin
*
maxmin
;
8
int
kk,jj,ix,iy;
9
double
distance,
value
,dist1,dist2,dist,lat1,lon1;
10
float
mxn;
11
float
conv=.0174;
12
13
if
(
maxmin
==NULL)
14
return
(-9999);
15
16
iy=((
maxmin
->
max_lat
-
lat
)/
maxmin
->
delta_lat
+.00001);
17
ix=((
maxmin
->
max_lon
-
lon
)/
maxmin
->
delta_lon
+.00001);
18
19
if
(ix < 0 || iy < 0 || ix >=
maxmin
->
maxi
-1 || iy>=
maxmin
->
maxj
-1)
20
return
(-9999.0);
21
22
distance=0.0;
23
value
=0.0;
24
25
for
(kk=ix;kk<=ix+1;kk++) {
26
27
for
(jj=iy;jj<=iy+1;jj++) {
28
29
lat1=
maxmin
->
max_lat
-
maxmin
->
delta_lat
*jj;
30
31
lon1=
maxmin
->
max_lon
-
maxmin
->
delta_lon
*kk;
32
33
dist1=(lon1-
lon
)*cos((lat1+
lat
)/2*conv);
34
35
dist2=
lat
-lat1;
36
37
dist=pow(dist1,2)+pow(dist2,2);
38
39
if
(dist < 0.00001)
40
dist=.00001;
41
42
dist=1/dist;
43
44
if
(type==0 &&
maxmin
->
maxvalue
[
mon
][kk][jj] <= -50)
45
continue
;
46
47
if
(type==1 &&
maxmin
->
minvalue
[
mon
][kk][jj] <= -50)
48
continue
;
49
50
if
(type==0)
51
value
=
value
+dist*(float)
maxmin
->
maxvalue
[
mon
][kk][jj];
52
53
if
(type==1)
54
value
=
value
+dist*(float)
maxmin
->
minvalue
[
mon
][kk][jj];
55
56
distance=distance+dist;
57
58
}
59
}
60
61
if
(distance==0)
62
return
(-9999.0);
63
64
mxn=
value
/distance;
65
66
return
(mxn);
67
68
69
}
70
71
72
73
74
75
76
mon
char * mon[]
Definition:
get_isohyet_coord_new.c:3
get_lmaxmin
float get_lmaxmin(float lat, float lon, int mon, int type)
Definition:
get_lmaxmin.c:3
lat
double lat
Definition:
mapp2h.h:41
lon
double lon
Definition:
mapp2h.h:41
value
float value
Definition:
plot_qpf_legend.c:29
prototypes_new.h
maxmin
Definition:
misc_new.h:762
maxmin::max_lat
float max_lat
Definition:
misc_new.h:769
maxmin::delta_lat
float delta_lat
Definition:
misc_new.h:773
maxmin::maxj
int maxj
Definition:
misc_new.h:768
maxmin::delta_lon
float delta_lon
Definition:
misc_new.h:774
maxmin::max_lon
float max_lon
Definition:
misc_new.h:770
maxmin::maxvalue
short int *** maxvalue
Definition:
misc_new.h:765
maxmin::minvalue
short int *** minvalue
Definition:
misc_new.h:766
maxmin::maxi
int maxi
Definition:
misc_new.h:767
Generated by
1.9.1