add_convert_method Subroutine

public subroutine add_convert_method(phys_convert_vars, nwc, dataset_names, file_suffix)

Uses

  • proc~~add_convert_method~~UsesGraph proc~add_convert_method add_convert_method module~mod_comm_lib mod_comm_lib proc~add_convert_method->module~mod_comm_lib

Arguments

Type IntentOptional Attributes Name
public function phys_convert_vars(ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, w, x, nwc) result(wnew)
Arguments
Type IntentOptional Attributes Name
integer, intent(in) :: ixImin1
integer, intent(in) :: ixImin2
integer, intent(in) :: ixImin3
integer, intent(in) :: ixImax1
integer, intent(in) :: ixImax2
integer, intent(in) :: ixImax3
integer, intent(in) :: ixOmin1
integer, intent(in) :: ixOmin2
integer, intent(in) :: ixOmin3
integer, intent(in) :: ixOmax1
integer, intent(in) :: ixOmax2
integer, intent(in) :: ixOmax3
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)
integer, intent(in) :: nwc
Return Value double precision, (ixOmin1:ixOmax1,ixOmin2:ixOmax2,ixOmin3:ixOmax3,1:nwc)
integer, intent(in) :: nwc
character(len=*), intent(in) :: dataset_names(:)
character(len=*), intent(in) :: file_suffix

Calls

proc~~add_convert_method~~CallsGraph proc~add_convert_method add_convert_method proc~mpistop mpistop proc~add_convert_method->proc~mpistop mpi_abort mpi_abort proc~mpistop->mpi_abort

Called by

proc~~add_convert_method~~CalledByGraph proc~add_convert_method add_convert_method proc~add_convert_method2 add_convert_method2 proc~add_convert_method2->proc~add_convert_method

Source Code

  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