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
subroutine ESMF_RunTestForwards(YYl,MM,DD,Dl,cal)! !ARGUMENTS:integer(ESMF_KIND_I8),intent(inout)::YYlinteger,intent(inout)::MMinteger,intent(inout)::DDinteger(ESMF_KIND_I8),intent(inout)::Dltype(ESMF_Calendar),intent(inout)::cal! !DESCRIPTION:! Goes forwards one day at a time until the calendar conversion ! algorithm breaks.!!EOPIinteger::daysInThisMonthlogical::brokenbroken=.false.do while(.not.broken)! calculate what next Julian Day number should beDl=Dl+1! calculate what the next date in given calendar should beDD=DD+1daysInThisMonth=DaysPerMonth(MM)! check if leap yearif(MM.eq.2.and.DD.eq.29)then if(ESMF_IsLeapYear(YYl,cal))thendaysInThisMonth=29end if end if if(DD.gt.daysInThisMonth)thenDD=1MM=MM+1if(MM.eq.13)thenMM=1YYl=YYl+1end if end if! check calculated dates against ESMF datesbroken=ESMF_CheckTime(CONVERT_TO_BOTH,YYl,MM,DD,Dl,cal,rc)end do end subroutine ESMF_RunTestForwards