OrekitMessages.java

  1. /* Copyright 2002-2025 CS GROUP
  2.  * Licensed to CS GROUP (CS) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * CS licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *   http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package org.orekit.errors;

  18. import java.util.Locale;

  19. import org.hipparchus.exception.Localizable;

  20. /**
  21.  * Enumeration for localized messages formats.
  22.  * <p>
  23.  * The constants in this enumeration represent the available formats as
  24.  * localized strings. These formats are intended to be localized using simple
  25.  * properties files, using the constant name as the key and the property value
  26.  * as the message format. The source English format is provided in the constants
  27.  * themselves to serve both as a reminder for developers to understand the
  28.  * parameters needed by each format, as a basis for translators to create
  29.  * localized properties files, and as a default format if some translation is
  30.  * missing.
  31.  * </p>
  32.  * @since 2.1
  33.  */
  34. public enum OrekitMessages implements Localizable {

  35.     /** INTERNAL_ERROR. */
  36.     INTERNAL_ERROR("internal error, please notify development team by creating a new topic at {0}"),

  37.     /** ALTITUDE_BELOW_ALLOWED_THRESHOLD. */
  38.     ALTITUDE_BELOW_ALLOWED_THRESHOLD("altitude ({0} m) is below the {1} m allowed threshold"),

  39.     /** POINT_INSIDE_ELLIPSOID. */
  40.     POINT_INSIDE_ELLIPSOID("point is inside ellipsoid"),

  41.     /** TRAJECTORY_INSIDE_BRILLOUIN_SPHERE. */
  42.     TRAJECTORY_INSIDE_BRILLOUIN_SPHERE("trajectory inside the Brillouin sphere (r = {0})"),

  43.     /** ALMOST_EQUATORIAL_ORBIT. */
  44.     ALMOST_EQUATORIAL_ORBIT("almost equatorial orbit (i = {0} degrees)"),

  45.     /** ALMOST_CRITICALLY_INCLINED_ORBIT. */
  46.     ALMOST_CRITICALLY_INCLINED_ORBIT("almost critically inclined orbit (i = {0} degrees)"),

  47.     /** UNABLE_TO_COMPUTE_MEAN_PARAMETERS. */
  48.     UNABLE_TO_COMPUTE_MEAN_PARAMETERS("unable to compute {0} mean parameters after {1} iterations"),

  49.     /** NULL_PARENT_FOR_FRAME. */
  50.     NULL_PARENT_FOR_FRAME("null parent for frame {0}"),

  51.     /** FRAME_ALREADY_ATTACHED. */
  52.     FRAME_ALREADY_ATTACHED("frame {0} is already attached to frame {1}"),

  53.     /** FRAME_NOT_ATTACHED. */
  54.     FRAME_NOT_ATTACHED("frame {0} is not attached to the main frames tree"),

  55.     /** FRAME_ANCESTOR_OF_BOTH_FRAMES. */
  56.     FRAME_ANCESTOR_OF_BOTH_FRAMES("frame {0} is an ancestor of both frames {1} and {2}"),

  57.     /** FRAME_ANCESTOR_OF_NEITHER_FRAME. */
  58.     FRAME_ANCESTOR_OF_NEITHER_FRAME("frame {0} is an ancestor of neither frame {1} nor {2}"),

  59.     /** FRAME_NO_NTH_ANCESTOR. */
  60.     FRAME_NO_NTH_ANCESTOR("frame {0} has depth {1}, it cannot have an ancestor {2} levels above"),

  61.     /** NO_SUCH_ITRF_FRAME. */
  62.     NO_SUCH_ITRF_FRAME("ITRF frame {0} not found"),

  63.     /** UNSUPPORTED_LOCAL_ORBITAL_FRAME. */
  64.     UNSUPPORTED_LOCAL_ORBITAL_FRAME("unsupported local orbital frame {0}"),

  65.     /** NON_PSEUDO_INERTIAL_FRAME. */
  66.     NON_PSEUDO_INERTIAL_FRAME("non pseudo-inertial frame \"{0}\""),

  67.     /** DATA_ROOT_DIRECTORY_DOES_NOT_EXIST. */
  68.     DATA_ROOT_DIRECTORY_DOES_NOT_EXIST("data root directory {0} does not exist"),

  69.     /** NOT_A_DIRECTORY. */
  70.     NOT_A_DIRECTORY("{0} is not a directory"),

  71.     /** NEITHER_DIRECTORY_NOR_ZIP_OR_JAR. */
  72.     NEITHER_DIRECTORY_NOR_ZIP_OR_JAR("{0} is neither a directory nor a zip/jar archive file"),

  73.     /** UNABLE_TO_FIND_RESOURCE. */
  74.     UNABLE_TO_FIND_RESOURCE("unable to find resource {0} in classpath"),

  75.     /** NO_EARTH_ORIENTATION_PARAMETERS_LOADED. */
  76.     NO_EARTH_ORIENTATION_PARAMETERS_LOADED("no Earth Orientation Parameters loaded"),

  77.     /** MISSING_EARTH_ORIENTATION_PARAMETERS_BETWEEN_DATES. */
  78.     MISSING_EARTH_ORIENTATION_PARAMETERS_BETWEEN_DATES("missing Earth Orientation Parameters between {0} and {1}"),

  79.     /** MISSING_EARTH_ORIENTATION_PARAMETERS_BETWEEN_DATES_GAP. */
  80.     MISSING_EARTH_ORIENTATION_PARAMETERS_BETWEEN_DATES_GAP("missing Earth Orientation Parameters between {0} and {1}, gap is {2,number,0.0##############E0} s"),

  81.     /** NO_EARTH_ORIENTATION_PARAMETERS. */
  82.     NO_EARTH_ORIENTATION_PARAMETERS("missing Earth Orientation Parameters"),

  83.     /** NOT_A_SUPPORTED_IERS_DATA_FILE. */
  84.     NOT_A_SUPPORTED_IERS_DATA_FILE("file {0} is not a supported IERS data file"),

  85.     /** INCONSISTENT_DATES_IN_IERS_FILE. */
  86.     INCONSISTENT_DATES_IN_IERS_FILE("inconsistent dates in IERS file {0}: {1}-{2}-{3} and MJD {4}"),

  87.     /** UNEXPECTED_DATA_AFTER_LINE_IN_FILE. */
  88.     UNEXPECTED_DATA_AFTER_LINE_IN_FILE("unexpected data after line {0} in file {1}: {2}"),

  89.     /** UNEXPECTED_DATA_AT_LINE_IN_FILE. */
  90.     UNEXPECTED_DATA_AT_LINE_IN_FILE("unexpected data at line {0} in file {1}"),

  91.     /** NON_CHRONOLOGICAL_DATES_IN_FILE. */
  92.     NON_CHRONOLOGICAL_DATES_IN_FILE("non-chronological dates in file {0}, line {1}"),

  93.     /** NO_IERS_UTC_TAI_HISTORY_DATA_LOADED. */
  94.     NO_IERS_UTC_TAI_HISTORY_DATA_LOADED("no IERS UTC-TAI history data loaded"),

  95.     /** NO_ENTRIES_IN_IERS_UTC_TAI_HISTORY_FILE. */
  96.     NO_ENTRIES_IN_IERS_UTC_TAI_HISTORY_FILE("no entries found in IERS UTC-TAI history file {0}"),

  97.     /** MISSING_SERIE_J_IN_FILE. */
  98.     MISSING_SERIE_J_IN_FILE("missing serie j = {0} in file {1} (line {2})"),

  99.     /** CANNOT_PARSE_BOTH_TAU_AND_GAMMA. */
  100.     CANNOT_PARSE_BOTH_TAU_AND_GAMMA("cannot parse both τ and γ from the same Poissons series file"),

  101.     /** UNEXPECTED_END_OF_FILE_AFTER_LINE. */
  102.     UNEXPECTED_END_OF_FILE_AFTER_LINE("unexpected end of file {0} (after line {1})"),

  103.     /** UNABLE_TO_PARSE_LINE_IN_FILE. */
  104.     UNABLE_TO_PARSE_LINE_IN_FILE("unable to parse line {0} of file {1}:\n{2}"),

  105.     /** UNABLE_TO_PARSE_ELEMENT_IN_FILE. */
  106.     UNABLE_TO_PARSE_ELEMENT_IN_FILE("unable to parse element {0} at line {1}, file {2}"),

  107.     /** UNABLE_TO_FIND_FILE. */
  108.     UNABLE_TO_FIND_FILE("unable to find file {0}"),

  109.     /** POSITIVE_FLOW_RATE. */
  110.     POSITIVE_FLOW_RATE("positive flow rate (q: {0})"),

  111.     /** NO_GRAVITY_FIELD_DATA_LOADED. */
  112.     NO_GRAVITY_FIELD_DATA_LOADED("no gravity field data loaded"),

  113.     /** GRAVITY_FIELD_NORMALIZATION_UNDERFLOW. */
  114.     GRAVITY_FIELD_NORMALIZATION_UNDERFLOW("gravity field normalization underflow for degree {0} and order {1}"),

  115.     /** NO_OCEAN_TIDE_DATA_LOADED. */
  116.     NO_OCEAN_TIDE_DATA_LOADED("no ocean tide data loaded"),

  117.     /** OCEAN_TIDE_DATA_DEGREE_ORDER_LIMITS. */
  118.     OCEAN_TIDE_DATA_DEGREE_ORDER_LIMITS("ocean tide data file {0} limited to degree {1} and order {2}"),

  119.     /** OCEAN_TIDE_LOAD_DEFORMATION_LIMITS. */
  120.     OCEAN_TIDE_LOAD_DEFORMATION_LIMITS("load deformation coefficients limited to degree {0}, cannot parse degree {1} term from file {2}"),

  121.     /** POLAR_TRAJECTORY. */
  122.     POLAR_TRAJECTORY("polar trajectory (distance to polar axis: {0})"),

  123.     /** UNEXPECTED_FILE_FORMAT_ERROR_FOR_LOADER. */
  124.     UNEXPECTED_FILE_FORMAT_ERROR_FOR_LOADER("unexpected format error for file {0} with loader {1}"),

  125.     /** DUPLICATED_GRAVITY_FIELD_COEFFICIENT_IN_FILE. */
  126.     DUPLICATED_GRAVITY_FIELD_COEFFICIENT_IN_FILE("duplicated gravity field coefficient {0}({1}, {2}) in file {3}"),

  127.     /** MISSING_GRAVITY_FIELD_COEFFICIENT_IN_FILE. */
  128.     MISSING_GRAVITY_FIELD_COEFFICIENT_IN_FILE("missing gravity field coefficient {0}({1}, {2}) in file {3}"),

  129.     /** TOO_LARGE_DEGREE_FOR_GRAVITY_FIELD. */
  130.     TOO_LARGE_DEGREE_FOR_GRAVITY_FIELD("too large degree (n = {0}, potential maximal degree is {1})"),

  131.     /** TOO_LARGE_ORDER_FOR_GRAVITY_FIELD. */
  132.     TOO_LARGE_ORDER_FOR_GRAVITY_FIELD("too large order (m = {0}, potential maximal order is {1})"),

  133.     /** WRONG_DEGREE_OR_ORDER. */
  134.     WRONG_DEGREE_OR_ORDER("no term ({0}, {1}) in a {2}x{3} spherical harmonics decomposition"),

  135.     /** SEVERAL_REFERENCE_DATES_IN_GRAVITY_FIELD. */
  136.     SEVERAL_REFERENCE_DATES_IN_GRAVITY_FIELD("several reference dates ({0} and {1} differ by {3,number,0.0##############E0} s) found in gravity field file {2}"),

  137.     /** NO_TLE_FOR_OBJECT. */
  138.     NO_TLE_FOR_OBJECT("no TLE data available for object {0}"),

  139.     /** NO_TLE_FOR_LAUNCH_YEAR_NUMBER_PIECE. */
  140.     NO_TLE_FOR_LAUNCH_YEAR_NUMBER_PIECE("no TLE data available for launch year {0}, launch number {1}, launch piece {2}"),

  141.     /** NOT_TLE_LINES. */
  142.     NOT_TLE_LINES("lines {0} and {1} are not TLE lines:\n{0}: \"{2}\"\n{1}: \"{3}\""),

  143.     /** MISSING_SECOND_TLE_LINE. */
  144.     MISSING_SECOND_TLE_LINE("expected a second TLE line after line {0}:\n{0}: \"{1}\""),

  145.     /** TLE_LINES_DO_NOT_REFER_TO_SAME_OBJECT. */
  146.     TLE_LINES_DO_NOT_REFER_TO_SAME_OBJECT("TLE lines do not refer to the same object:\n{0}\n{1}"),

  147.     /** TLE_INVALID_PARAMETER. */
  148.     TLE_INVALID_PARAMETER("invalid TLE parameter for object {0}: {1} = {2}"),

  149.     /** TLE_CHECKSUM_ERROR. */
  150.     TLE_CHECKSUM_ERROR("wrong checksum of TLE line {0}, expected {1} but got {2} ({3})"),

  151.     /** NO_TLE_DATA_AVAILABLE. */
  152.     NO_TLE_DATA_AVAILABLE("no TLE data available"),

  153.     /** NOT_POSITIVE_SPACECRAFT_MASS. */
  154.     NOT_POSITIVE_SPACECRAFT_MASS("spacecraft mass is not positive: {0} kg"),

  155.     /** TOO_LARGE_ECCENTRICITY_FOR_PROPAGATION_MODEL. */
  156.     TOO_LARGE_ECCENTRICITY_FOR_PROPAGATION_MODEL("too large eccentricity for propagation model: e = {0}"),

  157.     /** NO_SOLAR_ACTIVITY_AT_DATE. */
  158.     NO_SOLAR_ACTIVITY_AT_DATE("no solar activity available at {0}, data available only in range [{1}, {2}]"),

  159.     /** NON_EXISTENT_MONTH. */
  160.     NON_EXISTENT_MONTH("non-existent month {0}"),

  161.     /** NON_EXISTENT_YEAR_MONTH_DAY. */
  162.     NON_EXISTENT_YEAR_MONTH_DAY("non-existent date {0}-{1}-{2}"),

  163.     /** NON_EXISTENT_WEEK_DATE. */
  164.     NON_EXISTENT_WEEK_DATE("non-existent week date {0}-W{1}-{2}"),

  165.     /** NON_EXISTENT_DATE. */
  166.     NON_EXISTENT_DATE("non-existent date {0}"),

  167.     /** NON_EXISTENT_DAY_NUMBER_IN_YEAR. */
  168.     NON_EXISTENT_DAY_NUMBER_IN_YEAR("no day number {0} in year {1}"),

  169.     /** NON_EXISTENT_HMS_TIME. */
  170.     NON_EXISTENT_HMS_TIME("non-existent time {0}:{1}:{2}"),

  171.     /** NON_EXISTENT_TIME. */
  172.     NON_EXISTENT_TIME("non-existent time {0}"),

  173.     /** OUT_OF_RANGE_SECONDS_NUMBER. */
  174.     OUT_OF_RANGE_SECONDS_NUMBER("out of range seconds number: {0}"),

  175.     /** OUT_OF_RANGE_SECONDS_NUMBER_DETAIL. */
  176.     OUT_OF_RANGE_SECONDS_NUMBER_DETAIL("out of range seconds number: {0} is not in [{1}, {2}]"),

  177.     /** ANGLE_TYPE_NOT_SUPPORTED. */
  178.     ANGLE_TYPE_NOT_SUPPORTED("angle type not supported, supported angles: {0}, {1} and {2}"),

  179.     /** SATELLITE_COLLIDED_WITH_TARGET. */
  180.     SATELLITE_COLLIDED_WITH_TARGET("satellite collided with target"),

  181.     /** ATTITUDE_POINTING_LAW_DOES_NOT_POINT_TO_GROUND. */
  182.     ATTITUDE_POINTING_LAW_DOES_NOT_POINT_TO_GROUND("attitude pointing law misses ground"),

  183.     /** TOO_SHORT_TRANSITION_TIME_FOR_ATTITUDES_SWITCH. */
  184.     TOO_SHORT_TRANSITION_TIME_FOR_ATTITUDES_SWITCH("{0} seconds transition time for attitudes switch is too short, should be longer than {1} seconds"),

  185.     /** ORBIT_AND_ATTITUDE_DATES_MISMATCH. */
  186.     ORBIT_AND_ATTITUDE_DATES_MISMATCH("orbit date ({0}) does not match attitude date ({1})"),

  187.     /** FRAMES_MISMATCH. */
  188.     FRAMES_MISMATCH("frame {0} does not match frame {1}"),

  189.     /** INITIAL_STATE_NOT_SPECIFIED_FOR_ORBIT_PROPAGATION. */
  190.     INITIAL_STATE_NOT_SPECIFIED_FOR_ORBIT_PROPAGATION("initial state not specified for orbit propagation"),

  191.     /** EVENT_DATE_TOO_CLOSE. */
  192.     EVENT_DATE_TOO_CLOSE("target event date must be before {1} by {3,number,0.0##############E0} seconds or after {2} by {3,number,0.0##############E0} seconds, but target event date {0} is {4,number,0.0##############E0} seconds before {1} and {5,number,0.0##############E0} seconds after {2} so it cannot be added"),

  193.     /** WRONG_COORDINATES_FOR_ADJOINT_EQUATION. */
  194.     WRONG_COORDINATES_FOR_ADJOINT_EQUATION("trying to propagate Cartesian adjoint whilst integration equations of motion with non-Cartesian coordinates"),

  195.     /** UNABLE_TO_READ_JPL_HEADER. */
  196.     UNABLE_TO_READ_JPL_HEADER("unable to read header record from JPL ephemerides binary file {0}"),

  197.     /** INCONSISTENT_ASTRONOMICAL_UNIT_IN_FILES. */
  198.     INCONSISTENT_ASTRONOMICAL_UNIT_IN_FILES("inconsistent values of astronomical unit in JPL ephemerides files: ({0} and {1})"),

  199.     /** INCONSISTENT_EARTH_MOON_RATIO_IN_FILES. */
  200.     INCONSISTENT_EARTH_MOON_RATIO_IN_FILES("inconsistent values of Earth/Moon mass ratio in JPL ephemerides files: ({0} and {1})"),

  201.     /** NO_DATA_LOADED_FOR_CELESTIAL_BODY. */
  202.     NO_DATA_LOADED_FOR_CELESTIAL_BODY("no data loaded for celestial body {0}"),

  203.     /** NOT_A_JPL_EPHEMERIDES_BINARY_FILE. */
  204.     NOT_A_JPL_EPHEMERIDES_BINARY_FILE("file {0} is not a JPL ephemerides binary file"),

  205.     /** NOT_A_MARSHALL_SOLAR_ACTIVITY_FUTURE_ESTIMATION_FILE. */
  206.     NOT_A_MARSHALL_SOLAR_ACTIVITY_FUTURE_ESTIMATION_FILE("file {0} is not a Marshall Solar Activity Future Estimation (MSAFE) file"),

  207.     /** NO_JPL_EPHEMERIDES_BINARY_FILES_FOUND. */
  208.     NO_JPL_EPHEMERIDES_BINARY_FILES_FOUND("no JPL ephemerides binary files found"),

  209.     /** OUT_OF_RANGE_BODY_EPHEMERIDES_DATE. */
  210.     OUT_OF_RANGE_BODY_EPHEMERIDES_DATE("out of range date for {0} ephemerides: {1}"),

  211.     /** OUT_OF_RANGE_DATE. */
  212.     OUT_OF_RANGE_DATE("out of range date: {0}, [{1}, {2}]"),

  213.     /** OUT_OF_RANGE_EPHEMERIDES_DATE_BEFORE. */
  214.     OUT_OF_RANGE_EPHEMERIDES_DATE_BEFORE("out of range date for ephemerides: {0} is {3,number,0.0##############E0} s before [{1}, {2}]"),

  215.     /** OUT_OF_RANGE_EPHEMERIDES_DATE_AFTER. */
  216.     OUT_OF_RANGE_EPHEMERIDES_DATE_AFTER("out of range date for ephemerides: {0} is {3,number,0.0##############E0} s after [{1}, {2}]"),

  217.     /** UNEXPECTED_TWO_ELEVATION_VALUES_FOR_ONE_AZIMUTH. */
  218.     UNEXPECTED_TWO_ELEVATION_VALUES_FOR_ONE_AZIMUTH("unexpected two elevation values: {0} and {1}, for one azimuth: {2}"),

  219.     /** UNSUPPORTED_PARAMETER_NAME. */
  220.     UNSUPPORTED_PARAMETER_NAME("unsupported parameter name {0}, supported names: {1}"),

  221.     /** PARAMETER_WITH_SEVERAL_ESTIMATED_VALUES. */
  222.     PARAMETER_WITH_SEVERAL_ESTIMATED_VALUES("{0} parameter contains several span in its value TimeSpanMap, the {1} method must be called"),

  223.     /** PARAMETER_PERIODS_HAS_ALREADY_BEEN_SET. */
  224.     PARAMETER_PERIODS_HAS_ALREADY_BEEN_SET("setPeriod was already called once on {0} parameter, another parameter should be created if the periods have to be changed"),

  225.     /** TOO_SMALL_SCALE_FOR_PARAMETER. */
  226.     TOO_SMALL_SCALE_FOR_PARAMETER("scale factor for parameter {0} is too small: {1}"),

  227.     /** ADDITIONAL_STATE_BAD_TYPE. */
  228.     ADDITIONAL_STATE_BAD_TYPE("state \"{0}\" is not an array"),

  229.     /** UNKNOWN_ADDITIONAL_DATA. */
  230.     UNKNOWN_ADDITIONAL_DATA("unknown additional data \"{0}\""),

  231.     /** UNKNOWN_MONTH. */
  232.     UNKNOWN_MONTH("unknown month \"{0}\""),

  233.     /** SINGULAR_JACOBIAN_FOR_ORBIT_TYPE. */
  234.     SINGULAR_JACOBIAN_FOR_ORBIT_TYPE("Jacobian matrix for type {0} is singular with current orbit"),

  235.     /** STATE_JACOBIAN_NOT_INITIALIZED. */
  236.     STATE_JACOBIAN_NOT_INITIALIZED("state Jacobian has not been initialized yet"),

  237.     /** STATE_JACOBIAN_NOT_6X6. */
  238.     STATE_JACOBIAN_NOT_6X6("state Jacobian is a {0}x{1} matrix, it should be a 6x6 matrix"),

  239.     /** STATE_AND_PARAMETERS_JACOBIANS_ROWS_MISMATCH. */
  240.     STATE_AND_PARAMETERS_JACOBIANS_ROWS_MISMATCH("state Jacobian has {0} rows but parameters Jacobian has {1} rows"),

  241.     /** INITIAL_MATRIX_AND_PARAMETERS_NUMBER_MISMATCH. */
  242.     INITIAL_MATRIX_AND_PARAMETERS_NUMBER_MISMATCH("initial Jacobian matrix has {0} columns, but {1} parameters have been selected"),

  243.     /** ORBIT_A_E_MISMATCH_WITH_CONIC_TYPE. */
  244.     ORBIT_A_E_MISMATCH_WITH_CONIC_TYPE("orbit should be either elliptic with a > 0 and e < 1 or hyperbolic with a < 0 and e > 1, a = {0}, e = {1}"),

  245.     /** ORBIT_ANOMALY_OUT_OF_HYPERBOLIC_RANGE. */
  246.     ORBIT_ANOMALY_OUT_OF_HYPERBOLIC_RANGE("true anomaly {0} out of hyperbolic range (e = {1}, {2} < v < {3})"),

  247.     /** HYPERBOLIC_ORBIT_NOT_HANDLED_AS. */
  248.     HYPERBOLIC_ORBIT_NOT_HANDLED_AS("hyperbolic orbits cannot be handled as {0} instances"),

  249.     /** CCSDS_DATE_INVALID_PREAMBLE_FIELD. */
  250.     CCSDS_DATE_INVALID_PREAMBLE_FIELD("invalid preamble field in CCSDS date: {0}"),

  251.     /** CCSDS_DATE_INVALID_LENGTH_TIME_FIELD. */
  252.     CCSDS_DATE_INVALID_LENGTH_TIME_FIELD("invalid time field length in CCSDS date: {0}, expected {1}"),

  253.     /** CCSDS_DATE_MISSING_AGENCY_EPOCH. */
  254.     CCSDS_DATE_MISSING_AGENCY_EPOCH("missing agency epoch in CCSDS date"),

  255.     /** CCSDS_MISSING_KEYWORD. */
  256.     CCSDS_MISSING_KEYWORD("missing mandatory key {0} in CCSDS file {1}"),

  257.     /** CCSDS_KEYWORD_NOT_ALLOWED_IN_VERSION. */
  258.     CCSDS_KEYWORD_NOT_ALLOWED_IN_VERSION("key {0} is not allowed in format version {1}"),

  259.     /** CCSDS_UNEXPECTED_KEYWORD. */
  260.     CCSDS_UNEXPECTED_KEYWORD("unexpected keyword in CCSDS line number {0} of file {1}:\n{2}"),

  261.     /** CCSDS_UNKNOWN_GM. */
  262.     CCSDS_UNKNOWN_GM("the central body gravitational coefficient cannot be retrieved from the ODM"),

  263.     /** CCSDS_UNKNOWN_SPACECRAFT_MASS. */
  264.     CCSDS_UNKNOWN_SPACECRAFT_MASS("there is no spacecraft mass associated with this ODM file"),

  265.     /** CCSDS_UNKNOWN_CONVENTIONS. */
  266.     CCSDS_UNKNOWN_CONVENTIONS("no IERS conventions have been set before parsing"),

  267.     /** CCSDS_INVALID_FRAME. */
  268.     CCSDS_INVALID_FRAME("frame {0} is not valid in this CCSDS file context"),

  269.     /** CCSDS_DIFFERENT_LVLH_DEFINITION. */
  270.     CCSDS_DIFFERENT_LVLH_DEFINITION("this LVLH local orbital frame uses a different definition, please use LVLH_CCSDS instead"),

  271.     /** CCSDS_INCONSISTENT_TIME_SYSTEMS. */
  272.     CCSDS_INCONSISTENT_TIME_SYSTEMS("inconsistent time systems: {0} ≠ {1}"),

  273.     /** CCSDS_TIME_SYSTEM_NOT_IMPLEMENTED. */
  274.     CCSDS_TIME_SYSTEM_NOT_IMPLEMENTED("use of time system {0} in CCSDS files requires an additional ICD and is not implemented in Orekit"),

  275.     /** CCSDS_TDM_KEYWORD_NOT_FOUND. */
  276.     CCSDS_TDM_KEYWORD_NOT_FOUND("No CCSDS TDM keyword was found at line {0} of file {1}:\n{2}"),

  277.     /** CCSDS_TDM_MISSING_RANGE_UNITS_CONVERTER. */
  278.     CCSDS_TDM_MISSING_RANGE_UNITS_CONVERTER("no Range Units converter configured for parsing Tracking Data Message"),

  279.     /** CCSDS_TIME_SYSTEM_NOT_READ_YET. */
  280.     CCSDS_TIME_SYSTEM_NOT_READ_YET("Time system should have already been set before line {0} of file {1}"),

  281.     /** CCSDS_UNKNOWN_ATTITUDE_TYPE. */
  282.     CCSDS_UNKNOWN_ATTITUDE_TYPE("unknown attitude type {0}"),

  283.     /** CCSDS_INCOMPLETE_DATA. */
  284.     CCSDS_INCOMPLETE_DATA("incomplete data"),

  285.     /** CCSDS_INVALID_ROTATION_SEQUENCE. */
  286.     CCSDS_INVALID_ROTATION_SEQUENCE("invalid rotation sequence {0} at line {1} of file {2}"),

  287.     /** CCSDS_UNSUPPORTED_ELEMENT_SET_TYPE. */
  288.     CCSDS_UNSUPPORTED_ELEMENT_SET_TYPE("element set type {0} ({1}) is not supported yet"),

  289.     /** CCSDS_UNSUPPORTED_RETROGRADE_EQUINOCTIAL. */
  290.     CCSDS_UNSUPPORTED_RETROGRADE_EQUINOCTIAL("retrograde factor not supported in element set {0}"),

  291.     /** CCSDS_MANEUVER_UNITS_WRONG_NB_COMPONENTS. */
  292.     CCSDS_MANEUVER_UNITS_WRONG_NB_COMPONENTS("wrong number of units for maneuver {0}"),

  293.     /** CCSDS_MANEUVER_MISSING_TIME. */
  294.     CCSDS_MANEUVER_MISSING_TIME("missing time field for maneuver {0}"),

  295.     /** CCSDS_INCONSISTENT_NUMBER_OF_ATTITUDE_STATES. */
  296.     CCSDS_INCONSISTENT_NUMBER_OF_ATTITUDE_STATES("attitude type {0} and rate type {1} calls for {2} states, got {3}"),

  297.     /** CCSDS_INCOMPATIBLE_KEYS_BOTH_USED. */
  298.     CCSDS_INCOMPATIBLE_KEYS_BOTH_USED("incompatible keys {0} and {1} should not both be used"),

  299.     /** CCSDS_SENSOR_INDEX_ALREADY_USED. */
  300.     CCSDS_SENSOR_INDEX_ALREADY_USED("sensor index {0} is already used"),

  301.     /** CCSDS_MISSING_SENSOR_INDEX. */
  302.     CCSDS_MISSING_SENSOR_INDEX("missing sensor index {0}"),

  303.     /** IIRV_MISSING_LINEBREAK_IN_FILE. */
  304.     IIRV_MISSING_LINEBREAK_IN_FILE("line break(s) missing after vector number {0} in {1}"),

  305.     /** IIRV_INVALID_VECTOR_FORMAT. */
  306.     IIRV_INVALID_LINE_IN_VECTOR("line {0} in IIRV vector is not valid: \"{1}\""),

  307.     /** IIRV_EXCEEDS_MAX_VECTORS. */
  308.     IIRV_EXCEEDS_MAX_VECTORS("cannot embed more than 1000 vectors in a single IIRV message file: got {0}. " +
  309.         "Consider splitting the data into multiple files"),

  310.     /** IIRV_VALUE_TOO_LARGE. */
  311.     IIRV_VALUE_TOO_LARGE("numeric value \"{0}\" exceeds the maximum length of {1} for string representation"),

  312.     /** IIRV_INVALID_TERM_VALUE. */
  313.     IIRV_INVALID_TERM_VALUE("invalid IIRV term value: {0}"),

  314.     /** IIRV_TERM_CHANGES_WITHIN_FILE. */
  315.     IIRV_TERM_CHANGES_WITHIN_FILE("the \"{0}\" term cannot change within an IIRV message file"),

  316.     /** IIRV_SEQUENCE_NUMBER_MUST_BE_INCREASING_BY_ONE. */
  317.     IIRV_SEQUENCE_NUMBER_MUST_BE_INCREASING_BY_ONE("IIRV sequence number must increase by 1 for each " +
  318.         "subsequent vector entry. At at line {0}, expected sequence number {1}+1, but found {2}"),

  319.     /** IIRV_UNMAPPED_COORDINATE_SYSTEM. */
  320.     IIRV_UNMAPPED_COORDINATE_SYSTEM("IIRV coordinate system \"{0}\" ({1}) has not been mapped to an Orekit frame"),

  321.     /** INCONSISTENT_NUMBER_OF_ELEMENTS. */
  322.     INCONSISTENT_NUMBER_OF_ELEMENTS("inconsistent number of elements: expected {0}, got {1}"),

  323.     /** CANNOT_ESTIMATE_PRECESSION_WITHOUT_PROPER_DERIVATIVES. */
  324.     CANNOT_ESTIMATE_PRECESSION_WITHOUT_PROPER_DERIVATIVES("cannot estimate precession without proper derivatives"),

  325.     /** ADDITIONAL_STATE_NAME_ALREADY_IN_USE. */
  326.     ADDITIONAL_STATE_NAME_ALREADY_IN_USE("name \"{0}\" is already used for an additional state"),

  327.     /** NON_RESETABLE_STATE. */
  328.     NON_RESETABLE_STATE("reset state not allowed"),

  329.     /** DSST_NEWCOMB_OPERATORS_COMPUTATION. */
  330.     DSST_NEWCOMB_OPERATORS_COMPUTATION("Cannot compute Newcomb operators for sigma > rho ({0} > {1})"),

  331.     /** DSST_VMNS_COEFFICIENT_ERROR_MS. */
  332.     DSST_VMNS_COEFFICIENT_ERROR_MS("Cannot compute the Vmns coefficient with m > n ({0} > {1})"),

  333.     /** DSST_SPR_SHADOW_INCONSISTENT. */
  334.     DSST_SPR_SHADOW_INCONSISTENT("inconsistent shadow computation: entry = {0} whereas exit = {1}"),

  335.     /** DSST_ECC_NO_NUMERICAL_AVERAGING_METHOD. */
  336.     DSST_ECC_NO_NUMERICAL_AVERAGING_METHOD("The current orbit has an eccentricity ({0} > 0.5). DSST needs an unimplemented time dependent numerical method to compute the averaged rates"),

  337.     /** SP3_UNSUPPORTED_VERSION. */
  338.     SP3_UNSUPPORTED_VERSION("unsupported sp3 file version \"{0}\""),

  339.     /** SP3_INVALID_HEADER_ENTRY. */
  340.     SP3_INVALID_HEADER_ENTRY("invalid header entry {0} \"{1}\" in file {2} (format version {3})"),

  341.     /** SP3_TOO_MANY_SATELLITES_FOR_VERSION. */
  342.     SP3_TOO_MANY_SATELLITES_FOR_VERSION("version \"{0}\" supports only up to {1} satellites, found {2} in file {3}"),

  343.     /** SP3_NUMBER_OF_EPOCH_MISMATCH. */
  344.     SP3_NUMBER_OF_EPOCH_MISMATCH("found {0} epochs in file {1}, expected {2}"),

  345.     /** SP3_INCOMPATIBLE_FILE_METADATA. */
  346.     SP3_INCOMPATIBLE_FILE_METADATA("cannot splice sp3 files with incompatible metadata"),

  347.     /** SP3_INCOMPATIBLE_SATELLITE_MEDATADA. */
  348.     SP3_INCOMPATIBLE_SATELLITE_MEDATADA("cannot splice sp3 files with incompatible satellite metadata for satellite {0}"),

  349.     /** FRAME_NOT_ALLOWED.
  350.      * @since 12.1
  351.      */
  352.     FRAME_NOT_ALLOWED("frame {0} not allowed here"),

  353.     /** STK_INVALID_OR_UNSUPPORTED_COORDINATE_SYSTEM. */
  354.     STK_INVALID_OR_UNSUPPORTED_COORDINATE_SYSTEM("STK coordinate system \"{0}\" is invalid or not yet supported"),

  355.     /** STK_UNMAPPED_COORDINATE_SYSTEM. */
  356.     STK_UNMAPPED_COORDINATE_SYSTEM("STK coordinate system \"{0}\" has not been mapped to an Orekit frame"),

  357.     /** STK_UNEXPECTED_END_OF_FILE. */
  358.     STK_UNEXPECTED_END_OF_FILE("unexpected end of STK file (after line {0})"),

  359.     /** CLOCK_FILE_UNSUPPORTED_VERSION. */
  360.     CLOCK_FILE_UNSUPPORTED_VERSION("unsupported clock file version {0}"),

  361.     /** UNSUPPORTED_FILE_FORMAT_VERSION. */
  362.     UNSUPPORTED_FILE_FORMAT_VERSION("version {0} from file {1} is not supported, supported version: {2}"),

  363.     /** NON_EXISTENT_GEOMAGNETIC_MODEL. */
  364.     NON_EXISTENT_GEOMAGNETIC_MODEL("non-existent geomagnetic model {0} for year {1}"),

  365.     /** UNSUPPORTED_TIME_TRANSFORM. */
  366.     UNSUPPORTED_TIME_TRANSFORM("geomagnetic model {0} with epoch {1} does not support time transformation, no secular variation coefficients defined"),

  367.     /** OUT_OF_RANGE_TIME_TRANSFORM. */
  368.     OUT_OF_RANGE_TIME_TRANSFORM("time transformation of geomagnetic model {0} with epoch {1} is outside its validity range: {2} != [{3}, {4}]"),

  369.     /** NOT_ENOUGH_DATA. */
  370.     NOT_ENOUGH_DATA("not enough data (sample size = {0})"),

  371.     /** NOT_ENOUGH_CACHED_NEIGHBORS. */
  372.     NOT_ENOUGH_CACHED_NEIGHBORS("too small number of cached neighbors: {0} (must be at least {1})"),

  373.     /** NO_CACHED_ENTRIES. */
  374.     NO_CACHED_ENTRIES("no cached entries"),

  375.     /** NON_CHRONOLOGICALLY_SORTED_ENTRIES. */
  376.     NON_CHRONOLOGICALLY_SORTED_ENTRIES("generated entries not sorted: {0} > {1} by {2,number,0.0##############E0} s"),

  377.     /** TRANSITION_DATES_COLLISION. */
  378.     TRANSITION_DATES_COLLISION("moving transition date from {0} to {1} collides with existing transition at {2}"),

  379.     /** NO_DATA_GENERATED. */
  380.     NO_DATA_GENERATED("no data generated around date: {0}"),

  381.     /** UNABLE_TO_GENERATE_NEW_DATA_BEFORE. */
  382.     UNABLE_TO_GENERATE_NEW_DATA_BEFORE("unable to generate new data before {0}, but data is requested for {1} which is {2,number,0.0##############E0} s before"),

  383.     /** UNABLE_TO_GENERATE_NEW_DATA_AFTER. */
  384.     UNABLE_TO_GENERATE_NEW_DATA_AFTER("unable to generate new data after {0}, but data is requested for {1} which is {2,number,0.0##############E0} s after"),

  385.     /** UNABLE_TO_COMPUTE_HYPERBOLIC_ECCENTRIC_ANOMALY. */
  386.     UNABLE_TO_COMPUTE_HYPERBOLIC_ECCENTRIC_ANOMALY("unable to compute hyperbolic eccentric anomaly from the mean anomaly after {0} iterations"),

  387.     /** UNABLE_TO_COMPUTE_ECCENTRIC_LONGITUDE_ARGUMENT. */
  388.     UNABLE_TO_COMPUTE_ECCENTRIC_LONGITUDE_ARGUMENT("unable to compute eccentric longitude argument from the mean one after {0} iterations"),

  389.     /** UNABLE_TO_COMPUTE_ECCENTRIC_LATITUDE_ARGUMENT. */
  390.     UNABLE_TO_COMPUTE_ECCENTRIC_LATITUDE_ARGUMENT("unable to compute eccentric latitude argument from the mean one after {0} iterations"),

  391.     /** UNABLE_TO_COMPUTE_DSST_MEAN_PARAMETERS. */
  392.     UNABLE_TO_COMPUTE_DSST_MEAN_PARAMETERS("unable to compute mean orbit from osculating orbit after {0} iterations"),

  393.     /** OUT_OF_RANGE_DERIVATION_ORDER. */
  394.     OUT_OF_RANGE_DERIVATION_ORDER("derivation order {0} is out of range"),

  395.     /** ORBIT_TYPE_NOT_ALLOWED. */
  396.     ORBIT_TYPE_NOT_ALLOWED("orbit type {0} not allowed here, allowed types: {1}"),

  397.     /** NON_PSEUDO_INERTIAL_FRAME_NOT_SUITABLE_AS_REFERENCE_FOR_INERTIAL_FORCES. */
  398.     NON_PSEUDO_INERTIAL_FRAME_NOT_SUITABLE_AS_REFERENCE_FOR_INERTIAL_FORCES("non pseudo-inertial frame {0} is not suitable as reference for inertial forces"),

  399.     /** METHOD_NOT_AVAILABLE_WITHOUT_CENTRAL_BODY. */
  400.     METHOD_NOT_AVAILABLE_WITHOUT_CENTRAL_BODY("method not available in the absence of a central body"),

  401.     /** INCOMPATIBLE_FRAMES. */
  402.     INCOMPATIBLE_FRAMES("operation not available between frames {0} and {1}"),

  403.     /** UNDEFINED_ORBIT. */
  404.     UNDEFINED_ORBIT("orbit not defined, state rather contains an absolute position-velocity-acceleration"),

  405.     /** UNDEFINED_ABSOLUTE_PVCOORDINATES. */
  406.     UNDEFINED_ABSOLUTE_PVCOORDINATES("absolute position-velocity-acceleration not defined, state rather contains an orbit"),

  407.     /** INERTIAL_FORCE_MODEL_MISSING. */
  408.     INERTIAL_FORCE_MODEL_MISSING("an inertial force model has to be used when propagating in non-inertial frame {0}"),

  409.     /** NO_SEM_ALMANAC_AVAILABLE. */
  410.     NO_SEM_ALMANAC_AVAILABLE("no SEM almanac file found"),

  411.     /** NOT_A_SUPPORTED_SEM_ALMANAC_FILE. */
  412.     NOT_A_SUPPORTED_SEM_ALMANAC_FILE("file {0} is not a supported SEM almanac file"),

  413.     /** NO_YUMA_ALMANAC_AVAILABLE. */
  414.     NO_YUMA_ALMANAC_AVAILABLE("no Yuma almanac file found"),

  415.     /** NOT_A_SUPPORTED_YUMA_ALMANAC_FILE. */
  416.     NOT_A_SUPPORTED_YUMA_ALMANAC_FILE("file {0} is not a supported Yuma almanac file"),

  417.     /** NOT_ENOUGH_GNSS_FOR_DOP. */
  418.     NOT_ENOUGH_GNSS_FOR_DOP("only {0} GNSS orbits are provided while {1} are needed to compute the DOP"),

  419.     /** NOT_ENOUGH_PROPAGATORS. */
  420.     NOT_ENOUGH_PROPAGATORS("Creating an aggregate propagator requires at least one constituent propagator, but none were provided."),

  421.     /** NOT_ENOUGH_ATTITUDE_PROVIDERS. */
  422.     NOT_ENOUGH_ATTITUDE_PROVIDERS("Creating an aggregate attitude provider requires at least one constituent attitude provider, but none were provided."),

  423.     /** NULL_ARGUMENT. */
  424.     NULL_ARGUMENT("argument {0} cannot be null"),

  425.     /** VALUE_NOT_FOUND. */
  426.     VALUE_NOT_FOUND("value {0} not found in {1}"),

  427.     /** KLOBUCHAR_ALPHA_BETA_NOT_LOADED. */
  428.     KLOBUCHAR_ALPHA_BETA_NOT_LOADED("Klobuchar coefficients α or β could not be loaded from {0}"),

  429.     /** KLOBUCHAR_ALPHA_BETA_NOT_AVAILABLE_FOR_DATE. */
  430.     KLOBUCHAR_ALPHA_BETA_NOT_AVAILABLE_FOR_DATE("Klobuchar coefficients α or β not available for date {0}"),

  431.     /** NO_KLOBUCHAR_ALPHA_BETA_IN_FILE. */
  432.     NO_KLOBUCHAR_ALPHA_BETA_IN_FILE("file {0} does not contain Klobuchar coefficients α or β"),

  433.     /** NO_REFERENCE_DATE_FOR_PARAMETER. */
  434.     NO_REFERENCE_DATE_FOR_PARAMETER("no reference date set for parameter {0}"),

  435.     /** STATION_NOT_FOUND. */
  436.     STATION_NOT_FOUND("station {0} not found, known stations: {1}"),

  437.     /** UNKNOWN_SATELLITE_SYSTEM. */
  438.     UNKNOWN_SATELLITE_SYSTEM("unknown satellite system {0}"),

  439.     /** UNKNOWN_TIME_SYSTEM. */
  440.     UNKNOWN_TIME_SYSTEM("unknown time system {0}"),

  441.     /** UNKNOWN_UTC_ID. */
  442.     UNKNOWN_UTC_ID("unknown UTC Id {0}"),

  443.     /** UNKNOWN_CLOCK_DATA_TYPE. */
  444.     UNKNOWN_CLOCK_DATA_TYPE("unknown clock data type {0}"),

  445.     /** UNKNOWN_SATELLITE_ANTENNA_CODE. */
  446.     UNKNOWN_SATELLITE_ANTENNA_CODE("unknown satellite antenna code {0}"),

  447.     /** UNKNOWN_GNSS_ANTENNA. */
  448.     UNKNOWN_GNSS_ANTENNA("unknown GNSS antenna, name: {0}, radome code: {1}, serial number: {2}"),

  449.     /** UNKNOWN_GNSS_FREQUENCY. */
  450.     UNKNOWN_GNSS_FREQUENCY("unknown GNSS frequency, system: {0}, frequency code: {1} (line {2}, file {3})"),

  451.     /** UNSUPPORTED_FREQUENCY_FOR_ANTENNA. */
  452.     UNSUPPORTED_FREQUENCY_FOR_ANTENNA("frequency {0} is not supported by antenna {1}"),

  453.     /** CANNOT_FIND_SATELLITE_IN_SYSTEM. */
  454.     CANNOT_FIND_SATELLITE_IN_SYSTEM("cannot find satellite {0} in satellite system {1}"),

  455.     /** UNKNOWN_RINEX_FREQUENCY. */
  456.     UNKNOWN_RINEX_FREQUENCY("unknown RINEX frequency {0} in file {1}, line {2}"),

  457.     /** MISMATCHED_FREQUENCIES. */
  458.     MISMATCHED_FREQUENCIES("mismatched frequencies in file {0}, line {1} (expected {2}, got {3})"),

  459.     /** WRONG_PARSING_TYPE. */
  460.     WRONG_PARSING_TYPE("wrong parsing type for file {0}"),

  461.     /** WRONG_COLUMNS_NUMBER. */
  462.     WRONG_COLUMNS_NUMBER("wrong number of columns in file {0}, line {1} (expected {2} columns, got {3} columns)"),

  463.     /** UNSUPPORTED_FILE_FORMAT. */
  464.     UNSUPPORTED_FILE_FORMAT("unsupported format for file {0}"),

  465.     /** INCOMPLETE_HEADER. */
  466.     INCOMPLETE_HEADER("incomplete header in file {0}"),

  467.     /** INCONSISTENT_NUMBER_OF_SATS. */
  468.     INCONSISTENT_NUMBER_OF_SATS("inconsistent number of satellites in line {0}, file {1}: observation with {2} satellites and number of max satellites is {3}"),

  469.     /** INCONSISTENT_SATELLITE_SYSTEM. */
  470.     INCONSISTENT_SATELLITE_SYSTEM("the satellite system {3} from line {0}, file {1} is not consistent with the Rinex Satellite System {2} in header"),

  471.     /** NO_PROPAGATOR_CONFIGURED. */
  472.     NO_PROPAGATOR_CONFIGURED("no propagator configured"),

  473.     /** DIMENSION_INCONSISTENT_WITH_PARAMETERS. */
  474.     DIMENSION_INCONSISTENT_WITH_PARAMETERS("dimension {0} is inconsistent with parameters list: {1}"),

  475.     /** NOT_A_SUPPORTED_UNIX_COMPRESSED_FILE. */
  476.     NOT_A_SUPPORTED_UNIX_COMPRESSED_FILE("file {0} is not a supported Unix-compressed file"),

  477.     /** UNEXPECTED_END_OF_FILE. */
  478.     UNEXPECTED_END_OF_FILE("unexpected end of file {0}"),

  479.     /** CORRUPTED_FILE. */
  480.     CORRUPTED_FILE("file {0} is corrupted"),

  481.     /** VIENNA_ACOEF_OR_ZENITH_DELAY_NOT_LOADED. */
  482.     VIENNA_ACOEF_OR_ZENITH_DELAY_NOT_LOADED("Vienna coefficients ah or aw or zh or zw could not be loaded from {0}"),

  483.     /** VIENNA_ACOEF_OR_ZENITH_DELAY_NOT_AVAILABLE_FOR_DATE. */
  484.     VIENNA_ACOEF_OR_ZENITH_DELAY_NOT_AVAILABLE_FOR_DATE("Vienna coefficients ah or aw or zh or zw not available for date {0}"),

  485.     /** NO_VIENNA_ACOEF_OR_ZENITH_DELAY_IN_FILE. */
  486.     NO_VIENNA_ACOEF_OR_ZENITH_DELAY_IN_FILE("file {0} does not contain Vienna coefficients ah, aw, zh or zw"),

  487.     /** IRREGULAR_OR_INCOMPLETE_GRID. */
  488.     IRREGULAR_OR_INCOMPLETE_GRID("irregular or incomplete grid in file {0}"),

  489.     /** INVALID_SATELLITE_SYSTEM. */
  490.     INVALID_SATELLITE_SYSTEM("invalid satellite system {0}"),

  491.     /** NO_TEC_DATA_IN_FILES_FOR_DATE. */
  492.     NO_TEC_DATA_IN_FILES_FOR_DATE("IONEX files {0} does not contain TEC data for date {1}"),

  493.     /** INCONSISTENT_NUMBER_OF_TEC_MAPS_IN_FILE. */
  494.     INCONSISTENT_NUMBER_OF_TEC_MAPS_IN_FILE("number of maps {0} is inconsistent with header specification: {1}"),

  495.     /** NO_LATITUDE_LONGITUDE_BOUNDARIES_IN_IONEX_HEADER. */
  496.     NO_LATITUDE_LONGITUDE_BOUNDARIES_IN_IONEX_HEADER("file {0} does not contain latitude or longitude boundaries in its header section"),

  497.     /** NO_EPOCH_IN_IONEX_HEADER. */
  498.     NO_EPOCH_IN_IONEX_HEADER("file {0} does not contain epoch of first or last map in its header section"),

  499.     /** ITRF_VERSIONS_PREFIX_ONLY. */
  500.     ITRF_VERSIONS_PREFIX_ONLY("The first column of itrf-versions.conf is a plain prefix that is matched against the name of each loaded file. It should not contain any regular expression syntax or directory components, i.e. \"/\" or \"\\\". Actual value: \"{0}\"."),

  501.     /** CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT. */
  502.     CANNOT_COMPUTE_AIMING_AT_SINGULAR_POINT("cannot compute aiming direction at singular point: latitude = {0}, longitude = {1}"),

  503.     /** STEC_INTEGRATION_DID_NOT_CONVERGE. */
  504.     STEC_INTEGRATION_DID_NOT_CONVERGE("STEC integration did not converge"),

  505.     /** MODIP_GRID_NOT_LOADED. */
  506.     MODIP_GRID_NOT_LOADED("MODIP grid not be loaded from {0}"),

  507.     /** NEQUICK_F2_FM3_NOT_LOADED. */
  508.     NEQUICK_F2_FM3_NOT_LOADED("NeQuick coefficient f2 or fm3 not be loaded from {0}"),

  509.     /** NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE. */
  510.     NOT_A_SUPPORTED_HATANAKA_COMPRESSED_FILE("file {0} is not a supported Hatanaka-compressed file"),

  511.     /** CANNOT_COMPUTE_LAGRANGIAN. */
  512.     CANNOT_COMPUTE_LAGRANGIAN("Cannot compute around {0}"),

  513.     /** TRAJECTORY_NOT_CROSSING_XZPLANE. */
  514.     TRAJECTORY_NOT_CROSSING_XZPLANE("The trajectory does not cross XZ Plane, it will not result in a Halo Orbit"),

  515.     /** MULTIPLE_SHOOTING_UNDERCONSTRAINED. */
  516.     MULTIPLE_SHOOTING_UNDERCONSTRAINED("The multiple shooting problem is underconstrained : {0} free variables, {1} constraints"),

  517.     /** INVALID_MEASUREMENT_TYPES_FOR_COMBINATION_OF_MEASUREMENTS. */
  518.     INVALID_MEASUREMENT_TYPES_FOR_COMBINATION_OF_MEASUREMENTS("invalid measurement types {0} and {1} for the combination of measurements {2}"),

  519.     /** INCOMPATIBLE_FREQUENCIES_FOR_COMBINATION_OF_MEASUREMENTS. */
  520.     INCOMPATIBLE_FREQUENCIES_FOR_COMBINATION_OF_MEASUREMENTS("frequencies {0} and {1} are incompatibles for the {2} combination"),

  521.     /** NON_CHRONOLOGICAL_DATES_FOR_OBSERVATIONS. */
  522.     NON_CHRONOLOGICAL_DATES_FOR_OBSERVATIONS("observations are not in chronological order: {0} is {2,number,0.0##############E0} s after {1}"),

  523.     /** INCONSISTENT_SAMPLING_DATE. */
  524.     INCONSISTENT_SAMPLING_DATE("inconsistent sampling date: expected {0} but got {1}"),

  525.     /** EXCEPTIONAL_DATA_CONTEXT. */
  526.     EXCEPTIONAL_DATA_CONTEXT("Use of the ExceptionalDataContext detected. This is typically used to detect developer errors."),

  527.     /** NON_DIFFERENT_DATES_FOR_OBSERVATIONS. */
  528.     NON_DIFFERENT_DATES_FOR_OBSERVATIONS("Observations must have different dates: {0}, {1} ({3,number,0.0##############E0} s from first observation), and {2} ({4,number,0.0##############E0} s from first observation, {5,number,0.0##############E0} s from second observation)"),

  529.     /** NON_COPLANAR_POINTS. */
  530.     NON_COPLANAR_POINTS("observations are not in the same plane"),

  531.     /** INVALID_PARAMETER_RANGE. */
  532.     INVALID_PARAMETER_RANGE("invalid parameter {0}: {1} not in range [{2}, {3}]"),

  533.     /** PARAMETER_NOT_SET. */
  534.     PARAMETER_NOT_SET("The parameter {0} should not be null in {1}"),

  535.     /** FUNCTION_NOT_IMPLEMENTED. */
  536.     FUNCTION_NOT_IMPLEMENTED("{0} is not implemented"),

  537.     /** INVALID_TYPE_FOR_FUNCTION. */
  538.     INVALID_TYPE_FOR_FUNCTION("Impossible to execute {0} with {1} set to {2}"),

  539.     /** NO_DATA_IN_FILE. */
  540.     NO_DATA_IN_FILE("No data could be parsed from file {0}"),

  541.     /** CPF_UNEXPECTED_END_OF_FILE. */
  542.     CPF_UNEXPECTED_END_OF_FILE("Unexpected end of CPF file (after line {0})"),

  543.     /** UNEXPECTED_FORMAT_FOR_ILRS_FILE. */
  544.     UNEXPECTED_FORMAT_FOR_ILRS_FILE("Unexpected file format. Must be {0} but is {1}"),

  545.     /** CRD_UNEXPECTED_END_OF_FILE. */
  546.     CRD_UNEXPECTED_END_OF_FILE("Unexpected end of CRD file (after line {0})"),

  547.     /** INVALID_RANGE_INDICATOR_IN_CRD_FILE. */
  548.     INVALID_RANGE_INDICATOR_IN_CRD_FILE("Invalid range indicator {0} in CRD file header"),

  549.     /** END_OF_ENCODED_MESSAGE. */
  550.     END_OF_ENCODED_MESSAGE("end of encoded message reached"),

  551.     /** TOO_LARGE_DATA_TYPE. */
  552.     TOO_LARGE_DATA_TYPE("too large data type ({0} bits)"),

  553.     /** UNKNOWN_ENCODED_MESSAGE_NUMBER. */
  554.     UNKNOWN_ENCODED_MESSAGE_NUMBER("unknown encoded message number {0}"),

  555.     /** UNKNOWN_AUTHENTICATION_METHOD. */
  556.     UNKNOWN_AUTHENTICATION_METHOD("unknown authentication method: {0}"),

  557.     /** UNKNOWN_CARRIER_PHASE_CODE. */
  558.     UNKNOWN_CARRIER_PHASE_CODE("unknown carrier phase code: {0}"),

  559.     /** UNKNOWN_DATA_FORMAT. */
  560.     UNKNOWN_DATA_FORMAT("unknown data format: {0}"),

  561.     /** UNKNOWN_NAVIGATION_SYSTEM. */
  562.     UNKNOWN_NAVIGATION_SYSTEM("unknown navigation system: {0}"),

  563.     /** STREAM_REQUIRES_NMEA_FIX. */
  564.     STREAM_REQUIRES_NMEA_FIX("data stream {0} requires a NMEA fix data"),

  565.     /** FAILED_AUTHENTICATION. */
  566.     FAILED_AUTHENTICATION("failed authentication for mountpoint {0}"),

  567.     /** CONNECTION_ERROR. */
  568.     CONNECTION_ERROR("error connecting to {0}: {1}"),

  569.     /** UNEXPECTED_CONTENT_TYPE. */
  570.     UNEXPECTED_CONTENT_TYPE("unexpected content type {0}"),

  571.     /** CANNOT_PARSE_GNSS_DATA. */
  572.     CANNOT_PARSE_GNSS_DATA("cannot parse GNSS data from {0}"),

  573.     /** INVALID_GNSS_DATA. */
  574.     INVALID_GNSS_DATA("invalid GNSS data: {0}"),

  575.     /** GNSS_PARITY_ERROR. */
  576.     GNSS_PARITY_ERROR("GNSS parity error on word {0}"),

  577.     /** UNKNOWN_HOST. */
  578.     UNKNOWN_HOST("unknown host {0}"),

  579.     /** SOURCETABLE_PARSE_ERROR. */
  580.     SOURCETABLE_PARSE_ERROR("error parsing sourcetable line {0} from {1}: {2}"),

  581.     /** CANNOT_PARSE_SOURCETABLE. */
  582.     CANNOT_PARSE_SOURCETABLE("cannot parse sourcetable from {0}"),

  583.     /** MOUNPOINT_ALREADY_CONNECTED. */
  584.     MOUNPOINT_ALREADY_CONNECTED("mount point {0} is already connected"),

  585.     /** MISSING_HEADER. */
  586.     MISSING_HEADER("missing header from {0}: {1}"),

  587.     /** NOT_VALID_INTERNATIONAL_DESIGNATOR. */
  588.     NOT_VALID_INTERNATIONAL_DESIGNATOR("{0} is not a valid international designator"),

  589.     /** UNINITIALIZED_VALUE_FOR_KEY. */
  590.     UNINITIALIZED_VALUE_FOR_KEY("value for key {0} has not been initialized"),

  591.     /** UNKNOWN_UNIT. */
  592.     UNKNOWN_UNIT("unknown unit {0}"),

  593.     /** INCOMPATIBLE_UNITS. */
  594.     INCOMPATIBLE_UNITS("units {0} and {1} are not compatible"),

  595.     /** MISSING_VELOCITY. */
  596.     MISSING_VELOCITY("missing velocity data"),

  597.     /** ATTEMPT_TO_GENERATE_MALFORMED_FILE. */
  598.     ATTEMPT_TO_GENERATE_MALFORMED_FILE("attempt to generate file {0} with a formatting error"),

  599.     /** FIND_ROOT. */
  600.     FIND_ROOT("{0} failed to find root between {1} (g={2,number,0.0##############E0}) and {3} (g={4,number,0.0##############E0})\nLast iteration at {5} (g={6,number,0.0##############E0})"),

  601.     /** MISSING_STATION_DATA_FOR_EPOCH. */
  602.     MISSING_STATION_DATA_FOR_EPOCH("missing station data for epoch {0}"),

  603.     /** INCONSISTENT_SELECTION. */
  604.     INCONSISTENT_SELECTION("inconsistent parameters selection between pairs {0}/{1} and {2}/{3}"),

  605.     /** NO_UNSCENTED_TRANSFORM_CONFIGURED. */
  606.     NO_UNSCENTED_TRANSFORM_CONFIGURED("no unscented transform configured"),

  607.     /** NOT_STRICTLY_POSITIVE. */
  608.     NOT_STRICTLY_POSITIVE("value is not strictly positive: {0}"),

  609.     /** NOT_POSITIVE. */
  610.     NOT_POSITIVE("value is not positive: {0}"),

  611.     /** UNSUPPORTED_TRANSFORM. */
  612.     UNSUPPORTED_TRANSFORM("transform from {0} to {1} is not implemented"),

  613.     /** WRONG_ORBIT_PARAMETERS_TYPE. */
  614.     WRONG_ORBIT_PARAMETERS_TYPE("orbital parameters type: {0} is different from expected orbital type : {1}"),

  615.     /** WRONG_NB_COMPONENTS. */
  616.     WRONG_NB_COMPONENTS("{0} expects {1} elements, got {2}"),

  617.     /** CANNOT_CHANGE_COVARIANCE_TYPE_IF_DEFINED_IN_LOF. */
  618.     CANNOT_CHANGE_COVARIANCE_TYPE_IF_DEFINED_IN_LOF("cannot change covariance type if defined in a local orbital frame"),

  619.     /** CANNOT_CHANGE_COVARIANCE_TYPE_IF_DEFINED_IN_NON_INERTIAL_FRAME. */
  620.     CANNOT_CHANGE_COVARIANCE_TYPE_IF_DEFINED_IN_NON_INERTIAL_FRAME("cannot change covariance type if defined in a non pseudo-inertial reference frame"),

  621.     /** DIFFERENT_TIME_OF_CLOSEST_APPROACH. */
  622.     DIFFERENT_TIME_OF_CLOSEST_APPROACH("primary collision object time of closest approach is different from the secondary collision object's one"),

  623.     /** DATES_MISMATCH. */
  624.     DATES_MISMATCH("first date {0} does not match second date {1}"),

  625.     /** WRONG ELEMENTS FOR AVERAGING THEORY. */
  626.     WRONG_ELEMENTS_FOR_AVERAGING_THEORY("unexpected type of orbital elements for required averaging theory"),

  627.     /** ORBITS_MUS_MISMATCH. */
  628.     ORBITS_MUS_MISMATCH("first orbit mu {0} does not match second orbit mu {1}"),

  629.     /** DIFFERENT_STATE_DEFINITION. */
  630.     DIFFERENT_STATE_DEFINITION("one state is defined using an orbit while the other is defined using an absolute position-velocity-acceleration"),

  631.     /** STATE_AND_COVARIANCE_DATES_MISMATCH. */
  632.     STATE_AND_COVARIANCE_DATES_MISMATCH("state date {0} does not match its covariance date {1}"),

  633.     /** NO_INTERPOLATOR_FOR_STATE_DEFINITION. */
  634.     NO_INTERPOLATOR_FOR_STATE_DEFINITION("creating a spacecraft state interpolator requires at least one orbit interpolator or an absolute position-velocity-acceleration interpolator"),

  635.     /** WRONG_INTERPOLATOR_DEFINED_FOR_STATE_INTERPOLATION. */
  636.     WRONG_INTERPOLATOR_DEFINED_FOR_STATE_INTERPOLATION("wrong interpolator defined for this spacecraft state type (orbit or absolute PV)"),

  637.     /** MULTIPLE_INTERPOLATOR_USED. */
  638.     MULTIPLE_INTERPOLATOR_USED("multiple interpolators are used so they may use different numbers of interpolation points"),

  639.     /** HEADER_NOT_WRITTEN. */
  640.     HEADER_NOT_WRITTEN("header for file {0} has not been written yet"),

  641.     /** HEADER_ALREADY_WRITTEN. */
  642.     HEADER_ALREADY_WRITTEN("header for file {0} has already been written"),

  643.     /** CANNOT_START_PROPAGATION_FROM_INFINITY. */
  644.     CANNOT_START_PROPAGATION_FROM_INFINITY("Cannot start the propagation from an infinitely far date"),

  645.     /** TOO_LONG_TIME_GAP_BETWEEN_DATA_POINTS. */
  646.     TOO_LONG_TIME_GAP_BETWEEN_DATA_POINTS("Too long time gap between data points: {0} s"),

  647.     /** INVALID_SATELLITE_ID. */
  648.     INVALID_SATELLITE_ID("invalid satellite id {0}"),

  649.     /** WRONG_EOP_INTERPOLATION_DEGREE. */
  650.     WRONG_EOP_INTERPOLATION_DEGREE("EOP interpolation degree must be of the form 4k-1, got {0}"),

  651.     /** WALKER_INCONSISTENT_PLANES. */
  652.     WALKER_INCONSISTENT_PLANES("number of planes {0} is inconsistent with number of satellites {1} in Walker constellation"),

  653.     /** INFINITE_NRMSISE00_DENSITY. */
  654.     INFINITE_NRLMSISE00_DENSITY("Infinite value appears during computation of atmospheric density in NRLMSISE00 model"),

  655.     /** FIELD_TOO_LONG. */
  656.     FIELD_TOO_LONG("field \"{0}\" is too long, maximum length is {1} characters"),

  657.     /** PROPAGATOR_BUILDER_NOT_CLONEABLE. */
  658.     PROPAGATOR_BUILDER_NOT_CLONEABLE("Propagator builder cannot be cloned"),

  659.     /** WRONG_PROCESS_COVARIANCE_DIMENSION. */
  660.     WRONG_PROCESS_COVARIANCE_DIMENSION("Process covariance expecting dimension {0}, got {1}"),

  661.     /** WRONG_MEASUREMENT_COVARIANCE_DIMENSION. */
  662.     WRONG_MEASUREMENT_COVARIANCE_DIMENSION("Measurement covariance expecting dimension {0}, got {1}"),

  663.     /** CANNOT_PARSE_DATA. */
  664.     CANNOT_PARSE_DATA("cannot parse data {0}"),

  665.     /** COVARIANCE_MUST_BE_SQUARE. */
  666.     COVARIANCE_MUST_BE_SQUARE("covariance matrix is not square"),

  667.     /** INCONSISTENT_STATE_DIMENSIONS. */
  668.     INCONSISTENT_STATE_DIMENSIONS("state vector (dimension {0}) and covariance (dimension {1}) are inconsistent");


  669.     /** Base name of the resource bundle in classpath. */
  670.     private static final String RESOURCE_BASE_NAME = "assets/org/orekit/localization/OrekitMessages";

  671.     /** Source English format. */
  672.     private final String sourceFormat;

  673.     /**
  674.      * Simple constructor.
  675.      * @param sourceFormat source English format to use when no localized version is
  676.      *                     available
  677.      */
  678.     OrekitMessages(final String sourceFormat) {
  679.         this.sourceFormat = sourceFormat;
  680.     }

  681.     /** {@inheritDoc} */
  682.     public String getSourceString() {
  683.         return sourceFormat;
  684.     }

  685.     /** {@inheritDoc} */
  686.     public String getLocalizedString(final Locale locale) {
  687.         return getLocalizedString(RESOURCE_BASE_NAME, name(), locale);
  688.     }

  689. }