7 orecv_land, orecv_sea, &
8 pland_wtd,pland_fwtd, &
9 pland_fflood,pland_piflood, &
10 psea_sst,psea_ucu,psea_vcu, &
11 pseaice_sit,pseaice_cvr,pseaice_alb )
53 USE yomhook
,ONLY : lhook, dr_hook
54 USE parkind1
,ONLY : jprb
65 CHARACTER(LEN=*),
INTENT(IN) :: hprogram
66 INTEGER,
INTENT(IN) :: ki
67 INTEGER,
INTENT(IN) :: ksw
68 REAL,
INTENT(IN) :: ptimec
70 LOGICAL,
INTENT(IN) :: orecv_land
71 LOGICAL,
INTENT(IN) :: orecv_sea
73 REAL,
DIMENSION(KI),
INTENT(OUT) :: pland_wtd
74 REAL,
DIMENSION(KI),
INTENT(OUT) :: pland_fwtd
75 REAL,
DIMENSION(KI),
INTENT(OUT) :: pland_fflood
76 REAL,
DIMENSION(KI),
INTENT(OUT) :: pland_piflood
78 REAL,
DIMENSION(KI),
INTENT(OUT) :: psea_sst
79 REAL,
DIMENSION(KI),
INTENT(OUT) :: psea_ucu
80 REAL,
DIMENSION(KI),
INTENT(OUT) :: psea_vcu
82 REAL,
DIMENSION(KI),
INTENT(OUT) :: pseaice_sit
83 REAL,
DIMENSION(KI),
INTENT(OUT) :: pseaice_cvr
84 REAL,
DIMENSION(KI),
INTENT(OUT) :: pseaice_alb
90 REAL,
DIMENSION(KI,1) :: zread
95 CHARACTER(LEN=50) :: ycomment
97 REAL(KIND=JPRB) :: zhook_handle
103 IF (lhook) CALL dr_hook(
'SFX_OASIS_RECV',0,zhook_handle)
123 pland_wtd(:) = xundef
124 pland_fwtd(:) = xundef
125 pland_fflood(:) = xundef
126 pland_piflood(:) = xundef
132 ycomment=
'water table depth'
133 CALL oasis_get(nwtd_id,idate,zread(:,:),ierr)
135 pland_wtd(:)=zread(:,1)
137 ycomment=
'fraction of water table rise'
138 CALL oasis_get(nfwtd_id,idate,zread(:,:),ierr)
140 pland_fwtd(:)=zread(:,1)
146 ycomment=
'Flood fraction'
147 CALL oasis_get(nfflood_id,idate,zread(:,:),ierr)
149 pland_fflood(:)=zread(:,1)
151 ycomment=
'Potential flood infiltration'
152 CALL oasis_get(npiflood_id,idate,zread(:,:),ierr)
154 pland_piflood(:)=zread(:,1)
156 WHERE(pland_piflood(:)==0.0)pland_fflood(:)=0.0
178 pseaice_sit(:) = xundef
179 pseaice_cvr(:) = xundef
180 pseaice_alb(:) = xundef
184 ycomment=
'Sea surface temperature'
185 CALL oasis_get(nsea_sst_id,idate,zread(:,:),ierr)
187 psea_sst(:)=zread(:,1)
189 ycomment=
'Sea u-current stress'
190 CALL oasis_get(nsea_ucu_id,idate,zread(:,:),ierr)
192 psea_ucu(:)=zread(:,1)
194 ycomment=
'Sea v-current stress'
195 CALL oasis_get(nsea_vcu_id,idate,zread(:,:),ierr)
197 psea_vcu(:)=zread(:,1)
201 ycomment=
'Sea-ice Temperature'
202 CALL oasis_get(nseaice_sit_id,idate,zread(:,:),ierr)
204 pseaice_sit(:)=zread(:,1)
206 ycomment=
'Sea-ice cover'
207 CALL oasis_get(nseaice_cvr_id,idate,zread(:,:),ierr)
209 pseaice_cvr(:)=zread(:,1)
211 ycomment=
'Sea-ice albedo'
212 CALL oasis_get(nseaice_alb_id,idate,zread(:,:),ierr)
214 pseaice_alb(:)=zread(:,1)
221 IF (lhook) CALL dr_hook(
'SFX_OASIS_RECV',1,zhook_handle)
233 INTEGER,
INTENT(IN) :: kluout
234 INTEGER,
INTENT(IN) :: kerr
235 CHARACTER(LEN=*),
INTENT(IN) :: hcomment
237 REAL(KIND=JPRB) :: zhook_handle
239 IF (lhook) CALL dr_hook(
'SFX_OASIS_RECV:CHECK_RECV',0,zhook_handle)
241 IF (kerr/=oasis_ok.AND.kerr<oasis_recvd)
THEN
242 WRITE(kluout,
'(A,I4)')
'Return OASIS code receiving '//trim(hcomment)//
' : ',kerr
243 CALL
abor1_sfx(
'SFX_OASIS_RECV: problem receiving '//trim(hcomment)//
' from OASIS')
246 IF (lhook) CALL dr_hook(
'SFX_OASIS_RECV:CHECK_RECV',1,zhook_handle)
subroutine sfx_oasis_recv(HPROGRAM, KI, KSW, PTIMEC, ORECV_LAND, ORECV_SEA, PLAND_WTD, PLAND_FWTD, PLAND_FFLOOD, PLAND_PIFLOOD, PSEA_SST, PSEA_UCU, PSEA_VCU, PSEAICE_SIT, PSEAICE_CVR, PSEAICE_ALB)
subroutine check_recv(KLUOUT, KERR, HCOMMENT)
subroutine abor1_sfx(YTEXT)
subroutine get_luout(HPROGRAM, KLUOUT)