24 lines
		
	
	
		
			421 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			421 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| subroutine flat1(savg,iz,nsmo,syellow)
 | |
| 
 | |
|   real savg(iz)
 | |
|   real syellow(iz)
 | |
|   real x(8192)
 | |
| 
 | |
|   ia=nsmo/2 + 1
 | |
|   ib=iz - nsmo/2 - 1
 | |
|   nstep=20
 | |
|   nh=nstep/2
 | |
|   do i=ia,ib,nstep
 | |
|      call pctile(savg(i-nsmo/2),nsmo,50,x(i))
 | |
|      x(i-nh:i+nh-1)=x(i)
 | |
|   enddo
 | |
|   x(1:ia-1)=x(ia)
 | |
|   x(ib+1:iz)=x(ib)
 | |
| 
 | |
|   x0=0.001*maxval(x(iz/10:(9*iz)/10))
 | |
|   syellow(1:iz)=savg(1:iz)/(x(1:iz)+x0)
 | |
| 
 | |
|   return
 | |
| end subroutine flat1
 | |
| 
 |