scopesim.effects.ter_curves module¶
- class scopesim.effects.ter_curves.ADCWheel(**kwargs)[source]¶
Bases:
Effect
This wheel holds a selection of predefined atmospheric dispersion correctors.
- property current_adc¶
Return the currently used ADC
- property display_name¶
- class scopesim.effects.ter_curves.DownloadableFilterCurve(**kwargs)[source]¶
Bases:
FilterCurve
- class scopesim.effects.ter_curves.FilterCurve(**kwargs)[source]¶
Bases:
TERCurve
- Parameters:
- positionint, optional
- filter_namestr, optional
Ks
- corresponding to the filter name in the filename pattern- filename_formatstr, optional
TC_filter_{}.dat
- Can either be created using the standard 3 options:
- - ``filename``: direct filename of the filer curve
- - ``table``: an ``astropy.Table``
- - ``array_dict``: a dictionary version of a table: ``{col_name1: values, }``
- or by passing the combination of ``filter_name`` and ``filename_format`` as
- kwargs. Here all filter file names follow a pattern (e.g. see above) and the
- ``{}`` are replaced by ``filter_name`` at run time. ``filter_name`` can
- also be a !bang string for a ``__currsys__`` entry: ``”!INST.filter_name”``
- property center¶
- property centre¶
- fov_grid(which='waveset', **kwargs)[source]¶
Returns the edges needed to generate FieldOfViews for an observation
- Parameters:
- whichstr
[“waveset”, “edges”, “shifts”] where: * waveset - wavelength bin extremes * edges - on sky coordinate edges for each FOV box * shifts - wavelength dependent FOV position offsets
- Returns:
- wavesetlist
[um] N+1 wavelengths that set edges of N spectral bins
- edgeslist of lists
[arcsec] Contains a list of footprint lists
- shiftslist of 3 lists
[wave, dx, dy] Contains lists corresponding to the (dx, dy) offset from the optical axis (0, 0) induced for each wavelength in (wave) [um, arcsec, arcsec]
- property fwhm¶
- class scopesim.effects.ter_curves.FilterWheel(**kwargs)[source]¶
Bases:
Effect
This wheel holds a selection of predefined filters.
Examples
name: filter_wheel class: FilterWheel kwargs: filter_names: [] filename_format: "filters/{}. current_filter: "Ks"
- property current_filter¶
- property display_name¶
- fov_grid(which='waveset', **kwargs)[source]¶
Returns the edges needed to generate FieldOfViews for an observation
- Parameters:
- whichstr
[“waveset”, “edges”, “shifts”] where: * waveset - wavelength bin extremes * edges - on sky coordinate edges for each FOV box * shifts - wavelength dependent FOV position offsets
- Returns:
- wavesetlist
[um] N+1 wavelengths that set edges of N spectral bins
- edgeslist of lists
[arcsec] Contains a list of footprint lists
- shiftslist of 3 lists
[wave, dx, dy] Contains lists corresponding to the (dx, dy) offset from the optical axis (0, 0) induced for each wavelength in (wave) [um, arcsec, arcsec]
- class scopesim.effects.ter_curves.PupilTransmission(transmission, **kwargs)[source]¶
Bases:
TERCurve
Wavelength-independent transmission curve
Use this class to describe a cold stop or pupil mask that is characterised by “grey” transmissivity. The emissivity is set to zero, assuming that the mask is cold.
- class scopesim.effects.ter_curves.SkycalcTERCurve(**kwargs)[source]¶
Bases:
AtmosphericTERCurve
- property include¶
- class scopesim.effects.ter_curves.SpanishVOFilterCurve(**kwargs)[source]¶
Bases:
FilterCurve
Pulls a filter transmission curve down from the Spanish VO filter service
- Parameters:
- observatorystr
- instrumentstr
- filter_namestr
Examples
name: HAWKI-Ks class: SpanishVOFilterCurve kwargs: observatory : Paranal instrument : HAWKI filter_name : Ks
- class scopesim.effects.ter_curves.SpanishVOFilterWheel(**kwargs)[source]¶
Bases:
FilterWheel
A FilterWheel that loads all the filters from the Spanish VO service
Warning
This use
astropy.download_file(..., cache=True)
.The filter transmission curves probably won’t change, but if you notice discrepancies, try clearing the astopy cache:
>> from astropy.utils.data import clear_download_cache >> clear_download_cache()
- Parameters:
- observatorystr
- instrumentstr
- current_filterstr
Default filter name
- include_str, exclude_strstr
String sequences that can be used to include or exclude filter names which contain a certain string. E.g. GTC/OSIRIS has curves for
sdss_g
andsdss_g_filter
. We can force the inclusion of only the filter curves by settinglist_include_str: "_filter"
.
Examples
name: svo_filter_wheel class: SpanishVOFilterWheel kwargs: observatory: "GTC" instrument: "OSIRIS" current_filter: "sdss_r_filter" include_str: "_filter"
- class scopesim.effects.ter_curves.TERCurve(**kwargs)[source]¶
Bases:
Effect
Transmission, Emissivity, Reflection Curve
Must contain a wavelength column, and one or more of the following:
transmission
,emissivity
,reflection
. Additionally in the header there should be the following keywords: wavelength_unitkwargs that can be passed:
"rescale_emission" : { "filter_name": str, "value": float, "unit": str}
Examples
Directly inside a YAML file description:
name: bogus_surface class: TERCurve kwargs: array_dict: wavelength: [0.3, 3.0] transmission: [0.9, 0.9] emission: [1, 1] wavelength_unit: um emission_unit: ph s-1 m-2 um-1 rescale_emission: filter_name: "Paranal/HAWKI.Ks" value: 15.5 unit: ABmag
Indirectly inside a YAML file:
name: some_curve class TERCurve kwargs: filename: bogus_surface.dat
which references this ASCII file:
# name: bogus_surface # wavelength_unit: um wavelength transmission emissivity 0.3 0.9 0.1 3.0 0.9 0.1
- property background_source¶
- property emission¶
- plot(which='x', wavelength=None, ax=None, new_figure=True, label=None, **kwargs)[source]¶
- Parameters:
- whichstr
“x” plots throughput. “t”,”e”,”r” plot trans/emission/refl
- wavelengthlist, np.ndarray
- axmatplotlib.Axis
- kwargs
- Returns:
- property throughput¶
- class scopesim.effects.ter_curves.TopHatFilterCurve(**kwargs)[source]¶
Bases:
FilterCurve
A simple Top-Hat filter profile
- Parameters:
- transmissionfloat
[0..1] Peak transmission of filter
- blue_cutoff, red_cutofffloat
[um] Blue and Red cutoff wavelengths
- wing_transmissionfloat, optional
[0..1] Default 0. Wing transmission of filter outside the cutoff range
Examples
name: J_band_tophat class: TopHatFilterCurve kwargs: transmission : 0.9 wing_transmission : 0.001 blue_cutoff : 1.15 red_cutoff : 1.35
- class scopesim.effects.ter_curves.TopHatFilterWheel(**kwargs)[source]¶
Bases:
FilterWheel
A selection of top-hat filter curves as defined in the input lists
- Parameters:
- filter_names: list of string
- transmissions: list of floats
[0..1] Peak transmissions inside the cuttoff limits
- wing_transmissions: list of floats
[0..1] Wing transmissions outside the cuttoff limits
- blue_cutoffs: list of floats
[um]
- red_cutoffs: list of floats
[um]
- current_filter: str, optional
Name of current filter at initialisation. If no name is given, the first entry in
filter_names
is used by default.
Examples
name: top_hat_filter_wheel class: TopHatFilterWheel kwargs: filter_names: ["J", "H", "K"] transmissions: [0.9, 0.95, 0.85] wing_transmissions: [0., 0., 0.001] blue_cutoffs: [1.15, 1.45, 1.9] red_cutoffs: [1.35, 1.8, 2.4] current_filter: "K"