MODFLOW 6  version 6.6.0.dev0
USGS Modular Hydrologic Model
virtualmodelmodule::virtualmodeltype Type Reference
Inheritance diagram for virtualmodelmodule::virtualmodeltype:
Inheritance graph
Collaboration diagram for virtualmodelmodule::virtualmodeltype:
Collaboration graph

Public Member Functions

procedure create => vm_create
 
procedure prepare_stage => vm_prepare_stage
 
procedure destroy => vm_destroy
 
generic operator => eq_virtual_model, eq_numerical_model
 
procedure dis_get_nodeuser
 
procedure dis_noder_to_string
 
procedure vdc_create
 
generic map => map_scalar, map_array1d, map_array2d
 
procedure link_items => vdc_link_items
 
procedure set_element_map => vdc_set_element_map
 
procedure get_vrt_mem_path => vdc_get_vrt_mem_path
 
procedure set_orig_rank => vdc_set_orig_rank
 
procedure get_send_items => vdc_get_send_items
 
procedure get_recv_items => vdc_get_recv_items
 
procedure get_virtual_data => vdc_get_virtual_data
 
procedure print_items
 
procedure set
 

Public Attributes

class(numericalmodeltype), pointer local_model
 
type(virtualinttype), pointer con_ianglex => null()
 
type(virtualint1dtype), pointer con_ia => null()
 
type(virtualint1dtype), pointer con_ja => null()
 
type(virtualint1dtype), pointer con_jas => null()
 
type(virtualint1dtype), pointer con_ihc => null()
 
type(virtualdbl1dtype), pointer con_hwva => null()
 
type(virtualdbl1dtype), pointer con_cl1 => null()
 
type(virtualdbl1dtype), pointer con_cl2 => null()
 
type(virtualdbl1dtype), pointer con_anglex => null()
 
type(virtualinttype), pointer dis_ndim => null()
 
type(virtualinttype), pointer dis_nodes => null()
 
type(virtualinttype), pointer dis_nodesuser => null()
 
type(virtualint1dtype), pointer dis_nodeuser => null()
 
type(virtualinttype), pointer dis_nja => null()
 
type(virtualinttype), pointer dis_njas => null()
 
type(virtualdbltype), pointer dis_xorigin => null()
 
type(virtualdbltype), pointer dis_yorigin => null()
 
type(virtualdbltype), pointer dis_angrot => null()
 
type(virtualdbl1dtype), pointer dis_xc => null()
 
type(virtualdbl1dtype), pointer dis_yc => null()
 
type(virtualdbl1dtype), pointer dis_top => null()
 
type(virtualdbl1dtype), pointer dis_bot => null()
 
type(virtualdbl1dtype), pointer dis_area => null()
 
type(virtualinttype), pointer moffset => null()
 
type(virtualdbl1dtype), pointer x => null()
 
type(virtualdbl1dtype), pointer x_old => null()
 
type(virtualint1dtype), pointer ibound => null()
 
type(virtualinttype), pointer idsoln => null()
 
integer(i4b) id
 unique identifier matching with the real counterpart More...
 
integer(i4b) container_type
 to identify the actual type of this container More...
 
character(lencomponentname) name
 container name (model, exchange, ...) used in the memory path More...
 
character(lencontextname) vmem_ctx
 prefixes virtual memory located on remote processes More...
 
logical(lgp) is_local
 when true, the physical object resides on the same process. However, some of its variables can still be remote More...
 
logical(lgp) is_active
 when true, this container is being synchronized More...
 
integer(i4b) orig_rank
 the global rank of the process which holds the physical data for this container More...
 
type(stlvecintrcv_ranks
 the ranks of processes, other than orig_rank, having this container active (only guaranteed to be complete after synchronization) More...
 
type(listtypevirtual_data_list
 a list with all virtual data items for this container More...
 
type(vdcelementmaptype), dimension(nr_vdc_element_maps) element_maps
 a list with all element maps More...
 
type(vdcelementluttype), dimension(nr_vdc_element_maps) element_luts
 lookup tables from remote index to local index More...
 

Private Member Functions

procedure, private init_virtual_data
 
procedure, private allocate_data
 
procedure, private deallocate_data
 
procedure, private eq_virtual_model
 
procedure, private eq_numerical_model
 
procedure, private add_to_list
 
procedure, private map_scalar
 
procedure, private map_array1d
 
procedure, private map_array2d
 
procedure, private map_internal
 
procedure, private vdc_get_virtual_data
 
procedure, private get_items_for_stage
 

Detailed Description

Definition at line 21 of file VirtualModel.f90.

Member Function/Subroutine Documentation

◆ add_to_list()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::add_to_list
privateinherited

Definition at line 84 of file VirtualDataContainer.f90.

◆ allocate_data()

procedure, private virtualmodelmodule::virtualmodeltype::allocate_data
private

Definition at line 67 of file VirtualModel.f90.

◆ create()

procedure virtualmodelmodule::virtualmodeltype::create

Definition at line 57 of file VirtualModel.f90.

◆ deallocate_data()

procedure, private virtualmodelmodule::virtualmodeltype::deallocate_data
private

Definition at line 68 of file VirtualModel.f90.

◆ destroy()

procedure virtualmodelmodule::virtualmodeltype::destroy

Definition at line 59 of file VirtualModel.f90.

◆ dis_get_nodeuser()

procedure virtualmodelmodule::virtualmodeltype::dis_get_nodeuser

Definition at line 62 of file VirtualModel.f90.

◆ dis_noder_to_string()

procedure virtualmodelmodule::virtualmodeltype::dis_noder_to_string

Definition at line 63 of file VirtualModel.f90.

◆ eq_numerical_model()

procedure, private virtualmodelmodule::virtualmodeltype::eq_numerical_model
private

Definition at line 70 of file VirtualModel.f90.

◆ eq_virtual_model()

procedure, private virtualmodelmodule::virtualmodeltype::eq_virtual_model
private

Definition at line 69 of file VirtualModel.f90.

◆ get_items_for_stage()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::get_items_for_stage
privateinherited

Definition at line 90 of file VirtualDataContainer.f90.

◆ get_recv_items()

procedure virtualdatacontainermodule::virtualdatacontainertype::get_recv_items
inherited

Definition at line 78 of file VirtualDataContainer.f90.

◆ get_send_items()

procedure virtualdatacontainermodule::virtualdatacontainertype::get_send_items
inherited

Definition at line 77 of file VirtualDataContainer.f90.

◆ get_virtual_data()

procedure virtualdatacontainermodule::virtualdatacontainertype::get_virtual_data
inherited

Definition at line 79 of file VirtualDataContainer.f90.

◆ get_vrt_mem_path()

procedure virtualdatacontainermodule::virtualdatacontainertype::get_vrt_mem_path
inherited

Definition at line 74 of file VirtualDataContainer.f90.

◆ init_virtual_data()

procedure, private virtualmodelmodule::virtualmodeltype::init_virtual_data
private

Definition at line 66 of file VirtualModel.f90.

◆ link_items()

procedure virtualdatacontainermodule::virtualdatacontainertype::link_items
inherited

Definition at line 72 of file VirtualDataContainer.f90.

◆ map()

generic virtualdatacontainermodule::virtualdatacontainertype::map
inherited

Definition at line 70 of file VirtualDataContainer.f90.

Here is the call graph for this function:

◆ map_array1d()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::map_array1d
privateinherited

Definition at line 86 of file VirtualDataContainer.f90.

◆ map_array2d()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::map_array2d
privateinherited

Definition at line 87 of file VirtualDataContainer.f90.

◆ map_internal()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::map_internal
privateinherited

Definition at line 88 of file VirtualDataContainer.f90.

◆ map_scalar()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::map_scalar
privateinherited

Definition at line 85 of file VirtualDataContainer.f90.

◆ operator()

generic virtualmodelmodule::virtualmodeltype::operator

Definition at line 60 of file VirtualModel.f90.

Here is the call graph for this function:

◆ prepare_stage()

procedure virtualmodelmodule::virtualmodeltype::prepare_stage

Definition at line 58 of file VirtualModel.f90.

◆ print_items()

procedure virtualdatacontainermodule::virtualdatacontainertype::print_items
inherited

Definition at line 80 of file VirtualDataContainer.f90.

◆ set()

procedure virtualdatacontainermodule::virtualdatacontainertype::set
inherited

Definition at line 82 of file VirtualDataContainer.f90.

◆ set_element_map()

procedure virtualdatacontainermodule::virtualdatacontainertype::set_element_map
inherited

Definition at line 73 of file VirtualDataContainer.f90.

◆ set_orig_rank()

procedure virtualdatacontainermodule::virtualdatacontainertype::set_orig_rank
inherited

Definition at line 76 of file VirtualDataContainer.f90.

◆ vdc_create()

procedure virtualdatacontainermodule::virtualdatacontainertype::vdc_create
inherited

Definition at line 69 of file VirtualDataContainer.f90.

◆ vdc_get_virtual_data()

procedure, private virtualdatacontainermodule::virtualdatacontainertype::vdc_get_virtual_data
privateinherited

Definition at line 89 of file VirtualDataContainer.f90.

Member Data Documentation

◆ con_anglex

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::con_anglex => null()

Definition at line 32 of file VirtualModel.f90.

32  type(VirtualDbl1dType), pointer :: con_anglex => null()

◆ con_cl1

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::con_cl1 => null()

Definition at line 30 of file VirtualModel.f90.

30  type(VirtualDbl1dType), pointer :: con_cl1 => null()

◆ con_cl2

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::con_cl2 => null()

Definition at line 31 of file VirtualModel.f90.

31  type(VirtualDbl1dType), pointer :: con_cl2 => null()

◆ con_hwva

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::con_hwva => null()

Definition at line 29 of file VirtualModel.f90.

29  type(VirtualDbl1dType), pointer :: con_hwva => null()

◆ con_ia

type(virtualint1dtype), pointer virtualmodelmodule::virtualmodeltype::con_ia => null()

Definition at line 25 of file VirtualModel.f90.

25  type(VirtualInt1dType), pointer :: con_ia => null()

◆ con_ianglex

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::con_ianglex => null()

Definition at line 24 of file VirtualModel.f90.

24  type(VirtualIntType), pointer :: con_ianglex => null()

◆ con_ihc

type(virtualint1dtype), pointer virtualmodelmodule::virtualmodeltype::con_ihc => null()

Definition at line 28 of file VirtualModel.f90.

28  type(VirtualInt1dType), pointer :: con_ihc => null()

◆ con_ja

type(virtualint1dtype), pointer virtualmodelmodule::virtualmodeltype::con_ja => null()

Definition at line 26 of file VirtualModel.f90.

26  type(VirtualInt1dType), pointer :: con_ja => null()

◆ con_jas

type(virtualint1dtype), pointer virtualmodelmodule::virtualmodeltype::con_jas => null()

Definition at line 27 of file VirtualModel.f90.

27  type(VirtualInt1dType), pointer :: con_jas => null()

◆ container_type

integer(i4b) virtualdatacontainermodule::virtualdatacontainertype::container_type
inherited

Definition at line 55 of file VirtualDataContainer.f90.

55  integer(I4B) :: container_type !< to identify the actual type of this container

◆ dis_angrot

type(virtualdbltype), pointer virtualmodelmodule::virtualmodeltype::dis_angrot => null()

Definition at line 42 of file VirtualModel.f90.

42  type(VirtualDblType), pointer :: dis_angrot => null()

◆ dis_area

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::dis_area => null()

Definition at line 47 of file VirtualModel.f90.

47  type(VirtualDbl1dType), pointer :: dis_area => null()

◆ dis_bot

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::dis_bot => null()

Definition at line 46 of file VirtualModel.f90.

46  type(VirtualDbl1dType), pointer :: dis_bot => null()

◆ dis_ndim

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::dis_ndim => null()

Definition at line 34 of file VirtualModel.f90.

34  type(VirtualIntType), pointer :: dis_ndim => null()

◆ dis_nja

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::dis_nja => null()

Definition at line 38 of file VirtualModel.f90.

38  type(VirtualIntType), pointer :: dis_nja => null()

◆ dis_njas

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::dis_njas => null()

Definition at line 39 of file VirtualModel.f90.

39  type(VirtualIntType), pointer :: dis_njas => null()

◆ dis_nodes

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::dis_nodes => null()

Definition at line 35 of file VirtualModel.f90.

35  type(VirtualIntType), pointer :: dis_nodes => null()

◆ dis_nodesuser

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::dis_nodesuser => null()

Definition at line 36 of file VirtualModel.f90.

36  type(VirtualIntType), pointer :: dis_nodesuser => null()

◆ dis_nodeuser

type(virtualint1dtype), pointer virtualmodelmodule::virtualmodeltype::dis_nodeuser => null()

Definition at line 37 of file VirtualModel.f90.

37  type(VirtualInt1dType), pointer :: dis_nodeuser => null()

◆ dis_top

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::dis_top => null()

Definition at line 45 of file VirtualModel.f90.

45  type(VirtualDbl1dType), pointer :: dis_top => null()

◆ dis_xc

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::dis_xc => null()

Definition at line 43 of file VirtualModel.f90.

43  type(VirtualDbl1dType), pointer :: dis_xc => null()

◆ dis_xorigin

type(virtualdbltype), pointer virtualmodelmodule::virtualmodeltype::dis_xorigin => null()

Definition at line 40 of file VirtualModel.f90.

40  type(VirtualDblType), pointer :: dis_xorigin => null()

◆ dis_yc

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::dis_yc => null()

Definition at line 44 of file VirtualModel.f90.

44  type(VirtualDbl1dType), pointer :: dis_yc => null()

◆ dis_yorigin

type(virtualdbltype), pointer virtualmodelmodule::virtualmodeltype::dis_yorigin => null()

Definition at line 41 of file VirtualModel.f90.

41  type(VirtualDblType), pointer :: dis_yorigin => null()

◆ element_luts

type(vdcelementluttype), dimension(nr_vdc_element_maps) virtualdatacontainermodule::virtualdatacontainertype::element_luts
inherited

Definition at line 67 of file VirtualDataContainer.f90.

67  type(VdcElementLutType), dimension(NR_VDC_ELEMENT_MAPS) :: element_luts !< lookup tables from remote index to local index

◆ element_maps

type(vdcelementmaptype), dimension(nr_vdc_element_maps) virtualdatacontainermodule::virtualdatacontainertype::element_maps
inherited

Definition at line 66 of file VirtualDataContainer.f90.

66  type(VdcElementMapType), dimension(NR_VDC_ELEMENT_MAPS) :: element_maps !< a list with all element maps

◆ ibound

type(virtualint1dtype), pointer virtualmodelmodule::virtualmodeltype::ibound => null()

Definition at line 52 of file VirtualModel.f90.

52  type(VirtualInt1dType), pointer :: ibound => null()

◆ id

integer(i4b) virtualdatacontainermodule::virtualdatacontainertype::id
inherited

Definition at line 54 of file VirtualDataContainer.f90.

54  integer(I4B) :: id !< unique identifier matching with the real counterpart

◆ idsoln

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::idsoln => null()

Definition at line 54 of file VirtualModel.f90.

54  type(VirtualIntType), pointer :: idsoln => null()

◆ is_active

logical(lgp) virtualdatacontainermodule::virtualdatacontainertype::is_active
inherited

Definition at line 60 of file VirtualDataContainer.f90.

60  logical(LGP) :: is_active !< when true, this container is being synchronized

◆ is_local

logical(lgp) virtualdatacontainermodule::virtualdatacontainertype::is_local
inherited

Definition at line 58 of file VirtualDataContainer.f90.

58  logical(LGP) :: is_local !< when true, the physical object resides on the same process. However,

◆ local_model

class(numericalmodeltype), pointer virtualmodelmodule::virtualmodeltype::local_model

Definition at line 22 of file VirtualModel.f90.

22  class(NumericalModelType), pointer :: local_model

◆ moffset

type(virtualinttype), pointer virtualmodelmodule::virtualmodeltype::moffset => null()

Definition at line 49 of file VirtualModel.f90.

49  type(VirtualIntType), pointer :: moffset => null()

◆ name

character(lencomponentname) virtualdatacontainermodule::virtualdatacontainertype::name
inherited

Definition at line 56 of file VirtualDataContainer.f90.

56  character(LENCOMPONENTNAME) :: name !< container name (model, exchange, ...) used in the memory path

◆ orig_rank

integer(i4b) virtualdatacontainermodule::virtualdatacontainertype::orig_rank
inherited

Definition at line 61 of file VirtualDataContainer.f90.

61  integer(I4B) :: orig_rank !< the global rank of the process which holds the physical data for this container

◆ rcv_ranks

type(stlvecint) virtualdatacontainermodule::virtualdatacontainertype::rcv_ranks
inherited

Definition at line 62 of file VirtualDataContainer.f90.

62  type(STLVecInt) :: rcv_ranks !< the ranks of processes, other than orig_rank, having this container active

◆ virtual_data_list

type(listtype) virtualdatacontainermodule::virtualdatacontainertype::virtual_data_list
inherited

Definition at line 65 of file VirtualDataContainer.f90.

65  type(ListType) :: virtual_data_list !< a list with all virtual data items for this container

◆ vmem_ctx

character(lencontextname) virtualdatacontainermodule::virtualdatacontainertype::vmem_ctx
inherited

Definition at line 57 of file VirtualDataContainer.f90.

57  character(LENCONTEXTNAME) :: vmem_ctx !< prefixes virtual memory located on remote processes

◆ x

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::x => null()

Definition at line 50 of file VirtualModel.f90.

50  type(VirtualDbl1dType), pointer :: x => null()

◆ x_old

type(virtualdbl1dtype), pointer virtualmodelmodule::virtualmodeltype::x_old => null()

Definition at line 51 of file VirtualModel.f90.

51  type(VirtualDbl1dType), pointer :: x_old => null()

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