Data Model
- pydantic model tdemocracy.model.NuclearTransientReport[source]
Data model for LSST alert reports from Ampel.
![digraph "Entity Relationship Diagram created by erdantic" {
graph [fontcolor=gray66,
fontname="Times New Roman,Times,Liberation Serif,serif",
fontsize=9,
nodesep=0.5,
rankdir=LR,
ranksep=1.5
];
node [fontname="Times New Roman,Times,Liberation Serif,serif",
fontsize=14,
label="\N",
shape=plain
];
edge [dir=both];
"tdemocracy.model.Host" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>Host</b></td></tr><tr><td>name</td><td port="name">str | None</td></tr><tr><td>primary_source</td><td port="primary_source">str</td></tr><tr><td>ra</td><td port="ra">float</td></tr><tr><td>dec</td><td port="dec">float</td></tr><tr><td>sources</td><td port="sources">str | list[str]</td></tr><tr><td>redshift</td><td port="redshift">float | None</td></tr><tr><td>redshift_error</td><td port="redshift_error">float | None</td></tr><tr><td>distance</td><td port="distance">float</td></tr><tr><td>info</td><td port="info">str | dict[str, dict[str, str | int]] | None</td></tr></table>>,
tooltip="tdemocracy.model.Host

Host identified through catalog matching
"];
"tdemocracy.model.MeanPosition" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>MeanPosition</b></td></tr><tr><td>mean_ra</td><td port="mean_ra">float</td></tr><tr><td>mean_dec</td><td port="mean_dec">float</td></tr><tr><td>circularized_error</td><td port="circularized_error">float</td></tr><tr><td>std</td><td port="std">float</td></tr></table>>,
tooltip="tdemocracy.model.MeanPosition

Mean position of the transient calculated as the
weighted sum of the diaSource positions \
contributing to the diaSource.
"];
"tdemocracy.model.NuclearTransientReport" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>NuclearTransientReport</b></td></tr><tr><td>version</td><td port="version">str</td></tr><tr><td>model_version</td><td port="model_version">str</td></tr><tr><td>object</td><td port="object">Object</td></tr><tr><td>state</td><td port="state">int</td></tr><tr><td>photometry</td><td port="photometry">Sequence[PhotometricPoint]</td></tr><tr><td>host</td><td port="host">Host | None</td></tr><tr><td>mean_position</td><td port="mean_position">MeanPosition</td></tr><tr><td>template_fluxes</td><td port="template_fluxes">TemplateFluxes</td></tr></table>>,
tooltip="tdemocracy.model.NuclearTransientReport

Data model for LSST alert reports from Ampel.
"];
"tdemocracy.model.NuclearTransientReport":host:e -> "tdemocracy.model.Host":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.NuclearTransientReport":mean_position:e -> "tdemocracy.model.MeanPosition":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.Object" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>Object</b></td></tr><tr><td>id</td><td port="id">int</td></tr><tr><td>external_id</td><td port="external_id">str | None</td></tr><tr><td>ra</td><td port="ra">float</td></tr><tr><td>ra_err</td><td port="ra_err">float | None</td></tr><tr><td>dec</td><td port="dec">float</td></tr><tr><td>dec_err</td><td port="dec_err">float | None</td></tr><tr><td>ra_dec_cov</td><td port="ra_dec_cov">float | None</td></tr><tr><td>source</td><td port="source">str</td></tr></table>>,
tooltip="tdemocracy.model.Object

Object associated with an LSST alert report (diaObject)
"];
"tdemocracy.model.NuclearTransientReport":object:e -> "tdemocracy.model.Object":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.PhotometricPoint" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>PhotometricPoint</b></td></tr><tr><td>id</td><td port="id">int</td></tr><tr><td>source</td><td port="source">Literal['LSST_DP', 'LSST_FP']</td></tr><tr><td>time</td><td port="time">float</td></tr><tr><td>flux</td><td port="flux">float</td></tr><tr><td>fluxerr</td><td port="fluxerr">float</td></tr><tr><td>band</td><td port="band">str</td></tr><tr><td>zp</td><td port="zp">float</td></tr><tr><td>zpsys</td><td port="zpsys">str</td></tr></table>>,
tooltip="tdemocracy.model.PhotometricPoint

Observed photometric point in an LSST alert report.
Forced photometry (diaForcedSource) \
takes preference over alert photometry (diaSource).
"];
"tdemocracy.model.NuclearTransientReport":photometry:e -> "tdemocracy.model.PhotometricPoint":_root:w [arrowhead=crownone,
arrowtail=nonenone];
"tdemocracy.model.TemplateFluxes" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>TemplateFluxes</b></td></tr><tr><td>u</td><td port="u">TemplateFlux | None</td></tr><tr><td>g</td><td port="g">TemplateFlux | None</td></tr><tr><td>r</td><td port="r">TemplateFlux | None</td></tr><tr><td>i</td><td port="i">TemplateFlux | None</td></tr><tr><td>z</td><td port="z">TemplateFlux | None</td></tr><tr><td>y</td><td port="y">TemplateFlux | None</td></tr></table>>,
tooltip="tdemocracy.model.TemplateFluxes

Median of the templateFlux of all diaSources contributing to the diaObject.
"];
"tdemocracy.model.NuclearTransientReport":template_fluxes:e -> "tdemocracy.model.TemplateFluxes":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.TemplateFlux" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>TemplateFlux</b></td></tr><tr><td>band</td><td port="band">str</td></tr><tr><td>median</td><td port="median">float</td></tr><tr><td>perc5</td><td port="perc5">float</td></tr><tr><td>perc95</td><td port="perc95">float</td></tr></table>>,
tooltip="tdemocracy.model.TemplateFlux

Median and 90th percentile of the templateFlux of all diaSources
contributing to the \
diaObject in a single band.
"];
"tdemocracy.model.TemplateFluxes":g:e -> "tdemocracy.model.TemplateFlux":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.TemplateFluxes":i:e -> "tdemocracy.model.TemplateFlux":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.TemplateFluxes":r:e -> "tdemocracy.model.TemplateFlux":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.TemplateFluxes":u:e -> "tdemocracy.model.TemplateFlux":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.TemplateFluxes":y:e -> "tdemocracy.model.TemplateFlux":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
"tdemocracy.model.TemplateFluxes":z:e -> "tdemocracy.model.TemplateFlux":_root:w [arrowhead=noneteetee,
arrowtail=nonenone];
}](_images/graphviz-5726c499af8883068d92c390b58e3af035408c73.png)
Show JSON schema
{ "title": "NuclearTransientReport", "description": "Data model for LSST alert reports from Ampel.", "type": "object", "properties": { "version": { "title": "Version", "type": "string" }, "model_version": { "title": "Model Version", "type": "string" }, "object": { "$ref": "#/$defs/Object" }, "state": { "title": "State", "type": "integer" }, "photometry": { "items": { "$ref": "#/$defs/PhotometricPoint" }, "title": "Photometry", "type": "array" }, "host": { "anyOf": [ { "$ref": "#/$defs/Host" }, { "type": "null" } ] }, "mean_position": { "$ref": "#/$defs/MeanPosition" }, "template_fluxes": { "$ref": "#/$defs/TemplateFluxes" } }, "$defs": { "Host": { "description": "Host identified through catalog matching", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "primary_source": { "title": "Primary Source", "type": "string" }, "ra": { "title": "Ra", "type": "number" }, "dec": { "title": "Dec", "type": "number" }, "sources": { "anyOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ], "title": "Sources" }, "redshift": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Redshift" }, "redshift_error": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Redshift Error" }, "distance": { "title": "Distance", "type": "number" }, "info": { "anyOf": [ { "type": "string" }, { "additionalProperties": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "object" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Info" } }, "required": [ "name", "primary_source", "ra", "dec", "sources", "redshift", "distance" ], "title": "Host", "type": "object" }, "MeanPosition": { "description": "Mean position of the transient calculated as the\nweighted sum of the diaSource positions contributing to the diaSource.", "properties": { "mean_ra": { "title": "Mean Ra", "type": "number" }, "mean_dec": { "title": "Mean Dec", "type": "number" }, "circularized_error": { "title": "Circularized Error", "type": "number" }, "std": { "title": "Std", "type": "number" } }, "required": [ "mean_ra", "mean_dec", "circularized_error", "std" ], "title": "MeanPosition", "type": "object" }, "Object": { "description": "Object associated with an LSST alert report (diaObject)", "properties": { "id": { "title": "Id", "type": "integer" }, "external_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "External Id" }, "ra": { "title": "Ra", "type": "number" }, "ra_err": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Ra Err" }, "dec": { "title": "Dec", "type": "number" }, "dec_err": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Dec Err" }, "ra_dec_cov": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Ra Dec Cov" }, "source": { "title": "Source", "type": "string" } }, "required": [ "id", "ra", "dec", "source" ], "title": "Object", "type": "object" }, "PhotometricPoint": { "description": "Observed photometric point in an LSST alert report.\nForced photometry (diaForcedSource) takes preference over alert photometry (diaSource).", "properties": { "id": { "title": "Id", "type": "integer" }, "source": { "enum": [ "LSST_DP", "LSST_FP" ], "title": "Source", "type": "string" }, "time": { "title": "Time", "type": "number" }, "flux": { "title": "Flux", "type": "number" }, "fluxerr": { "title": "Fluxerr", "type": "number" }, "band": { "title": "Band", "type": "string" }, "zp": { "title": "Zp", "type": "number" }, "zpsys": { "title": "Zpsys", "type": "string" } }, "required": [ "id", "source", "time", "flux", "fluxerr", "band", "zp", "zpsys" ], "title": "PhotometricPoint", "type": "object" }, "TemplateFlux": { "description": "Median and 90th percentile of the templateFlux of all diaSources\ncontributing to the diaObject in a single band.", "properties": { "band": { "title": "Band", "type": "string" }, "median": { "title": "Median", "type": "number" }, "perc5": { "title": "Perc5", "type": "number" }, "perc95": { "title": "Perc95", "type": "number" } }, "required": [ "band", "median", "perc5", "perc95" ], "title": "TemplateFlux", "type": "object" }, "TemplateFluxes": { "description": "Median of the templateFlux of all diaSources contributing to the diaObject.", "properties": { "u": { "anyOf": [ { "$ref": "#/$defs/TemplateFlux" }, { "type": "null" } ] }, "g": { "anyOf": [ { "$ref": "#/$defs/TemplateFlux" }, { "type": "null" } ] }, "r": { "anyOf": [ { "$ref": "#/$defs/TemplateFlux" }, { "type": "null" } ] }, "i": { "anyOf": [ { "$ref": "#/$defs/TemplateFlux" }, { "type": "null" } ] }, "z": { "anyOf": [ { "$ref": "#/$defs/TemplateFlux" }, { "type": "null" } ] }, "y": { "anyOf": [ { "$ref": "#/$defs/TemplateFlux" }, { "type": "null" } ] } }, "required": [ "u", "g", "r", "i", "z", "y" ], "title": "TemplateFluxes", "type": "object" } }, "additionalProperties": false, "required": [ "version", "model_version", "object", "state", "photometry", "host", "mean_position", "template_fluxes" ] }
- Config:
extra: str = forbid
- field mean_position: MeanPosition [Required]
- field model_version: str [Required]
Version of the TDEmocracy nuclear filter data model
- field photometry: Sequence[PhotometricPoint] [Required]
- field state: int [Required]
unique identifier for underlying collection of data points in AMPEL
- field template_fluxes: TemplateFluxes [Required]
- field version: str [Required]
Version of the TDEmocracy nuclear filter
- pydantic model tdemocracy.model.PhotometricPoint[source]
Observed photometric point in an LSST alert report. Forced photometry (diaForcedSource) takes preference over alert photometry (diaSource).
Show JSON schema
{ "title": "PhotometricPoint", "description": "Observed photometric point in an LSST alert report.\nForced photometry (diaForcedSource) takes preference over alert photometry (diaSource).", "type": "object", "properties": { "id": { "title": "Id", "type": "integer" }, "source": { "enum": [ "LSST_DP", "LSST_FP" ], "title": "Source", "type": "string" }, "time": { "title": "Time", "type": "number" }, "flux": { "title": "Flux", "type": "number" }, "fluxerr": { "title": "Fluxerr", "type": "number" }, "band": { "title": "Band", "type": "string" }, "zp": { "title": "Zp", "type": "number" }, "zpsys": { "title": "Zpsys", "type": "string" } }, "required": [ "id", "source", "time", "flux", "fluxerr", "band", "zp", "zpsys" ] }
- field band: str [Required]
band
- field flux: float [Required]
psfFlux
- field fluxerr: float [Required]
psfFluxErr
- field id: int [Required]
diaSourceId or diaForcedSourceId
- field source: Literal['LSST_DP', 'LSST_FP'] [Required]
id source
- field time: float [Required]
midpointMjdTai
- field zp: float [Required]
Photometric zero point
- field zpsys: str [Required]
Zero point system
- pydantic model tdemocracy.model.Object[source]
Object associated with an LSST alert report (diaObject)
Show JSON schema
{ "title": "Object", "description": "Object associated with an LSST alert report (diaObject)", "type": "object", "properties": { "id": { "title": "Id", "type": "integer" }, "external_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "External Id" }, "ra": { "title": "Ra", "type": "number" }, "ra_err": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Ra Err" }, "dec": { "title": "Dec", "type": "number" }, "dec_err": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Dec Err" }, "ra_dec_cov": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Ra Dec Cov" }, "source": { "title": "Source", "type": "string" } }, "required": [ "id", "ra", "dec", "source" ] }
- field dec: float [Required]
Declination (dec; deg)
- field dec_err: float | None = None
Declination uncertainty (decErr; deg)
- field external_id: str | None = None
External Object ID
- field id: int [Required]
diaObjectId
- field ra: float [Required]
Right ascension (ra; deg)
- field ra_dec_cov: float | None = None
Right ascension/declination covariance (ra_dec_Doc; deg2)
- field ra_err: float | None = None
Right ascension uncertainty (raErr; deg)
- field source: str [Required]
Data source
- pydantic model tdemocracy.model.Host[source]
Host identified through catalog matching
Show JSON schema
{ "title": "Host", "description": "Host identified through catalog matching", "type": "object", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "primary_source": { "title": "Primary Source", "type": "string" }, "ra": { "title": "Ra", "type": "number" }, "dec": { "title": "Dec", "type": "number" }, "sources": { "anyOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ], "title": "Sources" }, "redshift": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Redshift" }, "redshift_error": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Redshift Error" }, "distance": { "title": "Distance", "type": "number" }, "info": { "anyOf": [ { "type": "string" }, { "additionalProperties": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "object" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Info" } }, "required": [ "name", "primary_source", "ra", "dec", "sources", "redshift", "distance" ] }
- field dec: float [Required]
Declination (deg)
- field distance: float [Required]
Distance in arcsec
- field info: str | dict[str, dict[str, str | int]] | None = None
Type info if included in the matching catalogs, catalog name -> type key -> type value
- field name: str | None [Required]
Name of the identifying ampel unit
- field primary_source: str [Required]
Name of the catalog with the closest entry
- field ra: float [Required]
Right ascension (deg)
- field redshift: float | None [Required]
Mean of the best redshift category for all catalog sources containing redshifts (see https://github.com/AmpelAstro/Ampel-HU-astro/blob/main/ampel/contrib/hu/t2/T2DigestRedshifts.py)
- field redshift_error: float | None = None
Precision of the redshift category
- field sources: str | list[str] [Required]
Names of catalogs with entries close to the one in primary_source
- pydantic model tdemocracy.model.TemplateFlux[source]
Median and 90th percentile of the templateFlux of all diaSources contributing to the diaObject in a single band.
Show JSON schema
{ "title": "TemplateFlux", "description": "Median and 90th percentile of the templateFlux of all diaSources\ncontributing to the diaObject in a single band.", "type": "object", "properties": { "band": { "title": "Band", "type": "string" }, "median": { "title": "Median", "type": "number" }, "perc5": { "title": "Perc5", "type": "number" }, "perc95": { "title": "Perc95", "type": "number" } }, "required": [ "band", "median", "perc5", "perc95" ] }
- field band: str [Required]
Band name
- field median: float [Required]
Median template flux
- field perc5: float [Required]
5th percentile template flux
- field perc95: float [Required]
95th percentile template flux
- pydantic model tdemocracy.model.MeanPosition[source]
Mean position of the transient calculated as the weighted sum of the diaSource positions contributing to the diaSource.
Show JSON schema
{ "title": "MeanPosition", "description": "Mean position of the transient calculated as the\nweighted sum of the diaSource positions contributing to the diaSource.", "type": "object", "properties": { "mean_ra": { "title": "Mean Ra", "type": "number" }, "mean_dec": { "title": "Mean Dec", "type": "number" }, "circularized_error": { "title": "Circularized Error", "type": "number" }, "std": { "title": "Std", "type": "number" } }, "required": [ "mean_ra", "mean_dec", "circularized_error", "std" ] }
- field circularized_error: float [Required]
Geometric mean of sqrt(raErr^2 + decErr^2) in arcsec
- field mean_dec: float [Required]
The mean Dec (deg)
- field mean_ra: float [Required]
The mean RA (deg)
- field std: float [Required]
Standard deviation of the datapoint distance to the mean position in arcsec