7 hsurf_filetype, hforcing_filetype, kforc_step, &
8 pta,pqa,pwind,pdir_sw,psca_sw,plw,psnow,prain,pps,&
9 pco2,pdir,olimit_qair )
55 USE modi_ol_read_atm_netcdf
56 USE modi_ol_read_atm_ascii
57 USE modi_ol_read_atm_binary
62 USE yomhook
,ONLY : lhook, dr_hook
63 USE parkind1
,ONLY : jprb
72 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pta
73 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pqa
74 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pwind
75 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pdir_sw
76 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: psca_sw
77 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: plw
78 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: psnow
79 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: prain
80 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pps
81 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pco2
82 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pdir
83 INTEGER,
INTENT(IN) :: kforc_step
84 CHARACTER(LEN=6) ,
INTENT(IN) :: hsurf_filetype
85 CHARACTER(LEN=6) ,
INTENT(IN) :: hforcing_filetype
86 LOGICAL ,
INTENT(IN) :: olimit_qair
88 REAL,
PARAMETER :: ztair = 286.0
89 REAL,
PARAMETER :: zpsurf = 101325.0
91 REAL,
DIMENSION(SIZE(PTA,1),SIZE(PTA,2)) :: zwork1, zwork2, zqsat
93 INTEGER :: jfrc, ifrc, jj, ini, inb
95 REAL(KIND=JPRB) :: zhook_handle
99 IF (lhook) CALL dr_hook(
'OL_READ_ATM',0,zhook_handle)
107 IF (hforcing_filetype ==
'NETCDF')
THEN
110 pta,pqa,pwind,pdir_sw,psca_sw,plw,psnow,prain,pps,&
112 ELSE IF (hforcing_filetype ==
'ASCII ')
THEN
114 pta,pqa,pwind,pdir_sw,psca_sw,plw,psnow,prain,pps,&
116 ELSE IF (hforcing_filetype ==
'BINARY')
THEN
118 pta,pqa,pwind,pdir_sw,psca_sw,plw,psnow,prain,pps,&
132 IF(pta(jj,jfrc)>0.0.AND.pta(jj,jfrc)/=xundef)
THEN
134 zwork1(jj,jfrc) = pta(jj,jfrc)
135 zwork2(jj,jfrc) = pps(jj,jfrc)
137 zwork1(jj,jfrc) = ztair
138 zwork2(jj,jfrc) = zpsurf
139 pta(jj,jfrc) = xundef
145 IF(inb==0 .AND. ini/=0)
THEN
146 CALL
abor1_sfx(
'OL_READ_ATM: THE FORCING IS UNDEFINED')
149 zqsat(:,:) =
qsat(zwork1(:,:),zwork2(:,:))
151 pqa(:,:) = min(pqa(:,:),zqsat(:,:))
155 IF (lhook) CALL dr_hook(
'OL_READ_ATM',1,zhook_handle)
subroutine ol_read_atm(HSURF_FILETYPE, HFORCING_FILETYPE, KFORC_STEP, PTA, PQA, PWIND, PDIR_SW, PSCA_SW, PLW, PSNOW, PRAIN, PPS, PCO2, PDIR, OLIMIT_QAIR)
subroutine ol_read_atm_binary(KFORC_STEP, PTA, PQA, PWIND, PDIR_SW, PSCA_SW, PLW, PSNOW, PRAIN, PPS, PCO2, PDIR)
subroutine abor1_sfx(YTEXT)
subroutine ol_read_atm_ascii(KFORC_STEP, PTA, PQA, PWIND, PDIR_SW, PSCA_SW, PLW, PSNOW, PRAIN, PPS, PCO2, PDIR)
subroutine ol_read_atm_netcdf(HSURF_FILETYPE, PTA, PQA, PWIND, PDIR_SW, PSCA_SW, PLW, PSNOW, PRAIN, PPS, PCO2, PDIR)