API
LittleEphemeris.BodyCoeffs
— TypeBodyCoeffs
Estructura de coeficientes de un cuerpo
bodyID::Int
: ID del cuerpo.bodyName::String
: Nombre del cuerpo.numberOfPolynomials::Int
: Numero de polinomios.numberOfCoeffs::Int
: Número de coeficientes en cada polinomio.timeIntervals::Vector{FloatType}
: Vector de intervalos de tiempo.x_coeffs::Matrix{FloatType}
: Matriz de coeficientes de las posiciones en el eje x.y_coeffs::Matrix{FloatType}
: Matriz de coeficientes de las posiciones en el eje y.z_coeffs::Matrix{FloatType}
: Matriz de coeficientes de las posiciones en el eje z.vx_coeffs::Matrix{FloatType}
: Matriz de coeficientes de la velocidad en el eje x.vy_coeffs::Matrix{FloatType}
: Matriz de coeficientes de la velocidad en el eje y.vz_coeffs::Matrix{FloatType}
: Matriz de coeficientes de la velocidad en el eje z.
LittleEphemeris.BodyCoeffs
— TypeBodyCoeffs
Metodo del objeto que permite calcular las coordenadas y/o las velocidades del cuerpo especificado en el instante de tiempo especificado.
Argumentos de entrada
t::Float64
: Instante de cuerpo en el que se quieren conocer las coordenadas de posición y/o velocidad del cuerpo.code::Int
: Integer que indica los parámetros de salida. Por defecto code = 3.- code = 1: Devuelve el vector de las coordenadas de la posición.
- code = 2: Devuelve el vector de las coordenadas de la velocidad.
- code = 3: Devuelve el vector de las coordenadas de la posición y la velocidad.
Argumentos de salida
res::Vector{Float64}
: Vector con las coordenadas y/o las velocidades del cuerpo especificado en el instante de tiempo especificado.
LittleEphemeris.BodyCoeffs
— MethodBodyCoeffs
Constructora del objeto.
Argumentos de entrada.
info_file_path::String
: Ruta del fichero de información.file_path::String
: Ruta del fichero de coeficientes.body::Union{Int, String}
: ID o Nombre del cuerpo.tspan::Tuple{Float64, Float64}
: Intervalo de tiempo al que pertenecen los polinomios.
Argumentos de salida.
bc::BodyCoeffs{Float64}
: Objeto de coeficientes del cuerpo especificado
LittleEphemeris.create_coeffs_file
— Functioncreatecoeffsfile
Genera dos ficheros, un fichero CSV con los coeficientes y uno JSON con los datos de los coeficientes
Argumentos de entrada
coeffs_info_file_path::String
: Ruta del fichero de información que se quiere crear.coeffs_file_path::String
: Ruta del fichero de coeficientes que se quiere crear.body_vec::Union{Vector{Int} Vector{String}}
: Vector de IDs o de nombres de los cuerpos de los que se quieren obtener los
coeficientes.
time_interval_vec::Vector{Tuple{Float64, Float64}}
: Vector de intervalos de tiempo.header_file_path::String
: Ruta del fichero de información existente.time_file_path::String
: Ruta del fichero de intervalos de tiempo.
@precondition: La longitud del vector de cuerpos debe ser igual a la longitud del vector de intervalos de tiempos.
@precondition: El fichero de información (header) debe ser un fichero JSON con un formato específico.
@precondition: El fichero de intervalos de tiempo debe ser un fichero CSV de una única columna.
LittleEphemeris.eval_coeffs_file
— Methodevalcoeffsfile
Evalúa los coeficientes que se encuentran en un fichero especificado en los intervalos de tiempo especificados.
Argumentos de entrada
coeffs_info_file_path::String
: Ruta del fichero de información.coeffs_file_path::String
: Fichero de coeficientes.body::Union{Int, String}
: Cuerpo del que se quieren evaluar los coeficientes.time_vector::Vector{Float64}
: Vector de instantes en los que se quiere evaluar los coeficientes.
Argumentos de salida
x::Vector{Float64}
: Vector de posiciones en el eje x.y::Vector{Float64}
: Vector de posiciones en el eje y.z::Vector{Float64}
: Vector de posiciones en el eje z.vx::Vector{Float64}
: Vector de velocidad en el eje x.vy::Vector{Float64}
: Vector de velocidad en el eje y.vz::Vector{Float64}
: Vector de velocidad en el eje z.
@precondition: El fichero de información debe ser un fichero JSON y tiene que estar en un formato específico.
LittleEphemeris.generate_coeffs
— Functiongenerate_coeffs
Genera los coeficientes de Chebyshev entre dos fechas dadas para un cuerpo especificado.
Argumentos de Entrada:
initial_date::Float64
: Fecha inicial, perteneciente al primer intervalo (en formato ET).final_date::Float64
: Fecha final, perteneciente al último intervalo (en formato ET).coeffs_info::Tuple{Int, Int, Int}
: Una tupla con la ID del cuerpo del que queremos obtener las Efemérides, número de
coeficientes que queremos en nuestros polinomios y número de polinomios que queremos por intervalo.
time_file_path::String
: Ruta del fichero de fechas.
Argumentos de salida:
time_vec::Vector{Float64}
: Vector de fechas (en formato ET).x::Matrix{Float64}
: Matriz de polinomios interpoladores de las posiciones del eje x. Cada fila es un polinomio, hay tantas
columnas como coeficientes.
y::Matrix{Float64}
: Matriz de polinomios interpoladores de las posiciones del eje y. Cada fila es un polinomio, hay tantas
columnas como coeficientes.
z::Matrix{Float64}
: Matriz de polinomios interpoladores de las posiciones del eje z. Cada fila es un polinomio, hay tantas
columnas como coeficientes.
vx::Matrix{Float64}
: Matriz de polinomios interpoladores de la velocidad en el eje x. Cada fila es un polinomio, hay tantas
columnas como coeficientes.
vy::Matrix{Float64}
: Matriz de polinomios interpoladores de la velocidad en el eje x. Cada fila es un polinomio, hay tantas
columnas como coeficientes.
vz::Matrix{Float64}
: Matriz de polinomios interpoladores de la velocidad en el eje x. Cada fila es un polinomio, hay tantas
columnas como coeficientes.
@precondition: initialdate < finaldate
@precondition: El fichero de intervalos de tiempo debe ser un fichero CSV de una única columna.
LittleEphemeris.generate_files
— Functiongenerate_files
Genera los ficheros necesarios para el uso de algunas funciones del paquete.
Argumentos de entrada
path::String
: Ruta en la que se quieren guardar los ficheros
LittleEphemeris.generate_subfile
— Methodgenerate_subfile
Partiendo de un fichero genera otro con los cuerpos indicados en los intervalos de tiempo indicados.
Argumentos de entrada
info_subfile_path::String
: Ruta del nuevo fichero de información.subfile_path::String
: Ruta del nuevo fichero de coeficientes.body_vec::Union{Vector{Int}, Vector{String}}
: Vector de IDs de los cuerpos o de los nombres de los cuerpo.time_interval_vec::Vector{Tuple{Float64, Float64}}
: Vector de intervalos de tiempo.info_main_file_path::String
: Ruta del fichero de información original.main_file_path::String
: Ruta del fichero de coeficientes original.