Adding functionality: Removing the ellipsoidal component from a model is now taking into account the different standard definition of GM and rTer. New flags have been added (--eGOCE --sGOCE --eWGS84 ...), "--eXXXX" indicates the standard to be used to remove the reference ellipsoid "--sXXXX" indicates the standard for the synthesis, for more information type manipulator --help.
Adding four built-in ellipsoid, they can be used with the flags:
—-eGOCE: GOCE standard ellispoid
—-eSPW: SPW standard ellispoid
—-eWGS84: WGS84 ellipsoid
—-eGRS80: GRS80 ellipsoid
—-eINI: load the ellipsoid parameters from INI file
Adding four built-in standards, they can be used with the flags:
—-sGOCE: GOCE standard gm and rTer
—-sSPW: SPW standard gm and rTer
—-sWGS84: WGS84 gm and rTer
—-sGRS80: GRS80 gm and rTer
—-sINI: load the gm and rTer parameters from INI file
Execution time estimation for grids is now more precise
WARNING: ini file structure has been changed - new, see the attached new config file
now we have:
parameter = value
[ parameter ]
another valid syntax is:
The SVN repo contains the latest updates AND a linux binary (compiled on a Fedora machine with gcc).
Fixed: File in gfz format were read incorrectly when the exponential symbol was “D”.
LATEST NEWS 18 May 2013:
+ Minor fix: When selecting Dg computation the output variable name was Te instead of Dg. The bug didn't affect the result of computation
This software computes synthesis of spherical harmonics models on sparse
coordinates or grids provided in geodetic or spherical (geocentric) coordinates.
The SW is able to provide these outputs:
|0||2||N = T/ɣ = T/gamma|
|1||0||Tl, Tt, Tr|
|1||1||Te, Tn, Tr|
|2||0||Tll, Tlt, Tlr, Ttt, Ttr, Trr|
|2||1||Tee, Ten, Ter, Tnn, Tnr, Trr|
Notice that the synthesis is applied to the given coefficients modifying the zonal J2, J4, J6, J8 to remove the normal field effect. To avoid any modification run the code with the parameter "-f" or set it in the parameter file.
Various minor bug fixes
Different order to return the derivatives, now it reflects the ENU notation
Bug fix: j2l coefficients where added without normalization (2*l+1) (bug present since v0.9.2)
Bug fix: Geographic second order derivatives were swapped with the geocentric ones and vice-versa (bug present since v0.0)
Bug Fix: wrong read of the r/h variable when stored in a Matlab file. (bug present since v0.9)
all the necessary external libraries / programs to satisfy those prerequisites for a Windows system are contained in the additional resources zip file.
The software has been compiled with Intel Composer 12 and tested on Mac OS X 10.7.x (up to degree and order 2190)
The current version of the software only accepts .mat file as input,
and it creates .mat output.
Coefficients of a model must be stored in two variables called: cnm and snm they must be full matrixes.
e.g. EGM2008 up to 2190 it is composed by two matrixes each of the size of 2190x2190
Optionally it is possible to load GFZ format models - change the parameter [UseGFZ] in the .ini file
The matlab file containing the coordinates must have 3 variables:
theta and lambda must be expressed in radians
Optionally it is possible to load the coordinates from plain text files
Those file must contain 3 columns (theta, lambda, r/h)
The first row of the text file must contain the dimension of the three
In case of Grids saved in a plain text file, columns without different size must be padded with zeros.
Example: 2 by 3 grid
Input file (discard row numbers):
line 1: 2 3 2
line 2: 0.11000e1 0.01000e1 2.50e5
line 3: 0.12000e1 0.02000e1 2.50e5
line 4: 0.0 0.03000e1 0.0
SPARSE DATA ------------------------------------------------
The software compute the output for each point (theta(i), lambda(i), r(i)/h(i))
If grid mode is selected, the arrays must have this size:
and the final output will be a matrix (or more) with this size [#divTheta x #divLambda]
Under Mac OS X, if you receive a message like:
dyld: Library not loaded: @rpath/libmat.dylib
Referenced from: /Users/Andrea/bin/manipulator
Reason: image not found
Trace/BPT trap: 5
you have to type:
(adjust your MATLAB path accordingly to your system)
and now you can launch ./manipulator
For any question, comment or request contact me at
andrea.gatti @ polimi.it