Minimize Use Of Common Statements By Using Calling Sequences To Restrict And Define Module Interfaces

DO NOT USE THE SAME VARIABLE FOR BOTH INPUT AND OUTPUT TO A MODULE: i*., DO NOT CHANGE INPUT PARAMETERS

LOGICAL ERROR:

FAILURE OF SPECIAL CASES COORDINATE SINGULARITIES ISPHERICAL COORDINATES AT t90° DECLINATION: DIS CONTINUITY AT 0/380° RIGHT ASCENSIONI

INSUFFICIENT COMPUTATIONAL PRECISION NEAR MATHEMATICAL SINGULARITIES. (MATRIX INVERSION. INVERSE TRIGONOMETRIC F UNCTIONS. ETC.)

TIME CONVERSION ERRORS FOR LEAP YEARS. CROSSOVER AT END OF YEAR. CROSSOVER AT END OF DAY, ETC.

USE X. Y. Z COORDINATES FOR ALL CALCULATIONS ISEE SECTION 2.2)

CONVERT TO SPHERICAL.CORDINATES FOR I/O ONLY. CHECK FOR 0/360 CROSSOVER - e.g.. ADJUST RIGHT ASCENSIONS TO LIE WLTHIN 180° OF A SPECIFIED NOMINAL VALUE OR FORCE ROTATION ANGLE RESIDUALS TO THE RANGE -180° TO 180°

USE STANDARD VECTOR/MATRIX UTILITIES WHICH HANDLE SINGULARITIES PROPERLY (SEE SECTION 20.31

USE STANDARD UTILITY ROUTINES FOR CALENDAR TIME CONVERSION WHICH HANDLE ALL SPECIAL CASES ISEE SECTION 20.3). USE TIME IN SECONDS FROM A FIXED REFERENCE FOR ALL INTERNAL CALCULATIONS (SEE SECTION 1.4)

INSUFFICIENT ERROR CHECKING:

FAILURE TO TEST FOR ERROR CONDITIONS: DETECTED AN ERROR CONDITION AND RE > TURNED WITHOUT SETTING ALL EXPECTED OUTPUTS

PROVIDE AN ERROR RETURN CODE FROM ALL MODULES IN WHICH AN ERROR MIGHT BE DE -TECTED. CHECK THE ERROR CODE ON RETURN AND TAKE AN APPROPRIATE ACTION (SUCH AS SETTING THE ERROR CODE FOR THE NEXT HIGHER LEVEL MODULE AND RETURNING). IF PARTIAL OUTPUT MAY BE OBTAINED FOR SOME ERROR CONDITIONS. SET ALL OUTPUTS TO A DEFAULT VALUE BEFORE BEGINNING PROCESSING IN THE MODULE

INSUFFICIENT FLEXIBILITY:

UNABLE TO TURN OFF ALL PRINTOUT UNABLE TO CHANGE TOLERANCES UNABLE TO CHANGE FORTRAN UNIT NUM BERS FOR I/O

0 0

Post a comment