CLTEND.F

References to this file elsewhere.
1 !
2 !NCEP_MESO:MODEL_LAYER: PHYSICS
3 !
4 !**********************************************************************
5       SUBROUTINE CLTEND (ICLTEND,NPHS,T,T_OLD,T_ADJ                    &
6                         ,IDS,IDE,JDS,JDE,KDS,KDE                       &
7                         ,IMS,IME,JMS,JME,KMS,KME                       &
8                         ,ITS,ITE,JTS,JTE,KTS,KTE)
9 !----------------------------------------------------------------------
10 !$$$  SUBPROGRAM DOCUMENTATION BLOCK
11 !                .      .    .     
12 ! SUBPROGRAM:    CLTEND      TEMPERATURE CHANGE BY CLOUD PROCESSES
13 !   PRGRMMR: FERRIER         ORG: W/NP22     DATE: 01-09-26
14 !     
15 ! ABSTRACT:
16 !     CLTEND GRADUALLY UPDATES TEMPERATURE TENDENCIES FROM CONVECTION 
17 !     GRID-SCALE MICROPHYSICS, AND PRECIPITATION ASSIMILATION.
18 !     
19 ! USAGE: CALL CLTEND FROM SOLVE_RUNSTEAM
20 !   INPUT ARGUMENT LIST:
21 !     ICLTEND - FLAG SET TO -1 PRIOR TO PHYSICS CALLS, 0 AFTER PHYSICS
22 !               CALLS, AND 1 FOR UPDATING TEMPERATURES EVERY TIME STEP
23 !  
24 !   OUTPUT ARGUMENT LIST:  NONE
25 !     
26 !   OUTPUT FILES:  NONE
27 !     
28 !   SUBPROGRAMS CALLED:  NONE
29 !  
30 !   UNIQUE: NONE
31 !  
32 !   LIBRARY: NONE
33 !  
34 ! ATTRIBUTES:
35 !   LANGUAGE: FORTRAN 90
36 !   MACHINE : IBM SP
37 !$$$  
38 !----------------------------------------------------------------------
39       USE module_MPP
40 !
41       IMPLICIT NONE
42 !
43 !----------------------------------------------------------------------
44 !
45       INTEGER,INTENT(IN) :: ICLTEND                                    &
46                            ,IDS,IDE,JDS,JDE,KDS,KDE                    &
47                            ,IMS,IME,JMS,JME,KMS,KME                    &
48                            ,ITS,ITE,JTS,JTE,KTS,KTE                    &
49                            ,NPHS
50 !
51       REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(INOUT) :: T     &
52                                                                 ,T_ADJ &
53                                                                 ,T_OLD
54 !
55 !***  LOCAL VARIABLES 
56 !
57       INTEGER :: I,J,K
58 !
59       REAL :: DELTPH
60 !
61 !----------------------------------------------------------------------
62 !----------------------------------------------------------------------
63 !
64       IF(ICLTEND.LT.0)THEN
65         DO J=JTS,JTE
66         DO K=KTS,KTE
67         DO I=ITS,ITE
68           T_OLD(I,K,J)=T(I,K,J)
69         ENDDO
70         ENDDO
71         ENDDO
72       ELSEIF(ICLTEND.EQ.0)THEN
73         DO J=JTS,JTE
74         DO K=KTS,KTE
75         DO I=ITS,ITE
76           T_ADJ(I,K,J)=T(I,K,J)-T_OLD(I,K,J)
77           T(I,K,J)=T_OLD(I,K,J)
78         ENDDO
79         ENDDO
80         ENDDO
81       ELSE
82         DELTPH=1./REAL(NPHS)
83         DO J=JTS,JTE
84         DO K=KTS,KTE
85         DO I=ITS,ITE
86           T(I,K,J)=T(I,K,J)+DELTPH*T_ADJ(I,K,J)
87         ENDDO
88         ENDDO
89         ENDDO
90       ENDIF
91 !----------------------------------------------------------------------
92 !
93       END SUBROUTINE CLTEND
94 !
95 !----------------------------------------------------------------------