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.
Source Code
subroutine FieldNegate(field,rc)type(ESMF_Field),intent(inout)::fieldinteger,intent(out),optional::rctype(ESMF_TYPEKIND_FLAG)::type_kindreal(kind=ESMF_KIND_R4),pointer::f_ptr_r4(:)real(kind=ESMF_KIND_R8),pointer::f_ptr_r8(:)logical::has_undefreal(kind=ESMF_Kind_R4),allocatable::undef_r4(:)real(kind=ESMF_Kind_R8),allocatable::undef_r8(:)integer::statustype(ESMF_Field)::fields(1)fields(1)=fieldhas_undef=FieldsHaveUndef(fields,_RC)call ESMF_FieldGet(field,typekind=type_kind,_RC)if(type_kind==ESMF_TYPEKIND_R4)then call assign_fptr(field,f_ptr_r4,_RC)if(has_undef)then call GetFieldsUndef(fields,undef_r4,_RC)where(f_ptr_r4/=undef_r4(1))f_ptr_r4=-f_ptr_r4end where elsef_ptr_r4=-f_ptr_r4end if else if(type_kind==ESMF_TYPEKIND_R4)then call assign_fptr(field,f_ptr_r8,_RC)if(has_undef)then call GetFieldsUndef(fields,undef_r8,_RC)where(f_ptr_r8/=undef_r8(1))f_ptr_r8=-f_ptr_r8end where elsef_ptr_r8=-f_ptr_r8end if else_FAIL('unsupported typekind')end if_RETURN(ESMF_SUCCESS)end subroutine FieldNegate