---
title: "Perform inverse ATM calculation"
method: POST
path: "/api/v1/atm/inverse"
tags: ["Auroral Transport Model (ATM)"]
---

# Perform inverse ATM calculation

`POST /api/v1/atm/inverse`

## Request

- Base URL: `https://api.phys.ucalgary.ca` (the document declares no server; this is the origin it was published from)
- URL: `https://api.phys.ucalgary.ca/api/v1/atm/inverse`
- Auth: none declared
- TypeScript: <https://skmtc.dev/ucalgary/apis/ucalgary-space-remote-sensing-api/docs/api/v1/atm/inverse/post.ts> (a function with typed inputs; its response is checked against the schema)

Perform an inverse calculation using **VERSION 1** of the TREx Auroral Transport Model and the supplied 
input parameters.

Input notes:
  - timestamp
    - timestamp is expected to be in UTC
    - only specific dates are valid at this time. A 400 error will be returned if an unsupported date is
      requested. If you want to get a date that we have not enabled support for yet, please contact us.
    - the 'Z' character at the end of the timestamp is optional, and will be ignored if it is supplied
  - latitude and longitude
    - are to be in geodetic coordinates
    - latitude is currently limited to >=50.0 and <61.5 degrees
    - longitude is currently limited >=-110 and <-70 and degrees
  - valid values for nrlmsis_model_version are '00' and '2.0'
  - valid values for precipitation_flux_spectral_type are 'gaussian' and 'maxwellian'
  - intensity parameters are expected to be height-integrated values, and in Rayleighs
  - by default requests are cached; use the 'no_cache' parameter to disable this functionality

Output notes:
  - output parameter of the request are toggles the enable/disable each field's inclusion in the response
  - all output parameters are false by default
  - altitude is in kilometers
  - energy flux: erg/cm2/s
  - characteristic energy: eV
  - emission data: 1-D array -- volume emission rate (1/cm^3/s)
  - plasma electron density: 1-D array -- density (cm^-3)
  - plasma O2+ density: 1-D array -- density (cm^-3)
  - plasma NO+ density: 1-D array -- density (cm^-3)
  - plasma O+ density: 1-D array -- density (cm^-3)
  - plasma ionisation rate: 1-D array -- ionisation rate (1/cm^3/s)
  - plasma electron temperature: 1-D array -- temperature (K)
  - plasma ion temperature: 1-D array -- temperature (K)
  - plasma peterson conductivity: 1-D array -- conductivity (S/m)
  - plasma hall conductivity: 1-D array -- conductivity (S/m)
  - neutral O2 density: 1-D array -- density (cm^-3)
  - neutral O density: 1-D array -- density (cm^-3)
  - neutral N2 density: 1-D array -- density (cm^-3)
  - neutral N density: 1-D array -- density (cm^-3)
  - neutral temperature: 1-D array -- temperature (K)

## Request body

- SrcAtmV1SchemasInverseATMInverseRequest
  - `atm_model_version` '1.0'
  - `timestamp` string, date-time, required
  - `geodetic_latitude` number, required
  - `geodetic_longitude` number, required
  - `intensity_4278` number
  - `intensity_5577` number
  - `intensity_6300` number
  - `intensity_8446` number
  - `precipitation_flux_spectral_type` 'gaussian' | 'maxwellian'
  - `nrlmsis_model_version` '00' | '2.0'
  - `atmospheric_attenuation_correction` boolean
  - `output` SrcAtmV1SchemasInverseATMInverseRequestOutputFlags
    - `altitudes` boolean
    - `energy_flux` boolean
    - `characteristic_energy` boolean
    - `oxygen_correction_factor` boolean
    - `height_integrated_rayleighs_4278` boolean
    - `height_integrated_rayleighs_5577` boolean
    - `height_integrated_rayleighs_6300` boolean
    - `height_integrated_rayleighs_8446` boolean
    - `emission_4278` boolean
    - `emission_5577` boolean
    - `emission_6300` boolean
    - `emission_8446` boolean
    - `plasma_electron_density` boolean
    - `plasma_o2plus_density` boolean
    - `plasma_oplus_density` boolean
    - `plasma_noplus_density` boolean
    - `plasma_ionisation_rate` boolean
    - `plasma_electron_temperature` boolean
    - `plasma_ion_temperature` boolean
    - `plasma_pederson_conductivity` boolean
    - `plasma_hall_conductivity` boolean
    - `neutral_o2_density` boolean
    - `neutral_o_density` boolean
    - `neutral_n2_density` boolean
    - `neutral_n_density` boolean
    - `neutral_temperature` boolean
  - `no_cache` boolean

## Response `200`

Calculated outputs

- SrcAtmV1SchemasInverseATMInverseResponse
  - `data` SrcAtmV1SchemasInverseATMInverseResponseData, required
    - `altitudes` unknown[]
      - unknown
    - `energy_flux` number
    - `characteristic_energy` number
    - `oxygen_correction_factor` number
    - `height_integrated_rayleighs_4278` number
    - `height_integrated_rayleighs_5577` number
    - `height_integrated_rayleighs_6300` number
    - `height_integrated_rayleighs_8446` number
    - `emission_4278` unknown[]
      - unknown
    - `emission_5577` unknown[]
      - unknown
    - `emission_6300` unknown[]
      - unknown
    - `emission_8446` unknown[]
      - unknown
    - `plasma_electron_density` unknown[]
      - unknown
    - `plasma_o2plus_density` unknown[]
      - unknown
    - `plasma_noplus_density` unknown[]
      - unknown
    - `plasma_oplus_density` unknown[]
      - unknown
    - `plasma_ionisation_rate` unknown[]
      - unknown
    - `plasma_electron_temperature` unknown[]
      - unknown
    - `plasma_ion_temperature` unknown[]
      - unknown
    - `plasma_pederson_conductivity` unknown[]
      - unknown
    - `plasma_hall_conductivity` unknown[]
      - unknown
    - `neutral_o2_density` unknown[]
      - unknown
    - `neutral_o_density` unknown[]
      - unknown
    - `neutral_n2_density` unknown[]
      - unknown
    - `neutral_n_density` unknown[]
      - unknown
    - `neutral_temperature` unknown[]
      - unknown
  - `request` SrcAtmV1SchemasInverseATMInverseRequest, required
    - `atm_model_version` '1.0'
    - `timestamp` string, date-time, required
    - `geodetic_latitude` number, required
    - `geodetic_longitude` number, required
    - `intensity_4278` number
    - `intensity_5577` number
    - `intensity_6300` number
    - `intensity_8446` number
    - `precipitation_flux_spectral_type` 'gaussian' | 'maxwellian'
    - `nrlmsis_model_version` '00' | '2.0'
    - `atmospheric_attenuation_correction` boolean
    - `output` SrcAtmV1SchemasInverseATMInverseRequestOutputFlags
      - `altitudes` boolean
      - `energy_flux` boolean
      - `characteristic_energy` boolean
      - `oxygen_correction_factor` boolean
      - `height_integrated_rayleighs_4278` boolean
      - `height_integrated_rayleighs_5577` boolean
      - `height_integrated_rayleighs_6300` boolean
      - `height_integrated_rayleighs_8446` boolean
      - `emission_4278` boolean
      - `emission_5577` boolean
      - `emission_6300` boolean
      - `emission_8446` boolean
      - `plasma_electron_density` boolean
      - `plasma_o2plus_density` boolean
      - `plasma_oplus_density` boolean
      - `plasma_noplus_density` boolean
      - `plasma_ionisation_rate` boolean
      - `plasma_electron_temperature` boolean
      - `plasma_ion_temperature` boolean
      - `plasma_pederson_conductivity` boolean
      - `plasma_hall_conductivity` boolean
      - `neutral_o2_density` boolean
      - `neutral_o_density` boolean
      - `neutral_n2_density` boolean
      - `neutral_n_density` boolean
      - `neutral_temperature` boolean
    - `no_cache` boolean
  - `forward_params` ATMInverseForwardRequest
    - `maxwellian_energy_flux` number, required
    - `gaussian_energy_flux` number, required
    - `maxwellian_characteristic_energy` number, required
    - `gaussian_peak_energy` number, required
    - `gaussian_spectral_width` number, required
    - `nrlmsis_model_version` '00' | '2.0', required
    - `oxygen_correction_factor` number, required
    - `timescale_auroral` integer, required
    - `timescale_transport` integer, required
  - `calculation_duration_ms` number, required

## Other responses

- `400`: Problematic request made
- `422`: Validation Error
- `500`: Data generation error

---

[API](https://skmtc.dev/ucalgary/apis/ucalgary-space-remote-sensing-api.md) - [All operations](https://skmtc.dev/ucalgary/apis/ucalgary-space-remote-sensing-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ucalgary/apis/ucalgary-space-remote-sensing-api/revisions/e451a425b5eb?raw)
