Back to home page

MITgcm

 
 

    


File indexing completed on 2025-11-07 06:08:21 UTC

view on githubraw file Latest commit b7411f1a on 2025-11-06 19:05:26 UTC
b809ce8096 Jean*0001 C     ==================================================================
                0002 C     HEADER calendar
                0003 C     ==================================================================
                0004 C
                0005 C     o This header file contains variables that are used by the
                0006 C       calendar tool. The calendar tool can be used in the ECCO
                0007 C       SEALION release of the MITgcmUV.
                0008 C
                0009 C     started: Christian Eckert eckert@mit.edu  30-Jun-1999
                0010 C     changed: Christian Eckert eckert@mit.edu  17-Dec-1999
                0011 C              - restructured the original version in order to have a
                0012 C                better interface to the MITgcmUV.
                0013 C
                0014 C     ==================================================================
                0015 C     HEADER calendar
                0016 C     ==================================================================
                0017 
                0018 C   - Parameters of the numerical model:
                0019 C
82e480d1a1 Jean*0020 C     modelStart       :: start time of the numerical model.
                0021 C     modelStartDate   :: start date of the numerical model.
                0022 C     modelEnd         :: end   time of the numerical model.
                0023 C     modelEndDate     :: end   date of the numerical model.
                0024 C     modelStep        :: timestep of the numerical model.
                0025 C     modelIntSteps    :: number of timestep that are to be performed.
                0026 C     modelIter0       :: the numerical models initial timestep number.
                0027 C     modelIterEnd     :: the models last timestep number.
13a16b18e5 Jean*0028 C     modelStepsperday :: number of model time steps per day (<- removed).
17206208d3 Jean*0029 
b809ce8096 Jean*0030 C   - Parameters used by the calendar:
                0031 C
82e480d1a1 Jean*0032 C     refDate          :: first day of the Gregorian Calendar.
                0033 C     nMonthYear       :: number months in a year.
                0034 C     nDayMonth        :: days per month depending on the year being a leap
                0035 C                         year or not. If the Model calendar is used a 360
                0036 C                         days year with 30 days months is used instead.
                0037 C     nDaysNoLeap      :: number of days in a usual year.
                0038 C     nDaysLeap        :: number of days in a leap year.
                0039 C     nMaxDayMonth     :: maximum number of days in a years month.
                0040 C     hoursPerDay      :: number of hours   in a calendars day.
                0041 C     minutesPerDay    :: number of minutes in a calendars day.
                0042 C     minutesPerHour   :: number of minutes in a calendars hour.
                0043 C     secondsPerDay    :: number of seconds in a calendars day.
                0044 C     secondsPerHour   :: number of seconds in a calendars hour.
                0045 C     secondsPerMinute :: number of seconds in a calendars minute.
17206208d3 Jean*0046 C     cal_setStatus    :: status of calendar parms setting (0=none, 3=fully set)
b809ce8096 Jean*0047 
82e480d1a1 Jean*0048       INTEGER nMonthYear
                0049       PARAMETER ( nMonthYear = 12 )
a63ed37559 Patr*0050 
82e480d1a1 Jean*0051       COMMON /CALENDAR_RL/
                0052      &                modelStart,
                0053      &                modelEnd,
                0054      &                modelStep
                0055       _RL modelStart
                0056       _RL modelEnd
                0057       _RL modelStep
                0058 
                0059       COMMON /CALENDAR_I/
                0060      &               refDate,
                0061      &               nDayMonth,
                0062      &               nDaysNoLeap,
                0063      &               nDaysLeap,
                0064      &               nMaxDayMonth,
                0065      &               hoursPerDay,
                0066      &               minutesPerDay,
                0067      &               minutesPerHour,
                0068      &               secondsPerDay,
                0069      &               secondsPerHour,
                0070      &               secondsPerMinute,
                0071      &               modelStartDate,
                0072      &               modelEndDate,
                0073      &               modelIter0,
                0074      &               modelIterEnd,
                0075      &               modelIntSteps,
17206208d3 Jean*0076      &               cal_setStatus,
ed7802942c Patr*0077      &               startdate_1,
                0078      &               startdate_2
a63ed37559 Patr*0079 
82e480d1a1 Jean*0080       INTEGER refDate(4)
                0081       INTEGER nDayMonth(nMonthYear,2)
                0082       INTEGER nDaysNoLeap
                0083       INTEGER nDaysLeap
                0084       INTEGER nMaxDayMonth
                0085       INTEGER hoursPerDay
                0086       INTEGER minutesPerDay
                0087       INTEGER minutesPerHour
                0088       INTEGER secondsPerDay
                0089       INTEGER secondsPerHour
                0090       INTEGER secondsPerMinute
b809ce8096 Jean*0091 
82e480d1a1 Jean*0092       INTEGER modelStartDate(4)
                0093       INTEGER modelEndDate(4)
                0094       INTEGER modelIter0
                0095       INTEGER modelIterEnd
                0096       INTEGER modelIntSteps
b809ce8096 Jean*0097 
17206208d3 Jean*0098       INTEGER cal_setStatus
b809ce8096 Jean*0099       INTEGER startdate_1
                0100       INTEGER startdate_2
ed7802942c Patr*0101 
d694d255c8 Jean*0102 C   calendarDumps :: When set, approximate months (30-31 days) and years (360-372 days)
b7411f1a84 Jean*0103 C                    for parameters chkPtFreq, pChkPtFreq and freq in pkg/diagnostics 
                0104 C                    are converted to exact calendar months and years.
82e480d1a1 Jean*0105       COMMON /CALENDAR_L/
d694d255c8 Jean*0106      &               calendarDumps,
a63ed37559 Patr*0107      &               usingModelCalendar,
13a16b18e5 Jean*0108      &               usingNoLeapYearCal,
a63ed37559 Patr*0109      &               usingJulianCalendar,
                0110      &               usingGregorianCalendar
b809ce8096 Jean*0111       LOGICAL calendarDumps
                0112       LOGICAL usingModelCalendar
13a16b18e5 Jean*0113       LOGICAL usingNoLeapYearCal
b809ce8096 Jean*0114       LOGICAL usingJulianCalendar
                0115       LOGICAL usingGregorianCalendar
                0116 
13a16b18e5 Jean*0117 C     theCalendar :: type of calendar to use; available:
                0118 C                    'model', 'gregorian' or 'noLeapYear'.
82e480d1a1 Jean*0119 C     dayOfWeek   :: Week day number one is the week day of refDate.
                0120 C                    For the Gregorian calendar this is Friday, 15-Oct-1582.
                0121 C     monthOfYear :: Both available calendars are assumed to have twelve
                0122 C                    months.
                0123       COMMON /CALENDAR_C/
13a16b18e5 Jean*0124      &                     theCalendar,
82e480d1a1 Jean*0125      &                     dayOfWeek,
                0126      &                     monthOfYear
13a16b18e5 Jean*0127       CHARACTER*(20) theCalendar
82e480d1a1 Jean*0128       CHARACTER*(3) dayOfWeek(7)
                0129       CHARACTER*(3) monthOfYear(nMonthYear)
a63ed37559 Patr*0130