4. Modeling a Black Body¶
The blackbody_with_atm
module provides functions for modeling the effects
of PWV absorption on a black body. We suggest importing this module as
bb_atm
.
4.1. Generating an SED¶
For a given array of wavelengths in Angstroms, the sed
function returns
the corresponding spectral energy distribution of a black body as seen through
the atmosphere.
-
pwv_kpno.blackbody_with_atm.
sed
(temp, wavelengths, pwv)[source]¶ Return the flux of a black body under the influence of pwv absorption
Flux is returned in units of ergs / (angstrom * cm2 * s)
Parameters: - temp (float) – The desired temperature of the black body
- wavelengths (ndarray) – An array like object containing wavelengths
- pwv (float) – The PWV concentration along line of sight in mm
Returns: An array of flux values in units of ergs / (angstrom * cm2 * s * sr)
4.1.1. Example:¶
1 2 3 4 5 6 7 8 | >>> import numpy as np
>>> from pwv_kpno import blackbody_with_atm as bb_atm
>>>
>>> bb_temp = 8000
>>> wavelengths = np.arange(7000, 10000, 100)
>>> pwv = 15
>>>
>>> sed = bb_atm.sed(bb_temp, wavelengths, pwv)
|
Note: If desired, the SED of a black body without atmospheric effects can be achieved by specifying a PWV level of zero.
4.2. Magnitude¶
The magnitude
function returns the absolute magnitude of a black body in a
given band as seen under the effects of PWV absorption.
-
pwv_kpno.blackbody_with_atm.
magnitude
(temp, band, pwv)[source]¶ Return the magnitude of a black body with and without pwv absorption
Magnitudes are calculated relative to a zero point of 3631 Jy
Parameters: - temp (float) – The temperature of the desired black body
- band (tuple) – Tuple with the beginning and end wavelengths of the desired band in angstroms
- pwv (float) – The PWV concentration along line of sight in mm
Returns: The magnitude of the desired black body as effected by H2O absorption
4.2.1. Examples:¶
In the i band from 7,000 to 8,500 Angstroms, the magnitude of a black body is found by running
1 2 3 4 5 6 7 | >>> from pwv_kpno import blackbody_with_atm as bb_atm
>>>
>>> bb_temp = 8000
>>> i_band = (7000, 8500)
>>> pwv = 15
>>>
>>> bb_mag = bb_atm.magnitude(bb_temp, i_band, pwv)
|
Note: If desired, the absolute magnitude of a black body without atmospheric effects can also be achieved by specifying a PWV level of zero.
4.3. Estimating Zero Point Error¶
Correcting photometric observations using tabulated values of a standard star
introduces residual error in the magnitudes of other stars with different
spectral types. The error in photometric zero point introduced by not
considering absorption by precipitable water vapor can be found using the
zp_bias
function.
-
pwv_kpno.blackbody_with_atm.
zp_bias
(ref_temp, cal_temp, band, pwv)[source]¶ Calculate the residual error in the photometric zero point due to PWV
Using a black body approximation, calculate the residual error in the zero point of a photometric image cause by not considering the PWV transmission function. Returned values are in units of magnitude relative to a zero point of 3631 Jy.
Parameters: - ref_temp (float) – The temperature of a star used to calibrate the image
- cal_temp (float) – The temperature of another star in the same image to calculate the error for
- band (tuple) – Tuple specifying the beginning and end points of the desired band in angstroms
- pwv (float) – The PWV concentration along line of sight
Returns: The residual error in the photometric zero point for the given band
4.3.1. Examples:¶
1 2 3 4 5 | >>> from pwv_kpno import blackbody_with_atm as bb_atm
>>>
>>> reference_star_temp = 4000
>>> other_star_temp = 10000
>>> bias = bb_atm.zp_bias(reference_star_temp, other_star_temp, i_band, pwv)
|