These issues were raised by claude in reviewing PR 3911. Not sure if they are still relevant but putting them here so we can check them:
-
Pressure-level forcing files require an input sounding, unguarded. The new bullet presents the negative-z pressure-grid mode as a first-class option, but interp_forcing reads sounding.pm_integ[k], which is only sized/filled by InputSoundingData::calc_rho_p/calc_rho_p_hse. A pressure-level LSF file with no input sounding indexes an empty Vector. Worth a sentence in the doc and ideally an AMREX_ALWAYS_ASSERT.
-
The staggered writer plots cell-centered profiles against face heights. derive_forcing_profiles_stag returns nz cell-centered values regardless of its name, and both writers call it. ERF_Write1DProfiles.cpp:180-184 uses cell centers correctly, but ERF_Write1DProfiles_stag.cpp:291-292 uses zlevels_stag[0][k] — the lower face of cell k. The new doc describes column 2 as just "Height (m)", which is a half-cell off in the staggered output
These issues were raised by claude in reviewing PR 3911. Not sure if they are still relevant but putting them here so we can check them:
Pressure-level forcing files require an input sounding, unguarded. The new bullet presents the negative-z pressure-grid mode as a first-class option, but interp_forcing reads sounding.pm_integ[k], which is only sized/filled by InputSoundingData::calc_rho_p/calc_rho_p_hse. A pressure-level LSF file with no input sounding indexes an empty Vector. Worth a sentence in the doc and ideally an AMREX_ALWAYS_ASSERT.
The staggered writer plots cell-centered profiles against face heights. derive_forcing_profiles_stag returns nz cell-centered values regardless of its name, and both writers call it. ERF_Write1DProfiles.cpp:180-184 uses cell centers correctly, but ERF_Write1DProfiles_stag.cpp:291-292 uses zlevels_stag[0][k] — the lower face of cell k. The new doc describes column 2 as just "Height (m)", which is a half-cell off in the staggered output