MODULE obs_def_radar_mod
Contact: | Jeff Anderson |
Reviewers: | |
Revision: | $Revision: 1.1 $ |
Release Name: | $Name: $ |
Change Date: | $Date: 2005/09/28 22:13:07 $ |
Change history: | see CVS log |
OVERVIEW
Provides subroutines to calculate radar radial velocity and reflectivity from model variables.
OTHER MODULES USED
types_mod
utilities_mod
location_mod (most likely threed_sphere)
assim_model_mod
obs_kind_mod
PUBLIC INTERFACE
PUBLIC COMPONENTS
call write_rad_vel(key, ifile[, fform])
integer, intent(in) :: key
integer, intent(in) :: ifile
character(len=*), optional, intent(in) :: fform
Description
Writes the obs definition part required for radial velocity.
key |
Unique identifier associated to this radial velocity observation |
ifile |
File unit open to output file |
fform |
File format specifier: FORMATTED or UNFORMATTED; default FORMATTED |
call read_rad_vel(key, ifile[, fform])
integer, intent(in) :: key
integer, intent(in) :: ifile
character(len=*), optional, intent(in) :: fform
Description
Read companion of write_rad_vel.
key |
Unique identifier associated to this radial velocity observation |
ifile |
File unit open to output file |
fform |
File format specifier: FORMATTED or UNFORMATTED; default FORMATTED |
call set_rad_vel(key, location, orientation)
integer, intent(in) :: key
type(location_type), intent(in) :: location
real(r8), intent(in) :: orientation
Description
Set the radar location and the orientation of the radar beam at the observation location in the private arrays of the module.
key |
Unique identifier associated to this radial velocity observation |
location |
Radar location |
orientation |
Orientation of the radar beam at the observation location |
call interactive_rad_vel(key)
integer, intent(in) :: key
Description
Initializes the specialized part of a radial velocity observation from information provided interactively by the user. Not yet implemented.
key |
Unique identifier associated to this radial velocity observation |
call get_expected_rad_vel(state_vector, location, key, vr, istatus)
real(r8), intent(in) :: state_vector(:)
type(location_type), intent(in) :: location
integer, intent(in) :: key
real(r8), intent(out) :: vr
integer, intent(out) :: istatus
Description
Calculates the radial velocity (m/s).
state_vector |
A one dimensional representation of the model state vector |
location |
Location of this obs |
key |
Unique identifier associated to this radial velocity observation |
vr |
The returned radial velocity value |
istatus |
Returned integer describing problems with applying
forward operator |
call get_expected_rad_ref(state_vector, location, ref, istatus)
real(r8), intent(in) :: state_vector(:)
type(location_type), intent(in) :: location
real(r8), intent(out) :: ref
integer, intent(out) :: istatus
Description
Calculates the radar reflectivity (dBZ), where Z (mm^6 m^-3).
state_vector |
A one dimensional representation of the model state vector |
location |
Location of this obs |
vr |
The returned radar reflectivity value |
istatus |
Returned integer describing problems with applying
forward operator |
PRIVATE COMPONENTS
call get_reflectivity(qr, qg, qs, rho, temp, ref)
real(r8), intent(in) :: qr
real(r8), intent(in) :: qg
real(r8), intent(in) :: qs
real(r8), intent(in) :: rho
real(r8), intent(in) :: temp
real(r8), intent(out) :: ref
Description
Calculates the radar reflectivity Z (mm^6 m^-3).
qr |
Rain water content (kg kg^-1) |
qg |
Graupel/hail content (kg kg^-1) |
qs |
Snow content (kg kg^-1) |
rho |
Air density (kg m^-3) |
temp |
Air temperature (K) |
ref |
The returned radar reflectivity value |
call write_orientation(ifile, orientation[, fform])
integer, intent(in) :: ifile
real(r8), intent(in) :: orientation(3)
character(len=*), optional, intent(in) :: fform
Description
Writes the orientation required for radial velocity.
ifile |
File unit open to output file |
orientation |
Three components of the velocity orientation |
fform |
File format specifier: FORMATTED or UNFORMATTED; default FORMATTED |
orientation = read_orientation(ifile[, fform])
integer, intent(in) :: ifile
character(len=*), optional, intent(in) :: fform
Description
Reads orientation from file that was written by write_orientation.
ifile |
File unit open to output file |
fform |
File format specifier: FORMATTED or UNFORMATTED; default FORMATTED |
FILES
REFERENCES
- Battan, L. J., 1973: Radar Observation of the Atmosphere. Univ. of Chicago Press, 324 pp.
- Doviak, R. J., and D. S. Zrnic, 1993: Doppler Radar and Weather Observations. Academic Press, 562 pp.
- Ferrier, B. S., 1994: A double-moment multiple-phase four-class bulk ice scheme. Part I: Description. J. Atmos. Sci., 51, 249-280.
- Lin, Y.-L., Farley R. D., and H. D. Orville, 1983: Bulk parameterization of the snow field in a cloud model. J. Climate Appl. Meteor., 22, 1065-1092.
- Smith, P. L. Jr., 1984: Equivalent radar reflectivity factors for snow and ice particles. J. Climate Appl. Meteor., 23, 1258-1260.
- Smith, P. L. Jr., Myers C. G., and H. D. Orville, 1975: Radar reflectivity factor calculations in numerical cloud models using bulk parameterization of precipitation. J. Appl. Meteor., 14, 1156-1165.
ERROR CODES and CONDITIONS
Routine | Message | Comment |
read_rad_vel |
Expected location header "platform" in input file |
The format of the input file is not consistent. |
read_rad_vel
set_rad_vel |
'key (',key,') exceed max_rad_vel_obs (',max_rad_vel_obs,')' |
The number of radial velocity observations exceeds the array size set in the module. The module has to be edited and recompiled. |
read_orientation |
Expected orientation header "dir3d" in input file |
The format of the input file is not consistent. |
KNOWN BUGS
FUTURE PLANS