Follow the steps below to compile a program with a Fortran compiler.
Step 1
Log on to the Grid.
Step 2
Start an interactive job. Type srun -q debug -t 10:0 --pty bash.

Note: This puts you on a compute node to do compiling on. Never run jobs or compile on the head node.
Step 3
Let's create a simple program to practice compiling. Type vim hello.f.

Step 4
Press i to insert. Type the following lines into the editor; each line has a tab (eight spaces) before it starts:
program hello
! This is a comment line that is ignored by the compiler
print *, 'Hello, World!'
end program hello

Step 5
Save the file and exit. Press Esc and type wq, then Enter.

Step 6
Now compile the program. Type gfortran hello.f -o hello.

Step 7
Now let's practice creating a job script to submit that will execute the program. Type vim fortran_jobscript.

Step 8
Press i to insert. Enter the following into the editor:
#!/bin/bash
# Job name
#SBATCH --job-name fortran_job
# Submit to the primary QoS
#SBATCH -q primary
# Request one node
#SBATCH -N 1
# Total number of cores, in this example it will 1 node with 1 core each.
#SBATCH -n 1
# Request memory
#SBATCH --mem=5G
# Mail when the job begins, ends, fails, requeues
#SBATCH --mail-type=ALL
# Where to send email alerts
#SBATCH --mail-user=xxyyyy@wayne.edu
# Create an output file that will be output_<jobid>.out
#SBATCH -o output_%j.out
# Create an error file that will be error_<jobid>.out
#SBATCH -e errors_%j.err
# Set maximum time limit
#SBATCH -t 1:0:0
cd $TMPDIR
cp /wsu/home/zz/zz99/zz9992/hello .
$TMPDIR/hello

Note: Be sure to modify the script using the AccessID and directories specific to your account.
Step 9
Save the file and exit the editor. Press Esc, and type :wq then Enter.

Step 10
- Make sure that the file is executable. You can do this by changing the permissions with the chmod command.
- Type
chmod x fortran_jobscript.
- The file permissions can be checked by entering
ls -alt.

Step 11
Submit the job script. Type sbatch fortran_jobscript.

The output file shows the program was executed.