You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue has been created to be a location where people can list possible efficiency modifications to various physics schemes that currently can't be applied due to the need to maintain bit-for-bit (b4b) reproducibility with the results from CAM.
Once all of the various schemes needed to reproduce CAM have been converted and verified, then these efficiency improvements can be applied.
To start, in apply_heating_rate_run in utilities/physics_tendency_updaters.F90, instead of doing:
do klev = 1, nz
temp(:, klev) = temp(:, klev) + (heating_rate(:, klev) * dt / cpair)
dTdt_total(:, klev) = dTdt_total(:, klev) + (heating_rate(:, klev) / cpair)
end do
This issue has been created to be a location where people can list possible efficiency modifications to various physics schemes that currently can't be applied due to the need to maintain bit-for-bit (b4b) reproducibility with the results from CAM.
Once all of the various schemes needed to reproduce CAM have been converted and verified, then these efficiency improvements can be applied.
To start, in
apply_heating_rate_run
inutilities/physics_tendency_updaters.F90
, instead of doing:One could do:
which would reduce the number of (relatively more expensive) division calculations that are performed.
Feel free to add to this issue if any other efficiency improvements that could produce round-off changes are found.
The text was updated successfully, but these errors were encountered: