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

RRTMGP Port #2062

Merged
merged 22 commits into from
Jan 23, 2025
Merged

RRTMGP Port #2062

merged 22 commits into from
Jan 23, 2025

Conversation

AMLattanzi
Copy link
Collaborator

@AMLattanzi AMLattanzi commented Jan 13, 2025

This adds radiation via RRTMGP and YAKL. The RRTMGP submodule is set to coincide with what is currently used by the EAMXX component of E3SM; see here. The files added to ERF are modeled after and ported from those used in EAMXX; see here.

TODO action items:

  • Remove unnecessary code
  • O3 volume mixing ratio is function of height
  • Add doc info for inputs and outputs
  • Hook up to LSM (mu0, albedo, zenith)
  • Hook up to orbital calcs (commented out for now)
  • Sort out lat/lon availability (only with real init?)
  • Allow for multi-level calcs (only level 0 calls update right now)
  • Convert rad src for application to dry pot temp
  • Replicate simple unit test and compare output

@AMLattanzi AMLattanzi requested review from asalmgren, pressel and nataraj2 and removed request for nataraj2 January 13, 2025 23:19
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pressel can you take a look at the following:

// TODO: Fill properly

// TODO: Fill properly

// TODO: Fill properly

tmp2d(icol,ilay) = qv_lay(icol,ilay) * mwdair/ gas_mol_weight;

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lwp and iwp are filled in a specific spot. I did away with nc_lay since it was only used for output data we don't have or use. I think the h2o vmr is computed correctly, but a second set of eyes would be useful.

The eff_radius quantities are inputs that we must compute; any insight there would be helpful.

@AMLattanzi AMLattanzi marked this pull request as ready for review January 22, 2025 00:33
@AMLattanzi
Copy link
Collaborator Author

Successful unit test. To replicate results, the ifdef 0 in ERF_Radiation.cpp must be set to 1 and the files in Exec/DevTest/Radiation must be used.

image
image
image
image

@AMLattanzi AMLattanzi merged commit 17f3c5e into erf-model:development Jan 23, 2025
11 of 12 checks passed
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