Skip to content

ccpp-physics RRTMG lw/sw radiation ccpp-compliant#101

Merged
climbfuji merged 37 commits into
NCAR:masterfrom
climbfuji:ccpp-physics-radiation-ccpp
Jun 27, 2018
Merged

ccpp-physics RRTMG lw/sw radiation ccpp-compliant#101
climbfuji merged 37 commits into
NCAR:masterfrom
climbfuji:ccpp-physics-radiation-ccpp

Conversation

@climbfuji
Copy link
Copy Markdown
Collaborator

@climbfuji climbfuji commented Jun 21, 2018

This PR updates the RRTMG lw/sw radiation physics to match the operational version in NEMSfv3gfs.

This requires updating all interstitial schemes and dependencies for the RRTMG lw/sw radiation and the addition of new variables to GFS_typedefs.F90 (for SCM).

The CCPP-compliant code deviates from the operational code in that it separates the various subroutines dealing with surface perturbations, inserted into various subroutines in the operational code, into one central module surface_perturbations.

The PR also deletes most of the legacy code: the original FV3v0 makefile, the files in IPD_layer and most of the files in GFS_layer.

This PR requires several other PRs listed below to go in at the same time.

Update: The results are bit for bit identical on MacOSX/GNU and Theia/Intel both with and without threading.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

climbfuji commented Jun 21, 2018

@climbfuji
Copy link
Copy Markdown
Collaborator Author

WORK IN PROGRESS: GFS_typedefs.F90 is still being updated to make SCM work with these changes.

DomHeinzeller and others added 23 commits June 25, 2018 18:36
…idity_updated_by_physics to cloud_condensed_water_mixing_ratio_updated_by_physics and height_above_mean_sea_level_at_lowest_model_layer to height_above_ground_at_lowest_model_layer
…/gscond.f physics/precpd.f: rename cloud_condensed_water_specific_humidity_updated_by_physics to cloud_condensed_water_mixing_ratio_updated_by_physics
…vel_at_lowest_model_layer to height_above_ground_at_lowest_model_layer
…ded, since SCM and NEMSfv3gfs have their own metadata tables); add new variables required for HRRR physics (RUC LSM) to GFS_layer/GFS_typedefs.F90; update standard_names as required by previous PRs (specific humidity -> (moist) mixing ratio, height_above_MSL... -> height_above_ground)
    1. Add two new entries in the "clouds" array (diagnositc output only?)
    2. surface perturbations
    3. Re-order a few if-tests in radlw_main.f

	modified:   GFS_layer/GFS_radiation_driver.F90
	modified:   physics/radiation_clouds.f
	modified:   physics/radiation_surface.f
	modified:   physics/radlw_main.f
	modified:   physics/radsw_main.f
…l data type to Sfcprop type, correct dimensionality of flag_frsoil
…s for faster initialization (physics/module_mp_thompson_hrrr.F90), dependencies (physics/module_mp_thompson_hrrr_radar.F90) and CCPP entry points (physics/mp_thompson_hrrr.F90)
…remove old FV3v0 makefile. Remove physics/GFS_suite_interstitial.ipd.F90 (was required for non-CCPP build of FV3v0) and rename physics/GFS_suite_interstitial.ccpp.F90 to physics/GFS_suite_interstitial.F90
…r surface perturbations, originally in GFS_physics_driver.F90, but required but other parts of the model
…/sw radiation schemes for GFS and the call to radupdate during the time_vary steps
…FV3/gfsphysics/physics: rhc_max now a variable, not a parameter, new values rhowater, rhosnow, rhoair for WSM6 microphysics
…on in FV3/gfsphysics: new input arguments num_p2d and imp_physics to rad_initialize, remove old import-variable icmphys, add imp_physics to argument list for radinit subroutine
…sion in FV3/gfsphysics: fixing bug that assigned wrong variable to clouds(:,:,9)
…rsion: fix typos, new argument pertAlb. Surface perturbation routines are now imported from surface_perturbation module instead of GFS_physics_driver (where it does not belong to).
…or new optional arguments, protect assigning data to them
…or new optional arguments, protect assigning data to them; minor formatting changes to keep code comparable to operational version in FV3/gfsphysics
…nv that gets used instead of ncld in the updated routine, update of formatting and comments
…ion of respective code in FV3/gfsphysics/GFS_layer/GFS_radiation_driver.F90
climbfuji added 12 commits June 25, 2018 18:53
…ion of respective code in FV3/gfsphysics/GFS_layer/GFS_radiation_driver.F90
…on of respective code in FV3/gfsphysics/GFS_layer/GFS_radiation_driver.F90: new argument alb1d that contains perturbation of surface albedo which is passed on to subroutine setalb
…ate standard name array_dimension_of_microphysics to array_dimension_of_3d_arrays_for_microphysics (for FV3 because new code also needs array_dimension_of_2d_arrays_for_microphysics)
…sion of respective code in FV3/gfsphysics/GFS_layer/GFS_radiation_driver.F90: new arguments cloud10 and cloud11 and other minor changes
…ion of respective code in FV3/gfsphysics/GFS_layer/GFS_radiation_driver.F90: new arguments Coupling, alb1d, cloud10 and cloud11 and respective changes in the code
…l instead of the default MPI_COMM_WORLD (hangs for FV3 if quilting is used), remove old routines GFS_barrier and GFS_abort
…90 and radiation_aerosols.f, remove old and add new source files to hard-coded list of source files for SCM
…diag3d to .true. because dt3dt etc are not allocated otherwise
Copy link
Copy Markdown
Contributor

@llpcarson llpcarson left a comment

Choose a reason for hiding this comment

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

Looks good to me!

… metadata table, minor formatting updates, note relating to ccpp-physics issue #104
@climbfuji climbfuji merged commit be63c3c into NCAR:master Jun 27, 2018
climbfuji pushed a commit to climbfuji/ccpp-physics that referenced this pull request Aug 24, 2021
…ertAerosols

GF - Radiation Coupling Update, Turn Off Aerosols, Tunings
hannahcbarnes pushed a commit to hannahcbarnes/ccpp-physics that referenced this pull request Aug 3, 2022
…_changes_combined_20210712

Wrapper for PR NCAR#100 (GF aerosols updates and tunings)
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.

3 participants