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.
 
Top