The format used for ice model modules:


c $Id: <cvs information> $
c=======================================================================
!---! <concise description>
!---!
!---! authors:  <author 1, institution>
!---!           <author 2, institution>
!---! 
!---! <references, copyright, etc>
!---! 
!---! 
c=======================================================================

      module <module name>

      use <other module name>

      implicit none

      <f90 declarations of global variables>

c=======================================================================

      contains

c=======================================================================

      subroutine <routine name>

!---!-------------------------------------------------------------------
!---! <subroutine comments>
!---! 
!---! author <author, institution>
!---!-------------------------------------------------------------------

      <f90 declarations of local variables>  ! these include the
                                             ! intent attribute for
                                             ! all arguments passed
                                             ! in the subroutine call

c      unofficial commenting out of some lines of code
c      for whatever reason

      !-----------------------------------------------------------------
      ! label for important chunks
      !-----------------------------------------------------------------
      code code code code            ! units and other notes

         ! label for less important pieces
         code code code code         ! units and other notes

      end subroutine <routine name>

c=======================================================================

      subroutine <routine name>

      <etc>

      end subroutine <routine name>

c=======================================================================

      end module <module name>

c=======================================================================


Notes:
                                                                       ^
                                                                       |
(1)    the horizontal lines end at column 72, for fixed-format reference

(2) the left margin of the "label for important chunks" box lies in
    column 7

(3) all informational comment statements begin with !

(4) the only characters in the first 6 columns are

c $Id: cvs information
!---! header information
c     fortran code that's been commented out
 10   statement labels
     & continuation character
#ifdef conditionals (#else, #endif)
c===== dividing lines 

(5) long comment blocks should be in the routine headers
    limit comments within the routines to one line as much as possible

(6) it would be better to use "^" in units instead of "**", since "*"
    is generally a wild character for searches, etc (i.e., m^2 instead
    of m**2) 

