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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classContainer for weather parameters around current date.protected classGenerator used in the weather data cache. -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSolarActivityData(String supportedNames, D loader, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep) Constructor.protectedAbstractSolarActivityData(DataSource source, D loader, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep) Simple constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetCache()Get underlying cache.protected doublegetLinearInterpolation(AbstractSolarActivityData<L, D>.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.Gets the available data range maximum date.Gets the available data range minimum date.Get the supported names regular expression.getUTC()Get the UTC timescale.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.models.earth.atmosphere.DTM2000InputParameters
get24HoursKp, getInstantFlux, getMeanFlux, getThreeHourlyKPMethods inherited from interface org.orekit.models.earth.atmosphere.NRLMSISE00InputParameters
getAp, getAverageFlux, getDailyFlux
-
Field Details
-
N_NEIGHBORS
protected static final int N_NEIGHBORSSize of the list.- See Also:
-
-
Constructor Details
-
AbstractSolarActivityData
protected AbstractSolarActivityData(String supportedNames, D loader, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep) Constructor.- 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
protected 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 Details
-
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<L, D>.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
Get underlying cache.- Returns:
- cache
-
getSupportedNames
Get the supported names regular expression.- Returns:
- the supported names.
-
getUTC
Get the UTC timescale.- Returns:
- UTC timescale
-
getMinDate
Gets the available data range minimum date.- Specified by:
getMinDatein interfaceDTM2000InputParameters- Specified by:
getMinDatein interfaceNRLMSISE00InputParameters- Returns:
- the minimum date.
-
getMaxDate
Gets the available data range maximum date.- Specified by:
getMaxDatein interfaceDTM2000InputParameters- Specified by:
getMaxDatein interfaceNRLMSISE00InputParameters- Returns:
- the maximum date.
-