You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Overview

The Pandeia Engine is a Python module (compatible with Python 3.6 and later) that functions as the computational engine of the JWST ETC and Roman ETC. It can be imported and run as a standalone module.

API Compatibility

The Pandeia Engine API may change at any time. The following information and examples are for Pandeia Engine 1.6.x only, and are not guaranteed to be accurate or functional for previous or future releases. Updates (and information about planned pending API changes) can be found on the Pandeia Engine News page.


The engine itself can be run with the command

Pandeia Engine Inputs
from pandeia.engine import perform_calculation

result = perform_calculation.perform_calculation(calculation)

where "calculation" is a heirarchical dictionary describing a scene of sources, an instrument setup, and an extraction strategy.

Such dictionaries are available in JWST Webapp download files (as a JSON-formatted file named input.json, suitable for reading in with built-in Python functions) or default versions can be created with the function build_default_calc() and then edited:

Create a default calculation
from pandeia.engine import calc_utils

calculation = calc_utils.build_default_calc("jwst","nircam","sw_imaging")

The command above produces the NIRCam calculation below.

Full API


The full API documentation, with all possible options and combinations for any instrument, is in the attached file:

engine_input_api_1.6.rst

Examples:

The following calculation defines a JWST NIRCam observation in SW Imaging mode using the full subarray and rapid readout pattern and f070w filter, for a flat-spectrum (in fnu) point source normalized to 0.001 mJy, intended to be observed with a 0.2" aperture. Note that it specifies a precomputed background; actual computed backgrounds are available in the JWST web ETC (and can be downloaded from there)

(click here to download as a JSON file: sw_f070w_rapid_full.jeng)

JWST NIRCam SW Imaging
{
    "background": "minzodi",
    "background_level": "benchmark",
    "calculation": {
        "effects": {
            "saturation": null
        },
        "noise": {
            "crs": null,
            "ffnoise": null
        }
    },
    "configuration": {
        "detector": {
            "nexp": 1,
            "ngroup": 10,
            "nint": 1,
            "readout_pattern": "rapid",
            "subarray": "full"
        },
        "instrument": {
            "aperture": "sw",
            "disperser": null,
            "filter": "f070w",
            "instrument": "nircam",
            "mode": "sw_imaging"
        }
    },
    "scene": [
        {
            "position": {
                "orientation": 0.0,
                "x_offset": 0.0,
                "y_offset": 0.0
            },
            "shape": {
                "geometry": "point"
            },
            "spectrum": {
                "extinction": {
                    "bandpass": "j",
                    "law": "mw_rv_31",
                    "unit": "mag",
                    "value": 0.0
                },
                "lines": [],
                "name": "generic source",
                "normalization": {
                    "norm_flux": 0.001,
                    "norm_fluxunit": "mjy",
                    "norm_wave": 2.0,
                    "norm_waveunit": "microns",
                    "type": "at_lambda"
                },
                "redshift": 0.0,
                "sed": {
                    "sed_type": "flat",
                    "unit": "fnu",
                    "z": 0.0
                }
            }
        }
    ],
    "strategy": {
        "aperture_size": 0.1,
        "background_subtraction": true,
        "display_string": "Imaging Aperture Photometry",
        "method": "imagingapphot",
        "sky_annulus": [
            0.22,
            0.4
        ],
        "target_source": "1",
        "target_type": "coords",
        "target_xy": [
            0.0,
            0.0
        ],
        "units": "arcsec"
    }
}

The following dictionary defines a Roman WFI Imaging observation with the F062 filter, 1024x1024 subarray (similar read time to what's expected for Roman WFI Imaging), medium8 readout pattern, and 6 groups; for a 0.001 mJy flat-spectrum point source (in fnu) intended to be observed with a 0.2" aperture.

(click here to download as a JSON file: any_f062_medium8_1024x1024.jeng)

Roman WFI Imaging
{
    "background": "minzodi",
    "background_level": "benchmark",
    "calculation": {
        "effects": {
            "saturation": null
        },
        "noise": {
            "crs": null,
            "ffnoise": null
        }
    },
    "configuration": {
        "detector": {
            "nexp": 1,
            "ngroup": 6,
            "nint": 1,
            "readout_pattern": "medium8",
            "subarray": "1024x1024"
        },
        "instrument": {
            "aperture": "any",
            "disperser": null,
            "filter": "f062",
            "instrument": "wfi",
            "mode": "imaging"
        }
    },
    "scene": [
        {
            "position": {
                "orientation": 0.0,
                "x_offset": 0.0,
                "y_offset": 0.0
            },
            "shape": {
                "geometry": "point"
            },
            "spectrum": {
                "extinction": {
                    "bandpass": "j",
                    "law": "mw_rv_31",
                    "unit": "mag",
                    "value": 0.0
                },
                "lines": [],
                "name": "generic source",
                "normalization": {
                    "norm_flux": 0.001,
                    "norm_fluxunit": "mjy",
                    "norm_wave": 2.0,
                    "norm_waveunit": "microns",
                    "type": "at_lambda"
                },
                "redshift": 0.0,
                "sed": {
                    "sed_type": "flat",
                    "unit": "fnu",
                    "z": 0.0
                }
            }
        }
    ],
    "strategy": {
        "aperture_size": 0.2,
        "background_subtraction": true,
        "display_string": "Imaging Aperture Photometry",
        "method": "imagingapphot",
        "sky_annulus": [
            0.4,
            0.6
        ],
        "target_source": "1",
        "target_type": "coords",
        "target_xy": [
            0.0,
            0.0
        ],
        "units": "arcsec"
    }
}

  • No labels