1MODULE TYPESP
2  TYPE DMT
3     REAL(KIND(1.D0)), POINTER :: ASPK(:)
4  END TYPE DMT
5END MODULE TYPESP
6
7MODULE TCNST
8  Integer, Parameter :: DIM_TEMP_BUFFER=10000
9  Real(Kind(1.d0)), Parameter :: COLROW_=0.33,PERCENT=0.7
10end MODULE TCNST
11
12
13Subroutine DOWORK(A)
14  Use TYPESP
15  Use TCNST
16  Type(DMT), intent (inout)     :: A
17  Real(Kind(1.d0)),Pointer      ::  ASPK(:)
18  Integer                       ::  ISIZE, IDIM
19
20  ISIZE=DIM_TEMP_BUFFER
21
22  Allocate(ASPK(ISIZE),STAT=INFO)
23  IDIM = MIN(ISIZE,SIZE(A%ASPK))
24  ASPK(1:IDIM)  = A%ASPK(1:IDIM)
25  Return
26End Subroutine DOWORK
27