MODFLOW 6  version 6.7.0.dev1
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_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 113 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 1863 of file MemoryManager.f90.

1864  real(DP), dimension(:), pointer, contiguous, intent(inout) :: adbl !< pointer to 1d real array
1865  character(len=*), intent(in) :: name !< variable name
1866  character(len=*), intent(in) :: mem_path !< path where variable is stored
1867  character(len=*), intent(in) :: name_target !< name of target variable
1868  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1869  ! -- local
1870  type(MemoryType), pointer :: mt
1871  type(MemoryType), pointer :: mt2
1872  logical(LGP) :: found
1873  ! -- code
1874  call get_from_memorystore(name, mem_path, mt, found)
1875  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1876  if (size(adbl) > 0) then
1877  nvalues_adbl = nvalues_adbl - size(adbl)
1878  deallocate (adbl)
1879  end if
1880  adbl => mt2%adbl1d
1881  mt%adbl1d => adbl
1882  mt%element_size = dp
1883  mt%isize = size(adbl)
1884  write (mt%memtype, "(a,' (',i0,')')") 'DOUBLE', mt%isize
1885  !
1886  ! -- set master information
1887  mt%master = .false.
1888  mt%mastername = name_target
1889  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 1894 of file MemoryManager.f90.

1895  real(DP), dimension(:, :), pointer, contiguous, intent(inout) :: adbl !< pointer to 2d real array
1896  character(len=*), intent(in) :: name !< variable name
1897  character(len=*), intent(in) :: mem_path !< path where variable is stored
1898  character(len=*), intent(in) :: name_target !< name of target variable
1899  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1900  ! -- local
1901  type(MemoryType), pointer :: mt
1902  type(MemoryType), pointer :: mt2
1903  logical(LGP) :: found
1904  integer(I4B) :: ncol
1905  integer(I4b) :: nrow
1906  ! -- code
1907  call get_from_memorystore(name, mem_path, mt, found)
1908  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1909  if (size(adbl) > 0) then
1910  nvalues_adbl = nvalues_adbl - size(adbl)
1911  deallocate (adbl)
1912  end if
1913  adbl => mt2%adbl2d
1914  mt%adbl2d => adbl
1915  mt%element_size = dp
1916  mt%isize = size(adbl)
1917  ncol = size(adbl, dim=1)
1918  nrow = size(adbl, dim=2)
1919  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'DOUBLE', ncol, nrow
1920  !
1921  ! -- set master information
1922  mt%master = .false.
1923  mt%mastername = name_target
1924  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 1766 of file MemoryManager.f90.

1767  integer(I4B), pointer, intent(inout) :: sclr !< pointer to integer scalar
1768  character(len=*), intent(in) :: name !< variable name
1769  character(len=*), intent(in) :: mem_path !< path where variable is stored
1770  character(len=*), intent(in) :: name_target !< name of target variable
1771  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1772  ! -- local
1773  type(MemoryType), pointer :: mt
1774  type(MemoryType), pointer :: mt2
1775  logical(LGP) :: found
1776  ! -- code
1777  call get_from_memorystore(name, mem_path, mt, found)
1778  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1779  if (associated(sclr)) then
1780  nvalues_aint = nvalues_aint - 1
1781  deallocate (sclr)
1782  end if
1783  sclr => mt2%intsclr
1784  mt%intsclr => sclr
1785  mt%element_size = i4b
1786  mt%isize = 1
1787  write (mt%memtype, "(a,' (',i0,')')") 'INTEGER', mt%isize
1788  !
1789  ! -- set master information
1790  mt%master = .false.
1791  mt%mastername = name_target
1792  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 1797 of file MemoryManager.f90.

1798  integer(I4B), dimension(:), pointer, contiguous, intent(inout) :: aint !< pointer to 1d integer array
1799  character(len=*), intent(in) :: name !< variable name
1800  character(len=*), intent(in) :: mem_path !< path where variable is stored
1801  character(len=*), intent(in) :: name_target !< name of target variable
1802  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1803  ! -- local
1804  type(MemoryType), pointer :: mt
1805  type(MemoryType), pointer :: mt2
1806  logical(LGP) :: found
1807  ! -- code
1808  call get_from_memorystore(name, mem_path, mt, found)
1809  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1810  if (size(aint) > 0) then
1811  nvalues_aint = nvalues_aint - size(aint)
1812  deallocate (aint)
1813  end if
1814  aint => mt2%aint1d
1815  mt%aint1d => aint
1816  mt%element_size = i4b
1817  mt%isize = size(aint)
1818  write (mt%memtype, "(a,' (',i0,')')") 'INTEGER', mt%isize
1819  !
1820  ! -- set master information
1821  mt%master = .false.
1822  mt%mastername = name_target
1823  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 1828 of file MemoryManager.f90.

1829  integer(I4B), dimension(:, :), pointer, contiguous, intent(inout) :: aint !< pointer to 2d integer array
1830  character(len=*), intent(in) :: name !< variable name
1831  character(len=*), intent(in) :: mem_path !< path where variable is stored
1832  character(len=*), intent(in) :: name_target !< name of target variable
1833  character(len=*), intent(in) :: mem_path_target !< path where target variable is stored
1834  ! -- local
1835  type(MemoryType), pointer :: mt
1836  type(MemoryType), pointer :: mt2
1837  logical(LGP) :: found
1838  integer(I4B) :: ncol
1839  integer(I4B) :: nrow
1840  ! -- code
1841  call get_from_memorystore(name, mem_path, mt, found)
1842  call get_from_memorystore(name_target, mem_path_target, mt2, found)
1843  if (size(aint) > 0) then
1844  nvalues_aint = nvalues_aint - size(aint)
1845  deallocate (aint)
1846  end if
1847  aint => mt2%aint2d
1848  mt%aint2d => aint
1849  mt%element_size = i4b
1850  mt%isize = size(aint)
1851  ncol = size(aint, dim=1)
1852  nrow = size(aint, dim=2)
1853  write (mt%memtype, "(a,' (',i0,',',i0,')')") 'INTEGER', ncol, nrow
1854  !
1855  ! -- set master information
1856  mt%master = .false.
1857  mt%mastername = name_target
1858  mt%masterPath = mem_path_target
Here is the call graph for this function:

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