##// END OF EJS Templates
Update configs
Update configs

File last commit:

r0:b84e1135c2c4
r9:2e29893b10f5
Show More
testTrace.c
327 lines | 7.4 KiB | text/x-c | CLexer
Initial
r0 /* $Id: testTrace.c 3304 2011-01-17 15:25:59Z brideout $ */
#include <stdio.h>
#include <madDeriveMethods.h>
int
main(argc, argv)
int argc;
char *argv[];
{
int result = 0;
double gdlat, glon, gdalt, stopAlt, end_gdlat, end_glon, end_gdalt;
int model, qualifier;
printf("Test C Field trace package\n");
printf("get 900 km NH intercept Tsyg starting from lat, lon, alt = 10, 290, 10000:\n");
gdlat = 10.0;
glon = 290.0;
gdalt = 10000.0;
stopAlt = 900.0;
model = 0;
qualifier = 1;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get 900 km SH intercept Tsyg starting from lat, lon, alt = 10, 290, 10000:\n");
qualifier = 2;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get 900 km conjugate Tsyg starting from lat, lon, alt = 10, 290, 10000:\n");
qualifier = 0;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get 900 km apex Tsyg starting from lat, lon, alt = 10, 290, 10000:\n");
qualifier = 3;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get 900 SH intercept Tsyg starting from lat, lon, alt = 10, 290, 900:\n");
gdalt = 900.0;
qualifier = 2;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get 900 SH intercept Tsyg starting from lat, lon, alt = 70, 290, 900:\n");
gdlat = 70.0;
qualifier = 2;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
{
printf("Result: failed\n");
printf("Error result: gdlat = %g, glon = %g, gdalt = %g\n", end_gdlat,
end_glon, end_gdalt);
}
printf("get 1000 conjugate IGRF starting from lat, lon, alt = 30, 290, 1000:\n");
gdalt = 1000.0;
gdlat = 30.0;
qualifier = 0;
model = 1;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get SH 0 km intercept IGRF starting from lat, lon, alt = 30, 290, 1000:\n");
stopAlt = 0.0;
qualifier = 2;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get NH 50 km intercept IGRF starting from lat, lon, alt = 30, 290, 1000:\n");
stopAlt = 50.0;
qualifier = 1;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get apex IGRF starting from lat, lon, alt = 30, 290, 1000:\n");
stopAlt = 50.0;
qualifier = 3;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get apex Tsyg starting from lat, lon, alt = 30, 290, 1000:\n");
model = 0;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: gdlat = %f, glon = %f, gdalt = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
printf("get GSM XY Tsyg starting from lat, lon, alt = 30, 290, 1000:\n");
model = 0;
qualifier = 4;
result = traceMagneticField(2004,
1,
1,
0,
0,
0,
gdlat,
glon,
gdalt,
model,
qualifier,
stopAlt,
&end_gdlat,
&end_glon,
&end_gdalt);
if (result == 0)
printf("Result: GSM X = %f, GSM Y = %f, GSM Z = %f\n", end_gdlat,
end_glon, end_gdalt);
else
printf("Result: failed\n");
return(0);
}