FV3 Bundle
ncdc_state.F90
Go to the documentation of this file.
1 module ncdc_state
2  use ncd_kinds, only: i_long
4 
5  implicit none
6 
7 #ifdef USE_MPI
8  integer(i_long) :: cur_proc, num_procs, ierr
9 #endif
10 
11  character(len=10000000) :: prgm_name, dummy_arg, output_file, input_file
12  integer(i_long) :: cli_arg_count, input_count
13 
14  integer(i_long) :: ncid_output, ncid_input
15 
16  ! Dimension storage
17  character(len=100), dimension(:), allocatable :: dim_names
18  integer(i_long), dimension(:), allocatable :: dim_sizes
19  integer(i_long), dimension(:), allocatable :: dim_output_ids
20  integer(i_long), dimension(:), allocatable :: dim_counters
21  integer(i_long), dimension(:), allocatable :: dim_unlim_sizes
22 
23  ! Array storage info for dimension storage
24  integer(i_long) :: dim_arr_total = 0
25  integer(i_long) :: dim_arr_size = 0
26 
27  integer(i_long) :: num_unlims
28 
29  ! dim_sizes(i) of -1 designates an unlimited dimension
30 
31  ! Variable dimensions storage
32  ! See ncdc_realloc for nc_diag_cat_dim_names derived type def
33 
34  ! Variable storage
35  character(len=100), dimension(:), allocatable :: var_names
36  integer(i_long), dimension(:), allocatable :: var_types
37  type(nc_diag_cat_dim_names), dimension(:), allocatable :: var_dim_names
38  integer(i_long), dimension(:), allocatable :: var_output_ids
39  integer(i_long), dimension(:), allocatable :: var_counters
40  logical, dimension(:), allocatable :: var_hasunlim
41 
42  ! Array storage info for variable storage
43  integer(i_long) :: var_arr_total = 0
44  integer(i_long) :: var_arr_size = 0
45 
46  ! Data blob stores entire variable's data!
47  ! Indexing uses the metadata indexing system.
48  type(data_blob), dimension(:), allocatable :: data_blobs
49 end module ncdc_state
integer(i_long) var_arr_total
Definition: ncdc_state.F90:43
integer(i_long), dimension(:), allocatable dim_output_ids
Definition: ncdc_state.F90:19
character(len=10000000) output_file
Definition: ncdc_state.F90:11
integer(i_long) dim_arr_size
Definition: ncdc_state.F90:25
integer(i_long), dimension(:), allocatable var_types
Definition: ncdc_state.F90:36
integer, parameter, public i_long
Definition: ncd_kinds.F90:47
character(len=100), dimension(:), allocatable dim_names
Definition: ncdc_state.F90:17
integer(i_long) cli_arg_count
Definition: ncdc_state.F90:12
character(len=10000000) prgm_name
Definition: ncdc_state.F90:11
character(len=100), dimension(:), allocatable var_names
Definition: ncdc_state.F90:35
integer(i_long) ncid_output
Definition: ncdc_state.F90:14
integer(i_long), dimension(:), allocatable dim_counters
Definition: ncdc_state.F90:20
integer(i_long) ncid_input
Definition: ncdc_state.F90:14
integer(i_long), dimension(:), allocatable dim_unlim_sizes
Definition: ncdc_state.F90:21
integer(i_long) var_arr_size
Definition: ncdc_state.F90:44
integer(i_long) input_count
Definition: ncdc_state.F90:12
integer(i_long), dimension(:), allocatable var_counters
Definition: ncdc_state.F90:39
logical, dimension(:), allocatable var_hasunlim
Definition: ncdc_state.F90:40
type(nc_diag_cat_dim_names), dimension(:), allocatable var_dim_names
Definition: ncdc_state.F90:37
integer(i_long), dimension(:), allocatable var_output_ids
Definition: ncdc_state.F90:38
integer(i_long) dim_arr_total
Definition: ncdc_state.F90:24
type(data_blob), dimension(:), allocatable data_blobs
Definition: ncdc_state.F90:48
character(len=10000000) dummy_arg
Definition: ncdc_state.F90:11
integer(i_long), dimension(:), allocatable dim_sizes
Definition: ncdc_state.F90:18
character(len=10000000) input_file
Definition: ncdc_state.F90:11
integer(i_long) num_unlims
Definition: ncdc_state.F90:27