Release notes¶
Changes from 0.7.0 to 0.7.1¶
- Fix use of
expand
in.as_dataframe()
forAUX_OBS
Changes from 0.6.2 to 0.7.0¶
- Added support for:
- AUX_OBS products
- AEBS products
- MLI_SHA_2E
- See Available parameters for Swarm data for details of the collection and measurement names
- Added
viresclient.SwarmRequest.available_observatories()
to query the AUX_OBS collections to identify IAGA codes available within each collection
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 fromV/m
tomV/m
- New measurement,
EEJ
- Variable renamed:
flag
toFlag
- Product now available for Swarm Charlie (
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 ofIGRF
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)
- NEC now provided as named coordinates for
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 theNEC
dimension name.CHAOS model series have changed name:
CHAOS-6-Core
etc. is dropped forCHAOS-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
- Removed
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 theDataset
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 toF10_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 isexpand=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¶
- New model composition behaviour is implemented, extending what is possible with the
models
kwarg inviresclient.SwarmRequest.set_products()
(with backwards compatibility). See demo in https://github.com/smithara/viresclient_examples/blob/master/model_residuals_and_cartopy.ipynb - New method
viresclient.SwarmRequest.get_model_info()
to fetch model details from server. viresclient.SwarmRequest.available_models()
is updated with these details.- New parameters in TEC collections:
Elevation_Angle
,Absolute_VTEC
. - New parameters in auxiliaries:
OrbitDirection
,QDOrbitDirection
. - The auxiliary
Kp
is now provided as the proper Kp value, andKp10
is provided with the old behaviour with the value of Kp*10. - Updated dependency on cdflib to v0.3.9, and xarray to allow both v0.10.x and v0.11.x.
Changes from v0.2.4 to 0.2.5¶
- EFI collections have changed from
SW_OPER_EFIx_PL_1B
toSW_OPER_EFIx_LP_1B
, with different measurement variables - Added support for user-defined models by providing a .shc file path as the
custom_model
inviresclient.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 toviresclient.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 toviresclient.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 ofClientRequest
.- kwarg
subsample
changed tosampling_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.