! CSIRO Open Source Software License Agreement (variation of the BSD / MIT License) ! Copyright (c) 2015, Commonwealth Scientific and Industrial Research Organisation ! (CSIRO) ABN 41 687 119 230. submodule (cable_netcdf_mod) cable_netcdf_init_smod !! Submodule for initialising the I/O handler in cable_netcdf_mod. use cable_netcdf_nf90_mod use cable_netcdf_pio_mod implicit none contains module subroutine cable_netcdf_mod_init(mpi_grp) !* Module initialisation procedure for cable_netcdf_mod. ! This procedure should be called before any other procedures in this module. type(mpi_grp_t), intent(in) :: mpi_grp !* The MPI group for the set of processes that will be performing netCDF I/O operations. ! All procedures in cable_netcdf_mod should be called collectively by all ! processes in this group. if (mpi_grp%size > 1) then cable_netcdf_io_handler = cable_netcdf_pio_io_t(mpi_grp) else cable_netcdf_io_handler = cable_netcdf_nf90_io_t() end if call cable_netcdf_io_handler%init() end subroutine end submodule cable_netcdf_init_smod