14 character(len=*),
intent(in) :: dim_name
15 integer(i_long) :: i, ind
30 character(len=*),
intent(in) :: dim_name
31 integer(i_long) ,
intent(in) :: dim_size
32 integer(i_long),
optional,
intent(in) :: dim_ul_size
34 integer(i_long) :: dim_index
35 character(len=1000) :: err_string
41 if (dim_index == -1)
then 77 if (dim_size /= -1)
then 79 if ((index(dim_name,
"_maxstrlen") /= 0) .OR. (index(dim_name,
"_str_dim") /= 0))
then 84 write (err_string,
"(A, I0, A, I0, A)") &
85 "Fixed dimension length changed between files!" // &
87 "(Fixed dimension '" // dim_name //
"' changed from length ", &
99 write (err_string,
"(A, I0, A)") &
100 "Changed from a fixed dimension length to unlimited" // &
102 "dimension length. (Fixed dimension '" // &
113 if (
present(dim_ul_size))
then 116 call ncdc_warning(
"Call made for unlimited dimension without specifying unlimited size!")
integer(i_long), dimension(:), allocatable dim_output_ids
subroutine nc_diag_cat_metadata_add_dim(dim_name, dim_size, dim_ul_size)
integer(i_long) dim_arr_size
integer, parameter, public i_long
character(len=100), dimension(:), allocatable dim_names
integer(i_long) function nc_diag_cat_lookup_dim(dim_name)
integer(i_long), dimension(:), allocatable dim_counters
subroutine ncdc_error(err)
subroutine ncdc_warning(warn)
integer(i_long), dimension(:), allocatable dim_unlim_sizes
integer(i_long), parameter dim_start_size
integer(i_long) dim_arr_total
integer(i_long), dimension(:), allocatable dim_sizes