3 |
|
|
4 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
5 |
|
|
6 |
SUBROUTINE INPHYS (FSG,HSG,RLAT) |
SUBROUTINE INPHYS (FSG,HSG,RLAT,myThid) |
7 |
|
|
8 |
IMPLICIT rEAL*8 ( A-H,O-Z) |
IMPLICIT rEAL*8 ( A-H,O-Z) |
9 |
|
|
23 |
#include "atparam.h" |
#include "atparam.h" |
24 |
#include "atparam1.h" |
#include "atparam1.h" |
25 |
C |
C |
26 |
|
INTEGER NLON, NLAT, NLEV, NGP |
27 |
PARAMETER ( NLON=IX, NLAT=IL, NLEV=KX, NGP=NLON*NLAT ) |
PARAMETER ( NLON=IX, NLAT=IL, NLEV=KX, NGP=NLON*NLAT ) |
28 |
|
|
29 |
|
INTEGER myThid |
30 |
C |
C |
31 |
C |
C |
|
#include "Lev_def.h" |
|
32 |
|
|
33 |
#include "GRID.h" |
#include "GRID.h" |
34 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
35 |
#include "PARAMS.h" |
#include "PARAMS.h" |
36 |
|
|
37 |
|
#include "Lev_def.h" |
38 |
C |
C |
39 |
C Physical constants + functions of sigma and latitude |
C Physical constants + functions of sigma and latitude |
40 |
C |
C |
53 |
REAL FSG(NLEV), HSG(0:NLEV), RLAT(NLAT) |
REAL FSG(NLEV), HSG(0:NLEV), RLAT(NLAT) |
54 |
|
|
55 |
C == Local Variables == |
C == Local Variables == |
56 |
INTEGER I2 |
INTEGER K |
|
INTEGER bi, bj |
|
57 |
DATA Pground /1. _d +5/ |
DATA Pground /1. _d +5/ |
58 |
|
|
|
C == Set for a single tile per proc. for now |
|
|
bi = 1 |
|
|
bj = 1 |
|
|
C |
|
59 |
C--- 1. Time independent parameters and arrays |
C--- 1. Time independent parameters and arrays |
60 |
C |
C |
61 |
C 1.1 Physical constants |
C 1.1 Physical constants |
62 |
C |
C |
63 |
|
IF ( myThid .EQ. 1 ) THEN |
64 |
P0 = 1. _d +5 |
P0 = 1. _d +5 |
65 |
GG = 9.81 _d 0 |
GG = 9.81 _d 0 |
66 |
RD = 287. _d 0 |
RD = 287. _d 0 |
91 |
C |
C |
92 |
DO K=1,NLEV-1 |
DO K=1,NLEV-1 |
93 |
WVI(K,1)=1./(SIGL(K+1)-SIGL(K)) |
WVI(K,1)=1./(SIGL(K+1)-SIGL(K)) |
94 |
WVI(K,2)=(DLOG(SIGH(K))-SIGL(K))*WVI(K,1) |
WVI(K,2)=(LOG(SIGH(K))-SIGL(K))*WVI(K,1) |
95 |
ENDDO |
ENDDO |
96 |
C |
C |
97 |
WVI(NLEV,1)=0. |
WVI(NLEV,1)=0. |
100 |
WVI(NLEV,2)=-SIGL(NLEV)*WVI(NLEV-1,1) |
WVI(NLEV,2)=-SIGL(NLEV)*WVI(NLEV-1,1) |
101 |
cchdbg |
cchdbg |
102 |
C |
C |
|
DO J=1,NLAT |
|
|
FMU(J,1)=SIN(RLAT(J)) |
|
|
FMU(J,2)=1.5 _d 0*FMU(J,1)**2-0.5 _d 0 |
|
|
ENDDO |
|
|
C |
|
103 |
C--- 2. Constants for boundary forcing (common FORCON): |
C--- 2. Constants for boundary forcing (common FORCON): |
104 |
C |
C |
105 |
SOLC = 342. _d 0 |
SOLC = 342. _d 0 |
207 |
cchdbg ******************************************* |
cchdbg ******************************************* |
208 |
TRSHC = 12. _d 0 |
TRSHC = 12. _d 0 |
209 |
cchdbg ******************************************* |
cchdbg ******************************************* |
210 |
C |
ENDIF |
|
C Computation of the last air-level |
|
|
C --------------------------------- |
|
|
I2=0 |
|
|
DO J=1,NLAT |
|
|
DO I=1,NLON |
|
|
I2=I2+1 |
|
|
NLEVxy(I2) =0 |
|
|
NLEVxyU(I2)=0 |
|
|
NLEVxyV(I2)=0 |
|
|
DO k=1,NLEV |
|
|
NLEVxy(I2) = NLEVxy(I2) +int( hFacC(I,J,K,bi,bj) ) |
|
|
NLEVxyU(I2)= NLEVxyU(I2) +int( hFacW(I,J,K,bi,bj) ) |
|
|
NLEVxyV(I2)= NLEVxyV(I2) +int( hFacS(I,J,K,bi,bj) ) |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDDO |
|
|
CcnhDebugStarts |
|
|
UT_PBL = 0. |
|
|
VT_PBL = 0. |
|
|
CcnhDebugEnds |
|
|
C DO I=1,NLON |
|
|
C NLEVxyV(I)=1 |
|
|
C ENDDO |
|
211 |
|
|
212 |
CcnhDebugStarts |
CcnhDebugStarts |
213 |
C write(0,*) 'MAXVAL(NLEVxy)=',MAXVAL(NLEVxy) |
C write(0,*) 'MAXVAL(NLEVxy)=',MAXVAL(NLEVxy) |