*********************************************************************************** CelestLab - CNES Space mechanics toolbox for Scilab Version 3.1.0 *********************************************************************************** --------------------------- Overview of CelestLab 3.1.0 --------------------------- CelestLab has been improved/extended in comparison with previous version (3.0.0). -> See details below. One major change with respect to the previous version is that CelestLab now comes in 2 parts: - CelestLab: the original module that contains all the public interfaces and documentation - CelestLabX: an additional module that extends CelestLab. It contains low-level functions that are called by CelestLab. CelestLab may be used without CelestLabX being installed, but then a few features will not be available. *********************************************************************************** Detailed changelog: *********************************************************************************** ---------- Bugs fixed ---------- - CL_rot_defRot2Ax: Index error in certain cases. The order of solutions was sometimes wrong - CL_oe_kep2cir: Size of Jacobian Matrix was not correctly initialized - CL_sortMat: did not work when the sorting vector was a scalar - CL_cw_lambert: correction of arguments names - CL_fr_bodyConvertMat: correction in code (wrong variable name) - CL_evalPoly: correction of argument name (coeff) - CL_gm_eclipseCheck: anomaly corrected (wrong field name used) - CL_ip_insertionDv: there was a division by 0 for a circular target orbit Other corrections: - Correction in "cookbook": CL_fr_convPosVel was wrongly used instead of CL_rot_pvConvert - Corrections/adaptation of demo tool: the window disappeared due to a change in Scilab (figure "visible" attribute) -------------------------- Improved/changed functions -------------------------- - CL_oe_convert: now supports any type of orbital elements - CL_dat_str2cal: now correctly handles [] as input parameter - CL_gm_eclipseCheck: new outputs added: characteristic angles defining umbra or penumbra - CL_defParam: input parameter "dim" can now be an interval [min, max] - CL_op_searchRepeatOrbits: [] is now returned when no solution is found - CL_3b_environment, CL_3b_halo, CL_3b_lissajous, CL_3b_manifold: improved and simpler code (numerical results are slightly different from previous version) - CL_cor2cov, CL_cov2cor: code has been improved - CL_co_car2ell, CL_co_ell2car: improved %nan processing (for vectors and jacobian matrix) - CL_kp_E2M, CL_kp_E2v, CL_kp_M2E, CL_kp_M2v, CL_kp_v2E, CL_kp_v2M: %nan is now returned if eccentricity is 1 - CL_cw_lambert: "acc" input parameter is now vectorized - CL_ex_propagate, CL_ex_meanElem : extended to all types of orbital elements - CL_ex_propagate : "J2sec" model improved (no conversion between orbital elements takes place) - CL_ex_kepler, CL_ex_secularJ2 : transition matrix is now optionally computed - CL_dot, CL_cross, CL_dMult : extended : now work for matrices and hypermatrices - CL_sphHarmVal, CL_sphHarmAcc: vectorization extended to a few arguments - CL_g_legend: adapted so that it work with any Scilab version - CL_stat: "mvvacov" replaced by "cov" - CL_intervUnion: algorithms has been simplified - CL_sortMat : interface simplified for a simple sort (vector) - CL_covDraw is now in the "math" section - CL_locationInfo is now in the "models" section ------------- New functions ------------- Math: CL_detectZero, CL_detectSign CL_intervLinspace, CL_intervSelectIn CL_lagrangeFitPoly Orbit properties: CL_kp_anomConvert, CL_kp_anomConvertCir CL_op_orbGapLof, CL_op_orbGapLofMat CL_op_latSwath Trajectory and maneuvers: CL_man_dvIncSma, CL_man_dvSmaT, CL_man_dvSmaEccv CL_stela_extrap, CL_stela_deriv, CL_stela_params, CL_stela_convert, CL_stela_getConst CL_stela_area, CL_stela_objLoad CL_tle_evalAvgElem, CL_tle_format, CL_tle_genEphem, CL_tle_getBalCoef, CL_tle_getConst, CL_tle_getElem, CL_tle_load, CL_tle_new, CL_tle_parse, CL_tle_set, CL_tle_setElem, CL_tle_update Geometry and events: CL_ev_eclipse, CL_ev_stationVisibility CL_gm_intersectCoplanOrb Interplanetary: CL_ip_flybyParams, CL_ip_flybyVectors CL_3b_manifold (replaces CL_3b_manifolds) Coordinates and frames: CL_rot_contQuat Models: CL_fo_solidTidesAcc, CL_fo_solidTidesPot, CL_fo_albedoAcc Utilities: CL_isAlmostEqual CL_plot_swath --------- New demos --------- Calendar_of_Moon_phases Celestial_body_observation_planner Compensation_of_atmospheric_drag Deorbit_cost_-_circular_1 Deorbit_cost_-_circular_2 Deorbit_cost_-_elliptical Drifts_due_to_J2_-_RAAN_or_MLTAN Eclipse_duration_-_evolution_over_time Eclipses_of_Sun_and_Moon Gravity_effects_on_GEO Ground_station_pointing_error Interplanetary_transfers_-_Tisserand_graph Intersection_of_coplanar_orbits Plot_trajectory (TLE) Prediction_of_visible_passes (TLE) Restricted_3-body_problem Solar_array_efficiency Solar_array_efficiency_2 Solar_array_efficiency_function_of_time Space_time_coverage Swing-by_-_generic Swing-by_-_planetary -------------------- Data / configuration -------------------- - Explicit values for the WGS84 ellipsoid have been added to "physical_data.scd" - EIGEN-GL04s potential data added (file: "eigen_gl04s.scd"). It is not explicitly used in CelestLab. - Albedo and Love coefficients: added in "physical_data.scd" - Three body problem related data: added to "solar_system_data.scd" - Configuration file extended (configuration parameters for STELA or TLEs) - Configuration parameter names are now uppercase, but backward compatibility is assured. ------------- Documentation ------------- - The documentation of CelestLab has been updated with new contents: STELA, Two Line Elements, Jacobian matrices... - New cookbook sections have been added: Interplanetary cruise, Jacobian and covariance matrices - Orbital elements section has been extended - New topics added in the Flight Dynamics Conventions section: Frames, Jacobian matrices, Units... -------------------- Deprecated functions -------------------- CL_3b_manifolds => use CL_3b_manifold CL_ev_visibilityEph, CL_ev_visibilityExtr => use CL_ev_stationVisibility (more powerful) CL_gm_sphericDist => use CL_co_sph2car + CL_vectAngle CL_kp_M2Ecir => use CL_kp_anomConvertCir CL_dsp_covCoord, CL_dsp_kepCovPropa => use CL_ex_kepler (transition matrix) + orbital elements conversions ----------------- Removed functions ----------------- CL_oe_*** ("***" including "equin" or "cireq") => use CL_oe_convert instead.