diff -crN 00_iri2007/Makefile 00_iri2007_r1/Makefile
*** 00_iri2007/Makefile	Thu Jan  1 09:00:00 1970
--- 00_iri2007_r1/Makefile	Thu Feb 11 21:27:49 2010
***************
*** 0 ****
--- 1,56 ----
+ SUFFIX	      = .x:sF
+ 
+ DEST	      = .
+ 
+ EXTHDRS	      =
+ 
+ HDRS	      =
+ 
+ #CC	      = gcc
+ CC	      = icc
+ 
+ CFLAGS	      = -O
+ 
+ #F77           = gfortran
+ F77           = ifort
+ 
+ FFLAGS	      = -O
+ 
+ LIBRARY	      = libiri2007.a
+ 
+ MAKEFILE      = Makefile
+ 
+ SRCS	      = cira.for \
+ 		igrf.for \
+ 		iridreg.for \
+ 		irifun.for \
+ 		irisub.for \
+ 		iritec.for
+ 
+ OBJS	      = cira.o \
+ 		igrf.o \
+ 		iridreg.o \
+ 		irifun.o \
+ 		irisub.o \
+ 		iritec.o
+ 
+ .SUFFIXES: .c .for .FOR
+ 
+ .c.o:
+ 		$(CC) $(CFLAGS) -c $<
+ .for.o:
+ 		$(F77) $(FFLAGS) -c $<
+ .FOR.o:
+ 		$(F77) $(FFLAGS) -c $<
+ 
+ all:		$(LIBRARY)
+ 
+ $(LIBRARY):	$(OBJS)
+ 		ar cru $(LIBRARY) $(OBJS)
+ 		ranlib $(LIBRARY)
+ 
+ clean:;		rm -f $(OBJS) *~ 
+ 
+ veryclean:;	rm -f $(OBJS) $(LIBRARY) *~
+ 
+ library:        $(LIBRARY)
diff -crN 00_iri2007/cira.for 00_iri2007_r1/cira.for
*** 00_iri2007/cira.for	Thu Feb 11 17:55:04 2010
--- 00_iri2007_r1/cira.for	Fri Feb 12 00:29:27 2010
***************
*** 50,56 ****
  C
  C CALCULATE LEGENDRE POLYNOMIALS
  C
-       IF(XL.EQ.GLAT)   GO TO 15
        C = SIN(GLAT*umr)
        S = COS(GLAT*umr)
        C2 = C*C
--- 50,55 ----
***************
*** 77,83 ****
        PLG(7,4)=(11.*C*PLG(6,4)-8.*PLG(5,4))/3.
        XL=GLAT
     15 CONTINUE
-       IF(TLL.EQ.STL)   GO TO 16
        STLOC = SIN(HR*STL)
        CTLOC = COS(HR*STL)
        S2TLOC = SIN(2.*HR*STL)
--- 76,81 ----
diff -crN 00_iri2007/igrf.for 00_iri2007_r1/igrf.for
*** 00_iri2007/igrf.for	Thu Feb 11 17:55:03 2010
--- 00_iri2007_r1/igrf.for	Thu Feb 11 21:25:14 2010
***************
*** 635,640 ****
--- 635,642 ----
  c-----------------------------------------------------------------------        
          CHARACTER*12    FILMOD, FIL1, FIL2           
  C ### FILMOD, DTEMOD arrays +1
+         DIMENSION       gh1_buf(14,144),gh2_buf(14,144)
+         dimension       nmax1_buf(14),nmax2_buf(14)
          DIMENSION       GH1(144),GH2(144),GHA(144),FILMOD(14)
          DIMENSION		DTEMOD(14)
          DOUBLE PRECISION X,F0,F 
***************
*** 648,653 ****
--- 650,659 ----
       4                  'dgrf00.dat','igrf05.dat','igrf05s.dat'/
          DATA   DTEMOD / 1945., 1950., 1955., 1960., 1965., 1970.,
       1       1975., 1980., 1985., 1990., 1995., 2000.,2005.,2010./      
+ 
+         integer isave
+         data isave/0/
+         save gh1_buf,gh2_buf,nmax1_buf,nmax2_buf
  C
  C ### numye = numye + 1 ; is number of years represented by IGRF
  C
***************
*** 665,678 ****
          IF(L.LT.1) L=1
          IF(L.GT.NUMYE) L=NUMYE         
          DTE1 = DTEMOD(L)   
-         FIL1 = FILMOD(L)   
          DTE2 = DTEMOD(L+1) 
-         FIL2 = FILMOD(L+1) 
  C-- GET IGRF COEFFICIENTS FOR THE BOUNDARY YEARS
!         CALL GETSHC (IU, FIL1, NMAX1, ERAD, GH1, IER)  
!             IF (IER .NE. 0) STOP                           
!         CALL GETSHC (IU, FIL2, NMAX2, ERAD, GH2, IER)  
!             IF (IER .NE. 0) STOP
  C-- DETERMINE IGRF COEFFICIENTS FOR YEAR
          IF (L .LE. NUMYE-1) THEN                        
            CALL INTERSHC (YEAR, DTE1, NMAX1, GH1, DTE2, 
--- 671,703 ----
          IF(L.LT.1) L=1
          IF(L.GT.NUMYE) L=NUMYE         
          DTE1 = DTEMOD(L)   
          DTE2 = DTEMOD(L+1) 
  C-- GET IGRF COEFFICIENTS FOR THE BOUNDARY YEARS
!         if (isave.eq.0) then
!            do L=1,13
!               FIL1 = FILMOD(L)   
!               FIL2 = FILMOD(L+1) 
!               CALL GETSHC (IU, FIL1, NMAX1, ERAD, GH1, IER)  
!               IF (IER .NE. 0) STOP                           
!               CALL GETSHC (IU, FIL2, NMAX2, ERAD, GH2, IER)  
!               IF (IER .NE. 0) STOP
!               nmax1_buf(L) = nmax1
!               nmax2_buf(L) = nmax2
!               do i=1,144
!                  gh1_buf(L,i) = gh1(i)
!                  gh2_buf(L,i) = gh2(i)
!               enddo
!            enddo
!            isave=1
!            write(*,*) 'igrf done'
!         else
!            nmax1 = nmax1_buf(L)
!            nmax2 = nmax2_buf(L)
!            do i=1,144
!               gh1(i) = gh1_buf(L,i)
!               gh2(i) = gh2_buf(L,i)
!            enddo
!         endif
  C-- DETERMINE IGRF COEFFICIENTS FOR YEAR
          IF (L .LE. NUMYE-1) THEN                        
            CALL INTERSHC (YEAR, DTE1, NMAX1, GH1, DTE2, 
***************
*** 752,762 ****
         WRITE(FOUT,667) FSPEC
  c special for IRIWeb version
  c 667  FORMAT('/usr/local/etc/httpd/cgi-bin/models/IRI/',A12)
! 667    FORMAT(A12)
         OPEN (IU, FILE=FOUT, STATUS='OLD', IOSTAT=IER, ERR=999)     
  
         READ (IU, *, IOSTAT=IER, ERR=999) 
!         READ (IU, *, IOSTAT=IER, ERR=999) NMAX, ERAD 
  C ---------------------------------------------------------------               
  C       Read the coefficient file, arranged as follows:              
  C                                                                               
--- 777,788 ----
         WRITE(FOUT,667) FSPEC
  c special for IRIWeb version
  c 667  FORMAT('/usr/local/etc/httpd/cgi-bin/models/IRI/',A12)
!  667   FORMAT('/usr/local/etc/iri2007/',A12)
! C667    FORMAT(A12)
         OPEN (IU, FILE=FOUT, STATUS='OLD', IOSTAT=IER, ERR=999)     
  
         READ (IU, *, IOSTAT=IER, ERR=999) 
!        READ (IU, *, IOSTAT=IER, ERR=999) NMAX, ERAD 
  C ---------------------------------------------------------------               
  C       Read the coefficient file, arranged as follows:              
  C                                                                               
***************
*** 1279,1282 ****
        RETURN
        END
  C 
! C  
\ No newline at end of file
--- 1305,1308 ----
        RETURN
        END
  C 
! C  
diff -crN 00_iri2007/irifun.for 00_iri2007_r1/irifun.for
*** 00_iri2007/irifun.for	Thu Feb 11 17:55:03 2010
--- 00_iri2007_r1/irifun.for	Fri Feb 12 00:37:22 2010
***************
*** 704,710 ****
        DIMENSION  D(3,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(49)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A400,N0B400,N400A,N400B,N400
        REAL N0A650,N0B650,N650A,N650B,N650
--- 704,710 ----
        DIMENSION  D(3,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(82)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A400,N0B400,N400A,N400B,N400
        REAL N0A650,N0B650,N650A,N650B,N650
***************
*** 867,873 ****
        DIMENSION  D(4,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(49)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A550,N0B550,N550A,N550B,N550
        REAL N0A900,N0B900,N900A,N900B,N900
--- 867,873 ----
        DIMENSION  D(4,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(82)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A550,N0B550,N550A,N550B,N550
        REAL N0A900,N0B900,N900A,N900B,N900
***************
*** 1084,1090 ****
        DOUBLE PRECISION B(8),A
        REAL DTOR,ASA,INVL,RINVL,INVDP,RDIPL,ALFA,BETA
        REAL RMLT,RCOLAT
!       REAL C(82),CF107(49),CSZ(25)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL T0A550,T0B550,T1A550,T1B550,T2A550,T2B550,
       &     T3A550,T3B550,T550A,T550B,T550
--- 1084,1090 ----
        DOUBLE PRECISION B(8),A
        REAL DTOR,ASA,INVL,RINVL,INVDP,RDIPL,ALFA,BETA
        REAL RMLT,RCOLAT
!       REAL C(82),CF107(82),CSZ(82)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL T0A550,T0B550,T1A550,T1B550,T2A550,T2B550,
       &     T3A550,T3B550,T550A,T550B,T550
***************
*** 4102,4108 ****
        DIMENSION  D(3,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(49)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A400,N0B400,N400A,N400B,N400
        REAL N0A650,N0B650,N650A,N650B,N650
--- 4102,4108 ----
        DIMENSION  D(3,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(82)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A400,N0B400,N400A,N400B,N400
        REAL N0A650,N0B650,N650A,N650B,N650
***************
*** 4266,4272 ****
        DIMENSION  D(4,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(49)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A550,N0B550,N550A,N550B,N550
        REAL N0A900,N0B900,N900A,N900B,N900
--- 4266,4272 ----
        DIMENSION  D(4,3,49),MIRREQ(49)
        REAL INVDP,INVDPC,DTOR
        REAL RMLT,RCOLAT
!       REAL C(82)
        INTEGER SEZA,SEZB,SEZAI,SEZBI,DDDA,DDDB,DDDD
        REAL N0A550,N0B550,N550A,N550B,N550
        REAL N0A900,N0B900,N900A,N900B,N900
***************
*** 5091,5097 ****
          X=0.0           
          SCHALT=.TRUE.   
          RETURN
! 200   X=(X1*F2-X2*F1)/(F2-F1)                      
        GOTO 400        
  300     L1=LINKS        
          DX=(X2-X1)/NG
--- 5091,5097 ----
          X=0.0           
          SCHALT=.TRUE.   
          RETURN
! 200   X=X1/(1-F1/F2)+X2/(1-F2/F1)
        GOTO 400        
  300     L1=LINKS        
          DX=(X2-X1)/NG
***************
*** 5820,5830 ****
  c
          if(iflag.eq.0) then
        
-           open(unit=12,file='ig_rz.dat',status='old')
  c-web- special for web version
  c          open(unit=12,file=
  c     *'/usr/local/etc/httpd/cgi-bin/models/IRI/ig_rz.dat',
  c     *status='old')
  
  c Read the update date, the start date and the end date (mm,yyyy), and
  c get number of data points to read.
--- 5820,5831 ----
  c
          if(iflag.eq.0) then
        
  c-web- special for web version
  c          open(unit=12,file=
  c     *'/usr/local/etc/httpd/cgi-bin/models/IRI/ig_rz.dat',
  c     *status='old')
+            open(unit=12,file=
+      *          '/usr/local/etc/iri2007/ig_rz.dat',status='old')
  
  c Read the update date, the start date and the end date (mm,yyyy), and
  c get number of data points to read.
***************
*** 6106,6114 ****
  
          DATA LM/31,28,31,30,31,30,31,31,30,31,30,31/
  
-         Open(13,FILe='ap.dat',
  c-web-sepcial vfor web version
  C      OPEN(13,FILE='/usr/local/etc/httpd/cgi-bin/models/IRI/ap.dat',
       *    ACCESS='DIRECT',RECL=39,FORM='FORMATTED',STATUS='OLD')
                  
          do i=1,8
--- 6107,6115 ----
  
          DATA LM/31,28,31,30,31,30,31,31,30,31,30,31/
  
  c-web-sepcial vfor web version
  C      OPEN(13,FILE='/usr/local/etc/httpd/cgi-bin/models/IRI/ap.dat',
+         OPEN(13,FILE='/usr/local/etc/iri2007/ap.dat',
       *    ACCESS='DIRECT',RECL=39,FORM='FORMATTED',STATUS='OLD')
                  
          do i=1,8
***************
*** 6196,6205 ****
  
          DATA LM/31,28,31,30,31,30,31,31,30,31,30,31/
  
!         Open(13,FILE='ap.dat',
  c-web-sepcial vfor web version
  C      OPEN(13,FILE='/usr/local/etc/httpd/cgi-bin/models/IRI/ap.dat',
!      *    ACCESS='DIRECT',RECL=39,FORM='FORMATTED',STATUS='OLD')
                  
          if(iyyyy.lt.1960) goto 21   ! AP.DAT starts at Jan 1, 1960
  
--- 6197,6207 ----
  
          DATA LM/31,28,31,30,31,30,31,31,30,31,30,31/
  
! C        Open(13,FILE='ap.dat',
  c-web-sepcial vfor web version
  C      OPEN(13,FILE='/usr/local/etc/httpd/cgi-bin/models/IRI/ap.dat',
!         OPEN(13,FILE='/usr/local/etc/iri2007/ap.dat',
!      *       ACCESS='DIRECT',RECL=39,FORM='FORMATTED',STATUS='OLD')
                  
          if(iyyyy.lt.1960) goto 21   ! AP.DAT starts at Jan 1, 1960
  
diff -crN 00_iri2007/irisub.for 00_iri2007_r1/irisub.for
*** 00_iri2007/irisub.for	Thu Feb 11 17:55:02 2010
--- 00_iri2007_r1/irisub.for	Fri Feb 12 00:40:54 2010
***************
*** 252,260 ****
        INTEGER    DAYNR,DDO,DO2,SEASON,SEADAY
        REAL       LATI,LONGI,MO2,MO,MODIP,NMF2,MAGBR,INVDIP,  
       &               NMF1,NME,NMD,MM,MLAT,MLONG,NOBO2
!       CHARACTER  FILNAM*12
  c-web-for webversion
! c      CHARACTER FILNAM*53
  
        DIMENSION  ARIG(3),RZAR(3),F(3),RIF(4),E(4),XDELS(4),DNDS(4),
       &  FF0(988),XM0(441),F2(13,76,2),FM3(9,49,2),ddens(3,7),elg(7),
--- 252,260 ----
        INTEGER    DAYNR,DDO,DO2,SEASON,SEADAY
        REAL       LATI,LONGI,MO2,MO,MODIP,NMF2,MAGBR,INVDIP,  
       &               NMF1,NME,NMD,MM,MLAT,MLONG,NOBO2
! C      CHARACTER  FILNAM*12
  c-web-for webversion
!       CHARACTER FILNAM*53
  
        DIMENSION  ARIG(3),RZAR(3),F(3),RIF(4),E(4),XDELS(4),DNDS(4),
       &  FF0(988),XM0(441),F2(13,76,2),FM3(9,49,2),ddens(3,7),elg(7),
***************
*** 816,826 ****
  c
  7797    URSIFO=URSIF2
          WRITE(FILNAM,104) MONTH+10
! 104         FORMAT('ccir',I2,'.asc')
  c-binary- if binary files than use:
  c-binary-104   FORMAT('ccir',I2,'.bin')
  c-web- special for web-version:
  c104   FORMAT('/usr/local/etc/httpd/cgi-bin/models/IRI/ccir',I2,'.asc')
  c-web- special for web-version:
  c
          OPEN(IUCCIR,FILE=FILNAM,STATUS='OLD',ERR=8448,
--- 816,829 ----
  c
  7797    URSIFO=URSIF2
          WRITE(FILNAM,104) MONTH+10
! C104         FORMAT('ccir',I2,'.asc')
  c-binary- if binary files than use:
  c-binary-104   FORMAT('ccir',I2,'.bin')
  c-web- special for web-version:
  c104   FORMAT('/usr/local/etc/httpd/cgi-bin/models/IRI/ccir',I2,'.asc')
+ 
+ 
+  104    FORMAT('/usr/local/etc/iri2007/ccir',I2,'.asc')
  c-web- special for web-version:
  c
          OPEN(IUCCIR,FILE=FILNAM,STATUS='OLD',ERR=8448,
***************
*** 840,848 ****
  C
          if(URSIF2) then
            WRITE(FILNAM,1144) MONTH+10
! 1144          FORMAT('ursi',I2,'.asc')
  c-web- special for web-version:
  c1144  FORMAT('/usr/local/etc/httpd/cgi-bin/models/IRI/ursi',I2,'.asc')
  c-binary- if binary files than use:
  c-binary-1144          FORMAT('ursi',I2,'.bin')
  
--- 843,852 ----
  C
          if(URSIF2) then
            WRITE(FILNAM,1144) MONTH+10
! C1144          FORMAT('ursi',I2,'.asc')
  c-web- special for web-version:
  c1144  FORMAT('/usr/local/etc/httpd/cgi-bin/models/IRI/ursi',I2,'.asc')
+  1144     FORMAT('/usr/local/etc/iri2007/ursi',I2,'.asc')
  c-binary- if binary files than use:
  c-binary-1144          FORMAT('ursi',I2,'.bin')
  
