-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
review potential updates to Tmpbeis4 code #84
Comments
Discussion of the I/O API M3UTILIO module and how to convert existing code |
SMOKE v5.0 compiled successfully with Carlie's modified tmpbeis4.f |
Summary of Carlie's updates to tmpbeis4.f:
was modified to (lines 524 - 528 in updated tmpbeis4.f):
was modified to (~ line 1048 in updated tmpbeis4.f. Note how I and J loop was switched, and also a reminder that Fortran is column-major):
|
Testing of tmpbeis4 with and without update, surprisingly, did not show improvement in the execution time. Note that the test was conducted on a SMOKE training package over LISTOS domain (25 row x 25 col). Observable improvement in execution time could be expected for larger domain. Using m3diff tool to compare emis_mole* output files initially showed significantly lower emissions in the output files with updated tmpbeis4. This was later found to be caused by the double unit conversion in the updated tmpbeis4 (item 5 in comment above). After this double unit conversion was removed, differences between the outputs are < 0.1% which are in acceptable range. |
Huy, can you consider running this on the full 12US2 or 12US1 domain
instead of the 25x25?
…On Thu, Jan 11, 2024 at 9:20 AM Huy Tran ***@***.***> wrote:
Testing of tmpbeis4 with and without update, surprisingly, did not show
improvement in the execution time. Note that the test was conducted on a
SMOKE training package over LISTOS domain (25 row x 25 col). Observable
improvement in execution time could be expected for larger domain.
Using m3diff tool to compare emis_mole* output files initially showed
significantly lower emissions in the output files with updated tmpbeis4.
This was later found to be caused by the double unit conversion in the
updated tmpbeis4 (item 5 in comment above). After this double unit
conversion was removed, differences between the outputs are < 0.1% which
are in acceptable range.
—
Reply to this email directly, view it on GitHub
<#84 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB26PS4FYKV7YLN3BAGWMXDYN7YJLAVCNFSM6AAAAAA7E6XCOGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBXGI3TQMJVHE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
I'm working on setting up test case based on emission platform 2020ha2 for 12US1 domain. Currently having issue with missing variable SOILT2 in the input met file METCRO2D. |
Performance Test with 2020ha2_cb6_20k emission model platform
Results: There is no significant differences in run time between FULL and SIMP, meaning all gained benefit in run time was mainly from the loop re-arrangement. Loop re-arrangement yield about 35% faster in runtime in comparison to ORIG. Additional information: Modern compiler can transform the code for better efficiency in memory accessing when optimization flag is activated more info here such as |
Based on October 29, 2023 email from Carlie Coats
Draft code (has not been compiled or tested). Switch to using M3UTILIO module in Tmpbeis4. Change grid-and-species loop nests. Check for failure after environment variable calls (e.g. ENVINT).
"tmpbeis4.0.f" is the un-changed reference version
"tmpbeis4.1.f" is the minimal changes-for-M3UTILIO version
"tmpbeis4.2.f" with loop-nest orders changed for efficiency
"tmpbeis4.f" further revision sent
tmpbeis.zip
The text was updated successfully, but these errors were encountered: