base_change_base Subroutine

private subroutine base_change_base(sf, old_base, old_data, sf_data)

change basis from old input base to new base,

Type Bound

t_base

Arguments

Type IntentOptional Attributes Name
class(t_base), intent(in) :: sf

self

class(t_base), intent(in) :: old_base
real(kind=wp), intent(in) :: old_data(:,:)
real(kind=wp), intent(out) :: sf_data(:,:)

Calls

proc~~base_change_base~~CallsGraph proc~base_change_base t_base%base_change_base proc~fbase_change_base t_fBase%fBase_change_base proc~base_change_base->proc~fbase_change_base proc~fbase_compare t_fBase%fBase_compare proc~fbase_change_base->proc~fbase_compare

Called by

proc~~base_change_base~~CalledByGraph proc~base_change_base t_base%base_change_base proc~restartfromstate RestartFromState proc~restartfromstate->proc~base_change_base

Source Code

SUBROUTINE base_change_base( sf , old_base, old_data, sf_data)
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  CLASS(t_base), INTENT(IN   ) :: sf !! self
  CLASS(t_base), INTENT(IN   ) :: old_base
  REAL(wp)     , INTENT(IN   ) :: old_data(:,:)
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  REAL(wp)     , INTENT(  OUT) :: sf_data(:,:)
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
  REAL(wp) :: tmp(old_base%s%nBase,sf%f%modes)
!===================================================================================================================================
CALL sf%f%change_base(old_base%f,1,old_data,tmp    )
CALL sf%s%change_base(old_base%s,2,tmp     ,sf_data)
END SUBROUTINE base_change_base