subroutine add_convert_method(phys_convert_vars, nwc, dataset_names,&
file_suffix)
use mod_comm_lib, only: mpistop
integer, intent(in) :: nwc
character(len=*), intent(in) :: dataset_names(:)
character(len=*), intent(in) :: file_suffix
interface
function phys_convert_vars(ixImin1,ixImin2,ixImin3,ixImax1,ixImax2,&
ixImax3, ixOmin1,ixOmin2,ixOmin3,ixOmax1,ixOmax2,ixOmax3, w, x,&
nwc) result(wnew)
use mod_global_parameters
integer, intent(in) :: ixImin1,ixImin2,ixImin3,ixImax1,&
ixImax2,ixImax3, ixOmin1,ixOmin2,ixOmin3,ixOmax1,ixOmax2,ixOmax3,&
nwc
double precision, intent(in) :: w(ixImin1:ixImax1,ixImin2:ixImax2,&
ixImin3:ixImax3, 1:nw)
double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,&
ixImin3:ixImax3,1:ndim)
double precision :: wnew(ixOmin1:ixOmax1,ixOmin2:ixOmax2,&
ixOmin3:ixOmax3, 1:nwc)
end function phys_convert_vars
end interface
type(convert_vars_method), pointer :: temp
if(nwc .gt. max_nw) then
call mpistop("INCREASE max_nw ")
endif
allocate(temp)
temp%phys_convert_vars => phys_convert_vars
temp%nwc = nwc
temp%file_suffix = file_suffix
temp%dataset_names(1:nwc) = dataset_names(1:nwc)
temp%next => head_convert_vars_methods
head_convert_vars_methods => temp
end subroutine add_convert_method