Skip to content

MOVESMRG crashed when MTMP_OUTPUT_YN = Y #134

@hnqtran

Description

@hnqtran

This issue was reported by a SMOKE user which was ultimately traced back to setting of MTMP_OUTPUT_YN = Y in onroad RPD run script for onroad_ca sector. Setting MTMP_OUTPUT_YN = N solved the issue that the user was having.

Further investigation revealed that the issue was replicable in latest SMOKE version 5.2.1 and on current EPA EMP 2022v1. However, setting MTMP_OUTPUT_YN = Y alone would not cause MOVESMRG to crash; it is the combine with setting of USE_SPCMAT_SPC_YN = N (if undefined, take default value = N) that caused the crash

The crash is traced back to out-of-bound issue (Fortran runtime error: Index '0' of dimension 2 of array 'mtmp_invt' below lower bound of 1) within this code block in src/movesmrg/movesmrg.f:

                            IF( MTMP_OUT ) THEN
                                IF( SMATCHK ) THEN
                                    IF( EANAMREP( V ) ) THEN
                                        MTMP_INVT( SRC,SIIDX,T ) =
     &                                       MTMP_INVT( SRC,SIIDX,T ) +
     &                                       EMVAL * GM2TON       ! g/hr-cell * ton/g = ton/hr-cell
                                    END IF
                                ELSE
                                    MTMP_INVT( SRC,SIIDX,T ) =
     &                                   MTMP_INVT( SRC,SIIDX,T ) +
     &                                   EMVAL * GM2TON       ! g/hr-cell * ton/g = ton/hr-cell
                                END IF
                            END IF

In this case, for some reason SRC was assigned with zero which violate the minimum bound of 1. Further analyses is still pending.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions