Class CssiSpaceWeatherData

All Implemented Interfaces:
Serializable, DTM2000InputParameters, NRLMSISE00InputParameters

This class provides three-hourly and daily solar activity data needed by atmospheric models: F107 solar flux, Ap and Kp indexes. The DataLoader implementation and the parsing is handled by the class CssiSpaceWeatherDataLoader.

The data are retrieved through space weather files offered by AGI/CSSI on the AGI FTP as well as on the CelesTrack website. These files are updated several times a day by using several sources mentioned in the Celestrak space weather data documentation.

Since:
10.2
Author:
Clément Jonglez, Vincent Cucchietti
See Also:
  • Field Details

    • DEFAULT_SUPPORTED_NAMES

      public static final String DEFAULT_SUPPORTED_NAMES
      Default regular expression for supported names that works with all officially published files.
      See Also:
  • Constructor Details

    • CssiSpaceWeatherData

      @DefaultDataContext public CssiSpaceWeatherData(String supportedNames)
      Simple constructor. This constructor uses the default data context.

      The original file names provided by AGI/CSSI are of the form: SpaceWeather-All-v1.2.txt (AGI's ftp). So a recommended regular expression for the supported names that works with all published files is: DEFAULT_SUPPORTED_NAMES.

      It provides a default configuration for the thread safe cache :

      • Number of slots : OrekitConfiguration.getCacheSlotsNumber()
      • Max span : Constants.JULIAN_DAY
      • Max span interval : 0
      Parameters:
      supportedNames - regular expression for supported AGI/CSSI space weather files names
    • CssiSpaceWeatherData

      public CssiSpaceWeatherData(String supportedNames, DataProvidersManager dataProvidersManager, TimeScale utc)
      Constructor that allows specifying the source of the CSSI space weather file.

      It provides a default configuration for the thread safe cache :

      • Number of slots : OrekitConfiguration.getCacheSlotsNumber()
      • Max span : Constants.JULIAN_DAY
      • Max span interval : 0
      Parameters:
      supportedNames - regular expression for supported AGI/CSSI space weather files names
      dataProvidersManager - provides access to auxiliary data files.
      utc - UTC time scale.
    • CssiSpaceWeatherData

      public CssiSpaceWeatherData(String supportedNames, CssiSpaceWeatherDataLoader loader, DataProvidersManager dataProvidersManager, TimeScale utc)
      Constructor that allows specifying the source of the CSSI space weather file.

      It provides a default configuration for the thread safe cache :

      • Number of slots : OrekitConfiguration.getCacheSlotsNumber()
      • Max span : Constants.JULIAN_DAY
      • Max span interval : 0
      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
    • CssiSpaceWeatherData

      public CssiSpaceWeatherData(String supportedNames, CssiSpaceWeatherDataLoader loader, DataProvidersManager dataProvidersManager, TimeScale utc, int maxSlots, double maxSpan, double maxInterval)
      Constructor that allows specifying the source of the CSSI space weather file and customizable thread safe cache configuration.
      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
    • CssiSpaceWeatherData

      @DefaultDataContext public CssiSpaceWeatherData(DataSource source)
      Simple constructor which use the default data context.

      It provides a default configuration for the thread safe cache :

      • Number of slots : OrekitConfiguration.getCacheSlotsNumber()
      • Max span : Constants.JULIAN_DAY
      • Max span interval : 0
      Parameters:
      source - source for the data
      Since:
      12.0
    • CssiSpaceWeatherData

      public CssiSpaceWeatherData(DataSource source, TimeScale utc)
      Simple constructor.

      It provides a default configuration for the thread safe cache :

      • Number of slots : OrekitConfiguration.getCacheSlotsNumber()
      • Max span : Constants.JULIAN_DAY
      • Max span interval : 0
      Parameters:
      source - source for the data
      utc - UTC time scale
      Since:
      12.0
    • CssiSpaceWeatherData

      public CssiSpaceWeatherData(DataSource source, CssiSpaceWeatherDataLoader loader, TimeScale utc)
      Simple constructor.

      It provides a default configuration for the thread safe cache :

      • Number of slots : OrekitConfiguration.getCacheSlotsNumber()
      • Max span : Constants.JULIAN_DAY
      • Max span interval : 0
      Parameters:
      source - source for the data
      loader - data loader
      utc - UTC time scale
      Since:
      12.0
    • CssiSpaceWeatherData

      public CssiSpaceWeatherData(DataSource source, CssiSpaceWeatherDataLoader loader, TimeScale utc, int maxSlots, double maxSpan, double maxInterval)
      Simple constructor with customizable thread safe cache configuration.
      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
      Since:
      12.0
  • Method Details

    • getInstantFlux

      public double getInstantFlux(AbsoluteDate date)
      Get the value of the instantaneous solar flux.
      Parameters:
      date - the current date
      Returns:
      the instantaneous solar flux
    • getMeanFlux

      public double getMeanFlux(AbsoluteDate date)
      Get the value of the mean solar flux.
      Parameters:
      date - the current date
      Returns:
      the mean solar flux
    • getThreeHourlyKP

      public double getThreeHourlyKP(AbsoluteDate date)
      Get the value of the 3 hours geomagnetic index. With a delay of 3 hours at pole to 6 hours at equator using: delay=6-abs(lat)*0.033 (lat in deg.)
      Parameters:
      date - the current date
      Returns:
      the 3H geomagnetic index
    • get24HoursKp

      public double get24HoursKp(AbsoluteDate date)
      Get the last 24H mean geomagnetic index.
      Parameters:
      date - the current date
      Returns:
      the 24H geomagnetic index
    • getDailyFlux

      public double getDailyFlux(AbsoluteDate date)
      Get the value of the daily F10.7 solar flux for previous day.
      Parameters:
      date - the current date
      Returns:
      the daily F10.7 flux for previous day
    • getAverageFlux

      public double getAverageFlux(AbsoluteDate date)
      Get the value of the 81 day average of F10.7 solar flux centered on current day.
      Parameters:
      date - the current date
      Returns:
      the 81 day average of F10.7 solar flux centered on current day
    • getAp

      public double[] getAp(AbsoluteDate date)
      Get the Ap geomagnetic indices.

      Ap indices are provided as an array such as:

      • 0 → daily Ap
      • 1 → 3 hr Ap index for current time
      • 2 → 3 hr Ap index for 3 hrs before current time
      • 3 → 3 hr Ap index for 6 hrs before current time
      • 4 → 3 hr Ap index for 9 hrs before current time
      • 5 → Average of eight 3 hr Ap indices from 12 to 33 hrs prior to current time
      • 6 → Average of eight 3 hr Ap indices from 36 to 57 hrs prior to current time
      Parameters:
      date - the current date
      Returns:
      the array of Ap indices