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
function get_variable_dim_names(field,geom,rc)result(dim_names)character(len=:),allocatable::dim_namestype(ESMF_Field),intent(in)::fieldtype(ESMF_Geom),intent(in)::geominteger,optional,intent(out)::rctype(MAPLGeom),pointer::mapl_geomtype(StringVector)::grid_variablestype(ESMF_Geom)::esmfgeomcharacter(len=:),allocatable::vert_dim_name,ungridded_namesinteger::statuscall ESMF_FieldGet(field,geom=esmfgeom,_RC)mapl_geom=>get_mapl_geom(esmfgeom,_RC)grid_variables=mapl_geom%get_gridded_dims()dim_names=string_vec_to_comma_sep(grid_variables)! add vertical dimensionvert_dim_name=get_vertical_dimension_name_from_field(field,_RC)if(vert_dim_name/=EMPTY)dim_names=dim_names//","//vert_dim_name! add any ungridded dimensionsungridded_names=ungridded_dim_names(field,_RC)if(ungridded_names/=EMPTY)dim_names=dim_names//ungridded_names! add time dimensiondim_names=dim_names//",time"_RETURN(_SUCCESS)end function get_variable_dim_names