FileIOSharedMod Module

MODULE: FileIO_Shared

Author: GMAO SI-Team

FileIO_Shared – A Module that contains shared subroutines/functions needed by NetCDF and Binary IO


Uses

  • module~~fileiosharedmod~~UsesGraph module~fileiosharedmod FileIOSharedMod ESMF ESMF module~fileiosharedmod->ESMF iso_c_binding iso_c_binding module~fileiosharedmod->iso_c_binding iso_fortran_env iso_fortran_env module~fileiosharedmod->iso_fortran_env module~mapl_basemod MAPL_BaseMod module~fileiosharedmod->module~mapl_basemod module~mapl_commsmod MAPL_CommsMod module~fileiosharedmod->module~mapl_commsmod module~mapl_exceptionhandling MAPL_ExceptionHandling module~fileiosharedmod->module~mapl_exceptionhandling module~mapl_shmemmod MAPL_ShmemMod module~fileiosharedmod->module~mapl_shmemmod module~mapl_sortmod MAPL_SortMod module~fileiosharedmod->module~mapl_sortmod mpi mpi module~fileiosharedmod->mpi module~mapl_base MAPL_Base module~mapl_basemod->module~mapl_base module~mapl_constants MAPL_Constants module~mapl_basemod->module~mapl_constants module~mapl_maplgrid mapl_MaplGrid module~mapl_basemod->module~mapl_maplgrid module~mapl_rangemod MAPL_RangeMod module~mapl_basemod->module~mapl_rangemod module~mapl_commsmod->ESMF module~mapl_commsmod->module~mapl_basemod module~mapl_commsmod->module~mapl_exceptionhandling module~mapl_commsmod->module~mapl_shmemmod module~mapl_commsmod->mpi module~mapl_commsmod->module~mapl_constants module~mapl_errorhandlingmod mapl_ErrorHandlingMod module~mapl_exceptionhandling->module~mapl_errorhandlingmod module~mapl_throwmod MAPL_ThrowMod module~mapl_exceptionhandling->module~mapl_throwmod module~mapl_shmem MAPL_Shmem module~mapl_shmemmod->module~mapl_shmem module~mapl_sortmod->iso_fortran_env module~mapl_sortmod->module~mapl_exceptionhandling module~mapl_base->ESMF module~mapl_base->iso_fortran_env module~mapl_constants->iso_fortran_env module~mapl_internalconstantsmod MAPL_InternalConstantsMod module~mapl_constants->module~mapl_internalconstantsmod module~mapl_mathconstantsmod MAPL_MathConstantsMod module~mapl_constants->module~mapl_mathconstantsmod module~mapl_physicalconstantsmod MAPL_PhysicalConstantsMod module~mapl_constants->module~mapl_physicalconstantsmod module~mapl_errorhandling mapl_ErrorHandling module~mapl_errorhandlingmod->module~mapl_errorhandling module~mapl_maplgrid->ESMF module~mapl_maplgrid->module~mapl_errorhandlingmod module~mapl_constantsmod MAPL_ConstantsMod module~mapl_maplgrid->module~mapl_constantsmod module~mapl_keywordenforcermod mapl_KeywordEnforcerMod module~mapl_maplgrid->module~mapl_keywordenforcermod module~pflogger pflogger module~mapl_maplgrid->module~pflogger module~mapl_rangemod->iso_fortran_env module~mapl_rangemod->module~mapl_exceptionhandling module~mapl_shmem->iso_c_binding module~mapl_shmem->iso_fortran_env module~mapl_shmem->mpi module~mapl_shmem->module~mapl_constants module~mapl_constantsmod->module~mapl_constants module~mapl_errorhandling->mpi module~mapl_errorhandling->module~mapl_throwmod module~mapl_internalconstantsmod->iso_fortran_env module~mapl_keywordenforcer mapl_KeywordEnforcer module~mapl_keywordenforcermod->module~mapl_keywordenforcer module~mapl_mathconstantsmod->iso_fortran_env module~mapl_physicalconstantsmod->iso_fortran_env module~mapl_physicalconstantsmod->module~mapl_mathconstantsmod module~pfl_keywordenforcermod PFL_KeywordEnforcerMod module~pflogger->module~pfl_keywordenforcermod module~pfl_logger PFL_Logger module~pflogger->module~pfl_logger module~pfl_loggermanager PFL_LoggerManager module~pflogger->module~pfl_loggermanager module~pfl_severitylevels PFL_SeverityLevels module~pflogger->module~pfl_severitylevels module~pfl_wraparray PFL_WrapArray module~pflogger->module~pfl_wraparray

Used by

  • module~~fileiosharedmod~~UsedByGraph module~fileiosharedmod FileIOSharedMod module~biniomod BinIOMod module~biniomod->module~fileiosharedmod module~mapl_iomod MAPL_IOMod module~mapl_iomod->module~fileiosharedmod module~mapl_iomod->module~biniomod module~nciomod NCIOMod module~mapl_iomod->module~nciomod module~mapl_tileiomod MAPL_TileIOMod module~mapl_tileiomod->module~fileiosharedmod module~nciomod->module~fileiosharedmod module~mapl_capgridcompmod MAPL_CapGridCompMod module~mapl_capgridcompmod->module~mapl_iomod module~mapl_cfiomod MAPL_CFIOMod module~mapl_cfiomod->module~mapl_iomod module~mapl_extdatagridcompmod MAPL_ExtDataGridCompMod module~mapl_extdatagridcompmod->module~mapl_iomod module~mapl_extdatang_iobundlemod MAPL_ExtDataNG_IOBundleMod module~mapl_extdatang_iobundlemod->module~mapl_tileiomod module~mapl_genericcplcompmod MAPL_GenericCplCompMod module~mapl_genericcplcompmod->module~mapl_iomod module~mapl_genericmod MAPL_GenericMod module~mapl_genericmod->module~mapl_iomod module~mapl_historygridcompmod MAPL_HistoryGridCompMod module~mapl_historygridcompmod->module~mapl_iomod module~mapl_locstreammod MAPL_LocStreamMod module~mapl_locstreammod->module~mapl_iomod module~mapl_memutilsmod MAPL_MemUtilsMod module~mapl_memutilsmod->module~mapl_iomod module~mapl_sunmod MAPL_SunMod module~mapl_sunmod->module~mapl_iomod module~maplbase_mod MAPLBase_Mod module~maplbase_mod->module~mapl_iomod

Variables

Type Visibility Attributes Name Initial
character(len=ESMF_MAXSTR), public, save :: mname(LAST_UNIT)
integer, public, parameter :: LAST_UNIT = 999
integer, public, parameter :: STD_OUT_UNIT_NUMBER = 6
integer, public, parameter :: i4_1 = 6
integer, public, parameter :: i4_2 = 5
integer, public, parameter :: not_allocated = 0
integer, public, parameter :: r4_1 = 2
integer, public, parameter :: r4_2 = 1
integer, public, parameter :: r8_1 = 4
integer, public, parameter :: r8_2 = 3
logical, public, save :: MTAKEN(LAST_UNIT) = .FALSE.
logical, public, save :: TAKEN(LAST_UNIT) = .FALSE.
type(PTR), public, pointer :: REC(:)
type(memunit), public, target, save :: MEM_UNITS(LAST_UNIT)
type(memunit), public, pointer :: munit

Interfaces

public interface ArrayScatterShm

  • private subroutine ArrayScatterShmR4D1(local_array, global_array, grid, mask, rc)

    Arguments

    Type IntentOptional Attributes Name
    real, intent(out) :: local_array(:)
    real, target :: global_array(:)
    type(ESMF_Grid) :: grid
    integer, intent(in), optional :: mask(:)
    integer, intent(out), optional :: rc

public interface WRITE_PARALLEL

  • private subroutine WRITE_PARALLEL_I4_0(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=ESMF_KIND_I4), intent(in) :: data
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC
  • private subroutine WRITE_PARALLEL_I4_1(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=ESMF_KIND_I4), intent(in) :: data(:)
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC
  • private subroutine WRITE_PARALLEL_R4_0(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=ESMF_KIND_R4), intent(in) :: data
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC
  • private subroutine WRITE_PARALLEL_R4_1(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=ESMF_KIND_R4), intent(in) :: data(:)
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC
  • private subroutine WRITE_PARALLEL_R8_0(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=ESMF_KIND_R8), intent(in) :: data
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC
  • private subroutine WRITE_PARALLEL_R8_1(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=ESMF_KIND_R8), intent(in) :: data(:)
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC
  • private subroutine WRITE_PARALLEL_STRING_0(data, UNIT, ARRDES, format, RC)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: data
    integer, intent(in), optional :: UNIT
    type(ArrDescr), intent(inout), optional :: ARRDES
    character(len=*), intent(in), optional :: format
    integer, intent(out), optional :: RC

Derived Types

type, public ::  ArrDescr

Components

Type Visibility Attributes Name Initial
character(len=ESMF_MAXSTR), public :: filename
character(len=MPI_MAX_INFO_VAL), public :: cb_buffer_size
character(len=MPI_MAX_INFO_VAL), public :: romio_cb_read
character(len=MPI_MAX_INFO_VAL), public :: romio_cb_write
integer, public :: IOgathercomm
integer, public :: IOscattercomm
integer(kind=MPI_OFFSET_KIND), public :: offset
integer, public :: NX0
integer, public :: NY0
integer, public :: Xcomm
integer, public :: Ycomm
integer, public, allocatable :: collection_id(:)
integer, public, pointer :: i1(:)
integer, public :: im_world
integer, public, pointer :: in(:)
integer, public, pointer :: j1(:)
integer, public :: jm_world
integer, public, pointer :: jn(:)
integer, public :: lm_world
integer, public :: myrow
integer, public :: num_readers = 1
integer, public :: num_writers = 1
integer, public :: readers_comm
integer, public :: writer_id
integer, public :: writers_comm
logical, public :: split_checkpoint = .false.
logical, public :: split_restart = .false.
logical, public :: tile
logical, public :: write_restart_by_oserver = .false.
type(ESMF_Grid), public :: grid

Subroutines

public subroutine ArrDescrCreateReaderComm(arrdes, full_comm, num_readers, rc)

Arguments

Type IntentOptional Attributes Name
type(ArrDescr), intent(inout) :: arrdes
integer, intent(in) :: full_comm
integer, intent(in) :: num_readers
integer, intent(out), optional :: rc

public subroutine ArrDescrCreateWriterComm(arrdes, full_comm, num_writers, rc)

Arguments

Type IntentOptional Attributes Name
type(ArrDescr), intent(inout) :: arrdes
integer, intent(in) :: full_comm
integer, intent(in) :: num_writers
integer, intent(out), optional :: rc

public subroutine ArrDescrInit(ArrDes, comm, IM_World, JM_World, lm_world, nx, ny, num_readers, num_writers, is, ie, js, je, rc)

Arguments

Type IntentOptional Attributes Name
type(ArrDescr), intent(inout) :: ArrDes
integer, intent(in) :: comm
integer, intent(in) :: IM_World
integer, intent(in) :: JM_World
integer, intent(in) :: lm_world
integer, intent(in) :: nx
integer, intent(in) :: ny
integer, intent(in) :: num_readers
integer, intent(in) :: num_writers
integer, intent(in) :: is
integer, intent(in) :: ie
integer, intent(in) :: js
integer, intent(in) :: je
integer, intent(out), optional :: rc

public subroutine ArrDescrSet(ArrDes, offset, readers_comm, ioscattercomm, writers_comm, iogathercomm, i1, in, j1, jn, im_world, jm_world, lm_world)

Arguments

Type IntentOptional Attributes Name
type(ArrDescr), intent(inout) :: ArrDes
integer(kind=MPI_OFFSET_KIND), intent(in), optional :: offset
integer, intent(in), optional :: readers_comm
integer, intent(in), optional :: ioscattercomm
integer, intent(in), optional :: writers_comm
integer, intent(in), optional :: iogathercomm
integer, optional, target :: i1(:)
integer, optional, target :: in(:)
integer, optional, target :: j1(:)
integer, optional, target :: jn(:)
integer, intent(in), optional :: im_world
integer, intent(in), optional :: jm_world
integer, intent(in), optional :: lm_world

public subroutine MAPL_TileMaskGet(GRID, mask, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Grid), intent(inout) :: GRID
integer, pointer :: mask(:)
integer, intent(out), optional :: RC

public subroutine alloc_(A, TYPE, IM, JM, rc)

Arguments

Type IntentOptional Attributes Name
type(PTR), intent(inout) :: A
integer, intent(in) :: TYPE
integer, intent(in) :: IM
integer, intent(in), optional :: JM
integer, intent(out), optional :: rc

public subroutine dealloc_(A, rc)

Arguments

Type IntentOptional Attributes Name
type(PTR), intent(inout) :: A
integer, intent(out), optional :: rc