MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
MemoryManager.f90 File Reference

Go to the source code of this file.

Data Types

interface  memorymanagermodule::mem_allocate
 
interface  memorymanagermodule::mem_checkin
 
interface  memorymanagermodule::mem_reallocate
 
interface  memorymanagermodule::mem_setptr
 
interface  memorymanagermodule::mem_copyptr
 
interface  memorymanagermodule::mem_reassignptr
 
interface  memorymanagermodule::mem_deallocate
 

Modules

module  memorymanagermodule
 

Functions/Subroutines

subroutine, public memorymanagermodule::get_mem_type (name, mem_path, var_type)
 @ brief Get the variable memory type More...
 
subroutine, public memorymanagermodule::get_mem_rank (name, mem_path, rank)
 @ brief Get the variable rank More...
 
subroutine, public memorymanagermodule::get_mem_elem_size (name, mem_path, size)
 @ brief Get the memory size of a single element of the stored variable More...
 
subroutine, public memorymanagermodule::get_mem_shape (name, mem_path, mem_shape)
 @ brief Get the variable memory shape More...
 
subroutine, public memorymanagermodule::get_isize (name, mem_path, isize)
 @ brief Get the number of elements for this variable More...
 
subroutine, public memorymanagermodule::get_from_memorylist (name, mem_path, mt, found, check)
 @ brief Get a memory type entry from the memory list More...
 
subroutine memorymanagermodule::allocate_error (varname, mem_path, istat, isize)
 Issue allocation error message and stop program execution. More...
 
subroutine memorymanagermodule::allocate_logical (sclr, name, mem_path)
 Allocate a logical scalar. More...
 
subroutine memorymanagermodule::allocate_str (sclr, ilen, name, mem_path)
 Allocate a character string. More...
 
subroutine memorymanagermodule::allocate_str1d (astr1d, ilen, nrow, name, mem_path)
 Allocate a 1-dimensional defined length string array. More...
 
subroutine memorymanagermodule::allocate_charstr1d (acharstr1d, ilen, nrow, name, mem_path)
 Allocate a 1-dimensional array of deferred-length CharacterStringType. More...
 
subroutine memorymanagermodule::allocate_int (sclr, name, mem_path)
 Allocate a integer scalar. More...
 
subroutine memorymanagermodule::allocate_int1d (aint, nrow, name, mem_path)
 Allocate a 1-dimensional integer array. More...
 
subroutine memorymanagermodule::allocate_int2d (aint, ncol, nrow, name, mem_path)
 Allocate a 2-dimensional integer array. More...
 
subroutine memorymanagermodule::allocate_int3d (aint, ncol, nrow, nlay, name, mem_path)
 Allocate a 3-dimensional integer array. More...
 
subroutine memorymanagermodule::allocate_dbl (sclr, name, mem_path)
 Allocate a real scalar. More...
 
subroutine memorymanagermodule::allocate_dbl1d (adbl, nrow, name, mem_path)
 Allocate a 1-dimensional real array. More...
 
subroutine memorymanagermodule::allocate_dbl2d (adbl, ncol, nrow, name, mem_path)
 Allocate a 2-dimensional real array. More...
 
subroutine memorymanagermodule::allocate_dbl3d (adbl, ncol, nrow, nlay, name, mem_path)
 Allocate a 3-dimensional real array. More...
 
subroutine memorymanagermodule::checkin_int1d (aint, name, mem_path, name2, mem_path2)
 Check in an existing 1d integer array with a new address (name + path) More...
 
subroutine memorymanagermodule::checkin_int2d (aint2d, name, mem_path, name2, mem_path2)
 Check in an existing 2d integer array with a new address (name + path) More...
 
subroutine memorymanagermodule::checkin_dbl1d (adbl, name, mem_path, name2, mem_path2)
 Check in an existing 1d double precision array with a new address (name + path) More...
 
subroutine memorymanagermodule::checkin_dbl2d (adbl2d, name, mem_path, name2, mem_path2)
 Check in an existing 2d double precision array with a new address (name + path) More...
 
subroutine memorymanagermodule::checkin_charstr1d (acharstr1d, ilen, name, mem_path, name2, mem_path2)
 Check in an existing 1d CharacterStringType array with a new address (name + path) More...
 
subroutine memorymanagermodule::reallocate_str1d (astr, ilen, nrow, name, mem_path)
 Reallocate a 1-dimensional defined length string array. More...
 
subroutine memorymanagermodule::reallocate_charstr1d (acharstr1d, ilen, nrow, name, mem_path)
 Reallocate a 1-dimensional deferred length string array. More...
 
subroutine memorymanagermodule::reallocate_int1d (aint, nrow, name, mem_path)
 Reallocate a 1-dimensional integer array. More...
 
subroutine memorymanagermodule::reallocate_int2d (aint, ncol, nrow, name, mem_path)
 Reallocate a 2-dimensional integer array. More...
 
subroutine memorymanagermodule::reallocate_dbl1d (adbl, nrow, name, mem_path)
 Reallocate a 1-dimensional real array. More...
 
subroutine memorymanagermodule::reallocate_dbl2d (adbl, ncol, nrow, name, mem_path)
 Reallocate a 2-dimensional real array. More...
 
subroutine memorymanagermodule::setptr_logical (sclr, name, mem_path)
 Set pointer to a logical scalar. More...
 
subroutine memorymanagermodule::setptr_int (sclr, name, mem_path)
 Set pointer to integer scalar. More...
 
subroutine memorymanagermodule::setptr_int1d (aint, name, mem_path)
 Set pointer to 1d integer array. More...
 
subroutine memorymanagermodule::setptr_int2d (aint, name, mem_path)
 Set pointer to 2d integer array. More...
 
subroutine memorymanagermodule::setptr_int3d (aint, name, mem_path)
 Set pointer to 3d integer array. More...
 
subroutine memorymanagermodule::setptr_dbl (sclr, name, mem_path)
 Set pointer to a real scalar. More...
 
subroutine memorymanagermodule::setptr_dbl1d (adbl, name, mem_path)
 Set pointer to a 1d real array. More...
 
subroutine memorymanagermodule::setptr_dbl2d (adbl, name, mem_path)
 Set pointer to a 2d real array. More...
 
subroutine memorymanagermodule::setptr_dbl3d (adbl, name, mem_path)
 Set pointer to a 3d real array. More...
 
subroutine memorymanagermodule::setptr_str (asrt, name, mem_path)
 Set pointer to a string (scalar) More...
 
subroutine memorymanagermodule::setptr_str1d (astr1d, name, mem_path)
 Set pointer to a fixed-length string array. More...
 
subroutine memorymanagermodule::setptr_charstr1d (acharstr1d, name, mem_path)
 Set pointer to an array of CharacterStringType. More...
 
subroutine memorymanagermodule::copyptr_int1d (aint, name, mem_path, mem_path_copy)
 Make a copy of a 1-dimensional integer array. More...
 
subroutine memorymanagermodule::copyptr_int2d (aint, name, mem_path, mem_path_copy)
 Make a copy of a 2-dimensional integer array. More...
 
subroutine memorymanagermodule::copyptr_dbl1d (adbl, name, mem_path, mem_path_copy)
 Make a copy of a 1-dimensional real array. More...
 
subroutine memorymanagermodule::copyptr_dbl2d (adbl, name, mem_path, mem_path_copy)
 Make a copy of a 2-dimensional real array. More...
 
subroutine, public memorymanagermodule::copy_dbl1d (adbl, name, mem_path)
 Copy values from a 1-dimensional real array in the memory. More...
 
subroutine memorymanagermodule::reassignptr_int (sclr, name, mem_path, name_target, mem_path_target)
 Set the pointer for an integer scalar to. More...
 
subroutine memorymanagermodule::reassignptr_int1d (aint, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 1-dimensional integer array to. More...
 
subroutine memorymanagermodule::reassignptr_int2d (aint, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 2-dimensional integer array to. More...
 
subroutine memorymanagermodule::reassignptr_dbl1d (adbl, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 1-dimensional real array to. More...
 
subroutine memorymanagermodule::reassignptr_dbl2d (adbl, name, mem_path, name_target, mem_path_target)
 Set the pointer for a 2-dimensional real array to. More...
 
subroutine memorymanagermodule::deallocate_str (sclr, name, mem_path)
 Deallocate a variable-length character string. More...
 
subroutine memorymanagermodule::deallocate_str1d (astr1d, name, mem_path)
 Deallocate an array of defined-length character strings. More...
 
subroutine memorymanagermodule::deallocate_charstr1d (astr1d, name, mem_path)
 Deallocate an array of deferred-length character strings. More...
 
subroutine memorymanagermodule::deallocate_logical (sclr)
 Deallocate a logical scalar. More...
 
subroutine memorymanagermodule::deallocate_int (sclr)
 Deallocate a integer scalar. More...
 
subroutine memorymanagermodule::deallocate_dbl (sclr)
 Deallocate a real scalar. More...
 
subroutine memorymanagermodule::deallocate_int1d (aint, name, mem_path)
 Deallocate a 1-dimensional integer array. More...
 
subroutine memorymanagermodule::deallocate_int2d (aint, name, mem_path)
 Deallocate a 2-dimensional integer array. More...
 
subroutine memorymanagermodule::deallocate_int3d (aint, name, mem_path)
 Deallocate a 3-dimensional integer array. More...
 
subroutine memorymanagermodule::deallocate_dbl1d (adbl, name, mem_path)
 Deallocate a 1-dimensional real array. More...
 
subroutine memorymanagermodule::deallocate_dbl2d (adbl, name, mem_path)
 Deallocate a 2-dimensional real array. More...
 
subroutine memorymanagermodule::deallocate_dbl3d (adbl, name, mem_path)
 Deallocate a 3-dimensional real array. More...
 
subroutine, public memorymanagermodule::mem_set_print_option (iout, keyword, error_msg)
 Set the memory print option. More...
 
subroutine memorymanagermodule::mem_summary_table (iout, nrows, cunits)
 Create a table if memory_print_option is 'SUMMARY'. More...
 
subroutine memorymanagermodule::mem_detailed_table (iout, nrows)
 Create a table if memory_print_option is 'ALL'. More...
 
subroutine memorymanagermodule::mem_summary_line (component, rchars, rlog, rint, rreal, bytes)
 Write a row for the memory_print_option 'SUMMARY' table. More...
 
subroutine memorymanagermodule::mem_units (bytes, fact, cunits)
 Determine appropriate memory unit and conversion factor. More...
 
subroutine memorymanagermodule::mem_summary_total (iout, bytes)
 Create and fill a table with the total allocated memory. More...
 
subroutine memorymanagermodule::mem_cleanup_table ()
 Generic function to clean a memory manager table. More...
 
subroutine, public memorymanagermodule::mem_write_usage (iout)
 Write memory manager memory usage based on the user-specified memory_print_option. More...
 
subroutine, public memorymanagermodule::mem_print_detailed (iout)
 
real(dp) function memorymanagermodule::calc_virtual_mem ()
 Sum up virtual memory, i.e. memory. More...
 
subroutine, public memorymanagermodule::mem_da ()
 Deallocate memory in the memory manager. More...
 
subroutine memorymanagermodule::mem_unique_origins (cunique)
 Create a array with unique first components from all memory paths. Only the first component of the memory path is evaluated. More...
 

Variables

type(memorylisttype), public memorymanagermodule::memorylist
 
type(tabletype), pointer memorymanagermodule::memtab => null()
 
integer(i8b) memorymanagermodule::nvalues_alogical = 0
 
integer(i8b) memorymanagermodule::nvalues_astr = 0
 
integer(i8b) memorymanagermodule::nvalues_aint = 0
 
integer(i8b) memorymanagermodule::nvalues_adbl = 0
 
integer(i4b) memorymanagermodule::iprmem = 0