This module provides a number of routines/functions and variables related to the mode time in GOTM. The basic concept used in this module is that time is expressed as two integers -- one is the true Julian day and the other is seconds since midnight. All calculations with time then become very simple operations on integers.
IMPLICIT NONE default: all is private. privatePUBLIC MEMBER FUNCTIONS:
public :: init_time, calendar_date public :: julian_day, update_time public :: write_time_string public :: time_diff public :: sunrise_sunset #ifdef _PRINTSTATE_ public :: print_state_time #endifPUBLIC DATA MEMBERS:
character(len=19), public :: timestr character(len=19), public :: start character(len=19), public :: stop REALTYPE, public :: timestep REALTYPE, public :: fsecs,simtime integer, public :: julianday,secondsofday integer, public :: yearday integer, public :: timefmt integer, public :: MinN,MaxNREVISION HISTORY:
Original author(s): Karsten Bolding & Hans Burchard $Log: time.F90,v $ Revision 1.11 2010-09-17 12:53:53 jorn extensive code clean-up to ensure proper initialization and clean-up of all variables Revision 1.10 2009-10-21 09:17:27 kb ooobs - removed test print statements Revision 1.8 2005-06-27 13:44:07 kbk modified + removed traling blanks Revision 1.7 2004/08/17 15:45:16 lars corrected typos in docu Revision 1.6 2003/03/28 09:38:54 kbk removed tabs Revision 1.5 2003/03/28 09:20:36 kbk added new copyright to files Revision 1.4 2003/03/28 07:56:05 kbk removed tabs Revision 1.3 2003/03/10 13:48:15 lars changed intent(out) to intent(inout) for MaxN in init_time Revision 1.2 2003/03/10 08:54:16 gotm Improved documentation and cleaned up code Revision 188.8.131.52 2001/02/12 15:55:57 gotm initial import into CVS