!################################################################## !################################################################## !###### ###### !###### ALLOC.INC ###### !###### ###### !###### Developed by ###### !###### Center for Analysis and Prediction of Storms ###### !###### University of Oklahoma ###### !###### ###### !################################################################## !################################################################## !----------------------------------------------------------------------- ! ! PURPOSE: ! Provides interface definitions for array allocation and deallocation ! subroutines. This include file is required whenever those subroutines ! are called. ! !----------------------------------------------------------------------- ! ! AUTHOR: Ming Xue ! 7/14/99 ! ! MODIFICATION HISTORY: ! ! 2000/04/17 (Gene Bassett) ! Converted to F90 fixed format. ! !----------------------------------------------------------------------- interface SUBROUTINE alloc_real_1d_array(array,variable,nx) REAL, pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx END SUBROUTINE alloc_real_1d_array SUBROUTINE alloc_real_2d_array(array,variable,nx,ny) REAL, pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny END SUBROUTINE alloc_real_2d_array SUBROUTINE alloc_real_3d_array(array,variable,nx,ny,nz) REAL, pointer :: array(:,:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny,nz END SUBROUTINE alloc_real_3d_array SUBROUTINE alloc_real_4d_array(array,variable,nx,ny,nz,nt) REAL, pointer :: array(:,:,:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny,nz,nt END SUBROUTINE alloc_real_4d_array SUBROUTINE alloc_int_1d_array(array,variable,nx) INTEGER, pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx END SUBROUTINE alloc_int_1d_array SUBROUTINE alloc_int_2d_array(array,variable,nx,ny) INTEGER, pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny END SUBROUTINE alloc_int_2d_array SUBROUTINE alloc_int_3d_array(array,variable,nx,ny,nz) INTEGER, pointer :: array(:,:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny,nz END SUBROUTINE alloc_int_3d_array SUBROUTINE alloc_int_4d_array(array,variable,nx,ny,nz,nt) INTEGER, pointer :: array(:,:,:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny,nz,nt END SUBROUTINE alloc_int_4d_array SUBROUTINE alloc_logic_2d_array(array,variable,nx,ny) LOGICAL, pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny END SUBROUTINE alloc_logic_2d_array SUBROUTINE alloc_int2_1d_array(array,variable,nx) INTEGER(kind=2), pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx END SUBROUTINE alloc_int2_1d_array SUBROUTINE alloc_int2_2d_array(array,variable,nx,ny) INTEGER(kind=2), pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny END SUBROUTINE alloc_int2_2d_array SUBROUTINE alloc_int2_3d_array(array,variable,nx,ny,nz) INTEGER(kind=2), pointer :: array(:,:,:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx,ny,nz END SUBROUTINE alloc_int2_3d_array SUBROUTINE alloc_char_1d_array(array,variable,nx) CHARACTER, pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable INTEGER, intent(in) :: nx END SUBROUTINE alloc_char_1d_array SUBROUTINE dealloc_real_1d_array(array,variable) REAL, pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_real_1d_array SUBROUTINE dealloc_real_2d_array(array,variable) REAL, pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_real_2d_array SUBROUTINE dealloc_real_3d_array(array,variable) REAL, pointer :: array(:,:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_real_3d_array SUBROUTINE dealloc_real_4d_array(array,variable) REAL, pointer :: array(:,:,:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_real_4d_array SUBROUTINE dealloc_int_1d_array(array,variable) INTEGER, pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int_1d_array SUBROUTINE dealloc_int_2d_array(array,variable) INTEGER, pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int_2d_array SUBROUTINE dealloc_int_3d_array(array,variable) INTEGER, pointer :: array(:,:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int_3d_array SUBROUTINE dealloc_int_4d_array(array,variable) INTEGER, pointer :: array(:,:,:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int_4d_array SUBROUTINE dealloc_logic_2d_array(array,variable) LOGICAL, pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_logic_2d_array SUBROUTINE dealloc_int2_1d_array(array,variable) INTEGER(kind=2), pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int2_1d_array SUBROUTINE dealloc_int2_2d_array(array,variable) INTEGER(kind=2), pointer :: array(:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int2_2d_array SUBROUTINE dealloc_int2_3d_array(array,variable) INTEGER(kind=2), pointer :: array(:,:,:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_int2_3d_array SUBROUTINE dealloc_char_1d_array(array,variable) CHARACTER, pointer :: array(:) CHARACTER(LEN=*), intent(in) :: variable END SUBROUTINE dealloc_char_1d_array END interface REAL :: current_memory_use REAL :: max_memory_use COMMON /memory_use/ current_memory_use, max_memory_use