Posted on

SOOTHSAYER 1.8 released

Our latest feature release adds new APIs and retires the virtual machine for a container-first solution compatible with more host systems which enables GPU sharing and greater control over both code and user data.

3D API

A new full 3D API and GPU engine designed for urban simulations with multipath, material properties, phase tracking and support for the glTF 3d model format.

The REST API can currently be interfaced with directly using scripts or via our Blender plugin. A new indoor/outdoor/underground interface to use this new API is under active development…

3D API documentation

3D API gallery

3D API Blender plugin

Satellite API

Improving upon our legacy Satellite route analysis capability, we can now model the entire coverage footprint using our GPU engine. This exceptionally hard problem required a rewrite of our GPU engine to achieve the “bounding box” capability needed to model a small area at high resolution from a transmitter 35,000km(!) away.

Satellite API documentation

General Purpose Model

Following field testing in the summer, we concluded empirical cellular path loss models are unfit for modelling UHF handheld radios. As a result we created a hybrid model from ITU-R P.525 which is frequency and height agnostic. The simple model is made accurate by the Deygout 94 diffraction model and tuned clutter which we support with new profiles.

You can read more about the testing and the model improvements here.

API change log

3.15.3 (2024-10-08)

  • Fix: Restored missing values to path and points endpoints.
  • Fix: Trilateration not working with GPU in some scenarios.

3.15.2 (2024-10-04)

  • Improvement: Admin pages improved for support of SOOTHSAYER 1.8.
  • Improvement: Tighter zoom restrictions on terrain map to reduce response size.
  • Improvement: Better default preferences eg. colours
  • Fix: /API/terrain does not load in some environments.
  • Fix: Resolved antenna rotation edge cases
  • Fix: Trilateration broken by numpy update. meh

3.15.1 (2024-09-30)

  • Improvement: 3D engine calculations are locked for a maximum of 30 seconds.
  • Fix: Stale locking of 3D engine calculations in the event of system crashes would prevent immediate calculation reattempt.

3.15.0 (2024-09-26)

  • Improvement: Added DEM Manager to the admin dashboard.
  • Improvement: Reorganized data folder.
  • Improvement: Refreshed the terrain and clutter map.
  • Fix: Removed Chart image and Network KML from network API response as they are not used.
  • Fix: Missing megavoxel from products SQL table.
  • Fix: GPU calculations with imperial units exceeded the radius.
  • Fix: Some antenna patterns being incorrectly interpreted as vertically aligned.
  • Fix: Deletion of uploaded files upon system errors.
  • Fix: GPU calculation failure when using user-defined clutter profile.
  • Fix: Processing engine is not stored as a value when logging requests.
  • Fix: Custom ant minimum value dropped from -50dB to -100dB to fix vertical patterns

3.14.2 (2024-09-10)

  • Improvement: Network API search radius increased to 0.5 degs for mountain WISPs .
  • Fix: Antenna elevation plane wrong for some patterns.

3.14.1 (2024-09-05)

  • Improvement: Include Altitude type when retrieving PPA JSON from archive.
  • Improvement: Clutter manager supports custom building density.
  • Improvement: Custom antenna patterns are smoother.
  • Fix: Fix mesh endpoint was ignoring blue and alpha.
  • Fix: Antenna downtilt inverted by recent change.

3.14.0 (2024-08-14)

  • Feature: Added output-bounded GPU calculations.
  • Feature: Added /satellite/area endpoint.
  • Fix: Fix antenna wizard plotting tilt direction and handle all valid ADF gain values.

3.13.0 (2024-08-01)

  • Improvement: Multipoints KMZ improved to show signal strength making use of bubbles along the route.
  • Improvement: 3D endpoint accepts ‘output.megavoxels’ as an alternative to ‘output.res’.
  • Improvement: SLEIPNIR 1.13 has black alpha background like GPU for easier GIS styling/analysis

3.12.0 (2024-07-12)

  • WARNING: ITM will be conservative with new clutter profiles.
  • Feature: General Purpose Model (#10)
  • Enhancement: Landcover trees now support up to 1.5dB/m for jungle
  • Enhancement: New ITU clutter profiles for CITY, SUBURB and FOREST
  • Enhancement: Refactored CORS header handling
  • Enhancement: 3D engine version and megavoxels added to admin page
  • Fix: Handle SNR 0 in templates
  • Fix: 3D API materials validation
  • Fix: KMZ PPA network link restored

3.11.0 (2024-06-19)

  • Feature: Added 3D engine processing endpoints: /3d/3d/model/upload/3d/viewer.
  • Fix: Error message if license ID has changed.
  • Legacy: Removed colour schema value of 8.

3.10.6 (2024-05-30)

  • Fix: ITM model cannot be used with altitudes above 3000m
  • Fix: Path KMZ metric heights were missing TxH
  • Gift: GPU enabled for Silver plans 🙂

3.10.5 (2024-05-17)

  • Fix: Multisite antenna tilt inversion.
  • Fix: Stop Google Earth UI opening clutter/antenna forms.

3.10.4 (2024-05-10)

  • Improvement: Recommend CPU engine for Ocean planning / no tiles.
  • Improvement: Optimised Ocean planning.
  • Fix: Handles when BSA Tx equals Rx.
  • Fix: Handle P.525 optimistic context (aka circles mode) with GPU.

3.10.3 (2024-04-26)

  • Improvement: Memory allocation improvements.
  • Fix: Super layer KMZ metadata was missing some values.
  • Fix: MANET network fails to save if it has unachievable links.
  • Fix: MANET KMZ would always be produced using dBm units.
  • Fix: MANET KMZ draws links which are below the sensitivity threshold.
  • Fix: MANET KMZ assigns black to links which sit on the colour bucket.
  • Fix: MANET KMZ links were not floating at altitude of nodes.
  • Fix: Default to 1m2 RCS value for multisite RADAR requests
  • Fix: multisite antenna template/custom logic aligned with area
  • Fix: multisite model.rcs only validated if using RADAR
  • Fix: Mesh PNG alpha bug.
  • Fix: Can save templates with AMSL height units.
  • Fix: Template name capped at 30 character length.
  • Fix: Antenna Pattern Import Tool fails if OEM already exists.
  • Fix: Downloading ADF pattern from ADF wizard broken.
  • Fix: Mesh PNG alpha bug
  • Fix: Can save templates with amsl heights
  • Fix: Template name capped at 30 chars

UI change log

3.13.4 (2024-10-08)

  • Fix: CPU engine unusable if interface loaded in GPU mode by default.

3.13.3 (2024-10-04)

  • Improvement: Better default preferences for model, clutter and colours.
  • Fix: GPU calculate unresponsive when reloading the UI after a GPU session.

3.13.2 (2024-09-30)

  • Fix: Disable MANET tool when using route analysis with mixed altitudes (flight path).
  • Fix: Loading imperial ASL path from archive doesn’t properly populate on the PPA chart.
  • Fix: Google Earth layer calculations returning “Bad API key” for some environments.
  • Fix: Remove broken window when clicking on a best server link.
  • Fix: “My Account” modal doesn’t load if the API returns an error.
  • Fix: Colour schema changing when enabling/disabling MANET tool even if the schema exists for the measured unit.

3.13.1 (2024-08-20)

  • Fix: MANET marker alt aligns with plumb line alt with imperial units
  • Fix: Engine selection no longer adjusted when enabling/disabling MANET tool
  • Fix: PPA appearing in air when reloaded from archive.
  • Feature: Added dropdown selection for bandwidth in operator mode rather than an input box. Input box is still valid in engineer mode.
  • Feature: Extended lower limit of bandwidth on input box down to 0.001MHz (1KHz) to match the allowed value in the API.

3.13.0 (2024-08-01)

  • Feature: Route analysis import supports CSV as per coverage / calibration etc.
  • Feature: Route analysis import supports altitude/height from CSV/KML/KMZ. Uses ‘points’ vs ‘area’.
  • Fix: Auto-processing CSV warns when mixing short and long format fields.
  • Fix: Fixed Auto CSV typo on example re Gain_dB which is now Gain_dBi.
  • Fix: Added missing “KML + PPA” option to quick download list.
  • Fix: Buildings value not persisting between interface reloads.
  • Fix: Noise floor value not persisting between interface reloads.
  • Fix: Auto CSV processing bandwidth supports 1KHz (Previously 100KHz)

3.12.1 (2024-07-16)

  • Feature: Engineer template mismatch with operator mode modal changed to go into console window.
  • Fix: Importing KML/KMZ polyline into “Coverage Analysis” fails.
  • Fix: Multipoint links button missing from engineer mode.
  • Fix: Custom antennas in templates ignored for operator mode

3.12.0 (2024-07-12)

  • Feature: Operator/Engineer mode select
  • Feature: General Purpose Model
  • Enhancement: Models list sorted into categories

3.11.5 (2024-06-08)

  • Improvement: No longer truncating long antenna filenames in pattern input box to make automated processing simpler.
  • Improvement: Automatic CSV processing accepts antenna ID as well as name.
  • Improvement: Include URL in error message when failing to load layer.
  • Fix: Marker and label disappear when image layer is hidden.
  • Fix: RSOD when importing MANET network.
  • Fix: MANET import when MANET mode enabled will disable MANET mode.

3.11.4 (2024-06-01)

  • Improvement: Updated Cesium to 1.106 (June 2023)
  • Fix: Applied 5 months of Cesium bug fixes 🙂

3.11.3 (2024-05-27)

  • Improvement: Bandwidth changes now adjust receiver sensitivity as well as noise
  • Fix: Imported MANET nodes were getting processed twice
  • Fix: Imported MANET nodes context menu didn’t open

3.11.2 (2024-05-21)

  • Fix: Custom antenna plots update after archive reload
  • Fix: Tx marker moves after archive reload to match site marker

3.11.1 (2024-05-14)

  • Fix: Imported MANET nodes from KML were not tracking 3D terrain
  • Fix: Can import a KML route and then a KML for MANET w/coverage analysis

3.11.0 (2024-05-07)

  • Improvement: Selection of “use case” on the “Import Data” dialog. Support for kml placemarks with routes
  • Fix: Uploading KML/KMZ to “Coverage Analysis” with a Placemark and LineString
  • Fix: Uploading KML/KMZ with more than one LineString would fail.
  • Fix: Uploading KML/KMZ with LineString coordinates closer than interpolation distance

3.10.2 (2024-04-29)

  • Improvement: BER uses SNR colours for consistency with API.
  • Improvement: Interference tool hides colour key.
  • Improvement: Restyled MANET links.
  • Fix: Best site analysis output sometimes does not get cleared when “Clear all layers” is clicked.
  • Fix: Marker labels are hidden when the view is tilted and hard to read.

3.10.1 (2024-04-10)

  • Improvement: CSV processing supports GPU
  • Fix: CSV processing power_dBm label should be power_W

SOOTHSAYER change log

  • Feature: Add update.sh script.
  • Feature: Added Rocky OS support for scripts.
  • Feature: Improved OS detection for scripts.
  • Feature: Removes satellite container as all is now supported within the API and database.
  • Feature: Set DNS entry of containers which call out to the Internet to install packages. This can be overridden
    with the DNS_RESOLVER value in .env. Default of Google 8.8.8.8 is used.
  • Feature: Documented all of the .env values in the README.
  • Feature: 4326 map tiles are now cached rather than reprojecting 3857.
  • Update: API 3.15.4, UI 3.13.4, GPU 1.10.1.
  • Update: Changed 3D container to use docker.io/debian:12.5 rather than docker.io/nvidia/cuda:12.
    2.2-runtime-ubuntu22.04 to support CentOS Podman and reduce number of dependencies.
  • Update: pgAdmin container updated to 8.12.
  • Fix: Some containers missing network assignment which was create secondary Docker network.
  • Fix: Remove hello-world from list of stopped container after testing with docker run hello-world.
  • Fix: Increase timeout of frontend Nginx container to 10 minutes to match that of the API Nginx container.
  • Fix: Display administration dashboard login during setup.sh script.
  • Fix: Set port number for SERVICE_API environment value when using Podman during setup.sh script.
  • Fix: Commenting out values in .env with # can cause errors with some parts of the system.
  • Fix: Some endpoints fail to load with or without trailing slash.
  • Fix: Non-standard HTTP/HTTPS ports redirecting incorrectly on some endpoints.
  • Fix: OSM.xml updated to use the FQDN of the server.
  • Fix: Disabled execution of setup.sh after first time execution.
  • Fix: Nvidia containers respinning at fast rate if there are issues with nvidia-smi
  • Fix: TAK Server Chatbot directory permissions
  • Fix: ca.crt download location updated.

More information

For more information on SOOTHSAYER, our self hosted server, see here.