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.
function rdb_ocean_get_hu_ptr(c_handle,ptr,nx,ny,nz,gen)result(status)&bind(c,name="rdb_ocean_get_hu_ptr")!! West-face x transport (h*u, m^2/s): `multilayer%hu_face_x_layer`,!! same shape/stagger as `u_face_x_layer`.type(c_ptr),intent(in),value::c_handletype(c_ptr),intent(out)::ptrinteger(c_int),intent(out)::nx,ny,nz,geninteger(c_int)::statustype(ocean_handle_t),pointer::hreal(wp),pointer::tmp(:,:,:)ptr=c_null_ptrnx=0ny=0nz=0gen=0status=resolve_ocean(c_handle,h)if(status/=OCEAN_STATUS_OK)returntmp=>h%state%multilayer%hu_face_x_layercall fill_getter_3d(ptr,nx,ny,nz,gen,tmp,h%state%dyn%outer_step_count)end function rdb_ocean_get_hu_ptr