Observation Preprocessing
The goal of this session is to generate the observation input (i.e. the y0 and R shown in the WRFDA flowchart) for running WRFDA. Reference: Download the tutorial presentation
Source code
We recommend running with pre-compiled code, so that you can save some compilation time.
Copy the pre-compiled code to your main working directory (/data1/${USER}/DA), if you have not done so.
WRFDA/var/obsproc/obsproc.exe is the executable that will be used in this session.
Choose your working directory
We recommend running each session in a separate directory, so that it will be easier to check for the necessary input files and look for what output files are created after a successful run.
For this exercise you should create /data1/${USER}/DA/obsproc and use this as your working directory for this session.
Alternatively, WRFDA/var/obsproc can be used as your working directory, but we do not recommend it for these practice cases.
Input data
- observations in little_r format
The first step of observation preprocessing is to prepare observations in little_r format.
For this tutorial, an observation file in little_r format is provided.
For your other applications, you will have to prepare your own observations.
/wrfhelp/DATA/WRFDA/CONUS60/ob/2008020512/obs.2008020512 is the observation file in little_r format.
It is a text file. You can use less to see its contents.
- external observation error table
The external observation error file (obserr.txt) is provided in the WRFDA package under the var/obsproc directory.
Make sure it is present in your obsproc working directory.
ln -fs ${your_source_code_dir}/WRFDA/var/obsproc/obserr.txt ./obserr.txt
- namelist.obsproc
For your reference, an example namelist (namelist.obsproc.3dvar.wrfvar-tut) has been included in the WRFDA package under var/obsproc directory.
Copy and rename the namelist to be namelist.obsproc under your working directory.
cp ${your_source_code_dir}/WRFDA/var/obsproc/namelist.obsproc.3dvar.wrfvar-tut namelist.obsproc
namelist.obsproc contains options to configure the little_r observation file location, domain, time window, etc.
For this tutorial case, the only namelist variable you need to change is the full path and name of the little_r observation file.
vi namelist.obsproc
obs_gts_filename = '/wrfhelp/DATA/WRFDA/CONUS60/ob/2008020512/obs.2008020512'
Run obsproc (obsproc.exe)
${your_source_code_dir}/WRFDA/var/obsproc/obsproc.exe >&! obsproc.log
Check output
Check the log file to see if the run was successful.
A successful run of obsproc should result in lines similar to these near the end of your log file:
Write 3DVAR 3DVAR GTS observations in file obs_gts_2008-02-05_12:00:00.3DVAR (wrfvar version 3.0)
Wrote 30902 lines of data in file: obs_gts_2008-02-05_12:00:00.3DVAR
No SSMI observations available.
99999 |
Look for obs_gts_2008-02-05_12:00:00.3DVAR in your working directory. That is the main output from obsproc. You can open it using the less to check its content.
*.diag are diagnostic files.
HEIGHT.txt, PRES.txt, RH.txt, TEMP.txt, and WIND.txt are observation errors in plain-text format for easy reference.
Graphics
You can use an NCL script, provided at WRFDA/var/graphics/ncl/plot_ob_ascii_loc.ncl, to see the locations of observations contained in obs_gts_2008-02-05_12:00:00.3DVAR
cp ${your_source_code_dir}/WRFDA/var/graphics/ncl/plot_ob_ascii_loc.ncl plot_ob_ascii_loc.ncl
Edit plot_ob_ascii_loc.ncl to provide the date, filenames and options of your case.
......
date = "2008020512"
obfile = "obs_gts_2008-02-05_12:00:00.3DVAR"
fgfile = "/wrfhelp/DATA/WRFDA/CONUS60/rc/2008020512/wrfinput_d01" ; for retrieving mapping info
out_type = "pdf"
plotname = "./obsloc"+date
......
Run the NCL script
ncl plot_ob_ascii_loc.ncl
Look at the plot
display obsloc2008020512.pdf
If you were successful, you can move on to the next practice case!
You can return here later for the advanced practice on observation preprocessing below.
Advanced
- Try preparing observation data for FGAT.
- Try preparing observation data for 4D-VAR.
- Set up any other domain of your interest, or some domains you have used for WRF practice.
Take a look at WRFDA/var/obsproc/README.namelist to get some ideas on setting up your own domain.
|