Salvus 0.12.15
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
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"Fix issue with how cancelled job arrays are represented in the internal job database.
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.
Fix a problem with the notebook mesh widget. It now properly display meshes with few and thin elements in 2-D and 3-D.
Added verbosity parameter to all methods creating a Salvus Project.
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.
Support for xyzservices >= 2023.10.1 as well as unifying Salvus’ approach to web basemaps.
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.