1 /* Copyright 2002-2021 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
18 package org.orekit.files.ccsds.ndm.odm.ocm;
19
20 import java.util.List;
21
22 import org.orekit.data.DataContext;
23 import org.orekit.files.ccsds.definitions.TimeSystem;
24 import org.orekit.files.ccsds.ndm.odm.OdmMetadata;
25 import org.orekit.time.AbsoluteDate;
26
27 /** Meta-data for {@link OcmMetadata Orbit Comprehensive Message}.
28 * @since 11.0
29 */
30 public class OcmMetadata extends OdmMetadata {
31
32 /** Default interpolation method for EOP and Space Weather data. */
33 private static final String DEFAULT_INTERPOLATION_METHOD = "LINEAR";
34
35 /** Classification for this message. */
36 private String classification;
37
38 /** International designator for the object as assigned by the UN Committee
39 * on Space Research (COSPAR) and the US National Space Science Data Center (NSSDC). */
40 private String internationalDesignator;
41
42 /** Specification of satellite catalog source. */
43 private String catalogName;
44
45 /** Unique satellite identification designator for the object. */
46 private String objectDesignator;
47
48 /** Alternate names for this space object. */
49 private List<String> alternateNames;
50
51 /** Programmatic Point Of Contact at originator. */
52 private String originatorPOC;
53
54 /** Position of Programmatic Point Of Contact at originator. */
55 private String originatorPosition;
56
57 /** Phone number of Programmatic Point Of Contact at originator. */
58 private String originatorPhone;
59
60 /** Address of Programmatic Point Of Contact at originator. */
61 private String originatorAddress;
62
63 /** Creating agency or operator. */
64 private String techOrg;
65
66 /** Technical Point Of Contact at originator. */
67 private String techPOC;
68
69 /** Position of Technical Point Of Contact at originator. */
70 private String techPosition;
71
72 /** Phone number of Technical Point Of Contact at originator. */
73 private String techPhone;
74
75 /** Address of Technical Point Of Contact at originator. */
76 private String techAddress;
77
78 /** Unique ID identifying previous message from a given originator. */
79 private String previousMessageID;
80
81 /** Unique ID identifying next message from a given originator. */
82 private String nextMessageID;
83
84 /** Unique identifier of Attitude Data Message linkrd to this Orbit Data Message. */
85 private String admMessageLink;
86
87 /** Unique identifier of Conjunction Data Message linkrd to this Orbit Data Message. */
88 private String cdmMessageLink;
89
90 /** Unique identifier of Pointing Request Message linkrd to this Orbit Data Message. */
91 private String prmMessageLink;
92
93 /** Unique identifier of Reentry Data Messages linked to this Orbit Data Message. */
94 private String rdmMessageLink;
95
96 /** Unique identifier of Tracking Data Messages linked to this Orbit Data Message. */
97 private String tdmMessageLink;
98
99 /** Operator of the space object. */
100 private String operator;
101
102 /** Owner of the space object. */
103 private String owner;
104
105 /** Name of the country where the space object owner is based. */
106 private String country;
107
108 /** Name of the constellation this space object belongs to. */
109 private String constellation;
110
111 /** Type of object. */
112 private ObjectType objectType;
113
114 /** Epoch to which <em>all</em> relative times are referenced in data blocks;
115 * unless overridden by block-specific {@code EPOCH_TZERO} values. */
116 private AbsoluteDate epochT0;
117
118 /** Operational status. */
119 private OpsStatus opsStatus;
120
121 /** Orbit catgory. */
122 private OrbitCategory orbitCategory;
123
124 /** List of elements of information data blocks included in this message. */
125 private List<String> ocmDataElements;
126
127 /** Spacecraft clock count at {@link #getEpochT0()}. */
128 private double sclkOffsetAtEpoch;
129
130 /** Number of spacecraft clock seconds occurring during one SI second. */
131 private double sclkSecPerSISec;
132
133 /** Creation date of previous message from a given originator. */
134 private AbsoluteDate previousMessageEpoch;
135
136 /** Creation date of next message from a given originator. */
137 private AbsoluteDate nextMessageEpoch;
138
139 /** Time of the earliest data contained in the OCM. */
140 private AbsoluteDate startTime;
141
142 /** Time of the latest data contained in the OCM. */
143 private AbsoluteDate stopTime;
144
145 /** Span of time that the OCM covers. */
146 private double timeSpan;
147
148 /** Difference (TAI – UTC) in seconds at epoch {@link #epochT0}. */
149 private double taimutcT0;
150
151 /** Difference (UT1 – UTC) in seconds at epoch {@link #epochT0}. */
152 private double ut1mutcT0;
153
154 /** Source and version of Earth Orientation Parameters. */
155 private String eopSource;
156
157 /** Interpolation method for Earth Orientation Parameters. */
158 private String interpMethodEOP;
159
160 /** Source and version of celestial body (e.g. Sun/Earth/Planetary). */
161 private String celestialSource;
162
163 /** Create a new meta-data.
164 * @param dataContext data context
165 */
166 OcmMetadata(final DataContext dataContext) {
167
168 // set up the few fields that have default values as per CCSDS standard
169 super(TimeSystem.UTC);
170 catalogName = "CSPOC";
171 sclkOffsetAtEpoch = 0.0;
172 sclkSecPerSISec = 1.0;
173 interpMethodEOP = DEFAULT_INTERPOLATION_METHOD;
174
175 }
176
177 /** {@inheritDoc} */
178 @Override
179 public void validate(final double version) {
180 // we don't call super.checkMandatoryEntries() because
181 // all of the parameters considered mandatory at ODM level
182 // for OPM, OMM and OEM are in fact optional in OCM
183 // only EPOCH_TZERO, which is specific to OCM, is mandatory
184 checkNotNull(epochT0, OcmMetadataKey.EPOCH_TZERO);
185 }
186
187 /** Get the message classification.
188 * @return message classification.
189 */
190 public String getClassification() {
191 return classification;
192 }
193
194 /** Set the message classification.
195 * @param classification message classification
196 */
197 public void setClassification(final String classification) {
198 refuseFurtherComments();
199 this.classification = classification;
200 }
201
202 /** Get the international designator for the object.
203 * @return international designator for the object
204 */
205 public String getInternationalDesignator() {
206 return internationalDesignator;
207 }
208
209 /** Set the international designator for the object.
210 * @param internationalDesignator international designator for the object
211 */
212 public void setInternationalDesignator(final String internationalDesignator) {
213 refuseFurtherComments();
214 this.internationalDesignator = internationalDesignator;
215 }
216
217 /** Get the specification of satellite catalog source.
218 * @return specification of satellite catalog source
219 */
220 public String getCatalogName() {
221 return catalogName;
222 }
223
224 /** Set the specification of satellite catalog source.
225 * @param catalogName specification of satellite catalog source
226 */
227 public void setCatalogName(final String catalogName) {
228 refuseFurtherComments();
229 this.catalogName = catalogName;
230 }
231
232 /** Get the unique satellite identification designator for the object.
233 * @return unique satellite identification designator for the object.
234 */
235 public String getObjectDesignator() {
236 return objectDesignator;
237 }
238
239 /** Set the unique satellite identification designator for the object.
240 * @param objectDesignator unique satellite identification designator for the object
241 */
242 public void setObjectDesignator(final String objectDesignator) {
243 refuseFurtherComments();
244 this.objectDesignator = objectDesignator;
245 }
246
247 /** Get the alternate names for this space object.
248 * @return alternate names
249 */
250 public List<String> getAlternateNames() {
251 return alternateNames;
252 }
253
254 /** Set the alternate names for this space object.
255 * @param alternateNames alternate names
256 */
257 public void setAlternateNames(final List<String> alternateNames) {
258 refuseFurtherComments();
259 this.alternateNames = alternateNames;
260 }
261
262 /** Get the programmatic Point Of Contact at originator.
263 * @return programmatic Point Of Contact at originator
264 */
265 public String getOriginatorPOC() {
266 return originatorPOC;
267 }
268
269 /** Set the programmatic Point Of Contact at originator.
270 * @param originatorPOC programmatic Point Of Contact at originator
271 */
272 public void setOriginatorPOC(final String originatorPOC) {
273 refuseFurtherComments();
274 this.originatorPOC = originatorPOC;
275 }
276
277 /** Get the position of Programmatic Point Of Contact at originator.
278 * @return position of Programmatic Point Of Contact at originator
279 */
280 public String getOriginatorPosition() {
281 return originatorPosition;
282 }
283
284 /** Set the position of Programmatic Point Of Contact at originator.
285 * @param originatorPosition position of Programmatic Point Of Contact at originator
286 */
287 public void setOriginatorPosition(final String originatorPosition) {
288 refuseFurtherComments();
289 this.originatorPosition = originatorPosition;
290 }
291
292 /** Get the phone number of Programmatic Point Of Contact at originator.
293 * @return phone number of Programmatic Point Of Contact at originator
294 */
295 public String getOriginatorPhone() {
296 return originatorPhone;
297 }
298
299 /** GSet the phone number of Programmatic Point Of Contact at originator.
300 * @param originatorPhone phone number of Programmatic Point Of Contact at originator
301 */
302 public void setOriginatorPhone(final String originatorPhone) {
303 refuseFurtherComments();
304 this.originatorPhone = originatorPhone;
305 }
306
307 /** Get the address of Programmatic Point Of Contact at originator.
308 * @return address of Programmatic Point Of Contact at originator
309 */
310 public String getOriginatorAddress() {
311 return originatorAddress;
312 }
313
314 /** Set the address of Programmatic Point Of Contact at originator.
315 * @param originatorAddress address of Programmatic Point Of Contact at originator
316 */
317 public void setOriginatorAddress(final String originatorAddress) {
318 refuseFurtherComments();
319 this.originatorAddress = originatorAddress;
320 }
321
322 /** Get the creating agency or operator.
323 * @return creating agency or operator
324 */
325 public String getTechOrg() {
326 return techOrg;
327 }
328
329 /** Set the creating agency or operator.
330 * @param techOrg creating agency or operator
331 */
332 public void setTechOrg(final String techOrg) {
333 refuseFurtherComments();
334 this.techOrg = techOrg;
335 }
336
337 /** Get the Technical Point Of Contact at originator.
338 * @return Technical Point Of Contact at originator
339 */
340 public String getTechPOC() {
341 return techPOC;
342 }
343
344 /** Set the Technical Point Of Contact at originator.
345 * @param techPOC Technical Point Of Contact at originator
346 */
347 public void setTechPOC(final String techPOC) {
348 refuseFurtherComments();
349 this.techPOC = techPOC;
350 }
351
352 /** Get the position of Technical Point Of Contact at originator.
353 * @return position of Technical Point Of Contact at originator
354 */
355 public String getTechPosition() {
356 return techPosition;
357 }
358
359 /** Set the position of Technical Point Of Contact at originator.
360 * @param techPosition position of Technical Point Of Contact at originator
361 */
362 public void setTechPosition(final String techPosition) {
363 refuseFurtherComments();
364 this.techPosition = techPosition;
365 }
366
367 /** Get the phone number of Technical Point Of Contact at originator.
368 * @return phone number of Technical Point Of Contact at originator
369 */
370 public String getTechPhone() {
371 return techPhone;
372 }
373
374 /** Set the phone number of Technical Point Of Contact at originator.
375 * @param techPhone phone number of Technical Point Of Contact at originator
376 */
377 public void setTechPhone(final String techPhone) {
378 refuseFurtherComments();
379 this.techPhone = techPhone;
380 }
381
382 /** Get the address of Technical Point Of Contact at originator.
383 * @return address of Technical Point Of Contact at originator
384 */
385 public String getTechAddress() {
386 return techAddress;
387 }
388
389 /** Set the address of Technical Point Of Contact at originator.
390 * @param techAddress address of Technical Point Of Contact at originator
391 */
392 public void setTechAddress(final String techAddress) {
393 refuseFurtherComments();
394 this.techAddress = techAddress;
395 }
396
397 /** Get the unique ID identifying previous message from a given originator.
398 * @return unique ID identifying previous message from a given originator
399 */
400 public String getPreviousMessageID() {
401 return previousMessageID;
402 }
403
404 /** Set the unique ID identifying previous message from a given originator.
405 * @param previousMessageID unique ID identifying previous message from a given originator
406 */
407 public void setPreviousMessageID(final String previousMessageID) {
408 refuseFurtherComments();
409 this.previousMessageID = previousMessageID;
410 }
411
412 /** Get the unique ID identifying next message from a given originator.
413 * @return unique ID identifying next message from a given originator
414 */
415 public String getNextMessageID() {
416 return nextMessageID;
417 }
418
419 /** Set the unique ID identifying next message from a given originator.
420 * @param nextMessageID unique ID identifying next message from a given originator
421 */
422 public void setNextMessageID(final String nextMessageID) {
423 refuseFurtherComments();
424 this.nextMessageID = nextMessageID;
425 }
426
427 /** Get the Unique identifier of Attitude Data Message linked to this Orbit Data Message.
428 * @return Unique identifier of Attitude Data Message linked to this Orbit Data Message
429 */
430 public String getAdmMessageLink() {
431 return admMessageLink;
432 }
433
434 /** Set the Unique identifier of Attitude Data Message linked to this Orbit Data Message.
435 * @param admMessageLink Unique identifier of Attitude Data Message linked to this Orbit Data Message
436 */
437 public void setAdmMessageLink(final String admMessageLink) {
438 refuseFurtherComments();
439 this.admMessageLink = admMessageLink;
440 }
441
442 /** Get the Unique identifier of Conjunction Data Message linked to this Orbit Data Message.
443 * @return Unique identifier of Conjunction Data Message linked to this Orbit Data Message
444 */
445 public String getCdmMessageLink() {
446 return cdmMessageLink;
447 }
448
449 /** Set the Unique identifier of Conjunction Data Message linked to this Orbit Data Message.
450 * @param cdmMessageLink Unique identifier of Conjunction Data Message linked to this Orbit Data Message
451 */
452 public void setCdmMessageLink(final String cdmMessageLink) {
453 refuseFurtherComments();
454 this.cdmMessageLink = cdmMessageLink;
455 }
456
457 /** Get the Unique identifier of Pointing Request Message linked to this Orbit Data Message.
458 * @return Unique identifier of Pointing Request Message linked to this Orbit Data Message
459 */
460 public String getPrmMessageLink() {
461 return prmMessageLink;
462 }
463
464 /** Set the Unique identifier of Pointing Request Message linked to this Orbit Data Message.
465 * @param prmMessageLink Unique identifier of Pointing Request Message linked to this Orbit Data Message
466 */
467 public void setPrmMessageLink(final String prmMessageLink) {
468 refuseFurtherComments();
469 this.prmMessageLink = prmMessageLink;
470 }
471
472 /** Get the Unique identifier of Reentry Data Message linked to this Orbit Data Message.
473 * @return Unique identifier of Reentry Data Message linked to this Orbit Data Message
474 */
475 public String getRdmMessageLink() {
476 return rdmMessageLink;
477 }
478
479 /** Set the Unique identifier of Reentry Data Message linked to this Orbit Data Message.
480 * @param rdmMessageLink Unique identifier of Reentry Data Message linked to this Orbit Data Message
481 */
482 public void setRdmMessageLink(final String rdmMessageLink) {
483 refuseFurtherComments();
484 this.rdmMessageLink = rdmMessageLink;
485 }
486
487 /** Get the Unique identifier of Tracking Data Message linked to this Orbit Data Message.
488 * @return Unique identifier of Tracking Data Message linked to this Orbit Data Message
489 */
490 public String getTdmMessageLink() {
491 return tdmMessageLink;
492 }
493
494 /** Set the Unique identifier of Tracking Data Message linked to this Orbit Data Message.
495 * @param tdmMessageLink Unique identifier of Tracking Data Message linked to this Orbit Data Message
496 */
497 public void setTdmMessageLink(final String tdmMessageLink) {
498 refuseFurtherComments();
499 this.tdmMessageLink = tdmMessageLink;
500 }
501
502 /** Get the operator of the space object.
503 * @return operator of the space object
504 */
505 public String getOperator() {
506 return operator;
507 }
508
509 /** Set the operator of the space object.
510 * @param operator operator of the space object
511 */
512 public void setOperator(final String operator) {
513 refuseFurtherComments();
514 this.operator = operator;
515 }
516
517 /** Get the owner of the space object.
518 * @return owner of the space object
519 */
520 public String getOwner() {
521 return owner;
522 }
523
524 /** Set the owner of the space object.
525 * @param owner owner of the space object
526 */
527 public void setOwner(final String owner) {
528 refuseFurtherComments();
529 this.owner = owner;
530 }
531
532 /** Get the name of the country where the space object owner is based.
533 * @return name of the country where the space object owner is based
534 */
535 public String getCountry() {
536 return country;
537 }
538
539 /** Set the name of the country where the space object owner is based.
540 * @param country name of the country where the space object owner is based
541 */
542 public void setCountry(final String country) {
543 refuseFurtherComments();
544 this.country = country;
545 }
546
547 /** Get the name of the constellation this space object belongs to.
548 * @return name of the constellation this space object belongs to
549 */
550 public String getConstellation() {
551 return constellation;
552 }
553
554 /** Set the name of the constellation this space object belongs to.
555 * @param constellation name of the constellation this space object belongs to
556 */
557 public void setConstellation(final String constellation) {
558 refuseFurtherComments();
559 this.constellation = constellation;
560 }
561
562 /** Get the type of object.
563 * @return type of object
564 */
565 public ObjectType getObjectType() {
566 return objectType;
567 }
568
569 /** Set the type of object.
570 * @param objectType type of object
571 */
572 public void setObjectType(final ObjectType objectType) {
573 refuseFurtherComments();
574 this.objectType = objectType;
575 }
576
577 /** Get the epoch to which <em>all</em> relative times are referenced in data blocks.
578 * @return epoch to which <em>all</em> relative times are referenced in data blocks
579 */
580 public AbsoluteDate getEpochT0() {
581 return epochT0;
582 }
583
584 /** Set the epoch to which <em>all</em> relative times are referenced in data blocks.
585 * @param epochT0 epoch to which <em>all</em> relative times are referenced in data blocks
586 */
587 public void setEpochT0(final AbsoluteDate epochT0) {
588 refuseFurtherComments();
589 this.epochT0 = epochT0;
590 }
591
592 /** Get the operational status.
593 * @return operational status
594 */
595 public OpsStatus getOpsStatus() {
596 return opsStatus;
597 }
598
599 /** Set the operational status.
600 * @param opsStatus operational status
601 */
602 public void setOpsStatus(final OpsStatus opsStatus) {
603 refuseFurtherComments();
604 this.opsStatus = opsStatus;
605 }
606
607 /** Get the orbit category.
608 * @return orbit category
609 */
610 public OrbitCategory getOrbitCategory() {
611 return orbitCategory;
612 }
613
614 /** Set the orbit category.
615 * @param orbitCategory orbit category
616 */
617 public void setOrbitCategory(final OrbitCategory orbitCategory) {
618 refuseFurtherComments();
619 this.orbitCategory = orbitCategory;
620 }
621
622 /** Get the list of elements of information data blocks included in this message.
623 * @return list of elements of information data blocks included in this message
624 */
625 public List<String> getOcmDataElements() {
626 return ocmDataElements;
627 }
628
629 /** Set the list of elements of information data blocks included in this message.
630 * @param ocmDataElements list of elements of information data blocks included in this message
631 */
632 public void setOcmDataElements(final List<String> ocmDataElements) {
633 refuseFurtherComments();
634 this.ocmDataElements = ocmDataElements;
635 }
636
637 /** Get the spacecraft clock count at {@link #getEpochT0()}.
638 * @return spacecraft clock count at {@link #getEpochT0()}
639 */
640 public double getSclkOffsetAtEpoch() {
641 return sclkOffsetAtEpoch;
642 }
643
644 /** Set the spacecraft clock count at {@link #getEpochT0()}.
645 * @param sclkOffsetAtEpoch spacecraft clock count at {@link #getEpochT0()}
646 */
647 public void setSclkOffsetAtEpoch(final double sclkOffsetAtEpoch) {
648 refuseFurtherComments();
649 this.sclkOffsetAtEpoch = sclkOffsetAtEpoch;
650 }
651
652 /** Get the number of spacecraft clock seconds occurring during one SI second.
653 * @return number of spacecraft clock seconds occurring during one SI second
654 */
655 public double getSclkSecPerSISec() {
656 return sclkSecPerSISec;
657 }
658
659 /** Set the number of spacecraft clock seconds occurring during one SI second.
660 * @param secClockPerSISec number of spacecraft clock seconds occurring during one SI second
661 */
662 public void setSclkSecPerSISec(final double secClockPerSISec) {
663 refuseFurtherComments();
664 this.sclkSecPerSISec = secClockPerSISec;
665 }
666
667 /** Get the creation date of previous message from a given originator.
668 * @return creation date of previous message from a given originator
669 */
670 public AbsoluteDate getPreviousMessageEpoch() {
671 return previousMessageEpoch;
672 }
673
674 /** Set the creation date of previous message from a given originator.
675 * @param previousMessageEpoch creation date of previous message from a given originator
676 */
677 public void setPreviousMessageEpoch(final AbsoluteDate previousMessageEpoch) {
678 refuseFurtherComments();
679 this.previousMessageEpoch = previousMessageEpoch;
680 }
681
682 /** Get the creation date of next message from a given originator.
683 * @return creation date of next message from a given originator
684 */
685 public AbsoluteDate getNextMessageEpoch() {
686 return nextMessageEpoch;
687 }
688
689 /** Set the creation date of next message from a given originator.
690 * @param nextMessageEpoch creation date of next message from a given originator
691 */
692 public void setNextMessageEpoch(final AbsoluteDate nextMessageEpoch) {
693 refuseFurtherComments();
694 this.nextMessageEpoch = nextMessageEpoch;
695 }
696
697 /** Get the time of the earliest data contained in the OCM.
698 * @return time of the earliest data contained in the OCM
699 */
700 public AbsoluteDate getStartTime() {
701 return startTime;
702 }
703
704 /** Set the time of the earliest data contained in the OCM.
705 * @param startTime time of the earliest data contained in the OCM
706 */
707 public void setStartTime(final AbsoluteDate startTime) {
708 refuseFurtherComments();
709 this.startTime = startTime;
710 }
711
712 /** Get the time of the latest data contained in the OCM.
713 * @return time of the latest data contained in the OCM
714 */
715 public AbsoluteDate getStopTime() {
716 return stopTime;
717 }
718
719 /** Set the time of the latest data contained in the OCM.
720 * @param stopTime time of the latest data contained in the OCM
721 */
722 public void setStopTime(final AbsoluteDate stopTime) {
723 refuseFurtherComments();
724 this.stopTime = stopTime;
725 }
726
727 /** Get the span of time in seconds that the OCM covers.
728 * @return span of time in seconds that the OCM covers
729 */
730 public double getTimeSpan() {
731 return timeSpan;
732 }
733
734 /** Set the span of time in seconds that the OCM covers.
735 * @param timeSpan span of time in seconds that the OCM covers
736 */
737 public void setTimeSpan(final double timeSpan) {
738 refuseFurtherComments();
739 this.timeSpan = timeSpan;
740 }
741
742 /** Get the difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}.
743 * @return difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}
744 */
745 public double getTaimutcT0() {
746 return taimutcT0;
747 }
748
749 /** Set the difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}.
750 * @param taimutcT0 difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}
751 */
752 public void setTaimutcT0(final double taimutcT0) {
753 refuseFurtherComments();
754 this.taimutcT0 = taimutcT0;
755 }
756
757 /** Get the difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}.
758 * @return difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}
759 */
760 public double getUt1mutcT0() {
761 return ut1mutcT0;
762 }
763
764 /** Set the difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}.
765 * @param ut1mutcT0 difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}
766 */
767 public void setUt1mutcT0(final double ut1mutcT0) {
768 refuseFurtherComments();
769 this.ut1mutcT0 = ut1mutcT0;
770 }
771
772 /** Get the source and version of Earth Orientation Parameters.
773 * @return source and version of Earth Orientation Parameters
774 */
775 public String getEopSource() {
776 return eopSource;
777 }
778
779 /** Set the source and version of Earth Orientation Parameters.
780 * @param eopSource source and version of Earth Orientation Parameters
781 */
782 public void setEopSource(final String eopSource) {
783 refuseFurtherComments();
784 this.eopSource = eopSource;
785 }
786
787 /** Get the interpolation method for Earth Orientation Parameters.
788 * @return interpolation method for Earth Orientation Parameters
789 */
790 public String getInterpMethodEOP() {
791 return interpMethodEOP;
792 }
793
794 /** Set the interpolation method for Earth Orientation Parameters.
795 * @param interpMethodEOP interpolation method for Earth Orientation Parameters
796 */
797 public void setInterpMethodEOP(final String interpMethodEOP) {
798 refuseFurtherComments();
799 this.interpMethodEOP = interpMethodEOP;
800 }
801
802 /** Get the source and version of celestial body (e.g. Sun/Earth/Planetary).
803 * @return source and version of celestial body (e.g. Sun/Earth/Planetary)
804 */
805 public String getCelestialSource() {
806 return celestialSource;
807 }
808
809 /** Set the source and version of celestial body (e.g. Sun/Earth/Planetary).
810 * @param celestialSource source and version of celestial body (e.g. Sun/Earth/Planetary)
811 */
812 public void setCelestialSource(final String celestialSource) {
813 refuseFurtherComments();
814 this.celestialSource = celestialSource;
815 }
816
817 }