Fichier:UT1-TAI and UTC-TAI.svg
Le contenu de la page n’est pas pris en charge dans d’autres langues.
Taille de cet aperçu PNG pour ce fichier SVG : 600 × 480 pixels. Autres résolutions : 300 × 240 pixels | 960 × 768 pixels | 1 280 × 1 024 pixels | 2 560 × 2 048 pixels.
Fichier d’origine (Fichier SVG, nominalement de 600 × 480 pixels, taille : 583 kio)
Ce fichier et sa description proviennent de Wikimedia Commons.
Description
DescriptionUT1-TAI and UTC-TAI.svg | Cette image montre les différences UT1-TAI et UTC-TAI toutes deux exprimées en secondes. La partie rouge du graphique est une prédiction (valeurs futures) au moment où l'image a été produite. | |||
Date | ||||
Source | Travail personnel réalisé en utilisant les données du site https://maia.usno.navy.mil/ser7/finals.all | |||
Auteur | Daniel_Exb | |||
Autorisation (Réutilisation de ce fichier) |
|
Code source
2 fichiers sont utilisés:
- plot_UT1-TAI_and_UTC-TAI.sh
#!/bin/bash -e # DATE="$(date '+%Y-%m-%d')" [[ ! -d "$DATE" ]] && mkdir "$DATE" cd "$DATE" || exit 1 ########################################################## # download the files # FILES="checksums.md5 checksums.sha512 finals.all readme.finals readme tai-utc.dat" for FILE in $FILES; do [[ -f "$FILE" ]] && continue wget --no-verbose --show-progress "https://maia.usno.navy.mil/ser7/$FILE" done echo -n 'md5sum ' && md5sum --ignore-missing --check checksums.md5 echo -n 'sha512sum ' && sha512sum --ignore-missing --check checksums.sha512 ########################################################## # extract useful data # cut -c 1-2,3-4,5-6,8-15,58,59-68 --output-delimiter " " finals.all > finals-cut.txt ########################################################## # compute UT1-UTC, UT1-TAI and UTC-TAI # LC_NUMERIC="C" awk 'BEGIN { if ((ARGV[1] != "tai-utc.dat") && (ARGV[2] != "finals-cut.txt")) { exit(1) } MONTHS["JAN"] = 1; MONTHS["FEB"] = 2; MONTHS["MAR"] = 3; MONTHS["APR"] = 4; MONTHS["MAY"] = 5; MONTHS["JUN"] = 6; MONTHS["JUL"] = 7; MONTHS["AUG"] = 8; MONTHS["SEP"] = 9; MONTHS["OCT"] = 10; MONTHS["NOV"] = 11; MONTHS["DEC"] = 12; } FILENAME == "tai-utc.dat" { # 1961 JAN 1 =JD 2437300.5 TAI-UTC= 1.4228180 S + (MJD - 37300.) X 0.001296 S # 1961 AUG 1 =JD 2437512.5 TAI-UTC= 1.3728180 S + (MJD - 37300.) X 0.001296 S # 1962 JAN 1 =JD 2437665.5 TAI-UTC= 1.8458580 S + (MJD - 37665.) X 0.0011232S # 1963 NOV 1 =JD 2438334.5 TAI-UTC= 1.9458580 S + (MJD - 37665.) X 0.0011232S # ... # 1968 FEB 1 =JD 2439887.5 TAI-UTC= 4.2131700 S + (MJD - 39126.) X 0.002592 S # 1972 JAN 1 =JD 2441317.5 TAI-UTC= 10.0 S + (MJD - 41317.) X 0.0 S # ... # 2009 JAN 1 =JD 2454832.5 TAI-UTC= 34.0 S + (MJD - 41317.) X 0.0 S # 2012 JUL 1 =JD 2456109.5 TAI-UTC= 35.0 S + (MJD - 41317.) X 0.0 S # 2015 JUL 1 =JD 2457204.5 TAI-UTC= 36.0 S + (MJD - 41317.) X 0.0 S # 2017 JAN 1 =JD 2457754.5 TAI-UTC= 37.0 S + (MJD - 41317.) X 0.0 S Y = $1 M = MONTHS[$2] D = $3 DTAI_history[Y][M][D] = $7 # YYYY_MM_DD = sprintf("%4d-%02d-%02d", Y, M, D) # printf("%s %f\n", YYYY_MM_DD, DTAI_history[Y][M][D]) } function get_dtai(y, m, d) { # printf("%4d-%02d-%02d\n", y, m, d) found = 0 for (Y in DTAI_history) { # print(Y) for (M in DTAI_history[Y]) { # print(M) for (D in DTAI_history[Y][M]) { # print(D) if (Y-y > 0) { found = 1; break; } if ((Y-y >= 0) && (M-m > 0) ) { found = 2; break; } if ((Y-y >= 0) && (M-m >= 0) && (D-d > 0)) { found = 3; break; } DTAI = DTAI_history[Y][M][D] # print(y, m, d, Y, M, D, " DTAI = ", DTAI) if ((Y-y == 0) && (M-m == 0) && (D-d == 0)) { found = 4; break; } } if (found) break } if (found) break } # print("FOUND = ", found) return DTAI } BEGINFILE { if (FILENAME == "finals-cut.txt") { # OUTPUT file format # # # date UT1-UTC UT1-TAI UTC-TAI IERS (I) or Prediction (P) # # DUT1 FLAG # 1973-01-02 0.8084178 -11.1915822 -12.000000 I # 1973-01-03 0.8056163 -11.1943837 -12.000000 I # 1973-01-04 0.8027895 -11.1972105 -12.000000 I # 1973-01-05 0.7998729 -11.2001271 -12.000000 I print("# date UT1-UTC UT1-TAI UTC-TAI IERS (I) or Prediction (P)") print("# DUT1 FLAG") # # 1973 is the first line in finals.all # for (y=1961; y<=1973; y++) { for (m=1; m<=12; m++) { d = 1 DTAI = get_dtai(y, m, d) printf("%4d-%02d-%02d x.xxxxxxx xx.xxxxxxx %10.6f I\n", y, m, d, -DTAI) } } } } FILENAME == "finals-cut.txt" { j = $4 d = $3 m = $2 y = ( j <= 51543 ) ? 1900 + $1 : 2000 + $1 FLAG = $5 # IERS (I) or Prediction (P) DUT1 = $6 # UT1 - UTC DTAI = get_dtai(y, m, d) printf("%4d-%02d-%02d %10.7f %10.7f %f %s\n", y, m, d, DUT1, DUT1-DTAI, -DTAI, FLAG) } END { # sanity check if (DTAI_history[1972][01][01] != 10.) { print("TAI - UTC shall be equal to 10 on January 1st, 1972") exit(1) } for (Y in DTAI_history) { for (M in DTAI_history[Y]) { for (D in DTAI_history[Y][M]) { # print(Y"-"M"-"D" "DTAI_history[Y][M][D]) } } } } ' tai-utc.dat finals-cut.txt > time_history.txt head -10 time_history.txt echo '...' ########################################################## # make two distinct outputs # grep -E '^#|I' time_history.txt > time_history_iers.txt grep -E '^#|P' time_history.txt > time_history_pred.txt ########################################################## # plot the data UT1-TAI and UTC-TAI # gnuplot ../plot_UT1-TAI_and_UTC-TAI.gnuplot eog --fullscreen UT1-TAI_and_UTC-TAI.svg ########################################################## # FINISHED # echo 'Finished, check the files "time_history.txt" and "UT1-TAI_and_UTC-TAI.svg"'
- plot_UT1-TAI_and_UTC-TAI.gnuplot
set xdata time set timefmt "%Y-%m-%d" set format x "%Y" set xrange ["1961-01-01":"2025-01-01"] set yrange [-40:0] set grid lt 3 lc 0 set terminal svg font "Arial,16" set style line 1 lc rgb 'dark-green' lt 1 set style line 2 lc rgb 'green' lt 1 set style line 3 lc rgb 'dark-red' lt 1 set style line 4 lc rgb 'red' lt 1 set key set title 'UT1-TAI and UTC-TAI (source: https://maia.usno.navy.mil/ser7/)' set ylabel 'Difference from TAI (seconds)' set output 'UT1-TAI_and_UTC-TAI.svg' plot 'time_history_iers.txt' using 1:3 with lines linestyle 1 title 'Measured UT1-TAI' , \ 'time_history_iers.txt' using 1:4 with lines linestyle 2 title 'UTC-TAI' , \ 'time_history_pred.txt' using 1:3 with lines linestyle 3 title 'Predicted UT1-TAI' set output
Éléments décrits dans ce fichier
dépeint
5 octobre 2023
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 5 octobre 2023 à 19:17 | 600 × 480 (583 kio) | Daniel exb | Maintenant, le graphe commence au 1er janvier 1961, pour montrer le décalage entre UTC et TAI | |
5 octobre 2023 à 00:30 | 600 × 480 (580 kio) | Daniel exb | {{Information |Description=Cette image montre les différences UT1-TAI et UTC-TAI toutes deux exprimées en secondes. La partie rouge du graphique est une prédiction (valeurs futures) au moment où l'image a été produite. |Source=Travail personnel réalisé en utilisant les données du site https://maia.usno.navy.mil/ser7/finals.all |Date=2023-10-05 |Author=Daniel_Exb |Permission=Utilisation libre |other_versions= }} |
Utilisation du fichier
Les 2 pages suivantes utilisent ce fichier :
Métadonnées
Ce fichier contient des informations supplémentaires, probablement ajoutées par l'appareil photo numérique ou le numériseur utilisé pour le créer.
Si le fichier a été modifié depuis son état original, certains détails peuvent ne pas refléter entièrement l'image modifiée.
Titre court | Gnuplot |
---|---|
Titre de l’image | Produced by GNUPLOT 5.4 patchlevel 2 |
Largeur | 600 |
Hauteur | 480 |
Ce document provient de « https://fr.wikipedia.org/wiki/Fichier:UT1-TAI_and_UTC-TAI.svg ».