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.
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.
Source Code
SUBROUTINE ReadRcvrBearingsCALL ReadVector(Pos%Ntheta,Pos%theta,'Receiver bearings, theta','degrees')! full 360-degree sweep? remove duplicate angleIF(Pos%Ntheta>1)THEN IF(ABS(MOD(Pos%theta(Pos%Ntheta)-Pos%theta(1),360.0))<10.0*TINY(1.0D0))&Pos%Ntheta=Pos%Ntheta-1END IF! calculate angular spacingPos%Delta_theta=0.0IF(Pos%Ntheta/=1)Pos%Delta_theta=Pos%theta(Pos%Ntheta)-Pos%theta(Pos%Ntheta-1)IF(.NOT.monotonic(Pos%theta,Pos%Ntheta))THEN CALL ERROUT('ReadRcvrBearings','Receiver bearings are not monotonically increasing')END IF RETURN END SUBROUTINE ReadRcvrBearings