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_hv_ptr(c_handle,ptr,nx,ny,nz,gen)result(status)&bind(c,name="rdb_ocean_get_hv_ptr")!! South-face y transport (h*v, m^2/s): `multilayer%hv_face_y_layer`,!! same shape/stagger as `v_face_y_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%hv_face_y_layercall fill_getter_3d(ptr,nx,ny,nz,gen,tmp,h%state%dyn%outer_step_count)end function rdb_ocean_get_hv_ptr