Task 1) Creating an input routine for the flat ASCII text file that stores the constants and maintaining the constants file. Reading into a structure.

For lines 1 to 105 of the following table, create an ASCII file that contains dummy values. 1 per line, except if there are comma separated items in Name, Type and Unit, then one per item.
Create a C function that takes a filepointer and a structure pointer and fills the structure from the file.
Taking the first 5 lines as an example

ALT_RET_ICE_01 - OCOG retrack for LRM (CL2.LRM.CFI.Retracker - first part only) First version completed but TODOs need reviewing. Unit tests completed for algorithm but not for sub-functions

GEN_ENV_ECH_01 - SAR slope correction. There is an issue here about where to get the boresight vector from. At present, presume nadir pointing. In progress by DJB. Unit tests implemented but not yet cross-checking correctness of result

ALT_RET_ICE_04 - Dummy algorithm to merge MLE4 results. Currently does not need any actual code.

Algorithm completeness table. 'UT Calc' indicates whether the unit tests check the calculations made within the algorithm. 'IT state' is for integration tests. 'Done' does not imply that there are no outstanding TODO issues. Consult the bullet point list above for more detailed information.

Again, as for REAPER, most of these have parallels in Cryosat listed after them.

If you grab an algorithm to code here for S3, it is probably worth grabbing the same one for REAPER i.e. do OCOG for both.

Task 5) Internal structure ASCII dump algorithm.

Take the internal structure and output every variable in ASCII format.

Task 6) Reading S3 characterisation file

Attached to an email I circulated were a pair of files, one is the S3 characterisation file in netCDF format and the other is a dump of the same in text. Could I have a routine to read the netCDF into a C structure please? Is there a way to automatically generate this from the .txt file?

Done by DJB

Task7) Reading the S3 Geophysical file.

Another small task is a routine to read the S3 geophysical file into a structure. This is another CLS flat ASCII file like the configuration file.

There is an overview of what is needed in ALT_COR_RAN_06 (p21 of the culled version that just contains our stuff) of the S3 algorithms document.

The code needs to go into the function d_interpolate_model() which has been created in the ALT_COR_RAN_06 algorithm directory.

An email has been circulated with file format and sample code.

This code needs to duplicate an existing set of routines that were supplied as binary only. I'll create a unit test that verifies that it does so.

Task 8 claimed by LKG 02/12/10

Finished by DJB

TODO and FIXME comments in source code S3_SRC

Open Issues

In copy_global_attributes.c, "TODO should some attributes should be modified during copying, e.g. the "history", dates and/or file names?"

In ALT_MAN_INT_01 (in several source files), interpolation metrics are commented out because it's not clear if/where they should be stored. Are they wanted in S3?

In alg_ALT_MAN_WAV_02.c, there is a "TODO - decide whether to scale these or leave in L1 units" referring to: d_candidate_param[DISC_BEAMWIDTH_PARAM] = ...

In alg_GEN_ENV_ECH_01.c:

should a failure of j_CalcSARAttAz be fatal?

uncertainty on five inputs - are they the right values?

In ErrorManager.c, in vSignalFatalHandler(), "TODO Put the name of the signal into this message, if possible".

In jReadALGORITHM_CONSTANTS.c: /* Some useful values not from config file because we don't want them to be easily modified at this stage *//* TODO Decide whether these need to be in config or as annotations to the ADAS */

In jReadJobOrder.c, in jTimeASCIItoS3(), "TODO Make this appropriate for S3".

In nrcutil.c, in nrerror(), "TODO is this the right argument to SETUP_BREAKPOINT()".

In breakpoint.c, "FIXME Make i_outlog the correct type". May be an out-of-date comment?

In ALT_RET_ICE_03, min/max iteration limits are currently commented out (previously the 'min' value was being used as a max limit). The spec only mentions a maximum. Could be compared with ALT_RET_ICE_05 at some point. PARTIALLY FIXED on 16/3/2011: A max iterations limit pt_algorithm_constants->j_nb_max_fititerations_lr is now used. This value is currently (as of 16/3/2011) hard-coded to 30 in jReadALGORITHM_CONSTANTS.c. No minimum is used. The termination conditions should ideally be reviewed at some point, and compared with ALT_RET_ICE_05.

Closed Issues

In jReadJobOrder.c: "Hacked breakpoints to always be on". FIXED on 16/3/2011: The job order specifies whether breakpoints should be on or off. If not specified they default to being off.