MODFLOW 6  version 6.7.0.dev3
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 118 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 2070 of file MemoryManager.f90.

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

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

1942  integer(I4B), pointer, intent(inout) :: sclr !< pointer to integer scalar
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_memorystore(name, mem_path, mt, found)
1953  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1954  if (associated(sclr)) then
1955  nvalues_aint = nvalues_aint - 1
1956  deallocate (sclr)
1957  end if
1958  sclr => mt2%intsclr
1959  mt%intsclr => sclr
1960  mt%element_size = i4b
1961  mt%isize = 1
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
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 2004 of file MemoryManager.f90.

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

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

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

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