CEMPD / SMOKE

Create emissions inputs for multiple air quality modeling systems with unmatched speed and flexibility
https://www.cmascenter.org/smoke/
45 stars 21 forks source link

met4moves #36

Closed ardastan closed 3 years ago

ardastan commented 3 years ago

In the code "met4moves.f" at line 869, a variable named "FUELIDX" is initialized which is never used. It causes no error in the compile, but when it comes to the run, it causes a segmentation fault and therefore the code crashes. Removing this line causes the code to run smoothly (I have not checked the results yet). Would you please take a look at this to see what's the purpose of this variable, and whether it may have any negative impact on the outputs?

farzad685 commented 3 years ago

I have this issue like u @ardastan. Did u find out how to solve this problem? Any can help ? @lizadams @bokhaeng

christos-e commented 3 years ago

@ardastan Can you post the run script and output log for met4moves? also the output of grep -rnw '/path/to/your/SMOKE_REPO/src/' -e 'FUELIDX'

I will try to replicate your issue

farzad685 commented 3 years ago

@ardastan. you need just add these lines to your met4moves.f (before line 869 that is written FUELIDX = 0)

ALLOCATE( FUELIDX( NFUEL,NFUEL ), STAT=IOS )
CALL CHECKMEM( IOS, 'FUELIDX', PROGNAME )
christos-e commented 3 years ago

FUELIDX is initialized somewhere else and that may be the issue with the behavior you are seeing.

From my grep command that was previously mentioned:

/proj/ie/proj/CMAS/CMAQ/christos/SMOKE_REPO/src/movesmrg/met4moves.f:64: & MAXTFUEL, MINTFUEL, TKFUEL, FUELIDX, /proj/ie/proj/CMAS/CMAQ/christos/SMOKE_REPO/src/movesmrg/met4moves.f:869: FUELIDX = 0 /proj/ie/proj/CMAS/CMAQ/christos/SMOKE_REPO/src/movesmrg/hourmet.f:46: & FUELIDX, MINTSRC, MAXTSRC, MAXTDAY, MINTDAY /proj/ie/proj/CMAS/CMAQ/christos/SMOKE_REPO/src/emmod/modmet.f:63: INTEGER, ALLOCATABLE, PUBLIC :: FUELIDX ( :,: ) ! monthID for fuelmonth ref county

In the code "met4moves.f" at line 869, a variable named "FUELIDX" is initialized which is never used. It causes no error in the compile, but when it comes to the run, it causes a segmentation fault and therefore the code crashes. Removing this line causes the code to run smoothly (I have not checked the results yet). Would you please take a look at this to see what's the purpose of this variable, and whether it may have any negative impact on the outputs?

In the code "met4moves.f" at line 869, a variable named "FUELIDX" is initialized which is never used. It causes no error in the compile, but when it comes to the run, it causes a segmentation fault and therefore the code crashes. Removing this line causes the code to run smoothly (I have not checked the results yet). Would you please take a look at this to see what's the purpose of this variable, and whether it may have any negative impact on the outputs?