48 USE modi_get_lonlat_trip
62 INTEGER,
INTENT(IN) :: KLISTING
63 INTEGER,
INTENT(IN) :: KLON
64 INTEGER,
INTENT(IN) :: KLAT
69 INTEGER,
PARAMETER :: IG_PARSIZE = 3
70 INTEGER,
DIMENSION(2),
PARAMETER :: IVAR_NODIMS = (/2,1/)
75 INTEGER,
DIMENSION(IG_PARSIZE) :: IPARAL
76 INTEGER,
DIMENSION(2,2) :: IVAR_SHAPE
84 INTEGER :: JLON, JLAT, JC, IFLAG
86 REAL(KIND=JPRB) :: ZHOOK_HANDLE
90 IF (
lhook)
CALL dr_hook(
'TRIP_OASIS_DEFINE',0,zhook_handle)
101 iparal(clim_strategy) = clim_serial
102 iparal(clim_offset ) = 0
103 iparal(clim_length ) = klon*klat
105 CALL oasis_def_partition(ipart_id,iparal(:),ierr)
107 IF(ierr/=oasis_ok)
THEN 108 WRITE(klisting,*)
'TRIP_OASIS_DEFINE: OASIS def partition problem, err = ',ierr
109 CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def partition problem')
118 ivar_shape(1,2)= klon
120 ivar_shape(2,2)= klat
131 CALL oasis_def_var(
nrivdis_id,
crivdis,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
132 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for River discharge to ocean')
139 CALL oasis_def_var(
ncalvgre_id,
ccalvgre,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
140 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Calving flux over Greenland')
143 CALL oasis_def_var(
ncalvant_id,
ccalvant,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
144 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Calving flux over Antarctica')
159 CALL oasis_def_var(
nrunoff_id,
crunoff,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
160 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Surface runoff')
165 CALL oasis_def_var(
ncalving_id,
ccalving,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
166 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for calvin flux')
170 CALL oasis_def_var(
ndrain_id,
cdrain,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
171 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Deep drainage')
178 CALL oasis_def_var(
nwtd_id,
cwtd,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
179 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Water table depth')
182 CALL oasis_def_var(
nfwtd_id,
cfwtd,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
183 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for fraction of WTD to rise')
192 CALL oasis_def_var(
nsrcflood_id,
csrcflood,ipart_id,ivar_nodims,oasis_in,ivar_shape,oasis_double,ierr)
193 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Flood precip interception')
196 CALL oasis_def_var(
nfflood_id,
cfflood,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
197 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Floodplains fraction')
200 CALL oasis_def_var(
npiflood_id,
cpiflood,ipart_id,ivar_nodims,oasis_out,ivar_shape,oasis_double,ierr)
201 IF(ierr/=oasis_ok)
CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS def var problem for Floodplains potential infiltration')
212 CALL oasis_enddef(ierr)
214 IF(ierr/=oasis_ok)
THEN 215 WRITE(klisting,*)
'TRIP_OASIS_DEFINE: OASIS enddef problem, err = ',ierr
216 CALL abort_trip(
'TRIP_OASIS_DEFINE: OASIS enddef problem')
223 IF (
lhook)
CALL dr_hook(
'TRIP_OASIS_DEFINE',1,zhook_handle)
subroutine trip_oasis_define(KLISTING, KLON, KLAT)
character(len=8) ccalvant
character(len=8) cpiflood
character(len=8) ccalvgre
character(len=8) ccalving
subroutine abort_trip(YTEXT)
character(len=8) csrcflood