Models
Data models
- pydantic model FileConfigModel[source]
Bases:
BaseModelPydantic model for transmission curve configuration.
- Fields:
- pydantic model EmissionConfigModel[source]
Bases:
BaseModelPydantic model for emission curve set configuration.
- Fields:
- field areas: list[~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, <pydiet.server.types.quantity.QuantityAnnotation object at 0x7f53f6bb71f0>, FieldInfo(annotation=NoneType, required=True, json_schema_extra={'minimum': '0.0 m2', 'physType': 'area'})]] = [<Quantity 0. m2>]
- field files: list[FileConfigModel] = []
- field temperatures: list[~astropy.units.quantity.Annotated[~astropy.units.quantity.Quantity, <pydiet.server.types.quantity.QuantityAnnotation object at 0x7f53fcf01ea0>, FieldInfo(annotation=NoneType, required=True, json_schema_extra={'exclusiveMinimum': '0.0 K', 'physType': 'temperature'})]] = [<Quantity 283. K>]
- pydantic model TransmissionConfigModel[source]
Bases:
BaseModelPydantic model for transmission curve set configuration.
- field files: list[FileConfigModel] = []
- pydantic model SiteConfigModel[source]
Bases:
BaseModelPydantic model for the observing site data configuration model.
- Fields:
- field altitude: 0 m', 'physType': 'length'})] [Required]
- Constraints:
strict = True
unit = m
description =
decimals = 3
min_shape = 1
max_shape = 1
ge = -1000.0 m
- field emission: EmissionConfigModel [Required]
- field transmission: TransmissionConfigModel [Required]
- pydantic model TelescopeConfigModel[source]
Bases:
BaseModelPydantic model for the telescope data configuration model.
- Fields:
- field collecting_area: 0 m2', 'physType': 'area'})] [Required]
- Constraints:
strict = True
unit = m2
description =
decimals = 3
min_shape = 1
max_shape = 1
gt = 0.0 m2
- field emission: EmissionConfigModel [Required]
- field obstruction_area: 0 m2', 'physType': 'area'})] [Required]
- Constraints:
strict = True
unit = m2
description =
decimals = 3
min_shape = 1
max_shape = 1
gt = 0.0 m2
- field transmission: TransmissionConfigModel [Required]
- pydantic model DetectorConfigModel[source]
Bases:
BaseModelPydantic model for the detector data configuration model.
- Fields:
- field emission: EmissionConfigModel [Required]
- field gain: 0 electron / adu', 'physType': 'unknown'})] [Required]
- Constraints:
strict = True
unit = electron/adu
description =
decimals = 3
min_shape = 1
max_shape = 1
gt = 0.0 electron / adu
- field ron: 0 electron', 'physType': 'unknown'})] [Required]
- Constraints:
strict = True
unit = electron
description =
decimals = 3
min_shape = 1
max_shape = 1
ge = 0.0 electron
- field scale: ] arcsec / pix', 'physType': 'unknown'})] [Required]
- Constraints:
strict = True
unit = arcsec/pix
description =
decimals = 4
min_shape = 2
max_shape = 2
gt = [0. 0.] arcsec / pix
- field transmission: TransmissionConfigModel [Required]
- pydantic model OpticsConfigModel[source]
Bases:
BaseModelPydantic model for the intrument optics data configuration model.
- Fields:
- field emission: EmissionConfigModel [Required]
- field transmission: TransmissionConfigModel [Required]
- pydantic model FiltersConfigModel[source]
Bases:
OpticsConfigModelPydantic model for the intrument filters data configuration model.
- Fields:
- pydantic model InstrumentConfigModel[source]
Bases:
BaseModelPydantic model for the instrument data configuration model.
- Fields:
- field detector: DetectorConfigModel [Required]
- field filters: FiltersConfigModel [Required]
- field obstruction_area: 0 m2', 'physType': 'area'})] [Required]
- Constraints:
strict = True
unit = m2
description =
decimals = 3
min_shape = 1
max_shape = 1
gt = 0.0 m2
- field optics: OpticsConfigModel [Required]
- field overhead: 0 s', 'physType': 'time'})] [Required]
- Constraints:
strict = True
unit = s
description =
decimals = 3
min_shape = 1
max_shape = 1
ge = 0.0 s
- field wavelength_range: ] nm', 'physType': 'length'})] [Required]
- Constraints:
strict = True
unit = nm
description =
decimals = 4
min_shape = 2
max_shape = 2
gt = [0. 0.] nm
- pydantic model DataConfigModel[source]
Bases:
BaseModelPydantic model for the data configuration
- Fields:
- field instruments: list[InstrumentConfigModel] [Required]
- field sites: list[SiteConfigModel] [Required]
- field telescopes: list[TelescopeConfigModel] [Required]
Default entries for models
Exceptions for model validation.
Data models
- pydantic model DetectorModel[source]
Bases:
BaseModelPydantic model for an instrument detector (e.g., CMOS or CCD).
- Fields:
- field emissions: dict[str, SBSEDModel] [Required]
- field gain: 0 electron / adu', 'physType': 'unknown'})] [Required]
- Constraints:
strict = True
unit = electron / adu
description =
decimals = 4
min_shape = 1
max_shape = 1
gt = 0.0 electron / adu
- field ron: 0 electron', 'physType': 'unknown'})] [Required]
- Constraints:
strict = True
unit = electron
description =
decimals = 4
min_shape = 1
max_shape = 1
ge = 0.0 electron
- field scale: ] arcsec / pix', 'physType': 'unknown'})] [Required]
- Constraints:
strict = True
unit = arcsec/pix
description =
decimals = 4
min_shape = 2
max_shape = 2
gt = [0. 0.] arcsec / pix
- field transmissions: dict[str, TransmissionModel] [Required]
- pydantic model InstrumentModel[source]
Bases:
BaseModelPydantic model for a PyDIET instrument.
- Config:
arbitrary_types_allowed: bool = True
- Fields:
- Validators:
_update_transmissions»all fields
- field detector: DetectorModel [Required]
- Validated by:
_update_transmissions
- field filters: FiltersModel [Required]
- Validated by:
_update_transmissions
- field obstruction_area: 0 m2', 'physType': 'area'})] [Required]
- Constraints:
strict = True
unit = m2
description =
decimals = 3
min_shape = 1
max_shape = 1
gt = 0.0 m2
- Validated by:
_update_transmissions
- field optics: OpticsModel [Required]
- Validated by:
_update_transmissions
- field overhead: 0 s', 'physType': 'time'})] [Required]
- Constraints:
strict = True
unit = s
description =
decimals = 3
min_shape = 1
max_shape = 1
ge = 0.0 s
- Validated by:
_update_transmissions
- field telescope: TelescopeModel [Required]
- Validated by:
_update_transmissions
- field wavelength_range: ] nm', 'physType': 'length'})] [Required]
- Constraints:
strict = True
unit = nm
description =
decimals = 4
min_shape = 2
max_shape = 2
gt = [0. 0.] nm
- Validated by:
_update_transmissions
- pydantic model OpticsModel[source]
Bases:
BaseModelPydantic model for optics.
- field emissions: dict[str, SBSEDModel] [Required]
- field transmissions: dict[str, TransmissionModel] [Required]
- pydantic model FiltersModel[source]
Bases:
OpticsModelPydantic model for a filter set.
- Fields:
- pydantic model SBSEDModel[source]
Bases:
BaseModelPydantic model for a Surface Brightness Spectral Energy Distribution (SBSED).
- Config:
arbitrary_types_allowed: bool = True
- Fields:
- field sbsed: 0 Jy / arcsec2', 'physType': 'surface brightness'})] | None = None
- field spectral: SourceSpectrum [Required]
- field wave: 0 nm', 'physType': 'length'})] | None = None
- pydantic model SEDModel[source]
Bases:
BaseModelPydantic model for a Spectral Energy Distribution (SED).
- Config:
arbitrary_types_allowed: bool = True
- Fields:
- field sed: 0 Jy', 'physType': 'spectral flux density'})] | None = None
- field spectral: SourceSpectrum [Required]
- field wave: 0 nm', 'physType': 'length'})] | None = None
- pydantic model SiteModel[source]
Bases:
BaseModelPydantic model for an observing site.
- Fields:
- field sky_emissions: dict[str, SBSEDModel] [Required]
- field sky_transmissions: dict[str, TransmissionModel] [Required]
- pydantic model TelescopeModel[source]
Bases:
BaseModelPydantic model for a telescope.
- Fields:
- field collecting_area: 0 m2', 'physType': 'area'})] [Required]
- Constraints:
strict = True
unit = m**2
description =
decimals = 4
min_shape = 1
max_shape = 1
gt = 0.0 m2
- field emissions: dict[str, SBSEDModel] [Required]
- field obstruction_area: 0 m2', 'physType': 'area'})] [Required]
- Constraints:
strict = True
unit = m**2
description =
decimals = 4
min_shape = 1
max_shape = 1
gt = 0.0 m2
- field transmissions: dict[str, TransmissionModel] [Required]
- pydantic model TransmissionModel[source]
Bases:
BaseModelPydantic model for a transmission curve (with wavelength).
- Config:
arbitrary_types_allowed: bool = True
- Fields:
- field response: 0', 'physType': 'dimensionless'})] | None = None
- field wave: 0 nm', 'physType': 'length'})] | None = None
- field wave_range: ] nm', 'physType': 'length'})] | None = None
Query models
- pydantic model ETCQueryModel[source]
Bases:
BaseModel- Fields:
- Validators:
- field filter: FilterID = TransmissionModel(id='u', name='u', description='', vars={}, wave_range=None, wave=None, response=None, spectral=<synphot.spectrum.SpectralElement object>, default=False)
Instrument filter
- Validated by:
- field instrument: InstrumentID = 'megacam'
Instrument ID
- field photometry: Literal['model_fitting', 'fixed_aperture', 'optimal_aperture', 'large_aperture'] = 'model_fitting'
Photometry type
- field sky_unit: Literal['abmag', 'vegamag', 'fmegajy', 'fmujy', 'flux', 'photons'] = 'abmag'
Sky background photometric system
Response models
- pydantic model ETCResponseModel[source]
Bases:
BaseModel- Fields:
- field bandwidth_rect: float = 0.0
Equivalent rectangular bandwidth of the full filter response in nm
- Constraints:
ge = 0.0
lt = 1000000000000.0
- field etime_skysat: float = 0.0
Estimated exposure time for sky background saturation
- Constraints:
ge = 0.0
lt = 1e+30
- field etime_sourcesat: float = 0.0
Estimated exposure time for source saturation
- Constraints:
ge = 0.0
lt = 1e+30
- field lambda_pivot: float = 0.0
Pivot wavelength of the full filter response in nm
- Constraints:
ge = 0.0
lt = 1000000000000.0
Custom types for PyDIET data models