java.lang.Object
org.orekit.models.earth.atmosphere.data.AbstractSolarActivityData<L,D>
Type Parameters:
L - type of the line parameters
D - 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:
  • Field Details

  • 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 names
      loader - data loader
      dataProvidersManager - 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.
    • AbstractSolarActivityData

      protected AbstractSolarActivityData(DataSource source, D loader, TimeScale utc, int maxSlots, double maxSpan, double maxInterval, double minimumStep)
      Simple constructor.
      Parameters:
      source - source for the data
      loader - data loader
      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.
      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 date
      solarActivityToDoubleMapper - 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 date
      solarActivityToDoubleMapper - 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 interface DTM2000InputParameters
      Specified by:
      getMinDate in interface NRLMSISE00InputParameters
      Returns:
      the minimum date.
    • getMaxDate

      public AbsoluteDate getMaxDate()
      Gets the available data range maximum date.
      Specified by:
      getMaxDate in interface DTM2000InputParameters
      Specified by:
      getMaxDate in interface NRLMSISE00InputParameters
      Returns:
      the maximum date.