*DK PPHOTO                                                                         PPHOTO.1         
CDIR$ NOLIST                                                                       PPHOTO.2         
      SUBROUTINE PHOTO
      SAVE
C     ****                                                                         PPHOTO.5         
C     ****     COMMON DECKS NEEDED:                                                PPHOTO.6         
C     ****       PARAMETER, CONS, FIELDS, FIELDT, FLUX, PHOTO, PHOTOO,             PPHOTO.7         
C     ****         RATEBLK                                                         PPHOTO.8         
C     ****                                                                         PPHOTO.9         
      include 'params.h'
      include 'cons3.h'
      include 'fields2.h'
      include 'fieldt2.h'
      include 'flux2.h'
      include 'photo2.h'
      include 'photoo2.h'
      include 'rateblk2.h'
      DIMENSION A(IMXP),B(IMXP),C(IMXP),D(IMXP),E(IMXP),R(IMXP),S(IMXP),
     1  T(IMXP),FM(IMXP)
      DO 1 I = 3,LEN1-2
	A(I) = PPN4S(1,I)+RBB(4,1,I)*FNN2D(1,I)*FNO(1,I)+RBB(5,1,I)*
     1    FNN2D(1,I)*FNE(1,I)+RBB(7,1,I)*FNN2D(1,I)
	B(I)=RBB(2,1,I)*FNO2(1,I)*FNN2D(1,I)+RBB(13,1,I)*FNO(1,I)*
     1    FNNO2(1,I)+RBB(14,1,I)**FNNO2(1,I)
	C(I)=FK4O2P(1,I)+RBB(1,1,I)*FNO2(1,I)+RBB(10,1,I)*FNOH(1,I)
	D(I)=FK5O2P(1,I)+RBB(6,1,I)*FNN2D(1,I)+RBB(8,1,I)+RBB(9,1,I)+
     1    RBB(11,1,I)*FNO3(1,I)+RBB(12,1,I)*FNHO2(1,I)
	E(I)=RBB(1,1,I)*FNO2(1,I)+RBB(10,1,I)*FNOH(1,I)
	R(I)=RBB(3,1,I)*E(I)+RBB(3,1,I)*C(I)
	S(I)=-(RBB(8,1,I)*E(I)-RBB(3,1,I)*B(I)-D(I)*C(I)+RBB(3,1,I)*
     1    A(I))
	T(I)=-(RBB(8,1,I)*B(I)+D(I)*A(I))
	XN4S(I)=(-S(I)+SQRT(S(I)*S(I)-4.*R(I)*T(I)))/(2.*R(I))
	XNO(I)=(C(I)*XN4S(I)-A(I))/(RBB(8,1,I)-RBB(3,1,I)*XN4S(I))
	FM(I)=FNO(1,I)+FNO2(1,I)+FNN2(1,I)
	XNO(I)=1.1E-8*FM(I)
	XCH4(I)=0.16E-6*FM(I)
	XH2(I)=0.5E-6*FM(I)
	XCO2(I)=350.E-6*FM(I)
	XCO(I)=3.6E-8*FM(I)
	XH2O(I)=6.0E-6*FM(I)
	XHE(I)=5.24E-6*FM(I)
	XARG(I)=9.34E-3*FM(I)
    1 CONTINUE
C     WRITE(6,1234)(XN4S(I),XNO(I),XCH4(I),XH2(I),XCO2(I),                         PPHOTO.45        
C    1  XCO(I),XH2O(I),XHE(I),XARG(I),I=1,LEN1)                                    PPHOTO.46        
C     *****                                                                        PPHOTO.47        
C     *****     PERIODIC POINTS                                                    PPHOTO.48        
C     *****                                                                        PPHOTO.49        
      DO 2 I = 1,2
	XN4S(I) = XN4S(I+IMAX)
	XN4S(I+IMAXP2) = XN4S(I+2)
	XNO(I) = XNO(I+IMAX)
	XNO(I+IMAXP2) = XNO(I+2)
	XCH4(I) = XCH4(I+IMAX)
	XCH4(I+IMAXP2) = XCH4(I+2)
	XH2(I) = XH2(I+IMAX)
	XH2(I+IMAXP2) = XH2(I+2)
	XCO2(I) = XCO2(I+IMAX)
	XCO2(I+IMAXP2) = XCO2(I+2)
    2 CONTINUE
      DO 3 I =1,2
	XCO(I) = XCO(I+IMAX)
	XCO(I+IMAXP2) = XCO(I+2)
	XH2O(I) = XH2O(I+IMAX)
	XH2O(I+IMAXP2) = XH2O(I+2)
	XHE(I) = XHE(I+IMAX)
	XHE(I+IMAXP2) = XHE(I+2)
	XARG(I) = XARG(I+IMAX)
	XARG(I+IMAXP2) = XARG(I+2)
    3 CONTINUE
C     WRITE(6,1234)(XN4S(I),XNO(I),XCH4(I),XH2(I),XCO2(I),                         PPHOTO.72        
C    1  XCO(I),XH2O(I),XHE(I),XARG(I),I=1,LEN1)                                    PPHOTO.73        
C1234 FORMAT(9E12.4)                                                               PPHOTO.74        
      RETURN
      END
