Data Analysis Philosophy

For the UofC polarimeters we worked out a file structure and methodology which allows everyone access to data files, programs and the results of all standard analysis. This conserves disk space and eliminates duplication of effort. In order for such a scheme to work, however, it is essential to establish and observe file structure, file access, and naming conventions.

File Structure

For SPARO all of the relevent files are found on belmont in
/export/home/poldata

The analysis code is found in
/export/home/poldata/Code

The executables are found in
/export/home/poldata/bin
I suggest you add the bin directory to your path (defined in your .cshrc file)

The data and processed files for the cso observing run will be found in
/export/home/poldata/CSO98/Data
and
/export/home/poldata/CSO98/Process
respectively.

Similarly, I have set up a directory (and subdirectories) for laboratory tests
/export/home/poldata/Lab98

Group Polarim

I have defined a group - polarim - specifically to allow us to read and write to files someone else doing data analysis has created. Currently the group is defined as
polarim::330:jdotson,jld,novak,chuss,tom
(see /etc/group for the original definition)

After you create a file or directory in /export/home/poldata - it is essential that you ensure that the file belongs to the polarim group.

To see what the current group identification of a file or directory is, use ls -l
For example:

belmont.astro.nwu.edu{jdotson}% ls -l
total 8
drwxrwxr-x   4 jdotson  polarim      512 Feb 24 16:46 CSO98
drwxrwxr-x   2 jdotson  polarim      512 Feb 24 16:45 Code
drwxrwxr-x   4 jdotson  polarim      512 Feb 24 16:46 Lab98
drwxrwxr-x   2 jdotson  polarim      512 Feb 24 16:45 bin
All of these directories are already part of the polarim group.

To change the group identity of a file:
chgrp polarim file_name

To change the group identity of a directory and all of the contained files
chgrp -R polarim directory_name

If you want all files you create to be polarim as default, find someone with root privileges and have them do a usermod:
usermod -g polarim user_name

File Privileges

The group definitions won't do much good if the file permissions are not set up to allow others in the polarim group to work with your files. Again ls -l will let you know what the existing file privileges are. The first set of "rwx" in the above list refer to the user, the second set to the group and the third group to others. In the above example, the user jdotson and the group polarim can all read write and execute the listed directories. Others can only read and execute. Most likely the files you create will not have group write privileges.

To add group write to the file permissions of a single file:
chmod g+w file_name

To add group write to the file permissions of a directory and all the contained files:
chmod -R g+w directory_name

If you want all of the files you create to have group write privileges by default add the following command to your .cshrc file
umask 002

You can also just type "umask 002" at the command line when you wish for the rest of the files you create in that session to have group write privilege.

I also recommend removing the read privileges for other
chmod o-r file_name
or
chmod -R o-r directory_name
I have not thoroughly tested whether or not our web server will allow folks to look at these directories, but since this area is definitely not ready for prime time, I recommend this change in file privileges.

Source Code

All of the source code is located in the subdirectories of
/export/home/poldata/Code

The executables can all be found in
/export/home/poldata/bin

All of the code currently used has makefiles. If it is necessary to recompile the code, just go to the relevent directory and run make (/usr/ccs/bin/make). After you're satisfied that the new version is correct, copy the executable to /export/home/poldata/bin.

Changes to the code should be documented in the appropriate README files and source code comments.