From 77155ed10712dcc85e6c4fe91697b71d0935cbd4 Mon Sep 17 00:00:00 2001 From: Glenn Dwiyatcita Date: Thu, 2 May 2019 16:11:42 +0200 Subject: [PATCH] Proof LATITUDE_LONGITUDE_SUBROUTINES #223 (#382) * Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(p1236/1242): Proof LATITUDE_LONGITUDE_SUBROUTINES #223 * wip(p1242/1242: DONE): Proof LATITUDE_LONGITUDE_SUBROUTINES #223 * wip(p1242/1242: polishing): Proof LATITUDE_LONGITUDE_SUBROUTINES #223 * Update Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc Co-Authored-By: dwiyatci * Update Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc Co-Authored-By: dwiyatci * Update Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc Co-Authored-By: dwiyatci --- .../LATITUDE_LONGITUDE_SUBROUTINES.agc | 145 +++++++++--------- 1 file changed, 72 insertions(+), 73 deletions(-) diff --git a/Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc b/Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc index 062b47f..fa4d098 100644 --- a/Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc +++ b/Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc @@ -31,20 +31,21 @@ # SUBROUTINE TO CONVERT RAD VECTOR AT GIVEN TIME TO LAT,LONG AND ALT # # CALLING SEQUENCE +# # L-1 CALL # L LAT-LONG -# # SUBROUTINES USED -# R-TO-RP, ARCTAN, SETGAMMA, SETRE # +# R-TO-RP,ARCTAN,SETGAMMA,SETRE # ERASABLE INIT. REQ. -# AXO, -AYO, AZO, TEPHEM (SET AT LAUNCH TIME) -# ALPHAV = POSITION VECTOR METERS B-29 -# MPAC -- TIME (CSECS B-28) -# ERADFLAG =1, TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS -# LUNAFLAG=0 FOR EARTH, 1 FOR MOON # +# AXO,-AYO,AZO,TEPHEM (SET AT LAUNCH TIME) +# ALPHAV = POSITION VECTOR METERS B-29 +# MPAC-- TIME (CSECS B-28) +# ERADFLAG =1, TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS +# LUNAFLAG=0 FOR EARTH,1 FOR MOON # OUTPUT +# # LATITUDE IN LAT (REVS. B-0) # LONGITUDE IN LONG (REVS. B-0) # ALTITUDE IN ALT METERS B-29 @@ -63,16 +64,16 @@ LAT-LONG STQ SETPD ALPHAV PUSH ABVAL # 0-5D= R FOR R-TO-RP STODL ALPHAM # ABS. VALUE OF R FOR ALT FORMULA BELOW - ZEROVEC # SET MPAC=0 FOR EARTH, NON-ZERO FOR MOON + ZEROVEC # SET MPAC=0 FOR EARTH,NON-ZERO FOR MOON BOFF COS # USE COS(0) TO GET NON-ZERO IN MPAC - LUNAFLAG # 0=EARTH, 1=MOON + LUNAFLAG # 0=EARTH,1=MOON CALLRTRP CALLRTRP CALL R-TO-RP # RP VECTOR CONVERTED FROM R B-29 UNIT # UNIT RP B-1 STCALL ALPHAV # U2= 1/2 SINL FOR SETRE SUBR BELOW - SETGAMMA # SET GAMMA=B2/A2 FOR EARTH, =1 FOR MOON - CALL # SCALED B-1. + SETGAMMA # SET GAMMA=B2/A2 FOR EARTH,=1 FOR MOON + CALL # SCALED B-1 SETRE # CALC RE METERS B-29 DLOAD DSQ ALPHAV @@ -100,48 +101,46 @@ CALLRTRP CALL INCORPEX # Page 1238 # SUBROUTINE TO CONVERT LAT,LONG.ALT AT GIVEN TIME TO RADIUS VECTOR -# # CALLING SEQUENCE + # L-1 CALL # L LALOTORV -# # SUBROUTINES USED -# SETGAMMA, SETRE, RP-TO-R -# +# SETGAMMA,SETRE,RP-TO-R # ERASABLE INIT. REQ. -# AXO, AYO, AZO, TEPHEM SET AT LAUNCH TIME -# LAT -- LATITUDE (REVS B0) -# LONG -- LONGITUDE (REVS B0) -# ALT -- ALTITUDE (METERS) B-29 -# MPAC -- TIME (CSECS B-28) -# ERADFLAG =1 TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS -# LUNAFLAG=0 FOR EARTH, 1 FOR MOON -# -# OUTPUT -# R-VECTOR IN ALPHAV (METERS B-29) +# AXO,AYO,AZO,TEPHEM SET AT LAUNCH TIME +# LAT-- LATITUDE (REVS B0) +# LONG-- LONGITUDE (REVS B0) +# ALT--ALTITUDE (METERS) B-29 +# MPAC-- TIME (CSECS B-28) +# ERADFLAG =1 TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS +# LUNAFLAG=0 FOR EARTH,1 FOR MOON +# OUTPUT + +# R-VECTOR IN ALPHAV (METERS B-29) LALOTORV STQ SETPD # LAT,LONG,ALT TO R VECTOR INCORPEX 0D - STCALL 6D # 6-7D = TIME FOR RP-TO-R - SETGAMMA # GAMMA = B2/A2 FOR EARTH, 1 FOR MOON B-1 - DLOAD SIN # COS(LONG)COS(LAT) IN MPAC - LAT # UNIT RP = SIN(LONG)COS(LAT) 2-3D - DMPR PDDL # PD 2 GAMMA*SIN(LAT) 0-1D + STCALL 6D # 6-7D= TIME FOR RP-TO-R + SETGAMMA # GAMMA=B2/A2 FOR EARTH,1 FOR MOON B-1 + DLOAD SIN # COS(LONG)COS(LAT) IN MPAC + LAT # UNIT RP= SIN(LONG)COS(LAT) 2-3D + DMPR PDDL # PD 2 GAMMA*SIN(LAT) 0-1D GAMRP - LAT # 0-1D = GAMMA*SIN(LAT) B-2 - COS PDDL # PD4 2-3D= COS(LAT) B-1 TEMPORARILY + LAT # 0-1D = GAMMA*SIN(LAT) B-2 + COS PDDL # PD4 2-3D=COS(LAT) B-1 TEMPORARILY LONG SIN DMPR # PD 2 - PDDL COS # PD 4 2-3D= SIN(LONG)COS(LAT) B-2 + PDDL COS # PD 4 2-3D=SIN(LONG)COS(LAT) B-2 LAT - PDDL COS # PD 6 4-5D= COS(LAT) B-1 TEMPORARILY + PDDL COS # PD 6 4-5D=COS(LAT) B-1 TEMPORARILY LONG - DMPR VDEF # PD4 MPAC = COS(LONG)COS(LAT) B-2 - UNIT PUSH # 0-5D = UNIT RP FOR RP-TO-R SUBR. + DMPR VDEF # PD4 MPAC= COS(LONG)COS(LAT) B-2 + UNIT PUSH # 0-5D= UNIT RP FOR RP-TO-R SUBR. STCALL ALPHAV # ALPHAV +4= SINL FOR SETRE SUBR. SETRE # RE METERS B-29 - DLOAD BOFF # SET MPAC = 0 FOR EARTH, NON-ZERO FOR MOON + DLOAD BOFF # SET MPAC=0 FOR EARTH,NON-ZERO FOR MOON ZEROVEC LUNAFLAG CALLRPRT @@ -157,13 +156,14 @@ CALLRPRT CALL VSL1 # R METERS B-29 STCALL ALPHAV # EXIT WITH R IN METERS B-29 INCORPEX - # SUBROUTINE TO COMPUTE EARTH RADIUS -# + # INPUT + # 1/2 SIN LAT IN ALPHAV +4 -# + # OUTPUT + # EARTH RADIUS IN ERADM AND MPAC (METERS B-29) GETERAD DLOAD DSQ @@ -179,10 +179,10 @@ GETERAD DLOAD DSQ STORE ERADM RVQ -# THE FOLLOWING CONSTANTS WERE COMPUTED WITH A=6378166, B=6356784 METERS -# B2XSC = B**2 SCALED B-51 -# B2/A2 = B**2/A**2 SCALED B-1 -# EE = (1-B**2/A**2) SCALED B-0 +# THE FOLLOWING CONSTANTS WERE COMPUTED WITH A=6378166,B=6356784 METERS +# B2XSC= B**2 SCALED B-51 +# B2/A2= B**2/A**2 SCALED B-1 +# EE=(1-B**2/A**2) SCALED B-0 B2XSC 2DEC .0179450689 # B**2 SCALED B-51 @@ -195,12 +195,14 @@ ERAD 2DEC 6373338 B-29 # PAD RADIUS # Page 1240 # ARCTAN SUBROUTINE -# + + # CALLING SEQUENCE + # SIN THETA IN SINTH B-1 # COS THETA IN COSTH B-1 # CALL ARCTAN -# + # OUTPUT # ARCTAN THETA IN MPAC AND THETA B-0 IN RANGE -1/2 TO +1/2 @@ -212,7 +214,7 @@ CLROVFLW DLOAD DSQ COSTH DAD BZE SQRT - ARCTANXX # ATAN=0/0. SET THETA=0 + ARCTANXX # ATAN=0/0 SET THETA=0 BDDV BOV SINTH ATAN=90 @@ -243,19 +245,19 @@ ATAN=90 DLOAD SIGN # Page 1241 # ***** SETGAMMA SUBROUTINE ***** # SUBROUTINE TO SET GAMMA FOR THE LAT-LONG AND LALOTORV SUBROUTINES -# + # GAMMA = B**2/A**2 FOR EARTH (B-1) # GAMMA = 1 FOR MOON (B-1) -# + # CALLING SEQUENCE -# L CALL -# L+1 SETGAMMA -# +# L CALL +# L+1 SETGAMMA + # INPUT -# LUNAFLAG=0 FOR EARTH, =1 FOR MOON -# +# LUNAFLAG=0 FOR EARTH,=1 FOR MOON + # OUTPUT -# GAMMA IN GAMRP (B-1) +# GAMMA IN GAMRP (B-1) SETGAMMA DLOAD BOFF # BRANCH FOR EARTH B2/A2 # EARTH GAMMA @@ -270,25 +272,25 @@ GAMRP = 8D # Page 1242 # ***** SETRE SUBROUTINE ***** # SUBROUTINE TO SET RE (EARTH OR MOON RADIUS) -# -# RE = RM FOR MOON -# RE = RREF FOR FIXED EARTH RADIUS OR COMPUTED RF FOR FISCHER ELLIPSOID -# + +# RE= RM FOR MOON +# RE= RREF FOR FIXED EARTH RADIUS OR COMPUTED RF FOR FISCHER ELLIPSOID + # CALLING SEQUENCE # L CALL # L+1 SETRE -# + # SUBROUTINES USED -# CETERAD -# +# GETERAD + # INPUT -# ERADFLAG = 0 FOR FIXED RE, 1 FOR COMPUTED RE -# ALPHAV +4 = 1/2 SINL IF GETERAD IS CALLED -# LUNAFLAG = 0 FOR EARTH, =1 FOR MOON -# +# ERADFLAG=0 FOR FIXED RE, 1 FOR COMPUTED RE +# ALPHAV +4= 1/2 SINL IF GETERAD IS CALLED +# LUNAFLAG=0 FOR EARTH,=1 FOR MOON + # OUTPUT -# ERADM = 504RM FOR MOON (METERS B-29) -# ERADM = ERAD OR COMPUTED RE FOR EARTH (METERS B-29) +# ERADM= 504RM FOR MOON (METERS B-29) +# ERADM= ERAD OR COMPUTED RF FOR EARTH (METERS B-29) SETRE STQ DLOAD SETREX @@ -297,13 +299,13 @@ SETRE STQ DLOAD LUNAFLAG TSTRLSRM ERAD - BOFF CALL # ERADFLAG=0 FOR FIXED RE, 1 FOR COMPUTED + BOFF CALL # ERADFLAG=0 FOR FIXED RE,1 FOR COMPUTED ERADFLAG SETRXX GETERAD SETRXX STCALL ERADM # EXIT WITH RE OR RM METERS B-29 SETREX -TSTRLSRM BON VLOAD # ERADFLAG=0, SET R0=RLS +TSTRLSRM BON VLOAD # ERADFLAG=0,SET R0=RLS ERADFLAG # =1 R0=RM SETRXX RLS @@ -313,6 +315,3 @@ TSTRLSRM BON VLOAD # ERADFLAG=0, SET R0=RLS SETREX = S2 504RM 2DEC 1738090 B-29 # METERS B-29 (MOON RADIUS) - - -