FMS
2024.03
Flexible Modeling System
|
An updated library for parallel IO to replace mpp_io_mod. This module contains the public API for fms2 I/O interfaces and routines defined throughout this directory. A conversion guide for replacing mpp/fms_io code with this module is available below. More...
Data Types | |
interface | close_file |
Close a netcdf or domain file opened with open_file or open_virtual_file. More... | |
interface | open_file |
Opens a given netcdf or domain file. More... | |
interface | open_virtual_file |
Creates a diskless netcdf or domain file. More... | |
interface | read_data |
Read data from a defined field in a file. More... | |
interface | read_new_restart |
Read registered restarts from a new file Optionally takes directory to write to, model time and filename Example usage: call read_new_restart(fileobj, unlimted_dimension_level) More... | |
interface | read_restart |
Reads in restart variables from a given file Example usage: call read_restart(fileobj) Reads registered restart variables from fileobj. More... | |
interface | register_axis |
Add a dimension to a given file. More... | |
interface | register_field |
Defines a new field within the given file Example usage: More... | |
interface | register_restart_field |
Similar to register_field, but occupies the field with data for restarts Example usage: More... | |
interface | write_data |
Write data to a defined field within a file Example usage: More... | |
interface | write_new_restart |
Writes all restart fields in a given restart file to a new restart file Example usage: More... | |
interface | write_restart |
Writes all restart fields registered within a given restart file Example usage: More... | |
Functions/Subroutines | |
subroutine | compressed_read_0d (fileobj, variable_name, cdata, unlim_dim_level, corner) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed". More... | |
subroutine | compressed_read_1d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed". More... | |
subroutine | compressed_read_2d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed". More... | |
subroutine | compressed_read_3d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed". More... | |
subroutine | compressed_read_4d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed". More... | |
subroutine | compressed_read_5d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed". More... | |
subroutine | compressed_write_0d (fileobj, variable_name, cdata, unlim_dim_level, corner) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file. More... | |
subroutine | compressed_write_0d_wrap (fileobj, variable_name, cdata, unlim_dim_level, corner) |
Wrapper to distinguish interfaces. More... | |
subroutine | compressed_write_1d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file. More... | |
subroutine | compressed_write_1d_wrap (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | compressed_write_2d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file. More... | |
subroutine | compressed_write_2d_wrap (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | compressed_write_3d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file. More... | |
subroutine | compressed_write_3d_wrap (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | compressed_write_4d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file. More... | |
subroutine | compressed_write_4d_wrap (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | compressed_write_5d (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file. More... | |
subroutine | compressed_write_5d_wrap (fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | domain_read_0d (fileobj, variable_name, vdata, unlim_dim_level, corner) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_read_1d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_read_2d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_read_3d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_read_4d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_read_5d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_write_0d (fileobj, variable_name, vdata, unlim_dim_level, corner) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_write_1d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_write_2d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_write_3d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_write_4d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine | domain_write_5d (fileobj, variable_name, vdata, unlim_dim_level, corner, edge_lengths) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain
decomposed". More... | |
subroutine, public | fms2_io_init () |
Reads the fms2_io_nml. More... | |
subroutine | register_domain_restart_variable_0d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_domain_restart_variable_1d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_domain_restart_variable_2d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_domain_restart_variable_3d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_domain_restart_variable_4d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_domain_restart_variable_5d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_unstructured_domain_restart_variable_0d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_unstructured_domain_restart_variable_1d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_unstructured_domain_restart_variable_2d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_unstructured_domain_restart_variable_3d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_unstructured_domain_restart_variable_4d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_unstructured_domain_restart_variable_5d (fileobj, variable_name, vdata, dimensions, is_optional, chunksizes) |
Add a domain decomposed variable. More... | |
subroutine | register_variable_attribute_0d (fileobj, variable_name, attribute_name, attribute_value, str_len) |
Add an attribute to a variable. More... | |
subroutine | register_variable_attribute_1d (fileobj, variable_name, attribute_name, attribute_value, str_len) |
Add an attribute to a variable. More... | |
subroutine | unstructured_domain_read_0d (fileobj, variable_name, buf, unlim_dim_level, corner, broadcast) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_read_1d (fileobj, variable_name, buf, unlim_dim_level, corner, edge_lengths, broadcast) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_read_2d (fileobj, variable_name, buf, unlim_dim_level, corner, edge_lengths, broadcast) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_read_3d (fileobj, variable_name, buf, unlim_dim_level, corner, edge_lengths, broadcast) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_read_4d (fileobj, variable_name, buf, unlim_dim_level, corner, edge_lengths, broadcast) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_read_5d (fileobj, variable_name, buf, unlim_dim_level, corner, edge_lengths, broadcast) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_write_0d (fileobj, variable_name, variable_data, unlim_dim_level, corner) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_write_1d (fileobj, variable_name, variable_data, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_write_2d (fileobj, variable_name, variable_data, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_write_3d (fileobj, variable_name, variable_data, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_write_4d (fileobj, variable_name, variable_data, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
subroutine | unstructured_domain_write_5d (fileobj, variable_name, variable_data, unlim_dim_level, corner, edge_lengths) |
Wrapper to distinguish interfaces. More... | |
Variables | |
integer | deflate_level = default_deflate_level |
Netcdf deflate level to use in nf90_def_var (integer between 1 to 9) | |
logical, private | fms2_io_is_initialized = .false. |
True after fms2_io_init is run. | |
integer | header_buffer_val = 16384 |
Use defined netCDF header buffer size(in bytes) used in NF__ENDDEF. | |
integer | ncchksz = 64*1024 |
User defined chunksize (in bytes) argument in netcdf file creation calls. Replaces setting the NC_CHKSZ environment variable. | |
character(len=10) | netcdf_default_format = "64bit" |
User defined netcdf file format, acceptable values are: "64bit", "classic", "netcdf4". This can be overwritten if you specify "nc_format" in the open_file call. | |
logical | shuffle = .false. |
Flag indicating whether to use the netcdf shuffle filter. | |
An updated library for parallel IO to replace mpp_io_mod. This module contains the public API for fms2 I/O interfaces and routines defined throughout this directory. A conversion guide for replacing mpp/fms_io code with this module is available below.
x_layout*y_layout
restart files: "RESTART/filename.tile{tile_number}.res.nc.????"Metadata:
nf90_create
call)is_restart
indicates that this is a restart file, so it adds ".res" to the filename and it allows user to use the write_restart
and register_restart_field
functionalitynf90_def_dim
call)position=center
indicates the position of the axis (this is the default). The other acceptable values are position=east for "x" andposition=north for "y", in this cases the data is staggered, which may be on the volume face or corner instead of at the centroid.nf90_unlimited
)nf90_def_var
call)nf90_put_var
call)nf90_close
call)FmsNetcdfUnstructuredDomainFile_t
fileobj.nf90_create
call)is_restart
indicates that this is a restart file, so it adds ".res" to the filename and it allows user to use the write_restart
and register_restart_field
functionalitynf90_def_dim
call)register_axis
calls indicates that this dimension is in the unstructured domainnf90_unlimited
)nf90_def_var
call)nf90_put_var
call)nf90_close
call)FmsNetcdfFile_t
fileobj.nf90_create
call)is_restart
indicates that this is a restart file, so it adds ".res" to the filename and it allows user to use the write_restart
and register_restart_field
functionalitynf90_def_dim
call)nf90_unlimited
)register_axis
callsnf90_def_var
call)nf90_put_var
call)nf90_close
call)nf90_64bit_offset
, the user can change the netcdf file type by adding nc_format="64bit", "classic", or "netcdf4"
to the open_file
call (which will change the type for that file only) or by adding netcdf_default_format="64bit", "classic", or "netcdf4"
to the fms2_io_nml (which will change the type for all files that don't have the nc_format in the open_file call)dont_add_res_to_filename=.true.
to the open_file
callopen_file
call and read_restart is used instead of write restart.Additionally, the register_restart_field
has the optional argument, is_optional
, where is .true. the code will not crash if the variable does not exist in the file when reading. *This argument is the same as mandatory
in fms_io.Reading dimension metadata
Sample usage:
A similar thing can be accomplished with fms_io with mpp_get_info
A similar thing can be accomplished with fms_io with mpp_get_info and/or field_size
read_data
and write_data
calls.Difference from writing restarts:
open_file
does not have is_restart=.true., so the write_restart
functionality cannot be used'nf90_def_var
which just adds the variable metadata to the file.register_axis
is required for the domain decomposed dimensions so the code knows which dimensions and therefore variables are domain decomposed.register_field
is not required because the code can get the dimensions information from the file.Difference from writing restarts:
open_file
does not have is_restart=.true., so the write_restart
functionality cannot be used'nf90_def_var
which just adds the variable metadata to the file.register_axis
is required for the dimensions that are on the unstructured domain, so the code knows which dimensions and therefore variables are in the unstructured domainregister_field
is not required because the code can get the dimensions information from the file.open_file
- the pelist argument is needed so that only the root pe writes the fileregister_axis
is needed so that the code knows the size of each dimensionregister_field
is needed so that the code knows what dimensions the variable is a function ofregister_axis
and register_field
calls are not needed because the code can get the dimensions from the filecorner
and edge_lengths
optional arguments in the read_data
calls can be used to read only a section of a file. Here the code is going to start reading at x=10, y=2, z=2, t=3 and read 2, 3, 4, 1 points in each direction. Note that variable_data
must be the correct size or the code will fail.Additionally, it is possible to do "compressed" reads and writes. Here "compressed" is when different ranks have different numbers of points for a specific axis. For example:
coupler_type_register_restarts
permits interating a list of variables in the coupler_type and register each variable to the corresponding restart file and then read/write the file. Note: num_rest_files
is set inside coupler_type_register_restarts
Difference from fms_io
to_read
was added to the coupler_type_register_restarts subroutineclose_file
domain
has an io_domain or the code will failwrite_restart
is used instead of read_restart
.indices
are the starting and indices of the region for that pe (starting x, ending x, starting y, ending y)global_size
is the size of the variable in (x,y,z)pelist
is the list of pelist that have the data for the variableis_root_pe
is a flag indicating if this is the root_pe from the pelistregister_restart_field
is a integer function while in FMS2_io it is a subroutineregister_restart_field
were fileobj and filename and in FMS2_io it is just the fileobjmpp_open
, mpp_close
from mpp_io
and write
. open
, write
and close
. For example, if ( mpp_pe().EQ.mpp_root_pe() )
ensures that the file is only written once.newunit
ensures that an unused unit number is used.mpp_open
, open_namelist_file
or open
calls.read_data
, read_distributed
or read
calls.mpp_close
, close_file
or close
calls.ascii_reads
. In ascii_reads
, the root_pe opens and reads the file into a a string buffer and broadcasts it to the other ranks. Each rank can then read from the buffer. For example: 64*1024
.nc_format
in the open_file call. The default is 64bit.interface fms2_io_mod::close_file |
Close a netcdf or domain file opened with open_file or open_virtual_file.
Example usage:
call close_file(fileobj)
Closes any given fileobj opened via open_file or open_virtual_file
Definition at line 166 of file fms2_io.F90.
Private Member Functions | |
close_domain_file | |
close_unstructured_domain_file | |
netcdf_file_close_wrap | |
interface fms2_io_mod::open_file |
Opens a given netcdf or domain file.
Example usage:
io_success = open_file(fileobj, "filename", "write")
Opens a netcdf file of type fmsnetcdffile_t at the given file path string. File mode is set to one of "read"/"write"/"overwrite"/"append"
io_success = open_file(fileobj, "filename", "overwrite", domain)
Opens a domain netcdf file of type fmsnetcdfdomainfile_t or fmsnetcdfunstructureddomainfile_t at the given file path name and 2D or unstructured domain.
Definition at line 122 of file fms2_io.F90.
Private Member Functions | |
netcdf_file_open_wrap | |
open_domain_file | |
open_unstructured_domain_file | |
interface fms2_io_mod::open_virtual_file |
Creates a diskless netcdf or domain file.
Example usage:
io_success = open_virtual_file(fileobj, "filename", pelist)
Opens a virtual file through fmsnetcdffile_t at an optional file path and pelist
io_success = open_virtual_file(fileobj, domain, "filename")
Opens a virtual domain file through fmsnetcdfdomainfile_t or fmsnetcdfunstructureddomainfile_t for a given 2D domain at an optional path
Definition at line 146 of file fms2_io.F90.
Private Member Functions | |
create_diskless_domain_file | |
create_diskless_netcdf_file_wrap | |
create_diskless_unstructured_domain_file | |
interface fms2_io_mod::read_data |
Read data from a defined field in a file.
Example usage:
call read_data(fileobj, "lat", data)
Read the values for the field "lat" from the file and write them onto data
Definition at line 292 of file fms2_io.F90.
interface fms2_io_mod::read_new_restart |
Read registered restarts from a new file Optionally takes directory to write to, model time and filename
Example usage: call read_new_restart(fileobj, unlimted_dimension_level)
call read_new_restart(fileobj, unlimited_dimension_level, directory, timestamp, filename)
Definition at line 369 of file fms2_io.F90.
Private Member Functions | |
netcdf_restore_state_wrap | |
restore_domain_state_wrap | |
interface fms2_io_mod::read_restart |
Reads in restart variables from a given file
Example usage: call read_restart(fileobj) Reads registered restart variables from fileobj.
Definition at line 356 of file fms2_io.F90.
Private Member Functions | |
netcdf_restore_state | |
restore_domain_state | |
interface fms2_io_mod::register_axis |
Add a dimension to a given file.
Example usage:
call register_axis(fileobj, "lon", "x")
Adds a dimension named "lon" associated with the x axis of the 2D domain file. For unstructured domains no x or y axis character is provided.
call register_axis(fileobj, "lon", n)
Adds a dimension named "lon" with length n to a given netcdf file.
Definition at line 190 of file fms2_io.F90.
Private Member Functions | |
netcdf_add_dimension | |
register_compressed_dimension | |
register_domain_decomposed_dimension | |
register_unstructured_dimension | |
interface fms2_io_mod::register_field |
Defines a new field within the given file
Example usage:
call register_field(fileobj, "lon", "double", (/"lon"/) )
Adds a double variable named "lon" to the given file, corresponding to the list of dimension names (which must be previously defined in the fileobj). The size of dimension name list provided is the amount of ranks for the created field, scalar if list not provided.
Definition at line 212 of file fms2_io.F90.
Private Member Functions | |
netcdf_add_variable_wrap | |
register_domain_variable | |
register_unstructured_domain_variable | |
interface fms2_io_mod::register_restart_field |
Similar to register_field, but occupies the field with data for restarts
Example usage:
call register_restart_field(fileobj, "temperature", data_ptr, (/"lon", "time"/) )
Creates a restart variable and sets it to the values from data_ptr, corresponding to the list of dimension names. Rank of data_ptr must equal the amount of corresponding dimensions.
Definition at line 231 of file fms2_io.F90.
interface fms2_io_mod::write_data |
Write data to a defined field within a file
Example usage:
call write_data(fileobj, "lon", data)
Write the value(s) in data to the field named "lon"
Definition at line 262 of file fms2_io.F90.
interface fms2_io_mod::write_new_restart |
Writes all restart fields in a given restart file to a new restart file
Example usage:
call write_new_restart(fileobj, timestamp="tstring", filename="new_restartfilename")
Creates a new restart file, with the provided timestamp and filename, out of the registered restart fields in the given restart file.
Definition at line 341 of file fms2_io.F90.
Private Member Functions | |
netcdf_save_restart_wrap2 | |
save_domain_restart_wrap | |
unstructured_write_restart_wrap | |
interface fms2_io_mod::write_restart |
Writes all restart fields registered within a given restart file
Example usage:
call write_restart(fileobj)
Writes previously registered restart fields to the given restart file
Definition at line 325 of file fms2_io.F90.
Private Member Functions | |
netcdf_save_restart_wrap | |
save_domain_restart | |
unstructured_write_restart | |
subroutine compressed_read_0d | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(inout) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner | ||
) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | cdata | Buffer where the read in data will be stored. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
Definition at line 28 of file compressed_read.inc.
subroutine compressed_read_1d | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(inout) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths | ||
) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | cdata | Buffer where the read in data will be stored. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 53 of file compressed_read.inc.
subroutine compressed_read_2d | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(inout) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths | ||
) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | cdata | Buffer where the read in data will be stored. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 81 of file compressed_read.inc.
subroutine compressed_read_3d | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(inout) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths | ||
) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | cdata | Buffer where the read in data will be stored. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 109 of file compressed_read.inc.
subroutine compressed_read_4d | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(inout) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths | ||
) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | cdata | Buffer where the read in data will be stored. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 137 of file compressed_read.inc.
subroutine compressed_read_5d | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(inout) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths | ||
) |
I/O domain reads in data from the netcdf file and broadcasts the data to the rest of the ranks. This routine may only be used with variables that are "compressed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | cdata | Buffer where the read in data will be stored. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 165 of file compressed_read.inc.
subroutine compressed_write_0d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner | ||
) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
Definition at line 29 of file compressed_write.inc.
subroutine compressed_write_0d_wrap | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
Definition at line 57 of file compressed_write.inc.
subroutine compressed_write_1d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(1), intent(in), optional | corner, | ||
integer, dimension(1), intent(in), optional | edge_lengths | ||
) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 81 of file compressed_write.inc.
subroutine compressed_write_1d_wrap | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(1), intent(in), optional | corner, | ||
integer, dimension(1), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 641 of file compressed_write.inc.
subroutine compressed_write_2d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(2), intent(in), optional | corner, | ||
integer, dimension(2), intent(in), optional | edge_lengths | ||
) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 180 of file compressed_write.inc.
subroutine compressed_write_2d_wrap | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(2), intent(in), optional | corner, | ||
integer, dimension(2), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 668 of file compressed_write.inc.
subroutine compressed_write_3d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(in), target, contiguous | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(3), intent(in), optional | corner, | ||
integer, dimension(3), intent(in), optional | edge_lengths | ||
) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 300 of file compressed_write.inc.
subroutine compressed_write_3d_wrap | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(3), intent(in), optional | corner, | ||
integer, dimension(3), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 694 of file compressed_write.inc.
subroutine compressed_write_4d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(4), intent(in), optional | corner, | ||
integer, dimension(4), intent(in), optional | edge_lengths | ||
) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 428 of file compressed_write.inc.
subroutine compressed_write_4d_wrap | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(4), intent(in), optional | corner, | ||
integer, dimension(4), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 720 of file compressed_write.inc.
subroutine compressed_write_5d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(5), intent(in), optional | corner, | ||
integer, dimension(5), intent(in), optional | edge_lengths | ||
) |
For variables without a compressed dimension, this routine simply wraps netcdf_write data. If the variable does have a compressed axis, the I/O root gathers the data from the rest of the ranks and then writes the combined data to the netcdf file.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 536 of file compressed_write.inc.
subroutine compressed_write_5d_wrap | ( | type(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(in) | cdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(5), intent(in), optional | corner, | ||
integer, dimension(5), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | cdata | Compressed data that will be gathered and written to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 746 of file compressed_write.inc.
subroutine domain_read_0d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(inout) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner | ||
) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | vdata | Data that will be read out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be read to. |
Definition at line 30 of file domain_read.inc.
subroutine domain_read_1d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(inout) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(1), intent(in), optional | corner, | ||
integer, dimension(1), intent(in), optional | edge_lengths | ||
) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | vdata | Data that will be read out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be read to. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
Definition at line 56 of file domain_read.inc.
subroutine domain_read_2d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(inout), target, contiguous | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(2), intent(in), optional | corner, | ||
integer, dimension(2), intent(in), optional | edge_lengths | ||
) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | vdata | Data that will be read out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be read to. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
Definition at line 87 of file domain_read.inc.
subroutine domain_read_3d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(inout), target, contiguous | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(3), intent(in), optional | corner, | ||
integer, dimension(3), intent(in), optional | edge_lengths | ||
) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | vdata | Data that will be read out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be read to. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
Definition at line 267 of file domain_read.inc.
subroutine domain_read_4d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(inout) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(4), intent(in), optional | corner, | ||
integer, dimension(4), intent(in), optional | edge_lengths | ||
) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | vdata | Data that will be read out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be read to. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
Definition at line 448 of file domain_read.inc.
subroutine domain_read_5d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(inout) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(5), intent(in), optional | corner, | ||
integer, dimension(5), intent(in), optional | edge_lengths | ||
) |
I/O domain root reads in a domain decomposed variable at a specific unlimited dimension level and scatters the data to the rest of the ranks using its I/O compute domain indices. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | vdata | Data that will be read out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be read to. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
Definition at line 669 of file domain_read.inc.
subroutine domain_write_0d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(in) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner | ||
) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Data that will be written out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
Definition at line 29 of file domain_write.inc.
subroutine domain_write_1d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(in) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(1), intent(in), optional | corner, | ||
integer, dimension(1), intent(in), optional | edge_lengths | ||
) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Data that will be written out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 53 of file domain_write.inc.
subroutine domain_write_2d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(in) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(2), intent(in), optional | corner, | ||
integer, dimension(2), intent(in), optional | edge_lengths | ||
) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Data that will be written out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 83 of file domain_write.inc.
subroutine domain_write_3d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(in) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(3), intent(in), optional | corner, | ||
integer, dimension(3), intent(in), optional | edge_lengths | ||
) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Data that will be written out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 379 of file domain_write.inc.
subroutine domain_write_4d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(in) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(4), intent(in), optional | corner, | ||
integer, dimension(4), intent(in), optional | edge_lengths | ||
) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Data that will be written out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 675 of file domain_write.inc.
subroutine domain_write_5d | ( | type(fmsnetcdfdomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(in) | vdata, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(5), intent(in), optional | corner, | ||
integer, dimension(5), intent(in), optional | edge_lengths | ||
) |
Gather "compute" domain data on the I/O root rank and then have the I/O root write out the data that spans the "global" domain. This routine may only be used with variables that are "domain decomposed".
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Data that will be written out to the netcdf file. |
[in] | unlim_dim_level | Level for the unlimited dimension. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 971 of file domain_write.inc.
subroutine, public fms2_io_mod::fms2_io_init |
Reads the fms2_io_nml.
Check if the module has already been initialized
Call initialization routines that this module depends on
Read the namelist
Send the namelist variables to their respective modules
Mark the fms2_io as initialized
Definition at line 395 of file fms2_io.F90.
subroutine register_domain_restart_variable_0d | ( | type(fmsnetcdfdomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 27 of file register_domain_restart_variable.inc.
subroutine register_domain_restart_variable_1d | ( | type(fmsnetcdfdomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 47 of file register_domain_restart_variable.inc.
subroutine register_domain_restart_variable_2d | ( | type(fmsnetcdfdomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 70 of file register_domain_restart_variable.inc.
subroutine register_domain_restart_variable_3d | ( | type(fmsnetcdfdomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 90 of file register_domain_restart_variable.inc.
subroutine register_domain_restart_variable_4d | ( | type(fmsnetcdfdomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 110 of file register_domain_restart_variable.inc.
subroutine register_domain_restart_variable_5d | ( | type(fmsnetcdfdomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 130 of file register_domain_restart_variable.inc.
subroutine register_unstructured_domain_restart_variable_0d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 27 of file register_unstructured_domain_restart_variable.inc.
subroutine register_unstructured_domain_restart_variable_1d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 47 of file register_unstructured_domain_restart_variable.inc.
subroutine register_unstructured_domain_restart_variable_2d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 67 of file register_unstructured_domain_restart_variable.inc.
subroutine register_unstructured_domain_restart_variable_3d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 87 of file register_unstructured_domain_restart_variable.inc.
subroutine register_unstructured_domain_restart_variable_4d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 107 of file register_unstructured_domain_restart_variable.inc.
subroutine register_unstructured_domain_restart_variable_5d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(inout) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(in), target | vdata, | ||
character(len=*), dimension(:), intent(in), optional | dimensions, | ||
logical, intent(in), optional | is_optional, | ||
integer, dimension(:), intent(in), optional | chunksizes | ||
) |
Add a domain decomposed variable.
[in,out] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | vdata | Variable data. |
[in] | dimensions | Dimension names. |
[in] | is_optional | Prevent errors in read-only files if a variable does not exist. |
[in] | chunksizes | netcdf chunksize to use for this variable This feature is only available for netcdf4 files |
Definition at line 127 of file register_unstructured_domain_restart_variable.inc.
subroutine register_variable_attribute_0d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
character(len=*), intent(in) | attribute_name, | ||
class(*), intent(in) | attribute_value, | ||
integer, intent(in), optional | str_len | ||
) |
Add an attribute to a variable.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | attribute_name | Attribute name. |
[in] | attribute_value | Attribute value |
[in] | str_len | Length of the string |
Definition at line 27 of file register_variable_attribute.inc.
subroutine register_variable_attribute_1d | ( | class(fmsnetcdffile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
character(len=*), intent(in) | attribute_name, | ||
class(*), dimension(:), intent(in) | attribute_value, | ||
integer, intent(in), optional | str_len | ||
) |
Add an attribute to a variable.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | attribute_name | Attribute name. |
[in] | attribute_value | Attribute value |
[in] | str_len | Length of the string |
Definition at line 139 of file register_variable_attribute.inc.
subroutine unstructured_domain_read_0d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(inout) | buf, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner, | ||
logical, intent(in), optional | broadcast | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | buf | Array that the data will be read into. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be read from. |
[in] | broadcast | Flag controlling whether or not the data will be broadcasted to non "I/O root" ranks. The broadcast will be done by default. |
Definition at line 26 of file unstructured_domain_read.inc.
subroutine unstructured_domain_read_1d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(inout) | buf, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths, | ||
logical, intent(in), optional | broadcast | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | buf | Array that the data will be read into. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be read from. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
[in] | broadcast | Flag controlling whether or not the data will be broadcasted to non "I/O root" ranks. The broadcast will be done by default. |
Definition at line 56 of file unstructured_domain_read.inc.
subroutine unstructured_domain_read_2d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(inout) | buf, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths, | ||
logical, intent(in), optional | broadcast | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | buf | Array that the data will be read into. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be read from. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
[in] | broadcast | Flag controlling whether or not the data will be broadcasted to non "I/O root" ranks. The broadcast will be done by default. |
Definition at line 89 of file unstructured_domain_read.inc.
subroutine unstructured_domain_read_3d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(inout) | buf, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths, | ||
logical, intent(in), optional | broadcast | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | buf | Array that the data will be read into. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be read from. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
[in] | broadcast | Flag controlling whether or not the data will be broadcasted to non "I/O root" ranks. The broadcast will be done by default. |
Definition at line 122 of file unstructured_domain_read.inc.
subroutine unstructured_domain_read_4d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(inout) | buf, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths, | ||
logical, intent(in), optional | broadcast | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | buf | Array that the data will be read into. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be read from. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
[in] | broadcast | Flag controlling whether or not the data will be broadcasted to non "I/O root" ranks. The broadcast will be done by default. |
Definition at line 155 of file unstructured_domain_read.inc.
subroutine unstructured_domain_read_5d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(inout) | buf, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(:), intent(in), optional | corner, | ||
integer, dimension(:), intent(in), optional | edge_lengths, | ||
logical, intent(in), optional | broadcast | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in,out] | buf | Array that the data will be read into. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be read from. |
[in] | edge_lengths | The number of elements that will be read in each dimension. |
[in] | broadcast | Flag controlling whether or not the data will be broadcasted to non "I/O root" ranks. The broadcast will be done by default. |
Definition at line 188 of file unstructured_domain_read.inc.
subroutine unstructured_domain_write_0d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), intent(in) | variable_data, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, intent(in), optional | corner | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | variable_data | Data that will be written. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be written to. |
Definition at line 27 of file unstructured_domain_write.inc.
subroutine unstructured_domain_write_1d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:), intent(in) | variable_data, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(1), intent(in), optional | corner, | ||
integer, dimension(1), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | variable_data | Data that will be written. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 46 of file unstructured_domain_write.inc.
subroutine unstructured_domain_write_2d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:), intent(in) | variable_data, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(2), intent(in), optional | corner, | ||
integer, dimension(2), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | variable_data | Data that will be written. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 70 of file unstructured_domain_write.inc.
subroutine unstructured_domain_write_3d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:), intent(in) | variable_data, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(3), intent(in), optional | corner, | ||
integer, dimension(3), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | variable_data | Data that will be written. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 94 of file unstructured_domain_write.inc.
subroutine unstructured_domain_write_4d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:), intent(in) | variable_data, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(4), intent(in), optional | corner, | ||
integer, dimension(4), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | variable_data | Data that will be written. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 118 of file unstructured_domain_write.inc.
subroutine unstructured_domain_write_5d | ( | type(fmsnetcdfunstructureddomainfile_t), intent(in) | fileobj, |
character(len=*), intent(in) | variable_name, | ||
class(*), dimension(:,:,:,:,:), intent(in) | variable_data, | ||
integer, intent(in), optional | unlim_dim_level, | ||
integer, dimension(5), intent(in), optional | corner, | ||
integer, dimension(5), intent(in), optional | edge_lengths | ||
) |
Wrapper to distinguish interfaces.
[in] | fileobj | File object. |
[in] | variable_name | Variable name. |
[in] | variable_data | Data that will be written. |
[in] | unlim_dim_level | Unlimited dimension level. |
[in] | corner | Array of starting indices describing where the data will be written to. |
[in] | edge_lengths | The number of elements that will be written in each dimension. |
Definition at line 142 of file unstructured_domain_write.inc.