Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

write_hist_at_0h_rst still get error with multiple stream output

Tam Nguyen

New member
Hi,
I'm encounter the problem when trying to choose output in multiple stream:

- It will output on all the stream (auxhist1->24) even though I just specify 5,7,8,23.
- It will break/ kill the job as soon as it reached the stream 5.

Since then I try to change /share/mediation_intergrate.F to the following:
CALL WRFU_ClockGet( grid%domain_clock, CurrTime=currTime, StartTime=startTime )

IF( (WRFU_AlarmIsRinging( grid%alarms( HISTORY_ALARM ), rc=rc ) .AND. &
(grid%dfi_write_dfi_history .OR. grid%dfi_stage == DFI_FST .OR. grid%dfi_opt == DFI_NODFI) )) THEN
IF ( ( config_flags%restart ) .AND. &
( config_flags%write_hist_at_0h_rst ) .AND. &
( currTime .EQ. startTime ) ) THEN
! output history at beginning of restart if alarm is ringing
CALL med_hist_out ( grid , HISTORY_ALARM, config_flags )

ELSE IF ( ( config_flags%restart ) .AND. &
( .NOT. config_flags%write_hist_at_0h_rst ) .AND. &
( currTime .EQ. startTime ) ) THEN
! we do not do anything
ELSE
CALL med_hist_out ( grid , HISTORY_ALARM, config_flags )

ENDIF
CALL WRFU_AlarmRingerOff( grid%alarms( HISTORY_ALARM ), rc=rc )
ELSE IF ( (config_flags%restart) .AND. ( currTime .EQ. startTime ) .AND. &
( config_flags%write_hist_at_0h_rst ) ) THEN
!----------------------------------------------------------------------
! I change this part
!----------------------------------------------------------------------
IF (WRFU_AlarmIsRinging( grid%alarms( HISTORY_ALARM ), rc=rc ) ) THEN
CALL med_hist_out ( grid , HISTORY_ALARM, config_flags )
ELSE
DO ialarm = first_auxhist, last_auxhist
IF( WRFU_AlarmIsRinging( grid%alarms( ialarm ), rc=rc ) ) THEN
WRITE(message,*) 'Aux stream ', ialarm, ' is ringing - writing output'
CALL wrf_debug(1, message)
CALL med_hist_out ( grid , ialarm, config_flags )
CALL WRFU_AlarmRingerOff( grid%alarms( ialarm ), rc=rc )
ENDIF
ENDDO
ENDIF
CALL WRFU_AlarmRingerOff( grid%alarms( HISTORY_ALARM ), rc=rc )
ENDIF
It will not raise the error but it also will not output in the first timestep for any stream.

Thank you for any suggestion in advance.
 
Hi, and apologies for the delay. If you're still experiencing this issue, can you describe a bit more about what is happening and what you're trying to do? Please issue the following from the directory where your wrf output resides:

Code:
ls -ls >& ls.txt

And then please attach the following:
- the ls.txt file created above
- namelist.input file
- the wrf error/log file(s)
- the modified /share/mediation_intergrate.F file
 
Hi,

Sorry for not getting back sooner.
Also I have to go through with my experiment so I unfortunately didn't keep the log file. I have continue by create a restart point 1 day before the break point so that it will have a little duplicate output.

I attached here the namelist.input and the mediation_intergrate.F file which I have modified like in my first question.

I remember that with the original configuration, it will try to write to every stream until the first defined stream (for me stream 5) that it will raise error. Sorry again that I don't keep the log but I remember it would just call SEGMENTATION (which is very generic).
 

Attachments

  • mediation_integrate.F.txt
    100.9 KB · Views: 0
  • ls.txt
    5.2 KB · Views: 0
  • namelist.txt
    7.4 KB · Views: 0
Hi,
Since you say you had to continue with the experiment, it sounds like you've found a workable solution to get your results?

If you need to run more simulations and run into the issue again, please make sure to keep the rsl* files so you can attach them for us. Sometimes we can find hidden reasons for the segmentation faults in those files (but not always).
 
Top