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