*IF DEF,C90_1A,OR,DEF,C90_2A,OR,DEF,C90_2B,OR,DEF,RECON                    AAD2F404.291    
C ******************************COPYRIGHT******************************    GTS2F400.739    
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.740    
C                                                                          GTS2F400.741    
C Use, duplication or disclosure of this code is subject to the            GTS2F400.742    
C restrictions as set forth in the contract.                               GTS2F400.743    
C                                                                          GTS2F400.744    
C                Meteorological Office                                     GTS2F400.745    
C                London Road                                               GTS2F400.746    
C                BRACKNELL                                                 GTS2F400.747    
C                Berkshire UK                                              GTS2F400.748    
C                RG12 2SZ                                                  GTS2F400.749    
C                                                                          GTS2F400.750    
C If no contract has been raised with this copy of the code, the use,      GTS2F400.751    
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.752    
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.753    
C Modelling at the above address.                                          GTS2F400.754    
C ******************************COPYRIGHT******************************    GTS2F400.755    
C                                                                          GTS2F400.756    
CLL   SUBROUTINE CALC_RS ---------------------------------------------     CALCRS1A.3      
CLL                                                                        CALCRS1A.4      
CLL   PURPOSE:   CALCULATES RS AS A FUNCTION OF PRESSURE USING             CALCRS1A.5      
CLL              EQUATION (17) AND THE U.M. STANDARD ATMOSPHERE.           CALCRS1A.6      
CLL              ALSO RETURNS U.M. STANDARD TEMPERATURE AT THE             CALCRS1A.7      
CLL              INPUT PRESSURE.                                           CALCRS1A.8      
CLL                                                                        CALCRS1A.9      
CLL   VERSION FOR CRAY Y-MP                                                CALCRS1A.10     
CLL   NOT SUITABLE FOR I.B.M. USE.                                         CALCRS1A.11     
CLL                                                                        CALCRS1A.12     
CLL   WRITTEN BY M.H MAWSON.                                               CALCRS1A.13     
CLL                                                                        CALCRS1A.14     
CLL  MODEL            MODIFICATION HISTORY FROM MODEL VERSION 3.0:         CALCRS1A.15     
CLL VERSION  DATE                                                          CALCRS1A.16     
CLL   3.1     24/02/93  Tidy code to remove QA Fortran messages.           MM240293.1      
CLL   3.4     26/05/94  Argument LLINTS added and passed to CALC_TS        GSS1F304.158    
CLL                                                     S.J.Swarbrick      GSS1F304.159    
CLL                                                                        CALCRS1A.17     
CLL   PROGRAMMING STANDARD: UNIFIED MODEL DOCUMENTATION PAPER NO. 4,       CALCRS1A.18     
CLL                         STANDARD A. VERSION 2, DATED 18/01/90          CALCRS1A.19     
CLL                                                                        CALCRS1A.20     
CLL   LOGICAL COMPONENTS COVERED: P194                                     CALCRS1A.21     
CLL                                                                        CALCRS1A.22     
CLL   PROJECT TASK: P1                                                     CALCRS1A.23     
CLL                                                                        CALCRS1A.24     
CLL   DOCUMENTATION:       THE EQUATION USED IS (17)                       CALCRS1A.25     
CLL                        IN UNIFIED MODEL DOCUMENTATION PAPER NO. 10     CALCRS1A.26     
CLL                        M.J.P. CULLEN, T.DAVIES AND M.H.MAWSON,         CALCRS1A.27     
CLL                        VERSION 9, DATED 27/06/90.                      CALCRS1A.28     
CLLEND-------------------------------------------------------------        CALCRS1A.29     
                                                                           CALCRS1A.30     
C*L   ARGUMENTS:---------------------------------------------------        CALCRS1A.31     

      SUBROUTINE CALC_RS                                                    21,5CALCRS1A.32     
     1  (PSTAR,AK,BK,TS,RS_LOWER,RS,POINTS,LEVEL_REQUESTED,LEVELS,         GSS1F304.160    
     2   LLINTS)                                                           GSS1F304.161    
                                                                           CALCRS1A.34     
      IMPLICIT NONE                                                        CALCRS1A.35     
      LOGICAL  LLINTS  ! Logical switch for linear TS in CALC_TS           GSS1F304.162    
                                                                           CALCRS1A.36     
      INTEGER                                                              CALCRS1A.37     
     *  POINTS            !IN. NUMBER OF POINTS OVER WHICH CALCULATION     CALCRS1A.38     
     *                    !IS TO BE PERFORMED.                             CALCRS1A.39     
     *, LEVEL_REQUESTED   !IN. MODEL LEVEL AT WHICH ROUTINE IS BEING       CALCRS1A.40     
     *                    !PERFORMED.                                      CALCRS1A.41     
     *, LEVELS            !IN. NUMBER OF MODEL LEVELS                      CALCRS1A.42     
                                                                           CALCRS1A.43     
      REAL                                                                 CALCRS1A.44     
     *  PSTAR(POINTS) !IN.   SURFACE PRESSURE VALUES.                      CALCRS1A.45     
     *, RS_LOWER(POINTS) !IN. HOLDS RS VALUES ONE LEVEL LOWER THAN         CALCRS1A.46     
     *                ! REQUESTED IN CALL. IF CALLED FROM LEVEL 1          CALCRS1A.47     
     *                ! THEN HOLDS DUMMY VALUES AND IS NOT USED.           CALCRS1A.48     
     *, AK(LEVELS)    !IN. HOLDS AK VALUES AT PRESSURE LEVELS.             CALCRS1A.49     
     *, BK(LEVELS)    !IN. HOLDS BK VALUES AT PRESSURE LEVELS.             CALCRS1A.50     
                                                                           CALCRS1A.51     
      REAL                                                                 CALCRS1A.52     
     *  RS(POINTS)    !OUT.  RS VALUES. NOTE THIS ARRAY HAS NO LEVELS      CALCRS1A.53     
     *                !UNLIKE RS IN OTHER ROUTINES. THE RETURNED VALUES    CALCRS1A.54     
     *                !ARE STORED IN THE LEVEL DETERMINED BY THE CALL.     CALCRS1A.55     
                                                                           CALCRS1A.56     
      REAL                                                                 CALCRS1A.57     
     *  TS(POINTS)    !INOUT.  U.M. STANDARD TEMPERATURE AT PRESSURE P.    CALCRS1A.58     
C*---------------------------------------------------------------------    CALCRS1A.59     
                                                                           CALCRS1A.60     
C*L   DEFINE ARRAYS AND VARIABLES USED IN THIS ROUTINE-----------------    CALCRS1A.61     
CL    3 LOCAL ARRAYS NEEDED.                                               CALCRS1A.62     
      REAL                                                                 CALCRS1A.63     
     *  P_LEVEL(POINTS)        ! PRESSURE AT LEVEL_REQUESTED.              CALCRS1A.64     
     *, P_LEVEL_MINUS1(POINTS) ! PRESSURE AT INPUT_REQUESTED MINUS 1       CALCRS1A.65     
     *, TS_LEVEL(POINTS)       ! TS AT LEVEL_REQUESTED.                    CALCRS1A.66     
C*---------------------------------------------------------------------    CALCRS1A.67     
C REAL SCALARS                                                             CALCRS1A.68     
      REAL TS0_BY_P0                                                       CALCRS1A.69     
C COUNT VARIABLES FOR DO LOOPS                                             CALCRS1A.70     
      INTEGER                                                              CALCRS1A.71     
     *  I                                                                  CALCRS1A.72     
C LOGICAL VARIABLE                                                         CALCRS1A.73     
      LOGICAL                                                              CALCRS1A.74     
     *  CONSTANT_PRESSURE      ! SET TO TRUE IF LEVEL_REQUIRED IS A        CALCRS1A.75     
     *                         ! CONSTANT PRESSURE LEVEL.                  CALCRS1A.76     
                                                                           CALCRS1A.77     
C*L   EXTERNAL SUBROUTINE CALLS:---------------------------------------    CALCRS1A.78     
      EXTERNAL CALC_TS                                                     CALCRS1A.79     
C*---------------------------------------------------------------------    CALCRS1A.80     
CL    CALL COMDECK TO OBTAIN CONSTANTS USED.                               CALCRS1A.81     
                                                                           CALCRS1A.82     
*CALL C_CALCRS                                                             CALCRS1A.83     
                                                                           CALCRS1A.84     
CL    MAXIMUM VECTOR LENGTH IS DETERMINED BY POINTS.                       CALCRS1A.85     
CL                                                                         CALCRS1A.86     
CL---------------------------------------------------------------------    CALCRS1A.87     
CL    INTERNAL STRUCTURE INCLUDING SUBROUTINE CALLS:                       CALCRS1A.88     
CL---------------------------------------------------------------------    CALCRS1A.89     
CL                                                                         CALCRS1A.90     
CL    ON A CALL TO CALC_TS EITHER SECTION 1 OR SECTION 2 IS USED           CALCRS1A.91     
CL    DEPENDING ON WHETHER LEVEL_REQUESTED IS 1 OR NOT.                    CALCRS1A.92     
CL                                                                         CALCRS1A.93     
CL---------------------------------------------------------------------    CALCRS1A.94     
                                                                           CALCRS1A.95     
CL    CHECK TO SEE IF LEVEL_REQUESTED IS A CONSTANT PRESSURE LEVEL.        CALCRS1A.96     
                                                                           CALCRS1A.97     
      IF(BK(LEVEL_REQUESTED).EQ.0.) THEN                                   CALCRS1A.98     
        CONSTANT_PRESSURE= .TRUE.                                          CALCRS1A.99     
      ELSE                                                                 CALCRS1A.100    
        CONSTANT_PRESSURE= .FALSE.                                         CALCRS1A.101    
      END IF                                                               CALCRS1A.102    
CL---------------------------------------------------------------------    CALCRS1A.103    
CL    SECTION 1.  IF LEVEL_REQUESTED IS 1 CALCULATE RS USING               CALCRS1A.104    
CL                EQUATION 17 WITH THE VALUES AT P0 BEING TAKEN FROM       CALCRS1A.105    
CL                THE COMDECK.                                             CALCRS1A.106    
CL    EITHER A) IF CONSTANT_PRESSURE USE SECTIONS 1.1 TO 1.3               CALCRS1A.107    
CL    OR     B) IF NOT CONSTANT_PRESSURE THEN USE SECTIONS 1.4 - 1.6       CALCRS1A.108    
CL                                                                         CALCRS1A.109    
CL    NOTE THIS SECTION IS NOT VERY ACCURATE IF RUNNING                    CALCRS1A.110    
CL    STRATOSPHERIC MODEL.                                                 CALCRS1A.111    
CL---------------------------------------------------------------------    CALCRS1A.112    
                                                                           CALCRS1A.113    
CL A)                                                                      CALCRS1A.114    
      IF(LEVEL_REQUESTED.EQ.1) THEN                                        CALCRS1A.115    
                                                                           CALCRS1A.116    
        IF(CONSTANT_PRESSURE) THEN                                         CALCRS1A.117    
C----------------------------------------------------------------------    CALCRS1A.118    
CL    SECTION 1.1 STORE PRESSURE AT LEVEL 1 IN P_LEVEL(1) ONLY.            CALCRS1A.119    
CL             THIS IS BECAUSE NO OTHER ADDRESSES IN P_LEVEL WILL BE       CALCRS1A.120    
CL             ACCESSED.                                                   CALCRS1A.121    
C----------------------------------------------------------------------    CALCRS1A.122    
                                                                           CALCRS1A.123    
          P_LEVEL(1) = AK(1)                                               CALCRS1A.124    
                                                                           CALCRS1A.125    
C----------------------------------------------------------------------    CALCRS1A.126    
CL    SECTION 1.2 CALL CALC_TS TO OBTAIN TS AT LEVEL 1.                    CALCRS1A.127    
C----------------------------------------------------------------------    CALCRS1A.128    
                                                                           CALCRS1A.129    
          CALL CALC_TS(P_LEVEL,TS,POINTS,CONSTANT_PRESSURE,LLINTS)         GSS1F304.163    
                                                                           CALCRS1A.131    
C----------------------------------------------------------------------    CALCRS1A.132    
CL    SECTION 1.3 CALCULATE RS AT PRESSURE P USING EQUATION 17.            CALCRS1A.133    
C----------------------------------------------------------------------    CALCRS1A.134    
                                                                           CALCRS1A.135    
CL                 RS IS CALCULATED FOR POINT 1 AND THEN RS(I) FOR         CALCRS1A.136    
CL                 I=2 TO POINTS IS SET EQUAL TO RS(1)                     CALCRS1A.137    
          RS(1)=A + HALF_R_OVER_G*(TS0 / P0 + TS(1)/P_LEVEL(1))            CALCRS1A.138    
     *           *(P0-P_LEVEL(1))                                          CALCRS1A.139    
          DO 130 I=2,POINTS                                                CALCRS1A.140    
            RS(I) = RS(1)                                                  CALCRS1A.141    
 130      CONTINUE                                                         CALCRS1A.142    
                                                                           CALCRS1A.143    
CL B)                                                                      CALCRS1A.144    
        ELSE                                                               CALCRS1A.145    
C----------------------------------------------------------------------    CALCRS1A.146    
CL    SECTION 1.4 CALCULATE PRESSURE AT LEVEL 1.                           CALCRS1A.147    
C----------------------------------------------------------------------    CALCRS1A.148    
          DO 140 I=1,POINTS                                                CALCRS1A.149    
            P_LEVEL(I) = AK(1)+PSTAR(I)*BK(1)                              CALCRS1A.150    
140       CONTINUE                                                         CALCRS1A.151    
                                                                           CALCRS1A.152    
C----------------------------------------------------------------------    CALCRS1A.153    
CL    SECTION 1.5 CALL CALC_TS TO OBTAIN TS AT LEVEL 1.                    CALCRS1A.154    
C----------------------------------------------------------------------    CALCRS1A.155    
                                                                           CALCRS1A.156    
          CALL CALC_TS(P_LEVEL,TS,POINTS,CONSTANT_PRESSURE,LLINTS)         GSS1F304.164    
                                                                           CALCRS1A.158    
C----------------------------------------------------------------------    CALCRS1A.159    
CL    SECTION 1.6 CALCULATE RS AT PRESSURE P USING EQUATION 17.            CALCRS1A.160    
C----------------------------------------------------------------------    CALCRS1A.161    
                                                                           CALCRS1A.162    
          TS0_BY_P0 = TS0 / P0                                             CALCRS1A.163    
          DO 160 I=1,POINTS                                                CALCRS1A.164    
            RS(I)=A + HALF_R_OVER_G*( TS0_BY_P0+ TS(I)/P_LEVEL(I))         CALCRS1A.165    
     *           *(P0-P_LEVEL(I))                                          CALCRS1A.166    
 160      CONTINUE                                                         CALCRS1A.167    
                                                                           CALCRS1A.168    
        ENDIF                                                              CALCRS1A.169    
                                                                           CALCRS1A.170    
      ELSE                                                                 CALCRS1A.171    
CL---------------------------------------------------------------------    CALCRS1A.172    
CL    SECTION 2.  IF LEVEL_REQUESTED IS NOT 1 THEN CALCULATE               CALCRS1A.173    
CL                INCREMENT TO RS BETWEEN PRESSURE AT LEVEL_REQUESTED      CALCRS1A.174    
CL                MINUS 1 AND LEVEL_REQUESTED USING EQUATION 17 AND        CALCRS1A.175    
CL                ADD ON TO RS AT LEVEL_REQUESTED MINUS 1.                 CALCRS1A.176    
CL                                                                         CALCRS1A.177    
CL    EITHER A) IF NOT CONSTANT_PRESSURE USE SECTIONS 2.1 TO 2.3.          CALCRS1A.178    
CL    OR     B) IF CONSTANT_PRESSURE BUT LEVEL_REQUESTED - 1 IS            CALCRS1A.179    
CL              NOT CONSTANT PRESSURE THEN USE SECTIONS 2.4 TO 2.6         CALCRS1A.180    
CL    OR     C) BOTH CONSTANT PRESSURE USE SECTIONS 2.7 TO 2.9.            CALCRS1A.181    
CL---------------------------------------------------------------------    CALCRS1A.182    
                                                                           CALCRS1A.183    
CL A)                                                                      CALCRS1A.184    
        IF(.NOT.CONSTANT_PRESSURE) THEN                                    CALCRS1A.185    
C----------------------------------------------------------------------    CALCRS1A.186    
CL    SECTION 2.1 CALCULATE PRESSURE AT LEVEL_REQUESTED AND                CALCRS1A.187    
CL                LEVEL_REQUESTED MINUS 1.                                 CALCRS1A.188    
C----------------------------------------------------------------------    CALCRS1A.189    
                                                                           CALCRS1A.190    
          DO 210 I=1,POINTS                                                CALCRS1A.191    
            P_LEVEL(I) = AK(LEVEL_REQUESTED) + BK(LEVEL_REQUESTED)*        CALCRS1A.192    
     *                   PSTAR(I)                                          CALCRS1A.193    
            P_LEVEL_MINUS1(I) = AK(LEVEL_REQUESTED-1) +                    CALCRS1A.194    
     *                   BK(LEVEL_REQUESTED-1)*PSTAR(I)                    CALCRS1A.195    
 210      CONTINUE                                                         CALCRS1A.196    
                                                                           CALCRS1A.197    
C----------------------------------------------------------------------    CALCRS1A.198    
CL    SECTION 2.2 CALL CALC_TS TO GET TS AT LEVEL_REQUESTED AND STORE      CALCRS1A.199    
CL                IN TS_LEVEL.                                             CALCRS1A.200    
C----------------------------------------------------------------------    CALCRS1A.201    
                                                                           CALCRS1A.202    
          CALL CALC_TS(P_LEVEL,TS_LEVEL,POINTS,CONSTANT_PRESSURE,          GSS1F304.165    
     &                 LLINTS)                                             GSS1F304.166    
                                                                           CALCRS1A.204    
C----------------------------------------------------------------------    CALCRS1A.205    
CL    SECTION 2.3 CALCULATE INTEGRAL IN EQUATION 17 BETWEEN THE            CALCRS1A.206    
CL                PRESSURES CALCULATED IN 2.1 AND ADD ONTO RS AT           CALCRS1A.207    
CL                LEVEL_REQUESTED MINUS 1 TO GET VALUE AT                  CALCRS1A.208    
CL                LEVEL_REQUESTED. THEN OVER-WRITE OLD VALUE OF TS         CALCRS1A.209    
CL                WITH VALUE CALCULATED IN CALL TO TS_CALC IN 2.2.         CALCRS1A.210    
C----------------------------------------------------------------------    CALCRS1A.211    
                                                                           CALCRS1A.212    
          DO 230 I=1,POINTS                                                CALCRS1A.213    
            RS(I) = RS_LOWER(I) + (P_LEVEL_MINUS1(I)-P_LEVEL(I))           CALCRS1A.214    
     *              *HALF_R_OVER_G*(TS(I)/P_LEVEL_MINUS1(I) +              CALCRS1A.215    
     *                 TS_LEVEL(I)/P_LEVEL(I))                             CALCRS1A.216    
            TS(I) = TS_LEVEL(I)                                            CALCRS1A.217    
 230      CONTINUE                                                         CALCRS1A.218    
                                                                           CALCRS1A.219    
        ELSE IF(BK(LEVEL_REQUESTED-1).NE.0.) THEN                          MM240293.2      
                                                                           CALCRS1A.221    
CL B)                                                                      CALCRS1A.222    
C----------------------------------------------------------------------    CALCRS1A.223    
CL    SECTION 2.4 CALCULATE PRESSURE AT LEVEL_REQUESTED-1 AT ALL POINTS    CALCRS1A.224    
CL                PRESSURE AT LEVEL_REQUESTED SET TO AK AT POINT 1 ONLY    CALCRS1A.225    
CL                AS NO OTHER ADDRESSES ARE USED.                          CALCRS1A.226    
C----------------------------------------------------------------------    CALCRS1A.227    
                                                                           CALCRS1A.228    
          P_LEVEL(1) = AK(LEVEL_REQUESTED)                                 CALCRS1A.229    
          DO 240 I=1,POINTS                                                CALCRS1A.230    
            P_LEVEL_MINUS1(I) = AK(LEVEL_REQUESTED-1) +                    CALCRS1A.231    
     *                   BK(LEVEL_REQUESTED-1)*PSTAR(I)                    CALCRS1A.232    
 240      CONTINUE                                                         CALCRS1A.233    
                                                                           CALCRS1A.234    
C----------------------------------------------------------------------    CALCRS1A.235    
CL    SECTION 2.5 CALL CALC_TS TO GET TS AT LEVEL_REQUESTED AND STORE      CALCRS1A.236    
CL                IN TS_LEVEL.                                             CALCRS1A.237    
C----------------------------------------------------------------------    CALCRS1A.238    
                                                                           CALCRS1A.239    
          CALL CALC_TS(P_LEVEL,TS_LEVEL,POINTS,CONSTANT_PRESSURE,          GSS1F304.167    
     &                 LLINTS)                                             GSS1F304.168    
                                                                           CALCRS1A.241    
C----------------------------------------------------------------------    CALCRS1A.242    
CL    SECTION 2.6 CALCULATE INTEGRAL IN EQUATION 17 BETWEEN THE            CALCRS1A.243    
CL                PRESSURES CALCULATED IN 2.4 AND ADD ONTO RS AT           CALCRS1A.244    
CL                LEVEL_REQUESTED MINUS 1 TO GET VALUE AT                  CALCRS1A.245    
CL                LEVEL_REQUESTED. THEN OVER-WRITE OLD VALUE OF TS         CALCRS1A.246    
CL                WITH VALUE CALCULATED IN CALL TO TS_CALC IN 2.5.         CALCRS1A.247    
C----------------------------------------------------------------------    CALCRS1A.248    
                                                                           CALCRS1A.249    
          TS0_BY_P0 = TS_LEVEL(1) / P_LEVEL(1)                             CALCRS1A.250    
          DO 260 I=1,POINTS                                                CALCRS1A.251    
            RS(I) = RS_LOWER(I) + (P_LEVEL_MINUS1(I)-P_LEVEL(1))           CALCRS1A.252    
     *              *HALF_R_OVER_G*(TS(I)/P_LEVEL_MINUS1(I) +              CALCRS1A.253    
     *                TS0_BY_P0)                                           CALCRS1A.254    
            TS(I) = TS_LEVEL(I)                                            CALCRS1A.255    
 260      CONTINUE                                                         CALCRS1A.256    
                                                                           CALCRS1A.257    
        ELSE                                                               CALCRS1A.258    
                                                                           CALCRS1A.259    
CL C)                                                                      CALCRS1A.260    
C----------------------------------------------------------------------    CALCRS1A.261    
CL    SECTION 2.7 SET PRESSURE AT LEVEL_REQUESTED-1 TO                     CALCRS1A.262    
CL                AK(LEVEL_REQUESTED-1) AND PRESSURE AT LEVEL_REQUESTED    CALCRS1A.263    
CL                TO AK(LEVEL_REQUESTED) AT POINT 1 ONLY                   CALCRS1A.264    
CL                AS NO OTHER ADDRESSES ARE USED.                          CALCRS1A.265    
C----------------------------------------------------------------------    CALCRS1A.266    
                                                                           CALCRS1A.267    
          P_LEVEL(1) = AK(LEVEL_REQUESTED)                                 CALCRS1A.268    
          P_LEVEL_MINUS1(1) = AK(LEVEL_REQUESTED-1)                        CALCRS1A.269    
                                                                           CALCRS1A.270    
C----------------------------------------------------------------------    CALCRS1A.271    
CL    SECTION 2.8 CALL CALC_TS TO GET TS AT LEVEL_REQUESTED AND STORE      CALCRS1A.272    
CL                IN TS_LEVEL.                                             CALCRS1A.273    
C----------------------------------------------------------------------    CALCRS1A.274    
                                                                           CALCRS1A.275    
          CALL CALC_TS(P_LEVEL,TS_LEVEL,POINTS,CONSTANT_PRESSURE,          GSS1F304.169    
     &                 LLINTS)                                             GSS1F304.170    
                                                                           CALCRS1A.277    
C----------------------------------------------------------------------    CALCRS1A.278    
CL    SECTION 2.9 CALCULATE INTEGRAL IN EQUATION 17 BETWEEN THE            CALCRS1A.279    
CL                PRESSURES CALCULATED IN 2.7 AND ADD ONTO RS AT           CALCRS1A.280    
CL                LEVEL_REQUESTED MINUS 1 TO GET VALUE AT                  CALCRS1A.281    
CL                LEVEL_REQUESTED. THEN OVER-WRITE OLD VALUE OF TS         CALCRS1A.282    
CL                WITH VALUE CALCULATED IN CALL TO TS_CALC IN 2.5.         CALCRS1A.283    
C----------------------------------------------------------------------    CALCRS1A.284    
                                                                           CALCRS1A.285    
          TS0_BY_P0 = HALF_R_OVER_G*(P_LEVEL_MINUS1(1)-P_LEVEL(1))         CALCRS1A.286    
     *                   *(TS(1)/P_LEVEL_MINUS1(1) +                       CALCRS1A.287    
     *                     TS_LEVEL(1) / P_LEVEL(1))                       CALCRS1A.288    
          DO 290 I=1,POINTS                                                CALCRS1A.289    
            RS(I) = RS_LOWER(I) + TS0_BY_P0                                CALCRS1A.290    
            TS(I) = TS_LEVEL(I)                                            CALCRS1A.291    
 290      CONTINUE                                                         CALCRS1A.292    
                                                                           CALCRS1A.293    
        END IF                                                             CALCRS1A.294    
                                                                           CALCRS1A.295    
      END IF                                                               CALCRS1A.296    
                                                                           CALCRS1A.297    
CL    END OF ROUTINE CALC_RS                                               CALCRS1A.298    
                                                                           CALCRS1A.299    
      RETURN                                                               CALCRS1A.300    
      END                                                                  CALCRS1A.301    
                                                                           CALCRS1A.302    
*ENDIF                                                                     CALCRS1A.303