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_RunTestBackwards(testType,YYl,MM,DD,Dl,cal)! !ARGUMENTS:integer,intent(in)::testTypeinteger(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 backwards one day at a time until the calendar conversion ! algorithm breaks.!!EOPIlogical::brokenbroken=.false.do while(.not.broken)! calculate what previous Julian Day number should beDl=Dl-1! calculate what the previous date in given calendar should beDD=DD-1if(DD.eq.0)thenMM=MM-1if(MM.eq.0)thenMM=12YYl=YYl-1end ifDD=DaysPerMonth(MM)! check if leap yearif(MM.eq.2)then if(ESMF_IsLeapYear(YYl,cal))thenDD=29end if end if end if! check calculated dates against ESMF datesbroken=ESMF_CheckTime(testType,YYl,MM,DD,Dl,cal,rc)end do end subroutine ESMF_RunTestBackwards