Class AbstractSolarActivityData<L extends AbstractSolarActivityDataLoader.LineParameters,D extends AbstractSolarActivityDataLoader<L>>
- java.lang.Object
-
- org.orekit.models.earth.atmosphere.data.AbstractSolarActivityData<L,D>
-
- Type Parameters:
L
- type of the line parametersD
- type of the solar activity data loader
- All Implemented Interfaces:
Serializable
,DTM2000InputParameters
,NRLMSISE00InputParameters
- Direct Known Subclasses:
CssiSpaceWeatherData
,MarshallSolarActivityFutureEstimation
public abstract class AbstractSolarActivityData<L extends AbstractSolarActivityDataLoader.LineParameters,D extends AbstractSolarActivityDataLoader<L>> extends Object implements DTM2000InputParameters, NRLMSISE00InputParameters
Abstract class for solar activity data.- Since:
- 12.0
- Author:
- Vincent Cucchietti
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractSolarActivityData.LocalSolarActivity
Container for weather parameters around current date.protected class
AbstractSolarActivityData.SolarActivityGenerator
Generator used in the weather data cache.
-
Field Summary
Fields Modifier and Type Field Description protected static int
N_NEIGHBORS
Size of the list.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSolarActivityData(String supportedNames, D loader, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
AbstractSolarActivityData(DataSource source, D loader, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GenericTimeStampedCache<L>
getCache()
Get underlying cache.protected double
getLinearInterpolation(AbstractSolarActivityData.LocalSolarActivity localSolarActivity, Function<L,Double> solarActivityToDoubleMapper)
Performs a linear interpolation between two values The weights are computed from the time delta between previous date, current date, next date.protected double
getLinearInterpolation(AbsoluteDate date, Function<L,Double> solarActivityToDoubleMapper)
Performs a linear interpolation between two values The weights are computed from the time delta between previous date, current date, next date.AbsoluteDate
getMaxDate()
Gets the available data range maximum date.AbsoluteDate
getMinDate()
Gets the available data range minimum date.String
getSupportedNames()
Get the supported names regular expression.TimeScale
getUTC()
Get the UTC timescale.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.models.earth.atmosphere.DTM2000InputParameters
get24HoursKp, getInstantFlux, getMeanFlux, getThreeHourlyKP
-
Methods inherited from interface org.orekit.models.earth.atmosphere.NRLMSISE00InputParameters
getAp, getAverageFlux, getDailyFlux
-
-
-
-
Field Detail
-
N_NEIGHBORS
protected static final int N_NEIGHBORS
Size of the list.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractSolarActivityData
protected AbstractSolarActivityData(String supportedNames, D loader, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
- Parameters:
supportedNames
- regular expression for supported AGI/CSSI space weather files namesloader
- data loaderdataProvidersManager
- provides access to auxiliary data files.utc
- 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. May be null.
-
AbstractSolarActivityData
public AbstractSolarActivityData(DataSource source, D loader, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
Simple constructor.- Parameters:
source
- source for the dataloader
- data loaderutc
- 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. May be null.- Since:
- 12.0
-
-
Method Detail
-
getLinearInterpolation
protected double getLinearInterpolation(AbsoluteDate date, Function<L,Double> solarActivityToDoubleMapper)
Performs a linear interpolation between two values The weights are computed from the time delta between previous date, current date, next date.- Parameters:
date
- current datesolarActivityToDoubleMapper
- mapping function taking solar activity as input and returning a double- Returns:
- the value interpolated for the current date
-
getLinearInterpolation
protected double getLinearInterpolation(AbstractSolarActivityData.LocalSolarActivity localSolarActivity, Function<L,Double> solarActivityToDoubleMapper)
Performs a linear interpolation between two values The weights are computed from the time delta between previous date, current date, next date.- Parameters:
localSolarActivity
- solar activity around current datesolarActivityToDoubleMapper
- mapping function taking solar activity as input and returning a double- Returns:
- the value interpolated for the current date
-
getCache
public GenericTimeStampedCache<L> getCache()
Get underlying cache.- Returns:
- cache
-
getSupportedNames
public String getSupportedNames()
Get the supported names regular expression.- Returns:
- the supported names.
-
getUTC
public TimeScale getUTC()
Get the UTC timescale.- Returns:
- UTC timescale
-
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.
-
-