Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine hdf5_prepare_data(me)class(hdf5_t),target,intent(inout)::meinteger::i,j,total,nodesallocate(me%tables(size(me%tbl_dsc)))do i=1,size(me%tables);associate(tbl=>me%tables(i),dsc=>me%tbl_dsc(i))total=0do j=1,size(dsc%comps)total=total+size(dsc%comps(j)%p%node_x)enddo allocate(tbl%data(total,size(dsc%vars)))tbl%data=ieee_value(0.0_dp,ieee_quiet_nan)total=0do j=1,size(me%tbl_dsc(i)%comps)nodes=size(dsc%comps(j)%p%node_x)dsc%comps(j)%p%data=>tbl%data(total+1:total+nodes,1:size(dsc%vars))total=total+nodesenddo end associate;enddoend subroutine hdf5_prepare_data