/*************/ /* igrfidf.c */ /**************************************************************/ /* to compile: */ /* gcc igrfidf.c -o igrfidf -L/home/SHARE/lib -lgm -lm */ /**************************************************************/ /* Usage: igrfidf year:flat:flon:alt */ /**************************************************************/ #include #include #define NGEN 12 main(int argc, char *argv[]) { int latd, lond; double year, flat, flon, alt, dip, dec, tfm, fm[6]; if (argc < 2) { printf("igrfidf: parameters missing\n"); exit(1); } sscanf(argv[1], "%lf:%lf:%lf:%lf", &year, &flat, &flon, &alt); gigrf(NGEN, year); igrfc(flat/60., flon/60., alt, &tfm); igrfm(fm); latd = (int)(flat/60.); flat -= (double)(latd * 60); lond = (int)(flon/60.); flon -= (double)(lond * 60); printf("OK\n"); printf("%.1f %d %.1f %d %.1f %.1f\n", year, latd,flat, lond,flon, alt); printf("%.1f %.1f %.1f %d\n", fm[4], fm[5], tfm, NGEN); }