ARWpost 
June 2007
	Add cloud fractions
	Remove memory leaks
November 2006

The program read any wrf dataset in NETCDF/GRIB1 format and can produce either
GrADS input data format or Vis5D input format.

WRFV2 MUST be compiled and avaliable. If WRFV2 is not on the same level as 
ARWpost, then configure.arwp needs to be edited to correct path.


COMPILE
	./configure  --- to get a list of compile options for your computer
		         If your computer is not listed, you will need to add it under
			 arch/configure.defaults
	./compile    --- compile the code

	./clean -a   --- clean 



namelist.ARWpost

datetime
	start_date		:: In format YYYY-MM-DD_HH:MM:SS
				:: Or specify 
					start_year
					start_month
					start_day
					start_hour
	end_date		:: In format YYYY-MM-DD_HH:MM:SS
				:: Or specify 
					end_year   
					end_month   
					end_day   
					end_hour
        interval_seconds	:: Interval in seconds between plots required

io
	io_form_input		:: NETCDF=2, GRIB1=5
	input_root_name		:: root name or full name of input file(s) to process
				   Include path to file location
				   './wrfout' will read all files with root name "wrfout"
				   in the current directory
	output_root_name	:: root name of output files
				   for grads output 2 files will be created
					output_root_name.ctl and output_root_name.dat
				   for v5d output the one file will be craeted
					output_root_name.v5d
	output_title		:: Only used for GrADS output files.
				   Will be added to the top of the output_root_name.ctl
				   file. If not specified, the TITLE from input_root_name
				   will be used.
	mercator_defs		:: For very large domains on mercator projection, GrADS 
				   may destort plots. In this case, setting mercator_defs
				   to TRUE will fix the problem.
	keep_moist_arrays	:: By default some moist and wind arrays are carried for
	keep_wind_arrays	   for use in diagnostics. For very large domains, and if
				   these arrays are not needed for diagnostics, they 
				   can be removed.
	plot			:: Fields to be plotted. Options are:
				   	all, basic, file, list, 
					all_file, all_list, 
					basic_file, basic_list, list_file, 
					all_list_file, basic_list_file
				   'all', get all the fields in the 'input_root_name' file
				   	cannot use 'all' for Vis5D data
				   'basic', get the fields (if available):
					HGT (HGT_M), LANDMASK, LU_INDEX, MU, MUB, P, PB,
					PBLH, PH, PHB, PSFC, Q2, RAINC, RAINNC, SST,
					T (TT), T2, TH2, TMN, TSK, U (UU), U10, V (VV), V10,
					VEGFRA, W, XLAND, XLAT (XLAT_M), XLONG (XLONG_M)
					This list can be customize in the routine: 
						gridinfo_module.F90
				   'list', get all the fields listed in "fields"
					fields are separated by ","
				   'file', get all the fields in a file you created. The 
					created filename must be supplied in "fields_file"
				    Any conbination of 'all', 'basic', 'list', 'file' is valid.
	fields			:: Used if you specifed 'list' in "plot"
				   Fields are separated with ","
	fields_file		:: Used if you specified 'file' in "plot"
				   Fields are listed one below each other in your file
				   "fields_file" is the name of your file
	output_type		:: 'grads' (default) or 'v5d'

interp
	interp_method		::  0 = model levels
				   -1 = calculated height levels
				    1 = user specified pressure/height levels
					For 1, must specify levels in 'interp_levels'
	interp_levels		:: Only used if 'interp_method = 1'
				   Height (km) or Pressure (hPa)
				   No need to be equally spaced, must be bottom to top




Diagnostics:
	Currently the following diagnostics are available
	   - module_calc_cape.f90
		cape (3D CAPE) and cin (3D CIN)
		mcape (2D CAPE), mcin (2D CIN)
		lfc (LFC), lcl (LCL)
	   - module_calc_dbz.f90
		dbz (3D Reflectivity)
		maz_dbz (Max Reflectivity)
	   - module_calc_height.f90
		height (Height above sea level)
	   - module_calc_pressure.f90
		pressure (Pressure)
	   - module_calc_rh.f90
		rh (Relative Humidity)
	   - module_calc_slp.f90
		slp (Sea Level Pressure)
	   - module_calc_tc.f90
		tc (Temperature in C)
	   - module_calc_td.f90
		td (Dew Point Temperature)
	   - module_calc_theta.f90
		theta (Potential Temperature)
	   - module_calc_tk.f90
		tk (Temperature in K)
	   - module_calc_uvmet.f90
		umet, vmet, u10m, v10m (U and V rotated to earth coordiantes)
	   - module_calc_wdir.f90
		wdir, wdir10 (Wind Direction)
	   - module_calc_wspd.f90
		wspd, wspd10 (Wind Speed)
	   - module_calc_clfr.f90
		clfr (low,mid and high clouds)
		

	TO ADD DIAGNOSTICS
		First make sure that all the arrays needed for the calculations are 
		available. The following are carried NOW.
		XLAT, XLONG, HGT, PSFC, P, PB, PH, PHB, QV, T(theta-300), TT(temp in K from metdata)
		U10, V10, UUU, VVV (if keep_wind_arrays = TRUE)
		QR, QS, QG (if keep_moist_arrays = TRUE)

		Logical variables have_* indicate if arrays are present.

		See src/module_model_basics.f90, and src/module_arrays.f90

		Create a new module (module_calc_*.f90) which will calculate the new
		diagnostic variable. Look at one of the existing ones for an example.

		Add CALL to src/module_diagmostics.f90
			Must call the following 3 routines
				CALL calc_* (new diagnostics)
				CALL interp (to interpolate to output grid)
				CALL write_dat (to write output)

		Make appropriate changes to the Makefile

		If a new 3D diagnostical field had been created, AND Vis5D output are
		going to be generated, this new field must also be added to "known_3d_fields"
		in src/v5d_module.f90

		
Special NOTES:
Vis5D output, cannot have 'plot = "all"'
