****************************************************************************************************
*                                           PROGRAM OVERVIEW
****************************************************************************************************
*
* PROGRAM: ms_outputruntimes.sas 
*
* Created (mm/dd/yyyy): 06/30/2019
* Last modified: 
* Version: 1.0
*
*--------------------------------------------------------------------------------------------------
* PURPOSE:
*  This utility macro output the dataset &runid._runtimes
*
*  Program inputs:                                                                                   
*                                     
*  Program outputs: 
*
* PARAMETERS:
*	- timevar: macro variable holding start time
*   - step: description of step
*	- group: scenario
*	- monitoringperiod: monitoring period ID
*
*  Programming Notes:                                                                                
*                                                                           
*
*--------------------------------------------------------------------------------------------------
* CONTACT INFO: 
*  Sentinel Coordinating Center
*  info@sentinelsystem.org
*
*--------------------------------------------------------------------------------------------------
*  CHANGE LOG: 
*
*   Version   Date       Initials	   Comment (reference external documentation when available)
*   -------   --------   --------   ---------------------------------------------------------------
*
***************************************************************************************************;

%macro ms_outputruntimes(timevar=, step=, group=, monitoringperiod=);

	%put =====> MACRO CALLED: ms_outputruntimes v1.0;

	data msoc.&runid._runtimes;
	    length step $ 75;
		set msoc.&runid._runtimes end=eof;
		output;
		if eof then do;
			format start stop datetime21.2; 
			start=input("&&&timevar.",best.); 
			stop=input("&STOP.",best.);   
			format Seconds $20.;
			Seconds=put(int(&stop.-&&&timevar.),best.)||" s";
			step = "&step.";
			group = "&group.";
			monitoringperiod = "&monitoringperiod.";
			startdate = "&&&timevar.date";
			starttime = "&&&timevar.time";
			enddate = "&&&timevar.enddate"; 
			endtime = "&&&timevar.endtime";
			runtime = strip("&hours. h &minutes. m &seconds. s");
			drop start stop seconds;
			output;
		end;
	run;

	%put NOTE: ********END OF MACRO: ms_outputruntimes v1.0 ********;

%mend;