| 2 |
& xl,icode,dip,dec) |
& xl,icode,dip,dec) |
| 3 |
c---------------------------------------------------------------- |
c---------------------------------------------------------------- |
| 4 |
c INPUT: |
c INPUT: |
| 5 |
c xlat geodatic latitude in degrees |
c xlat geodatic latitude in degrees |
| 6 |
c xlong geodatic longitude in degrees |
c xlong geodatic longitude in degrees |
| 7 |
c year decimal year (year+month/12.0-0.5 or year+day-of-year/365 |
c year decimal year (year+month/12.0-0.5 or year+day-of-year/365 |
| 8 |
c or 366 if leap year) |
c or 366 if leap year) |
| 9 |
c height height in km |
c height height in km |
| 10 |
c OUTPUT: |
c OUTPUT: |
| 11 |
c xl L value |
c xl L value |
| 12 |
c icode =1 L is correct; =2 L is not correct; |
c icode =1 L is correct; =2 L is not correct; |
| 13 |
c =3 an approximation is used |
c =3 an approximation is used |
| 14 |
c dip geomagnetic inclination in degrees |
c dip geomagnetic inclination in degrees |
| 15 |
c dec geomagnetic declination in degress |
c dec geomagnetic declination in degress |
| 16 |
c---------------------------------------------------------------- |
c---------------------------------------------------------------- |
| 17 |
|
|
| 18 |
REAL LATI,LONGI |
REAL LATI,LONGI |
| 20 |
SAVE /GENER/ |
SAVE /GENER/ |
| 21 |
C |
C |
| 22 |
CALL INITIZE |
CALL INITIZE |
| 23 |
ibbb=0 |
ibbb=0 |
| 24 |
ALOG2=ALOG(2.) |
ALOG2=ALOG(2.) |
| 25 |
ISTART=1 |
ISTART=1 |
| 26 |
lati=xlat |
lati=xlat |
| 32 |
CALL FELDG(LATI,LONGI,HEIGHT,BNORTH,BEAST,BDOWN,BABS) |
CALL FELDG(LATI,LONGI,HEIGHT,BNORTH,BEAST,BDOWN,BABS) |
| 33 |
CALL SHELLG(LATI,LONGI,HEIGHT,DIMO,XL,ICODE,BAB1) |
CALL SHELLG(LATI,LONGI,HEIGHT,DIMO,XL,ICODE,BAB1) |
| 34 |
DIP=ASIN(BDOWN/BABS)/UMR |
DIP=ASIN(BDOWN/BABS)/UMR |
| 35 |
DEC=ASIN(BEAST/SQRT(BEAST*BEAST+BNORTH*BNORTH))/UMR |
DEC=ASIN(BEAST/SQRT(BEAST*BEAST+BNORTH*BNORTH))/UMR |
| 36 |
RETURN |
RETURN |
| 37 |
END |
END |
| 38 |
c |
c |
| 342 |
C-- because 1E-38 is the minimal allowable arg. for ALOG in our envir. |
C-- because 1E-38 is the minimal allowable arg. for ALOG in our envir. |
| 343 |
C-- D. Bilitza, Nov 87. |
C-- D. Bilitza, Nov 87. |
| 344 |
C |
C |
| 345 |
11 FI=0.5*ABS(FI)/SQRT(B0)+1E-12 |
11 FI=0.5*ABS(FI)/SQRT(B0)+1E-12 |
| 346 |
C |
C |
| 347 |
C*****COMPUTE L FROM B AND I. SAME AS CARMEL IN INVAR. |
C*****COMPUTE L FROM B AND I. SAME AS CARMEL IN INVAR. |
| 348 |
C |
C |
| 349 |
C-- Correct dipole moment is used here. D. Bilitza, Nov 87. |
C-- Correct dipole moment is used here. D. Bilitza, Nov 87. |
| 350 |
C |
C |
| 351 |
DIMOB0=DIMO/B0 |
DIMOB0=DIMO/B0 |
| 352 |
arg1=alog(FI) |
arg1=alog(FI) |
| 353 |
arg2=alog(DIMOB0) |
arg2=alog(DIMOB0) |
| 354 |
c arg = FI*FI*FI/DIMOB0 |
c arg = FI*FI*FI/DIMOB0 |
| 355 |
c if(abs(arg).gt.88.0) arg=88.0 |
c if(abs(arg).gt.88.0) arg=88.0 |
| 356 |
XX=3*arg1-arg2 |
XX=3*arg1-arg2 |
| 357 |
IF(XX.GT.23.0) GOTO 776 |
IF(XX.GT.23.0) GOTO 776 |
| 358 |
IF(XX.GT.11.7) GOTO 775 |
IF(XX.GT.11.7) GOTO 775 |