Class CssiSpaceWeatherData
- java.lang.Object
-
- org.orekit.data.AbstractSelfFeedingLoader
-
- org.orekit.models.earth.atmosphere.data.CssiSpaceWeatherData
-
- All Implemented Interfaces:
Serializable
,DTM2000InputParameters
,NRLMSISE00InputParameters
public class CssiSpaceWeatherData extends AbstractSelfFeedingLoader implements DTM2000InputParameters, NRLMSISE00InputParameters
This class provides three-hourly and daily solar activity data needed by atmospheric models: F107 solar flux, Ap and Kp indexes. TheDataLoader
implementation and the parsing is handled by the classCssiSpaceWeatherDataLoader
.The data are retrieved through space weather files offered by AGI/CSSI on the AGI FTP as well as on the CelesTrack website. These files are updated several times a day by using several sources mentioned in the Celestrak space weather data documentation.
- Since:
- 10.2
- Author:
- Clément Jonglez
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SUPPORTED_NAMES
Default regular expression for supported names that works with all officially published files.
-
Constructor Summary
Constructors Constructor Description CssiSpaceWeatherData(String supportedNames)
Simple constructor.CssiSpaceWeatherData(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
Constructor that allows specifying the source of the CSSI space weather file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
get24HoursKp(AbsoluteDate date)
Get the last 24H mean geomagnetic index.double[]
getAp(AbsoluteDate date)
Get the Ap geomagnetic indices.double
getAverageFlux(AbsoluteDate date)
Get the value of the 81 day average of F10.7 solar flux centered on current day.double
getDailyFlux(AbsoluteDate date)
Get the value of the daily F10.7 solar flux for previous day.double
getInstantFlux(AbsoluteDate date)
Get the value of the instantaneous solar flux.AbsoluteDate
getMaxDate()
Gets the available data range maximum date.double
getMeanFlux(AbsoluteDate date)
Get the value of the mean solar flux.AbsoluteDate
getMinDate()
Gets the available data range minimum date.String
getSupportedNames()
Get the supported names regular expression.double
getThreeHourlyKP(AbsoluteDate date)
Get the value of the 3 hours geomagnetic index.-
Methods inherited from class org.orekit.data.AbstractSelfFeedingLoader
feed, getDataProvidersManager, setSupportedNames
-
-
-
-
Field Detail
-
DEFAULT_SUPPORTED_NAMES
public static final String DEFAULT_SUPPORTED_NAMES
Default regular expression for supported names that works with all officially published files.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CssiSpaceWeatherData
@DefaultDataContext public CssiSpaceWeatherData(String supportedNames)
Simple constructor. This constructor uses the default data context.The original file names provided by AGI/CSSI are of the form: SpaceWeather-All-v1.2.txt (AGI's ftp) or SW-Last5Years.txt (CelesTrak's website). So a recommended regular expression for the supported names that works with all published files is:
DEFAULT_SUPPORTED_NAMES
.- Parameters:
supportedNames
- regular expression for supported AGI/CSSI space weather files names
-
CssiSpaceWeatherData
public CssiSpaceWeatherData(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
Constructor that allows specifying the source of the CSSI space weather file.- Parameters:
supportedNames
- regular expression for supported AGI/CSSI space weather files namesdataProvidersManager
- provides access to auxiliary data files.utc
- UTC time scale.
-
-
Method Detail
-
getMinDate
public AbsoluteDate getMinDate()
Gets the available data range minimum date.- Specified by:
getMinDate
in interfaceDTM2000InputParameters
- Specified by:
getMinDate
in interfaceNRLMSISE00InputParameters
- Returns:
- the minimum date.
-
getMaxDate
public AbsoluteDate getMaxDate()
Gets the available data range maximum date.- Specified by:
getMaxDate
in interfaceDTM2000InputParameters
- Specified by:
getMaxDate
in interfaceNRLMSISE00InputParameters
- Returns:
- the maximum date.
-
getInstantFlux
public double getInstantFlux(AbsoluteDate date)
Get the value of the instantaneous solar flux.- Specified by:
getInstantFlux
in interfaceDTM2000InputParameters
- Parameters:
date
- the current date- Returns:
- the instantaneous solar flux
-
getMeanFlux
public double getMeanFlux(AbsoluteDate date)
Get the value of the mean solar flux.- Specified by:
getMeanFlux
in interfaceDTM2000InputParameters
- Parameters:
date
- the current date- Returns:
- the mean solar flux
-
getThreeHourlyKP
public double getThreeHourlyKP(AbsoluteDate date)
Get the value of the 3 hours geomagnetic index. With a delay of 3 hours at pole to 6 hours at equator using: delay=6-abs(lat)*0.033 (lat in deg.)- Specified by:
getThreeHourlyKP
in interfaceDTM2000InputParameters
- Parameters:
date
- the current date- Returns:
- the 3H geomagnetic index
-
get24HoursKp
public double get24HoursKp(AbsoluteDate date)
Get the last 24H mean geomagnetic index.- Specified by:
get24HoursKp
in interfaceDTM2000InputParameters
- Parameters:
date
- the current date- Returns:
- the 24H geomagnetic index
-
getDailyFlux
public double getDailyFlux(AbsoluteDate date)
Get the value of the daily F10.7 solar flux for previous day.- Specified by:
getDailyFlux
in interfaceNRLMSISE00InputParameters
- Parameters:
date
- the current date- Returns:
- the daily F10.7 flux for previous day
-
getAverageFlux
public double getAverageFlux(AbsoluteDate date)
Get the value of the 81 day average of F10.7 solar flux centered on current day.- Specified by:
getAverageFlux
in interfaceNRLMSISE00InputParameters
- Parameters:
date
- the current date- Returns:
- the 81 day average of F10.7 solar flux centered on current day
-
getAp
public double[] getAp(AbsoluteDate date)
Get the Ap geomagnetic indices.Ap indices are provided as an array such as:
- 0 → daily Ap
- 1 → 3 hr Ap index for current time
- 2 → 3 hr Ap index for 3 hrs before current time
- 3 → 3 hr Ap index for 6 hrs before current time
- 4 → 3 hr Ap index for 9 hrs before current time
- 5 → Average of eight 3 hr Ap indices from 12 to 33 hrs prior to current time
- 6 → Average of eight 3 hr Ap indices from 36 to 57 hrs prior to current time
- Specified by:
getAp
in interfaceNRLMSISE00InputParameters
- Parameters:
date
- the current date- Returns:
- the array of Ap indices
-
getSupportedNames
public String getSupportedNames()
Description copied from class:AbstractSelfFeedingLoader
Get the supported names regular expression.- Overrides:
getSupportedNames
in classAbstractSelfFeedingLoader
- Returns:
- the supported names.
- See Also:
DataProvidersManager.feed(String, DataLoader)
-
-