Reaper Improvements

These are things that have not been designed into the system originally (were not in the DPM at CDR) but which have been noted during development as ways to improve REAPER.

General Doppler Calculation

This algorithm currently uses 2 consecutive records to estimate the velocity vector. This is imprecise compared to getting the information direct from the orbit. We could either use the orbit file at L2 and extract position and velocity (and this would also mean we could extract the 1Hz values directly rather than interpolating the 20Hz), or these fields could be put into the L1 product after the existing call.

Slope correction and elevation

We currently slope-correct the OCOG result. Would it be better to also slope-correct the ICE2 result?


There are some concerns about the time taken to execute the L2 chain. On a Transtec desktop (msslc2) with a 3.0GHz Intel Core 2 CPU, total execution time averaged 89 seconds, as of early Aug 2011. Some profiling was performed to see which activities/algorithms consumed the most time. Testing was performed on a Transtec desktop (msslc2) with a 3.0GHz Intel Core 2 CPU. Times are in seconds:

  • MLE retracker (j_L2CMLE4_proc): 25
  • Logging at DEBUG level: 12 (logging at PROGRESS level reduces this to 3 seconds)
  • L2_name2id lookups (see below): 8
  • Writing to netCDF (without cache): 4
  • Profiling: 3
  • ComputePercentageInDistanceS3: 3
  • j_L2UOCOG_proc: 2
Each other algorithm, or activity type, is consuming approx 1.5 seconds or less.

The Google profiler and GNU profiler disagree significantly in their results. Google profiler is unable to identify where the code is for 33% of the time. With GNU this rises to 67%. The difficulty may be with tracing the parent functions by traversing the stack, or I/O time, interrupts, but is not known. But they roughly agree on which of the (identifiable) tasks are consuming the most time.

Running the same 32-bit code, the Viglen Gaia server (msslus) was about 5% slower. Amongst many hardware differences the Viglen has a 64-bit CPU with 2.4 GHz clock speed.

Experimental Temporary Optimisations

These have been tried but not adopted in to the Reaper release code:

  • netCDF writes caching (TBD)
  • Reducing the max iterations on the MLE retracker from 25 to 10 saved 6 seconds. This may affect the quality of the results, so would need further investigation.

Adopted Optimisations


-- DavidBrockley - 12 Aug 2011

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | More topic actions...
Topic revision: r3 - 2011-08-30 - ChrisDolding
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback