Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
12c7973
bring in ccppized fortran for rrtmgp
peverwhee Apr 3, 2025
4144fc1
wee cleanup
peverwhee Apr 4, 2025
ea93c74
mods to remove missed time_manager dependency
peverwhee Apr 6, 2025
65edaa1
Merge remote-tracking branch 'atmospheric_physics/development' into r…
peverwhee Apr 6, 2025
28a3dfd
remove use statement
peverwhee Apr 6, 2025
032a252
remove unused variable
peverwhee Apr 7, 2025
d058a41
move cam_out calculation from diagnostics to post
peverwhee Apr 8, 2025
8d2d25c
remove ncol subsetting on ccpp side
peverwhee Apr 10, 2025
0371fd8
remove unnecessary use statement
peverwhee Apr 15, 2025
49e6ec2
remove unnecessary argument from lw cloud optics scheme
peverwhee Apr 22, 2025
0acd798
update to latest rrtmg-lw
peverwhee Apr 24, 2025
d3f0abf
preliminary metadata
cacraigucar May 2, 2025
97ff253
more metadata mods for longwave
cacraigucar May 6, 2025
e07981d
address reviewer comments
peverwhee May 12, 2025
205ad1f
add comment to rad utils routine
peverwhee May 12, 2025
08bc031
simplify rte solver logic
peverwhee May 13, 2025
e247fca
main rte solver scheme cleanup
peverwhee May 13, 2025
665793d
address reviewer comments for rrtmgp_inputs
peverwhee May 13, 2025
9ba97ef
rrtmgp_inputs cleanup
peverwhee May 13, 2025
90ffd79
Merge remote-tracking branch 'atmospheric_physics/development' into r…
peverwhee May 13, 2025
43a2f1b
fix rte_lw logic
peverwhee May 14, 2025
09e64f7
fix input argument
peverwhee May 14, 2025
492cd5b
move io reader to new directory not compiled by CAM
peverwhee May 15, 2025
bdfce0f
merge up; add initial diag and constituent schemes
peverwhee May 15, 2025
7c53dbf
merge to head of rrtmgp-lw
peverwhee May 15, 2025
6c470fd
some metadata fixes and adding more namelist entries
peverwhee May 15, 2025
3896330
Merge remote-tracking branch 'atmospheric_physics/development' into r…
peverwhee May 16, 2025
6712a83
move io reader back
peverwhee May 16, 2025
f229d39
update gas optics code to use file io reader
peverwhee May 18, 2025
4e628d7
add sw gas optics
peverwhee May 19, 2025
787d876
update gas optics scheme to use logical kind
peverwhee May 20, 2025
cf0f66c
use file io reader for cloud optics
peverwhee May 29, 2025
e920942
merge in fileio stuff
peverwhee May 29, 2025
35d186f
remove unused file
peverwhee May 29, 2025
9c4d2e6
update metadata; create interstitial to make rad_const_array
peverwhee May 29, 2025
d38980d
add missing use statements
peverwhee May 30, 2025
67a5178
Merge remote-tracking branch 'ESCOMP/development' into rrtmgp-lw
peverwhee May 30, 2025
757f70c
initial round of fixes to get sima to build
Jun 5, 2025
577ce00
Merge remote-tracking branch 'origin/rrtmgp-fileio' into rrtmgp-diagn…
Jun 5, 2025
f7c1b65
merge up
Jun 5, 2025
9ac4b56
framework successfully generates caps
Jun 6, 2025
cce8c99
add temporary gitmodules file
Jun 6, 2025
952f5b7
update dependencies, initial submodule
Jun 6, 2025
4d4f244
update gitmodules
Jun 6, 2025
61aea3a
fix sparse checkout file
Jun 6, 2025
b50b702
add hooks
Jun 6, 2025
04bb4ca
update the relative path to rrtmgp external
Jun 6, 2025
1a05947
disable sparse checkout for testing git-fleximod
Jun 6, 2025
b70cea4
add sparse checkout back
Jun 6, 2025
a22d70f
rrtmgp-lw physics builds
Jun 9, 2025
58826e2
merge up
peverwhee Jun 23, 2025
ae847e6
fix memory leak
peverwhee Jun 23, 2025
db86454
fix calling list
peverwhee Jun 30, 2025
71e4edc
merge up
peverwhee Jun 30, 2025
e504efb
add logical kind
peverwhee Jun 30, 2025
9cfcb2e
add missing use statements
peverwhee Jun 30, 2025
6d6b5d1
remove duplicate free_optics_lw call
peverwhee Jun 30, 2025
a753b2f
remove unused gaslist argument left over from merge
peverwhee Jun 30, 2025
6d34fb7
add shortwave modules
Jul 1, 2025
6e4e493
working cloud optics and mcica subcol gen modules
Jul 8, 2025
9135821
working gas optics run and modified solar var
Jul 10, 2025
74c16d2
address reviewer comments
peverwhee Jul 11, 2025
67617d3
change remaining .eq. references
peverwhee Jul 11, 2025
90efd1e
missing parameter reference
peverwhee Jul 11, 2025
3d5a016
working shortwave gas optics pre
Jul 11, 2025
1a67731
working sw main rte
Jul 13, 2025
912bec2
update comments
Jul 14, 2025
e324603
rename main to rte and add git modules file
Jul 14, 2025
f18d36a
merge to head of rrtmgp-fileio
Jul 14, 2025
37ad426
cleanup and units
Jul 14, 2025
b41241a
standard name fix
Jul 15, 2025
ac661eb
merge to head of rrtmgp-sw
Jul 15, 2025
a3df1ac
Merge remote-tracking branch 'ESCOMP/development' into rrtmgp-diagnos…
Jul 15, 2025
e750700
add missing argument declaration
peverwhee Jul 15, 2025
c5363d2
remove duplicate ncol declaration
peverwhee Jul 15, 2025
403130e
address review comments; remove deallocation statements in anticipati…
peverwhee Jul 17, 2025
a2cc351
use cloud optics variables instead of passing them around
Jul 22, 2025
86fc6f9
cleanup, fixes to get use statements to work
Jul 24, 2025
4af2073
change allocatable file io object to pointer
Jul 24, 2025
98470f5
updates to get sima to build; will merge in new file-io updates
peverwhee Jul 25, 2025
e5b5583
Merge remote-tracking branch 'ESCOMP/development' into rrtmgp-fileio
peverwhee Aug 1, 2025
81daf38
Merge remote-tracking branch 'ESCOMP/development' into rrtmgp-fileio
peverwhee Aug 1, 2025
46f5a66
modify file i/o interface to match
peverwhee Aug 1, 2025
8f302be
fix int2log type
peverwhee Aug 5, 2025
67b812d
lw answers match for 2 timesteps running radiation
peverwhee Aug 7, 2025
be18873
merge up
peverwhee Aug 8, 2025
bb33f13
add initialize_constituents scheme to rrtmgp sdf
peverwhee Aug 9, 2025
18ee2e1
add/update diagnostic schemes
peverwhee Aug 9, 2025
107b662
merge in rrtmgp-fileio branch
peverwhee Aug 11, 2025
ab5c984
Merge remote-tracking branch 'origin/rrtmgp-diagnostics' into sw-diag…
peverwhee Aug 11, 2025
d0fce42
initial metadata commit
peverwhee Aug 11, 2025
d491b84
perhaps don't redundantly calculate things
peverwhee Aug 12, 2025
2605f3f
more sw metadata
peverwhee Aug 12, 2025
29c0080
Merge remote-tracking branch 'origin/rrtmgp-diagnostics' into sw-diag…
peverwhee Aug 12, 2025
c5c15ea
sw diagnostic calculations
peverwhee Aug 12, 2025
3343e88
remove unused sparse checkout file
peverwhee Aug 22, 2025
f12de20
merge to head of development
peverwhee Aug 22, 2025
4b494f6
merge to head of development
peverwhee Aug 22, 2025
c08451b
remove unused argument
peverwhee Aug 22, 2025
ad12f78
update sw cloud optics to use setup variables
peverwhee Aug 23, 2025
688cb96
add in sw updates
peverwhee Aug 23, 2025
80277f9
merge in sw updates
peverwhee Aug 25, 2025
6cd02e8
add NL; appease metadata comparator
peverwhee Aug 25, 2025
28d69e2
merge in latest sw stuff
peverwhee Aug 25, 2025
6da0e2d
add rrtmgp submodule
peverwhee Aug 26, 2025
5bfab5a
merge to head of development
peverwhee Aug 26, 2025
81659a2
merge to head of development
peverwhee Aug 26, 2025
124e43a
Merge remote-tracking branch 'origin/rrtmgp-sw' into rrtmgp-diagnostics
peverwhee Aug 26, 2025
493db33
continuing solar irrad mods
peverwhee Aug 26, 2025
2459e55
address reviewer requests
peverwhee Sep 2, 2025
598993f
remove duplicate var
peverwhee Sep 2, 2025
3a5424d
add missing end if
peverwhee Sep 2, 2025
5458be3
add missing argument
peverwhee Sep 2, 2025
baec9b8
merge in latest sw mods
peverwhee Sep 2, 2025
8bf9bbd
working on getting rrtmgp to build with sw schemes
peverwhee Sep 2, 2025
d36b8d9
fix comment
peverwhee Sep 3, 2025
8d8771c
remove unnecessary comment
peverwhee Sep 3, 2025
f343c01
merge in development; update rrtmgp submodule version
peverwhee Sep 5, 2025
d65ef2f
update rrtmgp submodule
peverwhee Sep 5, 2025
3f9deba
remove top_at_1 from sw interface to reflect updated RRTMGP
peverwhee Sep 8, 2025
efe3b35
sima builds and runs
peverwhee Sep 11, 2025
f64aaff
Merge remote-tracking branch 'ESCOMP/development' into rrtmgp-sw
peverwhee Sep 22, 2025
51783ec
merge latest rrtmgp-sw mods
peverwhee Sep 22, 2025
a5af76a
zero out sw aerosols
peverwhee Sep 22, 2025
b62a6ed
fix metadata to match mods
peverwhee Sep 22, 2025
770ccaf
update default single scattering albedo
peverwhee Sep 22, 2025
4dc0b4c
some dimensions fixes; standrad name updates
peverwhee Sep 23, 2025
f85612d
Create tag for dme_adjust (#227)
cacraigucar Apr 4, 2025
62107eb
remove gas_mmr variable to fix rrtmgp bug
sjsprecious Oct 8, 2025
5b48970
correct rebase error
sjsprecious Oct 8, 2025
be1eca0
standard name fixes; cleanup
peverwhee Oct 8, 2025
aca8edf
merge in latest sw updates; bugfix from jian
peverwhee Oct 8, 2025
b20fc8f
mods to get answers to match
peverwhee Oct 11, 2025
b773615
fix diagnostic issues
peverwhee Oct 12, 2025
16c146f
add cloud diagnostics
peverwhee Oct 12, 2025
e154fb9
add missing dependencies
peverwhee Oct 13, 2025
8c95426
fix parallel issue
peverwhee Oct 14, 2025
fac586f
fix so do_snow is set properly; cloud diagnostics need a new idea!
peverwhee Oct 15, 2025
107dca4
add nday check to sw aerosol scheme
peverwhee Oct 18, 2025
12eca68
add loop variable
peverwhee Oct 18, 2025
b56f64b
get cloud diagnostics back
peverwhee Oct 20, 2025
bff238e
code clean up and adding missing dependencies
peverwhee Oct 20, 2025
b0cf14d
remove unused diagnostics
peverwhee Oct 20, 2025
d762894
clean up white space
peverwhee Oct 21, 2025
6029484
initialize irad value
peverwhee Oct 22, 2025
68fd028
remove h2o from nl source list; move gaslist to nl
peverwhee Oct 23, 2025
215a362
add rrtmgp to cam4 suite but comment it out until we get a working qp…
peverwhee Oct 23, 2025
9e8bf60
remove commented code
peverwhee Oct 23, 2025
7ffd338
Merge remote-tracking branch 'ESCOMP/development' into rrtmgp-diagnos…
peverwhee Oct 23, 2025
87a5214
initialize irad_always_out
peverwhee Oct 23, 2025
e3ab8e8
fix indents
peverwhee Oct 23, 2025
2bd1882
remove temp scheme
peverwhee Oct 23, 2025
b0a79e8
update dimension names
peverwhee Oct 24, 2025
0344b67
fix constituent units
peverwhee Nov 3, 2025
a679332
Fix bugs/error messages found during CAM4 aquaplanet testing.
nusbaume Nov 10, 2025
b0a631e
Always allocate 'we' variable in order to avoid CCPP runtime subsetti…
nusbaume Nov 20, 2025
066614c
merge to head of development
peverwhee Dec 8, 2025
76f3878
use existing rebin functionality
peverwhee Dec 8, 2025
18dc65d
address some review comments
peverwhee Dec 9, 2025
371f333
address further review comments
peverwhee Dec 11, 2025
7209787
fixes to get sima to work
peverwhee Dec 15, 2025
aabfd2f
remove save attribute
peverwhee Dec 15, 2025
5f06efa
Deallocate file_reader at init time if solar forcing is fixed.
nusbaume Dec 17, 2025
884cc26
move all schemes that are needed to calculate wavenumber band limits …
Dec 18, 2025
bc09f55
further review comments; move solar irradiance read to timestep init
peverwhee Dec 18, 2025
02ca994
Merge branch 'rrtmgp-diagnostics' of https://github.com/peverwhee/atm…
peverwhee Dec 18, 2025
4e4c492
Merge remote-tracking branch 'origin/rrtmgp-diagnostics' into rrtmgp-…
Dec 19, 2025
ec1ecbe
merge to head of main
peverwhee Feb 26, 2026
86428f7
fix dimension standard name
peverwhee Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 66 additions & 55 deletions schemes/rrtmgp/rrtmgp_inputs_setup.F90
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,81 @@ module rrtmgp_inputs_setup
implicit none
private

public :: rrtmgp_inputs_setup_register
public :: rrtmgp_inputs_setup_init

contains
!> \section arg_table_rrtmgp_inputs_setup_init Argument Table
!! \htmlinclude rrtmgp_inputs_setup_init.html
!> \section arg_table_rrtmgp_inputs_setup_register Argument Table
!! \htmlinclude rrtmgp_inputs_setup_register.html
!!
subroutine rrtmgp_inputs_setup_init(nswbands, nlwbands, pref_edge, pver, pverp, kdist_sw, &
kdist_lw, qrl, is_first_step, use_rad_dt_cosz, timestep_size, nstep, iradsw, dt_avg, &
irad_always, is_first_restart_step, p_top_for_rrtmgp, nradgas, gasnamelength, current_cal_day, &
ktopcam, ktoprad, nlaycam, sw_low_bounds, sw_high_bounds, idx_sw_diag, idx_nir_diag, &
idx_uv_diag, idx_sw_cloudsim, idx_lw_diag, idx_lw_cloudsim, nswgpts, nlwgpts, changeseed, &
nlay, nlayp, nextsw_cday, band2gpt_sw, irad_always_out, errmsg, errflg)
subroutine rrtmgp_inputs_setup_register(kdist_sw, kdist_lw, nswbands, nlwbands, nswgpts, nlwgpts, &
sw_low_bounds, sw_high_bounds, idx_sw_diag, idx_nir_diag, idx_uv_diag, idx_sw_cloudsim, &
idx_lw_diag, idx_lw_cloudsim, band2gpt_sw, changeseed, errmsg, errflg)
use ccpp_kinds, only: kind_phys
use ccpp_gas_optics_rrtmgp, only: ty_gas_optics_rrtmgp_ccpp
use radiation_utils, only: radiation_utils_init, get_sw_spectral_boundaries_ccpp
use radiation_utils, only: radiation_utils_register, get_sw_spectral_boundaries_ccpp

! Inputs
integer, intent(in) :: nswbands
integer, intent(in) :: nlwbands ! Number of longwave bands
type(ty_gas_optics_rrtmgp_ccpp), intent(in) :: kdist_sw ! Shortwave gas optics object
type(ty_gas_optics_rrtmgp_ccpp), intent(in) :: kdist_lw ! Longwave gas optics object
integer, intent(out) :: nlwgpts ! Number of longwave g-points
integer, intent(out) :: nswgpts ! Number of shortwave g-points
! Indices to specific bands for diagnostic output and COSP input
integer, intent(out) :: idx_sw_diag ! Index of band containing 500-nm wave
integer, intent(out) :: idx_nir_diag ! Index of band containing 1000-nm wave
integer, intent(out) :: idx_uv_diag ! Index of band containing 400-nm wave
integer, intent(out) :: idx_sw_cloudsim ! Index of band for shortwave cosp diagnostics
integer, intent(out) :: idx_lw_diag ! Index of band containing 1000-cm-1 wave (H2O window)
integer, intent(out) :: idx_lw_cloudsim ! Index of band for longwave cosp diagnostics
integer, intent(out) :: changeseed
integer, dimension(:,:), intent(out) :: band2gpt_sw ! Array for converting shortwave band limits to g-points
real(kind_phys), dimension(:), intent(out) :: sw_low_bounds ! Lower bounds of shortwave bands
real(kind_phys), dimension(:), intent(out) :: sw_high_bounds ! Upper bounds of shortwave bands
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
! Local variables
real(kind_phys), target :: wavenumber_low_shortwave(nswbands)
real(kind_phys), target :: wavenumber_high_shortwave(nswbands)
real(kind_phys), target :: wavenumber_low_longwave(nlwbands)
real(kind_phys), target :: wavenumber_high_longwave(nlwbands)

! Set the sw/lw band boundaries in radconstants. Also sets
! indicies of specific bands for diagnostic output and COSP input.
call set_wavenumber_bands(kdist_sw, kdist_lw, nswbands, nlwbands, idx_sw_diag, idx_nir_diag, &
idx_uv_diag, idx_sw_cloudsim, idx_lw_diag, idx_lw_cloudsim, nswgpts, nlwgpts, &
wavenumber_low_shortwave, wavenumber_high_shortwave, wavenumber_low_longwave, &
wavenumber_high_longwave, band2gpt_sw, errmsg, errflg)
if (errflg /= 0) then
return
end if

call radiation_utils_register(nswbands, nlwbands, wavenumber_low_shortwave, wavenumber_high_shortwave, &
wavenumber_low_longwave, wavenumber_high_longwave, errmsg, errflg)
if (errflg /= 0) then
return
end if

! Initialize the SW band boundaries
call get_sw_spectral_boundaries_ccpp(sw_low_bounds, sw_high_bounds, 'cm-1', errmsg, errflg)
if (errflg /= 0) then
return
end if
changeseed = nlwgpts

end subroutine rrtmgp_inputs_setup_register


!> \section arg_table_rrtmgp_inputs_setup_init Argument Table
!! \htmlinclude rrtmgp_inputs_setup_init.html
!!
subroutine rrtmgp_inputs_setup_init(pref_edge, pver, pverp, qrl, is_first_step, &
use_rad_dt_cosz, timestep_size, nstep, iradsw, dt_avg, irad_always, is_first_restart_step, &
p_top_for_rrtmgp, nradgas, gasnamelength, current_cal_day, ktopcam, ktoprad, nlaycam, &
nlay, nlayp, nextsw_cday, irad_always_out, errmsg, errflg)
use ccpp_kinds, only: kind_phys

! Inputs
integer, intent(in) :: nradgas ! Number of radiatively active gases
integer, intent(in) :: pverp ! Number of vertical interfaces
integer, intent(in) :: pver ! Number of vertical layers
Expand All @@ -32,8 +88,6 @@ subroutine rrtmgp_inputs_setup_init(nswbands, nlwbands, pref_edge, pver, pverp,
real(kind_phys), intent(in) :: timestep_size ! Timestep size (s)
real(kind_phys), intent(in) :: current_cal_day ! Current calendar day
real(kind_phys), dimension(:), intent(in) :: pref_edge ! Reference pressures (interfaces) (Pa)
type(ty_gas_optics_rrtmgp_ccpp), intent(in) :: kdist_sw ! Shortwave gas optics object
type(ty_gas_optics_rrtmgp_ccpp), intent(in) :: kdist_lw ! Longwave gas optics object
logical, intent(in) :: is_first_step ! Flag for whether this is the first timestep (.true. = yes)
logical, intent(in) :: is_first_restart_step ! Flag for whether this is the first restart step (.true. = yes)
logical, intent(in) :: use_rad_dt_cosz ! Use adjusted radiation timestep for cosz calculation
Expand All @@ -46,33 +100,14 @@ subroutine rrtmgp_inputs_setup_init(nswbands, nlwbands, pref_edge, pver, pverp,
! or is 1 less than nlay if "extra layer" is used in the radiation calculations
integer, intent(out) :: nlay ! Number of vertical layers in radiation calculation
integer, intent(out) :: nlayp ! Number of vertical interfaces in radiation calculations (nlay + 1)
! Indices to specific bands for diagnostic output and COSP input
integer, intent(out) :: idx_sw_diag ! Index of band containing 500-nm wave
integer, intent(out) :: idx_nir_diag ! Index of band containing 1000-nm wave
integer, intent(out) :: idx_uv_diag ! Index of band containing 400-nm wave
integer, intent(out) :: idx_sw_cloudsim ! Index of band for shortwave cosp diagnostics
integer, intent(out) :: idx_lw_diag ! Index of band containing 1000-cm-1 wave (H2O window)
integer, intent(out) :: idx_lw_cloudsim ! Index of band for longwave cosp diagnostics

integer, intent(out) :: nswgpts ! Number of shortwave g-points
integer, intent(out) :: nlwgpts ! Number of longwave g-points
integer, intent(out) :: changeseed ! Random number seed for mcica longwave
integer, dimension(:,:), intent(out) :: band2gpt_sw ! Array for converting shortwave band limits to g-points
real(kind_phys), intent(out) :: nextsw_cday ! The next calendar day during which the shortwave radiation calculation will be performed
real(kind_phys), dimension(:), intent(out) :: sw_low_bounds ! Lower bounds of shortwave bands
real(kind_phys), dimension(:), intent(out) :: sw_high_bounds ! Upper bounds of shortwave bands
real(kind_phys), dimension(:,:), intent(inout) :: qrl ! Longwave radiative heating
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
integer, intent(out) :: irad_always_out ! Number of time steps to execute radiation continuously
real(kind_phys), intent(out) :: dt_avg ! averaging time interval for zenith angle

! Local variables
real(kind_phys), target :: wavenumber_low_shortwave(nswbands)
real(kind_phys), target :: wavenumber_high_shortwave(nswbands)
real(kind_phys), target :: wavenumber_low_longwave(nlwbands)
real(kind_phys), target :: wavenumber_high_longwave(nlwbands)

! Set error variables
errflg = 0
errmsg = ''
Expand All @@ -98,28 +133,6 @@ subroutine rrtmgp_inputs_setup_init(nswbands, nlwbands, pref_edge, pver, pverp,
nlaycam = nlay
end if

! Set the sw/lw band boundaries in radconstants. Also sets
! indicies of specific bands for diagnostic output and COSP input.
call set_wavenumber_bands(kdist_sw, kdist_lw, nswbands, nlwbands, idx_sw_diag, idx_nir_diag, &
idx_uv_diag, idx_sw_cloudsim, idx_lw_diag, idx_lw_cloudsim, nswgpts, nlwgpts, &
wavenumber_low_shortwave, wavenumber_high_shortwave, wavenumber_low_longwave, &
wavenumber_high_longwave, band2gpt_sw, errmsg, errflg)
if (errflg /= 0) then
return
end if

call radiation_utils_init(nswbands, nlwbands, wavenumber_low_shortwave, wavenumber_high_shortwave, &
wavenumber_low_longwave, wavenumber_high_longwave, errmsg, errflg)
if (errflg /= 0) then
return
end if

! Initialize the SW band boundaries
call get_sw_spectral_boundaries_ccpp(sw_low_bounds, sw_high_bounds, 'cm-1', errmsg, errflg)
if (errflg /= 0) then
return
end if

if (is_first_step) then
qrl = 0._kind_phys
end if
Expand Down Expand Up @@ -149,8 +162,6 @@ subroutine rrtmgp_inputs_setup_init(nswbands, nlwbands, pref_edge, pver, pverp,
nextsw_cday = current_cal_day
end if

changeseed = nlwgpts

end subroutine rrtmgp_inputs_setup_init

!=========================================================================================
Expand Down
188 changes: 103 additions & 85 deletions schemes/rrtmgp/rrtmgp_inputs_setup.meta
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
dependencies = ./utils/radiation_utils.F90

[ccpp-arg-table]
name = rrtmgp_inputs_setup_init
name = rrtmgp_inputs_setup_register
type = scheme
[ nswbands ]
standard_name = number_of_bands_for_shortwave_radiation
Expand All @@ -18,6 +18,108 @@
type = integer
dimensions = ()
intent = in
[ kdist_sw ]
standard_name = shortwave_gas_optics_object_for_RRTMGP
units = none
type = ty_gas_optics_rrtmgp_ccpp
dimensions = ()
intent = in
[ kdist_lw ]
standard_name = longwave_gas_optics_object_for_RRTMGP
units = none
type = ty_gas_optics_rrtmgp_ccpp
dimensions = ()
intent = in
[ sw_low_bounds ]
standard_name = min_shortwave_wavenumber_per_band
units = cm-1
type = real | kind = kind_phys
dimensions = (number_of_bands_for_shortwave_radiation)
intent = out
[ sw_high_bounds ]
standard_name = max_shortwave_wavenumber_per_band
units = cm-1
type = real | kind = kind_phys
dimensions = (number_of_bands_for_shortwave_radiation)
intent = out
[ idx_sw_diag ]
standard_name = index_of_shortwave_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_nir_diag ]
standard_name = index_of_near_IR_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_uv_diag ]
standard_name = index_of_UV_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_sw_cloudsim ]
standard_name = index_of_shortwave_band_for_COSP
units = index
type = integer
dimensions = ()
intent = out
[ idx_lw_diag ]
standard_name = index_of_longwave_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_lw_cloudsim ]
standard_name = index_of_longwave_band_for_COSP
units = index
type = integer
dimensions = ()
intent = out
[ nswgpts ]
standard_name = number_of_shortwave_g_point_intervals
units = count
type = integer
dimensions = ()
intent = out
[ nlwgpts ]
standard_name = number_of_longwave_g_point_intervals
units = count
type = integer
dimensions = ()
intent = out
[ band2gpt_sw ]
standard_name = shortwave_start_and_end_gpoint_for_each_band
units = index
type = integer
dimensions = (constant_dimension_two,number_of_bands_for_shortwave_radiation)
intent = out
[ changeseed ]
standard_name = random_number_seed_for_mcica_longwave
units = 1
type = integer
dimensions = ()
intent = out
[ errmsg ]
standard_name = ccpp_error_message
long_name = Error message for error handling in CCPP
units = none
type = character | kind = len=*
dimensions = ()
intent = out
[ errflg ]
standard_name = ccpp_error_code
long_name = Error flag for error handling in CCPP
units = 1
type = integer
dimensions = ()
intent = out

[ccpp-arg-table]
name = rrtmgp_inputs_setup_init
type = scheme
[ pref_edge ]
standard_name = reference_pressure_at_interface
units = Pa
Expand All @@ -36,18 +138,6 @@
type = integer
dimensions = ()
intent = in
[ kdist_sw ]
standard_name = shortwave_gas_optics_object_for_RRTMGP
units = none
type = ty_gas_optics_rrtmgp_ccpp
dimensions = ()
intent = in
[ kdist_lw ]
standard_name = longwave_gas_optics_object_for_RRTMGP
units = none
type = ty_gas_optics_rrtmgp_ccpp
dimensions = ()
intent = in
[ qrl ]
standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_longwave_radiation_adjusted_by_air_pressure_thickness
units = J Pa kg-1 s-1
Expand Down Expand Up @@ -144,72 +234,6 @@
type = integer
dimensions = ()
intent = out
[ sw_low_bounds ]
standard_name = min_shortwave_wavenumber_per_band
units = cm-1
type = real | kind = kind_phys
dimensions = (number_of_bands_for_shortwave_radiation)
intent = out
[ sw_high_bounds ]
standard_name = max_shortwave_wavenumber_per_band
units = cm-1
type = real | kind = kind_phys
dimensions = (number_of_bands_for_shortwave_radiation)
intent = out
[ idx_sw_diag ]
standard_name = index_of_shortwave_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_nir_diag ]
standard_name = index_of_near_IR_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_uv_diag ]
standard_name = index_of_UV_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_sw_cloudsim ]
standard_name = index_of_shortwave_band_for_COSP
units = index
type = integer
dimensions = ()
intent = out
[ idx_lw_diag ]
standard_name = index_of_longwave_band
units = index
type = integer
dimensions = ()
intent = out
[ idx_lw_cloudsim ]
standard_name = index_of_longwave_band_for_COSP
units = index
type = integer
dimensions = ()
intent = out
[ nswgpts ]
standard_name = number_of_shortwave_g_point_intervals
units = count
type = integer
dimensions = ()
intent = out
[ nlwgpts ]
standard_name = number_of_longwave_g_point_intervals
units = count
type = integer
dimensions = ()
intent = out
[ changeseed ]
standard_name = random_number_seed_for_mcica_longwave
units = 1
type = integer
dimensions = ()
intent = out
[ nlay ]
standard_name = number_of_vertical_layers_in_RRTMGP
units = count
Expand All @@ -228,12 +252,6 @@
type = real | kind = kind_phys
dimensions = ()
intent = out
[ band2gpt_sw ]
standard_name = shortwave_start_and_end_gpoint_for_each_band
units = index
type = integer
dimensions = (constant_dimension_two,number_of_bands_for_shortwave_radiation)
intent = out
[ irad_always_out ]
standard_name = number_of_timesteps_to_force_radiation_calculation_after_initialization
units = count
Expand Down
Loading
Loading