*IF DEF,C90_1A,OR,DEF,C90_2A,OR,DEF,C90_2B,OR,DEF,RECON                    AAD2F404.300    
C ******************************COPYRIGHT******************************    GTS2F400.757    
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.758    
C                                                                          GTS2F400.759    
C Use, duplication or disclosure of this code is subject to the            GTS2F400.760    
C restrictions as set forth in the contract.                               GTS2F400.761    
C                                                                          GTS2F400.762    
C                Meteorological Office                                     GTS2F400.763    
C                London Road                                               GTS2F400.764    
C                BRACKNELL                                                 GTS2F400.765    
C                Berkshire UK                                              GTS2F400.766    
C                RG12 2SZ                                                  GTS2F400.767    
C                                                                          GTS2F400.768    
C If no contract has been raised with this copy of the code, the use,      GTS2F400.769    
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.770    
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.771    
C Modelling at the above address.                                          GTS2F400.772    
C ******************************COPYRIGHT******************************    GTS2F400.773    
C                                                                          GTS2F400.774    
CLL   SUBROUTINE CALC_TS ---------------------------------------------     CALCTS1A.3      
CLL                                                                        CALCTS1A.4      
CLL   PURPOSE:   CALCULATES TEMPERATURE AS A FUNCTION OF PRESSURE USING    CALCTS1A.5      
CLL              THE UNIFIED MODEL STANDARD ATMOSPHERE.                    CALCTS1A.6      
CLL                                                                        CALCTS1A.7      
CLL   VERSION FOR CRAY Y-MP                                                CALCTS1A.8      
CLL   NOT SUITABLE FOR I.B.M. USE.                                         CALCTS1A.9      
CLL                                                                        CALCTS1A.10     
CLL   WRITTEN BY M.H MAWSON.                                               CALCTS1A.11     
CLL                                                                        CALCTS1A.12     
CLL  MODEL            MODIFICATION HISTORY FROM MODEL VERSION 3.0:         CALCTS1A.13     
CLL VERSION  DATE                                                          CALCTS1A.14     
CLL                                                                        CALCTS1A.15     
CLL   3.4  13/04/94   DEF LINEARTS REPLACED BY LOGICAL LLINTS              GSS1F304.171    
CLL                                                   S.J.SWARBRICK        GSS1F304.172    
CLL                                                                        GSS1F304.173    
CLL   PROGRAMMING STANDARD: UNIFIED MODEL DOCUMENTATION PAPER NO. 4,       CALCTS1A.16     
CLL                         STANDARD A. VERSION 2, DATED 18/01/90          CALCTS1A.17     
CLL                                                                        CALCTS1A.18     
CLL   LOGICAL COMPONENTS COVERED: P195                                     CALCTS1A.19     
CLL                                                                        CALCTS1A.20     
CLL   PROJECT TASK: P1                                                     CALCTS1A.21     
CLL                                                                        CALCTS1A.22     
CLL   DOCUMENTATION: APPENDIX 2 OF DOCUMENTATION PAPER 10.                 CALCTS1A.23     
CLL                  BY M.J.P.CULLEN, T.DAVIES AND M.H.MAWSON,             CALCTS1A.24     
CLL                  VERSION 9 ,DATED 27/06/90                             CALCTS1A.25     
CLLEND-------------------------------------------------------------        CALCTS1A.26     
C                                                                          CALCTS1A.27     
C*L   ARGUMENTS:---------------------------------------------------        CALCTS1A.28     

      SUBROUTINE CALC_TS                                                    9CALCTS1A.29     
     1  (P,TS,POINTS,CONSTANT_PRESSURE,LLINTS)                             GSS1F304.174    
                                                                           CALCTS1A.31     
      IMPLICIT NONE                                                        CALCTS1A.32     
      LOGICAL  LLINTS  ! LOGICAL SWITCH FOR LINEAR TS CALC                 GSS1F304.175    
                                                                           CALCTS1A.33     
      INTEGER                                                              CALCTS1A.34     
     *  POINTS           !IN NUMBER OF POINTS OVER WHICH CALCULATION       CALCTS1A.35     
     *                   ! IS TO BE PERFORMED.                             CALCTS1A.36     
                                                                           CALCTS1A.37     
      REAL                                                                 CALCTS1A.38     
     * P(POINTS)         !IN    PRESSURE VALUES.                           CALCTS1A.39     
                                                                           CALCTS1A.40     
      REAL                                                                 CALCTS1A.41     
     * TS(POINTS)        !OUT U.M. STANDARD TEMPERATURE AT PRESSURE P.     CALCTS1A.42     
                                                                           CALCTS1A.43     
      LOGICAL                                                              CALCTS1A.44     
     * CONSTANT_PRESSURE !IN. IF TRUE THEN P CONTAINS THE SAME VALUES      CALCTS1A.45     
     *                   ! FOR ALL POINTS.                                 CALCTS1A.46     
C*---------------------------------------------------------------------    CALCTS1A.47     
                                                                           CALCTS1A.48     
C*L   DEFINE ARRAYS AND VARIABLES USED IN THIS ROUTINE-----------------    CALCTS1A.49     
CL    NO LOCAL ARRAYS NEEDED.                                              CALCTS1A.50     
C*---------------------------------------------------------------------    CALCTS1A.51     
C REAL SCALARS                                                             CALCTS1A.53     
      REAL                                                                 CALCTS1A.54     
     *  TERM1,TERM2,TERM3,TERM4,TERM5,TERM6,CONST                          CALCTS1A.55     
C COUNT VARIABLES FOR DO LOOPS                                             CALCTS1A.57     
      INTEGER                                                              CALCTS1A.58     
     *  I                                                                  CALCTS1A.59     
                                                                           CALCTS1A.60     
C*L   NO EXTERNAL SUBROUTINE CALLS.------------------------------------    CALCTS1A.61     
C*---------------------------------------------------------------------    CALCTS1A.62     
CL    CALL COMDECK TO OBTAIN CONSTANTS USED.                               CALCTS1A.63     
                                                                           CALCTS1A.64     
*CALL C_CALCTS                                                             CALCTS1A.65     
                                                                           CALCTS1A.66     
CL    MAXIMUM VECTOR LENGTH IS DETERMINED BY POINTS.                       CALCTS1A.67     
CL                                                                         CALCTS1A.68     
CL---------------------------------------------------------------------    CALCTS1A.69     
CL    INTERNAL STRUCTURE.                                                  CALCTS1A.70     
CL---------------------------------------------------------------------    CALCTS1A.71     
CL                                                                         GSS1F304.176    
C                                                                          GSS1F304.177    
      IF (LLINTS) THEN                                                     GSS1F304.178    
CL                                                                         GSS1F304.179    
CL    CODE USES SIMPLE LINEAR APPROXIMATION TO TS FOR ALL PRESSURE         CALCTS1A.73     
CL    VALUES. THIS IS TO MININISE COST.                                    CALCTS1A.74     
CL                                                                         CALCTS1A.75     
CL    SECTION 1. CALCULATE TS AT PRESSURE P.                               CALCTS1A.76     
CL---------------------------------------------------------------------    CALCTS1A.77     
                                                                           CALCTS1A.78     
CL    IF CONSTANT_PRESSURE THEN CALCULATE TS FOR ONE POINT ONLY            CALCTS1A.79     
CL    AND THEN SET ALL OTHER POINTS TO THIS VALUE.                         CALCTS1A.80     
CL    TS = AS0*P + BS0                                                     CALCTS1A.81     
CL                                                                         CALCTS1A.82     
                                                                           CALCTS1A.83     
      IF(CONSTANT_PRESSURE) THEN                                           CALCTS1A.84     
          TS(1) = AS0 * P(1) + BS0                                         CALCTS1A.85     
                                                                           CALCTS1A.86     
        DO 100 I=2,POINTS                                                  CALCTS1A.87     
          TS(I) = TS(1)                                                    CALCTS1A.88     
 100    CONTINUE                                                           CALCTS1A.89     
      ELSE                                                                 CALCTS1A.90     
                                                                           CALCTS1A.91     
CL    ELSE CALCULATE TS FOR ALL POINTS.                                    CALCTS1A.92     
                                                                           CALCTS1A.93     
        DO 200 I=1,POINTS                                                  CALCTS1A.94     
          TS(I) = AS0 * P(I) + BS0                                         CALCTS1A.95     
 200    CONTINUE                                                           CALCTS1A.96     
      END IF                                                               CALCTS1A.97     
CL                                                                         GSS1F304.180    
      ELSE      ! LLINTS                                                   GSS1F304.181    
CL                                                                         GSS1F304.182    
CL    CALCULATE TS CLOSE TO U.M.S.A PROFILE.                               CALCTS1A.99     
CL    EXPONENTIATION HAS BEEN REPLACED BY A TAYLOR SERIES EXPANSION        CALCTS1A.100    
CL    WHICH IS ACCURATE TO AT WORST ONE DEGREE KELVIN.                     CALCTS1A.101    
CL                                                                         CALCTS1A.102    
CL    SECTION 1. CALCULATE TS AT PRESSURE P.                               CALCTS1A.103    
CL---------------------------------------------------------------------    CALCTS1A.104    
                                                                           CALCTS1A.105    
CL    IF CONSTANT_PRESSURE THEN CALCULATE TS FOR FIRST POINT ONLY          CALCTS1A.106    
CL    AND THEN SET ALL OTHER POINTS TO THIS VALUE.                         CALCTS1A.107    
CL    OTHERWISE PERFORM CALCULATION AT ALL POINTS.                         CALCTS1A.108    
CL                                                                         CALCTS1A.109    
                                                                           CALCTS1A.110    
      IF(CONSTANT_PRESSURE) THEN                                           CALCTS1A.111    
C----------------------------------------------------------------------    CALCTS1A.112    
CL    SECTION 1.1 IF PRESSURE ABOVE P_ISO THEN                             CALCTS1A.113    
CL                TS = TS0*(P0/P)**(R*L0/G)                                CALCTS1A.114    
CL                IS REWRITTEN AS TS=TS0*(P/P0)**(-R*L0/G).                CALCTS1A.115    
CL                THIS IS REPLACED BY THE TAYLOR EXPANSION STOPPED         CALCTS1A.116    
CL                AFTER 5 TERMS EXPANDED ABOUT A WHERE A=(PB+PT)/2*PB      CALCTS1A.117    
CL                THIS SECTION USES PARAMETERS SUFFIXED BY 1.              CALCTS1A.118    
C----------------------------------------------------------------------    CALCTS1A.119    
                                                                           CALCTS1A.120    
        IF(P(1).GT.P_ISO) THEN                                             CALCTS1A.121    
          CONST = (P(1)*RECIP_P0-A1)*RECIP_A1                              CALCTS1A.122    
          TERM1 = 1.+ CONST*(MINUS_RLG1-5.)*ONE_SIXTH                      CALCTS1A.123    
          TERM2 = 1. +TERM1*CONST*(MINUS_RLG1-4.)*.2                       CALCTS1A.124    
          TERM3 = 1. +TERM2*CONST*(MINUS_RLG1-3.)*.25                      CALCTS1A.125    
          TERM4 = 1. +TERM3*CONST*(MINUS_RLG1-2.)*ONE_THIRD                CALCTS1A.126    
          TERM5 = 1. +TERM4*CONST*(MINUS_RLG1-1.)*.5                       CALCTS1A.127    
          TERM6 = A1_TO_MINUS_RLG1*(1. +TERM5*CONST*MINUS_RLG1)            CALCTS1A.128    
          TS(1) = TS0* TERM6                                               CALCTS1A.129    
                                                                           CALCTS1A.130    
C----------------------------------------------------------------------    CALCTS1A.131    
CL    SECTION 1.2 IF PRESSURE ABOVE P_ISO BUT LESS THAN P_LOW_STRAT THEN   CALCTS1A.132    
CL                TS = T_ISO WHICH IS A CONSTANT.                          CALCTS1A.133    
C----------------------------------------------------------------------    CALCTS1A.134    
                                                                           CALCTS1A.135    
        ELSE IF(P(1).LE.P_ISO.AND.P(1).GE.P_LOW_STRAT) THEN                CALCTS1A.136    
          TS(1) = T_ISO                                                    CALCTS1A.137    
                                                                           CALCTS1A.138    
C----------------------------------------------------------------------    CALCTS1A.139    
CL    SECTION 1.3 IF PRESSURE BELOW P_LOW_STRAT BUT GREATER THAN           CALCTS1A.140    
CL                P_MID_STRAT                                              CALCTS1A.141    
CL                TS = T_ISO*(P_LOW_STRAT/P)**(R*L_LOW_STRAT/G)            CALCTS1A.142    
CL                TS IS EVALUATED AS DESCRIBED IN SECTION 1.1              CALCTS1A.143    
CL                PARAMETERS IN THIS SECTION ARE SUFFIXED 2.               CALCTS1A.144    
C----------------------------------------------------------------------    CALCTS1A.145    
                                                                           CALCTS1A.146    
        ELSE IF(P(1).LT.P_LOW_STRAT.AND.P(1).GT.P_MID_STRAT) THEN          CALCTS1A.147    
          CONST = (P(1)*RECIP_P_LOW_STRAT-A2)*RECIP_A2                     CALCTS1A.148    
          TERM1 = 1.+ CONST*(MINUS_RLG2-5.)*ONE_SIXTH                      CALCTS1A.149    
          TERM2 = 1. +TERM1*CONST*(MINUS_RLG2-4.)*.2                       CALCTS1A.150    
          TERM3 = 1. +TERM2*CONST*(MINUS_RLG2-3.)*.25                      CALCTS1A.151    
          TERM4 = 1. +TERM3*CONST*(MINUS_RLG2-2.)*ONE_THIRD                CALCTS1A.152    
          TERM5 = 1. +TERM4*CONST*(MINUS_RLG2-1.)*.5                       CALCTS1A.153    
          TERM6 = A2_TO_MINUS_RLG2*(1. +TERM5*CONST*MINUS_RLG2)            CALCTS1A.154    
          TS(1) = T_ISO* TERM6                                             CALCTS1A.155    
                                                                           CALCTS1A.156    
C----------------------------------------------------------------------    CALCTS1A.157    
CL    SECTION 1.4 IF PRESSURE BELOW P_MID_STRAT BUT GREATER THAN           CALCTS1A.158    
CL                P_UPPER_STRAT                                            CALCTS1A.159    
CL                TS = T_MID_STRAT*(P_MID_STRAT/P)**(R*L_MID_STRAT/G)      CALCTS1A.160    
CL                TS IS EVALUATED AS DESCRIBED IN SECTION 1.1              CALCTS1A.161    
CL                PARAMETERS IN THIS SECTION ARE SUFFIXED 3.               CALCTS1A.162    
C----------------------------------------------------------------------    CALCTS1A.163    
                                                                           CALCTS1A.164    
        ELSE IF(P(1).LT.P_MID_STRAT.AND.P(1).GT.P_UPPER_STRAT) THEN        CALCTS1A.165    
          CONST = (P(1)*RECIP_P_MID_STRAT-A3)*RECIP_A3                     CALCTS1A.166    
          TERM1 = 1.+ CONST*(MINUS_RLG3-5.)*ONE_SIXTH                      CALCTS1A.167    
          TERM2 = 1. +TERM1*CONST*(MINUS_RLG3-4.)*.2                       CALCTS1A.168    
          TERM3 = 1. +TERM2*CONST*(MINUS_RLG3-3.)*.25                      CALCTS1A.169    
          TERM4 = 1. +TERM3*CONST*(MINUS_RLG3-2.)*ONE_THIRD                CALCTS1A.170    
          TERM5 = 1. +TERM4*CONST*(MINUS_RLG3-1.)*.5                       CALCTS1A.171    
          TERM6 = A3_TO_MINUS_RLG3*(1. +TERM5*CONST*MINUS_RLG3)            CALCTS1A.172    
          TS(1) = T_MID_STRAT* TERM6                                       CALCTS1A.173    
                                                                           CALCTS1A.174    
C----------------------------------------------------------------------    CALCTS1A.175    
CL    SECTION 1.5 IF PRESSURE BELOW P_UPPER_STRAT BUT GREATER THAN         CALCTS1A.176    
CL                P_MESO                                                   CALCTS1A.177    
CL                TS = T_UPPER_STRAT                                       CALCTS1A.178    
C----------------------------------------------------------------------    CALCTS1A.179    
                                                                           CALCTS1A.180    
        ELSE IF(P(1).LT.P_UPPER_STRAT.AND.P(1).GT.P_MESO) THEN             CALCTS1A.181    
          TS(1) = T_UPPER_STRAT                                            CALCTS1A.182    
                                                                           CALCTS1A.183    
C----------------------------------------------------------------------    CALCTS1A.184    
CL    SECTION 1.6 IF PRESSURE BELOW P_MESO BUT GREATER THAN P_MIN.         CALCTS1A.185    
CL                USE STANDARD MESOSPHERE.                                 CALCTS1A.186    
CL                TS IS EVALUATED AS DESCRIBED IN SECTION 1.1              CALCTS1A.187    
CL                PARAMETERS IN THIS SECTION ARE SUFFIXED 4.               CALCTS1A.188    
C----------------------------------------------------------------------    CALCTS1A.189    
                                                                           CALCTS1A.190    
        ELSE IF(P(1).LT.P_MESO.AND.P(1).GT.P_MIN) THEN                     CALCTS1A.191    
          CONST = (P(1)*RECIP_P_MESO-A4)*RECIP_A4                          CALCTS1A.192    
          TERM1 = 1.+ CONST*(MINUS_RLG4-5.)*ONE_SIXTH                      CALCTS1A.193    
          TERM2 = 1. +TERM1*CONST*(MINUS_RLG4-4.)*.2                       CALCTS1A.194    
          TERM3 = 1. +TERM2*CONST*(MINUS_RLG4-3.)*.25                      CALCTS1A.195    
          TERM4 = 1. +TERM3*CONST*(MINUS_RLG4-2.)*ONE_THIRD                CALCTS1A.196    
          TERM5 = 1. +TERM4*CONST*(MINUS_RLG4-1.)*.5                       CALCTS1A.197    
          TERM6 = A4_TO_MINUS_RLG4*(1. +TERM5*CONST*MINUS_RLG4)            CALCTS1A.198    
          TS(1) = T_UPPER_STRAT* TERM6                                     CALCTS1A.199    
                                                                           CALCTS1A.200    
C----------------------------------------------------------------------    CALCTS1A.201    
CL    SECTION 1.7 IF PRESSURE BELOW P_MIN.                                 CALCTS1A.202    
CL                SET TO T_MIN.                                            CALCTS1A.203    
C----------------------------------------------------------------------    CALCTS1A.204    
                                                                           CALCTS1A.205    
        ELSE                                                               CALCTS1A.206    
          TS(1) = T_MIN                                                    CALCTS1A.207    
                                                                           CALCTS1A.208    
        ENDIF                                                              CALCTS1A.209    
                                                                           CALCTS1A.210    
C----------------------------------------------------------------------    CALCTS1A.211    
CL    SECTION 1.8  IF CONSTANT_PRESSURE SET TS VALUES FROM POINT           CALCTS1A.212    
CL                 NUMBER 2 TO POINTS EQUAL TO TS VALUE CALCULATED         CALCTS1A.213    
CL                 FOR POINT NUMBER 1.                                     CALCTS1A.214    
C----------------------------------------------------------------------    CALCTS1A.215    
                                                                           CALCTS1A.216    
        DO 180 I=2,POINTS                                                  CALCTS1A.217    
          TS(I) = TS(1)                                                    CALCTS1A.218    
 180    CONTINUE                                                           CALCTS1A.219    
      ELSE                                                                 CALCTS1A.220    
                                                                           CALCTS1A.221    
C NOT CONSTANT PRESSURE SO LOOP OVER ALL POINTS.                           CALCTS1A.222    
C CODE SECTIONS ARE AS ABOVE.                                              CALCTS1A.223    
                                                                           CALCTS1A.224    
CMIC$ DO ALL VECTOR AUTOSCOPE                                              CALCTS1A.225    
CDIR$ IVDEP                                                                CALCTS1A.226    
! Fujitsu vectorization directive                                          GRB0F405.197    
!OCL NOVREC                                                                GRB0F405.198    
        DO 300 I=1,POINTS                                                  GSS1F304.183    
C----------------------------------------------------------------------    CALCTS1A.228    
C     SECTION 2.1 IF PRESSURE ABOVE P_ISO THEN                             CALCTS1A.229    
C                 TS = TS0*(P0/P)**(R*L0/G)                                CALCTS1A.230    
C----------------------------------------------------------------------    CALCTS1A.231    
                                                                           CALCTS1A.232    
          IF(P(I).GT.P_ISO) THEN                                           CALCTS1A.233    
            CONST = (P(I)*RECIP_P0-A1)*RECIP_A1                            CALCTS1A.234    
            TERM1 = 1.+ CONST*(MINUS_RLG1-5.)*ONE_SIXTH                    CALCTS1A.235    
            TERM2 = 1. +TERM1*CONST*(MINUS_RLG1-4.)*.2                     CALCTS1A.236    
            TERM3 = 1. +TERM2*CONST*(MINUS_RLG1-3.)*.25                    CALCTS1A.237    
            TERM4 = 1. +TERM3*CONST*(MINUS_RLG1-2.)*ONE_THIRD              CALCTS1A.238    
            TERM5 = 1. +TERM4*CONST*(MINUS_RLG1-1.)*.5                     CALCTS1A.239    
            TERM6 = A1_TO_MINUS_RLG1*(1. +TERM5*CONST*MINUS_RLG1)          CALCTS1A.240    
            TS(I) = TS0* TERM6                                             CALCTS1A.241    
                                                                           CALCTS1A.242    
C----------------------------------------------------------------------    CALCTS1A.243    
C     SECTION 2.2 IF PRESSURE ABOVE P_ISO BUT LESS THAN P_LOW_STRAT THEN   CALCTS1A.244    
C                 TS = T_ISO WHICH IS A CONSTANT.                          CALCTS1A.245    
C----------------------------------------------------------------------    CALCTS1A.246    
                                                                           CALCTS1A.247    
          ELSE IF(P(I).LE.P_ISO.AND.P(I).GE.P_LOW_STRAT) THEN              CALCTS1A.248    
            TS(I) = T_ISO                                                  CALCTS1A.249    
                                                                           CALCTS1A.250    
C----------------------------------------------------------------------    CALCTS1A.251    
C     SECTION 2.3 IF PRESSURE BELOW P_LOW_STRAT BUT GREATER THAN           CALCTS1A.252    
C                 P_MID_STRAT                                              CALCTS1A.253    
C                 TS = T_ISO*(P_LOW_STRAT/P)**(R*L_LOW_STRAT/G)            CALCTS1A.254    
C----------------------------------------------------------------------    CALCTS1A.255    
                                                                           CALCTS1A.256    
          ELSE IF(P(I).LT.P_LOW_STRAT.AND.P(I).GT.P_MID_STRAT) THEN        CALCTS1A.257    
            CONST = (P(I)*RECIP_P_LOW_STRAT-A2)*RECIP_A2                   CALCTS1A.258    
            TERM1 = 1.+ CONST*(MINUS_RLG2-5.)*ONE_SIXTH                    CALCTS1A.259    
            TERM2 = 1. +TERM1*CONST*(MINUS_RLG2-4.)*.2                     CALCTS1A.260    
            TERM3 = 1. +TERM2*CONST*(MINUS_RLG2-3.)*.25                    CALCTS1A.261    
            TERM4 = 1. +TERM3*CONST*(MINUS_RLG2-2.)*ONE_THIRD              CALCTS1A.262    
            TERM5 = 1. +TERM4*CONST*(MINUS_RLG2-1.)*.5                     CALCTS1A.263    
            TERM6 = A2_TO_MINUS_RLG2*(1. +TERM5*CONST*MINUS_RLG2)          CALCTS1A.264    
            TS(I) = T_ISO* TERM6                                           CALCTS1A.265    
                                                                           CALCTS1A.266    
C----------------------------------------------------------------------    CALCTS1A.267    
C     SECTION 2.4 IF PRESSURE BELOW P_MID_STRAT BUT GREATER THAN           CALCTS1A.268    
C                 P_UPPER_STRAT                                            CALCTS1A.269    
C                 TS = T_MID_STRAT*(P_MID_STRAT/P)**(R*L_MID_STRAT/G)      CALCTS1A.270    
C----------------------------------------------------------------------    CALCTS1A.271    
                                                                           CALCTS1A.272    
          ELSE IF(P(I).LT.P_MID_STRAT.AND.P(I).GT.P_UPPER_STRAT) THEN      CALCTS1A.273    
            CONST = (P(I)*RECIP_P_MID_STRAT-A3)*RECIP_A3                   CALCTS1A.274    
            TERM1 = 1.+ CONST*(MINUS_RLG3-5.)*ONE_SIXTH                    CALCTS1A.275    
            TERM2 = 1. +TERM1*CONST*(MINUS_RLG3-4.)*.2                     CALCTS1A.276    
            TERM3 = 1. +TERM2*CONST*(MINUS_RLG3-3.)*.25                    CALCTS1A.277    
            TERM4 = 1. +TERM3*CONST*(MINUS_RLG3-2.)*ONE_THIRD              CALCTS1A.278    
            TERM5 = 1. +TERM4*CONST*(MINUS_RLG3-1.)*.5                     CALCTS1A.279    
            TERM6 = A3_TO_MINUS_RLG3*(1. +TERM5*CONST*MINUS_RLG3)          CALCTS1A.280    
            TS(I) = T_MID_STRAT* TERM6                                     CALCTS1A.281    
                                                                           CALCTS1A.282    
C----------------------------------------------------------------------    CALCTS1A.283    
C     SECTION 2.5 IF PRESSURE BELOW P_UPPER_STRAT BUT GREATER THAN         CALCTS1A.284    
C                 P_MESO                                                   CALCTS1A.285    
C                 TS = T_UPPER_STRAT                                       CALCTS1A.286    
C----------------------------------------------------------------------    CALCTS1A.287    
                                                                           CALCTS1A.288    
          ELSE IF(P(I).LT.P_UPPER_STRAT.AND.P(I).GT.P_MESO) THEN           CALCTS1A.289    
            TS(I) = T_UPPER_STRAT                                          CALCTS1A.290    
                                                                           CALCTS1A.291    
C----------------------------------------------------------------------    CALCTS1A.292    
C     SECTION 2.6 IF PRESSURE BELOW P_MESO BUT GREATER THAN P_MIN.         CALCTS1A.293    
C                 USE STANDARD MESOSPHERE.                                 CALCTS1A.294    
C----------------------------------------------------------------------    CALCTS1A.295    
                                                                           CALCTS1A.296    
          ELSE IF(P(I).LT.P_MESO.AND.P(I).GT.P_MIN) THEN                   CALCTS1A.297    
            CONST = (P(I)*RECIP_P_MESO-A4)*RECIP_A4                        CALCTS1A.298    
            TERM1 = 1.+ CONST*(MINUS_RLG4-5.)*ONE_SIXTH                    CALCTS1A.299    
            TERM2 = 1. +TERM1*CONST*(MINUS_RLG4-4.)*.2                     CALCTS1A.300    
            TERM3 = 1. +TERM2*CONST*(MINUS_RLG4-3.)*.25                    CALCTS1A.301    
            TERM4 = 1. +TERM3*CONST*(MINUS_RLG4-2.)*ONE_THIRD              CALCTS1A.302    
            TERM5 = 1. +TERM4*CONST*(MINUS_RLG4-1.)*.5                     CALCTS1A.303    
            TERM6 = A4_TO_MINUS_RLG4*(1. +TERM5*CONST*MINUS_RLG4)          CALCTS1A.304    
            TS(I) = T_UPPER_STRAT* TERM6                                   CALCTS1A.305    
                                                                           CALCTS1A.306    
                                                                           CALCTS1A.307    
C----------------------------------------------------------------------    CALCTS1A.308    
C     SECTION 2.7 IF PRESSURE BELOW P_MIN.                                 CALCTS1A.309    
C                 SET TO T_MIN.                                            CALCTS1A.310    
C----------------------------------------------------------------------    CALCTS1A.311    
                                                                           CALCTS1A.312    
          ELSE                                                             CALCTS1A.313    
            TS(I) = T_MIN                                                  CALCTS1A.314    
                                                                           CALCTS1A.315    
          ENDIF                                                            CALCTS1A.316    
                                                                           CALCTS1A.317    
C  END LOOP OVER POINTS                                                    CALCTS1A.318    
 300    CONTINUE                                                           GSS1F304.184    
      END IF                                                               CALCTS1A.320    
                                                                           CALCTS1A.321    
      END IF    ! LLINTS                                                   GSS1F304.185    
                                                                           CALCTS1A.323    
CL    END OF ROUTINE CALC_TS                                               CALCTS1A.324    
      RETURN                                                               CALCTS1A.325    
      END                                                                  CALCTS1A.326    
                                                                           CALCTS1A.327    
*ENDIF                                                                     CALCTS1A.328