next up previous contents index
Next: 4.5.2 Use of UIO Up: 4.5 Fortran90 Previous: 4.5 Fortran90   Contents   Index

4.5.1 Files

The Fortran UIO package is a collection of Fortran90 modules and programs described in Table 7.

Table 7: UIO Fortran90 files
File contents
uio_base_module.f90 Collection of basic modules
uio_mac_module.F90 Machine-dependent routines for all machines, current
uio_bulk_module.f90 Main part of UIO routines
uio_filedef_module.f90 Standard file descriptors and labels
uio_table_module.f90 Table manipulation routines
uio_var_module.f90 definition and handling of UIO flexible variable
uio_varfile_module.f90 definition and handling of file structure of
  UIO flexible variables
uiocop.f90 Program to copy and transform UIO files
uiolok.f90 Program to look into UIO files
uioinf.f90 Program to give information about conversion types
uiotst.f90 Program to produce test UIO file

The file uio_base_module.f90 contains the basic set of modules (see Table 8).

Table 8: Contents of uio_base_module.f90
module contents
uio_cst_module channel status information
uio_cvl_module convert type list of current machine
uio_inf_module information about environment
uio_nam_module definition of names
uio_siz_module string length, table size
uio_base_module basic set of UIO-routines: string processing,
  header handling, I/O channel management

In older version of CO5BOLD, the files uio_mac*_module.f90 (Tab. 7) contained machine-dependent routines collected in the module uio_mac_module (see Tab. 9).

Table 9: Contents of uio_mac_module
routine purpose
uio_getenv Get information about environment
uio_mkcvls Make list with possible conversion types
uio_uopen Open file with special handling for conversion type
uio_uclose Close file with special handling for conversion type

In the current version of CO5BOLD, there is only one file uio_mac_module.F90 - with a capital F90 - that can be changed during the compilation by preprocessor switches, see 3.6.

The main set of routines is contained in uio_bulk_module.f90 in the module uio_bulk_module.

The three files uio_base_module.f90, uio_mac_module.F90, and uio_bulk_module.f90 comprise the standard set of UIO routines.

Additionally there exists a file uio_table_module.f90 with the single module uio_table_module which permits the I/O and manipulation of a certain table format (see the example in section 4.2).

The latest extension comes within the modules uio_var_module.f90 and uio_varfile_module.f90. The module uio_var_module.f90 contains a type definition for a variable (``uio flexible variable'') of general type (i.e. it may be a scalar integer value or a 1D character array or a 3D real array...) together with some routines for the basic handling of the variables (I/O in UIO format, construction and modification of variables...). The module uio_varfile_module.f90 contains a type definition for a file built of UIO flexible variables together with routines for the handling of these files.

next up previous contents index
Next: 4.5.2 Use of UIO Up: 4.5 Fortran90 Previous: 4.5 Fortran90   Contents   Index