39
40
41
43 USE pblast_mod
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "units_c.inc"
56
57
58
59 INTEGER,INTENT(INOUT) :: NUMLOADP
60
61 TYPE (PBLAST_) , INTENT(INOUT) :: PBLAST
62 TYPE (SURF_) ,TARGET, DIMENSION(NSURF) :: IGRSURF
63 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
64 INTEGER, INTENT(IN) :: NSURF
65
66
67
68 INTEGER :: I, ID, ISU, IS, IERR1
69 CHARACTER(LEN=NCHARTITLE) :: TITR
70 INTEGER, DIMENSION(:), POINTER :: INGR2USR
71 LOGICAL :: IS_AVAILABLE
72
73
74
75 INTEGER,EXTERNAL :: NGR2USR
76
77
78
79 ierr1 = 0
80
82
83 DO i = 1, pblast%NLOADP_B
85 CALL hm_get_intv(
'surf_ID', isu, is_available, lsubmodel)
86 ingr2usr => igrsurf(1:nsurf)%ID
87 is =
ngr2usr(isu,ingr2usr,nsurf)
88 IF(is > 0)THEN
89 numloadp = numloadp + igrsurf(is)%NSEG*4
90 ENDIF
91 ENDDO
92
93 IF(pblast%NLOADP_B > 0 ) ALLOCATE ( pblast%PBLAST_TAB(pblast%NLOADP_B),stat=ierr1
94 IF (ierr1 /= 0) THEN
95 WRITE(iout,*)' ** ERROR IN MEMORY ALLOCATION'
96 WRITE(istdo,*)' ** ERROR IN MEMORY ALLOCATION'
98 ENDIF
99
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer function ngr2usr(iu, igr, ngr)