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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
impure subroutine import(this,file_name,dim_colors)class(format_lut),intent(inout)::thischaracter(*),intent(in)::file_nameinteger,intent(in)::dim_colorsinteger,dimension(1,dim_colors)::tempinteger::nunit,iostat,num_rows,ilogical::file_existsinteger,dimension(dim_colors)::bufferinquire(file=file_name//'.lut',exist=file_exists)if(file_exists)then open(newunit=nunit,file=file_name//'.lut',status='old',action='read',iostat=iostat)if(iostat/=0)error stop'Error opening the file.'num_rows=0do read(nunit,*,iostat=iostat)temp(:,:)if(iostat/=0)exitnum_rows=num_rows+1end do call this%set_num_colors(num_rows)call this%set_dim_colors(dim_colors)call this%allocate_colors()rewind(nunit)do i=1,num_rowsread(nunit,*)bufferthis%colors(i,:)=bufferend do close(nunit)else error stop'File '//file_name//'.lut'//' does not exist!'end if end subroutine import