(file) Return to voigt_taylor.f90 CVS log (file) (dir) Up to [Development] / JSOC / proj / vfisv / apps

File: [Development] / JSOC / proj / vfisv / apps / voigt_taylor.f90 (download)
Revision: 1.6, Tue Apr 10 21:17:51 2012 UTC (11 years, 1 month ago) by keiji
Branch: MAIN
CVS Tags: Ver_LATEST, Ver_9-5, Ver_9-41, Ver_9-4, Ver_9-3, Ver_9-2, Ver_9-1, Ver_9-0, Ver_8-8, Ver_8-7, Ver_8-6, Ver_8-5, Ver_8-4, Ver_8-3, Ver_8-2, Ver_8-12, Ver_8-11, Ver_8-10, Ver_8-1, Ver_8-0, Ver_7-1, Ver_7-0, Ver_6-4, Ver_6-3, Ver_6-2, HEAD
Changes since 1.5: +5 -2 lines
*** empty log message ***

SUBROUTINE VOIGT_TAYLOR(DAM,FREC,PHI,PSI)
  !
  ! J M Borrero
  ! Apr 24, 2008
  ! HAO-NCAR for HMI-Stanford
  !
  USE CONS_PARAM
  USE VOIGT_DATA
  USE LINE_PARAM
  !
  IMPLICIT NONE
  REAL(DP),   DIMENSION(NUMW)  :: FREC, PHI, PSI
  REAL(DP)                     :: U, DAM, COEF1, COEF2, COEF3, COEF4, COEF5, COEF6, DELTAU
  INTEGER                      :: I, HERE
  !

  DO I=1,NUMW
     U=FREC(I)
     IF (U.LT.0) U=ABS(U)
     !
!     CALL VOIGT(1,DAM,FREC(I),PHI(I),PSI(I))
     IF (U.GE.29.99D0.OR.U.LT.1D0) CALL VOIGT(1,DAM,FREC(I),PHI(I),PSI(I))
     IF (U.LT.29.99D0.AND.U.GE.1D0) THEN
        ! By RCE: bug commented out in next line. Caused regular 
        ! jumps in area/amplitude of Voigt function with increasing
        ! field strength, every 10 gauss or so.
    !    HERE=ANINT(3001D0*U/30D0)
        HERE = ANINT(U*1D2+1D0)
        DELTAU=U-UU(HERE)
        COEF1=HH(HERE)
        COEF2=FF(HERE)
        COEF3=4D0*DAM*COEF2-2D0*U*COEF1
        COEF4=1D0/SQRT(DPI)-2D0*U*COEF2-DAM*COEF1
        !COEF5=4D0*DAM*COEF4-2D0*COEF1-2D0*U*COEF3
        !COEF6=-2D0*COEF2-2D0*U*COEF4-DAM*COEF3
        PSI(I)=COEF2+COEF4*DELTAU!+COEF6*DELTAU**2D0
        PHI(I)=COEF1+COEF3*DELTAU!+COEF5*DELTAU**2D0
	PSI(I)=2D0*PSI(I)
        IF (FREC(I).LT.0) PSI(I)=-PSI(I)
     ENDIF 
  ENDDO

END SUBROUTINE VOIGT_TAYLOR
!CVSVERSIONINFO "$Id: voigt_taylor.f90,v 1.6 2012/04/10 22:17:51 keiji Exp $"

Karen Tian
Powered by
ViewCVS 0.9.4