c******************************************************************** SUBROUTINE t_vbf(v,dv,b,db,fesh,dfesh,teff,dteff) c calcul de la Teff en utilisant les Mv, Mb et [Fe/H] c suivant Alonso et al. A&A 313, 873, 1996 (formule 1) c routine du module mod_photo c Auteur: P. Morel, Laboratoire Lagrange, O.C.A., CESAM2k c entrées c v, dv, b, db : magnitudes absolues V et B et precision c fesh, dfesh : [Fe/H] et precision c sorties c teff, dteff : Teff et précision c------------------------------------------------------------------------ USE mod_kind IMPLICIT NONE REAL (kind=dp), INTENT(in) :: v, dv, b, db, fesh, dfesh REAL (kind=dp), INTENT(out) :: teff, dteff REAL (kind=dp) :: bmv, teta, dteta_bmv, dteta_fesh LOGICAL, SAVE :: init=.TRUE. LOGICAL :: ok c----------------------------------------------------------------------- IF(init)THEN !initialisations init=.FALSE. WRITE(*,10) 10 FORMAT('calcul de la Teff en utilisant les Mv, Mb et [Fe/H]',/, 1 'suivant Alonso et al. A&A 313, 873, 1996 (formule 1)',/) ENDIF bmv=b-v ok=(0.2 <= bmv .AND. bmv <= 1.5) .AND. 1 (0.5 >= fesh .AND. fesh > -0.5) ok=ok .OR. (0.3 <= bmv .AND. bmv <= 1. ) .AND. 1 (-0.5 >= fesh .AND. fesh > -1.5) ok=ok .OR. (0.35 <= bmv .AND. bmv <= 0.9) .AND. 1 (-1.5 >= fesh .AND. fesh > -2.5) ok=ok .OR. (0.3 <= bmv .AND. bmv <= 0.8) .AND. 1 (-2.5 >= fesh .AND. fesh > -3.5) teta=0.541d0+bmv*(bmv*0.007d0+0.533d0-0.019d0*fesh)- 1 fesh*(0.047d0+0.011d0*fesh) dteta_bmv=0.533d0+0.014d0*bmv-0.019d0*fesh dteta_fesh=-0.047d0-0.019d0*bmv-0.022d0*fesh teff=5040.d0/teta dteff=teff/teta*sqrt((dteta_bmv*db)**2+(dteta_bmv*dv)**2+ 1 (dteta_fesh*dfesh)**2) IF(.NOT.ok)THEN !formule 1 WRITE(*,"('Pour Teff a partir de B-V, hors du domaine')") WRITE(*,"('B-V=',es10.3,', [fe/H]=',es10.3)")bmv,fesh WRITE(*,"('on utilise quand meme la formule 1')") ENDIF RETURN END SUBROUTINE t_vbf