Opened 7 months ago

Closed 6 months ago

#3348 closed help (answered)

Print statements only written for one processor

Reported by: mtodt Owned by: um_support
Component: UM Model Keywords: JULES print statement processor
Cc: Platform: PUMA
UM Version:

Description

Hi

I'm currently trying to find the source of an error in a JULES branch, for which I include print statements in several FORTRAN modules (using both jules_print and ereport). However, the log files only show print statements for one, probably the first processor, which only covers the first 252 land points (out of 52481). At first I thought that this is due to !$OMP PARALLEL DO loops, but the same happens when the print statement is outside of those loops.
Do I need to enable repetition of print statements or something like that? Is there a flag for limiting things like that to one processor? I'm quite puzzled why it doesn't work. Many thanks in advance for your help!

Cheers
Markus

Change History (5)

comment:1 Changed 7 months ago by pmcguire

Hi Markus
I was talking about your ticket/query with other people from CMS today. One person suggested that they use write(*,6) instead of jules_print or ereport. They had other comments/suggestions too, which they might be able to share with you.
Patrick

comment:2 Changed 7 months ago by jeff

Hi Markus

Have you checked prnt_writers, under um->namelist->IO System Settings->Print Manager Control? This needs to be All tasks write output for umPrint to write all processor output and I believe jules_print calls umPrint.

Jeff.

comment:3 Changed 7 months ago by mtodt

Hi Jeff, Patrick

Thanks a lot for your help! It was indeed the case that prnt_writers was not set for all tasks to write output. I've changed that, started a new run, and got output from all processors now. That was almost embarrassingly simple, sorry for not having figured that out myself!

Is there a similar way of making ereport print output for all processors?

Cheers
Markus

comment:4 Changed 7 months ago by jeff

Hi Markus

ereport also calls umPrint so as far as I know this should also write output for all processors when prnt_writers is set correctly.

Jeff.

comment:5 Changed 6 months ago by jeff

  • Resolution set to answered
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.