43 '$Id: iAtm_Define.f90 60152 2015-08-13 19:19:13Z paul.vandelst@noaa.gov $' 45 INTEGER,
PARAMETER ::
ml = 256
54 LOGICAL :: is_allocated = .false.
56 INTEGER :: n_layers = 0
57 INTEGER :: n_absorbers = 0
59 REAL(fp),
ALLOCATABLE :: pl(:)
60 REAL(fp),
ALLOCATABLE :: tl(:)
61 REAL(fp),
ALLOCATABLE :: al(:,:)
63 REAL(fp),
ALLOCATABLE :: p(:)
64 REAL(fp),
ALLOCATABLE :: t(:)
65 REAL(fp),
ALLOCATABLE :: a(:,:)
67 REAL(fp) :: pln_save =
zero 68 REAL(fp) :: tln_save =
zero 69 REAL(fp),
ALLOCATABLE :: aln_save(:)
70 REAL(fp) :: plint_save =
zero 71 REAL(fp) :: tlint_save =
zero 72 REAL(fp),
ALLOCATABLE :: alint_save(:)
73 REAL(fp),
ALLOCATABLE :: a_save(:,:)
130 status = self%Is_Allocated
158 self%Is_Allocated = .false.
208 INTEGER ,
INTENT(IN) :: n_layers
209 INTEGER ,
INTENT(IN) :: n_absorbers
211 INTEGER :: alloc_stat
214 IF ( n_layers < 1 .OR. n_absorbers < 1 )
RETURN 217 ALLOCATE( self%pl(0:n_layers), self%tl(0:n_layers), self%al(0:n_layers, 1:n_absorbers), &
218 self%p(1:n_layers) , self%t(1:n_layers) , self%a(1:n_layers, 1:n_absorbers) , &
219 self%aln_save(1:n_absorbers), &
220 self%alint_save(1:n_absorbers), &
221 self%a_save(1:n_layers,1:n_absorbers), &
223 IF ( alloc_stat /= 0 )
RETURN 227 self%n_Layers = n_layers
228 self%n_Absorbers = n_absorbers
237 self%alint_save =
zero 241 self%Is_Allocated = .true.
integer, parameter, public failure
integer, parameter, public set
real(fp), parameter, public zero
elemental logical function, public iatm_associated(self)
integer, parameter, public fp
elemental subroutine, public iatm_create(self, n_Layers, n_Absorbers)
recursive subroutine, public display_message(Routine_Name, Message, Error_State, Message_Log)
character(*), parameter module_version_id
elemental subroutine, public iatm_destroy(self)
integer, parameter, public success