52 USE yomhook
,ONLY : lhook, dr_hook
53 USE parkind1
,ONLY : jprb
61 TYPE(isba_t
),
INTENT(INOUT) :: i
64 INTEGER,
INTENT(IN) :: kluout
69 REAL(KIND=JPRB) :: zhook_handle
73 IF (lhook) CALL dr_hook(
'SFX_OASIS_CHECK',0,zhook_handle)
76 IF(u%CWATER/=
'FLAKE ')
THEN
77 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
78 WRITE(kluout,*)
'!!! SFX - LAKE coupling is asked !!!'
79 WRITE(kluout,*)
'!!! but CWATER /= FLAKE !!!'
80 WRITE(kluout,*)
'!!! !!!'
81 WRITE(kluout,*)
'!!! Please check your namelist !!!'
82 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
83 CALL
abor1_sfx(
'SFX_OASIS_CHECK: SFX - LAKE coupling asked but CWATER /= FLAKE')
89 IF(.NOT.i%LGLACIER)
THEN
90 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
91 WRITE(kluout,*)
'Calving flux is asked by SFX - OASIS coupling '
92 WRITE(kluout,*)
'CCALVING = '//trim(ccalving)//
' in NAM_SFX_LAND_CPL'
93 WRITE(kluout,*)
'but LGLACIER in not activated in NAM_ISBAn '
94 WRITE(kluout,*)
'Please check your SURFEX namelist '
95 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
96 CALL
abor1_sfx(
'SFX_OASIS_CHECK: Calving flux is asked by SFX - OASIS coupling')
101 IF(lcpl_gw.AND.i%CISBA/=
'DIF')
THEN
102 WRITE(kluout,*)
'SFX_OASIS_CHECK: Water table depth / surface coupling requires ISBA-DF'
103 CALL
abor1_sfx(
'SFX_OASIS_CHECK: ISBA-DF is required for SFX - Groundwater coupling')
105 IF(.NOT.lcpl_gw.AND.i%CISBA==
'DIF'.AND.i%LWTD)
THEN
106 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
107 WRITE(kluout,*)
'!!! A groundwater map is specified and LAND coupling !!!'
108 WRITE(kluout,*)
'!!! is activated but not groundwater/surface coupling !!!'
109 WRITE(kluout,*)
'!!! !!!'
110 WRITE(kluout,*)
'!!! ARE YOU SURE : YOU DO NOT WANT THIS COUPLING ? !!!'
111 WRITE(kluout,*)
'!!! !!!'
112 WRITE(kluout,*)
'!!! Use NAM_SFX_LAND_CPL with CWTD, CFWTD and CRECHARGE !!!'
113 WRITE(kluout,*)
'!!! if you want this coupling via OASIS !!!'
114 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
118 IF(lwater.AND.(u%CWATER==
'NONE '.OR.u%CWATER==
'FLAKE'))
THEN
119 WRITE(kluout,*)
'LWATER = ',lwater,
' CWATER = ',u%CWATER
120 WRITE(kluout,*)
'! Inland water should not be added to sea mask in case CWATER is NONE or FLAKE !!!'
121 WRITE(kluout,*)
'! Change CWATER or put LWATER=.FALSE. in NAM_SFX_SEA_CPL !!!'
122 CALL
abor1_sfx(
'SFX_OASIS_READ_NAM: LWATER and CWATER not consistent')
125 IF (lhook) CALL dr_hook(
'SFX_OASIS_CHECK',1,zhook_handle)
subroutine abor1_sfx(YTEXT)
subroutine sfx_oasis_check(I, U, KLUOUT)