Command Line Documentation

Get the List of All LeoLabs Catalog Objects

$ leolabs catalog list

Parameters

No parameters

Sample output

$ leolabs catalog list { "objects": [ { "noradCatalogNumber": 81721, "catalogNumber": "L19512", "name": "UNKNOWN" }, { "noradCatalogNumber": 25544, "catalogNumber": "L72", "name": "ISS (ZARYA)" }, ... ] }

Get the Details of a Catalog Object

$ leolabs catalog get --catalog-number CATALOG_NUMBER --norad-catalog-number NORAD_CATALOG_NUMBER

Get the LeoLabs Catalog Number, Norad Catalog Number (if applicable) and Name of a Catalog Object given the LeoLabs Catalog Number. You can get the catalog object details by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBER LeoLabs Catalog Number, such as L4654
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77

Sample output

$ leolabs catalog get --catalog-number L72 { "noradCatalogNumber": 25544, "catalogNumber": "L72", "name": "ISS (ZARYA)" }

Get Measurements

$ leolabs catalog get-measurements --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER --start-time START_TIME --end-time END_TIME

Get the measurements collected for Catalog Objects and a specified timespan. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBERS LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77
START_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive
END_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive

Sample output

$ leolabs catalog get-measurements --catalog-number L72 --start-time 2018-03-10T00:00:00Z --end-time 2018-03-11T00:00:00Z { "measurements": [ { "id": 142787963, "experiment": 10257135, "targetPass": 163582093, "group": 5, "instrument": "msr", "catalogNumber": "L72", "noradCatalogNumber": 25544, "updatedAt": "2018-03-10T07:48:41.759792Z", "transmittedAt": "2018-03-10T07:30:47.187160Z", "receivedAt": "2018-03-10T07:30:47.191657Z", "measuredAt": "2018-03-10T07:30:47.189408Z", "integrationTime": 0.122804, "snr": 21.3831462860107, "beam": 64166, "values": { "range": 674082.899316356, "rangeError": 32.4156626305453, "doppler": 4975.53076171875, "dopplerError": 0.599914990749214, "azimuth": 70.5, "elevation": 33.75, "rcs": 0.00245978360207381 }, "corrected": { "range": 674063.199004194, "rangeError": 11.3481567082204, "doppler": 4952.47997750971, "dopplerError": 0.967425529638197, "azimuth": 70.5, "elevation": 33.75, "rcs": 19.5923201384562 }, "corrections": [ { "type": "doppler_bias", "source": "leolabs", "value": 23.0507842090447, "error": 0.0522837712285609 }, { "type": "range_bias", "source": "leolabs", "value": 5.29010089894291, "error": 0.560305059601108 }, { "type": "ionospheric", "source": "iri16", "value": 14.4102112635351 } ] }, ... ] }

Get Planned Passes

$ leolabs catalog get-planned-passes --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER

Get data about planned instrument observations of Catalog Objects. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBERS LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77

Sample output

$ leolabs catalog get-planned-passes --catalog-number L72 { "passes": [ { "id": 123456789, "catalogNumber": "L72", "endTime": "2018-03-09T08:21:04.460894Z", "instrument": "msr", "detectionProbability": 0.725, "startTime": "2018-03-09T08:20:33.444101Z" }, ... ] }

Get Object Statistics

$ leolabs catalog get-statistics --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER

Get the statistics about Catalog Objects. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBERS LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77

Sample output

$ leolabs catalog get-statistics --catalog-number L72 { "stateVectors": 15, "measurementsLastDay": 0, "lastMeasurementAt": "2018-03-13T14:37:03.238", "measurements": 1785, "targetPasses": 232, "measurementsLastHour": 0, "firstMeasurementAt": "2017-02-23T22:48:47.431", "measuredObjects": 1 }

Get List of State Vectors

$ leolabs catalog list-states --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER --start-time START_TIME --end-time END_TIME --latest LATEST

Get the list of State Vectors (position and velocity) fitted to measurements made of the object(s). You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBERS LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77
START_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive
END_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive
LATEST Set to "true" to retrieve only the most recent state vector. Overrides START_TIME and END_TIME parameters.

Sample output

$ leolabs catalog list-states --catalog-number L72 --latest true { "states": [ { "noradCatalogNumber": 25544, "propagations": { "available": true, "startTime": "2018-03-05T17:30:04.831605Z", "endTime": "2018-03-13T17:30:04.831605Z" }, "catalogNumber": "L72", "createdAt": "2018-03-06T18:08:07.428810Z", "id": 947402, "timestamp": "2018-03-06T17:30:04.831605Z", "updatedAt": "2018-03-06T18:08:07.428796Z", "coefficients": { "fitted": { "reflectivity": -0.03410821742220471, "drag": 0.003576014957759499 } }, "frames": { "RIC": { "covariance": [ [ 3702.721526995907, 163.44697413193387, -1845.669540905315, 0.18236997009917755, 3.9174582979635004, -7.058683262414779 ], ... ], "velocity": [ 0.0, 0.0, 0.0 ], "covarianceExtended": [ [ 3702.721526995907, 163.44697413193387, -1845.669540905315, 0.18236997009917755, 3.9174582979635004, -7.058683262414779, 0.0004163847002910548, -0.1538511389393123 ], ... ], "position": [ 0.0, 0.0, 0.0 ] }, "EME2000": { "covariance": [ [ 1475.4130220914756, -45.86601582381442, -2120.6599640778295, -2.264702550917625, -2.0752245506675497, -4.107871030466868 ], ... ], "velocity": [ 5599.575727204382, 2598.2626230918363, -4557.622670115166 ], "covarianceExtended": [ [ 1475.4130220914756, -45.86601582381442, -2120.6599640778295, -2.264702550917625, -2.0752245506675497, -4.107871030466868, 0.00029409473331311244, -0.07898276849466654 ], ... ], "position": [ 4528641.438180711, -3659661.070595693, 3467731.9730965323 ] } } } ] }

Get a State Vector

$ leolabs catalog get-state --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER --state STATE

Get a State Vector (position and velocity) fitted to measurements made of the object(s). A TLE derived from the State Vector is included in the result. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBERS LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77
STATE The id of the State Vector

Sample output

$ leolabs catalog get-state --catalog-number L72 --state 947402 { "id": 947402, "noradCatalogNumber": 25544, "catalogNumber": "L72", "createdAt": "2018-03-06T18:08:07.428810Z", "frames": { "EME2000": { "position": [ 4528641.438180711, -3659661.070595693, 3467731.9730965323 ], "covarianceExtended": [ [ 1475.4130220914756, -45.86601582381442, -2120.6599640778295, -2.264702550917625, -2.0752245506675497, -4.107871030466868, 0.00029409473331311244, -0.07898276849466654 ], ... ], "velocity": [ 5599.575727204382, 2598.2626230918363, -4557.622670115166 ], "covariance": [ [ 1475.4130220914756, -45.86601582381442, -2120.6599640778295, -2.264702550917625, -2.0752245506675497, -4.107871030466868 ], ... ] }, "RIC": { "position": [ 0.0, 0.0, 0.0 ], "covarianceExtended": [ [ 3702.721526995907, 163.44697413193387, -1845.669540905315, 0.18236997009917755, 3.9174582979635004, -7.058683262414779, 0.0004163847002910548, -0.1538511389393123 ], ... ], "velocity": [ 0.0, 0.0, 0.0 ], "covariance": [ [ 3702.721526995907, 163.44697413193387, -1845.669540905315, 0.18236997009917755, 3.9174582979635004, -7.058683262414779 ], ... ] } }, "coefficients": { "fitted": { "drag": 0.003576014957759499, "reflectivity": -0.03410821742220471 } }, "propagations": { "available": true, "endTime": "2018-03-13T17:30:04.831605Z", "startTime": "2018-03-05T17:30:04.831605Z" }, "timestamp": "2018-03-06T17:30:04.831605Z", "updatedAt": "2018-03-06T18:08:07.428796Z", "tle": { "epoch": "2018-03-07T17:30:04.831776Z", "line0": "0 ISS (ZARYA)", "line1": "1 25544U 00000 18065.72922259 .00309897 00000-0 11658-4 0 02", "line2": "2 25544 51.6382 169.4968 0001248 98.9026 40.1668 15.54191779 03", "state": 947402 } }

Get a Propagation

$ leolabs catalog get-propagation --catalog-number CATALOG_NUMBER --norad-catalog-number NORAD_CATALOG_NUMBER --state STATE --start-time START_TIME --end-time END_TIME --timestep TIMESTEP

The specified State Vector will be propagated between two points in time. Currently, we support propagations between -1 day and +7 days from the epoch of the State Vector. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBER LeoLabs Catalog Number, such as L4654
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77
START_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive
END_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive
TIMESTEP Timestep in seconds. Determines how far apart each propagation State Vector should be.

Sample output

$ leolabs catalog get-propagation --catalog-number L72 --state 947402 --start-time 2018-03-10T00:00:00Z --end-time 2018-03-10T00:00:10Z --timestep 1 { "timestep": 1.0, "frame": "EME2000", "propagation": [ { "position": [ -1739678.25, -3828627.5, 5312041.5 ], "covariance": [ [ 193047.265625, -25960.123046875, 47180.69140625 ], [ -25960.123046875, 20219.8203125, -1342.7786865234375 ], [ 47180.69140625, -1342.7786865234375, 15520.2919921875 ] ], "velocity": [ 6888.64453125, -3371.171630859375, -175.59954833984375 ] }, ... ], "state": "947402", "startTime": "2018-03-10T00:00:00+00:00", "endTime": "2018-03-10T00:00:10+00:00" }

Create a Task for an Object

$ leolabs catalog create-task --catalog-number CATALOG_NUMBER --norad-catalog-number NORAD_CATALOG_NUMBER --start-time START_TIME --end-time END_TIME

Request a high priority collection of measurements for a single Catalog Object. You can specify either the LeoLabs Catalog Number or the Norad Catalog Number.

Parameters

CATALOG_NUMBER LeoLabs Catalog Number, such as L4654
NORAD_CATALOG_NUMBER Norad Catalog Number, such as 77
START_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive
END_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive

Sample output

$ leolabs catalog create-task --catalog-number L72 --start-time 2018-03-10T00:00:00Z --end-time 2018-03-10T00:00:10Z {"id": 7765}

Get the List of All Instruments

$ leolabs instruments list

An instrument is a source of measurements, such as a particular radar site. LeoLabs currently operates two of these radar sites: PFISR in Alaska and MSR in Midland, Texas.

Parameters

No parameters

Sample output

$ leolabs instruments list { "instruments": [ { "latitude": 65.12992, "altitude": 213.0, "id": "pfisr", "transmitFrequency": 450000000.0, "longitude": -147.47104, "transmitPower": 2000000.0 }, { "latitude": 31.9643, "altitude": 855.0, "id": "msr", "transmitFrequency": 440000000.0, "longitude": -103.233245, "transmitPower": 65000.0 } ] }

Get the Details of an Instrument

$ leolabs instruments get --instrument INSTRUMENT

An instrument is a source of measurements, such as a particular radar site.

Parameters

INSTRUMENT Instrument id, eg.: "pfisr" or "msr"

Sample output

$ leolabs instruments get --instrument msr { "latitude": 31.9643, "altitude": 855.0, "id": "msr", "transmitFrequency": 440000000.0, "longitude": -103.233245, "transmitPower": 65000.0 }

Get Instrument Statistics

$ leolabs instruments get-statistics --instrument INSTRUMENT

Get some recent statistics for an instrument, such as the number of objects detected and average latency of measurement data.

Parameters

INSTRUMENT Instrument id, eg.: "pfisr" or "msr"

Sample output

$ leolabs instruments get-statistics --instrument msr { "firstMeasurementAt": "2017-02-20T16:27:43.829", "measurements": 9387810, "measurementsLastDay": 29182, "measurementsLastHour": 1898, "measuredObjects": 11583, "lastMeasurementAt": "2018-03-13T18:59:00.998" }

Get the List of Tasks

$ leolabs instruments list-tasks --instrument INSTRUMENT

The list will only comprise of the tasks submitted from the authenticated account. A task is essentially a request for an instrument to collect data during a specific time range.

Parameters

INSTRUMENT Instrument id, eg.: "pfisr" or "msr"

Sample output

$ leolabs instruments list-tasks --instrument msr { "tasks": [ { "id": 8883, "startTime": "2023-09-15T00:11:44Z", "endTime": "2023-09-15T00:22:33Z" } ] }

Create a Task for an Instrument

$ leolabs instruments create-task --instrument INSTRUMENT --start-time START_TIME --end-time END_TIME

Request an instrument to collect data for some period of time.

Parameters

INSTRUMENT Instrument id, eg.: "pfisr" or "msr"
START_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive
END_TIME ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive

Sample output

$ leolabs instruments create-task --instrument msr --start-time 2018-03-10T00:00:00Z --end-time 2018-03-10T00:00:10Z {"id": 787830}

Get a Task

$ leolabs instruments get-task --instrument INSTRUMENT --task TASK

Get data about a task, including requested start and end time. A task is essentially a request for an instrument to collect data during a specific time range.

Parameters

INSTRUMENT Instrument id, eg.: "pfisr" or "msr"
TASK Task id, as returned from the list of tasks

Sample output

$ leolabs instruments get-task --instrument msr --task 8883 { "id": 8883, "startTime": "2023-09-15T00:11:44Z", "endTime": "2023-09-15T00:22:33Z" }

Get Task Measurements

$ leolabs instruments get-task-measurements --instrument INSTRUMENT --task TASK

Get the measurements collected for a previously submitted task.

Parameters

INSTRUMENT Instrument id, eg.: "pfisr" or "msr"
TASK Task id, as returned from the list of tasks

Sample output

$ leolabs instruments get-task-measurements --instrument msr --task 8883 See Get Measurements for output format