subroutine iriprof

	implicit real*8 (a-h,o-z)

	character*8 modx,id

c	tabulated profile set up by the IRI program IRINHPROF

      COMMON /XX/ MODX(2),X,PXPR,PXPTH,PXPPH,PXPT,HMAX

      COMMON R(6) /WW/ ID(10),W0,W(400)

      EQUIVALENCE (EARTHR,W(2)),(F,W(6))

	dimension ht(1000),fn(1000)

ccccc	data modx(1) / 'IRIpro'/

	data ipass / 0 /

      ENTRY ELECTX

	if(ipass.eq.1) go to 102

	ipass = 1

	open(unit=1,file='irinh.dat',status='old')

	read(1,100) flat,flon,ssno,fmon,hour,hmf2,nht

100	format(6f8.0,i5)

	print*,' profile is for lat,lon,r,mon,lt',

     a          flat,flon,ssno,fmon,hour

	read(1,101) (ht(i),fn(i),i=1,nht)

101	format(6(f6.2,f6.3))

c

      HMAX = hmf2

102	x = 0.

	pxpr = 0.

	pxpth = 0.

	pxpph = 0.

      H=R(1)-EARTHR

	if(h.lt.ht(1).or.h.gt.ht(nht)) return

	nhm1 = nht - 1

	do 10 i = 1,nhm1

	ii = i

	if(h.ge.ht(i).and.h.lt.ht(i+1)) go to 30

10	continue

	stop' trouble in ELECTX'

30	continue

	x1 = fn(ii)/f

	x2 = fn(ii+1)/f

	x1 = x1 * x1

	x2 = x2 * x2

	grad = (x2 - x1) / (ht(ii+1) - ht(ii))

	x = x1 + (h - ht(ii)) * grad

	pxpr = grad

      RETURN

         END