Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / external / esmf_time_f90 / ESMF_TimeMgr.inc
blobb231af28549b5a6b679a19244a29d80e4a4a26eb
1 #if 0
2  
3 Do not have C++ or F90 style comments in here because this file is processed
4 by both C++ and F90 compilers.
5 #endif
7 #ifndef ESMF_TimeMgr_INC
8 #define ESMF_TimeMgr_INC
10 #if 0
11 !BOP
12 -------------------------------------------------------------------------
14  !DESCRIPTION:
16  ESMF TimeMgr include file for F90
17  The code in this file implements constants and macros for the TimeMgr...
19 -------------------------------------------------------------------------
20 !EOP
21 #endif
23 #include "ESMF_Macros.inc"
25 #define SECONDS_PER_DAY 86400_ESMF_KIND_I8
26 #define SECONDS_PER_HOUR 3600_ESMF_KIND_I8
27 #define SECONDS_PER_MINUTE 60_ESMF_KIND_I8
28 #define HOURS_PER_DAY 24_ESMF_KIND_I8
30 ! Note that MAX_ALARMS must match MAX_WRF_ALARMS defined in 
31 ! ../../frame/module_domain.F !!!  Eliminate this dependence with 
32 ! grow-as-you-go AlarmList in ESMF_Clock...  
33 #include "../../inc/streams.h"
34 #define MAX_ALARMS (2*(MAX_HISTORY)+10)
36 ! TBH:  TODO:  Hook this into the WRF build so WRF can use either "no-leap" or 
37 ! TBH:         Gregorian calendar.  Now WRF is hard-wired to use Gregorian.  
38 !#undef NO_LEAP_CALENDAR
39 !#ifdef COUP_CSM
40 !#define NO_LEAP_CALENDAR
41 !#endif
43 ! TBH:  When NO_DT_COMPONENT_INIT is set, code that uses F95 compile-time 
44 ! TBH:  initialization of components of derived types is not included.  
45 ! TBH:  Some older compilers like PGI 5.x do not support this F95 
46 ! TBH:  feature.
47 !#ifdef NO_LEAP_CALENDAR
48 !#undef NO_DT_COMPONENT_INIT
49 !#else
50 !#define NO_DT_COMPONENT_INIT
51 !#endif
53 #endif