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.
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:In this case, for some reason SRC was assigned with zero which violate the minimum bound of 1. Further analyses is still pending.