Local Data Access
The dmr project resides at "/projects/dmr" or just "~dmr". The data are in the "data" directory. Data are arranged by campaign and date of acquisition. They are processed into subsequent levels by Matlab codes under the user dmr. Except for the "~dmr/users" directory, the other areas in "~dmr" are restricted to the dmr user. People working with DMR data should have a folder in the "~dmr/users directory", such as "~dmr/users/masters". This user area is where you can place your individual work.
If you have an account on the CCAR network, make a "matlab" directory in your home directory, such as "~mastersd/matlab". This is where your Matlab functions will reside and is also the default location where Matlab looks when it starts. You should have a startup.m file in this directory which conatins commands that Matlab executes when it starts. One of the important things is to build a path to Matlab functions that you want to use. The most important path if you're using DMR data is to "/projects/dmr/matlab/*". An easy way to do this is to place a call to dmr_path.m in your "startup.m" file. Then place a symbloic link in your matlab directory pointing to the dmr matlab startup.m file:
ln -s ~dmr/matlab/startup.m ~/matlab/dmr_path.m
You now have access to a myriad of Matlab codes which can open and manipulate the DMR data. These files are located at /projects/dmr/matlab. Please review them to get an understanding of what is available. These codes are meant to be "stable", which means that they don't change often and should be considered correct. If you find an error or broken codes, please email the user dmr. Likewise, if you write codes which are general in nature and would be useful to everyone else using DMR data, you should submit them to the dmr user for inclusion in the dmr matlab library. Please do not copy codes from the DMR matlab directory into your home space and edit them without renaming the code to something else. This will insure that we are all using the same base codes and helps allevaite troubleshooting when your code is an older version of the DMR codes or your code is faulty.
To get started, try starting Matlab ("matlab" at the prompt will run the latest version). If you don't want to use the fancy version of Matlab's GUI, you can also use "matlab -nosplash -nodisplay". This will keep the cycle-hungry Java virtual machine from starting.
matlab> dmr_path; l1a_struct = hdfsd2struct('l1a_filename_here')The command "hdfsd2struct" will open any HDF file (gzipped or not), and return everything in a heirachical Matlab structure. Take a look at "l1a_struct.var", which contains the arrays of different data from the DMR receiver. All level HDF files can be read with "hdfsd2struct".
A note on how the DMR data are processed. Level 0 files are text files directly from the receiver. Due to poor coding and management, there are many versions of these files from the many versions of the receiver. Therefore, processing from level 0 to 1A puts all of these data into a generic format that is the same no matter what receiver software version was flying. (Receiver software version is the a two number code in the middle of the name of the HDF files). Level 1A data are "cleaned", time ordered, and sometimes corrected for receiver software coding mistakes. Level 1B files contain navigational information based upon the level 1A data set. There is not a one-to-one alignment across level 1A and level 1B, so the first variable in level 1B contains the index into level 1A for which the level 1B data are aligned..
To open a level 1B data file and get the corresponding indexed data from its level 1A file, use the command:
matlab> l1b_struct = dmr_l1b('l1b_filename_here');This will return a structure similar to level 1A, but with the added variables from a level 1B file.
Level 2 files contain higher level processing such as estimates of surface roughness (wind speed over the ocean) or signal to noise ratios.
The "qv" directories contain graphical summaries of the data sets in PDF format.