TDM parser fails on two CCSDS examples
I've noticed that the TDM parser fails to read two of the examples provided in the TDM standard. I'm testing this with the Python wrapper:
from org.orekit.data import DataSource
from org.orekit.files.ccsds.ndm import ParserBuilder
from org.orekit.files.ccsds.ndm.tdm import Tdm
data_source = DataSource(str("C:\\TMPDIR\\example_10.txt"))
parsed_file = Tdm.cast_(ParserBuilder().buildTdmParser().parseMessage(data_source))
Example 10 (page 86 on the standard)
org.orekit.errors.OrekitException: mot-clef inattendu à la ligne 25 du fichier CCSDS C:\TMPDIR\example_10.txt : TRANSMIT_FREQ_1 at org.orekit.files.ccsds.utils.parsing.ErrorState.processToken(ErrorState.java:55) at org.orekit.files.ccsds.utils.parsing.AbstractMessageParser.process(AbstractMessageParser.java:220) at org.orekit.files.ccsds.utils.lexical.KvnLexicalAnalyzer.accept(KvnLexicalAnalyzer.java:138) at org.orekit.files.ccsds.utils.parsing.AbstractMessageParser.parseMessage(AbstractMessageParser.java:156)
I'm not sure what's wrong here.
Example 17 (page 93 on the standard)
org.orekit.errors.OrekitException: mot-clef inattendu à la ligne 12 du fichier CCSDS C:\TMPDIR\example_17.txt : EPHEMERIS_NAME at org.orekit.files.ccsds.utils.parsing.ErrorState.processToken(ErrorState.java:55) at org.orekit.files.ccsds.utils.parsing.AbstractMessageParser.process(AbstractMessageParser.java:220) at org.orekit.files.ccsds.utils.lexical.KvnLexicalAnalyzer.accept(KvnLexicalAnalyzer.java:138) at org.orekit.files.ccsds.utils.parsing.AbstractMessageParser.parseMessage(AbstractMessageParser.java:156)
For this one, it seems (looking at the TdmMetadataKey code that Orekit expects numbered fields for EPHEMERIS_NAME (EPHEMERIS_NAME_1, etc.), which is consistent with the table on page 67, but not with the example or with the table on page 112. So it seems there is an inconsistency in the standard.