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 2078 of file MemoryManager.f90.

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

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

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

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

2044  integer(I4B), dimension(:, :), pointer, contiguous, intent(inout) :: aint !< pointer to 2d integer array
2045  character(len=*), intent(in) :: name !< variable name
2046  character(len=*), intent(in) :: mem_path !< path where variable is stored
2047  character(len=*), intent(in) :: name_target !< name of target variable
2048  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
2049  ! -- local
2050  type(MemoryType), pointer :: mt
2051  type(MemoryType), pointer :: mt2
2052  logical(LGP) :: found
2053  integer(I4B) :: ncol
2054  integer(I4B) :: nrow
2055  ! -- code
2056  call get_from_memorystore(name, mem_path, mt, found)
2057  call get_from_memorystore(name_target, mem_path_target, mt2, found)
2058  if (size(aint) > 0) then
2059  nvalues_aint = nvalues_aint - size(aint)
2060  deallocate (aint)
2061  end if
2062  aint => mt2%aint2d
2063  mt%aint2d => aint
2064  mt%element_size = i4b
2065  mt%isize = size(aint)
2066  ncol = size(aint, dim=1)
2067  nrow = size(aint, dim=2)
2068  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'INTEGER', ncol, nrow
2069  !
2070  ! -- set master information
2071  mt%master = .false.
2072  mt%mastername = name_target
2073  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 1980 of file MemoryManager.f90.

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

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