From 81ac924fb478bbefbd15bd308525e6a0dcedf156 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Sun, 22 Sep 2024 10:24:56 -0600 Subject: [PATCH 1/2] first_time needs to be saved --- mediator/med_phases_ocnalb_mod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediator/med_phases_ocnalb_mod.F90 b/mediator/med_phases_ocnalb_mod.F90 index 304d0c7f..ea0253a4 100644 --- a/mediator/med_phases_ocnalb_mod.F90 +++ b/mediator/med_phases_ocnalb_mod.F90 @@ -636,7 +636,7 @@ subroutine med_phases_ocnalb_orbital_update(clock, logunit, maintask, eccen, ob integer :: orb_year ! orbital year for current orbital computation character(len=CL) :: msgstr ! temporary logical :: lprint - logical :: first_time = .true. + logical, save :: first_time = .true. character(len=*) , parameter :: subname = "(med_phases_ocnalb_orbital_update)" !------------------------------------------- From dd8d177b1c5c14b269a1f8edc9ebd93dc3c589c8 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 26 Sep 2024 15:54:29 -0600 Subject: [PATCH 2/2] improve print timing of orbital parameters --- mediator/med_phases_ocnalb_mod.F90 | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/mediator/med_phases_ocnalb_mod.F90 b/mediator/med_phases_ocnalb_mod.F90 index ea0253a4..18d709cd 100644 --- a/mediator/med_phases_ocnalb_mod.F90 +++ b/mediator/med_phases_ocnalb_mod.F90 @@ -634,9 +634,9 @@ subroutine med_phases_ocnalb_orbital_update(clock, logunit, maintask, eccen, ob type(ESMF_Time) :: CurrTime ! current time integer :: year ! model year at current time integer :: orb_year ! orbital year for current orbital computation + integer, save :: prev_orb_year=0 character(len=CL) :: msgstr ! temporary logical :: lprint - logical, save :: first_time = .true. character(len=*) , parameter :: subname = "(med_phases_ocnalb_orbital_update)" !------------------------------------------- @@ -648,19 +648,18 @@ subroutine med_phases_ocnalb_orbital_update(clock, logunit, maintask, eccen, ob call ESMF_TimeGet(CurrTime, yy=year, rc=rc) if (chkerr(rc,__LINE__,u_FILE_u)) return orb_year = orb_iyear + (year - orb_iyear_align) - lprint = maintask else orb_year = orb_iyear - if (first_time) then - lprint = maintask - first_time = .false. - else - lprint = .false. - end if end if eccen = orb_eccen shr_log_unit = logunit + + if(orb_year .ne. prev_orb_year) then + prev_orb_year = orb_year + lprint = maintask + end if + call shr_orb_params(orb_year, eccen, orb_obliq, orb_mvelp, obliqr, lambm0, mvelpp, lprint) if ( eccen == SHR_ORB_UNDEF_REAL .or. obliqr == SHR_ORB_UNDEF_REAL .or. &