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.models.earth.atmosphere; 18 19 import java.io.Serializable; 20 21 import org.orekit.time.AbsoluteDate; 22 23 24 /** Interface for solar activity and magnetic activity data. 25 * <p>Those data are needed by the JB2008 atmosphere model.</p> 26 * @author Pascal Parraud 27 */ 28 public interface JB2008InputParameters extends Serializable { 29 30 /** Gets the available data range minimum date. 31 * @return the minimum date. 32 */ 33 AbsoluteDate getMinDate(); 34 35 /** Gets the available data range maximum date. 36 * @return the maximum date. 37 */ 38 AbsoluteDate getMaxDate(); 39 40 /** Get the value of the instantaneous solar flux index 41 * (1e<sup>-22</sup>*Watt/(m²*Hertz)). 42 * <p>Tabular time 1.0 day earlier.</p> 43 * @param date the current date 44 * @return the instantaneous F10.7 index 45 */ 46 double getF10(AbsoluteDate date); 47 48 /** Get the value of the mean solar flux. 49 * Averaged 81-day centered F10.7 B index on the input time. 50 * <p>Tabular time 1.0 day earlier.</p> 51 * @param date the current date 52 * @return the mean solar flux F10.7B index 53 */ 54 double getF10B(AbsoluteDate date); 55 56 /** Get the EUV index (26-34 nm) scaled to F10. 57 * <p>Tabular time 1.0 day earlier.</p> 58 * @param date the current date 59 * @return the the EUV S10 index 60 */ 61 double getS10(AbsoluteDate date); 62 63 /** Get the EUV 81-day averaged centered index. 64 * <p>Tabular time 1.0 day earlier.</p> 65 * @param date the current date 66 * @return the the mean EUV S10B index 67 */ 68 double getS10B(AbsoluteDate date); 69 70 /** Get the MG2 index scaled to F10. 71 * <p>Tabular time 2.0 days earlier.</p> 72 * @param date the current date 73 * @return the the MG2 index 74 */ 75 double getXM10(AbsoluteDate date); 76 77 /** Get the MG2 81-day average centered index. 78 * <p>Tabular time 2.0 days earlier.</p> 79 * @param date the current date 80 * @return the the mean MG2 index 81 */ 82 double getXM10B(AbsoluteDate date); 83 84 /** Get the Solar X-Ray & Lya index scaled to F10. 85 * <p>Tabular time 5.0 days earlier.</p> 86 * @param date the current date 87 * @return the Solar X-Ray & Lya index scaled to F10 88 */ 89 double getY10(AbsoluteDate date); 90 91 /** Get the Solar X-Ray & Lya 81-day ave. centered index. 92 * <p>Tabular time 5.0 days earlier.</p> 93 * @param date the current date 94 * @return the Solar X-Ray & Lya 81-day ave. centered index 95 */ 96 double getY10B(AbsoluteDate date); 97 98 /** Get the temperature change computed from Dst index. 99 * @param date the current date 100 * @return the temperature change computed from Dst index 101 */ 102 double getDSTDTC(AbsoluteDate date); 103 104 }