Mondaic

Salvus 0.12.15

Released: 2023-11-26

This is a minor release with several quality of life improvements and minor bug fixes as listed below. New features include the ability to customize shotgather plots and enabling the static output of the wavefield at final time.

This is the first release that supports Python 3.11.

Changes

SalvusCompute

Add the ability to output the final state of a simulation. Using a new output key final_time_data it is possible to output the primary fields (displacement, velocity, phi, phi_t) at final time on an unstructured mesh. The output file will thus be independent from the partition and number of ranks used in the simulation.

Example as part of the extra_output_configuration in p.simulations.launch:

    extra_output_configuration={
        "final_time_data": {"fields": ["displacement"]},
    },

or directly in the simple_config simulation object:

    w.output.final_time_data.format = "hdf5-minimal"
    w.output.final_time_data.fields = ["displacement"]
    w.output.final_time_data.filename = "final_time.h5"
SalvusFlow

Fix issue with how cancelled job arrays are represented in the internal job database.

SalvusFlow

Enable site configurations with a high number of default ranks. This was previously limited to 100. While we still recommend using a small number here, it is now possible to go up to 1024 ranks.

SalvusMesh

Fix a problem with the notebook mesh widget. It now properly display meshes with few and thin elements in 2-D and 3-D.

SalvusProject

Added verbosity parameter to all methods creating a Salvus Project.

SalvusProject API CHANGE

Added custom gather plots to Salvus Project, which allows one to sort, filter, or use self defined operations on receivers, to collectively plot multiple events and datasets to plots them. Note that this also changes the signature of the existing shotgather; it will no longer accept width, height and DPI, but instead accepts a dataclass with those fields, or an existing axes, passed as plot_using.

SalvusProject

Support for xyzservices >= 2023.10.1 as well as unifying Salvus’ approach to web basemaps.

SalvusProject

Add a new compute_max_distance_in_m() function that computes the maximum distance between any two points in a given set in Cartesian or spherical coordinates.

Additionally a new .estimate_max_travel_distance_in_m() method is available for all domain object utilizing the new function. This is useful for example to judge the approximate time waves will take to travel through a given domain.