The main documentation of the Flags Module contains additional explanation of this code listing.
!
! Author: Michael L. Hall
! P.O. Box 1663, MS-D413, LANL
! Los Alamos, NM 87545
! ph: 505-665-4312
! email: Hall@LANL.gov
!
! Created on: 1/15/99
! CVS Info: $Id: flags.F90,v 1.4 2008/09/26 00:04:27 hall Exp $
module Caesar_Flags_Module
! Start up with everything untyped and public.
! Note: this module contains no private information.
implicit none
public
! Initialization and finalization flags, used to set initial and
! final values for intrinsics.
type(integer), parameter :: initialize_integer_flag=0, &
finalize_integer_flag=6622130
type(real), parameter :: initialize_real_flag=0.d0, &
finalize_real_flag=662.2130d0
type(logical), parameter :: initialize_logical_flag=.false., &
finalize_logical_flag=.false.
type(character,9), parameter :: initialize_character_flag='Undefined', &
finalize_character_flag='Finalized'
! Initialization flags, used to indicate when a derived type has
! been initialized.
type(integer), parameter :: uninitialized_flag=0, &
initialized_flag=6622130
! Boundary condition face flags.
type(integer), parameter :: Internal_or_Periodic_BC=0, &
Dirichlet_BC=1, Homogeneous_BC=-1, &
Neumann_BC=2, Reflective_BC=-2, &
Source_BC=3, Vacuum_BC=-3
! AMR flags to indicate large and small cells at a level-jump interface.
! These should not conflict with the boundary condition face flags.
type(integer), parameter :: AMR_Large_Cell_BC=4, &
AMR_Small_Cell_BC=-4
end module Caesar_Flags_Module