PROGRAM snow_to_obs
MODIS snowcover fraction observation converter
Overview
There are several satellite sources for snow observations. Generally the data is distributed in HDF-EOS format. The converter code in this directory DOES NOT READ HDF FILES as input. It expects the files to have been preprocessed to contain text, one line per observation, with northern hemisphere data only.
Data sources
not sure.
Programs
The snow_to_obs.f90
file is the source for the main converter program.
To compile and test, go into the work subdirectory and run the quickbuild.sh
script to build the converter and a
couple of general purpose utilities. advance_time
helps with calendar and time computations, and the
obs_sequence_tool
manipulates DART observation files once they have been created.
This converter creates observations of the “MODIS_SNOWCOVER_FRAC” type.
There is another program in this directory called snow_to_obs_netcdf.f90
which is a prototype for reading netcdf
files that contain some metadata and presumably have been converted from the original HDF. THIS HAS NOT BEEN TESTED but
if you have such data, please contact dart@ucar.edu for more assistance. If you write something that reads the HDF-EOS
MODIS files directly, please, please contact us! Thanks.
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.
&snow_to_obs_nml
longrid = 360,
latgrid = 90,
year = 2000,
doy = 1,
snow_input_file = 'snowdata.input',
missing_value = -20.0,
debug = .false.
/
Item |
Type |
Description |
---|---|---|
longrid |
integer |
The number of divisions in the longitude dimension. |
latgrid |
integer |
The number of divisions in the latitude dimension. This converter assumes the data is for the northern hemisphere only. A namelist item could be added to select northern verses southern hemisphere if needed. |
year |
integer |
The year number of the data. |
doy |
integer |
The day number in the year. Valid range 1 to 365 in a non-leap year, 1 to 366 in a leap year. |
snow_input_file |
character(len=128) |
The name of the input file. |
missing_value |
real(r8) |
The value used to mark missing data. |
debug |
logical |
If set to .true. the converter will print out more information as it does the conversion. |
Known Bugs
This program is hardcoded to read only northern hemisphere data. It should handle global values.
Future Plans
This program should use the HDF-EOS libraries to read the native MODIS granule files. Right now the ascii intermediate files contain no metadata, so if the namelist values don’t match the actual division of the globe, bad things will happen.