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
function bundle_to_metadata(bundle,geom,rc)result(metadata)type(FileMetaData)::metadatatype(ESMF_FieldBundle),intent(in)::bundletype(ESMF_Geom),intent(in)::geominteger,optional,intent(out)::rcinteger::statustype(MaplGeom),pointer::mapl_geomtype(Variable)::time_vartype(ESMF_Time)::fake_timemapl_geom=>get_mapl_geom(geom,_RC)metadata=mapl_geom%get_file_metadata()! Add metadata for vertical geom, note could be both center and edgecall add_vertical_dimensions(bundle,metadata,_RC)! Add metadata for all unique ungridded dimensions the set of fields hascall add_ungridded_dimensions(bundle,metadata,_RC)! Add time metadatacall ESMF_TimeSet(fake_time,timeString="1900-04-03T21:00:00",_RC)call metadata%add_dimension('time',pFIO_UNLIMITED)time_var=create_time_variable(fake_time,_RC)call metadata%add_variable('time',time_var,_RC)! Variablescall add_variables(metadata,bundle,_RC)_RETURN(_SUCCESS)end function bundle_to_metadata