- delta-scaling
- adding two sets of properties
- extracting subsets along the column dimension
Delta-scale two-stream optical properties given user-provided value of (forward scattering)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | Array sizes |
||
integer, | intent(in) | :: | nlay | Array sizes |
||
integer, | intent(in) | :: | ngpt | Array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol, nlay, ngpt) | :: | tau | Optical depth, single-scattering albedo, asymmetry parameter |
|
real(kind=wp), | intent(inout), | dimension(ncol, nlay, ngpt) | :: | ssa | Optical depth, single-scattering albedo, asymmetry parameter |
|
real(kind=wp), | intent(inout), | dimension(ncol, nlay, ngpt) | :: | g | Optical depth, single-scattering albedo, asymmetry parameter |
|
real(kind=wp), | intent(in), | dimension(ncol, nlay, ngpt) | :: | f | User-provided forward-scattering fraction |
Delta-scale assuming forward-scatternig fraction is the square of the asymmetry parameter i.e.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | Array sizes |
||
integer, | intent(in) | :: | nlay | Array sizes |
||
integer, | intent(in) | :: | ngpt | Array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol, nlay, ngpt) | :: | tau | Optical depth, single-scattering albedo, asymmetry parameter |
|
real(kind=wp), | intent(inout), | dimension(ncol, nlay, ngpt) | :: | ssa | Optical depth, single-scattering albedo, asymmetry parameter |
|
real(kind=wp), | intent(inout), | dimension(ncol, nlay, ngpt) | :: | g | Optical depth, single-scattering albedo, asymmetry parameter |
Extract a subset from the first dimension (normally columns) of a 3D field. Applicable to most variables e.g. tau, ssa, g
Extract the absorption optical thickness
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | Array sizes |
||
integer, | intent(in) | :: | nlay | Array sizes |
||
integer, | intent(in) | :: | ngpt | Array sizes |
||
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau_in | Optical thickness, single scattering albedo |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa_in | Optical thickness, single scattering albedo |
|
integer, | intent(in) | :: | colS | Starting and ending index |
||
integer, | intent(in) | :: | colE | Starting and ending index |
||
real(kind=wp), | intent(out), | dimension(colE-colS+1, nlay,ngpt) | :: | tau_out | absorption optical thickness subset |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | Array sizes |
||
integer, | intent(in) | :: | nlay | Array sizes |
||
integer, | intent(in) | :: | ngpt | Array sizes |
||
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | array_in | Array to subset |
|
integer, | intent(in) | :: | colS | Starting and ending index |
||
integer, | intent(in) | :: | colE | Starting and ending index |
||
real(kind=wp), | intent(out), | dimension(colE-colS+1, nlay,ngpt) | :: | array_out | subset of the input array |
Extract a subset from the second dimension (normally columns) of a 4D field. Applicable to phase function moments, where the first dimension is the moment
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nmom | Array sizes |
||
integer, | intent(in) | :: | ncol | Array sizes |
||
integer, | intent(in) | :: | nlay | Array sizes |
||
integer, | intent(in) | :: | ngpt | Array sizes |
||
real(kind=wp), | intent(in), | dimension(nmom,ncol,nlay,ngpt) | :: | array_in | Array to subset |
|
integer, | intent(in) | :: | colS | Starting and ending index |
||
integer, | intent(in) | :: | colE | Starting and ending index |
||
real(kind=wp), | intent(out), | dimension(nmom,colE-colS+1, nlay,ngpt) | :: | array_out | subset of the input array |
increase one absorption optical depth defined on g-points by a second value defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increase absorption optical depth defined on g-points with extinction optical depth (2-stream form) defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | ssa2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increase absorption optical depth defined on g-points with extinction optical depth (n-stream form) defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | ssa2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increment two-stream optical properties defined on g-points with absorption optical depth defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increment 2-stream optical properties defined on g-points with another set defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | g1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | ssa2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | g2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increment 2-stream optical properties defined on g-points with n-stream properties set defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
integer, | intent(in) | :: | nmom2 | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | g1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | ssa2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(nmom2, ncol,nlay,nbnd) | :: | p2 | moments of the phase function to be added |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increment n-stream optical properties defined on g-points with absorption optical depth defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increment n-stream optical properties defined on g-points with 2-stream properties set defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
integer, | intent(in) | :: | nmom1 | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(nmom1, ncol,nlay,ngpt) | :: | p1 | moments of the phase function be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | ssa2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | g2 | optical properties to be added to original (defined on bands) |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increment n-stream optical properties defined on g-points with a second set defined on bands
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
integer, | intent(in) | :: | nmom1 | array sizes |
||
integer, | intent(in) | :: | nmom2 | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified (defined on g-points) |
|
real(kind=wp), | intent(inout), | dimension(nmom1, ncol,nlay,ngpt) | :: | p1 | moments of the phase function be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | tau2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,nbnd) | :: | ssa2 | optical properties to be added to original (defined on bands) |
|
real(kind=wp), | intent(in), | dimension(nmom2, ncol,nlay,nbnd) | :: | p2 | moments of the phase function to be added |
|
integer, | intent(in) | :: | nbnd | array sizes |
||
integer, | intent(in), | dimension(2,nbnd) | :: | gpt_lims | Starting and ending gpoint for each band |
increase one absorption optical depth by a second value
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
increase absorption optical depth with extinction optical depth (2-stream form)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa2 | optical properties to be added to original |
increase absorption optical depth with extinction optical depth (n-stream form)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa2 | optical properties to be added to original |
increment two-stream optical properties with absorption optical depth
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
increment two-stream optical properties with a second set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | g1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | g2 | optical properties to be added to original |
increment two-stream optical properties with n-stream
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
integer, | intent(in) | :: | nmom2 | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | g1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(nmom2, ncol,nlay,ngpt) | :: | p2 | moments of the phase function to be added |
increment n-stream optical properties with absorption optical depth
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
increment n-stream optical properties with two-stream values
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
integer, | intent(in) | :: | nmom1 | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(nmom1, ncol,nlay,ngpt) | :: | p1 | moments of the phase function be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | g2 | optical properties to be added to original |
increment one set of n-stream optical properties with another set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ncol | array sizes |
||
integer, | intent(in) | :: | nlay | array sizes |
||
integer, | intent(in) | :: | ngpt | array sizes |
||
integer, | intent(in) | :: | nmom1 | array sizes |
||
integer, | intent(in) | :: | nmom2 | array sizes |
||
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | tau1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(ncol,nlay,ngpt) | :: | ssa1 | optical properties to be modified |
|
real(kind=wp), | intent(inout), | dimension(nmom1, ncol,nlay,ngpt) | :: | p1 | moments of the phase function be modified |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | tau2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(ncol,nlay,ngpt) | :: | ssa2 | optical properties to be added to original |
|
real(kind=wp), | intent(in), | dimension(nmom2, ncol,nlay,ngpt) | :: | p2 | moments of the phase function to be added |