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.
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.
subroutine group_add(this,key)!! Add a key to the group (sourced-allocate into a box). Error!! stop on duplicate key name (programming error).class(nml_group_t),intent(inout)::thisclass(nml_key_t),intent(in)::keytype(nml_key_box_t),allocatable::tmp(:)integer::n,iif(.not.allocated(this%keys))allocate(this%keys(0))n=size(this%keys)do i=1,nif(lower(this%keys(i)%key%name)==lower(key%name))then call global_logger%error("duplicate key '"//key%name//"' in group '"//this%name//"'")error stop"rdb_nml_schema: duplicate key registration"end if end do allocate(tmp(n+1))do i=1,ncall move_alloc(this%keys(i)%key,tmp(i)%key)end do allocate(tmp(n+1)%key,source=key)call move_alloc(tmp,this%keys)end subroutine group_add