When provided with i and j, print_marbl_log() should specify i, j, lat, and lon for warnings coming from the surface flux computation and only include level for warnings coming from the interior tendency computation. One possible solution is to add an optional print_lev logical argument with the usual print_lev_loc = print_lev if it is present (and .false. otherwise) along with
@@ -1618,7 +1618,7 @@ subroutine MARBL_tracers_column_physics(h_old, ea, eb, fluxes, dt, G, GV, US, CS
call MARBL_instances%StatusLog%log_error_trace(&
"MARBL_instances%interior_tendency_compute()", "MARBL_tracers_column_physics")
endif
- call print_marbl_log(MARBL_instances%StatusLog, G, i, j)
+ call print_marbl_log(MARBL_instances%StatusLog, G, i, j, print_lev=.true.)
call MARBL_instances%StatusLog%erase()
! iv. Apply tendencies immediately
@@ -2361,8 +2365,9 @@ subroutine print_marbl_log(log_to_print, G, i, j)
if (present(i) .and. present(j)) then
write(message_location, "(A,F8.3,A,F7.3,A,I0,A,I0,A,I0)") &
'Message from (lon, lat) (', G%geoLonT(i,j), ', ', G%geoLatT(i,j), &
- '), which is global (i,j) (', i + G%HI%idg_offset, ', ', j + G%HI%jdg_offset, &
- '). Level: ', tmp%ElementInd
+ '), which is global (i,j) (', i + G%HI%idg_offset, ', ', j + G%HI%jdg_offset, ')'
+ if (print_lev_loc) &
+ write(message_location, "(2A,I0)") trim(message_location), ' Level: ', tmp%ElementInd
else
write(message_location, "(A)") "Grid cell responsible for message is unknown"
endif ! i,j present
When provided with
iandj,print_marbl_log()should specify i, j, lat, and lon for warnings coming from the surface flux computation and only include level for warnings coming from the interior tendency computation. One possible solution is to add an optionalprint_levlogical argument with the usualprint_lev_loc = print_levif it is present (and.false.otherwise) along with