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 ESMF_IsLeapYear(YYl,cal)! !RETURN VALUE: logical::ESMF_IsLeapYear! !ARGUMENTS:integer(ESMF_KIND_I8),intent(in)::YYltype(ESMF_Calendar),intent(inout)::cal! !DESCRIPTION:! Checks given year to see if it is a leap year in the given calendar!!EOPIinteger(ESMF_KIND_I8),parameter::ly1=400,ly2=4,ly3=100logical::leapYearif(cal.eq.ESMF_CALKIND_GREGORIAN)then! Note: At least one Absoft compiler (in particular, version 9a SP1 on x86_64 linux)! may miscompile the following statement - which causes a floating point error at! runtime. See ticket #2800140.leapYear=(mod(YYl,ly1).eq.0).or.&(mod(YYl,ly2).eq.0.and.mod(YYl,ly3).ne.0)else if(cal.eq.ESMF_CALKIND_JULIAN)thenleapYear=mod(YYl,ly2).eq.0else!print *, "Error: Leap year rule unknown for given calendar."end if! function return valueESMF_IsLeapYear=leapYearend function ESMF_IsLeapYear