51 USE modi_read_topd_file
55 USE yomhook
,ONLY : lhook, dr_hook
56 USE parkind1
,ONLY : jprb
62 INTEGER,
INTENT(IN) :: ki
66 INTEGER :: jcat,jmesh,jpix
67 INTEGER,
DIMENSION(KI) :: jp_in_m
68 INTEGER :: inumpix,ieof,itmp
69 INTEGER :: iimax,ijmax
70 CHARACTER(LEN=50) :: yname
71 REAL,
DIMENSION(:),
ALLOCATABLE :: ztopd_read
72 REAL(KIND=JPRB) :: zhook_handle
74 IF (lhook) CALL dr_hook(
'READ_FILE_MASKTOPD',0,zhook_handle)
79 ALLOCATE(ztopd_read(npmax))
83 yname=trim(ccat(jcat))//trim(
'.mask_topd')
85 CALL
read_topd_file(
'OFFLIN',yname,
'FORMATTED',nnpt(jcat),ztopd_read)
89 IF ( nline(jcat,jpix)/=0 )
THEN
90 IF (ztopd_read(jpix)==xundef )
THEN
91 nmaskt(jcat,nline(jcat,jpix)) = nundef
93 nmaskt(jcat,nline(jcat,jpix)) = floor(ztopd_read(jpix))
104 nnpix(jmesh) = count(nmaskt(:,:)==jmesh)
106 inumpix=maxval(nnpix)
108 ALLOCATE(nmaski(ki,nncat,inumpix))
109 nmaski(:,:,:) = nundef
113 yname=trim(ccat(jcat))//trim(
'.mask_surf')
114 CALL
open_file(
'ASCII ',nunit,yname,
'FORMATTED',
'READ')
118 READ(nunit,*,iostat=ieof) jmesh,itmp
119 nmaski(jmesh,jcat,jp_in_m(jmesh))=itmp
120 jp_in_m(jmesh)=jp_in_m(jmesh)+1
127 IF (lhook) CALL dr_hook(
'READ_FILE_MASKTOPD',1,zhook_handle)
subroutine read_topd_file(HPROGRAM, HFILE, HFORM, KNPT, PTOPD_READ)
subroutine read_file_masktopd(KI)
subroutine close_file(HPROGRAM, KUNIT)
subroutine open_file(HPROGRAM, KUNIT, HFILE, HFORM, HACTION, HACCESS, KRECL)