The OLA CKs are generated by the OLA data processing pipeline for each OLA level 1 record as follows. t = encoded sclk time (MET + MET offset, from the OLA level 1 record) az = OLA mirror azimuth angle from the OLA level 1 record el = OLA mirror elevation angle from the OLA level 1 record a = ( 0, 0, 1 ) b = ( x, y, z ), where x = sin( az ) y = sin( el ) z = sqrt( 1 - (x^2 - y^2) ) v = a X b, where "X" denotes the cross product s = ||v|| c = a . b, where "." denotes the dot product | 0 -v(2) v(1) | M = | v(2) 0 -v(0) | | -v(1) v(0) 0 | The rotation matrix taking vectors from the ORX_OLA_ART frame to the ORX_OLA_BASE frame is R = I + M + ( (1-c)/s^2 ) * M^2, where I is the identity matrix. I.e. v = [R] * v ORX_OLA_BASE ORX_OLA_ART where v is a vector in coordinate frame F. F For each record in the OLA level 1 data, t and the transpose of R are written to file and passed to SPICE MSOPCK to generate the OLA CK.