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

Compare with Current View Page History

« Previous Version 7 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.


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.

(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