1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507
|
***********************************************************************************
CelestLab - CNES Space mechanics toolbox for Scilab - Detailed Changelog
***********************************************************************************
====================================
Version 2.4.2 - July 27, 2012
====================================
- One bug fixed in CL_rot_quat2axAng (which sometimes returned a wrong rotation angle).
- One new demo (in the "relative motion" section).
- Improvement/adaptation of the functions: CL_rot_quat2axAng, CL_rot_axAng2quat, CL_rot_quatSlerp.
- The CelestLab menu has been extended.
Bugs fixed
----------
- CL_rot_quat2axAng: the rotation angle was sometimes incorrect (for angles > 180 deg).
Improved/changed functions
--------------------------
- CL_rot_quat2axAng, CL_rot_axAng2quat:
The convention for undefined axes (identity quaternion) has changed:
instead of returning [%nan;%nan;%nan] CL_rot_quat2axAng now returns [0;0;0].
This is more consistent with the way %nan is handled in CelestLab, and also
with CL_rot_axAng2quat which accepted [0;0;0] as input in practice.
The rotation angle returned by CL_rot_quat2axAng is now in [0, pi].
- CL_rot_quatSlerp: code has been simplified.
New demos
---------
- Enforced linear relative motion
Miscellaneous
-------------
- The CelestLab menu has been extended. It is now possible to edit the data files
that contain the values of CelestLab predefined variables.
====================================
Version 2.4.1 - July 20, 2012
====================================
- A few minor changes, mostly the update of the detailed changelog
that was not exact.
- 2 new demos (relative motion and Hohmann <-> continuous thrust)
- Improvement of the functions: CL_cw_Mmatrix and CL_cw_Nmatrix
Improved functions
------------------
- CL_cw_Mmatrix, CL_cw_Nmatrix
New demos
---------
- Continuous versus Hohmann
- Keplerian relative motion
====================================
Version 2.4.0 - July 10, 2012
====================================
This version is a "minor" version that includes a few improvements.
The main features (in comparison with 2.3.0) are:
- 11 new functions:
- 7 new demos
- A few bugs fixed
- A total of 16 functions are now deprecated.
New functions
-------------
- New maneuver functions (old maneuver functions are now deprecated)
CL_man_applyDvKep, CL_man_dvApsidesLine, CL_man_dvBiElliptic, CL_man_dvHohmann,
CL_man_dvHohmannG, CL_man_dvIncRaanCirc, CL_man_dvInc, CL_man_dvSma
=> deltav (sum of norms) is now always returned as 1st argument
=> velocity increments are in cartesian coordinates
- CL_gm_orbSphTriangle
- CL_op_equatorialSwath
- CL_integrate
- CL_home (see below)
Improved functions
------------------
- CL_rot_angles2quat, CL_rot_angles2matrix: now accepts an unlimited number of
successive rotations (previously limited to 1,2 or 3 rotations)
- CL_plot_earthMap, CL_locationInfo: data is now stored in a binary files
(previously stored as ASCII files).
The loading time is shorter and files are smaller.
- CL_unitConvert: addition of 3 news units : arcmin, arcsec, mas (=milli arcsec)
- CL_dat_utc2tai, CL_dat_tai2utc: Code rewritten. It is now more rigourous and
faster.
- CL_rot_angles2quat, CL_rot_axAng2quat, CL_rot_matrix2quat: empty input
arguments are now correctly handled.
- CL_g_stdaxes: The size of the font is now proportional to the size of the
figure by default.
- Overloading of quaternions: Implicit size operator (ex: 2:$) is now handled.
- The code of a few functions has been simplified and improved (CL_kp_xxx,
CL_ip_xxx, CL_op_raan2beta,...).
- CL_op_raan2beta, CL_op_beta2raan: in some cases %nan is now returned (before:
an error was raised).
Bugs fixed
----------
- CL_rot_angularVelocity: Depending on the rotation sequence, the angular
velocity vector could be incorrect.
The convention for the angular velocity vector returned is now clearly
documented.
- CL_fr_J20002ter,CL_fr_ter2J2000: The velocity and jacobian computation was
not correct (due to the bug above). The effects were small in practice
(effect of precession and nutation on velocity).
- CL_man_hohmannG: The tue anomaly of the first maneuver was sometimes erroneous.
- CL_man_inclination: The computed DV with option=0 was not always the optimal DV.
- CL_man_lambert: If the case positions are aligned, the function now returns %nan
(before, there was a "division by zero").
- CL_ex_lyddaneInfos: Optional arguments were not taken into account.
Interface changes
-----------------
- CL_fr_ter2topoN,CL_fr_topoN2ter: argument "obl" replaced by "obla". but obl
is still possible.
- The argument "conv" in a few frame conversion functions has been replaced by
"conv_iers", because
conv is a reserved keywork in scilab 5.4. But this has little impact as only
one option is possible in practice.
Data
----
- Most recent leap second added in TAI_UTC.scd file. From July 1st 2012, 0h:
TAI-UTC = 35 seconds.
NB: Two functions (CL_dat_utc2tai and CL_dat_tai2utc) use these data. See also
CL_init().
New demos
---------
- Sun elevation on Earth
- Satellite local time
- Solar zenith angle 1
- Solar zenith angle 2
- Cost of inclination change - circular
- Cost of inclination change - elliptical 1
- Cost of inclination change - elliptical 2
Documentation
-------------
- Some functions from the "Utilities" folder have been moved to a new folder:
"Math".
- The CelestLab overview help page now contains links to external pages about
CelestLab.
Deprecated functions
(will generate a warning message in CelestLab v3.x,
and will be permanently deleted in CelestLab v4.0)
--------------------
- CL_man_applyDv, CL_man_apsidesLine, CL_man_biElliptic, CL_man_hohmann,
CL_man_hohmannG, CL_man_incRaanCirc, CL_man_inclination, CL_man_sma
(use new maneuver functions instead)
- CL_gm_lat2loctime, CL_gm_locSolTime (use CL_gm_orbSphTriangle instead)
- CL_gm_equatorialSwath, CL_gm_equatorialOverlap (use CL_op_equatorialSwath
instead)
- CL_colNorm, CL_colMult (use CL_norm and CL_dMult instead)
- CL_rot_eul2quat, CL_rot_quat2eul (use CL_rot_angles2quat and CL_rot_quat2angles
instead)
Internals
---------
- All the internal global variables have been replaced by one unique variable
(structure): %CL__PRIV.
NB: %CL__PRIV is a "private" variable, supposed to be accessed by CelestLab
functions only.
- The variable %CL_home has been removed. It has been replaced by a new function:
CL_home().
====================================
Version 2.3.0 - January 31, 2012
====================================
- 10 new functions:
- A few bug fixed (one major in CL_fr_locOrbMat)
- A few functions improved
New functions
-------------
- CL_gm_inters3dLineEllips, CL_gm_inters3dConeSa.
- CL_op_shortPeriodsJ2Circ.
- CL_ex_eckHechInfos, CL_ex_lyddaneInfos.
- CL_oe_cir2kep, CL_oe_kep2cir.
- CL_interpLagrange, CL_ev_visibilityEph.
- CL_intervDiff.
Improved functions
------------------
- CL_rot_quat2axAng: now has a better accuracy for quaternions almost equal to identity.
- CL_matSort: now accepts [] as input argument.
- CL_intervUnion: intervals of zero length are now deleted.
- CL_ex_eckHech: initial version did not allow for perfectly frozen orbits.
(oscillation of second order of magnitude of 4.e-7 on mean ex)
A correction of 4.e-7 on mean ex has been applied.
Note that the present version is not the "standard" version.
- Quaternions: q*a and q/a now work if:
1) a = scalar and dim(q) = whatever
2) a = row vector and dim(q) = 1
- CL_op_frozenOrbitDer : now returns %nan for dpom/dt if the result is undefined (ecc = 0 or inc = 0 or pi)
- CL_g_legend : now has a similar interface as scilab function "legend" (1st argument = axes or array of handles)
- CL_g_select : now accept an arry of handles as first argument
- CL_plot_earthMap, CL_plot_ephem: now more efficient (only one call to "plot")
- Help pages about orbital elements and description of jacobians improved.
Bugs fixed
----------
- CL_fr_locOrbMat: The matrix was not always correct.
- CL_rot_matrix2quat: conversion of a matrix close to identity could sometimes fail.
- CL_gm_stationElevation: numerical accuracy improved.
- CL_intervInters: code simplified and now safer.
- CL_intervInv: Documentation updated (it was not correct). The function now doesn't return intervals of zero length or outside range.
- CL_g_tag, CL_g_select: now works with more types of objects, including uimenu.
- CL_oe_car2kep: Correction in the case of a zero inclination (elliptical orbits). The right ascension of the ascending node was incorrectly initialized. Now it is set to 0.
- Compilation of the help files was failing on Linux (case sensitivity).
====================================
Version 2.2.0 - July 27, 2011
====================================
- 9 new functions:
- 7 new demos
- Several functions improved (performance, simplicity of code)
- A few bugs fixed
- 2 deprecated functions
New functions
-------------
- CL_gm_reflectionPtSph, CL_gm_eclipse, CL_gm_eclipseCheck.
- CL_rot_angles2quat, CL_rot_matrix2angles, CL_rot_quat2angles, CL_rot_defRot1ax, CL_rot_defRot2ax.
- CL_locationInfo.
Improved functions
------------------
- CL_op_frozenOrbit: algorithm simplified and performance improved.
- Quaternions: rewrite of all overloading functions. Operations : q1 <op> q2, with
op = +, -, *, /, etc... work even if the arguments don't have the same size
(i.e. one of the argument has size 1). Nearly all operations work with empty
quaternions.
- CL_plot_earthMap: addition of a higher resolution map, and possibility to use elliptical or spherical coordinates.
- CL_gm_betaEclipse: now handles elliptical orbits.
- CL_rot_defRotVec: algorithm simplified and performance improved.
- CL_rot_defFrameVec: can now return a matrix or a quaternion.
Warning: CL_rot_defFrameVec(u, n1) is now forbidden. Use CL_rot_defFrameVec(u,u,n1,n1) instead.
- CL_3b_environment: added Sun-Jupiter.
- CL_op_rarp2ae, CL_op_rpvp2ae, CL_op_rava2ae, CL_op_rpvinf2ae: better arguments handling
New demos
-------------
- Sun and Moon Directions.
- Moon phases.
- Cost of RAAN drift rate change.
- Sun glint.
- Drifts due to J2.
- Image of vector by 2 rotations.
- Cost of perigee/apogee altitude change.
Bugs fixed
----------
- CL_op_repeat2smaInc: function could sometimes return an error (instead of %nan) when there was no solution.
- CL_rot_quat2eul, CL_rot_eul2quat: erroneous results (fixed). These functions are now deprecated. Use CL_rot_quat2angles, CL_rot_angles2quat.
- CL_op_frozenOrbitDer: erroneous results (fixed).
- CL_rot_angularVelocity: a bug could occur if the user had modified the format.
- CL_op_frozenOrbit: eccentricity could be negative in some cases.
Deprecated functions
--------------------
- CL_rot_quat2eul
- CL_rot_eul2quat
====================================
Version 2.1.1 - January 6, 2011
====================================
- Correction of 2 demos
- 1 (minor) bug fixed
Changes
-------
- Corrections of 2 demos (Ground_stations_visibility.sce and Repeating_ground_tracks_2.sce)
that did not work when CelestLab was loaded via ATOMS
(some CelestLab data were not initialized)
- Minor bug fixed in CL_op_repeat2smaInc: test on eccentricity did not assume vectors
====================================
Version 2.1.0 - December 22, 2010
====================================
Changes:
- 4 New functions
- A few bugs fixed
- Several functions improved (performance, simplicity of code)
- Celestlab predefined data are now loaded from files (see CL_init)
New functions
-------------
- CL_path
- CL_dMult (CL_colMult is now deprecated, use CL_dMult)
- CL_rot_defRotVec
- CL_rot_defFrameVec
Functions improved
------------------
- CL_ex_meanEckHeck, CL_ex_meanLyddane: simplified code, improved accuracy.
- CL_ex_lyddane, CL_ex_eckHech, CL_ex_secularJ2: output angles are now "continuous" (no modulo 2*%pi anymore).
- CL_init : now uses external files found in <CelestLab installation Directory>/data/utils.
It is now easier for users to see and redefine constants, update TUC-TAI...
- Demo "Repeating ground tracks 2": option for sun-synchronous orbits.
- Demo "exponential density" and "US76 density": improved.
- CL_vectAngle: now uses asin (with cross product) when vectors are almost aligned. Improves accuracy.
- CL_dot, CL_vectAngle: now handle cases where the input arguments are (3xN) and (3x1).
- Overloading of hypermatrices (%hm_*): simpler code and improved performance.
- CL_fr_ter2topoN, CL_fr_topoN2ter: simpler code. Now handle cases where one input is (3xN)
and the other input is (3x1). If position or velocity are not provided, corresponding outputs are now [].
- CL_rot_axAng2quat: If the angle is 0 and the axis is %nan, the output quaternion is identity (instead of %nan).
If the angle is not 0 and the axis is %nan: the output quaternion is %nan.
- CL_mod_US76: small correction of code and efficiency significantly improved.
- CL_fr_*, CL_oe_*: performance of jacobian calculation significantly improved.
Bugs fixed
----------
- Demos Halo manifold and Halo orbits: option for prograde and retrogade are now 1 and 0 respectively
(instead of 2 and 1)
- CL_op_locTimeG50: "tlt" and "mlt" replaced by "tsa" and "msa" (but still recognized for compatibility)
- CL_vectAngle, CL_stumpC, CL_stumpS: did not properly propagate %nan
- CL_mod_moonSunG50 : did not properly handle the argument names "moon" and "sun"
- CL_fr_ter2G50, CL_fr_ter2G50: there was a problem when velocity was not provided
- CL_ex_lyddaneMan: an output date was incorrectly set to 0
- CL_ex_lyddane: when using this function with vectors and e > 0.05, the output semi-major axis
was incorrect (error ~20m)
- CL_colMult, CL_cross: did not correctly handle []
- CL_op_driftJ2: dM/de was incorrect
- CL_mod_expDensity: percentile 33 gave incorrect results
- CL_op_rarp2ae: mu removed from inputs because it is not used in this function
- CL_ev_visibility: fixed example. Problem when dealing with long simulation and/or small time steps.
- CL_rot_quat2eul: problem that gave incorrect results for angles > %pi
- CL_plot_*: used to set immediate_drawing to "on" thus erasing user's preference.
- CL_fr_topoNMat: documentation about input arguments
- CL_gm_eclipseCir: sizes of input arguments were not correctly tested
==================================
Version 2.0.1 - June 3, 2010
==================================
- Handling of global variables in CelestLab.
You can now set for example %CL_mu=3.8e14 in the console and that variable
will be used consistently throughout CelestLab,
whereas you used to have to modify the global variable to do that.
- Several bugs fixed
- New demo : Visibility / Accessibility at equator
- CL_ev_visibility : Bug fixed. Now returns [] when no visibility is found.
- CL_ev_visibility : Keplerian propagation added : 'kep', in order for this function to be useable for hyperbolic orbits.
- CL_oe_car2kep and CL_oe_kep2car : Improvements to code in order to correctly handle low eccentricities and low inclinations. In particular the accuracy has improved for low eccentricity orbits.
- CL_man_lambert : Perfomance dramatically improved. (~40 times faster)
- CL_stumpC : CL_stumpC(0) now correctly returns 1/2.
- New demos : demos/Visibility/Accessibility_at_equator.sce
- CL_ex_lydanne, CL_kp_M2E and CL_kp_M2Ecir : Now use less memory.
==================================
Version 2.0.0 - March 22, 2010
==================================
NB: Some interfaces have been improved. Therefore, this version is not fully
compatible with the previous one.
Changes:
- A few anomalies corrected
- Several functions added
- Several new demos (with enhancements)
- Various improvements to documentation
- Improved error handling in several functions
- Improved performance and code of several functions simplified
- A few functions removed (should be replaced by new improved functions in the future)
- A few functions/constants/arguments renamed (for library consistency)
- Some interfaces modified
Removed functions
-----------------
- Events functions (CL_ev_xxx) removed. They will be replaced by new functions in the next version.
- CL_gm_sunZenithAngle removed. Might be replaced by a new function in the next version.
- CL_fr_teme2J2000Mat removed.
New functions
-------------
- CL_ip_sphereInfluence
- CL_ip_escapeDv
- CL_ip_insertionDv
- CL_fr_locOrbMat
- CL_rot_quat2axAng
- Graphic functions : CL_g_xxx
- CL_graduate
- CL_autoLevels
- CL_defParam
- CL_inputParam
- CL_unitConvert
- CL_norm
Renamed functions/constants/arguments
-------------------------------------
- CL_op_locTime --> CL_op_locTimeG50 because the frame is necessarily Gamma50 (Veis)
- %CL_omSun --> %CL_rotrEarthSun
- Pluton --> Pluto
- %CL_planetC.xxx.R --> %CL_planetC.xxx.eqRad
- %CL_planetC.xxx now contain an extra field : mu
- %CL_planetC.earth characteristics are now equal to %CL_eqRad, %CL_mu and %CL_obla.
- %CL_UA --> %CL_au
- Optional arguments : om_earth --> rotr_pla and om_sun --> rotr_pla_sun
- CL_man_lambert : R1, R2 --> pos1, pos2 ; sense --> direction ; dt --> delta_t
- CL_dsp_covCoord : means1,means2 --> param1,param2 and coord --> conv1to2
- CL_M2Egene --> CL_M2Ecir
- CL_co_car2ell and CL_co_ell2car : obl --> obla
- CL_colGcd --> CL_gcd
- CL_gm_visibility --> CL_ev_visibility
Modified outputs
----------------
- CL_gm_stationElevation : result is now NxM instead of MxN
- CL_gm_sphericDist : result is now the angle instead of the distance
- CL_kp_characteristics : result is now a structure (instead of a tlist).
Some fields names have changed but old names are still recognized.
- CL_ex_kepler : Date is not in the output anymore.
Mean anomaly is not between 0 and 2*%pi anymore (no modulo).
- CL_rot_rotVect : The output vector is now the rotated vector (and not the coordinates
of the same vector in the rotated frame).
- CL_3b_halo and CL_3b_lissajous : Date is not in the output anymore.
Reworked interface
------------------
- CL_dsp_kepCovPropa (See documentation for details)
- CL_gm_eclipseCir (See documentation for details)
- CL_op_loctimeG50 and CL_gm_visiParams : can now have several outputs, "all" returns a structure.
- CL_3b_manifold: Dates of the Halo or Lissajous orbit now have to be given as inputs.
Improved functions
------------------
- CL_plot_ephem and CL_plot_earthMap : better handling of view area. Additional optional arguments
- CL_dat_xxx : rewritten algorithms. These functions are now valid for ...
- CL_gm_stationElevation : improved performance.
- CL_op_M2E and CL_op_M2Egene (now renamed CL_M2Ecir) : rewritten algorithms. Faster convergence.
- CL_colMult,CL_colNorm,CL_unitVector and CL_vectAngle : improved performance.
- CL_ex_lyddaneMan : Simplified algorithm
Bugs fixed
----------
- %CL_TAI_TUC was not up to date
- bug in CL_mod_nutationMatrix
- Intervals functions (CL_interv xxx) now correctly handle empty arrays []
- CL_rMod now correctly handles empty arrays []
- CL_op_searchRepeatOrbits and CL_op_repeat2smaInc : improved convergence (it could cause bugs)
- Functions CL_dat_xxx : correction of bugs
- CL_rot_quatSlerp : was not valid for vectors
- CL_M2E and CL_M2Egene : didnt work in some cases.
- bug in CL_plot_ephem
- CL_fr_G502J2000, CL_fr_G502ter and all the combinations : correction of bugs when using optionnal arguments.
- Removed useless optional arguments ut1,xp,yp from CL_fr_G502J2000, CL_fr_G502J2000Mat, CL_fr_J2000G50
- CL_man_incRaanCirc : didnt work for vectors
- bug in CL_man_biElliptic
==================================
Version 1.0.1 - December 18, 2009
==================================
Changes:
- Improvement of demos
- Correction of CL_gm_equatorialOverlap.sci
- Correction of CL_gm_equatorialSwath.sci
(vectors [1,n] instead of [n,1])
- About page (explanations on constants)
==================================
Version 1.0.0 - December 17, 2009
==================================
First version.
|