54 INTEGER,
INTENT(IN) :: NOMB
55 INTEGER,
INTENT(INOUT) :: CHARACTERISTIC
60 INTEGER,
PARAMETER :: MAX_BASKET_SIZE=10
65 INTEGER (KIND=MY_ADDRESS_KIND),
DIMENSION(18) :: CH_DELTA
69 INTEGER,
DIMENSION(18) :: CH_BLENGTH
71 INTEGER,
DIMENSION(18) :: CH_TYPES
74 INTEGER (KIND=MY_ADDRESS_KIND) :: EXTENT,ILB,IUB,INTEX
78 ch_blength=(/1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/)
79 ch_delta= (/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/)
83 WRITE(
lu,*)
'ORG_CHARAC_TYPE1: COMPAD MAYBE CRITICAL',
85 WRITE(
lu,*)
' PLEASE CONTACT JR @ ADJOINTWARE' 95 ch_delta(i)=ch_delta(i-1)+intex
108 ch_delta(i)=ch_delta(i-1)+intex
111 ch_delta(18)=ch_delta(17)+intex*max_basket_size
113 IF(nomb.GE.0.AND.nomb.LE.max_basket_size)
THEN 114 ch_blength(17) = nomb
116 WRITE(
lu,*)
' PARALLEL::ORG_CHARAC_TYPE1::',
117 &
' NOMB NOT IN RANGE [0..MAX_BASKET_SIZE]' 118 WRITE(
lu,*)
' MAX_BASKET_SIZE, NOMB: ',max_basket_size,nomb
154 & characteristic,ier)
159 IF(ilb.NE.ch_delta(1).OR.iub.NE.ch_delta(18))
THEN 160 WRITE(
lu,*)
' PARALLEL::ORG_CHARAC_TYPE1:' 161 WRITE(
lu,*)
' MEMORY PROBLEM WITH THIS COMPILER: ' 162 WRITE(
lu,*)
' ILB=',ilb,
' NOT EQUAL TO CH_DELTA(1)=',
165 WRITE(
lu,*)
' IUB=',iub,
' NOT EQUAL TO CH_DELTA(18)=',
171 WRITE(
lu,*)
'CALL OF ORG_CHARAC_TYPE1, VOID VERSION'
integer, parameter mpi_double_precision
subroutine p_mpi_type_get_extent(DATATYPE, LOWER_BOUND, EXTENT, IERR)
integer, parameter mpi_integer
subroutine p_mpi_type_create_struct(NBLOCK, NELEM, DISPL, ELEM_TYPE, NEW_DATATYPE, IERR)
subroutine org_charac_type1(NOMB, CHARACTERISTIC)
integer, parameter mpi_ub
subroutine p_mpi_type_commit(DATA_TYPE, IERR)
integer, parameter ampi_type