9 $ plat,plon,parea,pcu,pcv,
14 & klon_omp_end,klon_mpi_begin
15 USE comgeomphy, only : airephy,cuphy,cvphy,rlond,rlatd
38 REAL,
INTENT(IN) :: prad
41 REAL,
INTENT(IN) :: pcpp
42 REAL,
INTENT(IN) :: punjours
43 INTEGER,
INTENT(IN) :: ngrid
44 INTEGER,
INTENT(IN) :: nlayer
45 REAL,
INTENT(IN) :: plat(ngrid)
46 REAL,
INTENT(IN) :: plon(ngrid)
47 REAL,
INTENT(IN) :: parea(klon_glo)
48 REAL,
INTENT(IN) :: pcu(klon_glo)
49 REAL,
INTENT(IN) :: pcv(klon_glo)
50 INTEGER,
INTENT(IN) :: pdayref
51 REAL,
INTENT(IN) :: ptimestep
54 INTEGER :: ibegin,iend,offset
55 CHARACTER (LEN=20) :: modname=
'iniphysiq'
56 CHARACTER (LEN=80) :: abort_message
58 IF (nlayer.NE.
klev)
THEN
59 write(
lunout,*)
'STOP in ',trim(modname)
60 write(
lunout,*)
'Problem with dimensions :'
61 write(
lunout,*)
'nlayer = ',nlayer
67 IF (ngrid.NE.klon_glo)
THEN
68 write(
lunout,*)
'STOP in ',trim(modname)
69 write(
lunout,*)
'Problem with dimensions :'
70 write(
lunout,*)
'ngrid = ',ngrid
71 write(
lunout,*)
'klon = ',klon_glo
79 offset=klon_mpi_begin-1
80 airephy(1:klon_omp)=parea(offset+klon_omp_begin:
81 & offset+klon_omp_end)
82 cuphy(1:klon_omp)=pcu(offset+klon_omp_begin:offset+klon_omp_end)
83 cvphy(1:klon_omp)=pcv(offset+klon_omp_begin:offset+klon_omp_end)
84 rlond(1:klon_omp)=plon(offset+klon_omp_begin:offset+klon_omp_end)
85 rlatd(1:klon_omp)=plat(offset+klon_omp_begin:offset+klon_omp_end)
96 if (rday.ne.punjours)
then
97 write(
lunout,*)
"iniphysiq: length of day discrepancy!!!"
98 write(
lunout,*)
" in the dynamics punjours=",punjours
99 write(
lunout,*)
" but in the physics RDAY=",rday
100 if (abs(rday-punjours).gt.0.01)
then
102 abort_message =
'length of day discrepancy'
107 write(
lunout,*)
"iniphysiq: gravity discrepancy !!!"
108 write(
lunout,*)
" in the dynamics pg=",pg
109 write(
lunout,*)
" but in the physics RG=",rg
110 if (abs(rg-pg).gt.0.01)
then
112 abort_message =
'gravity discrepancy'
117 write(
lunout,*)
"iniphysiq: planet radius discrepancy !!!"
118 write(
lunout,*)
" in the dynamics prad=",prad
119 write(
lunout,*)
" but in the physics RA=",ra
120 if (abs(ra-prad).gt.0.01)
then
122 abort_message =
'planet radius discrepancy'
127 write(
lunout,*)
"iniphysiq: reduced gas constant discrepancy !!!"
128 write(
lunout,*)
" in the dynamics pr=",pr
129 write(
lunout,*)
" but in the physics RD=",rd
130 if (abs(rd-pr).gt.0.01)
then
132 abort_message =
'reduced gas constant discrepancy'
136 if (rcpd.ne.pcpp)
then
137 write(
lunout,*)
"iniphysiq: specific heat discrepancy !!!"
138 write(
lunout,*)
" in the dynamics pcpp=",pcpp
139 write(
lunout,*)
" but in the physics RCPD=",rcpd
140 if (abs(rcpd-pcpp).gt.0.01)
then
142 abort_message =
'specific heat discrepancy'