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

Update calculation of time-averaged radiation variables #874

Closed

Conversation

LarissaReames-NOAA
Copy link
Collaborator

@LarissaReames-NOAA LarissaReames-NOAA commented Oct 8, 2024

Description

This PR fixes incorrect diagnostic output for fhzero-averaged radiation output variables. Presently, there is a significant "sawtooth" appearance to these fields (such as dswrf_ave and ulwrf_avetoa) when we expect smoother lines with jumps only at fhzero diagnostic reset times. Here is an example of the present (OLD) result and the result from the current PR (FIX) from a 24-hour S2S regression test forecast.

iTerm2 RaUnsB rads_fhzero6_fix

Issue(s) addressed

  • fixes an problem found in investigating ufs-weather-model/#1767

Testing

Ran full regression test suite on Hera. See log files here: /scratch1/NAGAPE/hpc-wof1/lreames/ufs-weather-model-38a29a6/tests/logs/log_hera
All regression tests fail as sfcf*.nc files are not identical. New baselines will be necessary.

Dependencies

N/A. All changes are contained in fv3atm.

Requirements before merging

  • All new code in this PR is tested by at least one unit test
  • All new code in this PR includes Doxygen documentation
  • All new code in this PR does not add new compilation warnings (check CI output)

@LarissaReames-NOAA LarissaReames-NOAA changed the title Updated calculation of time-averaged radiation variables to provide smoother curves between radiation calls and diagnostic resets. Update calculation of time-averaged radiation variables Oct 8, 2024
@DeniseWorthen
Copy link
Collaborator

@LarissaReames-NOAA Will this have any impact on exported SW fields (dnirbmi_cpl etc)?

@LarissaReames-NOAA
Copy link
Collaborator Author

@LarissaReames-NOAA Will this have any impact on exported SW fields (dnirbmi_cpl etc)?

This should only apply to history file diagnostic fields with time_avg_kind = "rad_sw", "rad_lw", or "rad_swlw_min" in ccpp/driver/GFS_diagnostics.F90

@LarissaReames-NOAA
Copy link
Collaborator Author

@junwang-noaa Who could we have review this PR?

atmos_model.F90 Outdated Show resolved Hide resolved

if (time_int == dt_atmos ) then
var2(i,j) = Diag(idx)%data(nb)%var2(ix)*lcnvfac
hist%rad_accum(idx,ii,jj) = Diag(idx)%data(nb)%var2(ix)
Copy link
Collaborator

Choose a reason for hiding this comment

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

The computation of accumulated radiation or physics stays in CCPP physics (fluxr), I suggest making the accumulation related change in ccpp, not in the IO file (fv3atm_history_io.F90). We only apply time scale or mask update in the fv3atm_history_io.F90.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I looked the CCPP code, and see that the fluxr is accumulated every radiation hour (3600s) (multiplied by coszdg(i) / coszen(i)) in the code:
physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_post.F90
so we need modify the bucket weighting in order to calculate the dswrf_ave and ulwrf correctly

@LarissaReames-NOAA LarissaReames-NOAA deleted the feature/rad-fix branch December 17, 2024 20:51
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.

4 participants