diff --git a/CHANGELOG.md b/CHANGELOG.md index bcab6fcab637..a0ed60cbe70d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added [scc](https://github.com/boyter/scc) badges to README - Added Service-Services functionality. Components could advertise services they can provide, they can request services to be done to a list of variables, and rrent components could connect services. + ### Changed - Moved newcfio modules from base into new griddedio directory @@ -43,6 +44,12 @@ rrent components could connect services. - Fixed #338. Added a workaround for a gfortran bug that handles end-of-file incorrectly (returns IOSTAT=5001). - Fixed ESMF logging errors from MAPL_IO (#1032) +## [2.8.7] - 2021-10-12 + +### Fixed + +- Fixes #1064. This is bug has been in MAPL for a long time. It shows only when the user specifies a non-default duration, and the last step of the duration interval is written to a new, separate file + ## [2.8.6] - 2021-09-13 ### Added diff --git a/CMakeLists.txt b/CMakeLists.txt index fcd265729998..5a8edf2fcb3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_policy (SET CMP0054 NEW) project ( MAPL - VERSION 2.8.6 + VERSION 2.8.7 LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF # Set the default build type to release diff --git a/gridcomps/History/MAPL_HistoryGridComp.F90 b/gridcomps/History/MAPL_HistoryGridComp.F90 index dce96c64519e..2563075ae21c 100644 --- a/gridcomps/History/MAPL_HistoryGridComp.F90 +++ b/gridcomps/History/MAPL_HistoryGridComp.F90 @@ -3460,13 +3460,6 @@ subroutine Run ( gc, import, export, clock, rc ) _VERIFY(STATUS) endif - if( NewSeg .and. list(n)%unit /= 0 .and. list(n)%duration /= 0 ) then - if (list(n)%unit > 0 ) then - call FREE_FILE( list(n)%unit ) - end if - list(n)%unit = 0 - endif - end do if(any(Writing)) call WRITE_PARALLEL("") @@ -3647,6 +3640,13 @@ subroutine Run ( gc, import, export, clock, rc ) endif OUTTIME + if( NewSeg .and. list(n)%unit /= 0 .and. list(n)%duration /= 0 ) then + if (list(n)%unit > 0 ) then + call FREE_FILE( list(n)%unit ) + end if + list(n)%unit = 0 + endif + enddo POSTLOOP if (any(writing)) then