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()type(ModelVerticalGrid)::vgridtype(ESMF_Field)::vcoordtype(ESMF_Geom)::geominteger::statusreal(ESMF_KIND_R4),pointer::a(:,:,:)type(ComponentDriverPtrVector)::couplerstype(ComponentDriverPtr)::drivertype(GriddedComponentDriver),pointer::couplerinteger::icall setup(vgrid,_RC)geom=make_geom(_RC)call vgrid%get_coordinate_field(vcoord,coupler,&standard_name='air_pressure',geom=geom,typekind=ESMF_TYPEKIND_R4,units='Pa',_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(a,every_item(is(equal_to(300.))))end subroutine test_get_coordinate_field_change_units