AstarVienna / ScopeSim

A telescope observation simulator for Python.
GNU General Public License v3.0
13 stars 10 forks source link

surface_list - combine_emissions #48

Open oczoske opened 3 years ago

oczoske commented 3 years ago

The effect SurfaceList returns thermal emission that is too low. This is presumably due to an error in radiometry_utils.combine_emissions. Consider the following (this is the five ELT mirrors):

In [..]: surflist = metis['scope_surface_list']
In [..]: waveN = np.arange(10.12, 13.13, 0.01) * u.um  # N2 wavelength range
In [96]: em = None

In [97]: for surf in surflist.surfaces.values():
    ...:     if em is None:
    ...:         em = surf.emission
    ...:     else:
    ...:         em += surf.emission

In [98]: (em.integrate(waveN) * etendue).decompose()   # etendue = 0.04496232 * u.m**2 (arcsec**2 implied)
Out[98]: <Quantity 2.41722236e+08 ph / s>

In [99]: (surflist.emission.integrate(waveN) * etendue).decompose()
Out[99]: <Quantity 1140195.40983348 ph / s>

The straight sum of emissions is in the correct ball park (needs small correction for reflectivity < 1). The emission of a single surface is also correct (matches the value given by old SimMETIS).

I think that combine_emissions should not consider any etendue, solid angle or area at all (assuming that etendue is conserved along the beam and no emission from outside the beam has to be included).

oczoske commented 3 years ago

New version of combine_emissions in branch oc/02-surface_emission. The emission from metis['scope_surface_list'] is now only slightly larger than from metis['eso_combined_reflection'] and slightly lower than the straight sum of surface emissions. emission_ratio-surflist_combined.pdf emission_surface_list_indiv.pdf