Skip to content

Commit

Permalink
These reduce some of the prints in shr_orbital. (CICE-Consortium#981)
Browse files Browse the repository at this point in the history
* reduce orbital parameters output to log

* avoid printing in initialization as ice log is not yet ready

---------

Co-authored-by: Jim Edwards <[email protected]>
  • Loading branch information
dabail10 and jedwards4b authored Oct 17, 2024
1 parent 68b2610 commit 87c7bfa
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
! Determine attributes - also needed in realize phase to get grid information
!----------------------------------------------------------------------------


! Get orbital values
! Note that these values are obtained in a call to init_orbit in ice_shortwave.F90
! if CESMCOUPLED is not defined
Expand Down Expand Up @@ -1445,8 +1446,9 @@ subroutine ice_orbital_init(gcomp, clock, logunit, mastertask, rc)
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 ! orbital year for previous orbital computation
logical :: lprint
logical :: first_time = .true.
logical, save :: first_time = .true.
character(len=*) , parameter :: subname = "(cice_orbital_init)"
!-------------------------------------------------------------------------------

Expand Down Expand Up @@ -1528,24 +1530,24 @@ subroutine ice_orbital_init(gcomp, clock, logunit, mastertask, rc)
return ! bail out
endif
end if

lprint = .false.
if (trim(orb_mode) == trim(orb_variable_year)) then
call ESMF_ClockGet(clock, CurrTime=CurrTime, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
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 = mastertask
else
orb_year = orb_iyear
if (first_time) then
lprint = mastertask
else
lprint = .false.
end if
end if

if (orb_year .ne. prev_orb_year) then
lprint = mastertask
! this prevents the orbital print happening before the log file is opened.
if (.not. first_time) prev_orb_year = orb_year
endif
eccen = orb_eccen

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. &
Expand Down

0 comments on commit 87c7bfa

Please sign in to comment.