Radiation Scheme in CCPP
|
This module sets up surface albedo for sw radiation and surface emissivity for lw radiation.
Functions/Subroutines | |
subroutine, public | sfc_init |
This subroutine is the initialization program for surface radiation related quantities (albedo, emissivity, etc.) More... | |
subroutine, public | setalb |
This subroutine computes four components of surface albedos (i.e., vis-nir, direct-diffused) according to control flag ialbflg. 1) climatological surface albedo scheme (briegleb 1992) 2) modis retrieval based scheme from boston univ. More... | |
subroutine, public | setemis |
This subroutine computes surface emissivity for LW radiation. More... | |
Variables | |
character(40), parameter | vtagsfc ='NCEP-Radiation_surface v5.1 Nov 2012 ' |
integer, parameter, public | nf_albd = 4 |
num of sfc albedo components More... | |
integer, parameter, public | imxems = 360 |
num of longitude points in global emis-type map More... | |
integer, parameter, public | jmxems = 180 |
num of latitude points in global emis-type map More... | |
real(kind=kind_phys), parameter | f_zero = 0.0 |
real(kind=kind_phys), parameter | f_one = 1.0 |
real(kind=kind_phys), parameter | rad2dg = 180.0 / con_pi |
integer, dimension(:,:), allocatable | idxems |
global surface emissivity index array More... | |
integer | iemslw = 0 |
global surface emissivity contrl flag set up in 'sfc_init' More... | |
subroutine, public module_radiation_surface::setalb | ( | ) |
[in] | slmsk | real, (IMAX), sea(0),land(1),ice(2) mask on fcst model grid |
[in] | snowf | real, (IMAX), snow depth water equivalent in mm |
[in] | sncovr | real, (IMAX) - ialgflg=0: not used - ialgflg=1: snow cover over land in fraction |
[in] | snoalb | real, (IMAX) - ialbflg=0: not used - ialgflg=1: max snow albedo over land in fraction |
[in] | zorlf | real, (IMAX), surface roughness in cm |
[in] | coszf | real, (IMAX), cosin of solar zenith angle |
[in] | tsknf | real, (IMAX), ground surface temperature in K |
[in] | tairf | real, (IMAX), lowest model layer air temperature in K |
[in] | hprif | real, (IMAX), topographic sdv in m — for ialbflg=0 climtological albedo scheme — |
[in] | alvsf | real, (IMAX), 60 degree vis albedo with strong cosz dependency |
[in] | alnsf | real, (IMAX), 60 degree nir albedo with strong cosz dependency |
[in] | alvwf | real, (IMAX), 60 degree vis albedo with weak cosz dependency |
[in] | alnwf | real, (IMAX), 60 degree nir albedo with weak cosz dependency — for ialbflg=1 modis based land albedo scheme — |
[in] | alvsf | real, (IMAX), visible black sky albedo at zenith 60 degree |
[in] | alnsf | real, (IMAX), near-ir black sky albedo at zenith 60 degree |
[in] | alvwf | real, (IMAX), visible white sky albedo |
[in] | alnwf | real, (IMAX), near-ir white sky albedo |
[in] | facsf | real, (IMAX), fractional coverage with strong cosz dependency |
[in] | facwf | real, (IMAX), fractional coverage with weak cosz dependency |
[in] | fice | real, (IMAX), sea-ice fraction |
[in] | tisfc | real, (IMAX), sea-ice surface temperature |
[in] | IMAX | integer, array horizontal dimension |
[out] | sfcalb | real, (IMAX,NF_ALBD) ( :, 1) - near ir direct beam albedo ( :, 2) - near ir diffused albedo ( :, 3) - uv+vis direct beam albedo ( :, 4) - uv+vis diffused albedo |
Definition at line 303 of file radiation_surface.f.
References physcons::con_t0c, physcons::con_tice, physcons::con_ttp, f_one, f_zero, and physparam::ialbflg.
Referenced by module_radiation_driver::grrad().
subroutine, public module_radiation_surface::setemis | ( | ) |
[in] | xlon | real, (IMAX), longitude in radiance, ok for both 0->2pi or -pi -> +pi ranges |
[in] | xlat | real, (IMAX), latitude in radiance, default to pi/2 -> -pi/2 range, otherwise see in-line comment |
[in] | slmsk | real, (IMAX), sea(0),land(1),ice(2) mask on fcst model grid |
[in] | snowf | real, (IMAX), snow depth water equivalent in mm |
[in] | sncovr | real, (IMAX), ialbflg=1: snow cover over land in fraction |
[in] | zorlf | real, (IMAX), surface roughness in cm |
[in] | tsknf | real, (IMAX), ground surface temperature in K |
[in] | tairf | real, (IMAX), lowest model layer air temperature in K |
[in] | hprif | real, (IMAX), topographic sdv in m |
[in] | IMAX | integer, array horizontal dimension |
[out] | sfcemis | real, (IMAX), surface emissivity |
Definition at line 643 of file radiation_surface.f.
References f_one, f_zero, physparam::ialbflg, idxems, iemslw, imxems, jmxems, and rad2dg.
Referenced by module_radiation_driver::grrad().
subroutine, public module_radiation_surface::sfc_init | ( | ) |
[in] | me | integer, print control flag |
[out] | NONE |
physparam::ialbflg - control flag for surface albedo schemes.
=0: climatology, based on surface veg types; =1:
physparam::iemsflg - control flag for sfc emissivity schemes (ab:2-dig)
a:=0 set sfc air/ground t same for lw radiation; =1 set sfc air/ground t diff for lw radiation
b:=0 use fixed sfc emissivity=1.0 (black-body); =1 use varying climtology sfc emiss (veg based)
Definition at line 129 of file radiation_surface.f.
References physparam::ialbflg, idxems, physparam::iemsflg, iemslw, imxems, jmxems, physparam::semis_file, and vtagsfc.
Referenced by module_radiation_driver::radinit().
|
private |
Definition at line 101 of file radiation_surface.f.
|
private |
Definition at line 100 of file radiation_surface.f.
|
private |
Definition at line 106 of file radiation_surface.f.
Referenced by setemis(), and sfc_init().
|
private |
Definition at line 108 of file radiation_surface.f.
Referenced by setemis(), and sfc_init().
integer, parameter, public module_radiation_surface::imxems = 360 |
Definition at line 96 of file radiation_surface.f.
Referenced by setemis(), and sfc_init().
integer, parameter, public module_radiation_surface::jmxems = 180 |
Definition at line 98 of file radiation_surface.f.
Referenced by setemis(), and sfc_init().
integer, parameter, public module_radiation_surface::nf_albd = 4 |
Definition at line 94 of file radiation_surface.f.
|
private |
Definition at line 102 of file radiation_surface.f.
Referenced by setemis().
|
private |
Definition at line 88 of file radiation_surface.f.
Referenced by sfc_init().