c******************************************************************** SUBROUTINE t_rif(r,dr,i,di,fesh,dfesh,teff,dteff) c routine PUBLIC du module mod_photo c calcul de la Teff en utilisant les Magnitudes R, I et [Fe/H] c suivant Alonso et al. A&A 313, 873, 1996 (formule 3), c Auteur: P. Morel, Laboratoire Lagrange, O.C.A., CESAM2k c entrées c r, dr, i, di : magnitudes absolues R et I et precision c fesh, dfesh : [Fe/H] et precision c sorties c teff, dteff : Teff et precision c------------------------------------------------------------------------ USE mod_kind IMPLICIT NONE REAL (kind=dp), INTENT(in) :: r, dr, i, di, fesh, dfesh REAL (kind=dp), INTENT(out) :: teff, dteff REAL (kind=dp) :: rmi, teta, dteta_rmi, dteta_fesh LOGICAL :: ok, init=.TRUE. c----------------------------------------------------------------------- IF(init)THEN !initialisations init=.FALSE. WRITE(*,10) 10 FORMAT('calcul de la Teff en utilisant les Mr, Mi et [Fe/H]',/, 1 'suivant Alonso et al. A&A 313, 873, 1996 (formule 1)',/) ENDIF rmi=r-i ok=(0.1d0 <= rmi .AND. rmi <= 1.d0) .AND. 1 (0.5d0 >= fesh .AND. fesh > -0.5d0) ok=ok .OR. (0.2d0 <= rmi .AND. rmi <= 0.65d0) .AND. 1 (-0.5d0 >= fesh .AND. fesh > -1.5d0) ok=ok .OR. (0.25d0 <= rmi .AND. rmi <= 0.55d0) .AND. 1 (-1.5d0 >= fesh .AND. fesh > -2.5d0) ok=ok .OR. (0.25d0 <= rmi .AND. rmi <= 0.5d0) .AND. 1 (-2.5d0 >= fesh .AND. fesh > -3.5d0) teta=0.522d0+rmi*(1.178d0-0.320d0*rmi-0.087d0*fesh)+ 1 fesh*(0.057d0+0.005d0*fesh) dteta_rmi=1.178d0-0.640d0*rmi-0.087d0*fesh dteta_fesh=0.057d0+0.010d0*fesh-0.087d0*rmi teff=5040.d0/teta dteff=teff/teta*(dteta_rmi*(dr+di)+dteta_fesh*dfesh) dteff=ABS(dteff) IF(.NOT.ok)THEN WRITE(*,"('Pour Teff a partir de R-I, hors du domaine')") WRITE(*,"('B-V=',es10.3,', [fe/H]=',es10.3)")rmi,fesh WRITE(*,"('on utilise quAND meme la formule 3')") ENDIF RETURN END SUBROUTINE t_rif