-
Notifications
You must be signed in to change notification settings - Fork 54
Description
This issue is designed to track progress and coordination of the transcription efforts.
The (provisional)1 plan is:
- treat the
gen2024
branch as a development branch (the rationale for this is provided innewchem-cpp
Tracking Issue #255) - essentially, we will make pull requests of transcribed functionality into the
gen2024
branch - at some point in the future, the
gen2024
branch will be merged into main (in which case, any unmerged transcription PRs will need to be shifted to main) - for convenience a branch with all/most transcribed functions (that haven't been merged upstream yet) can be found here
Routines Currently being Transcribed (1/32):
-
reserved for: @ChristopherBignamini:
-
rate_timestep_g
- file: solve_rate_cool_g.F
- wrapper-function:
grackle::impl::fortran_wrapper::rate_timestep_g
-
-
reserved for @mabruzzo:
-
step_rate_g
- file: solve_rate_cool_g.F
- wrapper-function:
grackle::impl::fortran_wrapper::step_rate_g
- special considerations: try not to refactor this too much (We want to eventually factor out common logic duplicated by this routine and the grackle::impl::chemistry::species_density_derivatives_0d
-
Routines ready for transcription (5/32):
Leave a comment on this issue if you want to reserve one of these cases
Routines that will be ready after cool1d_multi_g
is transcribed: (4/32)
-
cool1d_cloudy_g
- file: cool1d_cloudy_g.F
- already existing wrapper:
grackle::impl::fortran_wrapper::cool1d_multi_g
- remaining call sites that must be wrapped:
cool1d_multi_g
- Special Considerations: An existing PR previously tried transcribing the logic ( Port
calc_temp1d_cloudy_g
&cool1d_cloudy_g
from Fortran to C #153 ). I suspect that we don't want to try to reuse that transcribed logic.2 But, if it's not too hard, we may want to repurpose the unit-test logic.
-
calc_temp1d_cloudy_g
- file: calc_temp1d_cloudy_g.F
- already existing wrapper:
grackle::impl::fortran_wrapper::calc_temp_cloudy_g
- remaining call sites that must be wrapped:
cool1d_multi_g
- Special Considerations: An existing PR previously tried transcribing the logic ( Port
calc_temp1d_cloudy_g
&cool1d_cloudy_g
from Fortran to C #153 ). I suspect that we don't want to try to reuse that transcribed logic.2 But, if it's not too hard, we may want to repurpose the unit-test logic.
-
cool1D_cloudy_old_tables_g
- file: cool1d_cloudy_old_tables_g.F
- call sites that must be wrapped:
cool1d_multi_g
-
calc_all_tdust_gasgr_1d_g
- file: calc_all_tdust_gasgr_1d_g.F
- already existing wrapper:
grackle::impl::fortran_wrapper::calc_all_tdust_gasgr_1d_g
- remaining call sites that must be wrapped:
cool1d_multi_g.F
Routines not yet ready for transcription: (6/32)
These routines all have 1 or more Fortran call-sites (i.e. they are called from 1 or more other Fortran routines). As such they are not yet ready for transcription.
- if a routine has multiple call-sites, we won't be ready to transcribe it until a wrapper function has been created and every call-site calls the wrapper function
- if a routine only has 1 Fortran call-site, we can transcribe it immediately after transcribing the call-site.
These cases include:
-
calc_grain_size_increment_1d
- file: calc_grain_size_increment_1d.F
- already existing wrapper:
grackle::impl::fortran_wrapper::calc_grain_size_increment_1d
- remaining call sites that must be wrapped:
cool1d_multi_g.F
andlookup_cool_rates1d_g
-
calc_tdust_1d_g
- file: calc_tdust_1d_g.F
- call sites that must be wrapped: (UNKNOWN)
-
calc_kappa_gr_g
- file: calc_tdust_1d_g.F
- call sites that must be wrapped: (UNKNOWN)
-
calc_gr_balance_g
- file: calc_tdust_1d_g.F
- call sites that must be wrapped: (UNKNOWN)
-
calc_grain_size_increment_species_1d
- file: calc_grain_size_increment_1d.F
- call sites that must be wrapped: (UNKNOWN)
-
solve_cubic_equation
- file: calc_grain_size_increment_1d.F
- call sites that must be wrapped: (UNKNOWN)
Transcribed Routines Awaiting Review (16/32)
-
interpolate_1D_g
-
interpolate_2D_g
-
interpolate_3D_g
-
interpolate_3Dz_g
-
interpolate_2Df3D_g
-
interpolate_4D_g
-
interpolate_5D_g
-
scale_fields_g
-
cool1d_multi_g
- file: cool1d_multi_g.F
- wrapper-function:
grackle::impl::fortran_wrapper::cool1d_multi_g
- PR: [newchem-cpp] transcribe cool1d_multi_g #405
-
ceiling_species_g
[newchem-cpp] transcribe ceiling_species #408 -
make_consistent_g
[newchem-cpp] transcribe make consistent #417 -
gaussj_g
[newchem-cpp] transcribe gaussj #393 -
lookup_cool_rates1d_g
[newchem-cpp] transcribelookup_rate_1d_g
#412, [newchem-cpp] cleanuplookup_cool_rate_1d
part 1 #415, [newchem-cpp]lookup_cool_rate1d
cleanup part 2 #416
Merged Transcriptions:
-
calc_tdust_3d_g
-
cool_multi_time_g
- PRs: cleanup
calc_tdust_3d_g
brittonsmith/grackle#20 (Consistency tweaks:GrainSpeciesCollection
andcool_multi_time_g
brittonsmith/grackle#25 applies some subsequently established conventions)
- PRs: cleanup
-
solve_rate_cool_g
- PRs: transcribe:
solve_rate_cool_g
to C++ brittonsmith/grackle#24 (should probably be broken into pieces)
- PRs: transcribe:
-
step_rate_newton_raphson
-
lookup_cool_rates0d
-
calc_temp_cloudy_g
-
scale_fields_table_g
Footnotes
-
It's provisional until @brittonsmith has a moment to clarify his thought on how he thinks we should handle the details of development ↩
-
The referenced PR was made before we started our current efforts. Consequently, it will take some work to extract just the logic we want. Thus, it may not be worth the effort to reuse the logic ↩ ↩2
-
As explained in its description, Transcribe
interpolate
routines brittonsmith/grackle#38 is a very special PR. The PR justifies why it breaks many conventions for what makes a good transcription PR. Because of its special status, it may not be merged until all other routines have been transcribed. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
Metadata
Metadata
Assignees
Labels
Type
Projects
Status