Skip to content

Coordtrans

OTSO.coordtrans

coordtrans(
    Locations: Sequence[float],
    dates: Sequence,
    CoordIN: str = "GEO",
    CoordOUT: str = "GDZ",
    corenum: Optional[int] = None,
    Verbose: bool = True,
    *args,
    **kwargs,
) -> list

Transform coordinates between different coordinate systems using OTSO.

Converts spatial coordinates between various reference frames used in space physics and geomagnetics. Supports time-dependent transformations for date-specific coordinate system orientations.

Coordinate transformations are done via the IRBEM library.

Parameters:

  • Locations (list) –

    Input coordinates as [[coord1, coord2, coord3]].

  • dates (list) –

    Date/time stamps for coordinate transformations.

  • CoordIN (str, default: 'GEO' ) –

    Input coordinate system. Options: "GEO", "GSM", "GSE", "SM", "GEI", "MAG", "SPH", "RLL", "GDZ"

  • CoordOUT (str, default: 'GDZ' ) –

    Output coordinate system. Options: "GEO", "GSM", "GSE", "SM", "GEI", "MAG", "SPH", "RLL", "GDZ"

  • corenum (int, default: None ) –

    Number of CPU cores for parallel processing.

  • Verbose (bool, default: True ) –

    Enable verbose output.

Returns:

  • list ( list ) –

    [coords_dataframe, summary_text]

    • coords_dataframe: Transformed coordinates
    • summary_text: Transformation summary

Examples:

   from OTSO import coordtrans
    import datetime

    if __name__ == '__main__':

        lat_lon_alt_list = [[10,10,10]] # [[Latitude,Longitude,Altitude]]
        date_list = [datetime.datetime(2000,10,12,8)] # [dates]

        # Example using grouped parameters (coordtrans has fewer parameter groups)
        Coords = coordtrans(
            Locations=lat_lon_alt_list,
            dates=date_list,
            CoordIN="GEO",
            CoordOUT="GSM",
            corenum=1  # coordtrans uses individual parameters, not grouped ones
        )

        # Access the results
        coord_df, metadata = coord_result