<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div><br>
</div>
Hi Conrad, Sounds great. Thanks for the help. Cheers, Todd
<div><br>
<div>
<div>On Feb 29, 2012, at 7:22 PM, Conrad Roesch wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>
<div>Hi Todd,</div>
<div><br>
</div>
<div>I have begun modifying the ESMF external libraries to support the 360 day calendar as well as the calendar without leap years. I expect to have these changes wrapped up soon, and I should be ready to check them into the trunk tomorrow.</div>
<div><br>
</div>
<div>I will be making one fix that is worth noting as a user of this code: config_calendar_type will now be a character string, as the registry and namelist parsers have no knowledge of the internal integer parameters MPAS_GREGORIAN, MPAS_360DAY, etc.</div>
<div><br>
</div>
<div>After this change, the registry entry should look like:</div>
<div><br>
</div>
<div>
<div><font class="Apple-style-span" face="'Courier New'">namelist character nhyd_model config_calendar_type MPAS_360DAY</font></div>
</div>
<div><br>
</div>
<div>and the corresponding namelist option would be: </div>
<div><br>
</div>
<div><font class="Apple-style-span" face="'Courier New'">config_calendar_type = 'MPAS_360DAY'</font></div>
<div><br>
</div>
<div><br>
</div>
<div>Please let me know if you have any questions.</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Conrad</div>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div>
<div>On Feb 29, 2012, at 11:19 AM, Michael Duda wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div>Hi, Todd.<br>
<br>
It does seem fitting that we should be looking into calendar issues on Feb. 29.<br>
<br>
I've made a cursory pass through the code, and it looks like this may be the<br>
result of an incomplete implementation of calendars in the old ESMF library that<br>
we're using. For example, the following are hard-wired in ESMF_Calendar.F90<br>
<br>
INTEGER, PARAMETER :: mday(MONTHS_PER_YEAR) &<br>
= (/31,28,31,30,31,30,31,31,30,31,30,31/)<br>
INTEGER, PARAMETER :: mdayleap(MONTHS_PER_YEAR) &<br>
= (/31,29,31,30,31,30,31,31,30,31,30,31/)<br>
INTEGER, DIMENSION(365) :: daym<br>
INTEGER, DIMENSION(366) :: daymleap<br>
<br>
and these are used to determine the month and day of the month for a particular<br>
time instant.<br>
<br>
We can scope out the necessary changes to get the 360-day calendar working and<br>
give you an update.<br>
<br>
Cheers,<br>
Michael<br>
<br>
<br>
On Wed, Feb 29, 2012 at 04:34:36PM +0000, Ringler, Todd D wrote:<br>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Hi All,<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">I think that the 360 days per year option within the ESMF calendar might not be working as expected. I wanted to do a quick scoping here to see if anyone else has had a similar experience or has a quick fix.<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">The default in our registry is "namelist integer sw_model config_calendar_type MPAS_360DAY". Digging into frameworks/mpas_timekeeping.F, then implies 30 days per month per the following code:<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"> if(TheCalendar == MPAS_360DAY) then<br>
</blockquote>
<blockquote type="cite"> daysInMM = 30<br>
</blockquote>
<blockquote type="cite"> else<br>
</blockquote>
<blockquote type="cite"> if (TheCalendar == MPAS_GREGORIAN .and. isLeapYear(YYYY)) then<br>
</blockquote>
<blockquote type="cite"> daysInMM = daysInMonthLeap(MM)<br>
</blockquote>
<blockquote type="cite"> else<br>
</blockquote>
<blockquote type="cite"> daysInMM = daysInMonth(MM)<br>
</blockquote>
<blockquote type="cite"> end if<br>
</blockquote>
<blockquote type="cite"> end if<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Yet when I run with a 30 day interval for restarts, I get<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 16:08 restart30km.0001-01-31_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 16:55 restart30km.0001-03-02_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 17:42 restart30km.0001-04-01_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 18:28 restart30km.0001-05-01_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 19:15 restart30km.0001-05-31_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 20:03 restart30km.0001-06-30_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 20:51 restart30km.0001-07-30_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 21:46 restart30km.0001-08-29_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 22:34 restart30km.0001-09-28_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 28 23:28 restart30km.0001-10-28_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 00:23 restart30km.0001-11-27_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 01:24 restart30km.0001-12-27_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 02:25 restart30km.0002-01-26_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 03:21 restart30km.0002-02-25_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 04:09 restart30km.0002-03-27_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 05:05 restart30km.0002-04-26_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 06:08 restart30km.0002-05-26_00:00:00.nc<br>
</blockquote>
<blockquote type="cite">-rw-rw-r-- 1 ringler ringler 2752773364 Feb 29 07:02 restart30km.0002-06-25_00:00:00.nc<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">where the restart dates are not consistent with 30 days per month.<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Thoughts?<br>
</blockquote>
<blockquote type="cite"><br>
</blockquote>
<blockquote type="cite">Cheers,<br>
</blockquote>
<blockquote type="cite">Todd<br>
</blockquote>
<blockquote type="cite">_______________________________________________<br>
</blockquote>
<blockquote type="cite">mpas-developers mailing list<br>
</blockquote>
<blockquote type="cite"><a href="mailto:mpas-developers@mailman.ucar.edu">mpas-developers@mailman.ucar.edu</a><br>
</blockquote>
<blockquote type="cite"><a href="http://mailman.ucar.edu/mailman/listinfo/mpas-developers">http://mailman.ucar.edu/mailman/listinfo/mpas-developers</a><br>
</blockquote>
_______________________________________________<br>
mpas-developers mailing list<br>
<a href="mailto:mpas-developers@mailman.ucar.edu">mpas-developers@mailman.ucar.edu</a><br>
<a href="http://mailman.ucar.edu/mailman/listinfo/mpas-developers">http://mailman.ucar.edu/mailman/listinfo/mpas-developers</a><br>
</div>
</blockquote>
</div>
<br>
</div>
_______________________________________________<br>
mpas-developers mailing list<br>
<a href="mailto:mpas-developers@mailman.ucar.edu">mpas-developers@mailman.ucar.edu</a><br>
http://mailman.ucar.edu/mailman/listinfo/mpas-developers<br>
</blockquote>
</div>
<br>
</div>
</body>
</html>