Skip to content

Coordinate transformations #2

Description

@ShujuanGeng0227

Discussed in #1

Originally posted by pgrebolt May 29, 2023
Hi all,

I am working with the DFN darkflight modelling code and, looking deep into it, I think there are some conversions between frames that are not done properly. I have seen that when converting from ECI coordinates to LLH, a transformation involving ECEF->LLH is applied, thus neglecting any Earth rotation effect. For example, this occurs in df_functions.py, in line 77 (AtmosphericModel). In my opinion, the steps should be ECI->ECEF->LLH. I have made the conversion as:

Pos_ECEF = ECI2ECEF_pos(Pos_ECI, t_jd)
Pos_LLH = ECEF2LLH(Pos_ECEF)

Similarly, this also happens in df_functions when converting the wind vector (in ENU) to ECI or in trajectory_utilities.py when computing gravity_vector(). In the case of the wind vector I am now conducting the following conversion:

lat = float(Pos_LLH[0]); lon = float(Pos_LLH[1]) # (rad)
ENU2ECEF_matrix = ENU2ECEF(lat, lon)
Wind_ECEF = np.dot(ENU2ECEF_matrix, Wind_ENU)
Wind_ECI = ECEF2ECI(Pos_ECEF, Wind_ECEF, t_jd)[1] + v_rot

However, I am still wondering if in this case v_rot should be added.

Has anyone wondered the same? Is it possible that I am missing some approximations between ECI and ECEF?

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions