Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:38:14 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 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)
                0103 C                    for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq,
                0104 C                    KPP_taveFreq, and freq in pkg/diagnostics are converted to exact
                0105 C                    calendar months and years.  Requires pkg/cal.
82e480d1a1 Jean*0106       COMMON /CALENDAR_L/
d694d255c8 Jean*0107      &               calendarDumps,
a63ed37559 Patr*0108      &               usingModelCalendar,
13a16b18e5 Jean*0109      &               usingNoLeapYearCal,
a63ed37559 Patr*0110      &               usingJulianCalendar,
                0111      &               usingGregorianCalendar
b809ce8096 Jean*0112       LOGICAL calendarDumps
                0113       LOGICAL usingModelCalendar
13a16b18e5 Jean*0114       LOGICAL usingNoLeapYearCal
b809ce8096 Jean*0115       LOGICAL usingJulianCalendar
                0116       LOGICAL usingGregorianCalendar
                0117 
13a16b18e5 Jean*0118 C     theCalendar :: type of calendar to use; available:
                0119 C                    'model', 'gregorian' or 'noLeapYear'.
82e480d1a1 Jean*0120 C     dayOfWeek   :: Week day number one is the week day of refDate.
                0121 C                    For the Gregorian calendar this is Friday, 15-Oct-1582.
                0122 C     monthOfYear :: Both available calendars are assumed to have twelve
                0123 C                    months.
                0124       COMMON /CALENDAR_C/
13a16b18e5 Jean*0125      &                     theCalendar,
82e480d1a1 Jean*0126      &                     dayOfWeek,
                0127      &                     monthOfYear
13a16b18e5 Jean*0128       CHARACTER*(20) theCalendar
82e480d1a1 Jean*0129       CHARACTER*(3) dayOfWeek(7)
                0130       CHARACTER*(3) monthOfYear(nMonthYear)
a63ed37559 Patr*0131