Viewing contents of file '../idllib/sdss/allpro/angdist_lambda.pro'
FUNCTION aeta_lambda, z, omegamat
s3 = (1.-float(omegamat))/omegamat
s = s3^(1./3.)
s2 = s^2
s4 = s^4
a = 1./(1.+float(z))
c0 = 1.
c1 = -.1540
c2 = .4304
c3 = .19097
c4 = .066941
ex = -1./8.
;; returns conformal time
return, 2.*sqrt(s3+1.)*( c0/a^4 + c1*s/a^3 + $
c2*s2/a^2 + c3*s3/a +c4*s4)^ex
END
FUNCTION angdist_lambda, zmax, zmin, h=h, omegamat=omegamat, dlum=dlum, verbose=verbose
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;+
;
; NAME:
; ANGDIST_LAMBDA
;
; PURPOSE:
; calculate angular diameter from zmin to zmax in flat lambda universe
; Uses 4th order polynomial approximation
; see Pen, U., 1999, ApJ Supplement, 20, 49.
; For z between 0.2 and 1.0 the error is about .4%
; (Exact for omega_matter = 1.0)
;
;
; CALLING SEQUENCE:
; result = angdist(zmax, [zmin, h=h, omegamat=omegamat, dlum=dlum,
; verbose=verbose])
;
; INPUTS:
; z: redshift
;
; OPTIONAL INPUTS:
; h: hubble parameter default is 1.0
; omegamat: omega matter default is .3
;
; OPTIONAL OUTPUTS:
; dlum: the luminosity distance.
;
; OPTIONAL KEYWORDS:
; /verbose: print distances.
;
; OUTPUTS: distance in megaparsecs.
;
; REVISION HISTORY:
; Author: Erin Scott Sheldon 2/24/99
;
;
;
;-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if N_params() eq 0 then begin
print,'-Syntax: result = angdist_lambda(zmax [zmin , h=h, omegamat=omegamat, dlum=dlum, verbose=verbose] )'
print,' Returns Angular diameter Distance in Mpc from zmin to zmax (zmin optional, default is zmin=0.'
print,' in a flat lambda cosmology.'
print,' (assumes omega = 1 = omegamat + omegalambda)'
print,' default is omegamat=.3 h=.7'
return,0.
endif
IF NOT keyword_set(h) THEN h=1.0
IF NOT keyword_set(omegamat) THEN omegamat=.3
IF n_elements(zmin) EQ 0 THEN zmin = 0.
;;;;;;;; some parameters ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
c = 2.9979e5 ;; speed of light in km/s
H0 = 100.0*h ;; hubbles constant in km/s/Mpc
fac = c/H0*(1.+zmax)
dlum = fac*( aeta_lambda(zmin, omegamat) - aeta_lambda(zmax, omegamat) )
dang = dlum/(1.+zmax)^2
IF keyword_set(verbose) THEN BEGIN
print,'-----------------------------------'
print,'Using h = ',ntostr(h),' omega matter = ',ntostr(omegamat)
print,'Ang Diameter Dist: '+ntostr(dang)+' Mpc ('+ntostr(zmin,4)+ ' to '+ntostr(zmax,4)+')'
print,'-----------------------------------'
ENDIF
return,dang
END