Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Scilib-GEO details
Please login or create an account


A collection of functions for use in geodaesie and astronomie
(149 downloads for this version - 10106 downloads for all versions)
Owner Organization
Christof Schulze
Administrator Atoms
Samuel Gougeon
Creation Date
December 1, 2018
Source created on
Scilab 6.0.x
Binaries available on
Scilab 5.5.x:
Windows 64-bit Windows 32-bit Linux 64-bit Linux 32-bit MacOSX
Install command
--> atomsInstall("scilib_geo")
Scilib-GEO provides a collection of basic functions used in geodaetic

This version can run with Scilab 5.5.2 on Windows, Linux and MacOS, and can be
compiled for Scilab 5.5, 6.0, and 6.1.

User manual
* online:
* PDF:

atan2 — Grid bearing t0 used in geodetic coordinate systems, atan() for 4
quadrants in the intervall (0, 2п)
sphere — Creates a point cloud (mesh) of a spherical surface.
unitVec — Function returns the unit vector of a given vector or point in
carthesian coordinates.

alm_parse_yumafile — Reads almanac data from files in yuma-format
sp3_parse_file — Reads orbit- and clockdata from a SP3-c formated file from
the IGS.
sp3c_parse_header — Parses the headerdata of a SP3c-file 

Physical Geodesy
bl2gk — Transformation: Geodaetic ellipsidic coordinates to
Gauß-Krüger-coordinates (convention of Germany)
eph2xyz — Function to calculate satellite coordinates (xyz) from the
ephemerides of the satellite.
gk2bl — Transformation: Gauß-Krüger-coordinates (convention of Germany) to
geodaetic ellipsoidic coordinates
gmf — Calculating the "global mapping function" (GMF).
kepler — Calculates the excentric anomaly E (Kepler element).
par_nutation — Calculates the parameter of the nutation.
par_praezession — Calculates the parameter of the Precession.
tropKor_sm — Calculates the tropospheric adjustment with assumed default
values (Saastamoinen).
xyz2asz — Transformation: Cartesian (WGS84) to topozentric coordinates.
xyz2blh — Transformation: Cartesian to ellipsoidic coordinates.

compare_date — compares two given date vectors and returns the difference in
dat_cal2gpsweek — Returns the gpsweek for a given date.
dat_cal2j2k — Transforms a calendar date and time into julian centuries based
on Epoch J2000.0.
dat_cal2jd — this Function converts a calender date to Julian Date (JD).
dat_cal2mjd — Transforms a calendar date and time in the Modified JD (MJD).
dat_jd2cal — Transforms a Julian Date (JD) in the calendar date and time.
dat_leapseconds — Returns a matrix with all leapseconds, or counts the
to the given date (includes all to Bulletin C Nr. 41, Feb. 2011).
deg2dms — Converts the given Value to degrees, minutes and seconds
format_linevec — Returns a formated String of a given linevector.
get_tkblattnr — Calculates the sheetnumber of TK25 maps from latitude and
pars_paramstr — Splits a parameterstring of type "-param1=value1
-param2=value2 ..." in a List.
plotWorldmap — Returns and/or plots a worldmap in geographic coordinates
Files (4)
[2.19 kB]
Miscellaneous file

[848.10 kB]
OS-independent binary for Scilab 5.5.x
Version 0.6 / 2018-12-01 (S. Gougeon)
PORTAGE to Scilab 5.5 and 6
  . maxi => max
  . getf() => exec()
  . lstsize => size
  . eval => evstr
  . error(msg,err) => error(msg)
  . xset => set
  . isoview => replot + isoview
  . Heterogeneous strings "...'  replaced
  . shared internals:
    - sp3_parse_date() split from sp3_parse_file.sci
    - a7_svdata_createsv() split from a7_svdata_init.sci

* In unitVec() and xyz2asz(), compareVectors() was used instead of
* %GEOlib_DIR was used without being defined.
* eph2xyz()
  - used macros/phys instead of macros/physgeo
  - ~isdef(kepler) instead of ~isdef("kepler")
* gmf() : beta and gamma were used as simple variables, overwritting defined
* aequiKor(): delta was badly initialized.
* dat_leapseconds() had a syntax error and could not be compiled. This function
  is not called at all, but is documented. It is fixed and kept, for the
* plotWorldmap() never took the 2nd input argument into account.
* In pars_paramstr(), errors messages were about a7Core()
* tropKor_sm.sci defined tropKor() instead of tropKor_sm()

* "Used functions" section removed. Only one page over two had it. The list
  of functions was very poor, an rather arbitrary.
* plotWorldmap: image added.
* The page for get_tkblatt() was named get_tkblattnr and the example was about
  get_tkblattnr() that is not defined.
* dat_cal2j2k() : example could not run
* sp3_parse_file() and sp3c_parese_header(): The example needed a 
  instead of a .
* atan2(): the example's result was not displayed. The xml:id was a7_atan2
instead of atan2.

* readyuma() was called without being defined. alm_parse_yumafile() actually
  replaces it.
* plot_Erdrotation() can't run. It needs a "nutwinkel" function, that's not
* plot_tropKor.sce was disabled by testing the existence of tropKor() instead of

* Errors messages => standard + english + now localizable
* New function getpath_geolib() (internal)
* This file CHANGES.txt created.

[329.43 kB]
Source code archive

[355.19 kB]
Miscellaneous file

News (0)
Comments (2)     Leave a comment 
Comment from Samuel Gougeon -- December 1, 2018, 03:05:56 AM    
Release notes for Scilib_geo 0.6:
The previous version could not be actually run with Scilab 5.5 (many blocking bugs), 
despite it was released for it.
This version 0.6 is now actually ported to Scilab 5.5, and beyond, to Scilab 6.0 and 
Scilab 6.1.
However, only binaries for Scilab 5.5 are provided here.

Indeed, scilib_geo assessment and portage to Scilab 5.5 and 6.0 shows that it is 
outclassed a lot by the Celeslab module

As a consequence, may i encourage using CelestLab -- whose binaries are available for 
Scilab 6 -- rather than scilib_geo.

Comment from Samuel Gougeon -- December 1, 2018, 03:36:18 AM    
>As a consequence, may i encourage using CelestLab -- whose binaries are available for 
Scilab 6 -- rather than scilib_geo.
Leave a comment
You must register and log in before leaving a comment.
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.