define( ALARM, `! $1$2_ INTERVAL ! $1$2_interval is left there (and means minutes) for consistency, but ! $1$2_interval_m will take precedence if specified CALL nl_get_$1$2_interval( grid%id, $1$2_interval ) ! same as minutes CALL nl_get_$1$2_interval_d( grid%id, $1$2_interval_d ) CALL nl_get_$1$2_interval_h( grid%id, $1$2_interval_h ) CALL nl_get_$1$2_interval_m( grid%id, $1$2_interval_m ) CALL nl_get_$1$2_interval_s( grid%id, $1$2_interval_s ) IF ( $1$2_interval_m .EQ. 0 ) $1$2_interval_m = $1$2_interval IF ( MAX( $1$2_interval_d, & $1$2_interval_h, $1$2_interval_m , $1$2_interval_s ) .GT. 0 ) THEN CALL WRFU_TimeIntervalSet( interval, D=$1$2_interval_d, & H=$1$2_interval_h, M=$1$2_interval_m, S=$1$2_interval_s, rc=rc ) CALL wrf_check_error( WRFU_SUCCESS, rc, & "WRFU_TimeIntervalSet($1$2_interval) FAILED", & __FILE__ , & __LINE__ ) ELSE interval = run_length + padding_interval ENDIF CALL nl_get_$1$2_begin_y( grid%id, $1$2_begin_y ) CALL nl_get_$1$2_begin_d( grid%id, $1$2_begin_d ) CALL nl_get_$1$2_begin_h( grid%id, $1$2_begin_h ) CALL nl_get_$1$2_begin_m( grid%id, $1$2_begin_m ) CALL nl_get_$1$2_begin_s( grid%id, $1$2_begin_s ) IF ( MAX( $1$2_begin_y, $1$2_begin_d, & $1$2_begin_h, $1$2_begin_m , $1$2_begin_s ) .GT. 0 ) THEN CALL WRFU_TimeIntervalSet( begin_time , D=$1$2_begin_d, & H=$1$2_begin_h, M=$1$2_begin_m, S=$1$2_begin_s, rc=rc ) CALL wrf_check_error( WRFU_SUCCESS, rc, & "WRFU_TimeIntervalSet($1$2_begin) FAILED", & __FILE__ , & __LINE__ ) ELSE begin_time = zero_time ENDIF CALL nl_get_$1$2_end_y( grid%id, $1$2_end_y ) CALL nl_get_$1$2_end_d( grid%id, $1$2_end_d ) CALL nl_get_$1$2_end_h( grid%id, $1$2_end_h ) CALL nl_get_$1$2_end_m( grid%id, $1$2_end_m ) CALL nl_get_$1$2_end_s( grid%id, $1$2_end_s ) IF ( MAX( $1$2_end_y, $1$2_end_d, & $1$2_end_h, $1$2_end_m , $1$2_end_s ) .GT. 0 ) THEN CALL WRFU_TimeIntervalSet( end_time , D=$1$2_end_d, & H=$1$2_end_h, M=$1$2_end_m, S=$1$2_end_s, rc=rc ) CALL wrf_check_error( WRFU_SUCCESS, rc, & "WRFU_TimeIntervalSet($1$2_end) FAILED", & __FILE__ , & __LINE__ ) ELSE end_time = run_length + padding_interval ENDIF CALL domain_alarm_create( grid, $1$2_ALARM, interval, begin_time, end_time ) IF ( interval .NE. run_length + padding_interval .AND. begin_time .EQ. zero_time ) THEN CALL WRFU_AlarmRingerOn( grid%alarms( $1$2_ALARM ), rc=rc ) CALL wrf_check_error( WRFU_SUCCESS, rc, & "WRFU_AlarmRingerOn($1$2_ALARM) FAILED", & __FILE__ , & __LINE__ ) ENDIF' ) ALARM(history,) ALARM(auxinput,1) ALARM(auxinput,2) ALARM(auxinput,3) ALARM(auxinput,4) #ifndef WRF_CHEM ALARM(auxinput,5) #endif ALARM(auxinput,6) ALARM(auxinput,7) ALARM(auxinput,8) ALARM(auxinput,9) ALARM(auxinput,10) ALARM(auxinput,11) ALARM(auxhist,1) ALARM(auxhist,2) ALARM(auxhist,3) ALARM(auxhist,4) ALARM(auxhist,5) ALARM(auxhist,6) ALARM(auxhist,7) ALARM(auxhist,8) ALARM(auxhist,9) ALARM(auxhist,10) ALARM(auxhist,11)