I think I may have discovered an issue in the HEMCO MEGAN extension. There seems to be either a precision or a parallelization error affecting biogenic MOH (methanol). The following snippet of my differences log (full file here] shows the full set of differences between my Ref run and Dev run (which skips chemistry).
In each column is the sum of the each diagnostic array in both Ref & Dev codes, and the difference. I use this as a quick check... where I see zeroes means that all elements of the diagnostic array in both Def & Rev are equal.
In these runs, both OFFLINE_BIOGENICVOC and MEGAN were turned on. I tried turning off OFFLINE_BIOGENICVOC while keeping MEGAN turned on (in both Dev & Ref), but still found different total values for MOH:
I've also tried commenting out the code where MOH is returned from GET_MEGAN_EMISSIONS
! ---------------------------------------------------
! MEGAN Methanol
IF ( Inst%IDTMOH > 0 ) THEN
CALL GET_MEGAN_EMISSIONS( HcoState, ExtState, &
Inst, I, J, 'MOH', EMIS_MOH, RC)
IF ( RC /= HCO_SUCCESS ) THEN
CALL HCO_ERROR( HcoState%Config%Err, &
'GET_MEGAN_EMISSIONS_MOH', RC )
ERR = .TRUE.
EXIT
ENDIF
! Add to tracer tendency array [kg/m2/s]
Inst%FLUXMOH(I,J) = EMIS_MOH
ENDIF
in both my Dev & Ref codes but that didn't prevent the difference in MOH.
I found that the only way to prevent differences in Dev & Ref is to turn off OFFLINE_BIOGENICVOC and the MEGAN extension. I'll do that for further testing, as I need to have zero diffs before making a bunch of changes to chemistry (so that I can be sure that any diffs are from chemistry and not emissions).
Also I should mention, the error is apparent after only one emissions timestep (20 minutes).
I am testing output from identical runs in 13.3.0-alpha.12 and am not able to reproduce differences in MOH emissions. I will close out this issue now since it seems to be fixed.
I think I may have discovered an issue in the HEMCO MEGAN extension. There seems to be either a precision or a parallelization error affecting biogenic MOH (methanol). The following snippet of my differences log (full file here] shows the full set of differences between my Ref run and Dev run (which skips chemistry).
In each column is the sum of the each diagnostic array in both Ref & Dev codes, and the difference. I use this as a quick check... where I see zeroes means that all elements of the diagnostic array in both Def & Rev are equal.
In these runs, both OFFLINE_BIOGENICVOC and MEGAN were turned on. I tried turning off OFFLINE_BIOGENICVOC while keeping MEGAN turned on (in both Dev & Ref), but still found different total values for MOH:
I've also tried commenting out the code where MOH is returned from GET_MEGAN_EMISSIONS
in both my Dev & Ref codes but that didn't prevent the difference in MOH.
I found that the only way to prevent differences in Dev & Ref is to turn off OFFLINE_BIOGENICVOC and the MEGAN extension. I'll do that for further testing, as I need to have zero diffs before making a bunch of changes to chemistry (so that I can be sure that any diffs are from chemistry and not emissions).
Also I should mention, the error is apparent after only one emissions timestep (20 minutes).
@msulprizio, @lizziel, @jimmielin