--- DarthVader/OrbitalInfo/src/igrf_sub.for 2011/11/23 21:19:34 1.5 +++ DarthVader/OrbitalInfo/src/igrf_sub.for 2014/01/17 09:54:31 1.9 @@ -1,5 +1,5 @@ - subroutine igrf_sub(xlat,xlong,year,height, - & xl,icode,dip,dec) +c subroutine igrf_sub(xlat,xlong,year,height, +c & xl,icode,dip,dec) c---------------------------------------------------------------- c INPUT: c xlat geodatic latitude in degrees @@ -14,27 +14,27 @@ c dip geomagnetic inclination in degrees c dec geomagnetic declination in degress c---------------------------------------------------------------- - - REAL LATI,LONGI - COMMON/GENER/ UMR,ERA,AQUAD,BQUAD - SAVE /GENER/ -C - CALL INITIZE - ibbb=0 - ALOG2=ALOG(2.) - ISTART=1 - lati=xlat - longi=xlong +c +c REAL LATI,LONGI +c COMMON/GENER/ UMR,ERA,AQUAD,BQUAD +c SAVE /GENER/ +C +c CALL INITIZE +c ibbb=0 +c ALOG2=ALOG(2.) +c ISTART=1 +c lati=xlat +c longi=xlong c C----------------CALCULATE PROFILES----------------------------------- c - CALL FELDCOF(YEAR,DIMO) - CALL FELDG(LATI,LONGI,HEIGHT,BNORTH,BEAST,BDOWN,BABS) - CALL SHELLG(LATI,LONGI,HEIGHT,DIMO,XL,ICODE,BAB1) - DIP=ASIN(BDOWN/BABS)/UMR - DEC=ASIN(BEAST/SQRT(BEAST*BEAST+BNORTH*BNORTH))/UMR - RETURN - END +c CALL FELDCOF(YEAR,DIMO) +c CALL FELDG(LATI,LONGI,HEIGHT,BNORTH,BEAST,BDOWN,BABS) +c CALL SHELLG(LATI,LONGI,HEIGHT,DIMO,XL,ICODE,BAB1) +c DIP=ASIN(BDOWN/BABS)/UMR +c DEC=ASIN(BEAST/SQRT(BEAST*BEAST+BNORTH*BNORTH))/UMR +c RETURN +c END c c C SHELLIG.FOR, Version 2.0, January 1992 @@ -191,7 +191,7 @@ C B0 MAGNETIC FIELD STRENGTH IN GAUSS C----------------------------------------------------------------------- DIMENSION V(3),U(3,3),P(8,100),SP(3) - COMMON X(3),H(144) + COMMON X(3),H(196) COMMON/FIDB0/ SP SAVE /FIDB0/ COMMON/GENER/ UMR,ERA,AQUAD,BQUAD @@ -394,7 +394,7 @@ C* CALLS ENTRY POINT FELDI IN GEOMAGNETIC FIELD SUBROUTINE FELDG * C******************************************************************* DIMENSION P(7),U(3,3) - COMMON XI(3),H(144) + COMMON XI(3),H(196) C*****XM,YM,ZM ARE GEOMAGNETIC CARTESIAN INVERSE CO-ORDINATES ZM=P(3) FLI=P(1)*P(1)+P(2)*P(2)+1E-15 @@ -476,11 +476,11 @@ C POINTING IN THE TANGENTIAL PLANE TO THE NORTH, EAST C AND DOWNWARD. C----------------------------------------------------------------------- - DIMENSION V(3),B(3),G(144) + DIMENSION V(3),B(3),G(196) CHARACTER*258 NAME INTEGER NMAX REAL TIME - COMMON XI(3),H(144) + COMMON XI(3),H(196) COMMON/MODEL/ G,NMAX,TIME,NAME SAVE/MODEL/ COMMON/GENER/ UMR,ERA,AQUAD,BQUAD @@ -581,8 +581,8 @@ CHARACTER*258 FIL1, FIL2 CHARACTER*258 FILMOD C ### FILMOD, DTEMOD arrays +1 -c DIMENSION GH1(144),GH2(120),GHA(144),FILMOD(14),DTEMOD(14) - DIMENSION GH1(144),GH2(120),GHA(144),FILMOD(3),DTEMOD(3) +c DIMENSION GH1(144),GH2(120),GHA(144),FILMOD(14),DTEMOD(14) + DIMENSION GH1(196),GH2(196),GHA(196),FILMOD(3),DTEMOD(3) DOUBLE PRECISION X,F0,F INTEGER L1,L2,L3 INTEGER NMAX @@ -615,9 +615,9 @@ c FILMOD(1) = 'OrbitalInfo/src/dgrf00.dat' c FILMOD(2) = 'OrbitalInfo/src/igrf05.dat' c FILMOD(3) = 'OrbitalInfo/src/igrf05s.dat' -c WRITE(*,*) FILMOD(1) -c WRITE(*,*) FILMOD(2) -c WRITE(*,*) FILMOD(3) +c WRITE(*,*) FILMOD(1) +c WRITE(*,*) FILMOD(2) +c WRITE(*,*) FILMOD(3) c DATA FILMOD / 'dgrf00.dat', 'igrf05.dat', 'igrf05s.dat'/ DATA DTEMOD / 2005., 2010., 2015./ c @@ -652,10 +652,13 @@ FIL1 = FILMOD(L) DTE2 = DTEMOD(L+1) FIL2 = FILMOD(L+1) +c WRITE(*,*) FIL1 +c WRITE(*,*) FIL2 c print *, "que" C-- GET IGRF COEFFICIENTS FOR THE BOUNDARY YEARS CALL GETSHC (IU, FIL1, NMAX1, ERAD, GH1, IER) IF (IER .NE. 0) STOP +c print *, "quessss" CALL GETSHC (IU, FIL2, NMAX2, ERAD, GH2, IER) IF (IER .NE. 0) STOP c print *, "quj" @@ -674,7 +677,7 @@ F = GHA(J) * 1.D-5 F0 = F0 + F * F 1234 CONTINUE - DIMO = DSQRT(F0) + DIMO = REAL(DSQRT(F0)) GH1(1) = 0.0 I=2 @@ -690,13 +693,13 @@ IF(IS.EQ.0) F0 = F0 * (2.D0 * X - 1.D0) / X F = F0 * 0.5D0 IF(IS.EQ.0) F = F * SQRT2 - GH1(I) = GHA(I-1) * F0 + GH1(I) = GHA(I-1) * REAL(F0) I = I+1 DO 9 M=1,N F = F * (X + M) / (X - M + 1.D0) IF(IS.EQ.0) F = F * DSQRT((X - M + 1.D0) / (X + M)) - GH1(I) = GHA(I-1) * F - GH1(I+1) = GHA(I) * F + GH1(I) = GHA(I-1) * REAL(F) + GH1(I+1) = GHA(I) * REAL(F) I=I+2 9 CONTINUE RETURN @@ -944,7 +947,7 @@ C ASTRONOMICAL UNION . C----------------------------------------------------------------- INTEGER TL1,TL2,TL3 - CHARACTER *258 TP1,TP2,TP3 + CHARACTER (len=258) TP1,TP2,TP3 INTEGER L1,L2,L3 CHARACTER *258 P1,P2,P3 COMMON/PPATH/ L1,L2,L3,P1, P2, P3