55 lines
1.5 KiB
Fortran
55 lines
1.5 KiB
Fortran
module data_module
|
|
|
|
implicit none
|
|
|
|
double precision,protected, dimension(:,:), allocatable :: q_m
|
|
double precision,protected, dimension(:,:), allocatable :: x1_m
|
|
double precision,protected, dimension(:,:), allocatable :: x2_m
|
|
double precision,protected, dimension(:,:), allocatable :: y_m
|
|
double precision,protected, dimension(:,:), allocatable :: wt_m
|
|
double precision,protected, dimension(:,:), allocatable :: ny_m
|
|
|
|
contains
|
|
|
|
!------------------------------
|
|
|
|
subroutine init_data(numdatpt,q,x1,x2,y,wt,ny)
|
|
|
|
use dim_parameter, only: qn, ntot
|
|
|
|
implicit none
|
|
|
|
integer i,numdatpt
|
|
double precision q(qn,*)
|
|
double precision x1(qn,*)
|
|
double precision x2(qn,*)
|
|
double precision y(ntot,*)
|
|
double precision wt(ntot,*)
|
|
double precision ny(ntot,*)
|
|
|
|
allocate(q_m(qn,numdatpt))
|
|
allocate(x1_m(qn,numdatpt))
|
|
allocate(x2_m(qn,numdatpt))
|
|
allocate(y_m(ntot,numdatpt))
|
|
allocate(wt_m(ntot,numdatpt))
|
|
allocate(ny_m(ntot,numdatpt))
|
|
|
|
do i=1,numdatpt
|
|
q_m(1:qn,i)=q(1:qn,i)
|
|
x1_m(1:qn,i)=x1(1:qn,i)
|
|
x2_m(1:qn,i)=x2(1:qn,i)
|
|
y_m(1:ntot,i)=y(1:ntot,i)
|
|
wt_m(1:ntot,i)=wt(1:ntot,i)
|
|
ny_m(1:ntot,i)=ny(1:ntot,i)
|
|
enddo
|
|
|
|
end subroutine
|
|
|
|
!------------------------------
|
|
|
|
subroutine dealloc_data()
|
|
deallocate(q_m,x1_m,x2_m,y_m,wt_m,ny_m)
|
|
end subroutine
|
|
|
|
end module data_module
|