*
*     ****************
      program genfunc2
*     ****************
*
      implicit undefined (a-z)
*
*     Nombre maximum de points : max1,max2
*     Nombre maximum de parametres : max_par
*
      integer		max1,max2,max_par
*
      parameter		(max1=512)
      parameter		(max2=512)
      parameter		(max_par=20)
*
      real*4		madrid(1)
      integer		naxis
      integer		npix(2)
      integer		pntr_out
      integer		no_out
      integer		acts
      integer		kun
      integer		knul
      integer		k_status
      integer		i_status
*
      real		a(max_par)
*
      real*8		start(2)
      real*8		step(2)
*
      character*8	out_ima
      character*64	cunit
      character*72	ident
*
      common/vmr/madrid
*
      call stspro('genfunc2')
*
*     Lecture du nom de fichier
*
      call stkrdc('OUT_A',1,1,8,acts,out_ima,kun,knul,k_status)
*
*     Parametres du fichier
*
      naxis=2
      npix(1)=512
      npix(2)=512
      start(1)=-0.5
      start(2)=-0.5
      step(1)=0.19531250000000E-02
      step(2)=0.19531250000000E-02
*
*     Parametres de la fonction
*
      a(1)=0.078
      a(2)=0.172
*
*     Ecriture du fichier resultat
*
      call stiput(out_ima,10,1,1,naxis,npix,start,step,
     +            ident,cunit,pntr_out,no_out,i_status)
      call func(madrid(pntr_out),npix,start,step,a)
      call stfclo(no_out,i_status)
*
*     Fin du programme
*
      call stsepi
*
      stop
      end
*
*     ************************************
      subroutine func(f,npix,start,step,a)
*     ************************************
*
      implicit undefined (a-z)
*
*     Nombre maximum de points : max_data
*     Nombre maximum de parametres : max_par
*
      integer		max1,max2,max_par
*
      parameter		(max1=512)
      parameter		(max2=512)
      parameter		(max_par=20)
*
      integer		npix(2)
      integer		i,j
*
      real		x(max1)
      real		y(max2)
      real		f(npix(1),npix(2))
      real		a(max_par)
*
      real*8		start(2)
      real*8		step(2)
*
      do 1,i=1,npix(1)
        x(i)=start(1)+(i-1)*step(1)
    1 continue
      do 2,j=1,npix(2)
        y(j)=start(2)+(j-1)*step(2)
    2 continue
      do 4,i=1,npix(1)
        do 3,j=1,npix(2)
        f(i,j)=exp(-(x(i)**2+y(j)**2)/2./0.15**2)
        if(f(i,j).lt.0.0)f(i,j)=0.0
    3   continue
    4 continue
*
      return
      end
