Updated for Version 3.1 release. Mar 17 2009 1, rename 3dvar_obs.F90 to obsproc.F90. 2, rename 3dvar_obs.exe to obsproc.exe. 3, rename namelist.3dvar_obs.wrfvar-tut to namelist.obsproc.wrfvar-tut. 4, remove some unnecessary files only for development team internal use only. 5, update README and README.namelist Updated Makefile to support more compilers. Mar 5 2009 1, to compile, add compiler choice in the make command line, for example, make FC="pgf90" make FC="ifort" # for Linux only make FC="gfortran" # for Linux only make FC="g95" # for Mac only Updated by Y.-R. Guo, 7 May 2008 1, To correct the "0 obs" ascii output file writing Modified: src/module_write.F90 Updated by Y.-R. Guo, 28 March 2008 1, Improve the printing, change "print *," to be "write(0," Modified: src/module_map_utils.F90 src/module_decoded.F90 src/module_err_afwa.F90 2, Plot only one set of the obs distribution maps Modified MAP_plot/Dir_map/Map.F MAP_plot/Dir_map/plstn1.F 3, Added the function to write out the obs files for use of 3DVAR, FGAT, and 4DVAR For 3DVAR, the obs within slot [time_window_min, time_window_max) are outputted. no time duplicate obs; . For FGAT, the obs files for multiple time slots are outputted. each of the time slots has the closed low bound and opened upper bound. Within the whole time window, no time- duplicate obs allowed; For 4DVAR, same as FGAT but there may be time-duplicate obs within the whole time window. Within each of time slots,however, no time-duplicate obs allowed. * The opened upper-bound is important for the cycling run to avoid the duplicated usage of the observations in the different cycles. * The number of time-slots before and after analysis time could be different (i.e.asymetric). However, the number of the time-slots before the analysis time MUST BE >= 1 for FGAT or 4DVAR. * Currently the lengths for all of the time-slots are considered to be same. * Note: the current MAX_OB_RANGE in scripts is ONLY allowed to be integer (hours), and the entir time window = 2 * MAX_OB_RANGE, must be the even numbers (hours). So for 6-h cycling run (MAX_OB_RANGE=3), the time window for obsproc is correct, but for a 3-h cycling run, the time window for obsproc will not be correct. Modified src/3dvar_obs.F90 src/module_namelist.F90 src/module_write.F90 src/module_duplicate.F90 4, Introduced the switches to control the specific types of obs in the obs_gts (ASCII) files. This is mostly for testing purpose. Modified src/3dvar_obs.F90 src/module_namelist.F90 Updated by Y.-R. Guo, 31 January 2008 1) Bug fix in module_recoverh.F90 --> SUBROUTINE recover_h_from_ptq(P,T,Q,HGT,KXS,K_START,K_TOP) it must be processed separately when k >= kxs under k_start == 0. 2) Add the limitation on iproj setting in module_namelist.F90 modified codes: src/module_namelist.F90 src/module_recoverh.F90 and README Updated by Y.-R. Guo, 10 May 2007 1) To make the namelist variables in record6 more understandable: ps0 --> base_pres ts0 --> base_temp tlp --> base_lapse and pis0 --> base_tropo_pres tis0 --> base_start_temp. 2) To maintain the backward compatible, users could either set a set of variable names: ts0, ps0, tlp, and tis0, pis0 or set a set of variable names: base_temp, base_pres, base_lapse, and base_start_temp.base_tropo_pres Both of the settings are giving the exactly same results. 3) Note: In most cases, pis0, tis0 or base_start_temp, base_tropo_pres. do not need to set in namelist file. The default values are OK. 4) Modified subroutines src/module_mm5.F90 src/module_namelist.F90 src/module_write.F90 README README.namelist namelist.3dvar_obs.sample1 namelist.3dvar_obs.wrfvar-tut Updated by Y.-R. Guo, 12 April 2007 Modified the functions Ref_height and Ref_pres in order to consider the more accurate reference state in stratosphere. The tropopause pressure (default=20000.0 Pa) and the isothermal temperature above tropopause (default = 215 K) are introduced into the "namelist.3dvar_obs" file. As the model top level became high and high, 1000 Pa, even 100 Pa, the accurate reference state must be provided in the OBSPROC to do the gross quality control, recover the pressure or height, etc. The codes are modified" 3DVAR_OBSPROC/src/3dvar_obs.F90 3DVAR_OBSPROC/src/module_mm5.F90 3DVAR_OBSPROC/src/module_namelist.F90 3DVAR_OBSPROC/src/module_write.F90 Updated by Y.-R. Guo, 22 March 2007 Jim Bresch found the variable, m_miss, not initiated to be zero in 3DVAR_OBSPROC/src/module_decoded.F90 Added "m_miss = 0" in this code. Updated by Y.-R. Guo, 5 February 2007 To move the elevation missing check after the domain and time-window screen in 3DVAR_OBSPROC/src/module_decoded.F90, and the printing stuff reduced. Updated by Y.-R. Guo, 1 February 2007 1, Removed the line: $(RANLIB) $(LIBDIR)$(FDVARLIB) in MAP_plot/Dir_map/Makefile and MAP_plot/Dir_map/Skewt/Makefile The Error in compiling Map.exe will disappeared. 2, Modified the MAP_plot/configure.user.ibm A -O2 option added to FCFLAGS. Otherwise, Map.exe does not work properly in bluevista. (This is happened in compiling the wrfvar code too). Updated by Y.-R. Guo, 20 January 2007 Hui-Chuan encountered the segmentation error with 2007010418 and 2007010812 obs (Jim Brsch) data in check_duplicate_loc. The code is rather complicated during the check duplication and data merging together. I found that the logic is not correct when the "first" coming report has a "0 level data record". Because the code is used the pointer/link structure, it takes me 3 days to fix the module: module_obs_merge.F90 Updated by Y.-R. Guo, 28 November 2006 1, g95 compiler in Mac is added: mak mac_g95 2, Remove the redundant codes subroutine local in module_qc.F90 AA = (PMAX - PMSL) / LOG (NTOP/NBOT) in module_err_afwa.F90 3, Added the AIRS plotting to MAP_plot Updated by Y.-R. Guo, 10 November 2006 1, Added the GPS RO excess phase processing (GPSEP) GPS RO Refractivity observation error specification is updated (Chen and Kuo 2005). The GPS RO little_r file is from the bufr decoder program. The data contain the height, lat, lon, impact parameter, azimuth angle, bending angle, refractivity. 2, Reviewed the AIRS data processing p-h gross check should be done, not skept over by Rizvi's mod. 3, Note that AIRS and GPSEP are not includeed in prebufr output data yet. More work needed for this. Modifications: M README M namelist.3dvar_obs.wrfvar-tut M src/3dvar_obs.F90 M src/fm_decoder.F90 M src/module_complete.F90 M src/module_decoded.F90 M src/module_diagnostics.F90 M src/module_duplicate.F90 M src/module_err_afwa.F90 M src/module_err_ncep.F90 M src/module_per_type.F90 M src/module_qc.F90 M src/module_recoverh.F90 M src/module_recoverp.F90 M src/module_sort.F90 M src/module_write.F90 M src/platform_interface.inc M src/sort_platform.F90 Updated by Y.=R. Guo, 29 September 2006 1, Added the system library SYSLIB=-lSystemStubs for Mac xlf. 2, Mercator map projection bug fix. Updated by Y.-R. Guo, 27 April 2006 Added the directory: kmabufr_to_littler, in which the kma bufr format observations are converted to the little_r format observations. Updated by Y.-R. Guo, 13 April 2006 Incorporated the Jim Bresch's changes in preparing the release to KMA. 3DVAR_OBSPROC/Makefile 3DVAR_OBSPROC/lib/cwordsh/README_cwordsh 3DVAR_OBSPROC/lib/cwordsh/Makefile 3DVAR_OBSPROC/lib/cwordsh/cwordsh.f 3DVAR_OBSPROC/lib/cwordsh/cwordsh.sh 3DVAR_OBSPROC/lib/Makefile 3DVAR_OBSPROC/lib/ncep/Makefile 3DVAR_OBSPROC/src/module_decoded.F90 3DVAR_OBSPROC/MAP_plot/Map.csh 3DVAR_OBSPROC/README Updated by Y.-R. Guo, 6 March 2006 1, This version of 3DVAR_OBSPROC code included the prebufr OBS file output (see README.namelist), special for KMA 2005 project. What are changed by Jim Bresch and Jim Drake? see below: Updated by Jim Bresch, 1 February 2006 -------------------------------------- Completed prepbufr code. Added NCEP's bufrlib to the directory. Numerous changes to source code and Makefiles. Updated by Jim Drake, 20 Oct 2005 --------------------------------- Modified to add PREPBUFR processing of surface observation types: 3DVAR_OBSPROC/README 3DVAR_OBSPROC/README.namelist 3DVAR_OBSPROC/Makefile (for faster builds) 3DVAR_OBSPROC/little_r (only FM-13 and FM-15 because that's all AFWA puts out right now. Tested with FM-12 and FM-18 too). 3DVAR_OBSPROC/namelist.3dvar_obs 3DVAR_OBSPROC/src/Makefile (for faster builds) 3DVAR_OBSPROC/src/3dvar_obs.F90 3DVAR_OBSPROC/src/module_write.F90 For architectures other than IBM the macro LDFLAGS will need adjusting, and the macro LOCAL_LIBRARIES needs to be pointed at the BUFRLIB library, (cf. 3DVAR_OBSPROC/Makefile). On AFWA IBM's, set the environment variable OBJECT_MODE to 64 in order to build. 3DVAR_OBSPROC puts out a warning for some deficiency in some of the observations as they are read in that I haven't pursued. 2,In general, this version of 3DVAR_OBSPROC code can be applied to write out both the ASCII and prebufr 3dvar_OBS files. Only restriction is the number of vertical levels to 190. If users expect the number of vertical levels > 190, such as GPS Ref from COSMIC/CDDAC, you should use a earlier version of 3DVAR_OBSPROC code obtained by cvs -d bay-mmm:/data3/mp/wrfvar co -r V2_11 3DVAR_OBSPROC Updated by Y.-R. Guo, 20 February 2006 AFWA found a "STOP" problem with SOUND data in Sub. reorder in module module_recoverh.F90 because the pressure is missing at some levels. The problem is existed in module module_recoverp.F90 that at certain bottom levels, the pressure was not retrieved. Two modules are modified. Updated by Y.-R. Guo, 2 February 2006 Jim Bresch found that all sea surface wind speed from SSMI became missing. However, I checked the old file: t1a_obs_ssmi_retrieval.02110418.3dvar, the wind speed is OK. This was caused by "meaningless wind check" added on 04/27/2004. Actually, for SSMI, this check should be skept over. Also I found the the quality index for SSMI PW became "4" --- error specified. It may be better to keep it to be "0" as before. Updated by Y.-R. Guo, 17 January 2006 1, with CWB 2003090312Z obs data: PILOT --> FM-32, ID=48698, 1.370, 103.980, the "dead-loop" occurred in module_recoverh.F90 The bugs in re-assign the negative values to the HGT%qc in subroutine recover_h_from_ptq are found: HGT(k-1)%qc = - HGT(k-1)%qc should be if (HGT(k-1)%qc>0) HGT(k-1)%qc = - HGT(k-1)%qc Updated by Y.-R. Guo, 25 October 2005 1, CWB (Hi-Chuan Lin) found the dead-loop with the data pilot2005081800.problem.r in module_recoverh.F90. The bug corrected in module: pilot2005081800.problem.r 2, Occasionally found 3DVAR_OBSPROC is not working properly in MMM Dec alpha machine. 3, For AMD Opteron Processor 848 (x86_64), the module: module_sort.F90 must have a statement such as: write(1001,'("In RECURSIVE SUBROUTINE merge_sort: high and low:",2i10)') high, low modified code: module_diagnostics.F90 module_err_afwa.F90 module_recoverp.F90 --- to guarantee the pressure is retrieved at all levels. module_recoverh.F90 --- the "STOP" statement commented, instead, if the "STOP" condition happened, that SOUND will be discarded. module_sort.F90 --- special for AMD Opteron Updated by Y.-R. Guo, 23 September 2005 1, For Mercator projection (Hurrican Rita), 3DVAR_OBSPROC/src/map_utils should be corrected to obtain the correct (x,y) from lat/lon; 2, When the projection is "LC" with TRUELAT1=TRUELAT2 and "ME", plotting MAP is not working properly. 3DVAR_OBSPROC/MAP_plot/Dir_map/setup.F is modified. Modified: 3DVAR_OBSPROC/src/map_utils.F90 3DVAR_OBSPROC/MAP_plot/Dir_map/setup.F Updated by Yong-Run Guo, 31 May 2005 To make the 3DVAR_OBSPROC working in Mac G5. Modified: 3DVAR_OBSPROC/README 3DVAR_OBSPROC/Makefile 3DVAR_OBSPROC/MAP_plot/Makefile Added: 3DVAR_OBSPROC/MAP_plot/configure.user.mac 3DVAR_OBSPROC/MAP_plot/mac_Makefile1 3DVAR_OBSPROC/MAP_plot/mac_Makefile2 Updated by Yong-Run Guo, 22 April 2005 Rizvi added code to module_decoded.F90 for MODIS obs: "FM-88 MODIS". Also file: namelist.3dvar_obs.AMPS is updated. Updated by Yong-Run Guo, 3 February, 2005 1, For application to the Polar Stereographic map projection, the calculation of (i,j) from latlon or latlon from (i,j) are different from the Lambert Conformal projection. In Lambert projection, it is always (1,1) from the (lat1,lon1), no matter what knowni, knowj given. So if (lat1,lon1) were assigned by the cen_lat and cen_lon, the computed (i,j) must have the correction with the knowi and knowj. In PolarStereographic projection, when (lat1,lon1)=(cen_lat,cen_lon), the (i,j) = (knowi,knowj). module_map_utils.F90 2, Conversion of the WRF domain configuration to MM5 domain configuration module_namelist.F90 3, For projection 'ST', it is always confac = 0.0, not need to call lccone. in MAP_plot/Dir_map/plots.F. Otherwise, there is a floating point error when abs(fsplat)=90.0 MAP_plot/Dir_map/plots.F Updated by Yong-Run Guo, January 11, 2005 1, For correctly computing the model coordinates, especially with lat=-90.0 when truelat1>0 or 90.0 when truelat1<0. module_namelist.F90 module_decoded.F90 2, One more data type: Bogus soundings for tropical cyclone is added FM=135 and platform='BOGUS' module_per_type.F90 module_complete.F90 module_duplicate.F90 module_qc.F90 module_write.F90 platform_interface.inc fm_decoder.F90 module_decoded.F90 3dvar_obs.F90 sort_platform.F90 U/V errors (m/s) are specified in the fields u%data.v%data in little_r file. SLP error (Pa) is specified in the field psfc%data in little_r file. module_err_afwa.F90 In order to keep the data (U,V)=0.0 at the center of Typhoon, the 'diagnostics_wind' procedure is skept over. module_diagnostics.F90 ------------------------------------------------------------------------------ Updated by Yong-Run Guo, November 11, 2004 1, Added the WRF application option (fg_format='WRF') and the module: module_map_utils.F90 for model coordinate (X,Y) calculation. 2, Removed those GPS related modules: module_gpspw.F90 module_gpspw_caa.F9 module_gpspw_gst.F90 because they are never used in the program 3, The file namelist.3dvar_obs is changed (see README.namelist). ----------------------------------------------------------------------------- Updated by Yong-Run Guo, September 2, 2004 1, Indian visitors found that time duplicate check is not working properly, not retaining the observation closest to the analysis time. Rizvi worked with them to correct the "module_duplicate.F90". Y.-R. Guo reveiwed it, and included the GPS Ref. in this module. 2, SHU-YA CHEN, Central University, Taiwan, found compiling failed in PC Linux with cpp flag -DBKG. Y.-R. Guo corrected the bug in setup.F90. There is no problem without cpp flag -DBKG, so not affect AFWA, KMA. 3, Code changed src/module_duplicate.F90 src/setup.F90 src/3dvar_obs.F90 ----------------------------------------------------------------------------- Updated by Yong-Run Guo, July 29, 2004 Problem: With AFWA obs data file:" 04072306.3DVAR", the job stopped. Fix : 1) To commented the STOP in 3DVAR_OBSPROC/src/error_handler.F90; 2) To discarded the OBS with the fatal errors, if any, in 3DVAR_OBSPROC/src/module_qc.F90; 3) To add the hydrostatic check for the reported height in 3DVAR_OBSPROC/src/module_recoverh.F90: If (abs(Hd - Ho) > 0.10*Hd), use Hd to replace the Ho. where Hd is the computed height from the (P,T,q) based on the hydrostatic equation. Ho is the reported height. ---------------------------------------------------------------------------- Updated by Yong-Run Guo, July 21, 2004 I, Main points in this update 1, The GPS Refeacrivity is included. The Refractivity N has the WMO code = 116, and the field 'dew_point' is used to store the refrectivity N. This will minimize the code changes. Currently, only the local OBS operator is used in 3DVAR, so N is the only observation data. The observation errors are assigned as error = nbot*exp ( (pres-pmsl)/aa ) where nbot = 10, ntop = 3, pmax = 1000, pmls = 100000, aa = (pmax-pmls) / log(ntop/nbot), and pres is the pressure at the observed level. Reference Huang, C.-Y., Y.-H. Kuo, S.-H. Chen, and F. Vandenberghe, 2004: Improvements in Typhoon Forecasting with Assimilated GPS Occultation Refractivity. (Submitted to Mon. Wea. Rev.) 2, For KMA Global unified 3DVAR system, one more namelist vaviable added: &record4 domain_check_h = .false., domain_check_h=.false. -- ignore the outside domain check for global 3DVAR. domain_check_h=.true. -- do the outside domain check for regional 3DVAR. Note: when running for Global OBS processing, you MUST delete the option -DBKG in Makefile and use the namelist.3dvar_obs.template1 because there is no Background file available. 3, Modified the 'above_top` check by using 'ptop' instead of hlid &record4 remove_above_lid = .true., remove_above_lid=.false. -- keep the data at all the levels. remove_above_lid=.true. -- discard the data at the levels above ptop. 4, In order to plot a global coverage map background, one more value, 0, in addition to 1 (LAMBERT), 2 (POLAR), 3 (MECATOR), is effective for namelist variable &record7 IPROJ = 0, This is Cylindrical Equidistance map projection for plotting the distribution of the Global observations. Note that for a global map, always set &record8 IDD = 1, MAXNES = 1, NESTIX = 181, NESTJX = 361, DIS = 110.0, II, Bug fix 1, A bug fixed in src/module_map.F90 and MAP_plot/Dir_map/llxy.F. When usimg Mecator map projection and the domain across the date line, the (x,y) was computed increectly. 2, A bug fixed in src/module_recoverh.F90 When a multiple-level OBS with the height missing at the bottom levels, the heights recovered at those levels are incorrect. This bug sometime caused the program Preprocessor stopped, but not affect the 3DVAR. III, Code changed src/3dvar_obs.F90 src/fm_decoder.F90 src/module_complete.F90 src/module_decoded.F90 src/module_diagnostics.F90 src/module_duplicate.F90 src/module_err_afwa.F90 src/module_err_ncep.F90 src/module_map.F90 src/module_mm5.F90 src/module_namelist.F90 src/module_per_type.F90 src/module_qc.F90 src/module_recoverh.F90 src/module_write.F90 src/platform_interface.inc src/setup.F90 src/sort_platform.F MAP_plot/Dir_map/DA_Constants.f90 MAP_plot/Dir_map/DA_Define_Structures.f90 MAP_plot/Dir_map/DA_Read_Obs.inc MAP_plot/Dir_map/DA_Read_Obs_Info.inc MAP_plot/Dir_map/Map.F MAP_plot/Dir_map/llxy.F MAP_plot/Dir_map/plstn1.F MAP_plot/Dir_map/setup.F ---------------------------------------------------------------------------- VERSION 1_3_0 3dvar_obs PROGRAM (Updated by Yong-Run Guo, June 4, 2003) This is the main directory of the "3dvar_obs" observation processing program of the MM5 3D-VAR data assimilation system (3dvar_1_3_0 and after) Everything a user needs to run the 3dvar_obs program is contained in this directory. For questions, please send emails to mesouser@ucar.edu For detailed documentation about 3dvar_obs programs, please read below and file "README.namelist" in this directory. For more information on the MM5 3D-VAR data assimilation system, please see http://www.mmm.ucar.edu/mm53dvar/docs/ For details on the 3dvar_obs input data format, please see http://www.mmm.ucar.edu/mm53dvar/3dvar_tutorial_presentations.htm ------------------------------------------------------------------------------- What is in 3dvar_obs? 3dvar_obs process decoded observations in LITTLE_R format, such as the ouput of the MM5 "gts_decoder" or the "fetch.csh" utilities for inputing into the MM5 3DVAR system. The basic operations performed by 3dvar_obs are: 1) Remove the observations outside the time range and domain (horizontal and top). 2) Re-order and merge the duplicate (time and location) data reports. 3) Retrieve the pressure or height based on the observed information with the hydrostatic assumption. 4) Check the vertical consistency and super adiabatic for multi-level observations. 5) Estimate observational error based on the pre-specified error file. 6) Write out at the 3DVAR input format. 7) Plot the distribution for each type of observations. ------------------------------------------------------------------------------- 3dvar_obs is a Fortran 90 program, and requires Fortran 90 compiler. At the moment, 3dvar_obs is working only for Dec_alpha, IBM, SGI, NEC and Fujitsu with their native compilers, and PC running Linux using Portland Group Fortran 90 compiler. If your machine isn't one of the ones supported or the compiler isn't the native one from the vendor, you need to edit the Makefile. For CRAY, SUN, and HP, we did not do fully testing of this program although Makefile included the MACRO for these machines. --------------------------------------------------------------- To compile 3dvar_obs: - Type 'make' in the 3DVAR_OBS directory to complie; - When make is successful, executable 3dvar_obs.exe will be created in this directory. --------------------------------------------------------------- To run 3dvar_obs: To create a namelist.3dvar_obs by edit the file namelist.3dvar_obs.sample (README.namelist for details), and type 3dvar_obs.exe >& 3dvar_obs.out to execute the program. Required input files for 3dvar_obs are: 1) First guess file (MMINPUT/MMOUT)**, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ****** Note Note Note Note Note Note Note Note Note Note ****** ------------------------------------------------- The first guess MUST BE MM5V3 input format because the code was origigally developed for MM5 3DVAR. If you want to apply this OBS preprocessor for WRF 3DVAR, you must choose another option "not usingthe first guess" described below. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2) A decoded observation file, 3) An observational error file (obserr.txt provided in this directory) 4) Namelist file: namelist.3dvar_obs ** Note that there is an option to run 3DVAR OBSPROC not using the first guess (MMINPU/MMOUT) as input. In this case, 1) you need to modify the 3DVAR_OBSPROC/Makefile by deleting -DBKG from CPPFLAGS, and re-compile the executable with make; 2) Use another sample namelist file: namelist.3dvar_obs.sample1 as the namelist.3dvar_obs, and edit it to provide some MM5 parameter related to the reference state and the domain configuration. These parameters can be found in the MM5 INTERPF namelist and MM5 TERRAIN namelist. This option gives users a flexible choice to specify any domain settings, not necessary related to the MMINPUT/MMOUT. The output files from 3dvar_obs are: 1) File "obs_gts.3dvar" is the obsevation data file input to 3dvar. 2) File "obs_ssmi_retrieval.3dvar" is generated only when SSMI data are present in the input file. 3) Several diagnostic files (*.diag), and with these files users can know the troubles happened at which observations. 4) The observational error profiles (*.txt) 5) In the printing file: 3dvar_obs.out, the flow of executions is shown step by step. Users can look at this file to monitor the program execution. ------------------------------------------------------------------------------- To get the plots of the observation distribution After the observation data files: obs_gts.3dvar and/or obs_ssmi_retrieval.3dvar produced, there is a utility to plot the observation distribution for each type of observations. ** NCAR GRAPHICS library should ne installed in computer system. 1) cd MAP_plot; 2) Modify the shell script Map.csh, set the time window and OBS filename: set TIME_WINDOW_MIN = '1999081911' set TIME_ANALYSIS = '1999081912' set TIME_WINDOW_MAX = '1999081913' set OBSDATA = ../obs_gts.3dvar 3) Type Map.csh 4) When job completed, you'll have a gmeta file : gmeta.ccyymmddhh, and a printed output file: Map.out.ccyymmddhh This gmeta file displayed the OBS distribution for each type of observations within the analysis domain in the time window. A quick glance at these plots will make you more comfortable to go ahead with 3DVAR. ** There are several plotting subroutines under the directory Dir_map. With minor modifications, it is easy to plot the observed parameters: pressure, temperature, wind, etc. ---------------------------------------------------------------------------- To clean the directory obsproc make clean will clean the directory obsproc and its sub-directory. Be sure to keep the files: obs_gts.3dvar, etc. before cleaning.