Skip to content
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

Simplify LW source functions #250

Merged
merged 6 commits into from
Dec 14, 2023
Merged

Conversation

RobertPincus
Copy link
Member

The original formulation of RRTMGP uses separate spectral maps for upwelling and downwelling radiation at each level. Here they are combined as sqrt(map1 * map2). This reduces memory traffic between gas optics and solver by about 25% and makes the solvers more generic.

Differences introduced to the test cases are of order 0.06 W/m2. This exceeds the threshold we've been using to check for equivalence (7e-4). In this iteration the threshold has been relaxed to allow the tests to pass - is this the right approach, or would it be better to establish new test data?

@RobertPincus
Copy link
Member Author

@alexeedm I'm especially interested in any thoughts you have on the GPU implementation

@RobertPincus RobertPincus merged commit c61f373 into develop Dec 14, 2023
@RobertPincus RobertPincus deleted the feature-simpler-lw-sources branch December 14, 2023 19:14
@RobertPincus
Copy link
Member Author

Flux-errors
Net-and-max-flux-error

Long after the fact, here are comparisons of accuracy for present-day RFMIP atmospheres

RobertPincus added a commit that referenced this pull request May 21, 2024
… API (#284)

Accumulated changes and bug fixes. Changes LW answers (data repo is alsoupdated).
- New LW weights and secants (Change LW quadrature angles #282)
- A single source function on levels (Simplify LW source functions #250)
- Kernel API header files in Fortran and C (Add kernel API #272)
- Refactored two-stream, fixing RTE shortwave kernel not vectorizing #215 (Re-vectorize SW two-stream #275)
- Buxfixes, change to internal build systems and continuous integration (thanks to @skosukhin for ongoing help)
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.

1 participant