geodezyx.reffram package

Submodules

geodezyx.reffram.geometry module

@author: psakic

This sub-module of geodezyx.reffram contains functions for low-level geometry operations.

it can be imported directly with: from geodezyx import reffram

The GeodeZYX Toolbox is a software for simple but useful functions for Geodesy and Geophysics under the GNU GPL v3 License

Copyright (C) 2019 Pierre Sakic et al. (GFZ, pierre.sakic@gfz-postdam.de) GitHub repository : https://github.com/GeodeZYX/GeodeZYX-Toolbox_v4

geodezyx.reffram.geometry.BL_from_points(listpointin)

From a list of 2-D or 3-dD points, returns the a matrix with distance between each points

Parameters

listpointin (list or numpy.array) – List of N 2D or 3D points [[x1,y1,z1] … [xn , yn , zn]]

Returns

BL – matrix with distances between each points

Return type

numpy.array

geodezyx.reffram.geometry.R2_calc(y_obs, y_fit, with_r2_bis=False)
geodezyx.reffram.geometry.R2_from_a_line_regress(Xobs, Yobs, a, b)
geodezyx.reffram.geometry.calc_pos_speed_itrf(x0, y0, z0, t0, vx, vy, vz, t)

just a wrapper of itrf_speed_calc for legacy reasons

geodezyx.reffram.geometry.circle_draw(xc, yc, R, N)
geodezyx.reffram.geometry.estimated_autocorrelation(x)

http://stackoverflow.com/q/14297012/190597 http://en.wikipedia.org/wiki/Autocorrelation#Estimation

geodezyx.reffram.geometry.group_consecutives(vals, step=1)

Return list of consecutive lists of numbers from vals (number list).

geodezyx.reffram.geometry.guess_seq_len(seq)
geodezyx.reffram.geometry.helmert_trans_apply(Xin, SevenParam_in, legacy_mode=False)

Apply an Helmert transformation (7-parameters) to a set of points

Parameters
  • Xin (list of N (x,y,z) points, or an (N,3)-shaped numpy array.) – input set points

  • SevenParam_in (7 element list or array) – 7 Helmert params. : x,y,z translations, x,y,z rotations, scale.

  • legacy_mode (bool, optional) – Use a non-optimized and slow computation approach (but same result). This option should be removed in the Future. The default is False.

Returns

Xout – output transformed points. Same type as the input.

Return type

list/array of N (x,y,z) points

geodezyx.reffram.geometry.helmert_trans_estim(X1list, X2list, Weights=[])

estimates 7 parameters of a 3D Helmert transformation between a set of points X1 and a set of points X2 (compute transformation X1 => X2)

Parameters
  • & X2list (X1list) – Input point sets

  • Weights (list of N Weights,) – or an numpy array of shape (N,3)

Returns

  • HParam – 7 Helmert params. : x,y,z translations, x,y,z rotations, scale

  • A – Design matrix

  • l – Differences X2 - X1 (before transformation !!!)

  • Source

  • ——

  • https (//elib.uni-stuttgart.de/bitstream/11682/9661/1/BscThesis_GaoYueqing.pdf)

geodezyx.reffram.geometry.helmert_trans_estim_minimisation(X1in, X2in, HParam_apri=array([0., 0., 0., 0., 0., 0., 0.]), L1norm=True, tol=1e-09, full_output=False, method='Powell')

estimates 7 parameters of a 3D Helmert transformation between a set of points X1 and a set of points X2 (compute transformation X1 => X2) using a Minimization approach (and not a Least Square inversion)

Parameters
  • & X2in (X1in) – Input point sets

  • HParam_apri (list of 7 values,) – The Apriori for the Helmert parameter

  • L1norm (bool) – Use the L1-norm as a criteria, use the quadratic sum instead if False

  • tol (float) – tolerence for the convergence

  • full_output (bool) – return only the result if True, return the scipy optimize result if False

  • method (str, optional) – minimization method. see scipy.optimize.minimize for details The default is “Powell”.

Returns

7 Helmert params. : x,y,z translations, x,y,z rotations, scale

Return type

Res

geodezyx.reffram.geometry.helmert_trans_estim_minimisation_scalar(X1, X2, HParam_opti_apriori, L1norm=True, itera=2)

Estimates the Helmert parameters but based on a minimisation approach between X1 and X2 (as suggested in the IGS combination software)

NOT STABLE AVOID THE USE (it does the optimization of the 1st parameter,

and then the optimization of the 2nd one etc, etc…)

geodezyx.reffram.geometry.helmert_trans_legacy(Xa, params='itrf2008_2_etrf2000', invert=True, workepoc=2009.0)

This function is highly unstable and should be used only for legacy reason

NB 1 : http://etrs89.ensg.ign.fr/memo-V8.pdf NB 2 : Transformation inverse : * -1 pour les paramètres cf https://en.wikipedia.org/wiki/Helmert_transformation

optimisé pour RGF93 => ITRF2008 (d’ou le invert = True & workepoc = 2009.)

NB3Attention losque l’on compare avec

le convertisseur EUREF avec une vitesse parce que elle aussi est modifiée dans la conversion ETRS => ITRS. Conclusion : le faire en 2 étapes ETRS = > ITRS dans la même epoc

ITRS epoc 1 => ITRS epoc 2

if manual then params is a tuple params = (t1,t2,t3,dab,r1,r2,r3)

NE MARCHE PAS PARCE BESOIN DU RATE(TAUX) DES PARAMS D’HELMERT !!!!!! (160923)

class geodezyx.reffram.geometry.interp1d_ang(T, A, angtype='deg', kind='linear', bounds_error=False)

Bases: object

geodezyx.reffram.geometry.itrf_helmert_get_parameters(TRF_Input_name, TRF_Ext_name, verbose=False, convert=True)

Get the Helmert parameters for a transformation I/ETRFxx <=> I/ETRFxx

Parameters
  • TRF_Input_name (str) – Name of the initial Reference Frame. Can be ITRFyyyy, ITRFyy, ETRFyyyy, ETRFyy where yyyy or yy is the TRF realization

  • TRF_Ext_name (str) – Name of the wished Reference Frame. Can be ITRFyyyy, ITRFyy, ETRFyyyy, ETRFyy where yyyy or yy is the TRF realization

  • verbose (bool, optional) – Print the parameters. The default is True.

  • convert (bool, optional) – Gives directly useful values in the good units for a proper transformation

Returns

  • T (3-Array) – Translation.

  • Tdot (3-Array) – Translation rate.

  • D (float) – Scale factor.

  • Ddot (float) – Scale factor rate.

  • R (3-Array) – Rotation.

  • Rdot (3-Array) – Rotation rte.

  • epoch_ref_Xe (float) – Reference epoch of TRF_Ext_name.

Notes

Based on the values of http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf

Warning: a validation unsing the EUREF converter is highly recomended https://www.epncb.oma.be/_productsservices/coord_trans/

geodezyx.reffram.geometry.itrf_helmert_trans(Xi, epoch_Xi, T, Tdot, D, Ddot, R, Rdot, epoch_ref_Xe)

Do the Helmert transformation I/ETRFxx <=> I/ETRFxx

The seven Helmert Parameters are generated with itrf_helmert_get_parameters

Parameters
  • Xi (3-Array, Nx3-Array OR 6-Array, Nx6-Array) – Points in the initial Reference Frame. 3 columns if positions only 6 columns if positions+velocities

  • epoch_Xi (float) – epoch of the initial Reference Frame points (decimal year).

  • T (3-Array) – Translation parameter.

  • Tdot (3-Array) – Translation rate parameter.

  • D (float) – Scale factor parameter.

  • Ddot (float) – Scale factor rate parameter.

  • R (3-Array) – Rotation parameter.

  • Rdot (3-Array) – Rotation rate parameter.

  • epoch_ref_Xe (float) – Reference epoch of the destination TRF.

Returns

Xe – Points in the destination Reference Frame.

Return type

3-Array or Nx3-Array

Warning

This function does not the velocity shift from one epoch to another

The output coordinates will be provided at the same epoch as the input ones

Use itrf_speed_calc function to perform this potential step before (with the initial velocities) or after (with the transformed velocities) calling the present function.

Notes

Based on the theory and values of http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf

We recommend to confirm the values with the official EUREF converter http://www.epncb.oma.be/_productsservices/coord_trans/index.php

By definition, since the 2021/01/04 RGF93(v2b) = ETRF2000@2019.0

https://geodesie.ign.fr/index.php?page=rgf93

https://geodesie.ign.fr/contenu/fichiers/RGF93v2b-RAF18b.pdf

https://geodesie.ign.fr/contenu/fichiers/rgf93v2b_information_cnig.pdf

geodezyx.reffram.geometry.itrf_psd_fundamuntal_formula(t, A_l, t_l, tau_l, A_e, t_e, tau_e)

Get the Post Seismic Deformation of a station

Parameters
  • t (float) – epoch in decimal years.

  • A_l (float) – Amplitude of the logarithmic term.

  • t_l (float) – Earthquake time(date) corresponding to logarithmic term

  • tau_l (float) – Relaxation time of the logarithmic term.

  • A_e (float) – Amplitude of the exponential term.

  • t_e (float) – Earthquake time(date) corresponding to the exponential term.

  • tau_e (float) – Relaxation time of the exponential term..

Returns

geodezyx.reffram.geometry.itrf_speed_calc(x0, y0, z0, t0, vx, vy, vz, t)

Translate a position to a given epoch using point velocity

Parameters
  • x0 (float) – coordinates at the reference epoch (m).

  • y0 (float) – coordinates at the reference epoch (m).

  • z0 (float) – coordinates at the reference epoch (m).

  • t0 (float) – reference epoch (decimal year).

  • vx (float) – speed of the point (m/yr).

  • vy (float) – speed of the point (m/yr).

  • vz (float) – speed of the point (m/yr).

  • t (float) – output epoch.

Returns

xout,yout,zout – coordinates of the point @ the ref. epoch (m).

Return type

floats

geodezyx.reffram.geometry.mat_poids(Sinp, Ninp, fuvinp=1)

discontinued

geodezyx.reffram.geometry.points_circle_border(Npts, r, r_sigma, az_type_normal=True, main_dir=3.14159, dir_range=3.14159, seed=None)
geodezyx.reffram.geometry.project_point_on_plan(N, M, A)

Project a point on a Plan

Parameters
  • N (3-Array (Vector)) – Vector describing the plan.

  • M (3-Array (Vector)) – Point of the plan.

  • A (3-Array (Vector)) – Point we want to project.

Returns

P – Projected point.

Return type

3-Array (Vector)

geodezyx.reffram.geometry.randn_bool(N, true_ratio=0.5, RandGene=None)
geodezyx.reffram.geometry.random_walk_in_a_circle(x0, y0, xc, yc, R, N, step_size, param=1, polar=True, uniform_or_normal='n', rand_seed=- 1)

generate random walk in a circle

Parameters
  • x0 (float) – x start of the random walk.

  • y0 (float) – y start of the random walk.

  • xc (float) – x center of the circle.

  • yc (float) – y center of the circle.

  • R (float) – radius of the circle.

  • N (int) – number of points.

  • step_size (float) – size of the step.

  • param (int, optional) – control the random. The default is 1.

  • polar (TYPE, optional) – DESCRIPTION. The default is True.

  • uniform_or_normal ('u' or 'n', optional) – uniform of normal walk. The default is ‘n’.

  • rand_seed (int, optional) – control the random. The default is -1.

Returns

  • X (np.array) – X-coordinates of the random walk.

  • Y (np.array) – Y-coordinates of the random walk.

  • Xcircle (np.array) – X-coordinates of the circle.

  • Ycircle (np.array) – Y-coordinates of the circle.

  • Exemple

  • ——- – for un in (‘u’,’n’): for pol in range(2):

    X,Y , Xcircle , Ycircle = random_walk_in_a_circle(10,10,0,0,50,10000,polar = pol,uniform_or_normal=un)

    plt.figure() plt.plot(Xcircle,Ycircle) plt.plot(X,Y) plt.axis(‘equal’) plt.suptitle(un + str(pol))

geodezyx.reffram.geometry.randomwalk_normal(N=100, d=2, moy=0, sigma=1)

d = dimension

geodezyx.reffram.geometry.randomwalk_uniform(N=100, d=2, bound=0.5)

d = dimension bound = contraint of the random walk

geodezyx.reffram.geometry.rotate_points(alphal, betal, gammal, pointlin, Rtype='R1', xyzreftuple=([1, 0, 0], [0, 1, 0], [0, 0, 1]), angtype='deg', fullout=False)
R1 = Rz(g) * Ry(b) * Rx(a)

si les RPY sont donnés dans le NED alors les positions résultantes sont dans le NED

R2 = matrice RPY2ENU

si les RPY sont donnés dans le NED alors les résultantes sont DANS LE ENU pas besoin de rotation NED2ENU

Grewal et al. 2007

Entrée :

Angles n = A liste de listes de P * [ points ]

Sortie :

liste de listes [ [ xA ] [ xA ] … xP [ xA ] ]

geodezyx.reffram.geometry.rotmat2(theta, angtype='deg')
geodezyx.reffram.geometry.rotmat3(alpha, beta, gamma, xyzreftuple=([1, 0, 0], [0, 1, 0], [0, 0, 1]), angtype='deg')
geodezyx.reffram.geometry.savage_buford_formula(Vs, X, d)

X : distance à la faille , un iterable pour toutes le profil, un nombre pour la longeur max

d : profondeur de la faille retourne X , et Vdeform(X)

X et d doivent être dans la même unité, Vs pas forcément

geodezyx.reffram.geometry.semi_major_axis_from_mean_motion(n)

source : https://space.stackexchange.com/questions/18289/how-to-get-semi-major-axis-from-tle

geodezyx.reffram.geometry.unwrap180(anglist, angtype='deg')
geodezyx.reffram.geometry.wrap360(anglist, angtype='deg')
geodezyx.reffram.geometry.wrapTo180(lonin)

wrapTo180 Wrap angle in degrees to [-180 180]

lonWrapped = wrapTo180(LON) wraps angles in LON, in degrees, to the interval [-180 180] such that 180 maps to 180 and -180 maps to -180. (In general, odd, positive multiples of 180 map to 180 and odd, negative multiples of 180 map to -180.)

See also wrapTo360, wrapTo2Pi, wrapToPi.

geodezyx.reffram.geometry.wrapTo2Pi(lon)

wrapTo2Pi Wrap angle in radians to [0 2*pi]

lambdaWrapped = wrapTo2Pi(LAMBDA) wraps angles in LAMBDA, in radians, to the interval [0 2*pi] such that zero maps to zero and 2*pi maps to 2*pi. (In general, positive multiples of 2*pi map to 2*pi and negative multiples of 2*pi map to zero.)

See also wrapToPi, wrapTo180, wrapTo360.

geodezyx.reffram.geometry.wrapTo360(lonin)

wrapTo360 Wrap angle in degrees to [0 360]

lonWrapped = wrapTo360(LON) wraps angles in LON, in degrees, to the interval [0 360] such that zero maps to zero and 360 maps to 360. (In general, positive multiples of 360 map to 360 and negative multiples of 360 map to zero.)

See also wrapTo180, wrapToPi, wrapTo2Pi.

geodezyx.reffram.geometry.wrapToPi(lon)

wrapToPi Wrap angle in radians to [-pi pi]

lambdaWrapped = wrapToPi(LAMBDA) wraps angles in LAMBDA, in radians, to the interval [-pi pi] such that pi maps to pi and -pi maps to -pi. (In general, odd, positive multiples of pi map to pi and odd, negative multiples of pi map to -pi.)

See also wrapTo2Pi, wrapTo180, wrapTo360.

geodezyx.reffram.gnss_products module

@author: psakic

This sub-module of geodezyx.reffram contains functions for operations related to GNSS-products

it can be imported directly with: from geodezyx import reffram

The GeodeZYX Toolbox is a software for simple but useful functions for Geodesy and Geophysics under the GNU GPL v3 License

Copyright (C) 2019 Pierre Sakic et al. (GFZ, pierre.sakic@gfz-postdam.de) GitHub repository : https://github.com/GeodeZYX/GeodeZYX-Toolbox_v4

geodezyx.reffram.gnss_products.ClkDF_common_epoch_finder(ClkDFa_in, ClkDFb_in, return_index=False, supplementary_sort=False, order=['name', 'epoch'])

Find common sats/station and epochs in to Clock DF, and output the corresponding Clock DFs

Is an adapted version of OrbDF_common_epoch_finder

geodezyx.reffram.gnss_products.ClkDF_common_epoch_finder_multi(ClkDF_list_in, return_index=False, supplementary_sort=False, order=['name', 'epoch'])

Find common sats/station and epochs in to Clock DF, and output the corresponding Clock DFs

Is is the multi version of ClkDF_common_epoch_finder

geodezyx.reffram.gnss_products.ClkDF_filter(ClkDF_in, typ=('AS', 'AR'), name=None, ac=None, epoch_strt=datetime.datetime(1980, 1, 1, 0, 0), epoch_end=datetime.datetime(2099, 1, 1, 0, 0), name_regex=False)

Filter the content of a Clock DataFrame

Parameters
  • ClkDF_in (DataFrame) – Input Clock DataFrame (a concatenation of DF generated by files_rw.read_clk.

  • typ (iterable of str, optional) – List of the types of clocks: AS (satellite) or AR (receiver). The default is (“AS”,”AR”).

  • name (iterable of str, optional) – List of wished satellites/stations. Can be a regex (see also name_regex) The default is None.

  • ac (iterable of str, optional) – List of wished ACs. The default is None.

  • epoch_strt (datetime, optional) – Start epoch. The default is dt.datetime(1980,1,1).

  • epoch_end (datetime, optional) – End epoch (not included). The default is dt.datetime(2099,1,1).

  • name_regex (bool, optional) – the given names as ‘name’ arguments are regular expressions Some useful regex are given bellow The default is False

Returns

Output Clock DataFrame.

Return type

Clock DataFrame

Notes

‘^E[0-9]{2}’: Galileo Satellites ‘^G[0-9]{2}’: GPS Satellites

geodezyx.reffram.gnss_products.ClkDF_reg_2_multidx(ClkDFin, index_order=['name', 'epoch'])

From an regular Clock DF generated by read_clk(), set some columns (typically [“name”,”epoch”]) as indexes The outputed DF is then a Multi-index DF

It an adapted version of OrbDF_reg_2_multidx

geodezyx.reffram.gnss_products.OrbDF_common_epoch_finder(OrbDFa_in, OrbDFb_in, return_index=False, supplementary_sort=False, order=['sat', 'epoch'])

Find common sats and epochs in to Orbit DF, and output the corresponding Orbit DFs order >> normally for sp3 is sat and epoch, but can be used for snx files as STAT and epoch

geodezyx.reffram.gnss_products.OrbDF_const_sv_columns_maker(OrbDFin, inplace=True)

(re)generate the const and sv columns from the sat one

geodezyx.reffram.gnss_products.OrbDF_crf2trf(DForb_inp, DF_EOP_inp, time_scale_inp='gps', inv_trf2crf=False)

Convert an Orbit DataFrame from Celetrial Reference Frame to Terrestrial Reference Frame (.

Requires EOP to work. Cf. note below.

Parameters
  • DForb_inp (DataFrame) – Input Orbit DataFrame in Celetrial Reference Frame.

  • DF_EOP_inp (DataFrame) – EOP DataFrame (C04 format).

  • time_scale_inp (str, optional) – The time scale used in. manage ‘utc’, ‘tai’ and ‘gps’. The default is “gps”.

  • inv_trf2crf (bool, optional) – Provide the inverse transformation TRF => CRF. The default is False.

Returns

DForb_out – Output Orbit DataFrame in Terrestrial Reference Frame. (or Celestrial if inv_trf2crf is True)

Return type

DataFrame

Note

The EOP can be obtained from the IERS C04 products. e.g. https://datacenter.iers.org/data/latestVersion/224_EOP_C04_14.62-NOW.IAU2000A224.txt To get them as a Compatible DataFrame, use the function files_rw.read_eop_C04()

geodezyx.reffram.gnss_products.OrbDF_lagrange_interpolate(DForb_in, Titrp, n=10, append_to_input_DF=False, plot=False)

High level function to interpolate an orbit DataFrame

Parameters
  • DForb_in (DataFrame) – an Orbit DataFrame.

  • Titrp (iterable of datetime) – Epochs of the wished points.

  • n (int, optional) – degree of the polynom. Better if even. The default is 10.

  • append_to_input_DF (bool, optional) – append the interpolated DF to the input DF. The default is False.

  • plot (bool, optional) – Plot the values. For debug only. The default is False.

Returns

  • DForb_out (DataFrame) – Interpolated orbits.

  • Tips

  • —-

  • Use conv.dt_range to generate the wished epochs range

geodezyx.reffram.gnss_products.OrbDF_multidx_2_reg(OrbDFin, index_order=['sat', 'epoch'])

Convert a Multi-index formatted OrbitDF to his original form

geodezyx.reffram.gnss_products.OrbDF_reg_2_multidx(OrbDFin, index_order=['sat', 'epoch'])

From an regular Orbit DF generated by read_sp3(), set some columns (typically [“sat”,”epoch”]) as indexes The outputed DF is then a Multi-index DF

geodezyx.reffram.gnss_products.compar_clock(DFclk_inp_1, DFclk_inp_2, col_name='name', bias_Col_name='bias')

Compares 2 GNSS clock bias DataFrames (from .clk), to a statistics table (with compar_clock_table)

Parameters

& DFclk_inp_2 (DFclk_inp_1) – Clock DataFrame provided by files_rw.read_clk()

Returns

DFclk_diff – Clock bias difference DataFrame

Return type

DataFrame

geodezyx.reffram.gnss_products.compar_clock_table(DFclk_diff_in, col_name='name', bias_Col_name='bias_diff')

Generate a table with statistical indicators for a clock comparison (RMS mean, standard dev, …)

Parameters

DFclk_diff_in (DataFrame) – Clock bias difference DataFrame (from compar_clock)

Returns

DFcompar_out – Statistical results of the comparison.

Return type

DataFrame

geodezyx.reffram.gnss_products.compar_orbit(Data_inp_1, Data_inp_2, step_data=900, sats_used_list=['G'], name1='', name2='', use_name_1_2_for_table_name=False, RTNoutput=True, convert_ECEF_ECI=True, clean_null_values=True, conv_coef=1000, return_satNull=False)

Compares 2 GNSS orbits files (SP3), and gives a summary plot and a statistics table

Parameters
  • & Data_inp_2 (Data_inp_1) – contains the orbits or path (string) to the sp3

  • step_data (int) – per default data sampling

  • sats_used_list (list of str) – used constellation or satellite : G E R C … E01 , G02 … Individuals satellites are prioritary on whole constellations e.g. [‘G’,”E04”]

RTNoutputbool

select output, Radial Transverse Normal or XYZ

convert_ECEF_ECIbool

convert sp3 ECEF => ECI (Terrestrial => Celestrial) must be True in operational to avoid artifacts.

name1 & name2str (optionals)

optional custom names for the 2 orbits

use_name_1_2_for_table_namebool

False : use name 1 and 2 for table name, use datafile instead

clean_null_valuesbool or str

if True or “all” remove sat position in all X,Y,Z values are null (0.000000) if “any”, remove sat position if X or Y or Z is null if False, keep everything

conv_coefint

conversion coefficient, km to m 10**3, km to mm 10**6

Returns

  • Diff_sat_all (Pandas DataFrame)

  • contains differences b/w Data_inp_1 & Data_inp_2

  • in Radial Transverse Normal OR XYZ frame

    Attributes of Diff_sat_all :

    Diff_sat_all.name : title of the table

Note

clean_null_values if useful (and necessary) only if convert_ECEF_ECI = False if convert_ECEF_ECI = True, the cleaning will be done by a side effect trick : the convertion ECEF => ECI will generate NaN for a zero-valued position But, nevertheless, activating clean_null_values = True is better This Note is in fact usefull if you want to see bad positions on a plot => Then convert_ECEF_ECI = False and clean_null_values = False

“Coordinate Systems”, ASEN 3200 1/24/06 George H. Born

geodezyx.reffram.gnss_products.compar_orbit_frontend(DataDF1, DataDF2, ac1, ac2, sats_used_list=['G'])
geodezyx.reffram.gnss_products.compar_orbit_plot(Diff_sat_all_df_in, save_plot=False, save_plot_dir='', save_plot_name='auto', save_plot_name_suffix=None, save_plot_ext=('.pdf', '.png', '.svg'), yaxis_limit=None, yaxis_label_unit='m')

General description

Parameters
  • Diff_sat_all_df_in (DataFrame) – a DataFrame produced by compar_orbit

  • yaxis_limit (3-tuple iterable or 2-element tuple) – force the y axis limits. must look like [(ymin_r,ymax_r),(ymin_t,ymax_t),(ymin_n,ymax_n)] to control all the axis independely OR (ymin,ymax) to set all th axis at the same limits

Returns

  • the Figure and the 3 Axes if no save is asked

  • export path (str) if save is asked

  • but plot a plot anyway

geodezyx.reffram.gnss_products.compar_orbit_table(Diff_sat_all_df_in, RMS_style='natural', light_tab=False)

Generate a table with statistical indicators for an orbit comparison (RMS mean, standard dev, …)

Parameters
  • Diff_sat_all_df_in (Pandas DataFrame) – a DataFrame produced by compar_orbit

  • RMS_style (str) –

    ‘natural’: use the natural definition of the RMS ‘GRGS’: RMS calc based on the GRGS definition of the RMS (OV help)

    is actually the standard deviation

    ’kouba’: RMS as defined in Kouba et al. 1994, p75

    using the degree of freedom (3*Nobs - 7)

  • light_tab (bool) – produce a table with only RMS, with min/max/arithmetic instead

Returns

Compar_tab_out – Statistical results of the comparison

Return type

DataFrame

Note

you can pretty print the output DataFrame using tabular module here is a template:

>>> from tabulate import tabulate
>>> print(tabulate(ComparTable,headers="keys",floatfmt=".4f"))
geodezyx.reffram.gnss_products.compar_sinex(snx1, snx2, stat_select=None, invert_select=False, out_means_summary=True, out_meta=True, out_dataframe=True, manu_wwwwd=None)
geodezyx.reffram.gnss_products.eop_interpotate(DF_EOP, Epochs_intrp, eop_params=['x', 'y'])

Interopolate the EOP provided in a C04-like DataFrame

Parameters
  • DF_EOP (DataFrame) – Input EOP DataFrame (C04 format). Can be generated by files_rw.read_eop_C04

  • Epochs_intrp (datetime of list of datetimes) – Wished epochs for the interpolation.

  • eop_params (list of str, optional) – Wished EOP parameter to be interpolated. The default is [“x”,”y”].

Returns

OUT – Interpolated parameters. Series if onely one epoch is provided, DF_EOP elsewere

Return type

DataFrame or Series

geodezyx.reffram.gnss_products.stats_slr(DFin, grpby_keys=['sat'], threshold=0.5)

computes statistics for SLR Residuals

Parameters
  • DFin (Pandas DataFrame) – Input residual Dataframe from read_pdm_res_slr.

  • grpby_keys (list of str, optional) – The default is [‘sat’]. per day, per solution, per satellite: [‘day’,’sol’,’sat’] per day, per solution, per station: [‘day’,’sol’,’sta’] per day, per solution, per satellite, per station: [‘day’,’sol’,’sta’,’sat’]

  • threshold (float) – apply a Threshold

Returns

DD – return the mean, the rms and the std.

Return type

Output statistics DataFrame

geodezyx.reffram.gnss_products.svn_prn_equiv(sat_in, date_in, svn_prn_equiv_DF, mode='svn2prn', full_output=False)

Get the equivalence SVN <> PRN for a given epoch

Parameters
  • sat_in (str) – Satellite “ID”, SVN or PRN.

  • date_in (datetime) – wished epoch.

  • svn_prn_equiv_DF (DataFrame) – Equivalence table generated by svn_prn_equiv_DF.

  • mode (str, optional) – prn2svn: PRN > SVN svn2prn: SVN > PRN. The default is “svn2prn”.

  • full_output (bool, optional) – get the complete Equivalence table row. The default is False.

Returns

Return type

str or DataFrame

geodezyx.reffram.gnss_products.svn_prn_equiv_DF(path_meta_snx)

generate a SVN <> PRN equivalent DataFrame

Parameters

path_meta_snx (str) – path of the MGEX metadata sinex. last version avaiable here http://mgex.igs.org/IGS_MGEX_Metadata.php

Returns

DFfin – SVN <> PRN equivalent DataFrame.

Return type

Pandas DataFrame

geodezyx.reffram.kepler_gzyx module

@author: psakic

This sub-module of geodezyx.reffram contains functions related to

Kepler’s element operations.

it can be imported directly with: from geodezyx import reffram

The GeodeZYX Toolbox is a software for simple but useful functions for Geodesy and Geophysics under the GNU GPL v3 License

Copyright (C) 2019 Pierre Sakic et al. (GFZ, pierre.sakic@gfz-postdam.de) GitHub repository : https://github.com/GeodeZYX/GeodeZYX-Toolbox_v4

geodezyx.reffram.kepler_gzyx.ECI_2_kepler_elts(P, V, rad2deg=True, mu=398600441880000.0)

Convert ECI coordinates > Kepler’s elements

Parameters
  • P (array) – Position.

  • V (array) – Velocity.

  • rad2deg (bool, optional) – canvert Keplerian’s angles (anomalies) to deg. The default is True.

  • mu (float, optional) – Standard gravitational parameter. The default is 3.9860044188e14.

Returns

a,ecc,i,omega_periarg,omega_LAN,m – Kepler’s elements.

Return type

floats

geodezyx.reffram.kepler_gzyx.extrapolate_orbit_kepler(P, V, t, t0, mu=398600441880000.0)
geodezyx.reffram.kepler_gzyx.extrapolate_sp3_DataFrame(DFsp3, step=900, n_step=9, backward=True, forward=True, until_backward=None, until_forward=None, return_all=True)

Extrapolate the positions in a SP3 based on the first/last epochs’ position

Parameters
  • DFsp3 (DataFrame) – Input Orbit DataFrame (i.e. generated by files_rw.read_sp3).

  • step (int, optional) – step between two epochs. The default is 900.

  • n_step (int, optional) – number of epochs to interpolate. The default is 9.

  • and forward (backward) – extrapolate for the day before/after. The default is True.

  • return_all (bool, optional) – if True, returns the input DF enhanced with the extrapolated values if False, returns only the extrapolated values. The default is True.

  • & until_backward (until_backward) – epoch until then the extrapolation has to be done. Override n_step

Returns

DForb_out – Orbit DataFrame with extrapolated values (see return_all).

Return type

DataFrame

geodezyx.reffram.quaternions module

@author: psakic

This sub-module of geodezyx.reffram contains functions for quaternion operations.

it can be imported directly with: from geodezyx import reffram

The GeodeZYX Toolbox is a software for simple but useful functions for Geodesy and Geophysics under the GNU GPL v3 License

Copyright (C) 2019 Pierre Sakic et al. (GFZ, pierre.sakic@gfz-postdam.de) GitHub repository : https://github.com/GeodeZYX/GeodeZYX-Toolbox_v4

geodezyx.reffram.quaternions.interp_quat(Tlis, Quatlis, t)

Interpolate quaterinon

Parameters
  • Tlis (float) – list of time, in POSIX time

  • Quatlis – list of quaternion (produced by quaterion fct)

  • t – the instant for the interpolation

Returns

an interpoled Quaternion

geodezyx.reffram.quaternions.interp_quat_multi(Tlis, Quatlis, tlis)
geodezyx.reffram.quaternions.quatern_multi(rlist, plist, hlist, angtype='rad')

wrapper of quaternion, with lists/arrays of angles

geodezyx.reffram.quaternions.quaternion(r, p, h, angtype='rad', euler_sequence='zyx')
Parameters
  • roll (xaxis) pitch (yaxis) heading (zaxis) –

  • angtype – ‘rad’ or ‘deg’

Returns

the associate quaternion

Note

the input args are in XYZ but the rotation is in the order ZYX

Need of the cgkit quaternion module http://cgkit.sourceforge.net/doc2/quat.html

geodezyx.reffram.quaternions.rotate_quat(ptin, quatin)
geodezyx.reffram.quaternions.rotate_quat2(ptin, quatin)

DISCONTINUED plus long que rotate_quat : benchmarking 5.53084397316 vs 0.703444957733 pour 100000

geodezyx.reffram.quaternions.rotate_quat3(ptin, quatin)

DISCONTINUED use the old quaterinons toolbox

geodezyx.reffram.quaternions.rotate_quat_multi(pts_list_in, quats_list_in)

Multi version of rotate_quat

Parameters
  • pts_list_in – a list of Points object

  • quats_list_in – a list of quaternions

Returns

a list of list of rotated points

geodezyx.reffram.sofa18 module

This module ‘sofa18’ is auto-generated with f2py (version:2). Functions:

iau_a2af(ndp,angle,sign,idmsf) iau_a2tf(ndp,angle,sign,ihmsf) iau_ab(pnat,v,s,bm1,ppr) iau_ae2hd(az,el,phi,ha,dec) iau_af2a(s,ideg,iamin,asec,rad,j) iau_anp = iau_anp(a) iau_anpm = iau_anpm(a) iau_apcg13(date1,date2,astrom) iau_apcg(date1,date2,ebpv,ehp,astrom) iau_apci13(date1,date2,astrom,eo) iau_apci(date1,date2,ebpv,ehp,x,y,s,astrom) iau_apco13(utc1,utc2,dut1,elong,phi,hm,xp,yp,phpa,tc,rh,wl,astrom,eo,j) iau_apco(date1,date2,ebpv,ehp,x,y,s,theta,elong,phi,hm,xp,yp,sp,refa,refb,astrom) iau_apcs13(date1,date2,pv,astrom) iau_apcs(date1,date2,pv,ebpv,ehp,astrom) iau_aper13(ut11,ut12,astrom) iau_aper(theta,astrom) iau_apio13(utc1,utc2,dut1,elong,phi,hm,xp,yp,phpa,tc,rh,wl,astrom,j) iau_apio(sp,theta,elong,phi,hm,xp,yp,refa,refb,astrom) iau_atcc13(rc,dc,pr,pd,px,rv,date1,date2,ra,da) iau_atccq(rc,dc,pr,pd,px,rv,astrom,ra,da) iau_atci13(rc,dc,pr,pd,px,rv,date1,date2,ri,di,eo) iau_atciq(rc,dc,pr,pd,px,rv,astrom,ri,di) iau_atciqn(rc,dc,pr,pd,px,rv,astrom,b,ri,di,n=shape(b,1)) iau_atciqz(rc,dc,astrom,ri,di) iau_atco13(rc,dc,pr,pd,px,rv,utc1,utc2,dut1,elong,phi,hm,xp,yp,phpa,tc,rh,wl,aob,zob,hob,dob,rob,eo,j) iau_atic13(ri,di,date1,date2,rc,dc,eo) iau_aticq(ri,di,astrom,rc,dc) iau_aticqn(ri,di,astrom,b,rc,dc,n=shape(b,1)) iau_atio13(ri,di,utc1,utc2,dut1,elong,phi,hm,xp,yp,phpa,tc,rh,wl,aob,zob,hob,dob,rob,j) iau_atioq(ri,di,astrom,aob,zob,hob,dob,rob) iau_atoc13(type_bn,ob1,ob2,utc1,utc2,dut1,elong,phi,hm,xp,yp,phpa,tc,rh,wl,rc,dc,j) iau_atoi13(type_bn,ob1,ob2,utc1,utc2,dut1,elong,phi,hm,xp,yp,phpa,tc,rh,wl,ri,di,j) iau_atoiq(type_bn,ob1,ob2,astrom,ri,di) iau_bi00(dpsibi,depsbi,dra) iau_bp00(date1,date2,rb,rp,rbp) iau_bp06(date1,date2,rb,rp,rbp) iau_bpn2xy(rbpn,x,y) iau_c2i00a(date1,date2,rc2i) iau_c2i00b(date1,date2,rc2i) iau_c2i06a(date1,date2,rc2i) iau_c2ibpn(date1,date2,rbpn,rc2i) iau_c2ixy(date1,date2,x,y,rc2i) iau_c2ixys(x,y,s,rc2i) iau_c2s(p,theta,phi) iau_c2t00a(tta,ttb,uta,utb,xp,yp,rc2t) iau_c2t00b(tta,ttb,uta,utb,xp,yp,rc2t) iau_c2t06a(tta,ttb,uta,utb,xp,yp,rc2t) iau_c2tceo(rc2i,era,rpom,rc2t) iau_c2tcio(rc2i,era,rpom,rc2t) iau_c2teqx(rbpn,gst,rpom,rc2t) iau_c2tpe(tta,ttb,uta,utb,dpsi,deps,xp,yp,rc2t) iau_c2txy(tta,ttb,uta,utb,x,y,xp,yp,rc2t) iau_cal2jd(iy,im,id,djm0,djm,j) iau_cp(p,c) iau_cpv(pv,c) iau_cr(r,c) iau_d2dtf(scale,ndp,d1,d2,iy,im,id,ihmsf,j) iau_d2tf(ndp,days,sign,ihmsf) iau_dat(iy,im,id,fd,deltat,j) iau_dtdb = iau_dtdb(date1,date2,ut,elong,u,v) iau_dtf2d(scale,iy,im,id,ihr,imn,sec,d1,d2,j) iau_eceq06(date1,date2,dl,db,dr,dd) iau_ecm06(date1,date2,rm) iau_ee00a = iau_ee00a(date1,date2) iau_ee00b = iau_ee00b(date1,date2) iau_ee00 = iau_ee00(date1,date2,epsa,dpsi) iau_ee06a = iau_ee06a(date1,date2) iau_eect00 = iau_eect00(date1,date2) iau_eform(n,a,f,j) iau_eo06a = iau_eo06a(date1,date2) iau_eors = iau_eors(rnpb,s) iau_epb2jd(epb,djm0,djm) iau_epb = iau_epb(dj1,dj2) iau_epj2jd(epj,djm0,djm) iau_epj = iau_epj(dj1,dj2) iau_epv00(date1,date2,pvh,pvb,jstat) iau_eqec06(date1,date2,dr,dd,dl,db) iau_eqeq94 = iau_eqeq94(date1,date2) iau_era00 = iau_era00(dj1,dj2) iau_fad03 = iau_fad03(t) iau_fae03 = iau_fae03(t) iau_faf03 = iau_faf03(t) iau_faju03 = iau_faju03(t) iau_fal03 = iau_fal03(t) iau_falp03 = iau_falp03(t) iau_fama03 = iau_fama03(t) iau_fame03 = iau_fame03(t) iau_fane03 = iau_fane03(t) iau_faom03 = iau_faom03(t) iau_fapa03 = iau_fapa03(t) iau_fasa03 = iau_fasa03(t) iau_faur03 = iau_faur03(t) iau_fave03 = iau_fave03(t) iau_fk425(r1950,d1950,dr1950,dd1950,p1950,v1950,r2000,d2000,dr2000,dd2000,p2000,v2000) iau_fk45z(r1950,d1950,bepoch,r2000,d2000) iau_fk524(r2000,d2000,dr2000,dd2000,p2000,v2000,r1950,d1950,dr1950,dd1950,p1950,v1950) iau_fk52h(r5,d5,dr5,dd5,px5,rv5,rh,dh,drh,ddh,pxh,rvh) iau_fk54z(r2000,d2000,bepoch,r1950,d1950,dr1950,dd1950) iau_fk5hip(r5h,s5h) iau_fk5hz(r5,d5,date1,date2,rh,dh) iau_fw2m(gamb,phib,psi,eps,r) iau_fw2xy(gamb,phib,psi,eps,x,y) iau_g2icrs(dl,db,dr,dd) iau_gc2gde(a,f,xyz,elong,phi,height,j) iau_gc2gd(n,xyz,elong,phi,height,j) iau_gd2gce(a,f,elong,phi,height,xyz,j) iau_gd2gc(n,elong,phi,height,xyz,j) iau_gmst00 = iau_gmst00(uta,utb,tta,ttb) iau_gmst06 = iau_gmst06(uta,utb,tta,ttb) iau_gmst82 = iau_gmst82(dj1,dj2) iau_gst00a = iau_gst00a(uta,utb,tta,ttb) iau_gst00b = iau_gst00b(uta,utb) iau_gst06a = iau_gst06a(uta,utb,tta,ttb) iau_gst06 = iau_gst06(uta,utb,tta,ttb,rnpb) iau_gst94 = iau_gst94(uta,utb) iau_h2fk5(rh,dh,drh,ddh,pxh,rvh,r5,d5,dr5,dd5,px5,rv5) iau_hd2ae(ha,dec,phi,az,el) iau_hd2pa = iau_hd2pa(ha,dec,phi) iau_hfk5z(rh,dh,date1,date2,r5,d5,dr5,dd5) iau_icrs2g(dr,dd,dl,db) iau_ir(r) iau_jd2cal(dj1,dj2,iy,im,id,fd,j) iau_jdcalf(ndp,dj1,dj2,iymdf,j) iau_ld(bm,p,q,e,em,dlim,p1) iau_ldn(b,ob,sc,sn,n=shape(b,1)) iau_ldsun(p,e,em,p1) iau_lteceq(epj,dl,db,dr,dd) iau_ltecm(epj,rm) iau_lteqec(epj,dr,dd,dl,db) iau_ltpb(epj,rpb) iau_ltpecl(epj,vec) iau_ltpequ(epj,veq) iau_ltp(epj,rp) iau_moon98(date1,date2,pv) iau_num00a(date1,date2,rmatn) iau_num00b(date1,date2,rmatn) iau_num06a(date1,date2,rmatn) iau_numat(epsa,dpsi,deps,rmatn) iau_nut00a(date1,date2,dpsi,deps) iau_nut00b(date1,date2,dpsi,deps) iau_nut06a(date1,date2,dpsi,deps) iau_nut80(date1,date2,dpsi,deps) iau_nutm80(date1,date2,rmatn) iau_obl06 = iau_obl06(date1,date2) iau_obl80 = iau_obl80(date1,date2) iau_p06e(date1,date2,eps0,psia,oma,bpa,bqa,pia,bpia,epsa,chia,za,zetaa,thetaa,pa,gam,phi,psi) iau_p2pv(p,pv) iau_p2s(p,theta,phi,r) iau_pap(a,b,theta) iau_pas(al,ap,bl,bp,theta) iau_pb06(date1,date2,bzeta,bz,btheta) iau_pdp(a,b,adb) iau_pfw06(date1,date2,gamb,phib,psib,epsa) iau_plan94(date1,date2,np,pv,j) iau_pmat00(date1,date2,rbp) iau_pmat06(date1,date2,rbp) iau_pmat76(date1,date2,rmatp) iau_pm(p,r) iau_pmp(a,b,amb) iau_pmpx(rc,dc,pr,pd,px,rv,pmt,pob,pco) iau_pmsafe(ra1,dec1,pmr1,pmd1,px1,rv1,ep1a,ep1b,ep2a,ep2b,ra2,dec2,pmr2,pmd2,px2,rv2,j) iau_pn00a(date1,date2,dpsi,deps,epsa,rb,rp,rbp,rn,rbpn) iau_pn00b(date1,date2,dpsi,deps,epsa,rb,rp,rbp,rn,rbpn) iau_pn00(date1,date2,dpsi,deps,epsa,rb,rp,rbp,rn,rbpn) iau_pn06a(date1,date2,dpsi,deps,epsa,rb,rp,rbp,rn,rbpn) iau_pn06(date1,date2,dpsi,deps,epsa,rb,rp,rbp,rn,rbpn) iau_pn(p,r,u) iau_pnm00a(date1,date2,rbpn) iau_pnm00b(date1,date2,rbpn) iau_pnm06a(date1,date2,rbpn) iau_pnm80(date1,date2,rmatpn) iau_pom00(xp,yp,sp,rpom) iau_ppp(a,b,apb) iau_ppsp(a,s,b,apsb) iau_pr00(date1,date2,dpsipr,depspr) iau_prec76(date01,date02,date11,date12,zeta,z,theta) iau_pv2p(pv,p) iau_pv2s(pv,theta,phi,r,td,pd,rd) iau_pvdpv(a,b,adb) iau_pvm(pv,r,s) iau_pvmpv(a,b,amb) iau_pvppv(a,b,apb) iau_pvstar(pv,ra,dec,pmr,pmd,px,rv,j) iau_pvtob(elong,phi,hm,xp,yp,sp,theta,pv) iau_pvu(dt,pv,upv) iau_pvup(dt,pv,p) iau_pvxpv(a,b,axb) iau_pxp(a,b,axb) iau_refco(phpa,tc,rh,wl,refa,refb) iau_rm2v(r,w) iau_rv2m(w,r) iau_rx(phi,r) iau_rxp(r,p,rp) iau_rxpv(r,pv,rpv) iau_rxr(a,b,atb) iau_ry(theta,r) iau_rz(psi,r) iau_s00a = iau_s00a(date1,date2) iau_s00b = iau_s00b(date1,date2) iau_s00 = iau_s00(date1,date2,x,y) iau_s06a = iau_s06a(date1,date2) iau_s06 = iau_s06(date1,date2,x,y) iau_s2c(theta,phi,c) iau_s2p(theta,phi,r,p) iau_s2pv(theta,phi,r,td,pd,rd,pv) iau_s2xpv(s1,s2,pv,spv) iau_sepp(a,b,s) iau_seps(al,ap,bl,bp,s) iau_sp00 = iau_sp00(date1,date2) iau_starpm(ra1,dec1,pmr1,pmd1,px1,rv1,ep1a,ep1b,ep2a,ep2b,ra2,dec2,pmr2,pmd2,px2,rv2,j) iau_starpv(ra,dec,pmr,pmd,px,rv,pv,j) iau_sxp(s,p,sp) iau_sxpv(s,pv,spv) iau_taitt(tai1,tai2,tt1,tt2,j) iau_taiut1(tai1,tai2,dta,ut11,ut12,j) iau_taiutc(tai1,tai2,utc1,utc2,j) iau_tcbtdb(tcb1,tcb2,tdb1,tdb2,j) iau_tcgtt(tcg1,tcg2,tt1,tt2,j) iau_tdbtcb(tdb1,tdb2,tcb1,tcb2,j) iau_tdbtt(tdb1,tdb2,dtr,tt1,tt2,j) iau_tf2a(s,ihour,imin,sec,rad,j) iau_tf2d(s,ihour,imin,sec,days,j) iau_tpors(xi,eta,a,b,a01,b01,a02,b02,n) iau_tporv(xi,eta,v,v01,v02,n) iau_tpsts(xi,eta,a0,b0,a,b) iau_tpstv(xi,eta,v0,v) iau_tpxes(a,b,a0,b0,xi,eta,j) iau_tpxev(v,v0,xi,eta,j) iau_tr(r,rt) iau_trxp(r,p,trp) iau_trxpv(r,pv,trpv) viv(ival,ivalok,func,test,status) vvd(val,valok,dval,func,test,status) err(func,test,status) t_iau_a2af(status) t_iau_a2tf(status) t_iau_ab(status) t_iau_ae2hd(status) t_iau_af2a(status) t_iau_anp(status) t_iau_anpm(status) t_iau_apcg(status) t_iau_apcg13(status) t_iau_apci(status) t_iau_apci13(status) t_iau_apco(status) t_iau_apco13(status) t_iau_apcs(status) t_iau_apcs13(status) t_iau_aper(status) t_iau_aper13(status) t_iau_apio(status) t_iau_apio13(status) t_iau_atcc13(status) t_iau_atccq(status) t_iau_atci13(status) t_iau_atciq(status) t_iau_atciqn(status) t_iau_atciqz(status) t_iau_atco13(status) t_iau_atic13(status) t_iau_aticq(status) t_iau_aticqn(status) t_iau_atio13(status) t_iau_atioq(status) t_iau_atoc13(status) t_iau_atoi13(status) t_iau_atoiq(status) t_iau_bi00(status) t_iau_bp00(status) t_iau_bp06(status) t_iau_bpn2xy(status) t_iau_c2i00a(status) t_iau_c2i00b(status) t_iau_c2i06a(status) t_iau_c2ibpn(status) t_iau_c2ixy(status) t_iau_c2ixys(status) t_iau_c2s(status) t_iau_c2t00a(status) t_iau_c2t00b(status) t_iau_c2t06a(status) t_iau_c2tcio(status) t_iau_c2teqx(status) t_iau_c2tpe(status) t_iau_c2txy(status) t_iau_cal2jd(status) t_iau_cp(status) t_iau_cpv(status) t_iau_cr(status) t_iau_d2dtf(status) t_iau_d2tf(status) t_iau_dat(status) t_iau_dtdb(status) t_iau_dtf2d(status) t_iau_eceq06(status) t_iau_ecm06(status) t_iau_ee00(status) t_iau_ee00a(status) t_iau_ee00b(status) t_iau_ee06a(status) t_iau_eect00(status) t_iau_eform(status) t_iau_eo06a(status) t_iau_eors(status) t_iau_epb(status) t_iau_epb2jd(status) t_iau_epj(status) t_iau_epj2jd(status) t_iau_epv00(status) t_iau_eqec06(status) t_iau_eqeq94(status) t_iau_era00(status) t_iau_fad03(status) t_iau_fae03(status) t_iau_faf03(status) t_iau_faju03(status) t_iau_fal03(status) t_iau_falp03(status) t_iau_fama03(status) t_iau_fame03(status) t_iau_fane03(status) t_iau_faom03(status) t_iau_fapa03(status) t_iau_fasa03(status) t_iau_faur03(status) t_iau_fave03(status) t_iau_fk425(status) t_iau_fk45z(status) t_iau_fk524(status) t_iau_fk52h(status) t_iau_fk54z(status) t_iau_fk5hip(status) t_iau_fk5hz(status) t_iau_fw2m(status) t_iau_fw2xy(status) t_iau_g2icrs(status) t_iau_gc2gd(status) t_iau_gc2gde(status) t_iau_gd2gc(status) t_iau_gd2gce(status) t_iau_gmst00(status) t_iau_gmst06(status) t_iau_gmst82(status) t_iau_gst00a(status) t_iau_gst00b(status) t_iau_gst06(status) t_iau_gst06a(status) t_iau_gst94(status) t_iau_h2fk5(status) t_iau_hd2ae(status) t_iau_hd2pa(status) t_iau_hfk5z(status) t_iau_icrs2g(status) t_iau_ir(status) t_iau_jd2cal(status) t_iau_jdcalf(status) t_iau_ld(status) t_iau_ldn(status) t_iau_ldsun(status) t_iau_lteceq(status) t_iau_ltecm(status) t_iau_lteqec(status) t_iau_ltp(status) t_iau_ltpb(status) t_iau_ltpecl(status) t_iau_ltpequ(status) t_iau_moon98(status) t_iau_num00a(status) t_iau_num00b(status) t_iau_num06a(status) t_iau_numat(status) t_iau_nut00a(status) t_iau_nut00b(status) t_iau_nut06a(status) t_iau_nut80(status) t_iau_nutm80(status) t_iau_obl06(status) t_iau_obl80(status) t_iau_p06e(status) t_iau_p2pv(status) t_iau_p2s(status) t_iau_pap(status) t_iau_pas(status) t_iau_pb06(status) t_iau_pdp(status) t_iau_pfw06(status) t_iau_plan94(status) t_iau_pmat00(status) t_iau_pmat06(status) t_iau_pmat76(status) t_iau_pm(status) t_iau_pmp(status) t_iau_pmpx(status) t_iau_pmsafe(status) t_iau_pn(status) t_iau_pn00(status) t_iau_pn00a(status) t_iau_pn00b(status) t_iau_pn06a(status) t_iau_pn06(status) t_iau_pnm00a(status) t_iau_pnm00b(status) t_iau_pnm06a(status) t_iau_pnm80(status) t_iau_pom00(status) t_iau_ppp(status) t_iau_ppsp(status) t_iau_pr00(status) t_iau_prec76(status) t_iau_pv2p(status) t_iau_pv2s(status) t_iau_pvdpv(status) t_iau_pvm(status) t_iau_pvmpv(status) t_iau_pvppv(status) t_iau_pvstar(status) t_iau_pvtob(status) t_iau_pvu(status) t_iau_pvup(status) t_iau_pvxpv(status) t_iau_pxp(status) t_iau_refco(status) t_iau_rm2v(status) t_iau_rv2m(status) t_iau_rx(status) t_iau_rxp(status) t_iau_rxpv(status) t_iau_rxr(status) t_iau_ry(status) t_iau_rz(status) t_iau_s00a(status) t_iau_s00b(status) t_iau_s00(status) t_iau_s06a(status) t_iau_s06(status) t_iau_s2c(status) t_iau_s2p(status) t_iau_s2pv(status) t_iau_s2xpv(status) t_iau_sepp(status) t_iau_seps(status) t_iau_sp00(status) t_iau_starpm(status) t_iau_starpv(status) t_iau_sxp(status) t_iau_sxpv(status) t_iau_taitt(status) t_iau_taiut1(status) t_iau_taiutc(status) t_iau_tcbtdb(status) t_iau_tcgtt(status) t_iau_tdbtcb(status) t_iau_tdbtt(status) t_iau_tf2a(status) t_iau_tf2d(status) t_iau_tpors(status) t_iau_tporv(status) t_iau_tpsts(status) t_iau_tpstv(status) t_iau_tpxes(status) t_iau_tpxev(status) t_iau_tr(status) t_iau_trxp(status) t_iau_trxpv(status) t_iau_tttai(status) t_iau_tttcg(status) t_iau_tttdb(status) t_iau_ttut1(status) t_iau_ut1tai(status) t_iau_ut1tt(status) t_iau_ut1utc(status) t_iau_utctai(status) t_iau_utcut1(status) t_iau_xy06(status) t_iau_xys00a(status) t_iau_xys00b(status) t_iau_xys06a(status) t_iau_zp(status) t_iau_zpv(status) t_iau_zr(status) iau_tttai(tt1,tt2,tai1,tai2,j) iau_tttcg(tt1,tt2,tcg1,tcg2,j) iau_tttdb(tt1,tt2,dtr,tdb1,tdb2,j) iau_ttut1(tt1,tt2,dt,ut11,ut12,j) iau_ut1tai(ut11,ut12,dta,tai1,tai2,j) iau_ut1tt(ut11,ut12,dt,tt1,tt2,j) iau_ut1utc(ut11,ut12,dut1,utc1,utc2,j) iau_utctai(utc1,utc2,tai1,tai2,j) iau_utcut1(utc1,utc2,dut1,ut11,ut12,j) iau_xy06(date1,date2,x,y) iau_xys00a(date1,date2,x,y,s) iau_xys00b(date1,date2,x,y,s) iau_xys06a(date1,date2,x,y,s) iau_zp(p) iau_zpv(pv) iau_zr(r)

.