Class MarshallSolarActivityFutureEstimation
- java.lang.Object
-
- org.orekit.models.earth.atmosphere.data.AbstractSolarActivityData<MarshallSolarActivityFutureEstimationLoader.LineParameters,MarshallSolarActivityFutureEstimationLoader>
-
- org.orekit.models.earth.atmosphere.data.MarshallSolarActivityFutureEstimation
-
- All Implemented Interfaces:
Serializable
,DTM2000InputParameters
,NRLMSISE00InputParameters
public class MarshallSolarActivityFutureEstimation extends AbstractSolarActivityData<MarshallSolarActivityFutureEstimationLoader.LineParameters,MarshallSolarActivityFutureEstimationLoader>
This class provides solar activity data needed by atmospheric models: F107 solar flux, Ap and Kp indexes.Data comes from the NASA Marshall Solar Activity Future Estimation (MSAFE) as estimates of monthly F10.7 Mean solar flux and Ap geomagnetic parameter (see Marshall Solar Activity website).
Data can be retrieved at the NASA Marshall Solar Activity archived forecast. Here Kp indices are deduced from Ap indexes, which in turn are tabulated equivalent of retrieved Ap values.
If several MSAFE files are available, some dates may appear in several files (for example August 2007 is in all files from the first one published in March 1999 to the February 2008 file). In this case, the data from the most recent file is used and the older ones are discarded. The date of the file is assumed to be 6 months after its first entry (which explains why the file having August 2007 as its first entry is the February 2008 file). This implies that MSAFE files must not be edited to change their time span, otherwise this would break the old entries overriding mechanism.
With these data, the
getInstantFlux(AbsoluteDate)
andgetMeanFlux(AbsoluteDate)
methods return the same values and theget24HoursKp(AbsoluteDate)
andgetThreeHourlyKP(AbsoluteDate)
methods return the same values.Conversion from Ap index values in the MSAFE file to Kp values used by atmosphere models is done using Jacchia's equation in [1].
With these data, the
getAp(AbsoluteDate date)
method returns an array of seven times the same daily Ap value, i.e. it is suited to be used only with theNRLMSISE00
atmospheric model where the switch #9 is set to 1.References
- Jacchia, L. G. "CIRA 1972, recent atmospheric models, and improvements in progress." COSPAR, 21st Plenary Meeting. Vol. 1. 1978.
- Author:
- Bruno Revelin, Luc Maisonobe, Evan Ward, Pascal Parraud, Vincent Cucchietti
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MarshallSolarActivityFutureEstimation.StrengthLevel
Strength level of activity.-
Nested classes/interfaces inherited from class org.orekit.models.earth.atmosphere.data.AbstractSolarActivityData
AbstractSolarActivityData.LocalSolarActivity, AbstractSolarActivityData.SolarActivityGenerator
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SUPPORTED_NAMES
Default regular expression for the supported name that work with all officially published files.-
Fields inherited from class org.orekit.models.earth.atmosphere.data.AbstractSolarActivityData
N_NEIGHBORS
-
-
Constructor Summary
Constructors Constructor Description MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
Simple constructor.MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, DataProvidersManager dataProvidersManager, TimeScale utc)
Constructor that allows specifying the source of the MSAFE auxiliary data files.MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
Constructor that allows specifying the source of the MSAFE auxiliary data files and customizable thread safe cache configuration.MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
Simple constructor which use thedefault data context
.MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, TimeScale utc)
Simple constructor.MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
Constructor with customizable thread safe cache configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
get24HoursKp(AbsoluteDate date)
The Kp index is derived from the Ap 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.DateComponents
getFileDate(AbsoluteDate date)
Get the date of the file from which data at the specified date comes from.double
getInstantFlux(AbsoluteDate date)
Get the value of the instantaneous solar flux.double
getMeanFlux(AbsoluteDate date)
Get the value of the mean solar flux.MarshallSolarActivityFutureEstimation.StrengthLevel
getStrengthLevel()
Get the strength level for activity.double
getThreeHourlyKP(AbsoluteDate date)
Get the value of the 3 hours geomagnetic index.-
Methods inherited from class org.orekit.models.earth.atmosphere.data.AbstractSolarActivityData
getCache, getLinearInterpolation, getLinearInterpolation, getMaxDate, getMinDate, getSupportedNames, getUTC
-
-
-
-
Field Detail
-
DEFAULT_SUPPORTED_NAMES
public static final String DEFAULT_SUPPORTED_NAMES
Default regular expression for the supported name that work with all officially published files.- Since:
- 10.0
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MarshallSolarActivityFutureEstimation
@DefaultDataContext public MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
Simple constructor. This constructor uses thedefault data context
.The original file names used by NASA Marshall space center are of the form: may2019f10_prd.txt or Oct1999F10.TXT. So a recommended regular expression for the supported name that work with all published files is:
DEFAULT_SUPPORTED_NAMES
.It provides a default configuration for the thread safe cache :
- Number of slots :
OrekitConfiguration.getCacheSlotsNumber()
- Max span :
Constants.JULIAN_YEAR
- Max span interval :
0
- Parameters:
supportedNames
- regular expression for supported files namesstrengthLevel
- selected strength level of activity- See Also:
MarshallSolarActivityFutureEstimation(String, StrengthLevel, DataProvidersManager, TimeScale)
- Number of slots :
-
MarshallSolarActivityFutureEstimation
public MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, DataProvidersManager dataProvidersManager, TimeScale utc)
Constructor that allows specifying the source of the MSAFE auxiliary data files.It provides a default configuration for the thread safe cache :
- Number of slots :
OrekitConfiguration.getCacheSlotsNumber()
- Max span :
31 * Constants.JULIAN_DAY
- Max interval :
0
- Minimum step:
27 * Constants.JULIAN_DAY
- Parameters:
supportedNames
- regular expression for supported files namesstrengthLevel
- selected strength level of activitydataProvidersManager
- provides access to auxiliary data files.utc
- UTC time scale.- Since:
- 10.1
- Number of slots :
-
MarshallSolarActivityFutureEstimation
public MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
Constructor that allows specifying the source of the MSAFE auxiliary data files and customizable thread safe cache configuration.- Parameters:
supportedNames
- regular expression for supported files namesstrengthLevel
- selected strength level of activitydataProvidersManager
- provides access to auxiliary data files.utc
- UTC time scale.maxSlots
- maximum number of independent cached time slots in thetime-stamped cache
maxSpan
- maximum duration span in seconds of one slot in thetime-stamped cache
maxInterval
- time interval above which a new slot is created in thetime-stamped cache
minimumStep
- overriding minimum step designed for non-homogeneous tabulated values. To be used for example when caching monthly tabulated values. May be null.- Since:
- 10.1
-
MarshallSolarActivityFutureEstimation
@DefaultDataContext public MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
Simple constructor which use thedefault data context
.It provides a default configuration for the thread safe cache :
- Number of slots :
OrekitConfiguration.getCacheSlotsNumber()
- Max span :
31 * Constants.JULIAN_DAY
- Max interval :
0
- Minimum step:
27 * Constants.JULIAN_DAY
- Parameters:
source
- source for the datastrengthLevel
- selected strength level of activity- Since:
- 12.0
- Number of slots :
-
MarshallSolarActivityFutureEstimation
public MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, TimeScale utc)
Simple constructor.It provides a default configuration for the thread safe cache :
- Number of slots :
OrekitConfiguration.getCacheSlotsNumber()
- Max span :
31 * Constants.JULIAN_DAY
- Max interval :
0
- Minimum step:
27 * Constants.JULIAN_DAY
- Parameters:
source
- source for the datastrengthLevel
- selected strength level of activityutc
- UTC time scale- Since:
- 12.0
- Number of slots :
-
MarshallSolarActivityFutureEstimation
public MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
Constructor with customizable thread safe cache configuration.- Parameters:
source
- source for the datastrengthLevel
- selected strength level of activityutc
- UTC time scalemaxSlots
- maximum number of independent cached time slots in thetime-stamped cache
maxSpan
- maximum duration span in seconds of one slot in thetime-stamped cache
maxInterval
- time interval above which a new slot is created in thetime-stamped cache
minimumStep
- overriding minimum step designed for non-homogeneous tabulated values. To be used for example when caching monthly tabulated values. UseDouble.NaN
otherwise.- Since:
- 12.0
-
-
Method Detail
-
getInstantFlux
public double getInstantFlux(AbsoluteDate date)
Get the value of the instantaneous solar flux.- Parameters:
date
- the current date- Returns:
- the instantaneous solar flux
-
getMeanFlux
public double getMeanFlux(AbsoluteDate date)
Get the value of the mean solar flux.- 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.)- Parameters:
date
- the current date- Returns:
- the 3H geomagnetic index
-
getFileDate
public DateComponents getFileDate(AbsoluteDate date)
Get the date of the file from which data at the specified date comes from.If several MSAFE files are available, some dates may appear in several files (for example August 2007 is in all files from the first one published in March 1999 to the February 2008 file). In this case, the data from the most recent file is used and the older ones are discarded. The date of the file is assumed to be 6 months after its first entry (which explains why the file having August 2007 as its first entry is the February 2008 file). This implies that MSAFE files must not be edited to change their time span, otherwise this would break the old entries overriding mechanism.
- Parameters:
date
- date of the solar activity data- Returns:
- date of the file
-
get24HoursKp
public double get24HoursKp(AbsoluteDate date)
The Kp index is derived from the Ap index.The method used is explained on NOAA website. as follows:
The scale is 0 to 9 expressed in thirds of a unit, e.g. 5- is 4 2/3, 5 is 5 and 5+ is 5 1/3. The ap (equivalent range) index is derived from the Kp index as follows:
Kp / Ap Conversion Table Kp 0o 0+ 1- 1o 1+ 2- 2o 2+ 3- 3o 3+ 4- 4o 4+ ap 0 2 3 4 5 6 7 9 12 15 18 22 27 32 Kp 5- 5o 5+ 6- 6o 6+ 7- 7o 7+ 8- 8o 8+ 9- 9o ap 39 48 56 67 80 94 111 132 154 179 207 236 300 400 - Parameters:
date
- date of the Kp data- Returns:
- the 24H geomagnetic index
-
getDailyFlux
public double getDailyFlux(AbsoluteDate date)
Get the value of the daily F10.7 solar flux for previous day.- Parameters:
date
- the current date- Returns:
- the daily F10.7 flux for previous day
-
getAverageFlux
public double getAverageFlux(AbsoluteDate date)
Description copied from interface:NRLMSISE00InputParameters
Get the value of the 81 day average of F10.7 solar flux centered on current day.- 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
- Parameters:
date
- the current date- Returns:
- the array of Ap indices
-
getStrengthLevel
public MarshallSolarActivityFutureEstimation.StrengthLevel getStrengthLevel()
Get the strength level for activity.- Returns:
- strength level to set
-
-