7 hprogram,ki,ptimec,pstep_surf,ksize_omp)
62 lcpl_flood,lcpl_calving, &
71 USE modi_sfx_oasis_send
73 USE yomhook
,ONLY : lhook, dr_hook
74 USE parkind1
,ONLY : jprb
90 TYPE(flake_t),
INTENT(INOUT) :: f
91 TYPE(isba_t
),
INTENT(INOUT) :: i
96 CHARACTER(LEN=*),
INTENT(IN) :: hprogram
97 INTEGER,
INTENT(IN) :: ki
98 REAL,
INTENT(IN) :: ptimec
99 REAL,
INTENT(IN) :: pstep_surf
100 INTEGER,
DIMENSION(:),
INTENT(IN) :: ksize_omp
106 REAL,
DIMENSION(KI) :: zland_runoff
107 REAL,
DIMENSION(KI) :: zland_drain
108 REAL,
DIMENSION(KI) :: zland_calving
109 REAL,
DIMENSION(KI) :: zland_recharge
110 REAL,
DIMENSION(KI) :: zland_watfld
112 REAL,
DIMENSION(KI) :: zlake_evap
113 REAL,
DIMENSION(KI) :: zlake_rain
114 REAL,
DIMENSION(KI) :: zlake_snow
115 REAL,
DIMENSION(KI) :: zlake_watf
117 REAL,
DIMENSION(KI) :: zsea_fwsu
118 REAL,
DIMENSION(KI) :: zsea_fwsv
119 REAL,
DIMENSION(KI) :: zsea_heat
120 REAL,
DIMENSION(KI) :: zsea_snet
121 REAL,
DIMENSION(KI) :: zsea_wind
122 REAL,
DIMENSION(KI) :: zsea_fwsm
123 REAL,
DIMENSION(KI) :: zsea_evap
124 REAL,
DIMENSION(KI) :: zsea_rain
125 REAL,
DIMENSION(KI) :: zsea_snow
126 REAL,
DIMENSION(KI) :: zsea_watf
128 REAL,
DIMENSION(KI) :: zseaice_heat
129 REAL,
DIMENSION(KI) :: zseaice_snet
130 REAL,
DIMENSION(KI) :: zseaice_evap
136 LOGICAL :: gsend_land
137 LOGICAL :: gsend_lake
140 REAL(KIND=JPRB) :: zhook_handle
144 IF (lhook) CALL dr_hook(
'SFX_OASIS_SEND_OL',0,zhook_handle)
153 idate = int(ptimec-pstep_surf)
155 gsend_land=(lcpl_land.AND.mod(ptimec,xtstep_cpl_land)==0.0)
156 gsend_lake=(lcpl_lake.AND.mod(ptimec,xtstep_cpl_lake)==0.0)
157 gsend_sea =(lcpl_sea .AND.mod(ptimec,xtstep_cpl_sea )==0.0)
161 IF(.NOT.(gsend_land.OR.gsend_lake.OR.gsend_sea))
THEN
162 IF (lhook) CALL dr_hook(
'SFX_OASIS_SEND_OL',1,zhook_handle)
169 zland_runoff(:) = xundef
170 zland_drain(:) = xundef
171 zland_calving(:) = xundef
172 zland_recharge(:) = xundef
173 zland_watfld(:) = xundef
177 zlake_evap(:) = xundef
178 zlake_rain(:) = xundef
179 zlake_snow(:) = xundef
180 zsea_watf(:) = xundef
184 zsea_fwsu(:) = xundef
185 zsea_fwsv(:) = xundef
186 zsea_heat(:) = xundef
187 zsea_snet(:) = xundef
188 zsea_wind(:) = xundef
189 zsea_fwsm(:) = xundef
190 zsea_evap(:) = xundef
191 zsea_rain(:) = xundef
192 zsea_snow(:) = xundef
193 zsea_watf(:) = xundef
195 zseaice_heat(:) = xundef
196 zseaice_snet(:) = xundef
197 zseaice_evap(:) = xundef
206 IF (nblock==nblocktot)
THEN
207 CALL
init_dim(ksize_omp,0,inkproma,nindx1sfx,nindx2sfx)
209 CALL
init_dim(ksize_omp,nblock,inkproma,nindx1sfx,nindx2sfx)
226 lcpl_gw,lcpl_flood,lcpl_calving, &
227 zland_runoff(nindx1sfx:nindx2sfx),zland_drain(nindx1sfx:nindx2sfx),&
228 zland_calving(nindx1sfx:nindx2sfx),zland_recharge(nindx1sfx:nindx2sfx),&
229 zland_watfld(nindx1sfx:nindx2sfx))
238 zlake_evap(nindx1sfx:nindx2sfx),zlake_rain(nindx1sfx:nindx2sfx), &
239 zlake_snow(nindx1sfx:nindx2sfx),zlake_watf(nindx1sfx:nindx2sfx) )
248 lcpl_seaice,lwater, &
249 zsea_fwsu(nindx1sfx:nindx2sfx),zsea_fwsv(nindx1sfx:nindx2sfx),zsea_heat(nindx1sfx:nindx2sfx),&
250 zsea_snet(nindx1sfx:nindx2sfx),zsea_wind(nindx1sfx:nindx2sfx),zsea_fwsm(nindx1sfx:nindx2sfx),&
251 zsea_evap(nindx1sfx:nindx2sfx),zsea_rain(nindx1sfx:nindx2sfx),zsea_snow(nindx1sfx:nindx2sfx),&
252 zsea_watf(nindx1sfx:nindx2sfx), &
253 zseaice_heat(nindx1sfx:nindx2sfx),zseaice_snet(nindx1sfx:nindx2sfx),zseaice_evap(nindx1sfx:nindx2sfx) )
257 CALL
reset_dim(ki,inkproma,nindx1sfx,nindx2sfx)
267 CALL
sfx_oasis_send(iluout,ki,idate,gsend_land,gsend_lake,gsend_sea, &
268 zland_runoff,zland_drain,zland_calving,zland_recharge,&
270 zlake_evap,zlake_rain,zlake_snow,zlake_watf, &
271 zsea_fwsu,zsea_fwsv,zsea_heat,zsea_snet,zsea_wind, &
272 zsea_fwsm,zsea_evap,zsea_rain,zsea_snow,zsea_watf, &
273 zseaice_heat,zseaice_snet,zseaice_evap )
277 IF (lhook) CALL dr_hook(
'SFX_OASIS_SEND_OL',1,zhook_handle)
subroutine get_sfx_land(I, U, OCPL_GW, OCPL_FLOOD, OCPL_CALVING, PRUNOFF, PDRAIN, PCALVING, PRECHARGE, PSRCFLOOD)
subroutine get_sfx_sea(S, U, W, OCPL_SEAICE, OWATER, PSEA_FWSU, PSEA_FWSV, PSEA_HEAT, PSEA_SNET, PSEA_WIND, PSEA_FWSM, PSEA_EVAP, PSEA_RAIN, PSEA_SNOW, PSEA_WATF, PSEAICE_HEAT, PSEAICE_SNET, PSEAICE_EVAP)
subroutine sfx_oasis_send_ol(F, I, S, U, W, HPROGRAM, KI, PTIMEC, PSTEP_SURF, KSIZE_OMP)
subroutine goto_model(KMODEL)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine init_dim(KSIZE_OMP, KBLOCK, KKPROMA, KINDX1, KINDX2)
subroutine get_sfx_lake(F, U, PLAKE_EVAP, PLAKE_RAIN, PLAKE_SNOW, PLAKE_WATF)
subroutine reset_dim(KNI, KKPROMA, KINDX1, KINDX2)
subroutine sfx_oasis_send(KLUOUT, KI, KDATE, OSEND_LAND, OSEND_LAKE, OSEND_SEA, PLAND_RUNOFF, PLAND_DRAIN, PLAND_CALVING, PLAND_RECHARGE, PLAND_SRCFLOOD, PLAKE_EVAP, PLAKE_RAIN, PLAKE_SNOW, PLAKE_WATF, PSEA_FWSU, PSEA_FWSV, PSEA_HEAT, PSEA_SNET, PSEA_WIND, PSEA_FWSM, PSEA_EVAP, PSEA_RAIN, PSEA_SNOW, PSEA_WATF, PSEAICE_HEAT, PSEAICE_SNET, PSEAICE_EVAP)