53 USE modi_sfx_oasis_check
71 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
72 INTEGER,
INTENT(IN) :: KNPTS
73 INTEGER,
DIMENSION(:),
INTENT(IN) :: KPARAL
79 INTEGER,
DIMENSION(2),
PARAMETER :: IVAR_NODIMS = (/1,1/)
85 INTEGER,
DIMENSION(2) :: IVAR_SHAPE
90 INTEGER :: ILUOUT, IFLAG
92 REAL(KIND=JPRB) :: ZHOOK_HANDLE
96 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_DEFINE',0,zhook_handle)
115 CALL oasis_def_partition(ipart_id,kparal(:),ierr)
117 IF(ierr/=oasis_ok)
THEN 118 WRITE(iluout,*)
'SFX_OASIS_DEFINE: OASIS def partition problem, err = ',ierr
119 CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def partition problem')
140 CALL oasis_def_var(
nsea_fwsu_id,
csea_fwsu,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
141 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea zonal wind stress')
147 CALL oasis_def_var(
nsea_fwsv_id,
csea_fwsv,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
148 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea meridian wind stress')
154 CALL oasis_def_var(
nsea_heat_id,
csea_heat,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
155 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea Non solar net heat flux')
161 CALL oasis_def_var(
nsea_snet_id,
csea_snet,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
162 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea Solar net heat')
168 CALL oasis_def_var(
nsea_wind_id,
csea_wind,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
169 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea 10m wind speed')
175 CALL oasis_def_var(
nsea_fwsm_id,
csea_fwsm,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
176 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea wind stress')
182 CALL oasis_def_var(
nsea_evap_id,
csea_evap,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
183 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea Evaporation')
189 CALL oasis_def_var(
nsea_rain_id,
csea_rain,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
190 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea Rainfall rate')
196 CALL oasis_def_var(
nsea_snow_id,
csea_snow,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
197 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea Snowfall rate')
203 CALL oasis_def_var(
nsea_watf_id,
csea_watf,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
204 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea freshwater rate')
211 CALL oasis_def_var(
nsea_sst_id,
csea_sst,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
212 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea surface temperature')
214 CALL oasis_def_var(
nsea_ucu_id,
csea_ucu,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
215 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea u-current stress')
217 CALL oasis_def_var(
nsea_vcu_id,
csea_vcu,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
218 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea v-current stress')
228 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea-ice non solar net heat')
235 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea-ice solar net heat flux')
242 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea-ice sublimation')
250 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea-ice non solar net heat')
253 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea-ice non solar net heat')
256 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for Sea-ice non solar net heat')
273 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for lake Evaporation')
280 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for lake Rainfall rate')
287 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for lake Snowfall rate')
294 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for sea freshwater rate')
310 CALL oasis_def_var(
nrunoff_id,
crunoff,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
311 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Surface runoff')
318 CALL oasis_def_var(
ncalving_id,
ccalving,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
319 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Calving flux')
325 CALL oasis_def_var(
ndrain_id,
cdrain,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
326 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Deep drainage')
333 CALL oasis_def_var(
nwtd_id,
cwtd,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
334 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Water table depth')
337 CALL oasis_def_var(
nfwtd_id,
cfwtd,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
338 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land fraction of WTD to rise')
347 CALL oasis_def_var(
nsrcflood_id,
csrcflood,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
348 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Floodplains freshwater flux')
351 CALL oasis_def_var(
nfflood_id,
cfflood,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
352 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Floodplains fraction')
355 CALL oasis_def_var(
npiflood_id,
cpiflood,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
356 IF(ierr/=oasis_ok)
CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS def var problem for land Floodplains potential infiltration')
367 CALL oasis_enddef(ierr)
369 IF(ierr/=oasis_ok)
THEN 370 WRITE(iluout,*)
'SFX_OASIS_DEFINE: OASIS enddef problem, err = ',ierr
371 CALL abor1_sfx(
'SFX_OASIS_DEFINE: OASIS enddef problem')
378 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_DEFINE',1,zhook_handle)
character(len=8) csea_heat
character(len=8) cseaice_heat
character(len=8) cseaice_cvr
character(len=8) cseaice_sit
character(len=8) csea_evap
character(len=8) csea_vcu
subroutine sfx_oasis_check(IO, U, KLUOUT)
subroutine abor1_sfx(YTEXT)
character(len=8) clake_rain
character(len=8) csea_fwsu
integer, parameter nundef
character(len=8) clake_evap
character(len=8) cseaice_snet
character(len=8) cseaice_alb
character(len=8) csea_snow
character(len=8) ccalving
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine sfx_oasis_define(IO, U, HPROGRAM, KNPTS, KPARAL)
character(len=8) csea_wind
character(len=8) csea_snet
character(len=8) csea_rain
character(len=8) cseaice_evap
character(len=8) cpiflood
character(len=8) csea_sst
character(len=8) csea_watf
character(len=8) clake_watf
character(len=8) csea_ucu
character(len=8) clake_snow
character(len=8) csea_fwsv
character(len=8) csrcflood
character(len=8) csea_fwsm