PROGRAM wrf_dart_obs_preprocess
¶
Overview¶
Program to preprocess observations, with specific knowledge of the WRF domain.
This program will exclude all observations outside of the given WRF domain. There are options to exclude or increase the error values of obs close to the domain boundaries. The program can superob (average) aircraft and satellite wind obs if they are too dense.
This program can read up to 9 additional obs_seq files and merge their data in with the basic obs_sequence file which is the main input.
This program can reject surface observations if the elevation encoded in the observation is too different from the wrf surface elevation.
This program can exclude observations above a specified height or pressure.
This program can overwrite the incoming Data QC value with another.
Namelist¶
This namelist is read from the file input.nml
. Namelists start with an ampersand ‘&’ and terminate with a slash ‘/’.
Character strings that contain a ‘/’ must be enclosed in quotes to prevent them from prematurely terminating the
namelist.
&wrf_obs_preproc_nml
file_name_input = 'obs_seq.old'
file_name_output = 'obs_seq.new'
sonde_extra = 'obs_seq.rawin'
land_sfc_extra = 'obs_seq.land_sfc'
metar_extra = 'obs_seq.metar'
marine_sfc_extra = 'obs_seq.marine'
sat_wind_extra = 'obs_seq.satwnd'
profiler_extra = 'obs_seq.profiler'
gpsro_extra = 'obs_seq.gpsro'
acars_extra = 'obs_seq.acars'
trop_cyclone_extra = 'obs_seq.tc'
overwrite_obs_time = .false.
obs_boundary = 0.0
increase_bdy_error = .false.
maxobsfac = 2.5
obsdistbdy = 15.0
sfc_elevation_check = .false.
sfc_elevation_tol = 300.0
obs_pressure_top = 0.0
obs_height_top = 2.0e10
include_sig_data = .true.
tc_sonde_radii = -1.0
superob_aircraft = .false.
aircraft_horiz_int = 36.0
aircraft_pres_int = 2500.0
superob_sat_winds = .false.
sat_wind_horiz_int = 100.0
sat_wind_pres_int = 2500.0
overwrite_ncep_satwnd_qc = .false.
overwrite_ncep_sfc_qc = .false.
/
Item
Type
Description
Generic parameters:
file_name_input
character(len=129)
The input obs_seq file.
file_name_output
character(len=129)
The output obs_seq file.
sonde_extra, land_sfc_extra, metar_extra, marine_sfc_extra, marine_sfc_extra, sat_wind_extra, profiler_extra, gpsro_extra, acars_extra, trop_cyclone_extra
character(len=129)
The names of additional input obs_seq files, which if they exist, will be merged in with the obs from the
file_name_input
obs_seq file. If the files do not exist, they are silently ignored without error.
overwrite_obs_time
logical
If true, replace the incoming observation time with the analysis time. Not recommended.
Boundary-specific parameters:
obs_boundary
real(r8)
Number of grid points around domain boundary which will be considered the new extent of the domain. Observations outside this smaller area will be excluded.
increase_bdy_error
logical
If true, observations near the domain boundary will have their observation error increased by maxobsfac
.
maxobsfac
real(r8)
If increase_bdy_error
is true, multiply the error by a ramped factor. This item sets the maximum error.
obsdistbdy
real(r8)
If increase_bdy_error
is true, this defines the region around the boundary (in number of grid points) where the
observation error values will be altered. This is ramped, so when you reach the innermost points the change in
observation error is 0.0.
Parameters to reduce observation count :
sfc_elevation_check
logical
If true, check the height of surface observations against the surface height in the model.
sfc_elevation_tol
real(r8)
If sfc_elevation_check
is true, the maximum difference between the elevation of a surface observation and the model
surface height, in meters. If the difference is larger than this value, the observation is excluded.
obs_pressure_top
real(r8)
Observations with a vertical coordinate in pressure which are located above this pressure level (i.e. the obs vertical value is smaller than the given pressure) will be excluded.
obs_height_top
real(r8)
Observations with a vertical coordinate in height which are located above this height value (i.e. the obs vertical value is larger than the given height) will be excluded.
Radio/Rawinsonde-specific parameters :
include_sig_data
logical
If true, include significant level data from radiosondes.
tc_sonde_radii
real(r8)
If greater than 0.0 remove any sonde observations closer than this distance in Kilometers to the center of a Tropical Cyclone.
Aircraft-specific parameters :
superob_aircraft
logical
If true, average all aircraft observations within the given radius and output only a single observation. Any observation that is used in computing a superob observation is removed from the list and is not used in any other superob computation.
aircraft_horiz_int
real(r8)
If superob_aircraft
is true, the horizontal distance in Kilometers which defines the superob area. All other unused
aircraft observations within this radius will be averaged with the current observation.
aircraft_vert_int
real(r8)
If superob_aircraft
is true, the vertical distance in Pascals which defines the maximum separation for including an
observation in the superob computation.
Satellite Wind-specific parameters :
superob_sat_winds
logical
If true, average all sat_wind observations within the given radius and output only a single observation. Any observation that is used in computing a superob observation is removed from the list and is not used in any other superob computation.
sat_wind_horiz_int
real(r8)
If superob_sat_winds
is true, the horizontal distance in Kilometers which defines the superob area. All other unused
sat_wind observations within this radius will be averaged with the current observation.
sat_wind_vert_int
real(r8)
If superob_sat_winds
is true, the vertical distance in Pascals which defines the maximum separation for including an
observation in the superob computation.
overwrite_ncep_satwnd_qc
logical
If true, replace the incoming Data QC value in satellite wind observations with 2.0.
Surface Observation-specific parameters :
overwrite_ncep_sfc_qc
logical
If true, replace the incoming Data QC value in surface observations with 2.0.
Modules used¶
types_mod
obs_sequence_mod
utilities_mod
obs_kind_mod
time_manager_mod
model_mod
netcdf
Files¶
Input namelist ;
input.nml
Input WRF state netCDF files;
wrfinput_d01, wrfinput_d02, ...
Input obs_seq files (as specified in namelist)
Output obs_seq file (as specified in namelist)
File formats¶
This utility can read one or more obs_seq files and combine them while doing the rest of the processing. It uses the standard DART observation sequence file format.
References¶
Generously contributed by Ryan Torn.