MODFLOW 6  version 6.8.0.dev0
USGS Modular Hydrologic Model
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_logical1d (alog, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 1-dimensional logical array 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 119 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 2071 of file MemoryManager.f90.

2072  real(DP), dimension(:), pointer, contiguous, intent(inout) :: adbl !< pointer to 1d real array
2073  character(len=*), intent(in) :: name !< variable name
2074  character(len=*), intent(in) :: mem_path !< path where variable is stored
2075  character(len=*), intent(in) :: name_target !< name of target variable
2076  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2077  ! -- local
2078  type(MemoryType), pointer :: mt
2079  type(MemoryType), pointer :: mt2
2080  logical(LGP) :: found
2081  ! -- code
2082  call get_from_memorystore(name, mem_path, mt, found)
2083  call get_from_memorystore(name_target, mem_path_target, mt2, found)
2084  if (size(adbl) > 0) then
2085  nvalues_adbl = nvalues_adbl - size(adbl)
2086  deallocate (adbl)
2087  end if
2088  adbl => mt2%adbl1d
2089  mt%adbl1d => adbl
2090  mt%element_size = dp
2091  mt%isize = size(adbl)
2092  write (mt%memtype, "(a,' (',i0,')')") 'DOUBLE', mt%isize
2093  !
2094  ! -- set master information
2095  mt%master = .false.
2096  mt%mastername = name_target
2097  mt%masterPath = mem_path_target
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 2102 of file MemoryManager.f90.

2103  real(DP), dimension(:, :), pointer, contiguous, intent(inout) :: adbl !< pointer to 2d real array
2104  character(len=*), intent(in) :: name !< variable name
2105  character(len=*), intent(in) :: mem_path !< path where variable is stored
2106  character(len=*), intent(in) :: name_target !< name of target variable
2107  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2108  ! -- local
2109  type(MemoryType), pointer :: mt
2110  type(MemoryType), pointer :: mt2
2111  logical(LGP) :: found
2112  integer(I4B) :: ncol
2113  integer(I4b) :: nrow
2114  ! -- code
2115  call get_from_memorystore(name, mem_path, mt, found)
2116  call get_from_memorystore(name_target, mem_path_target, mt2, found)
2117  if (size(adbl) > 0) then
2118  nvalues_adbl = nvalues_adbl - size(adbl)
2119  deallocate (adbl)
2120  end if
2121  adbl => mt2%adbl2d
2122  mt%adbl2d => adbl
2123  mt%element_size = dp
2124  mt%isize = size(adbl)
2125  ncol = size(adbl, dim=1)
2126  nrow = size(adbl, dim=2)
2127  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'DOUBLE', ncol, nrow
2128  !
2129  ! -- set master information
2130  mt%master = .false.
2131  mt%mastername = name_target
2132  mt%masterPath = mem_path_target
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 1942 of file MemoryManager.f90.

1943  integer(I4B), pointer, intent(inout) :: sclr !< pointer to integer scalar
1944  character(len=*), intent(in) :: name !< variable name
1945  character(len=*), intent(in) :: mem_path !< path where variable is stored
1946  character(len=*), intent(in) :: name_target !< name of target variable
1947  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1948  ! -- local
1949  type(MemoryType), pointer :: mt
1950  type(MemoryType), pointer :: mt2
1951  logical(LGP) :: found
1952  ! -- code
1953  call get_from_memorystore(name, mem_path, mt, found)
1954  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1955  if (associated(sclr)) then
1956  nvalues_aint = nvalues_aint - 1
1957  deallocate (sclr)
1958  end if
1959  sclr => mt2%intsclr
1960  mt%intsclr => sclr
1961  mt%element_size = i4b
1962  mt%isize = 1
1963  write (mt%memtype, "(a,' (',i0,')')") 'INTEGER', mt%isize
1964  !
1965  ! -- set master information
1966  mt%master = .false.
1967  mt%mastername = name_target
1968  mt%masterPath = mem_path_target
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 2005 of file MemoryManager.f90.

2006  integer(I4B), dimension(:), pointer, contiguous, intent(inout) :: aint !< pointer to 1d integer array
2007  character(len=*), intent(in) :: name !< variable name
2008  character(len=*), intent(in) :: mem_path !< path where variable is stored
2009  character(len=*), intent(in) :: name_target !< name of target variable
2010  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2011  ! -- local
2012  type(MemoryType), pointer :: mt
2013  type(MemoryType), pointer :: mt2
2014  logical(LGP) :: found
2015  ! -- code
2016  call get_from_memorystore(name, mem_path, mt, found)
2017  call get_from_memorystore(name_target, mem_path_target, mt2, found)
2018  if (size(aint) > 0) then
2019  nvalues_aint = nvalues_aint - size(aint)
2020  deallocate (aint)
2021  end if
2022  aint => mt2%aint1d
2023  mt%aint1d => aint
2024  mt%element_size = i4b
2025  mt%isize = size(aint)
2026  write (mt%memtype, "(a,' (',i0,')')") 'INTEGER', mt%isize
2027  !
2028  ! -- set master information
2029  mt%master = .false.
2030  mt%mastername = name_target
2031  mt%masterPath = mem_path_target
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 2036 of file MemoryManager.f90.

2037  integer(I4B), dimension(:, :), pointer, contiguous, intent(inout) :: aint !< pointer to 2d integer array
2038  character(len=*), intent(in) :: name !< variable name
2039  character(len=*), intent(in) :: mem_path !< path where variable is stored
2040  character(len=*), intent(in) :: name_target !< name of target variable
2041  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2042  ! -- local
2043  type(MemoryType), pointer :: mt
2044  type(MemoryType), pointer :: mt2
2045  logical(LGP) :: found
2046  integer(I4B) :: ncol
2047  integer(I4B) :: nrow
2048  ! -- code
2049  call get_from_memorystore(name, mem_path, mt, found)
2050  call get_from_memorystore(name_target, mem_path_target, mt2, found)
2051  if (size(aint) > 0) then
2052  nvalues_aint = nvalues_aint - size(aint)
2053  deallocate (aint)
2054  end if
2055  aint => mt2%aint2d
2056  mt%aint2d => aint
2057  mt%element_size = i4b
2058  mt%isize = size(aint)
2059  ncol = size(aint, dim=1)
2060  nrow = size(aint, dim=2)
2061  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'INTEGER', ncol, nrow
2062  !
2063  ! -- set master information
2064  mt%master = .false.
2065  mt%mastername = name_target
2066  mt%masterPath = mem_path_target
Here is the call graph for this function:

◆ reassignptr_logical1d()

subroutine memorymanagermodule::mem_reassignptr::reassignptr_logical1d ( logical(lgp), dimension(:), intent(inout), pointer, contiguous  alog,
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]alogarray pointer
[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 1973 of file MemoryManager.f90.

1975  logical(LGP), dimension(:), pointer, contiguous, intent(inout) :: alog !< array pointer
1976  character(len=*), intent(in) :: name !< variable name
1977  character(len=*), intent(in) :: mem_path !< path where variable is stored
1978  character(len=*), intent(in) :: name_target !< name of target variable
1979  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1980  ! -- local
1981  type(MemoryType), pointer :: mt
1982  type(MemoryType), pointer :: mt2
1983  logical(LGP) :: found
1984  ! -- code
1985  call get_from_memorystore(name, mem_path, mt, found)
1986  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1987  if (size(alog) > 0) then
1988  nvalues_alogical = nvalues_alogical - size(alog)
1989  deallocate (alog)
1990  end if
1991  alog => mt2%alogical1d
1992  mt%alogical1d => alog
1993  mt%element_size = lgp
1994  mt%isize = size(alog)
1995  write (mt%memtype, "(a,' (',i0,')')") 'LOGICAL', mt%isize
1996  !
1997  ! -- set master information
1998  mt%master = .false.
1999  mt%mastername = name_target
2000  mt%masterPath = mem_path_target
Here is the call graph for this function:

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