14 CHARACTER(LEN=*),
INTENT(IN) :: HPROGRAM
15 INTEGER,
INTENT(IN) :: KNPATCH
16 LOGICAL,
INTENT(IN) :: ODIM
17 CHARACTER(LEN=*),
INTENT(IN) :: HRECFM
18 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: PWORK
20 CHARACTER(LEN=*),
INTENT(IN),
OPTIONAL :: HDIR
21 INTEGER,
INTENT(IN),
OPTIONAL :: KPATCH
23 CHARACTER(LEN=12) :: YRECFM
24 INTEGER :: JP, IRESP, IPATCH
25 CHARACTER(LEN=1) :: YDIR
26 CHARACTER(LEN=2) :: YPAT
27 REAL(KIND=JPRB) :: ZHOOK_HANDLE
29 IF (
lhook)
CALL dr_hook(
'MAKE_CHOICE_ARRAY',0,zhook_handle)
32 IF (
PRESENT(hdir)) ydir = hdir
35 IF (knpatch==1.AND.
PRESENT(kpatch)) ipatch = kpatch
41 ELSEIF (ipatch/=0)
THEN 42 WRITE(ypat,
'(I2)') ipatch
44 yrecfm=adjustl(hrecfm(:len_trim(hrecfm)))
45 IF (ipatch/=0) yrecfm=trim(yrecfm)//
'P'//adjustl(ypat(:len_trim(ypat)))
46 CALL read_surf(hprogram,yrecfm,pwork(:,jp),iresp,hdir=ydir)
49 CALL read_surf(hprogram,hrecfm,pwork(:,:),iresp,hdir=ydir)
52 IF (
lhook)
CALL dr_hook(
'MAKE_CHOICE_ARRAY',1,zhook_handle)
subroutine make_choice_array(HPROGRAM, KNPATCH, ODIM, HRECFM, PWORK, HDIR, KPATCH)