public class MarshallSolarActivityFutureEstimation extends AbstractSolarActivityData<MarshallSolarActivityFutureEstimationLoader.LineParameters,MarshallSolarActivityFutureEstimationLoader>
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)
and getMeanFlux(AbsoluteDate)
methods return the same
values and the get24HoursKp(AbsoluteDate)
and getThreeHourlyKP(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 the NRLMSISE00
atmospheric
model where the switch #9 is set to 1.
Modifier and Type | Class and Description |
---|---|
static class |
MarshallSolarActivityFutureEstimation.StrengthLevel
Strength level of activity.
|
AbstractSolarActivityData.LocalSolarActivity, AbstractSolarActivityData.SolarActivityGenerator
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_SUPPORTED_NAMES
Default regular expression for the supported name that work with all officially published files.
|
N_NEIGHBORS
Constructor and Description |
---|
MarshallSolarActivityFutureEstimation(DataSource source,
MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
Simple constructor which use the
default 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.
|
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.
|
Modifier and Type | Method and 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.
|
getCache, getLinearInterpolation, getLinearInterpolation, getMaxDate, getMinDate, getSupportedNames, getUTC
public static final String DEFAULT_SUPPORTED_NAMES
@DefaultDataContext public MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
default 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 :
OrekitConfiguration.getCacheSlotsNumber()
Constants.JULIAN_YEAR
0
supportedNames
- regular expression for supported files namesstrengthLevel
- selected strength level of activityMarshallSolarActivityFutureEstimation(String, StrengthLevel, DataProvidersManager, TimeScale)
public MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, DataProvidersManager dataProvidersManager, TimeScale utc)
It provides a default configuration for the thread safe cache :
OrekitConfiguration.getCacheSlotsNumber()
31 * Constants.JULIAN_DAY
0
27 * Constants.JULIAN_DAY
supportedNames
- regular expression for supported files namesstrengthLevel
- selected strength level of activitydataProvidersManager
- provides access to auxiliary data files.utc
- UTC time scale.public MarshallSolarActivityFutureEstimation(String supportedNames, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
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 the
time-stamped cache
maxSpan
- maximum duration span in seconds of one slot in the time-stamped cache
maxInterval
- time interval above which a new slot is created in the
time-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.@DefaultDataContext public MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel)
default data context
.
It provides a default configuration for the thread safe cache :
OrekitConfiguration.getCacheSlotsNumber()
31 * Constants.JULIAN_DAY
0
27 * Constants.JULIAN_DAY
source
- source for the datastrengthLevel
- selected strength level of activitypublic MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, TimeScale utc)
It provides a default configuration for the thread safe cache :
OrekitConfiguration.getCacheSlotsNumber()
31 * Constants.JULIAN_DAY
0
27 * Constants.JULIAN_DAY
source
- source for the datastrengthLevel
- selected strength level of activityutc
- UTC time scalepublic MarshallSolarActivityFutureEstimation(DataSource source, MarshallSolarActivityFutureEstimation.StrengthLevel strengthLevel, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
source
- source for the datastrengthLevel
- selected strength level of activityutc
- UTC time scalemaxSlots
- maximum number of independent cached time slots in the
time-stamped cache
maxSpan
- maximum duration span in seconds of one slot in the time-stamped cache
maxInterval
- time interval above which a new slot is created in the
time-stamped cache
minimumStep
- overriding minimum step designed for non-homogeneous tabulated values. To be used for example when
caching monthly tabulated values. Use Double.NaN
otherwise.public double getInstantFlux(AbsoluteDate date)
date
- the current datepublic double getMeanFlux(AbsoluteDate date)
date
- the current datepublic double getThreeHourlyKP(AbsoluteDate date)
date
- the current datepublic DateComponents getFileDate(AbsoluteDate date)
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.
date
- date of the solar activity datapublic double get24HoursKp(AbsoluteDate date)
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 | 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 |
date
- date of the Kp datapublic double getDailyFlux(AbsoluteDate date)
date
- the current datepublic double getAverageFlux(AbsoluteDate date)
NRLMSISE00InputParameters
date
- the current datepublic double[] getAp(AbsoluteDate date)
Ap indices are provided as an array such as:
date
- the current datepublic MarshallSolarActivityFutureEstimation.StrengthLevel getStrengthLevel()
Copyright © 2002-2023 CS GROUP. All rights reserved.