7 hprogram,otemp_arp,ktemplayer_arp)
55 USE modi_open_namelist
56 USE modi_close_namelist
61 USE yomhook
,ONLY : lhook, dr_hook
62 USE parkind1
,ONLY : jprb
72 TYPE(isba_t
),
INTENT(INOUT) :: i
74 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
75 LOGICAL,
INTENT(OUT) :: otemp_arp
76 INTEGER,
INTENT(OUT) :: ktemplayer_arp
84 REAL(KIND=JPRB) :: zhook_handle
96 IF (lhook) CALL dr_hook(
'SOILTEMP_ARP_PAR',0,zhook_handle)
113 CALL
posnam(ilunam,
'NAM_SOILTEMP_ARP',gfound,iluout)
114 IF (gfound)
READ(unit=ilunam,nml=nam_soiltemp_arp)
125 IF(ltemp_arp.AND.i%CISBA==
'DIF')
THEN
127 WRITE(iluout,*)
'LTEMP_ARP put at False because you use the ISBA-DF scheme'
131 IF(ntemplayer_arp>nmax_layer)
THEN
132 WRITE(iluout,*)
'NTEMPLAYER_ARP is too big (>10), NTEMPLAYER_ARP= ',ntemplayer_arp
133 CALL
abor1_sfx(
'NTEMPLAYER_ARP is too big (>10)')
134 ELSEIF(ntemplayer_arp<4)
THEN
135 WRITE(iluout,*)
'NTEMPLAYER_ARP must be at least equal to 4, NTEMPLAYER_ARP= ',ntemplayer_arp
136 CALL
abor1_sfx(
'NTEMPLAYER_ARP must be at least equal to 4')
138 IF(count(sodelx(1:ntemplayer_arp)/=xundef)>0.AND. &
139 count(sodelx(1:ntemplayer_arp)/=xundef)/=ntemplayer_arp)
THEN
140 WRITE(iluout,*)
'Number of SODELX imposed values =',count(sodelx(1:ntemplayer_arp)/=xundef),&
141 ' /= NTEMPLAYER_ARP= ',ntemplayer_arp
142 CALL
abor1_sfx(
'SODELX imposed values /= NTEMPLAYER_ARP')
153 ALLOCATE(i%XSODELX(ntemplayer_arp))
155 IF(all(sodelx(:)==xundef))
THEN
161 WRITE(iluout,*)
'SODELX default values : ',i%XSODELX(:)
165 i%XSODELX(:)=sodelx(1:ntemplayer_arp)
166 WRITE(iluout,*)
'SODELX imposed to : ',i%XSODELX(:)
172 ALLOCATE(i%XSODELX(0))
177 ktemplayer_arp=ntemplayer_arp
178 IF (lhook) CALL dr_hook(
'SOILTEMP_ARP_PAR',1,zhook_handle)
subroutine soiltemp_arp_par(I, HPROGRAM, OTEMP_ARP, KTEMPLAYER_ARP)
subroutine abor1_sfx(YTEXT)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)