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.
subroutine output_initialise_is_requestedtype(output_file)::fileinteger i,v,sp! Allocate without labelled space units as they are just copiedallocate(output_is_requested(output_nvars,3,size(output_time_dim)))output_is_requested=0! Marke 1 where needed in (var, space, time) matrixdo i=1,output_nfilesfile=output_files(i)do v=1,file%nvarssp=file%space! Make labelled count the same as unlabelledif(sp>3)sp=sp-3output_is_requested(file%variable_ix(v),sp,file%time)=1end do end do end subroutine output_initialise_is_requested