OBSOLETE MAC INSTRUCTIONS FORWARD is now available as a Solar Soft package "forward" - see new installation instructions.


You should only have to go through all these steps once -- after that, you only have to do step 3 with each new version of FORWARD and steps 9-11 if the fortran codes in $FORWARD/FORCOMP change (rare) .

---------------------

1.     make sure you have SolarSoft IDL (SSWIDL) installed (www.lmsal.com/solarsoft/ssw_install_howto.html)

 

2.   make sure you have all the necessary packages

                  IDL > ssw_upgrade,/spawn,/binaries,/chianti,/eis,/xrt,/eit,/trace,/secchi,/aia,/mdi,/pfss,/nrl,/cds,/swap,/lasco,/loud,/passive_ftp

                    N.B.  If this doesnÕt work check to see if you have Perl installed

 

3.   get latest version of FORWARD [http://www.hao.ucar.edu/FORWARD/TARS], delete (or make sure not in your path) old versions, and expand new tars (for FORWARD, FORWARD_DOCS, and FORWARD_DB). (N.B.: this step must be redone if any of the tar files have a date stamp later than the last one your downloaded)

 

4.   create a working directory FORWARD_WORKING_DIR

 

5.   make sure you have the packages pointed to in your .cshrc

                  setemv SSW_INSTR Òbinaries chianti eis xrt eit trace secchi aia mdi pfss nrl cds swap lascoÓ

 

6.   make sure you have $FORWARD, $FORWARD_DB, $FORWARD_DOCS, and $FORWARD_WORKING_DIR and IDL_PATH are all set in your .cshrc

             setenv FORWARD ~myusername/whereveritis/FORWARD/

                      (editing to make the correct path pointing to the FORWARD* directories)

             setenv FORWARD_DOCS ~myusername/whereveritis/FORWARD_DOCS/

             setenv FORWARD_DB ~myusername/whereveritis/FORWARD_DB/

             setenv FORWARD_WORKING_DIR ~myusername/whereveritis/FORWARD_WORKING_DIR/

             setenv IDL_PATH +${IDL_DIR}/lib:\+$FORWARD/:\+$FORWARD_DOCS/:\+$FORWARD_DB/:\+$FORWARD_WORKING_DIR/

   N.B. This assumes you are running e.g. TCSH not BASH – on a Mac this can be changed in Terminal Preferences Settings Shell Run Command and type tcsh.

 

7. If you don't have <b>IDL_DIR set</b> (check by typing printenv IDL_DIR) you can set in your .cshrc by

             setenv IDL_DIR  directory_where_idl_lives

 

8.   make sure you have Fortran compiler installed. GFORTRAN is recommended (https://gcc.gnu.org/wiki/GFortranBinaries ).

 

9.    if using g77, then edit the makefile in FORWARD/FORCOMP by changing all the "gfortran" into "g77" (there should be two places, after FC and after LINK).  (N.B.: this step must be redone if forcomp.f or any other *.f codes change in $FORWARD/FORCOMP directory)

 

10.  go to directory $FORWARD/FORCOMP and in a terminal window compile the "forcomp" FORTRAN routine with the following command: "make forcomp". (it also might work to just type: ÒmakeÓ). (N.B.: this step must be redone if forcomp.f or any other *.f codes change in $FORWARD/FORCOMP directory)

 

11.  copy the executable forcomp to your FORWARD_WORKING_DIR (N.B.: this step must be redone if forcomp.f or any other *.f codes change in $FORWARD/FORCOMP directory).

 

12.  run the tests below outside of FORWARD (just in a SSWIDL session)

 

13.   run FORWARD in a SSWIDL session by typing

 

14.            IDL> for_widget,

 

 

;*******

TESTS (can be run in SSWIDL session, even when FORWARD not started):

If any of these fail, be sure you have all the packages set up as described above.

 

IDL> aia_lct,wave=193

(this should set AIA color table, you should not get an error.)

 

IDL> test=get_stereo_lonlat('2010-01-01','A') (this should return spacecraft position)

 

IDL> use_network

(this should not give an error - if it does, try ssw_upgrade,/spawn,/loud,/passive_ftp

 

IDL> test=vso_search('2012-01-01T00:00:00','2012-01-01T00:10:00',instr='aia')

(this should not give an error but acts to query the VSO for data and return information)

 

IDL> filelocatenew=vso_get(test[0],filenames=filenames,/rice)

 this should download a file with the name of the file now in filenames)

IDL> read_sdo,filenames,header,image

IDL> help,header,image

-you should get something like:

 

HEADER

STRUCT

= ->  Array[1]

IMAGE

INT

= Array[4096, 4096]