<html><head></head><body 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&nbsp;leap years. &nbsp;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&nbsp;MPAS_GREGORIAN,&nbsp;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 &nbsp;character &nbsp;nhyd_model &nbsp;config_calendar_type &nbsp;MPAS_360DAY</font></div></div><div><br></div><div>and the corresponding namelist option would be:&nbsp;</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. &nbsp;For example, the following are hard-wired in ESMF_Calendar.F90<br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INTEGER, PARAMETER :: mday(MONTHS_PER_YEAR) &nbsp;&nbsp;&amp;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= (/31,28,31,30,31,30,31,31,30,31,30,31/)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INTEGER, PARAMETER :: mdayleap(MONTHS_PER_YEAR) &amp;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= (/31,29,31,30,31,30,31,31,30,31,30,31/)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INTEGER, DIMENSION(365) :: daym<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;&nbsp;sw_model config_calendar_type &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(TheCalendar == MPAS_360DAY) then<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;daysInMM = 30<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (TheCalendar == MPAS_GREGORIAN .and. isLeapYear(YYYY)) then<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;daysInMM = daysInMonthLeap(MM)<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;daysInMM = daysInMonth(MM)<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end if<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 16:08 restart30km.0001-01-31_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 16:55 restart30km.0001-03-02_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 17:42 restart30km.0001-04-01_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 18:28 restart30km.0001-05-01_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 19:15 restart30km.0001-05-31_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 20:03 restart30km.0001-06-30_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 20:51 restart30km.0001-07-30_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 21:46 restart30km.0001-08-29_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 22:34 restart30km.0001-09-28_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 28 23:28 restart30km.0001-10-28_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 00:23 restart30km.0001-11-27_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 01:24 restart30km.0001-12-27_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 02:25 restart30km.0002-01-26_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 03:21 restart30km.0002-02-25_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 04:09 restart30km.0002-03-27_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 05:05 restart30km.0002-04-26_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;2752773364 Feb 29 06:08 restart30km.0002-05-26_00:00:00.nc<br></blockquote><blockquote type="cite">-rw-rw-r-- &nbsp;1 ringler ringler &nbsp;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>http://mailman.ucar.edu/mailman/listinfo/mpas-developers<br></div></blockquote></div><br></body></html>