Skip to content

transcribe calc_tdust_3d#40

Closed
mabruzzo wants to merge 729 commits into
brittonsmith:gen2024from
mabruzzo:gen2024transcribe/calc_tdust_3d
Closed

transcribe calc_tdust_3d#40
mabruzzo wants to merge 729 commits into
brittonsmith:gen2024from
mabruzzo:gen2024transcribe/calc_tdust_3d

Conversation

@mabruzzo
Copy link
Copy Markdown

@mabruzzo mabruzzo commented Mar 3, 2025

This builds directly on top of PR #37


This PR transcribes calc_tdust_3d from Fortran to C++. This was the last of the top-level Fortran routines to be translated.

Figuring out how a bunch of the variables got used (so we could logically aggregate the variables) was fairly tedious. In fact the immediate impetus for making this PR was my review of #39, where I wanted to give recommendation on how to organize the same variables. The whole process was so involved, I wanted to put together this PR before I lost my train of thought (and so I could make more concrete suggestions).1

A little bit of cleanup is performed in the followup PR, #41.

I have manually confirmed that all tests successfully pass.


NOTE: I have not run the OpenMP tests. I'm pretty confident that the transcribed code is all valid. But, since Gen broke OpenMP support, I have not been tempted to test it yet. The fact that I have been developing on MacOS complicates this to some degree2

Footnotes

  1. In particular, understanding the purpose and use of the alSiM, alFeM, ..., alH2Oice family of variables were especially annoying. These were named in a particularly confusing way that made it impossible to understand how they related to the kpSiM, kpFeM, ..., kpH2Oice family of variables without fully digging in. (I suspect my frustration comes through, to some degree in some of the code comments)

  2. I think it should definitely be possible using a compiler other than the built-in apple-clang compilers. But, I haven't gotten a chance to dig into this. I suspect this will easier to deal with once we have removed the last of the Fortran code that references OpenMP.

mabruzzo and others added 27 commits May 19, 2025 23:09
…sting-without-editable-install

Support running subset of pygrackle test without a an editable install
…tweak

cython does not need to be a runtime-dependency
…nstruction-tweaks

Pygrackle test instruction tweaks
…Warnings

Enable Compiler Warnings in a CI job
…lding_length_fix

H2 self shielding length scale factor fix
Superficial Website Documentation Tweaks
[newchem-cpp] Minor model test refactor and adding model comparison option
mabruzzo and others added 26 commits August 13, 2025 08:52
…e/internal_types_updates

[newchem-cpp] internal scratch-buffer interface update
…e/Implement-SpLUT-with-XMacros

[newchem-cpp] Refactor such that SpLUT is implemented with XMacros
…e/SpeciesLUTFieldAdaptor

[newchem-cpp] Introduce `SpeciesLutFieldAdaptor`
The *Great Renaming:* `gracklepy` edition
…e/initial-step_rate_newton_raphson

[newchem-cpp] initial transcription of `step_rate_newton_raphson`
…' into gen2024transcribe/lookup_cool_rates0d
…2024transcribe/calc_temp_cloudy_g

I needed to introduce the bugfix from PR grackle-project#367.
@mabruzzo
Copy link
Copy Markdown
Author

superseded by grackle-project#385

@mabruzzo mabruzzo closed this Aug 20, 2025
@mabruzzo mabruzzo deleted the gen2024transcribe/calc_tdust_3d branch September 12, 2025 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants