MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
memorymanagermodule::mem_reassignptr Interface Reference
Collaboration diagram for memorymanagermodule::mem_reassignptr:
Collaboration graph

Private Member Functions

subroutine reassignptr_int (sclr, name, mem_path, name_target, mem_path_target)
 Set the pointer for an integer scalar to. More...
 
subroutine reassignptr_int1d (aint, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 1-dimensional integer array to. More...
 
subroutine reassignptr_int2d (aint, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 2-dimensional integer array to. More...
 
subroutine reassignptr_dbl1d (adbl, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 1-dimensional real array to. More...
 
subroutine reassignptr_dbl2d (adbl, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 2-dimensional real array to. More...
 

Detailed Description

Definition at line 112 of file MemoryManager.f90.

Member Function/Subroutine Documentation

◆ reassignptr_dbl1d()

subroutine memorymanagermodule::mem_reassignptr::reassignptr_dbl1d ( real(dp), dimension(:), intent(inout), pointer, contiguous  adbl,
character(len=*), intent(in)  name,
character(len=*), intent(in)  mem_path,
character(len=*), intent(in)  name_target,
character(len=*), intent(in)  mem_path_target 
)
private
Parameters
[in,out]adblpointer to 1d real array
[in]namevariable name
[in]mem_pathpath where variable is stored
[in]name_targetname of target variable
[in]mem_path_targetpath where target variable is stored

Definition at line 2013 of file MemoryManager.f90.

2014  real(DP), dimension(:), pointer, contiguous, intent(inout) :: adbl !< pointer to 1d real array
2015  character(len=*), intent(in) :: name !< variable name
2016  character(len=*), intent(in) :: mem_path !< path where variable is stored
2017  character(len=*), intent(in) :: name_target !< name of target variable
2018  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2019  ! -- local
2020  type(MemoryType), pointer :: mt
2021  type(MemoryType), pointer :: mt2
2022  logical(LGP) :: found
2023  ! -- code
2024  call get_from_memorylist(name, mem_path, mt, found)
2025  call get_from_memorylist(name_target, mem_path_target, mt2, found)
2026  if (size(adbl) > 0) then
2027  nvalues_adbl = nvalues_adbl - size(adbl)
2028  deallocate (adbl)
2029  end if
2030  adbl => mt2%adbl1d
2031  mt%adbl1d => adbl
2032  mt%element_size = dp
2033  mt%isize = size(adbl)
2034  write (mt%memtype, "(a,' (',i0,')')") 'DOUBLE', mt%isize
2035  !
2036  ! -- set master information
2037  mt%master = .false.
2038  mt%mastername = name_target
2039  mt%masterPath = mem_path_target
2040  !
2041  ! -- return
2042  return
Here is the call graph for this function:

◆ reassignptr_dbl2d()

subroutine memorymanagermodule::mem_reassignptr::reassignptr_dbl2d ( real(dp), dimension(:, :), intent(inout), pointer, contiguous  adbl,
character(len=*), intent(in)  name,
character(len=*), intent(in)  mem_path,
character(len=*), intent(in)  name_target,
character(len=*), intent(in)  mem_path_target 
)
private
Parameters
[in,out]adblpointer to 2d real array
[in]namevariable name
[in]mem_pathpath where variable is stored
[in]name_targetname of target variable
[in]mem_path_targetpath where target variable is stored

Definition at line 2047 of file MemoryManager.f90.

2048  real(DP), dimension(:, :), pointer, contiguous, intent(inout) :: adbl !< pointer to 2d real array
2049  character(len=*), intent(in) :: name !< variable name
2050  character(len=*), intent(in) :: mem_path !< path where variable is stored
2051  character(len=*), intent(in) :: name_target !< name of target variable
2052  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2053  ! -- local
2054  type(MemoryType), pointer :: mt
2055  type(MemoryType), pointer :: mt2
2056  logical(LGP) :: found
2057  integer(I4B) :: ncol
2058  integer(I4b) :: nrow
2059  ! -- code
2060  call get_from_memorylist(name, mem_path, mt, found)
2061  call get_from_memorylist(name_target, mem_path_target, mt2, found)
2062  if (size(adbl) > 0) then
2063  nvalues_adbl = nvalues_adbl - size(adbl)
2064  deallocate (adbl)
2065  end if
2066  adbl => mt2%adbl2d
2067  mt%adbl2d => adbl
2068  mt%element_size = dp
2069  mt%isize = size(adbl)
2070  ncol = size(adbl, dim=1)
2071  nrow = size(adbl, dim=2)
2072  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'DOUBLE', ncol, nrow
2073  !
2074  ! -- set master information
2075  mt%master = .false.
2076  mt%mastername = name_target
2077  mt%masterPath = mem_path_target
2078  !
2079  ! -- return
2080  return
Here is the call graph for this function:

◆ reassignptr_int()

subroutine memorymanagermodule::mem_reassignptr::reassignptr_int ( integer(i4b), intent(inout), pointer  sclr,
character(len=*), intent(in)  name,
character(len=*), intent(in)  mem_path,
character(len=*), intent(in)  name_target,
character(len=*), intent(in)  mem_path_target 
)
private
Parameters
[in,out]sclrpointer to integer scalar
[in]namevariable name
[in]mem_pathpath where variable is stored
[in]name_targetname of target variable
[in]mem_path_targetpath where target variable is stored

Definition at line 1907 of file MemoryManager.f90.

1908  integer(I4B), pointer, intent(inout) :: sclr !< pointer to integer scalar
1909  character(len=*), intent(in) :: name !< variable name
1910  character(len=*), intent(in) :: mem_path !< path where variable is stored
1911  character(len=*), intent(in) :: name_target !< name of target variable
1912  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1913  ! -- local
1914  type(MemoryType), pointer :: mt
1915  type(MemoryType), pointer :: mt2
1916  logical(LGP) :: found
1917  ! -- code
1918  call get_from_memorylist(name, mem_path, mt, found)
1919  call get_from_memorylist(name_target, mem_path_target, mt2, found)
1920  if (associated(sclr)) then
1921  nvalues_aint = nvalues_aint - 1
1922  deallocate (sclr)
1923  end if
1924  sclr => mt2%intsclr
1925  mt%intsclr => sclr
1926  mt%element_size = i4b
1927  mt%isize = 1
1928  write (mt%memtype, "(a,' (',i0,')')") 'INTEGER', mt%isize
1929  !
1930  ! -- set master information
1931  mt%master = .false.
1932  mt%mastername = name_target
1933  mt%masterPath = mem_path_target
1934  !
1935  ! -- return
1936  return
Here is the call graph for this function:

◆ reassignptr_int1d()

subroutine memorymanagermodule::mem_reassignptr::reassignptr_int1d ( integer(i4b), dimension(:), intent(inout), pointer, contiguous  aint,
character(len=*), intent(in)  name,
character(len=*), intent(in)  mem_path,
character(len=*), intent(in)  name_target,
character(len=*), intent(in)  mem_path_target 
)
private
Parameters
[in,out]aintpointer to 1d integer array
[in]namevariable name
[in]mem_pathpath where variable is stored
[in]name_targetname of target variable
[in]mem_path_targetpath where target variable is stored

Definition at line 1941 of file MemoryManager.f90.

1942  integer(I4B), dimension(:), pointer, contiguous, intent(inout) :: aint !< pointer to 1d integer array
1943  character(len=*), intent(in) :: name !< variable name
1944  character(len=*), intent(in) :: mem_path !< path where variable is stored
1945  character(len=*), intent(in) :: name_target !< name of target variable
1946  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1947  ! -- local
1948  type(MemoryType), pointer :: mt
1949  type(MemoryType), pointer :: mt2
1950  logical(LGP) :: found
1951  ! -- code
1952  call get_from_memorylist(name, mem_path, mt, found)
1953  call get_from_memorylist(name_target, mem_path_target, mt2, found)
1954  if (size(aint) > 0) then
1955  nvalues_aint = nvalues_aint - size(aint)
1956  deallocate (aint)
1957  end if
1958  aint => mt2%aint1d
1959  mt%aint1d => aint
1960  mt%element_size = i4b
1961  mt%isize = size(aint)
1962  write (mt%memtype, "(a,' (',i0,')')") 'INTEGER', mt%isize
1963  !
1964  ! -- set master information
1965  mt%master = .false.
1966  mt%mastername = name_target
1967  mt%masterPath = mem_path_target
1968  !
1969  ! -- return
1970  return
Here is the call graph for this function:

◆ reassignptr_int2d()

subroutine memorymanagermodule::mem_reassignptr::reassignptr_int2d ( integer(i4b), dimension(:, :), intent(inout), pointer, contiguous  aint,
character(len=*), intent(in)  name,
character(len=*), intent(in)  mem_path,
character(len=*), intent(in)  name_target,
character(len=*), intent(in)  mem_path_target 
)
private
Parameters
[in,out]aintpointer to 2d integer array
[in]namevariable name
[in]mem_pathpath where variable is stored
[in]name_targetname of target variable
[in]mem_path_targetpath where target variable is stored

Definition at line 1975 of file MemoryManager.f90.

1976  integer(I4B), dimension(:, :), pointer, contiguous, intent(inout) :: aint !< pointer to 2d integer array
1977  character(len=*), intent(in) :: name !< variable name
1978  character(len=*), intent(in) :: mem_path !< path where variable is stored
1979  character(len=*), intent(in) :: name_target !< name of target variable
1980  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1981  ! -- local
1982  type(MemoryType), pointer :: mt
1983  type(MemoryType), pointer :: mt2
1984  logical(LGP) :: found
1985  integer(I4B) :: ncol
1986  integer(I4B) :: nrow
1987  ! -- code
1988  call get_from_memorylist(name, mem_path, mt, found)
1989  call get_from_memorylist(name_target, mem_path_target, mt2, found)
1990  if (size(aint) > 0) then
1991  nvalues_aint = nvalues_aint - size(aint)
1992  deallocate (aint)
1993  end if
1994  aint => mt2%aint2d
1995  mt%aint2d => aint
1996  mt%element_size = i4b
1997  mt%isize = size(aint)
1998  ncol = size(aint, dim=1)
1999  nrow = size(aint, dim=2)
2000  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'INTEGER', ncol, nrow
2001  !
2002  ! -- set master information
2003  mt%master = .false.
2004  mt%mastername = name_target
2005  mt%masterPath = mem_path_target
2006  !
2007  ! -- return
2008  return
Here is the call graph for this function:

The documentation for this interface was generated from the following file: