[gradsusr] fwrite gridding issue

Thomas Robinson ter at hawaii.edu
Tue May 15 16:21:00 EDT 2012


These three tips solved my problem issue with the data looping in the
north/south direction.  Thank you all for your input!

1. remove -sq flag from 'set fwrite'
2. just before fwrite, use 'set x 1 144' and 'set y 1 73' - leave your
other 'set lon' and 'set lat' lines as they are
3. your ctl file should NOT have 'options sequential'



On Thu, May 10, 2012 at 3:22 PM, Thomas Robinson <ter at hawaii.edu> wrote:

> Thank you for taking time to help me.  I know reading my code probably
> isn't the best part of your day.  I have it running, so it will probably be
> done by Monday.  I will update then.
>
>
> On Thu, May 10, 2012 at 2:20 PM, Eric Altshuler <ela at cola.iges.org> wrote:
>
>> Tom,
>>
>> I think I've found what's causing the problem. In your fortran code, you
>> open unit 29 (the output from fwrite) as direct access, but the 'set
>> fwrite' line in your grads script specifies sequential (-sq). This means
>> that the control words in the fwrite output will be treated as data values
>> when reading from unit 29, and the array 'chi' will not contain the correct
>> data. To fix this, remove the -sq flag from your 'set fwrite' command.
>>
>> I suppose it's unnecessary to write the output file (unit 291) as 48212
>> individual time steps, since your machine apparently has no problem with a
>> 144*73*48212 array. I assume your DO loop on 70 is in response to my
>> previous suggestion. If you wish, you can remove this loop and the
>> declaration of chi_out, and revert to your original method of writing chi
>> (which you've commented out).
>>
>> In summary, your problem should go away if you do the following:
>>
>> 1. remove -sq flag from 'set fwrite'
>> 2. just before fwrite, use 'set x 1 144' and 'set y 1 73' - leave your
>> other 'set lon' and 'set lat' lines as they are
>> 3. your ctl file should NOT have 'options sequential'
>>
>> Eric
>>
>> ----- Original Message -----
>> From: "Thomas Robinson" <ter at hawaii.edu>
>> To: "GrADS Users Forum" <gradsusr at gradsusr.org>
>> Sent: Thursday, May 10, 2012 5:16:33 PM
>> Subject: Re: [gradsusr] fwrite gridding issue
>>
>>
>> I really appreciate all of our help. I'm just going to post all of my
>> code now.
>>
>> Here is my FORTRAN code as it stands now.
>> PROGRAM avg_chi
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> !! This FORTRAN 77 program is used to calculate the daily mean values for
>> the!!
>> !! entire data set. This mean value can then be used to calculate the !!
>> !! anomalies to be plotted. First, the data are opened in their
>> individual !!
>> !! files. The full data set was divided into 30 files, so the parameter !!
>> !! files=32 represents those files. The numbers are converted to string
>> by !!
>> !! writing their values to the string. !!
>>
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> !!!!!!!!!!!! Tom Robinson University of Hawaii 2012 ter at hawaii.edu!!!!!!!!!!!!
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> PARAMETER (nx=144) !grid points in x
>> PARAMETER (ny=73) !grid points in y
>> PARAMETER (tsy=1460) !Time Steps in a Year
>> PARAMETER (nt=709) !Number of time steps in each file
>> PARAMETER (nrec=709) !Number of records in each file
>> PARAMETER (files=68) !Number of input files
>> Parameter (rearth=6378100) !radius of the earth in meters
>> parameter (rpi=3.1415926) !pi
>> parameter(omega=7.292E-5) !Rotational speed of the earth
>> PARAMETER (south=-90) !Southern most latitude
>> PARAMETER (dy=111131)!change in y between a degree of lattitude at 45 deg
>> real chi (nx,ny,nt*files) ! Velocity potential
>> real chi_out(nx,ny)
>> real a_chi(nx,ny,tsy) !Average Velocity Potential
>> real clatrad (ny) !latitude in radians
>> real dx(iy) ! change in east-west direction (distance)
>> Integer x !Place holder for the file number
>> Character(2) xstring !Input file number > 9
>> Character(1) xstrLT1 !Input file number < 10
>> character(20) filename!Full input file name
>>
>>
>> it=1 !Initialize it
>>
>> do 51 x=1,files!files !Loop through all of the file numbers
>>
>> if (x.lt.10)then !Check to see if the number is below 10. If it
>> ! is you have to use a single bit string
>> Write( xstrLT1, '(i1)' ) x !COnvert the integer to a string
>> write (6,*)"CHI_200hPa_",xstrLT1,'.dat'
>> filename="CHI_200hPa_"//xstrLT1//".dat" !Concatenate strings to
>> ! get the file name
>> write (6,*)filename
>> !To open the file from a GrADS fwrite, you have to use direct
>> ! access and specify the record length which is four times the
>> ! dimensions
>> open (29, file=filename,
>> & status="OLD", access="direct",form="unformatted",
>> & recl=4*nx*ny)
>> do 52 irec=1,nrec !Go through each record of the input file
>> read(29,rec=irec)((chi(ix,iy,it),
>> & ix=1,nx),iy=1,ny)! Read in the data
>> it=it+1 !Update it
>> if (mod(it,100).eq.0)then
>> write(6,*)it
>> endif
>> 52 continue
>> close (unit=29)
>> elseif (x.ge.10 .AND. x.lt.100)then !If the number of the file is
>> !GT 10, no 0 needs to be added
>> Write( xstring, '(i2)' ) x
>> write (6,*)"CHI_200hPa_",xstring,'.dat'
>> filename="CHI_200hPa_"//xstring//".dat" !Concatenate strings to
>> ! get the file name
>> open (29, file=filename,
>> & status="OLD", access="direct",form="unformatted",
>> & recl=4*nx*ny)
>> do 53 irec=1,nrec
>> itime=it*x
>> read(29,rec=irec)((chi(ix,iy,it),
>> & ix=1,nx),iy=1,ny)
>> it=it+1
>> 53 continue
>> close (unit=29)
>> endif
>> 51 continue
>> !! Write out some numbers to see if they make sense
>> write (6,500)(chi(73,35,it)/1e6,it=5430,5436)
>> 500 FORMAT(f7.3,1x,f7.3,1x,f7.3,1x,f7.3,1x,f7.3,1x,f7.3,1x,f7.3,1x,)
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> !!
>> !! Open the output data file
>> open (unit=291,file="chi_33yr.dat", access="direct",
>> & status="unknown",recl=4*nx*ny)
>> !! Use chi_out to write each time step out as a record.
>> DO 70 itt=1,files*nt
>> do ix=1,nx
>> do iy=1,ny
>> chi_out(ix,iy)=chi(ix,iy,itt)
>> enddo
>> enddo
>> write (291, rec=itt) chi_out !Write each time step as a record
>> 70 CONTINUE
>>
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> !! Get the average values using the daily_ave subroutine
>> do it=1,tsy !Loop through all 1464 6 hour times in the year (leap year)
>> CALL daily_ave(chi,a_chi,it,nx,ny,nt,tsy)
>> if (mod(it,100).eq.0)then
>> write(6,*)it,a_chi(55,55,it)/1e6
>> endif
>> enddo
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> !! Write the data out to a file
>> open (unit=290,file="mean_chi_33yr.dat", access="direct",
>> & status="unknown",recl=4*nx*ny*tsy)
>> write (290, rec=1) a_chi
>> ! open (unit=291,file="chi_33yr.dat", access="direct",
>> ! & status="unknown",recl=4*nx*ny*nt*files)
>> ! write (291, rec=1) chi
>>
>> stop
>> end
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> I left out the subroutines because I think they are working correctly and
>> don't have anything to do with the problem I'm having since they are used
>> below where the data is written out.
>>
>> Here is the list of input files I have:
>> CHI_200hPa_10.dat CHI_200hPa_26.dat CHI_200hPa_41.dat CHI_200hPa_57.dat
>> CHI_200hPa_11.dat CHI_200hPa_27.dat CHI_200hPa_42.dat CHI_200hPa_58.dat
>> CHI_200hPa_12.dat CHI_200hPa_28.dat CHI_200hPa_43.dat CHI_200hPa_59.dat
>> CHI_200hPa_13.dat CHI_200hPa_29.dat CHI_200hPa_44.dat CHI_200hPa_5.dat
>> CHI_200hPa_14.dat CHI_200hPa_2.dat CHI_200hPa_45.dat CHI_200hPa_60.dat
>> CHI_200hPa_15.dat CHI_200hPa_30.dat CHI_200hPa_46.dat CHI_200hPa_61.dat
>> CHI_200hPa_16.dat CHI_200hPa_31.dat CHI_200hPa_47.dat CHI_200hPa_62.dat
>> CHI_200hPa_17.dat CHI_200hPa_32.dat CHI_200hPa_48.dat CHI_200hPa_63.dat
>> CHI_200hPa_18.dat CHI_200hPa_33.dat CHI_200hPa_49.dat CHI_200hPa_64.dat
>> CHI_200hPa_19.dat CHI_200hPa_34.dat CHI_200hPa_4.dat CHI_200hPa_65.dat
>> CHI_200hPa_1.dat CHI_200hPa_35.dat CHI_200hPa_50.dat CHI_200hPa_66.dat
>> CHI_200hPa_20.dat CHI_200hPa_36.dat CHI_200hPa_51.dat CHI_200hPa_67.dat
>> CHI_200hPa_21.dat CHI_200hPa_37.dat CHI_200hPa_52.dat CHI_200hPa_68.dat
>> CHI_200hPa_22.dat CHI_200hPa_38.dat CHI_200hPa_53.dat CHI_200hPa_6.dat
>> CHI_200hPa_23.dat CHI_200hPa_39.dat CHI_200hPa_54.dat CHI_200hPa_7.dat
>> CHI_200hPa_24.dat CHI_200hPa_3.dat CHI_200hPa_55.dat CHI_200hPa_8.dat
>> CHI_200hPa_25.dat CHI_200hPa_40.dat CHI_200hPa_56.dat CHI_200hPa_9.dat
>>
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> Here is my GrADS script that I use to calculate the velocity potential
>> and then write it out using fwrite:
>> function full_data(args)
>>
>> *##############################################################################
>> *# Oh boy the fun stuff. This script opens a DODS file to get renalaysis
>> ##
>> *# data that goes all the way back to 1979. It looks like it updates
>> every ##
>> *# day (e'ryday e'ryday) so it should make thing interesting. The begin
>> time##
>> *# is 00Z01JAN1979 and the time step is 360mn (6 hours). That's going to
>> ##
>> *# complicate things. I suggest cutting it off at 18Z31DEC2011, that
>> makes ##
>> *# the final time 48212. This is divisible by 68, 48212/68=709. We should
>> ##
>> *# be able to do that many calculations (hopefully). We can! ##
>> *# ##
>> *# I took out the top 7 layers because the 200mb level is level 10. This
>> ##
>> *# will make it run a little more efficient in theory. What I should do
>> is ##
>> *# have it just do level 10. That would probably cut the time down a lot
>> but##
>> *# I am a masocist. ##
>>
>> *# This takes FOR-EV-ER! ##
>>
>> *##############################################################################
>> *########### Tom Robinson University of Hawaii 2012 ter at hawaii.edu############
>>
>> *##############################################################################
>> *# Number of times divided - SHOULD BE 68 !!!
>> divnum=subwrd(args,1)
>> *# Number of file
>> filenum=subwrd(args,2)
>> say divnum ' ' filenum
>> *# Reinitialize everything, including the gxout
>> 'reinit'
>> 'set gxout contour'
>> 'set looping off'
>> *# Open the internet file
>> 'sdfopen
>> http://nomad2.ncep.noaa.gov:9090/dods/reanalyses/reanalysis-2/6hr/pgb/pgb'
>>
>> *#*****************************************************************************
>> *# SET UP GLOBAL VARIABLES AND MAP **
>>
>> *#*****************************************************************************
>> *# get nt from the descriptor file
>> 'q ctlinfo'
>> *tdef=sublin(result,9)
>> *nt=subwrd(tdef,2)
>> nt=48212
>> say nt
>> *# make sure looping is off. Who knows why it comes on sometimes :-(
>> 'set looping off'
>> *# Set up the dimensions of the data. Values starting with n indicate the
>> *# number of data for the dimension that follows (x,y,z,t)
>> *dx=2.5
>> *dy=2.5
>> *#
>> nx=144
>> ny=73
>> nz=10
>> nt=nt
>> it=(((filenum-1)*nt)/divnum)+1
>> nt=filenum*nt/divnum
>>
>> *# Set background to white
>> 'set background 1'
>> *# Clear to get the white background
>> 'clear'
>> 'set grads off'
>> 'set mpdset hires'
>> 'set string 0'
>> *#* Set the map to black
>> 'set map 0'
>> *#* Set the labels and title to black
>> 'set annot 0'
>> *#radius on the earth in m
>> 'define Re=6378100'
>> *# pi
>> 'define pi=3.14159265'
>> *# ytom is the conversion of 1 degree to meters at 30N
>> 'define ytom=110852.4248'
>> *# SET UP FOR ALL LEVELS AND TIMES **
>> *# set to full domain to define variables
>> 'set t ' it ' ' nt
>> say 'set t ' it ' ' nt
>>
>> 'set lon 0 360'
>> 'set lat -90 90'
>> *######## Z is set up for 200mb ONLY!
>> 'set lev 200'
>>
>> *#*****************************************************************************
>> *# CALCULATE VELOCITY POTENTIAL (chi) **
>>
>> *#*****************************************************************************
>> *#** VELOCITY POTENTIAL FOR OPENGRADS ONLY ****
>> *# Calculate the velocity potential using the opengrads function fish_chi
>> 'define chi = fish_chi(UGRDprs,VGRDprs)'
>>
>> *******************************************************************************
>> ** DISPLAY CHI AND DIV **
>>
>> *#*****************************************************************************
>> *# Set up colors 16-20 are green, 21-25 are blue
>> gnum = 16
>> bnum = 21
>> count = 1
>> cnum = 25
>> while (count<=5)
>> *# Put the rgb colors in using gnum as gree and bnum as blue
>> 'set rgb 'gnum' 0 ' cnum ' 0'
>> 'set rgb 'bnum' 0 0 ' cnum
>> *# Increment the counter and color numbers
>> count=count+1
>> gnum=gnum+1
>> bnum=bnum+1
>> *# Increase the rgb number by 55
>> cnum=cnum+55
>> endwhile
>> 'set gxout shaded'
>> *# Set up the levels and colors using blue for negative and green for
>> positive
>> 'set clevs -20 -15 -10 -5 0 5 10 15 20'
>> 'set ccols 22 23 24 25 1 1 20 19 18 17 '
>> *# Change to a tropical latitude domain for display purposes
>> 'set lat -30 30'
>> 'set lon 0 360'
>> 'set t 'it
>> 'set lev 200 200'
>> *# Display the velocity potential and divide by a million
>> 'd (chi/1e6)'
>> *# Display the color bar
>> 'cbarn_black'
>> *# Draw the title with the date
>> 'q time'
>> date=subwrd(result,3)
>> 'q dim'
>> rec=sublin(result,4)
>> level=subwrd(rec,6)
>> 'draw title 'level'hPa Velocity Potential 'date
>> ** get the month
>> month=substr(date,6,3)
>> ** get the year
>> year=substr(date,9,4)
>> ** get the day
>> day=substr(date,4,2)
>> ** get the hour
>> hour=substr(date,1,3)
>> say month ' ' year
>> 'printim 'year''month''day''hour'_'level'hPa.jpg'
>> 'printim 'year'_'filenum'.jpg'
>>
>> *#*****************************************************************************
>> *# WRITE VOLOCITY POTENTIAL OUT TO A BINARY FILE **
>>
>> *#*****************************************************************************
>> *# set up global domain once again
>> 'set looping off'
>> 'set lev 200 '
>> 'set lat -90 90'
>> 'set lon 0 360'
>> *#**************************************************************
>> say 'write data out to binary file called CHI.200hPa'filenum'.dat'
>> 'set fwrite -le -sq -cl CHI_200hPa_'filenum'.dat'
>> 'set gxout fwrite'
>> while (it <= nt)
>> 'set t 'it
>> 'display chi'
>> it=it+1
>> endwhile
>> 'disable fwrite'
>>
>> *******************************************************************************
>> *set fwrite <-be or -le> <-sq or -st> <-ap or -cl> fname
>> *Sets the filename for data output as well as byte ordering and data
>> format.
>>
>> * fname output filename (default = grads.fwrite)
>> * -be output data byte ordering is big endian
>> * -le output data byte ordering is little endian
>> * -sq output data format is sequential
>> * -st output data format is stream (default)
>> * -ap output data is appended to existing file
>> * -cl output data replaces existing file if it exists (default)
>>
>> *******************************************************************************
>> 'set looping off'
>> ** Looping should be turned off
>> 'set gxout contour'
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
>>
>> On Thu, May 10, 2012 at 10:56 AM, Eric Altshuler < ela at cola.iges.org >
>> wrote:
>>
>>
>> Tom,
>>
>> There are three things I'll point out here:
>>
>> 1. You seem to be trying to write out all the data at once, in a huge
>> array dimensioned (144,73,48212). This array may require more memory than
>> your computer has. Instead, try declaring your array as (144,73) and set up
>> a DO loop in your fortran program to write out each time step individually.
>> You'll need to substantially modify how your program reads the input data,
>> too. If you send your complete fortran code, I might be able to modify it
>> to implement my suggested method (no guarantees, though). This will
>> eliminate the need to break up the 48212 time steps into 68*709.
>>
>> 2. What is the size of the input files to your fortran program (i.e. the
>> files written by fwrite)? This information will indicate if you have a
>> wraparound problem.
>>
>> 3. Your ctl file has the line:
>>
>>
>> chi 0 x,y,t 1 ** velocity potential
>>
>> Since your data is binary, I think this line should be:
>>
>> chi 0 99 ** velocity potential
>>
>>
>> Eric
>>
>> ----- Original Message -----
>> From: "Thomas Robinson" < ter at hawaii.edu >
>> To: "GrADS Users Forum" < gradsusr at gradsusr.org >
>>
>> Sent: Thursday, May 10, 2012 2:03:09 PM
>> Subject: Re: [gradsusr] fwrite gridding issue
>>
>>
>>
>>
>> The file is the correct size. 144*73*48212*4= 2027218176
>>
>> -rw-r--r-- 1 ter businger 2027218176 May 9 15:57 chi_33yr.dat
>>
>> My computer crashes if I try to do all 48212, so I had to break it up in
>> 68 separate files each with 709 time steps. So:
>> PARAMETER (nt=709) !Number of time steps in each file
>> PARAMETER (nrec=709) !Number of records in each file
>> PARAMETER (files=68) !Number of input files
>> The FORTRAN program reads in all of the files and stores the data in one
>> variable chi, then it goes written out to the file chi_33yr.dat.
>>
>> My FORTRAN program also calculates a 33 year 6-hourly mean, but the
>> variable chi isn't affected by that and that is written to a separate file
>> which is also having the same problem.
>>
>> -Tom
>>
>>
>>
>> On Thu, May 10, 2012 at 7:51 AM, Jennifer Adams < jma at cola.iges.org >
>> wrote:
>>
>>
>>
>> I'm no fortran expert, but I think "direct" means the 4-byte headers and
>> footers for each record are not written, so you should remove 'options
>> sequential'. According to your descriptor, your data file (chi_33yr.dat)
>> should be 144*73*48212*4 bytes large. Is it? What is 'files'?
>> --Jennifer
>>
>>
>>
>>
>>
>>
>>
>> On May 10, 2012, at 1:44 PM, Thomas Robinson wrote:
>>
>>
>> Here is my code that opens and writes out the data:
>>
>> open (unit=291,file="chi_33yr.dat", access="direct",
>> & status="unknown",recl=4*nx*ny*nt*files)
>> write (291, rec=1) chi
>>
>> The variable chi has dimensions nx,ny,nt*files .
>>
>> I added options sequential to the descriptor file and the same thing is
>> happening. Here is my descriptor file:
>>
>> dset ^chi_33yr.dat
>> title Velocity Potential
>> options sequential
>> undef 9.999e+20
>> xdef 144 linear 0 2.5
>> ydef 73 linear -90 2.5
>> zdef 1 levels 200
>> tdef 48212 linear 00Z01JAN1979 360mn
>> vars 1
>> chi 0 x,y,t 1 ** velocity potential
>> endvars
>>
>> All of your input is very much appreciated.
>>
>> -Tom
>>
>>
>>
>> On Fri, May 11, 2012 at 3:16 AM, Jennifer Adams < jma at cola.iges.org >
>> wrote:
>>
>>
>>
>> Tom, Did you include 'options sequential' in your descriptor file for
>> your new binary file? --Jennifer
>>
>>
>>
>>
>>
>>
>>
>> On May 10, 2012, at 8:49 AM, Raghu Reddy wrote:
>>
>>
>>
>>
>>
>>
>>
>> I am not a grads user, just responding to the FORTRAN/C issue.
>>
>> If you do a normal sequential FORTRAN write, it writes an end-of-record
>> marker at the beginning * and * at the end of * every * write. Since you
>> mentioned that the data is skewed, I assume you wrote all the 48,000 values
>> with one write statement, and that would result in one EOR marker at the
>> beginning and one EOR marker at the end.
>>
>>
>>
>> If you don’t want these EOR markers you could write the file out as
>> direct access files in Fortran.
>>
>> Hope this helps.
>>
>> Thanks,
>>
>> --Raghu
>>
>>
>>
>> From: gradsusr-bounces at gradsusr.org [mailto:
>> gradsusr-bounces at gradsusr.org ] On Behalf Of Thomas Robinson
>> Sent: Wednesday, May 09, 2012 11:36 PM
>> To: GrADS Users Forum
>> Subject: [gradsusr] fwrite gridding issue
>>
>>
>> Aloha,
>>
>> I used fwrite to write out to a binary file in order to create a large
>> file with about 48000 time steps for global data (because I am crazy). I
>> noticed that when I use fortran to create a new data file that has all
>> 48000, it doesn't match with what the original data plotted, instead it
>> seems skewed. No manipulations were done to the data, it was just read it
>> all in and write it out. When I tried to loop the data, I further noticed
>> that the northern border looped around the south and then moved upwards
>> back to the north. It just keeps looping around and it's odd because the
>> top boundary of the map isn't continuous with the bottom boundary (unlike
>> the side boundaries which are continuous). Anyways, I am wondering why this
>> happened and what I can do to make it work out correctly.
>>
>> Here is my fwrite code. it is the first time step, nt is the last time
>> step, chi is the velocity potential that was calculated using 'define chi =
>> fish_chi(UGRDprs,VGRDprs)' :
>> *# set up global domain
>> 'set lev 200 '
>> 'set lat -90 90'
>> 'set lon 0 360'
>> *#**************************************************************
>> say 'write data out to binary file called CHI.200hPa'filenum'.dat'
>> 'set fwrite -le -sq -cl CHI_200hPa_'filenum'.dat'
>> 'set gxout fwrite'
>> while (it <= nt)
>> 'set t 'it
>> 'display chi'
>> it=it+1
>> endwhile
>> 'disable fwrite'
>>
>> Mahalo for your help!
>> -Tom
>>
>> --
>> Tom Robinson
>> President Graduate Student Organization
>> Student Caucus Representative for the Graduate Student Organization
>> Graduate Student - Department of Meteorology
>> 732-718-2323 _______________________________________________
>>
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>>
>> --
>> Jennifer M. Adams
>> IGES/COLA
>>
>> 4041 Powder Mill Road, Suite 302
>> Calverton, MD 20705
>> jma at cola.iges.org
>>
>>
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>>
>>
>> --
>> Tom Robinson
>> President Graduate Student Organization
>> Student Caucus Representative for the Graduate Student Organization
>> Graduate Student - Department of Meteorology
>> 732-718-2323
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>>
>> --
>> Jennifer M. Adams
>> IGES/COLA
>> 4041 Powder Mill Road, Suite 302
>> Calverton, MD 20705
>> jma at cola.iges.org
>>
>>
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>>
>>
>> --
>> Tom Robinson
>> President Graduate Student Organization
>> Student Caucus Representative for the Graduate Student Organization
>> Graduate Student - Department of Meteorology
>> 732-718-2323
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>>
>> --
>> Tom Robinson
>> President Graduate Student Organization
>> Student Caucus Representative for the Graduate Student Organization
>> Graduate Student - Department of Meteorology
>> 732-718-2323
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>
>
>
> --
> Tom Robinson
> President Graduate Student Organization
> Student Caucus Representative for the Graduate Student Organization
> Graduate Student - Department of Meteorology
> 732-718-2323
>
>


-- 
Tom Robinson
President Graduate Student Organization
Student Caucus Representative for the Graduate Student Organization
Graduate Student - Department of Meteorology
732-718-2323
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20120515/a9904936/attachment-0003.html 


More information about the gradsusr mailing list