2 !NCEP_MESO:MODEL_LAYER: PHYSICS
4 !***********************************************************************
5 SUBROUTINE RDTEMP(NTSD,DT,JULDAY,JULYR,XTIME,IHRST,GLAT,GLON &
6 & ,CZEN,CZMEAN,T,RSWTT,RLWTT,HBM2 &
7 & ,IDS,IDE,JDS,JDE,KDS,KDE &
8 & ,IMS,IME,JMS,JME,KMS,KME &
9 & ,ITS,ITE,JTS,JTE,KTS,KTE)
10 !***********************************************************************
11 !$$$ SUBPROGRAM DOCUMENTATION BLOCK
13 ! SUBPROGRAM: RDTEMP RADIATIVE TEMPERATURE CHANGE
14 ! PRGRMMR: BLACK ORG: W/NP22 DATE: 93-12-29
17 ! RDTEMP APPLIES THE TEMPERATURE TENDENCIES DUE TO
18 ! RADIATION AT ALL LAYERS AT EACH ADJUSTMENT TIME STEP
20 ! PROGRAM HISTORY LOG:
21 ! 87-09-?? BLACK - ORIGINATOR
22 ! 95-03-25 BLACK - CONVERSION FROM 1-D TO 2-D IN HORIZONTAL
23 ! 95-11-20 ABELES - PARALLEL OPTIMIZATION
24 ! 98-10-30 BLACK - MODIFIED FOR DISTRIBUTED MEMORY
25 ! 02-06-07 BLACK - WRF CODING STANDARDS
26 ! 02-09-09 WOLFE - CONVERTING TO GLOBAL INDEXING
27 ! 05-12-19 BLACK - CONVERTED FROM IKJ TO IJK
29 ! USAGE: CALL RDTEMP FROM SUBROUTINE SOLVE_RUNSTREAM
32 ! LANGUAGE: FORTRAN 90
35 !-----------------------------------------------------------------------
37 USE MODULE_RA_GFDLETA,ONLY : CAL_MON_DAY,ZENITH
38 !-----------------------------------------------------------------------
42 !-----------------------------------------------------------------------
44 INTEGER,INTENT(IN) :: IDS,IDE,JDS,JDE,KDS,KDE &
45 & ,IMS,IME,JMS,JME,KMS,KME &
46 & ,ITS,ITE,JTS,JTE,KTS,KTE
48 INTEGER,INTENT(IN) :: IHRST,JULDAY,JULYR,NTSD
50 REAL,INTENT(IN) :: DT,XTIME
52 REAL,DIMENSION(IMS:IME,JMS:JME),INTENT(IN) :: CZMEAN,GLAT,GLON &
55 REAL,DIMENSION(IMS:IME,JMS:JME,KMS:KME),INTENT(IN) :: RLWTT &
58 REAL,DIMENSION(IMS:IME,JMS:JME,KMS:KME),INTENT(INOUT) :: T
60 REAL,DIMENSION(IMS:IME,JMS:JME),INTENT(OUT) :: CZEN
62 !-----------------------------------------------------------------------
64 !-----------------------------------------------------------------------
66 INTEGER :: I,J,JDAY,JMONTH,K
68 INTEGER,DIMENSION(3) :: IDAT
70 REAL :: DAYI,HOUR,TIMES,TTNDKL
72 REAL,DIMENSION(IMS:IME,JMS:JME) :: CZEN2,XLAT2,XLON2
74 REAL,DIMENSION(ITS:ITE,JTS:JTE) :: FACTR
76 REAL :: DEGRAD=3.1415926/180.
79 !-----------------------------------------------------------------------
80 !-----------------------------------------------------------------------
85 !-----------------------------------------------------------------------
87 !*** GET CURRENT VALUE OF COS(ZENITH ANGLE)
96 !!!!!!!!!!!!Remove the following lines after bit-correct answers
97 !!!!!!!!!!!!are established with the control
98 ! xlat1=glat(i,j)/degrad
99 ! xlat2(i,j)=xlat1*degrad
100 ! xlon1=glon(i,j)/degrad
101 ! xlon2(i,j)=xlon1*degrad
107 CALL CAL_MON_DAY(JULDAY,JULYR,JMONTH,JDAY)
113 CALL ZENITH(TIMES,DAYI,HOUR,IDAT,IHRST,XLON2,XLAT2,CZEN2 &
114 & ,MYIS,MYIE,MYJS,MYJE &
115 & ,IDS,IDE,JDS,JDE,KDS,KDE &
116 & ,IMS,IME,JMS,JME,KMS,KME &
117 & ,ITS,ITE,JTS,JTE,KTS,KTE)
122 IF(CZMEAN(I,J)>0.)THEN
123 FACTR(I,J)=CZEN(I,J)/CZMEAN(I,J)
133 TTNDKL=RSWTT(I,J,K)*FACTR(I,J)+RLWTT(I,J,K)
134 T(I,J,K)=T(I,J,K)+TTNDKL*DT*HBM2(I,J)
138 !-----------------------------------------------------------------------
139 END SUBROUTINE RDTEMP
140 !-----------------------------------------------------------------------