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 classAbstractSolarActivityData.LocalSolarActivityContainer for weather parameters around current date.protected classAbstractSolarActivityData.SolarActivityGeneratorGenerator used in the weather data cache.
-
Field Summary
Fields Modifier and Type Field Description protected static intN_NEIGHBORSSize of the list.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSolarActivityData(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 doublegetLinearInterpolation(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 doublegetLinearInterpolation(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.AbsoluteDategetMaxDate()Gets the available data range maximum date.AbsoluteDategetMinDate()Gets the available data range minimum date.StringgetSupportedNames()Get the supported names regular expression.TimeScalegetUTC()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 cachemaxSpan- maximum duration span in seconds of one slot in thetime-stamped cachemaxInterval- time interval above which a new slot is created in thetime-stamped cacheminimumStep- 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 cachemaxSpan- maximum duration span in seconds of one slot in thetime-stamped cachemaxInterval- time interval above which a new slot is created in thetime-stamped cacheminimumStep- 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:
getMinDatein interfaceDTM2000InputParameters- Specified by:
getMinDatein interfaceNRLMSISE00InputParameters- Returns:
- the minimum date.
-
getMaxDate
public AbsoluteDate getMaxDate()
Gets the available data range maximum date.- Specified by:
getMaxDatein interfaceDTM2000InputParameters- Specified by:
getMaxDatein interfaceNRLMSISE00InputParameters- Returns:
- the maximum date.
-
-