SOFA documentation


Basic principles


SOFA doesn't need actually an "installation" procedure. It needs a python 3.x environment with the right modules and then it can be just downloaded and run. The needed modules are:

  • sys
  • argparse
  • math
  • numpy
  • scipy
  • osgeo.gdal
  • multiprocessing.Pool (not necessary but needed for parallel computation)
  • itertools (needed only if no multiprocessing is used)


The parameters/files used as input in SOFA are described within the code (more documentation will be provided in an undefined time in the future...). Input files are supposed to be derived from SHARAD EDR files present on the PDS. Orbital information could be also re-derived using SPICE kernels for a better accuracy with respect to EDR data. All the input files must share the same base filename, and different files are identified by their suffix. Assuming, e.g., that the base filename is input_radargram, you need to provide the following files:

  • input_radargram and input_radargram.hdr: unprocessed radargram in ENVI format (data_type = 5, float64)
  • input_radargram_rxwin: RX window aperture offset, as given in the RECEIVE_WINDOW_OPENING_TIME field of SHARAD EDR data (float64 array)
  • input_radargram_x: X position of spacecraft in meters (text)
  • input_radargram_y: Y position of spacecraft in meters (text)
  • input_radargram_z: Z position of spacecraft in meters (text)
  • input_radargram_v_x: X spacecraft velocity (text, not used, can be zeros)
  • input_radargram_v_y: Y spacecraft velocity (text, not used, can be zeros)
  • input_radargram_v_z: Z spacecraft velocity (text, not used, can be zeros)
  • input_radargram_lat: latitude of spacecraft in decimal degrees (text)
  • input_radargram_long: longitude of spacecraft in decimal degrees (text)

MOLA radius data can be obtained on the PDS (link).

Basic principles

SOFA has been developed by following the description given in the document "U.S. Shallow Radar (SHARAD) Data Product Description for the Planetary Data System" (link). The algorithm has been extended to allow the possibility to focus using different squint angles by proper phase shifting during the focusing process. This allows one to generate new products which may be used for improved analysis of SHARAD radargrams. See, e.g., the Radargram enhancement and target physical slope estimation page and the paper Squinted SAR focusing for improving automatic radar sounder data analysis and enhancement.