c******************************************************************** SUBROUTINE t_vif(v,dv,i,di,fesh,dfesh,teff,dteff) c routine PUBLIC du module mod_photo c calcul de la Teff en utilisant les Mv, Mi et [Fe/H] c Alonso et al. A&A 313, 873, 1996 (formule 6), c Auteur: P. Morel, Laboratoire Lagrange, O.C.A., CESAM2k c entrées c v, dv, i, di: magnitudes absolues V et I et precision c fesh, dteff : [Fe/H] et precision c sorties c teff : Teff c------------------------------------------------------------------------ USE mod_kind IMPLICIT NONE REAL (kind=dp), INTENT(in) :: v, dv, i, di, fesh, dfesh REAL (kind=dp), INTENT(out) :: teff, dteff REAL (kind=dp) :: vmi, teta, dteta_vmi LOGICAL :: ok, init=.TRUE. c----------------------------------------------------------------------- if(init)THEN !initialisations init=.FALSE. WRITE(*,10) 10 FORMAT('calcul de la Teff en utilisant les Mv, Mi et [Fe/H]',/, 1 'suivant Alonso et al. A&A 313, 873, 1996 (formule 6)',/) ENDIF vmi=v-i ok=(0.5d0 <= vmi .AND. vmi <= 2.5d0) .AND. 1 (0.5d0 >= fesh .AND. fesh > -0.5d0) ok=ok .OR. (0.6d0 <= vmi .AND. vmi <= 1.3d0) .AND. 1 (-0.5d0 >= fesh .AND. fesh > -1.5d0) ok=ok .OR. (0.7d0 <= vmi .AND. vmi <= 1.3d0) .AND. 1 (-1.5d0 >= fesh .AND. fesh > -2.5d0) ok=ok .OR. (0.65d0 <= vmi .AND. vmi <= 1.2d0) .AND. 1 (-2.5d0 >= fesh .AND. fesh > -3.5d0) teta=0.424d0+vmi*(0.610d0-vmi*0.096d0) dteta_vmi=0.610d0-0.192d0*vmi teff=5040.d0/teta dteff=teff/teta*SQRT((dteta_vmi*dv)**2+(dteta_vmi*di)**2) dteff=ABS(dteff) RETURN END SUBROUTINE t_vif