Release notes

Changes from 0.6.1 to 0.6.2

  • Added automatic initialisation of access token when running on VRE
  • Added new composed model aliases (shortcuts)

Changes from 0.6.0 to 0.6.1

  • Fix to support the new EEFxTMS_2F baseline 02:
    • Product now available for Swarm Charlie (C)
    • EEF unit changed from V/m to mV/m
    • New measurement, EEJ
    • Variable renamed: flag to Flag

Changes from 0.5.0 to 0.6.0

  • Provides access to MAGx_HR collections (50Hz magnetic measurements)
  • Allows pandas v1.0+
  • Dataframe index name is now set to “Timestamp” (fixes regression in a previous version)

Changes from 0.4.3 to 0.5.0

  • IGRF model series have changed name: IGRF-12 is dropped in favour of IGRF which now provides the latest IGRF (currently IGRF-13)
  • request.available_collections("MAG") can now be called to filter by collection groups, and now returns a dict instead of a list
  • Improvements for xarray.Dataset support:
    • NEC now provided as named coordinates for B_NEC-type variables
    • Similarly (VFM, quaternion, WGS84) coordinates also provided for the variables [“B_VFM”, “dB_Sun”, “dB_AOCS”, “dB_other”, “B_error”], [“q_NEC_CRF”], [“GPS_Position”, “LEO_Position”] respectively
    • Metadata (units and description) are now set for each variable
    • (With xarray 0.14+, try xarray.set_options(display_style="html") for nicer output)

Changes from 0.4.2 to 0.4.3

  • AMPS is now accessible as a regular model on the DISC server, see:

    request = SwarmRequest("https://staging.viresdisc.vires.services/ows")
    request.get_model_info(["AMPS"])
    
  • xarray.Dataset objects now contain dimension names for all variables. Variables containing B_NEC get the NEC dimension name.

  • CHAOS model series have changed name: CHAOS-6-Core etc. is dropped for CHAOS-Core etc. which provides the latest version of the CHAOS models (currently CHAOS-7)

  • Better error message when authentication with server fails.

  • When in notebooks: Detect empty or invalid credentials (e.g. on first usage), direct user to the token generation page, and prompt for token input.

  • Added request.list_jobs() to give info on previous two jobs on the server (failed/running/succeeded).

Changes from 0.4.1 to 0.4.2

  • Fixed orbit number queries (get_orbit_number)
  • Added model sources to model info

Changes from 0.4.0 to 0.4.1

  • Added low level data upload API and CLI
  • Added set_token convenience function for quick configuration
  • Changed list of accessible models:
    • Removed MCO_SHA_2F, SIFM
    • Added MF7, LCS-1

Changes from 0.3.0 to 0.4.0

  • Fixed issues with running on Windows

  • Enforcing Python v3.5+ for installation

  • Allowing higher versions of cdflib, pandas, and xarray

  • Added CLI configuration for setting server address and token

  • Metadata for source lineage is now easier to access (names of original ESA data files, details of models used, and filters applied). These are set as properties of viresclient.ReturnedData() (i.e. data) and as metadata (.attrs) in the Dataset returned from .as_xarray():

    data.sources
    data.magnetic_models
    data.range_filters
    
    ds = data.as_xarray()
    ds.Sources
    ds.MagneticModels
    ds.RangeFilters
    
  • Added access to collections SW_OPER_IPDxIRR_2F

  • Added auxiliary data F107 which is the hourly F10.7 value. This is in addition to F10_INDEX which was already present, which is a daily average.

  • Added possibility of accessing multiple collections simultaneously, e.g.:

    request.set_collection("SW_OPER_MAGA_LR_1B", "SW_OPER_MAGC_LR_1B")
    
  • Added optional “expansion” of dataframes with:

    data.as_dataframe(expand=True)
    

    This expands columns which contain vectors (e.g. B_NEC) into separate columns named like: B_NEC_N, B_NEC_E, B_NEC_C. This is recommended so that numpy operations will work on the columns. The default is expand=False to preserve the older behaviour.

Changes from v0.2.6 to 0.3.0

  • Service officially open to public through self-registration on https://vires.services
  • Token-based authentication added

Changes from v0.2.5 to 0.2.6

Changes from v0.2.4 to 0.2.5

  • EFI collections have changed from SW_OPER_EFIx_PL_1B to SW_OPER_EFIx_LP_1B, with different measurement variables
  • Added support for user-defined models by providing a .shc file path as the custom_model in viresclient.SwarmRequest.set_products(). Model evaluations and residuals will then be returned, named as “Custom_Model”, in the same way as other models behave.
  • Added alternative input start and end times as ISO-8601 strings to viresclient.SwarmRequest.get_between()
  • Minor bug fixes

Changes from v0.2.1 to v0.2.4

  • Added models CHAOS-6-MMA-Primary and CHAOS-6-MMA-Secondary

Changes from v0.2.0 to v0.2.1

  • Improved performance of pandas and xarray loading from cdf.

  • Added nrecords_limit option to viresclient.SwarmRequest.get_between() to override the default maximum number of records in each request. Use this if a request is failing with a server error that the maximum allowable number of records has been exceeded - but this means that there is probably duplicate data on the server (old and new versions), so check the data that gets returned:

    data = request.get_between(start_time, end_time, nrecords_limit=3456000)
    ds = data.as_xarray()
    # Identify negative time jumps
    np.where(np.diff(ds["Timestamp"]).astype(float) < 0)
    # e.g [2519945, 5284745, 5481414]
    for i in [2519945, 5284745, 5481414]:
        print(ds.isel(Timestamp=i))
    # Length of day should be 86400
    ds.sel(Timestamp='2014-02-02')
    
  • Added tmpdir option to viresclient.SwarmRequest.get_between() to override the default temporary file directory. The default is selected automatically according to https://docs.python.org/3/library/tempfile.html#tempfile.mkstemp (usually /tmp). This may not be suitable when fetching large amounts of data as some machines may have limited space available in /tmp or there may be a higher performance or preferred location.

Changes from v0.1.0 to v0.2.0

  • Now use SwarmRequest instead of ClientRequest.
  • kwarg subsample changed to sampling_step.
  • Added references to .available_collections() and .available_models().
  • User credentials are automatically stored in a configuration file ~/.viresclient.ini.
  • Downloads are streamed to temporary files instead of being held in memory.
  • Any size request is now supported. Large requests are automatically chunked up.
  • Added download progress bar indicating size in MB.
  • xarray added as a dependency and .as_xarray() method added.