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 test_get_coordinate_field_change_units_edge(this)class(ESMF_TestMethod),intent(inout)::thistype(ModelVerticalGrid)::vgridtype(ESMF_Field)::vcoordtype(ESMF_Geom)::geominteger::statusreal(ESMF_KIND_R4),pointer::a(:,:,:)type(ComponentDriverPtrVector)::couplerstype(ComponentDriverPtr)::driverclass(ComponentDriver),pointer::couplerinteger::i,rccall setup(geom,vgrid,_RC)call vgrid%get_coordinate_field(&vcoord,coupler,&standard_name="air_pressure",&geom=geom,&typekind=ESMF_TYPEKIND_R4,&units="Pa",&vertical_dim_spec=VERTICAL_DIM_EDGE,&_RC)@assert_that(associated(coupler),is(true()))call r%allocate(_RC)call ESMF_FieldGet(vcoord,fArrayPtr=a,_RC)! usually update is called on imports, but here we don't have an import handy,! so we force updates on all export couplers in registry r.couplers=r%get_export_couplers()do i=1,couplers%size()driver=couplers%of(i)call driver%ptr%initialize(_RC)call driver%ptr%run(phase_idx=GENERIC_COUPLER_UPDATE,_RC)end do@assert_that(shape(a),is(equal_to([IM,JM,LM+1])))@assert_that(a,every_item(is(equal_to(300.))))_UNUSED_DUMMY(this)end subroutine test_get_coordinate_field_change_units_edge