Contact: | Tim Hoar |
Reviewers: | |
Revision: | $Revision: 1.1 $ |
Release Name: | $Name: post_iceland $ |
Change Date: | $Date: 2005/10/19 05:49:34 $ |
Change history: | see CVS log |
Programs to convert littler data files into DART observation sequence files, and vice versa. The capability of the program is limited to wind and temperature from radiosondes.
The littler data files do not contain observation errors. The observation errors are in a separate file called obserr.txt. The littler file generated here has to be preprocessed by the program 3dvar_obs.exe before beeing ingested in the WRF 3D-Var system.
types_mod obs_sequence_mod obs_def_mod obs_kind_mod location/threed_sphere/location_mod time_manager_mod utilities_mod
assim_model_mod models/wrf/model_mod models/wrf/module_map_utils random_seq_mod random_nr_mod
The program does not have its own namelist. However, an input.nml file is required for the modules used by the program.
Routine | Message | Comment |
---|---|---|
littler_tf_dart | Did not get all obs | There is observation before dart time (0, 0) or beyond day 200000 in the Gregorian calendar in the obs_seq.out file. |
littler_tf_dart | No vertical coordinate. | Only vertical pressure coordinate is supported. |
littler_tf_dart | Error when reading or writing header of sounding. | Problem with littler file. |
littler_tf_dart | Error when reading or writing sounding. | Problem with littler file. |
littler_tf_dart | Error when reading or writing footer of the sounding. | Problem with littler file. |
intplin, intplog | arrays xx and yy must have same size | Each x value needs a corresponding y value. |
intplin, intplog | bad value in yy | It is assumed that the input yy contains rms errors and should not be negative. That should be traced back to the file obserr.txt. |
type(time_type), intent(in) :: dart_time character(len=20), intent(out) :: timestring
Given a dart_time (seconds, days), returns date as bbbbbbyyyymmddhhmmss, where b is a blank space.
character(len=20), intent(in) :: tstring type(time_type), intent(out) :: dart_time
Given a date as bbbbbbyyyymmddhhmmss, where b is a blank space, returns the dart_time (seconds, days).
integer, intent(in) :: nlev, pres real(r8), intent(in) :: obs_err_var integer, intent(in) :: plevel(nlev) real(r8), intent(inout) :: obs_err_std(nlev)
If the incoming pres corresponds exactly to a pressure level in plevel, then transfers the incoming obs_err_var into the array obs_err_std at the corresponding level.
integer, intent(in) :: nlev, ilev integer, intent(in) :: vlev(nlev)
Returns the index of the closest level in vlev to the incoming ilev.
CHARACTER (LEN=80), intent(in) :: filein CHARACTER (LEN=80), intent(in) :: platform CHARACTER (LEN=80), intent(in :: sensor_name INTEGER, intent(in) :: nlevels REAL(r8), intent(out) :: err(nlevels)
Read observational error on pressure levels (in hPa) from the incoming filein and store the result in the array err. It is assumed that filein has the same format as WRF 3D-Var obserr.txt file. It reads observational error for a specific platform (e.g. RAOBS) and a specific sensor (e.g. WIND SENSOR ERRORS).
CHARACTER (LEN= 80), intent(in) :: line
Read in a line the string present after keyword 'BOGUS', which should be the sensor name.
CHARACTER (LEN= 80), intent(in) :: line
Read in a line the string present after numbers, which should be the platform name.
INTEGER, DIMENSION (:), intent(in) :: xx REAL(r8), DIMENSION (:), intent(in) :: yy REAL(r8), intent(in) :: x
Do a linear interpolation.
INTEGER, DIMENSION (:), intent(in) :: xx REAL(r8), DIMENSION (:), intent(in) :: yy REAL(r8), intent(in) :: x
Do a log-linear interpolation.
INTEGER, DIMENSION (:), intent(in) :: xx REAL(r8), intent(in) :: x
Return the index in xx such that xx(index) < x < xx(index+1).