FMS  2024.03
Flexible Modeling System
fms_io_utils_mod

Misc. utility routines for use in FMS2 IO. More...

Data Types

interface  allocate_array
 
type  char_linked_list
 A linked list of strings. More...
 
interface  get_array_section
 
interface  get_data_type_string
 
interface  get_mosaic_tile_file
 
interface  parse_mask_table
 
interface  put_array_section
 

Functions/Subroutines

subroutine allocate_array_char_1d (buf, sizes, initialize)
 Allocate character arrays using an input array of sizes. More...
 
subroutine allocate_array_char_2d (buf, sizes, initialize)
 Allocate character arrays using an input array of sizes. More...
 
subroutine allocate_array_char_3d (buf, sizes, initialize)
 Allocate character arrays using an input array of sizes. More...
 
subroutine allocate_array_char_4d (buf, sizes, initialize)
 Allocate character arrays using an input array of sizes. More...
 
subroutine allocate_array_char_5d (buf, sizes, initialize)
 Allocate character arrays using an input array of sizes. More...
 
subroutine allocate_array_char_6d (buf, sizes, initialize)
 Allocate character arrays using an input array of sizes. More...
 
subroutine allocate_array_i4_kind_1d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i4_kind_2d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i4_kind_3d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i4_kind_4d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i4_kind_5d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i8_kind_1d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i8_kind_2d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i8_kind_3d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i8_kind_4d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_i8_kind_5d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r4_kind_1d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r4_kind_2d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r4_kind_3d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r4_kind_4d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r4_kind_5d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r8_kind_1d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r8_kind_2d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r8_kind_3d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r8_kind_4d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine allocate_array_r8_kind_5d (buf, sizes)
 Allocate arrays using an input array of sizes. More...
 
subroutine, public append_to_list (list, string)
 Add node to character linked list. More...
 
subroutine, public ascii_read (ascii_filename, ascii_var, num_lines, max_length)
 Read the ascii text from filename ascii_filenameinto string array ascii_var More...
 
subroutine, public destroy_list (list)
 Deallocate all nodes on a character linked list. More...
 
subroutine, public domain_tile_filepath_mangle (dest, source, domain_tile_id)
 Add the domain tile id to an input filepath. More...
 
subroutine, public error (mesg)
 Print a message to stderr, then stop the program. More...
 
logical function, public file_exists (path)
 Determine if a file exists. More...
 
subroutine get_array_section_i4_kind_1d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i4_kind_2d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i4_kind_3d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i4_kind_4d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i4_kind_5d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i8_kind_1d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i8_kind_2d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i8_kind_3d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i8_kind_4d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_i8_kind_5d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r4_kind_1d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r4_kind_2d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r4_kind_3d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r4_kind_4d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r4_kind_5d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r8_kind_1d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r8_kind_2d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r8_kind_3d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r8_kind_4d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_array_section_r8_kind_5d (section, array, s, c)
 Get a section of larger array. More...
 
subroutine get_data_type_string_0d (sdata, type_string)
 Return a string describing the input data's type.
 
subroutine get_data_type_string_1d (sdata, type_string)
 Return a string describing the input data's type.
 
subroutine get_data_type_string_2d (sdata, type_string)
 Return a string describing the input data's type.
 
subroutine get_data_type_string_3d (sdata, type_string)
 Return a string describing the input data's type.
 
subroutine get_data_type_string_4d (sdata, type_string)
 Return a string describing the input data's type.
 
subroutine get_data_type_string_5d (sdata, type_string)
 Return a string describing the input data's type.
 
subroutine, public get_filename_appendix (string_out)
 Writes filename appendix to "string_out". More...
 
subroutine, public get_instance_filename (name_in, name_out)
 Adds the filename_appendix to name_in and sets it as name_out. More...
 
subroutine get_mosaic_tile_file_sg (file_in, file_out, is_no_domain, domain, tile_count)
 Determine tile_file for structured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides) More...
 
subroutine get_mosaic_tile_file_ug (file_in, file_out, domain)
 Determine tile_file for unstructured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides) More...
 
logical function has_domain_tile_string (string)
 Determine if the "domain tile string" (.tilex.) exists in the input filename. More...
 
logical function has_io_domain_tile_string (string)
 Determine if the "I/O domain tile string" (.nc.xxxx) exists in the input filename. More...
 
logical function has_restart_string (string)
 Determine if the "restart string" (.res.) exists in the input filename. More...
 
subroutine, public io_domain_tile_filepath_mangle (dest, source, io_domain_tile_id)
 Add the I/O domain tile id to an input filepath. More...
 
logical function, public is_in_list (list, string, ignore_case)
 Determine if a string exists in a character linked list. More...
 
subroutine, public nullify_filename_appendix ()
 Clears the filename_appendix module variable.
 
subroutine, public open_check (flag, fname)
 
subroutine, public openmp_thread_trap ()
 Catch OpenMP parallel machines.
 
subroutine parse_mask_table_2d (mask_table, maskmap, modelname)
 Populate 2D maskmap from mask_table given a model. More...
 
subroutine parse_mask_table_3d (mask_table, maskmap, modelname)
 Populate 3D maskmap from mask_table given a model. More...
 
subroutine put_array_section_i4_kind_1d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i4_kind_2d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i4_kind_3d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i4_kind_4d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i4_kind_5d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i8_kind_1d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i8_kind_2d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i8_kind_3d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i8_kind_4d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_i8_kind_5d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r4_kind_1d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r4_kind_2d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r4_kind_3d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r4_kind_4d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r4_kind_5d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r8_kind_1d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r8_kind_2d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r8_kind_3d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r8_kind_4d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine put_array_section_r8_kind_5d (section, array, s, c)
 Put a section of an array into a larger array. More...
 
subroutine, public restart_filepath_mangle (dest, source)
 Add ".res" to an input file path.
 
subroutine, public set_filename_appendix (string_in)
 Save "string_in" as a module variable that will added to the filename of the restart files. More...
 
logical function, public string_compare (string1, string2, ignore_case)
 Compare strings. More...
 

Detailed Description

Misc. utility routines for use in FMS2 IO.


Data Type Documentation

◆ fms_io_utils_mod::allocate_array

interface fms_io_utils_mod::allocate_array

Definition at line 89 of file fms_io_utils.F90.

Private Member Functions

 allocate_array_char_1d
 
 allocate_array_char_2d
 
 allocate_array_char_3d
 
 allocate_array_char_4d
 
 allocate_array_char_5d
 
 allocate_array_char_6d
 
 allocate_array_i4_kind_1d
 
 allocate_array_i4_kind_2d
 
 allocate_array_i4_kind_3d
 
 allocate_array_i4_kind_4d
 
 allocate_array_i4_kind_5d
 
 allocate_array_i8_kind_1d
 
 allocate_array_i8_kind_2d
 
 allocate_array_i8_kind_3d
 
 allocate_array_i8_kind_4d
 
 allocate_array_i8_kind_5d
 
 allocate_array_r4_kind_1d
 
 allocate_array_r4_kind_2d
 
 allocate_array_r4_kind_3d
 
 allocate_array_r4_kind_4d
 
 allocate_array_r4_kind_5d
 
 allocate_array_r8_kind_1d
 
 allocate_array_r8_kind_2d
 
 allocate_array_r8_kind_3d
 
 allocate_array_r8_kind_4d
 
 allocate_array_r8_kind_5d
 

◆ fms_io_utils_mod::char_linked_list

type fms_io_utils_mod::char_linked_list

A linked list of strings.

Definition at line 71 of file fms_io_utils.F90.

Collaboration diagram for char_linked_list:
[legend]

Private Attributes

type(char_linked_list), pointer head => null()
 
character(len=128) string
 

◆ fms_io_utils_mod::get_array_section

interface fms_io_utils_mod::get_array_section

Definition at line 145 of file fms_io_utils.F90.

Private Member Functions

 get_array_section_i4_kind_1d
 
 get_array_section_i4_kind_2d
 
 get_array_section_i4_kind_3d
 
 get_array_section_i4_kind_4d
 
 get_array_section_i4_kind_5d
 
 get_array_section_i8_kind_1d
 
 get_array_section_i8_kind_2d
 
 get_array_section_i8_kind_3d
 
 get_array_section_i8_kind_4d
 
 get_array_section_i8_kind_5d
 
 get_array_section_r4_kind_1d
 
 get_array_section_r4_kind_2d
 
 get_array_section_r4_kind_3d
 
 get_array_section_r4_kind_4d
 
 get_array_section_r4_kind_5d
 
 get_array_section_r8_kind_1d
 
 get_array_section_r8_kind_2d
 
 get_array_section_r8_kind_3d
 
 get_array_section_r8_kind_4d
 
 get_array_section_r8_kind_5d
 

◆ fms_io_utils_mod::get_data_type_string

interface fms_io_utils_mod::get_data_type_string

Definition at line 170 of file fms_io_utils.F90.

Private Member Functions

 get_data_type_string_0d
 
 get_data_type_string_1d
 
 get_data_type_string_2d
 
 get_data_type_string_3d
 
 get_data_type_string_4d
 
 get_data_type_string_5d
 

◆ fms_io_utils_mod::get_mosaic_tile_file

interface fms_io_utils_mod::get_mosaic_tile_file

Definition at line 83 of file fms_io_utils.F90.

Private Member Functions

subroutine get_mosaic_tile_file_sg (file_in, file_out, is_no_domain, domain, tile_count)
 Determine tile_file for structured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides) More...
 
subroutine get_mosaic_tile_file_ug (file_in, file_out, domain)
 Determine tile_file for unstructured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides) More...
 

Member Function/Subroutine Documentation

◆ get_mosaic_tile_file_sg()

subroutine get_mosaic_tile_file_sg ( character(len=*), intent(in)  file_in,
character(len=*), intent(out)  file_out,
logical, intent(in)  is_no_domain,
type(domain2d), intent(in), optional, target  domain,
integer, intent(in), optional  tile_count 
)
private

Determine tile_file for structured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides)

Parameters
[in]file_inname of 'base' file
[out]file_outname of tile_file
[in]is_no_domainare we providing a domain
[in]domaindomain provided
[in]tile_counttile count

Definition at line 673 of file fms_io_utils.F90.

◆ get_mosaic_tile_file_ug()

subroutine get_mosaic_tile_file_ug ( character(len=*), intent(in)  file_in,
character(len=*), intent(out)  file_out,
type(domainug), intent(in), optional  domain 
)
private

Determine tile_file for unstructured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides)

Parameters
[in]file_inname of base file
[out]file_outname of tile file
[in]domaindomain provided

Definition at line 734 of file fms_io_utils.F90.

◆ fms_io_utils_mod::parse_mask_table

interface fms_io_utils_mod::parse_mask_table

Definition at line 77 of file fms_io_utils.F90.

Private Member Functions

subroutine parse_mask_table_2d (mask_table, maskmap, modelname)
 Populate 2D maskmap from mask_table given a model. More...
 
subroutine parse_mask_table_3d (mask_table, maskmap, modelname)
 Populate 3D maskmap from mask_table given a model. More...
 

Member Function/Subroutine Documentation

◆ parse_mask_table_2d()

subroutine parse_mask_table_2d ( character(len=*), intent(in)  mask_table,
logical, dimension(:,:), intent(out)  maskmap,
character(len=*), intent(in)  modelname 
)
private

Populate 2D maskmap from mask_table given a model.

Parameters
[in]mask_tableMask table to be read in
[out]maskmap2D Mask output
[in]modelnameModel to which this applies

Definition at line 474 of file fms_io_utils.F90.

◆ parse_mask_table_3d()

subroutine parse_mask_table_3d ( character(len=*), intent(in)  mask_table,
logical, dimension(:,:,:), intent(out)  maskmap,
character(len=*), intent(in)  modelname 
)
private

Populate 3D maskmap from mask_table given a model.

Parameters
[in]mask_tableMask table to be read in
[out]maskmap2D Mask output
[in]modelnameModel to which this applies

Definition at line 570 of file fms_io_utils.F90.

◆ fms_io_utils_mod::put_array_section

interface fms_io_utils_mod::put_array_section

Definition at line 120 of file fms_io_utils.F90.

Private Member Functions

 put_array_section_i4_kind_1d
 
 put_array_section_i4_kind_2d
 
 put_array_section_i4_kind_3d
 
 put_array_section_i4_kind_4d
 
 put_array_section_i4_kind_5d
 
 put_array_section_i8_kind_1d
 
 put_array_section_i8_kind_2d
 
 put_array_section_i8_kind_3d
 
 put_array_section_i8_kind_4d
 
 put_array_section_i8_kind_5d
 
 put_array_section_r4_kind_1d
 
 put_array_section_r4_kind_2d
 
 put_array_section_r4_kind_3d
 
 put_array_section_r4_kind_4d
 
 put_array_section_r4_kind_5d
 
 put_array_section_r8_kind_1d
 
 put_array_section_r8_kind_2d
 
 put_array_section_r8_kind_3d
 
 put_array_section_r8_kind_4d
 
 put_array_section_r8_kind_5d
 

Function/Subroutine Documentation

◆ allocate_array_char_1d()

subroutine allocate_array_char_1d ( character(len=*), dimension(:), intent(inout), allocatable  buf,
integer, dimension(1), intent(in)  sizes,
logical, intent(in), optional  initialize 
)

Allocate character arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.
[in]initializeOptional argument when true will initialize with a blank string.

Definition at line 26 of file array_utils_char.inc.

◆ allocate_array_char_2d()

subroutine allocate_array_char_2d ( character(len=*), dimension(:,:), intent(inout), allocatable  buf,
integer, dimension(2), intent(in)  sizes,
logical, intent(in), optional  initialize 
)

Allocate character arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.
[in]initializeOptional argument when true will initialize with a blank string.

Definition at line 55 of file array_utils_char.inc.

◆ allocate_array_char_3d()

subroutine allocate_array_char_3d ( character(len=*), dimension(:,:,:), intent(inout), allocatable  buf,
integer, dimension(3), intent(in)  sizes,
logical, intent(in), optional  initialize 
)

Allocate character arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.
[in]initializeOptional argument when true will initialize with a blank string.

Definition at line 86 of file array_utils_char.inc.

◆ allocate_array_char_4d()

subroutine allocate_array_char_4d ( character(len=*), dimension(:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(4), intent(in)  sizes,
logical, intent(in), optional  initialize 
)

Allocate character arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.
[in]initializeOptional argument when true will initialize with a blank string.

Definition at line 119 of file array_utils_char.inc.

◆ allocate_array_char_5d()

subroutine allocate_array_char_5d ( character(len=*), dimension(:,:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(5), intent(in)  sizes,
logical, intent(in), optional  initialize 
)

Allocate character arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.
[in]initializeOptional argument when true will initialize with a blank string.

Definition at line 153 of file array_utils_char.inc.

◆ allocate_array_char_6d()

subroutine allocate_array_char_6d ( character(len=*), dimension(:,:,:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(6), intent(in)  sizes,
logical, intent(in), optional  initialize 
)

Allocate character arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.
[in]initializeOptional argument when true will initialize with a blank string.

Definition at line 189 of file array_utils_char.inc.

◆ allocate_array_i4_kind_1d()

subroutine allocate_array_i4_kind_1d ( integer(kind=i4_kind), dimension(:), intent(inout), allocatable  buf,
integer, dimension(1), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 26 of file array_utils.inc.

◆ allocate_array_i4_kind_2d()

subroutine allocate_array_i4_kind_2d ( integer(kind=i4_kind), dimension(:,:), intent(inout), allocatable  buf,
integer, dimension(2), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 63 of file array_utils.inc.

◆ allocate_array_i4_kind_3d()

subroutine allocate_array_i4_kind_3d ( integer(kind=i4_kind), dimension(:,:,:), intent(inout), allocatable  buf,
integer, dimension(3), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 100 of file array_utils.inc.

◆ allocate_array_i4_kind_4d()

subroutine allocate_array_i4_kind_4d ( integer(kind=i4_kind), dimension(:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(4), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 137 of file array_utils.inc.

◆ allocate_array_i4_kind_5d()

subroutine allocate_array_i4_kind_5d ( integer(kind=i4_kind), dimension(:,:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(5), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 174 of file array_utils.inc.

◆ allocate_array_i8_kind_1d()

subroutine allocate_array_i8_kind_1d ( integer(kind=i8_kind), dimension(:), intent(inout), allocatable  buf,
integer, dimension(1), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 211 of file array_utils.inc.

◆ allocate_array_i8_kind_2d()

subroutine allocate_array_i8_kind_2d ( integer(kind=i8_kind), dimension(:,:), intent(inout), allocatable  buf,
integer, dimension(2), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 248 of file array_utils.inc.

◆ allocate_array_i8_kind_3d()

subroutine allocate_array_i8_kind_3d ( integer(kind=i8_kind), dimension(:,:,:), intent(inout), allocatable  buf,
integer, dimension(3), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 285 of file array_utils.inc.

◆ allocate_array_i8_kind_4d()

subroutine allocate_array_i8_kind_4d ( integer(kind=i8_kind), dimension(:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(4), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 322 of file array_utils.inc.

◆ allocate_array_i8_kind_5d()

subroutine allocate_array_i8_kind_5d ( integer(kind=i8_kind), dimension(:,:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(5), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 359 of file array_utils.inc.

◆ allocate_array_r4_kind_1d()

subroutine allocate_array_r4_kind_1d ( real(kind=r4_kind), dimension(:), intent(inout), allocatable  buf,
integer, dimension(1), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 396 of file array_utils.inc.

◆ allocate_array_r4_kind_2d()

subroutine allocate_array_r4_kind_2d ( real(kind=r4_kind), dimension(:,:), intent(inout), allocatable  buf,
integer, dimension(2), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 433 of file array_utils.inc.

◆ allocate_array_r4_kind_3d()

subroutine allocate_array_r4_kind_3d ( real(kind=r4_kind), dimension(:,:,:), intent(inout), allocatable  buf,
integer, dimension(3), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 470 of file array_utils.inc.

◆ allocate_array_r4_kind_4d()

subroutine allocate_array_r4_kind_4d ( real(kind=r4_kind), dimension(:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(4), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 507 of file array_utils.inc.

◆ allocate_array_r4_kind_5d()

subroutine allocate_array_r4_kind_5d ( real(kind=r4_kind), dimension(:,:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(5), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 544 of file array_utils.inc.

◆ allocate_array_r8_kind_1d()

subroutine allocate_array_r8_kind_1d ( real(kind=r8_kind), dimension(:), intent(inout), allocatable  buf,
integer, dimension(1), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 581 of file array_utils.inc.

◆ allocate_array_r8_kind_2d()

subroutine allocate_array_r8_kind_2d ( real(kind=r8_kind), dimension(:,:), intent(inout), allocatable  buf,
integer, dimension(2), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 618 of file array_utils.inc.

◆ allocate_array_r8_kind_3d()

subroutine allocate_array_r8_kind_3d ( real(kind=r8_kind), dimension(:,:,:), intent(inout), allocatable  buf,
integer, dimension(3), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 655 of file array_utils.inc.

◆ allocate_array_r8_kind_4d()

subroutine allocate_array_r8_kind_4d ( real(kind=r8_kind), dimension(:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(4), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 692 of file array_utils.inc.

◆ allocate_array_r8_kind_5d()

subroutine allocate_array_r8_kind_5d ( real(kind=r8_kind), dimension(:,:,:,:,:), intent(inout), allocatable  buf,
integer, dimension(5), intent(in)  sizes 
)

Allocate arrays using an input array of sizes.

Parameters
[in,out]bufArray that will be allocated.
[in]sizesArray of dimension sizes.

Definition at line 729 of file array_utils.inc.

◆ append_to_list()

subroutine, public fms_io_utils_mod::append_to_list ( type(char_linked_list), intent(inout), pointer  list,
character(len=*), intent(in)  string 
)

Add node to character linked list.

Parameters
[in,out]listLinked list.
[in]stringInput string.

Definition at line 269 of file fms_io_utils.F90.

◆ ascii_read()

subroutine, public fms_io_utils_mod::ascii_read ( character(len=*), intent(in)  ascii_filename,
character(len=:), dimension(:), intent(out), allocatable  ascii_var,
integer, intent(out), optional  num_lines,
integer, intent(out), optional  max_length 
)

Read the ascii text from filename ascii_filenameinto string array ascii_var

Parameters
[in]ascii_filenameThe file name to be read
[out]ascii_varThe string array
[out]num_linesOptional argument to return number of lines in file
[out]max_lengthOptional argument to return max_length of line in file

Definition at line 457 of file fms_io_utils.F90.

◆ destroy_list()

subroutine, public fms_io_utils_mod::destroy_list ( type(char_linked_list), intent(inout), pointer  list)

Deallocate all nodes on a character linked list.

Parameters
[in,out]listLinked list.

Definition at line 292 of file fms_io_utils.F90.

◆ domain_tile_filepath_mangle()

subroutine, public fms_io_utils_mod::domain_tile_filepath_mangle ( character(len=*), intent(inout)  dest,
character(len=*), intent(in)  source,
integer, intent(in)  domain_tile_id 
)

Add the domain tile id to an input filepath.

Parameters
[in,out]destOutput filepath.
[in]sourceInput filepath.
[in]domain_tile_idDomain tile id.

Definition at line 344 of file fms_io_utils.F90.

◆ error()

subroutine, public fms_io_utils_mod::error ( character(len=*), intent(in)  mesg)

Print a message to stderr, then stop the program.

Parameters
[in]mesgMessage that will be printed to stderr.

Definition at line 185 of file fms_io_utils.F90.

◆ file_exists()

logical function, public fms_io_utils_mod::file_exists ( character(len=*), intent(in)  path)

Determine if a file exists.

Returns
Flag telling if the file exists.
Parameters
[in]pathPath to file.

Definition at line 196 of file fms_io_utils.F90.

◆ get_array_section_i4_kind_1d()

subroutine get_array_section_i4_kind_1d ( integer(kind=i4_kind), dimension(:), intent(inout)  section,
integer(kind=i4_kind), dimension(:), intent(in)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 51 of file array_utils.inc.

◆ get_array_section_i4_kind_2d()

subroutine get_array_section_i4_kind_2d ( integer(kind=i4_kind), dimension(:,:), intent(inout)  section,
integer(kind=i4_kind), dimension(:,:), intent(in)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 88 of file array_utils.inc.

◆ get_array_section_i4_kind_3d()

subroutine get_array_section_i4_kind_3d ( integer(kind=i4_kind), dimension(:,:,:), intent(inout)  section,
integer(kind=i4_kind), dimension(:,:,:), intent(in)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 125 of file array_utils.inc.

◆ get_array_section_i4_kind_4d()

subroutine get_array_section_i4_kind_4d ( integer(kind=i4_kind), dimension(:,:,:,:), intent(inout)  section,
integer(kind=i4_kind), dimension(:,:,:,:), intent(in)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 162 of file array_utils.inc.

◆ get_array_section_i4_kind_5d()

subroutine get_array_section_i4_kind_5d ( integer(kind=i4_kind), dimension(:,:,:,:,:), intent(inout)  section,
integer(kind=i4_kind), dimension(:,:,:,:,:), intent(in)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 199 of file array_utils.inc.

◆ get_array_section_i8_kind_1d()

subroutine get_array_section_i8_kind_1d ( integer(kind=i8_kind), dimension(:), intent(inout)  section,
integer(kind=i8_kind), dimension(:), intent(in)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 236 of file array_utils.inc.

◆ get_array_section_i8_kind_2d()

subroutine get_array_section_i8_kind_2d ( integer(kind=i8_kind), dimension(:,:), intent(inout)  section,
integer(kind=i8_kind), dimension(:,:), intent(in)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 273 of file array_utils.inc.

◆ get_array_section_i8_kind_3d()

subroutine get_array_section_i8_kind_3d ( integer(kind=i8_kind), dimension(:,:,:), intent(inout)  section,
integer(kind=i8_kind), dimension(:,:,:), intent(in)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 310 of file array_utils.inc.

◆ get_array_section_i8_kind_4d()

subroutine get_array_section_i8_kind_4d ( integer(kind=i8_kind), dimension(:,:,:,:), intent(inout)  section,
integer(kind=i8_kind), dimension(:,:,:,:), intent(in)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 347 of file array_utils.inc.

◆ get_array_section_i8_kind_5d()

subroutine get_array_section_i8_kind_5d ( integer(kind=i8_kind), dimension(:,:,:,:,:), intent(inout)  section,
integer(kind=i8_kind), dimension(:,:,:,:,:), intent(in)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 384 of file array_utils.inc.

◆ get_array_section_r4_kind_1d()

subroutine get_array_section_r4_kind_1d ( real(kind=r4_kind), dimension(:), intent(inout)  section,
real(kind=r4_kind), dimension(:), intent(in)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 421 of file array_utils.inc.

◆ get_array_section_r4_kind_2d()

subroutine get_array_section_r4_kind_2d ( real(kind=r4_kind), dimension(:,:), intent(inout)  section,
real(kind=r4_kind), dimension(:,:), intent(in)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 458 of file array_utils.inc.

◆ get_array_section_r4_kind_3d()

subroutine get_array_section_r4_kind_3d ( real(kind=r4_kind), dimension(:,:,:), intent(inout)  section,
real(kind=r4_kind), dimension(:,:,:), intent(in)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 495 of file array_utils.inc.

◆ get_array_section_r4_kind_4d()

subroutine get_array_section_r4_kind_4d ( real(kind=r4_kind), dimension(:,:,:,:), intent(inout)  section,
real(kind=r4_kind), dimension(:,:,:,:), intent(in)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 532 of file array_utils.inc.

◆ get_array_section_r4_kind_5d()

subroutine get_array_section_r4_kind_5d ( real(kind=r4_kind), dimension(:,:,:,:,:), intent(inout)  section,
real(kind=r4_kind), dimension(:,:,:,:,:), intent(in)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 569 of file array_utils.inc.

◆ get_array_section_r8_kind_1d()

subroutine get_array_section_r8_kind_1d ( real(kind=r8_kind), dimension(:), intent(inout)  section,
real(kind=r8_kind), dimension(:), intent(in)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 606 of file array_utils.inc.

◆ get_array_section_r8_kind_2d()

subroutine get_array_section_r8_kind_2d ( real(kind=r8_kind), dimension(:,:), intent(inout)  section,
real(kind=r8_kind), dimension(:,:), intent(in)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 643 of file array_utils.inc.

◆ get_array_section_r8_kind_3d()

subroutine get_array_section_r8_kind_3d ( real(kind=r8_kind), dimension(:,:,:), intent(inout)  section,
real(kind=r8_kind), dimension(:,:,:), intent(in)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 680 of file array_utils.inc.

◆ get_array_section_r8_kind_4d()

subroutine get_array_section_r8_kind_4d ( real(kind=r8_kind), dimension(:,:,:,:), intent(inout)  section,
real(kind=r8_kind), dimension(:,:,:,:), intent(in)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 717 of file array_utils.inc.

◆ get_array_section_r8_kind_5d()

subroutine get_array_section_r8_kind_5d ( real(kind=r8_kind), dimension(:,:,:,:,:), intent(inout)  section,
real(kind=r8_kind), dimension(:,:,:,:,:), intent(in)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Get a section of larger array.

Parameters
[in,out]sectionSection to be extracted.
[in]arrayArray to extract the section from.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 754 of file array_utils.inc.

◆ get_filename_appendix()

subroutine, public fms_io_utils_mod::get_filename_appendix ( character(len=*), intent(out)  string_out)

Writes filename appendix to "string_out".

Parameters
[out]string_outString to write the filename_appendix to

Definition at line 774 of file fms_io_utils.F90.

◆ get_instance_filename()

subroutine, public fms_io_utils_mod::get_instance_filename ( character(len=*), intent(in)  name_in,
character(len=*), intent(inout)  name_out 
)

Adds the filename_appendix to name_in and sets it as name_out.

Parameters
[in]name_inBuffer to add the filename_appendix to
[in,out]name_outname_in with the filename_appendix

Definition at line 804 of file fms_io_utils.F90.

◆ get_mosaic_tile_file_sg()

subroutine fms_io_utils_mod::get_mosaic_tile_file_sg ( character(len=*), intent(in)  file_in,
character(len=*), intent(out)  file_out,
logical, intent(in)  is_no_domain,
type(domain2d), intent(in), optional, target  domain,
integer, intent(in), optional  tile_count 
)
private

Determine tile_file for structured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides)

Parameters
[in]file_inname of 'base' file
[out]file_outname of tile_file
[in]is_no_domainare we providing a domain
[in]domaindomain provided
[in]tile_counttile count

Definition at line 673 of file fms_io_utils.F90.

◆ get_mosaic_tile_file_ug()

subroutine fms_io_utils_mod::get_mosaic_tile_file_ug ( character(len=*), intent(in)  file_in,
character(len=*), intent(out)  file_out,
type(domainug), intent(in), optional  domain 
)
private

Determine tile_file for unstructured grid based on filename and current tile on mpp_domain (this is mostly used for ongrid data_overrides)

Parameters
[in]file_inname of base file
[out]file_outname of tile file
[in]domaindomain provided

Definition at line 734 of file fms_io_utils.F90.

◆ has_domain_tile_string()

logical function fms_io_utils_mod::has_domain_tile_string ( character(len=*), intent(in)  string)
private

Determine if the "domain tile string" (.tilex.) exists in the input filename.

Parameters
[in]stringInput string.

Definition at line 310 of file fms_io_utils.F90.

◆ has_io_domain_tile_string()

logical function fms_io_utils_mod::has_io_domain_tile_string ( character(len=*), intent(in)  string)
private

Determine if the "I/O domain tile string" (.nc.xxxx) exists in the input filename.

Parameters
[in]stringInput string.

Definition at line 366 of file fms_io_utils.F90.

◆ has_restart_string()

logical function fms_io_utils_mod::has_restart_string ( character(len=*), intent(in)  string)
private

Determine if the "restart string" (.res.) exists in the input filename.

Parameters
[in]stringInput string.

Definition at line 408 of file fms_io_utils.F90.

◆ io_domain_tile_filepath_mangle()

subroutine, public fms_io_utils_mod::io_domain_tile_filepath_mangle ( character(len=*), intent(inout)  dest,
character(len=*), intent(in)  source,
integer, intent(in)  io_domain_tile_id 
)

Add the I/O domain tile id to an input filepath.

Parameters
[in,out]destOutput filepath.
[in]sourceInput filepath.
[in]io_domain_tile_idI/O domain tile id.

Definition at line 392 of file fms_io_utils.F90.

◆ is_in_list()

logical function, public fms_io_utils_mod::is_in_list ( type(char_linked_list), intent(in), pointer  list,
character(len=*), intent(in)  string,
logical, intent(in), optional  ignore_case 
)

Determine if a string exists in a character linked list.

Returns
Flag telling if the string is found in the list.
Parameters
[in]listLinked list.
[in]stringInput string.
[in]ignore_caseFlag to ignore case.

Definition at line 245 of file fms_io_utils.F90.

◆ open_check()

subroutine, public fms_io_utils_mod::open_check ( logical, intent(in)  flag,
character(len=*), intent(in), optional  fname 
)
Parameters
[in]fnameThe file name

Definition at line 441 of file fms_io_utils.F90.

◆ parse_mask_table_2d()

subroutine fms_io_utils_mod::parse_mask_table_2d ( character(len=*), intent(in)  mask_table,
logical, dimension(:,:), intent(out)  maskmap,
character(len=*), intent(in)  modelname 
)
private

Populate 2D maskmap from mask_table given a model.

Parameters
[in]mask_tableMask table to be read in
[out]maskmap2D Mask output
[in]modelnameModel to which this applies

Definition at line 474 of file fms_io_utils.F90.

◆ parse_mask_table_3d()

subroutine fms_io_utils_mod::parse_mask_table_3d ( character(len=*), intent(in)  mask_table,
logical, dimension(:,:,:), intent(out)  maskmap,
character(len=*), intent(in)  modelname 
)
private

Populate 3D maskmap from mask_table given a model.

Parameters
[in]mask_tableMask table to be read in
[out]maskmap2D Mask output
[in]modelnameModel to which this applies

Definition at line 570 of file fms_io_utils.F90.

◆ put_array_section_i4_kind_1d()

subroutine put_array_section_i4_kind_1d ( integer(kind=i4_kind), dimension(:), intent(in)  section,
integer(kind=i4_kind), dimension(:), intent(inout)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 39 of file array_utils.inc.

◆ put_array_section_i4_kind_2d()

subroutine put_array_section_i4_kind_2d ( integer(kind=i4_kind), dimension(:,:), intent(in)  section,
integer(kind=i4_kind), dimension(:,:), intent(inout)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 76 of file array_utils.inc.

◆ put_array_section_i4_kind_3d()

subroutine put_array_section_i4_kind_3d ( integer(kind=i4_kind), dimension(:,:,:), intent(in)  section,
integer(kind=i4_kind), dimension(:,:,:), intent(inout)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 113 of file array_utils.inc.

◆ put_array_section_i4_kind_4d()

subroutine put_array_section_i4_kind_4d ( integer(kind=i4_kind), dimension(:,:,:,:), intent(in)  section,
integer(kind=i4_kind), dimension(:,:,:,:), intent(inout)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 150 of file array_utils.inc.

◆ put_array_section_i4_kind_5d()

subroutine put_array_section_i4_kind_5d ( integer(kind=i4_kind), dimension(:,:,:,:,:), intent(in)  section,
integer(kind=i4_kind), dimension(:,:,:,:,:), intent(inout)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 187 of file array_utils.inc.

◆ put_array_section_i8_kind_1d()

subroutine put_array_section_i8_kind_1d ( integer(kind=i8_kind), dimension(:), intent(in)  section,
integer(kind=i8_kind), dimension(:), intent(inout)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 224 of file array_utils.inc.

◆ put_array_section_i8_kind_2d()

subroutine put_array_section_i8_kind_2d ( integer(kind=i8_kind), dimension(:,:), intent(in)  section,
integer(kind=i8_kind), dimension(:,:), intent(inout)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 261 of file array_utils.inc.

◆ put_array_section_i8_kind_3d()

subroutine put_array_section_i8_kind_3d ( integer(kind=i8_kind), dimension(:,:,:), intent(in)  section,
integer(kind=i8_kind), dimension(:,:,:), intent(inout)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 298 of file array_utils.inc.

◆ put_array_section_i8_kind_4d()

subroutine put_array_section_i8_kind_4d ( integer(kind=i8_kind), dimension(:,:,:,:), intent(in)  section,
integer(kind=i8_kind), dimension(:,:,:,:), intent(inout)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 335 of file array_utils.inc.

◆ put_array_section_i8_kind_5d()

subroutine put_array_section_i8_kind_5d ( integer(kind=i8_kind), dimension(:,:,:,:,:), intent(in)  section,
integer(kind=i8_kind), dimension(:,:,:,:,:), intent(inout)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 372 of file array_utils.inc.

◆ put_array_section_r4_kind_1d()

subroutine put_array_section_r4_kind_1d ( real(kind=r4_kind), dimension(:), intent(in)  section,
real(kind=r4_kind), dimension(:), intent(inout)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 409 of file array_utils.inc.

◆ put_array_section_r4_kind_2d()

subroutine put_array_section_r4_kind_2d ( real(kind=r4_kind), dimension(:,:), intent(in)  section,
real(kind=r4_kind), dimension(:,:), intent(inout)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 446 of file array_utils.inc.

◆ put_array_section_r4_kind_3d()

subroutine put_array_section_r4_kind_3d ( real(kind=r4_kind), dimension(:,:,:), intent(in)  section,
real(kind=r4_kind), dimension(:,:,:), intent(inout)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 483 of file array_utils.inc.

◆ put_array_section_r4_kind_4d()

subroutine put_array_section_r4_kind_4d ( real(kind=r4_kind), dimension(:,:,:,:), intent(in)  section,
real(kind=r4_kind), dimension(:,:,:,:), intent(inout)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 520 of file array_utils.inc.

◆ put_array_section_r4_kind_5d()

subroutine put_array_section_r4_kind_5d ( real(kind=r4_kind), dimension(:,:,:,:,:), intent(in)  section,
real(kind=r4_kind), dimension(:,:,:,:,:), intent(inout)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 557 of file array_utils.inc.

◆ put_array_section_r8_kind_1d()

subroutine put_array_section_r8_kind_1d ( real(kind=r8_kind), dimension(:), intent(in)  section,
real(kind=r8_kind), dimension(:), intent(inout)  array,
integer, dimension(1), intent(in)  s,
integer, dimension(1), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 594 of file array_utils.inc.

◆ put_array_section_r8_kind_2d()

subroutine put_array_section_r8_kind_2d ( real(kind=r8_kind), dimension(:,:), intent(in)  section,
real(kind=r8_kind), dimension(:,:), intent(inout)  array,
integer, dimension(2), intent(in)  s,
integer, dimension(2), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 631 of file array_utils.inc.

◆ put_array_section_r8_kind_3d()

subroutine put_array_section_r8_kind_3d ( real(kind=r8_kind), dimension(:,:,:), intent(in)  section,
real(kind=r8_kind), dimension(:,:,:), intent(inout)  array,
integer, dimension(3), intent(in)  s,
integer, dimension(3), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 668 of file array_utils.inc.

◆ put_array_section_r8_kind_4d()

subroutine put_array_section_r8_kind_4d ( real(kind=r8_kind), dimension(:,:,:,:), intent(in)  section,
real(kind=r8_kind), dimension(:,:,:,:), intent(inout)  array,
integer, dimension(4), intent(in)  s,
integer, dimension(4), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 705 of file array_utils.inc.

◆ put_array_section_r8_kind_5d()

subroutine put_array_section_r8_kind_5d ( real(kind=r8_kind), dimension(:,:,:,:,:), intent(in)  section,
real(kind=r8_kind), dimension(:,:,:,:,:), intent(inout)  array,
integer, dimension(5), intent(in)  s,
integer, dimension(5), intent(in)  c 
)

Put a section of an array into a larger array.

Parameters
[in]sectionSection to be inserted.
[in,out]arrayArray to insert the section in.
[in]sArray of starting indices.
[in]cArray of sizes.

Definition at line 742 of file array_utils.inc.

◆ set_filename_appendix()

subroutine, public fms_io_utils_mod::set_filename_appendix ( character(len=*), intent(in)  string_in)

Save "string_in" as a module variable that will added to the filename of the restart files.

Parameters
[in]string_inString that will be saved as a module variable

Definition at line 790 of file fms_io_utils.F90.

◆ string_compare()

logical function, public fms_io_utils_mod::string_compare ( character(len=*), intent(in)  string1,
character(len=*), intent(in)  string2,
logical, intent(in), optional  ignore_case 
)

Compare strings.

Returns
Flag telling if the strings are the same.

Definition at line 221 of file fms_io_utils.F90.