| subroutine, public gfs_rrtmgp_post::gfs_rrtmgp_post_run | ( | integer, intent(in) | ncol, |
| integer, intent(in) | nlev, | ||
| integer, intent(in) | nday, | ||
| integer, intent(in) | isfc, | ||
| integer, intent(in) | itoa, | ||
| integer, dimension(:), intent(in) | idxday, | ||
| logical, intent(in) | dolwrad, | ||
| logical, intent(in) | doswrad, | ||
| logical, intent(in) | do_lw_clrsky_hr, | ||
| logical, intent(in) | do_sw_clrsky_hr, | ||
| logical, intent(in) | save_diag, | ||
| real(kind_phys), intent(in) | fhlwr, | ||
| real(kind_phys), intent(in) | fhswr, | ||
| real(kind_phys), dimension(:), intent(in) | sfc_alb_nir_dir, | ||
| real(kind_phys), dimension(:), intent(in) | sfc_alb_nir_dif, | ||
| real(kind_phys), dimension(:), intent(in) | sfc_alb_uvvis_dir, | ||
| real(kind_phys), dimension(:), intent(in) | sfc_alb_uvvis_dif, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | p_lev, | ||
| real(kind_phys), dimension(:), intent(in) | tsfa, | ||
| real(kind_phys), dimension(:), intent(in) | coszen, | ||
| real(kind_phys), dimension(:), intent(in) | coszdg, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxlwdown_clrsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxlwup_allsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxlwdown_allsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxlwup_clrsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxswdown_clrsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxswup_allsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxswdown_allsky, | ||
| real(kind_phys), dimension(:,:), intent(in), optional | fluxswup_clrsky, | ||
| real(kind_phys), intent(in) | raddt, | ||
| real(kind_phys), dimension(:,:), intent(in) | aerodp, | ||
| real(kind_phys), dimension(:,:), intent(in) | cldsa, | ||
| integer, dimension(:,:), intent(in) | mtopa, | ||
| integer, dimension(:,:), intent(in) | mbota, | ||
| real(kind_phys), dimension(:,:), intent(in) | cld_frac, | ||
| real(kind_phys), dimension(:,:), intent(in) | cldtaulw, | ||
| real(kind_phys), dimension(:,:), intent(in) | cldtausw, | ||
| type(cmpfsw_type), dimension(:), intent(in) | scmpsw, | ||
| real(kind=kind_phys), dimension(:,:), intent(inout) | fluxr, | ||
| real(kind_phys), dimension(:), intent(inout) | sfcdlw, | ||
| real(kind_phys), dimension(:), intent(inout) | sfculw, | ||
| type(sfcflw_type), dimension(:), intent(inout) | sfcflw, | ||
| real(kind_phys), dimension(:), intent(inout) | tsflw, | ||
| real(kind_phys), dimension(:,:), intent(inout) | htrlw, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | htrlwu, | ||
| type(topflw_type), dimension(:), intent(inout) | topflw, | ||
| real(kind_phys), dimension(:), intent(inout) | nirbmdi, | ||
| real(kind_phys), dimension(:), intent(inout) | nirdfdi, | ||
| real(kind_phys), dimension(:), intent(inout) | visbmdi, | ||
| real(kind_phys), dimension(:), intent(inout) | visdfdi, | ||
| real(kind_phys), dimension(:), intent(inout) | nirbmui, | ||
| real(kind_phys), dimension(:), intent(inout) | nirdfui, | ||
| real(kind_phys), dimension(:), intent(inout) | visbmui, | ||
| real(kind_phys), dimension(:), intent(inout) | visdfui, | ||
| real(kind_phys), dimension(:), intent(inout) | sfcnsw, | ||
| real(kind_phys), dimension(:), intent(inout) | sfcdsw, | ||
| real(kind_phys), dimension(:,:), intent(inout) | htrsw, | ||
| type(sfcfsw_type), dimension(:), intent(inout) | sfcfsw, | ||
| type(topfsw_type), dimension(:), intent(inout) | topfsw, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | htrswc, | ||
| real(kind_phys), dimension(:,:), intent(inout), optional | htrlwc, | ||
| character(len=*), intent(out) | errmsg, | ||
| integer, intent(out) | errflg ) |
The all-sky radiation tendency is computed, the clear-sky tendency is computed if requested.
RRTMGP surface and TOA fluxes are copied to fields that persist between radiation/physics calls.
(optional) Save additional diagnostics.
| [in] | itoa | Vertical index for TOA level |
| [in] | idxday | Index array for daytime points |
| [in] | mtopa | ertical indices for low, middle and high cloud bases |
| [in] | save_diag | Output radiation diagnostics? |
| [in] | fhswr | Frequency for SW radiation calls |
| [in] | sfc_alb_uvvis_dif | Surface albedo (diffuse) |
| [in] | fluxswdown_clrsky | RRTMGP shortwave clear-sky flux (W/m2) |
| [in] | raddt | Radiation time step |
| [in] | cldtausw | approx .55mu band layer cloud optical depth |
| [in] | scmpsw | 2D surface fluxes, components: |
| [in,out] | sfcdsw | SW sfc all-sky downward flux (W/m2) |
| [in,out] | htrsw | SW all-sky heating rate (K/s) |
| [in,out] | htrlwu | LW all-sky heating-rate updated in-between radiation calls. |
| [in,out] | sfcflw | LW radiation fluxes at sfc |
| [in,out] | sfcfsw | SW radiation fluxes at sfc |
| [in,out] | topfsw | SW fluxes at top atmosphere |
| [in,out] | topflw | LW fluxes at top atmosphere |
| [out] | errmsg | CCPP error message |
| [out] | errflg | CCPP error code |
| [in,out] | htrswc | SW clear-sky heating rate (K/s) |
| ncol | Horizontal loop extent |
| nlev | Number of vertical layers |
| nday | Number of daylit columns |
| isfc | Vertical index for surface level |
| dolwrad | Logical flags for lw radiation calls |
| doswrad | Logical flags for sw radiation calls |
| do_lw_clrsky_hr | Output clear-sky LW heating-rate? |
| do_sw_clrsky_hr | Output clear-sky SW heating-rate? |
| fhlwr | Frequency for LW radiation calls |
| sfc_alb_nir_dir | Surface albedo (direct) |
| sfc_alb_nir_dif | Surface albedo (diffuse) |
| sfc_alb_uvvis_dir | Surface albedo (direct) |
| p_lev | Pressure @ model layer-interfaces (Pa) |
| tsfa | Lowest model layer air temperature for radiation (K) |
| coszen | Cosine(SZA) |
| coszdg | Cosine(SZA), daytime |
| fluxlwdown_clrsky | RRTMGP longwave clear-sky flux (W/m2) |
| fluxlwup_allsky | RRTMGP longwave all-sky flux (W/m2) |
| fluxlwdown_allsky | RRTMGP longwave all-sky flux (W/m2) |
| fluxlwup_clrsky | RRTMGP longwave clear-sky flux (W/m2) |
| fluxswup_allsky | RRTMGP shortwave all-sky flux (W/m2) |
| fluxswdown_allsky | RRTMGP shortwave all-sky flux (W/m2) |
| fluxswup_clrsky | RRTMGP shortwave clear-sky flux (W/m2) |
| aerodp | Vertical integrated optical depth for various aerosol species |
| cldsa | Fraction of clouds for low, middle, high, total and BL |
| mbota | Vertical indices for low, middle and high cloud tops |
| cld_frac | Total cloud fraction in each layer |
| cldtaulw | approx 10.mu band layer cloud optical depth |
| sfcdlw | LW sfc all-sky downward flux (W/m2) |
| sfculw | LW sfc all-sky upward flux (W/m2) |
| tsflw | LW sfc air temp during calculation (K) |
| htrlw | LW all-sky heating rate (K/s) |
| nirbmdi | SW sfc nir beam downward flux (W/m2) |
| nirdfdi | SW sfc nir diff downward flux (W/m2) |
| visbmdi | SW sfc uv+vis beam downward flux (W/m2) |
| visdfdi | SW sfc uv+vis diff downward flux (W/m2) |
| nirbmui | SW sfc nir beam upward flux (W/m2) |
| nirdfui | SW sfc nir diff upward flux (W/m2) |
| visbmui | SW sfc uv+vis beam upward flux (W/m2) |
| visdfui | SW sfc uv+vis diff upward flux (W/m2) |
| sfcnsw | SW sfc all-sky net flux (W/m2) flux into ground |
| htrlwc | LW clear-sky heating-rate (K/s) |