C $Header: /u/gcmpack/MITgcm/pkg/cal/cal_intmonths.F,v 1.2 2003/10/09 04:19:19 edhill Exp $
C $Name: $
#include "CAL_OPTIONS.h"
integer function cal_IntMonths(
I mythid
& )
c ==================================================================
c FUNCTION cal_IntMonths
c ==================================================================
c
c o Return the number of calendar months that are affected by the
c current model integration.
c
c
c started: Christian Eckert eckert@mit.edu 30-Jun-1999
c
c changed: Christian Eckert eckert@mit.edu 29-Dec-1999
c
c - restructured the original version in order to have a
c better interface to the MITgcmUV.
c
c Christian Eckert eckert@mit.edu 03-Feb-2000
c
c - Introduced new routine and function names, cal_,
c for verion 0.1.3.
c
c ==================================================================
c FUNCTION cal_IntMonths
c ==================================================================
implicit none
c == global variables ==
#include "cal.h"
c == routine arguments ==
integer mythid
c == local variables ==
integer endmonth
integer startmonth
integer endyear
integer startyear
c == end of interface ==
startmonth = mod(modelstartdate(1)/100,100)
endmonth = mod( modelenddate(1)/100,100)
startyear = modelstartdate(1)/10000
endyear = modelenddate(1)/10000
ce --> allow for previous iterations: niter0 !
ce in this case one would need some more information about the
ce integration of the model, e.g. the global start and end dates.
if ( startyear .ne. endyear ) then
cal_IntMonths = (nmonthyear - startmonth + 1) +
& nmonthyear*(endyear - startyear - 1) +
& endmonth
else
cal_IntMonths = endmonth - startmonth + 1
endif
if ( ( modelenddate(2) .eq. 0) .and.
& ( mod(modelenddate(1),100) .eq. 1) ) then
cal_IntMonths = cal_IntMonths - 1
endif
return
end