Skip to content

Commit

Permalink
Rename lilac_init_pio to lilac_driver_pio
Browse files Browse the repository at this point in the history
As per Jim Edwards
suggestion (ESCOMP/CESM_CPL7andDataComps#16 (review))
  • Loading branch information
billsacks committed Jul 5, 2022
1 parent 2ead682 commit 14bd8fd
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 45 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
module lilac_init_pio_mod
module lilac_driver_pio_mod

! As of 2022-07-05, this file is identical to
! components/cpl7/driver/main/init_pio_mod.F90, except (1) the module name has been
! changed to lilac_init_pio_mod (rather than init_pio_mod), (2) all init_pio_* routines
! have been renamed to lilac_init_pio_*, and (3) this description comment has been
! components/cpl7/driver/main/driver_pio_mod.F90, except (1) the module name has been
! changed to lilac_driver_pio_mod (rather than driver_pio_mod), (2) all driver_pio_* routines
! have been renamed to lilac_driver_pio_*, and (3) this description comment has been
! added.

use pio
Expand All @@ -21,9 +21,9 @@ module lilac_init_pio_mod
#include <mpif.h>
#endif
private
public :: lilac_init_pio_init1
public :: lilac_init_pio_init2
public :: lilac_init_pio_finalize
public :: lilac_driver_pio_init1
public :: lilac_driver_pio_init2
public :: lilac_driver_pio_finalize

integer :: io_comm
logical :: pio_async_interface
Expand Down Expand Up @@ -53,21 +53,21 @@ module lilac_init_pio_mod
!! Global_Comm and sets module variable io_comm.
!!
!<
subroutine lilac_init_pio_init1(ncomps, nlfilename, Global_Comm)
subroutine lilac_driver_pio_init1(ncomps, nlfilename, Global_Comm)
integer, intent(in) :: ncomps
character(len=*) :: nlfilename
integer, intent(inout) :: Global_Comm


integer :: i, pio_root, pio_stride, pio_numiotasks, pio_iotype, pio_rearranger, pio_netcdf_ioformat
integer :: mpigrp_world, mpigrp, ierr, mpicom
character(*),parameter :: subName = '(lilac_init_pio_init1) '
character(*),parameter :: subName = '(lilac_driver_pio_init1) '
integer :: pelist(3,1)

integer, allocatable :: comp_comm(:)
type(iosystem_desc_t), allocatable :: iosystems(:)

call lilac_init_pio_read_default_namelist(nlfilename, Global_Comm, pio_stride, pio_root, pio_numiotasks, &
call lilac_driver_pio_read_default_namelist(nlfilename, Global_Comm, pio_stride, pio_root, pio_numiotasks, &
pio_iotype, pio_async_interface, pio_rearranger)

pio_netcdf_ioformat = PIO_64BIT_OFFSET
Expand Down Expand Up @@ -123,7 +123,7 @@ subroutine lilac_init_pio_init1(ncomps, nlfilename, Global_Comm)
#endif
end if
total_comps = ncomps
end subroutine lilac_init_pio_init1
end subroutine lilac_driver_pio_init1
!>
!! @public
!! @brief if pio_async_interface is true, tasks in io_comm do not return from this subroutine.
Expand All @@ -135,7 +135,7 @@ end subroutine lilac_init_pio_init1
!<


subroutine lilac_init_pio_init2(comp_id, comp_name, comp_iamin, comp_comm, comp_comm_iam)
subroutine lilac_driver_pio_init2(comp_id, comp_name, comp_iamin, comp_comm, comp_comm_iam)
use shr_string_mod, only : shr_string_toLower
integer, intent(in) :: comp_id(:)
logical, intent(in) :: comp_iamin(:)
Expand All @@ -144,7 +144,7 @@ subroutine lilac_init_pio_init2(comp_id, comp_name, comp_iamin, comp_comm, comp_
integer :: i
character(len=shr_kind_cl) :: nlfilename, cname
integer :: ret
character(*), parameter :: subName = '(lilac_init_pio_init2) '
character(*), parameter :: subName = '(lilac_driver_pio_init2) '

! 0 is a valid value of pio_buffer_size_limit
if(pio_buffer_size_limit>=0) then
Expand Down Expand Up @@ -189,7 +189,7 @@ subroutine lilac_init_pio_init2(comp_id, comp_name, comp_iamin, comp_comm, comp_
nlfilename=trim(shr_string_toLower(cname(1:3)))//'_modelio.nml_'//cname(4:8)
endif

call lilac_init_pio_read_component_namelist(nlfilename , comp_comm(i), pio_comp_settings(i)%pio_stride, &
call lilac_driver_pio_read_component_namelist(nlfilename , comp_comm(i), pio_comp_settings(i)%pio_stride, &
pio_comp_settings(i)%pio_root, pio_comp_settings(i)%pio_numiotasks, &
pio_comp_settings(i)%pio_iotype, pio_comp_settings(i)%pio_rearranger, &
pio_comp_settings(i)%pio_netcdf_ioformat)
Expand Down Expand Up @@ -225,23 +225,23 @@ subroutine lilac_init_pio_init2(comp_id, comp_name, comp_iamin, comp_comm, comp_
end if
enddo

end subroutine lilac_init_pio_init2
end subroutine lilac_driver_pio_init2

!===============================================================================
subroutine lilac_init_pio_finalize( )
subroutine lilac_driver_pio_finalize( )
integer :: ierr
integer :: i
do i=1,total_comps
call pio_finalize(iosystems(i), ierr)
end do

end subroutine lilac_init_pio_finalize
end subroutine lilac_driver_pio_finalize

!===============================================================================



subroutine lilac_init_pio_read_default_namelist(nlfilename, Comm, pio_stride, pio_root, pio_numiotasks, &
subroutine lilac_driver_pio_read_default_namelist(nlfilename, Comm, pio_stride, pio_root, pio_numiotasks, &
pio_iotype, pio_async_interface, pio_rearranger)

character(len=*), intent(in) :: nlfilename
Expand All @@ -256,7 +256,7 @@ subroutine lilac_init_pio_read_default_namelist(nlfilename, Comm, pio_stride, pi
logical :: pio_rearr_comm_enable_hs_comp2io, pio_rearr_comm_enable_isend_comp2io
integer :: pio_rearr_comm_max_pend_req_io2comp
logical :: pio_rearr_comm_enable_hs_io2comp, pio_rearr_comm_enable_isend_io2comp
character(*),parameter :: subName = '(lilac_init_pio_read_default_namelist) '
character(*),parameter :: subName = '(lilac_driver_pio_read_default_namelist) '

integer :: iam, ierr, npes, unitn
logical :: iamroot
Expand Down Expand Up @@ -320,11 +320,11 @@ subroutine lilac_init_pio_read_default_namelist(nlfilename, Comm, pio_stride, pi
close(unitn)
call shr_file_freeUnit( unitn )

call lilac_init_pio_getiotypefromname(pio_typename, pio_iotype, pio_iotype_netcdf)
call lilac_driver_pio_getiotypefromname(pio_typename, pio_iotype, pio_iotype_netcdf)
end if
end if

call lilac_init_pio_namelist_set(npes, Comm, pio_stride, pio_root, pio_numiotasks, pio_iotype, &
call lilac_driver_pio_namelist_set(npes, Comm, pio_stride, pio_root, pio_numiotasks, pio_iotype, &
iamroot, pio_rearranger, pio_netcdf_ioformat)
call shr_mpi_bcast(pio_debug_level, Comm)
call shr_mpi_bcast(pio_root, Comm)
Expand All @@ -340,15 +340,15 @@ subroutine lilac_init_pio_read_default_namelist(nlfilename, Comm, pio_stride, pi
endif


call lilac_init_pio_rearr_opts_set(Comm, pio_rearr_comm_type, pio_rearr_comm_fcd, &
call lilac_driver_pio_rearr_opts_set(Comm, pio_rearr_comm_type, pio_rearr_comm_fcd, &
pio_rearr_comm_max_pend_req_comp2io, pio_rearr_comm_enable_hs_comp2io, &
pio_rearr_comm_enable_isend_comp2io, &
pio_rearr_comm_max_pend_req_io2comp, pio_rearr_comm_enable_hs_io2comp, &
pio_rearr_comm_enable_isend_io2comp, pio_numiotasks)

end subroutine lilac_init_pio_read_default_namelist
end subroutine lilac_driver_pio_read_default_namelist

subroutine lilac_init_pio_read_component_namelist(nlfilename, Comm, pio_stride, pio_root, &
subroutine lilac_driver_pio_read_component_namelist(nlfilename, Comm, pio_stride, pio_root, &
pio_numiotasks, pio_iotype, pio_rearranger, pio_netcdf_ioformat)
character(len=*), intent(in) :: nlfilename
integer, intent(in) :: Comm
Expand All @@ -361,7 +361,7 @@ subroutine lilac_init_pio_read_component_namelist(nlfilename, Comm, pio_stride,

integer :: iam, ierr, npes
logical :: iamroot
character(*),parameter :: subName = '(lilac_init_pio_read_component_namelist) '
character(*),parameter :: subName = '(lilac_driver_pio_read_component_namelist) '
integer :: pio_default_stride, pio_default_root, pio_default_numiotasks, pio_default_iotype
integer :: pio_default_rearranger, pio_default_netcdf_ioformat

Expand Down Expand Up @@ -421,8 +421,8 @@ subroutine lilac_init_pio_read_component_namelist(nlfilename, Comm, pio_stride,
close(unitn)
call shr_file_freeUnit( unitn )

call lilac_init_pio_getiotypefromname(pio_typename, pio_iotype, pio_default_iotype)
call lilac_init_pio_getioformatfromname(pio_netcdf_format, pio_netcdf_ioformat, pio_default_netcdf_ioformat)
call lilac_driver_pio_getiotypefromname(pio_typename, pio_iotype, pio_default_iotype)
call lilac_driver_pio_getioformatfromname(pio_netcdf_format, pio_netcdf_ioformat, pio_default_netcdf_ioformat)
end if
if(pio_stride== -99) then
if (pio_numiotasks > 0) then
Expand All @@ -440,13 +440,13 @@ subroutine lilac_init_pio_read_component_namelist(nlfilename, Comm, pio_stride,



call lilac_init_pio_namelist_set(npes, Comm, pio_stride, pio_root, pio_numiotasks, pio_iotype, &
call lilac_driver_pio_namelist_set(npes, Comm, pio_stride, pio_root, pio_numiotasks, pio_iotype, &
iamroot, pio_rearranger, pio_netcdf_ioformat)


end subroutine lilac_init_pio_read_component_namelist
end subroutine lilac_driver_pio_read_component_namelist

subroutine lilac_init_pio_getioformatfromname(pio_netcdf_format, pio_netcdf_ioformat, pio_default_netcdf_ioformat)
subroutine lilac_driver_pio_getioformatfromname(pio_netcdf_format, pio_netcdf_ioformat, pio_default_netcdf_ioformat)
use shr_string_mod, only : shr_string_toupper
character(len=*), intent(inout) :: pio_netcdf_format
integer, intent(out) :: pio_netcdf_ioformat
Expand All @@ -463,10 +463,10 @@ subroutine lilac_init_pio_getioformatfromname(pio_netcdf_format, pio_netcdf_iofo
pio_netcdf_ioformat = pio_default_netcdf_ioformat
endif

end subroutine lilac_init_pio_getioformatfromname
end subroutine lilac_driver_pio_getioformatfromname


subroutine lilac_init_pio_getiotypefromname(typename, iotype, defaulttype)
subroutine lilac_driver_pio_getiotypefromname(typename, iotype, defaulttype)
use shr_string_mod, only : shr_string_toupper
character(len=*), intent(inout) :: typename
integer, intent(out) :: iotype
Expand All @@ -486,20 +486,20 @@ subroutine lilac_init_pio_getiotypefromname(typename, iotype, defaulttype)
else if ( typename .eq. 'DEFAULT') then
iotype = defaulttype
else
write(shr_log_unit,*) 'lilac_init_pio_mod: WARNING Bad io_type argument - using iotype_netcdf'
write(shr_log_unit,*) 'lilac_driver_pio_mod: WARNING Bad io_type argument - using iotype_netcdf'
iotype=pio_iotype_netcdf
end if

end subroutine lilac_init_pio_getiotypefromname
end subroutine lilac_driver_pio_getiotypefromname

!===============================================================================
subroutine lilac_init_pio_namelist_set(npes,mycomm, pio_stride, pio_root, pio_numiotasks, &
subroutine lilac_driver_pio_namelist_set(npes,mycomm, pio_stride, pio_root, pio_numiotasks, &
pio_iotype, iamroot, pio_rearranger, pio_netcdf_ioformat)
integer, intent(in) :: npes, mycomm
integer, intent(inout) :: pio_stride, pio_root, pio_numiotasks
integer, intent(inout) :: pio_iotype, pio_rearranger, pio_netcdf_ioformat
logical, intent(in) :: iamroot
character(*),parameter :: subName = '(lilac_init_pio_namelist_set) '
character(*),parameter :: subName = '(lilac_driver_pio_namelist_set) '

call shr_mpi_bcast(pio_iotype , mycomm)
call shr_mpi_bcast(pio_stride , mycomm)
Expand Down Expand Up @@ -568,13 +568,13 @@ subroutine lilac_init_pio_namelist_set(npes,mycomm, pio_stride, pio_root, pio_nu
end if
end if

end subroutine lilac_init_pio_namelist_set
end subroutine lilac_driver_pio_namelist_set

! This subroutine sets the global PIO rearranger options
! The input args that represent the rearranger options are valid only
! on the root proc of comm
! The rearranger options are passed to PIO_Init() in lilac_init_pio_init2()
subroutine lilac_init_pio_rearr_opts_set(comm, pio_rearr_comm_type, pio_rearr_comm_fcd, &
! The rearranger options are passed to PIO_Init() in lilac_driver_pio_init2()
subroutine lilac_driver_pio_rearr_opts_set(comm, pio_rearr_comm_type, pio_rearr_comm_fcd, &
pio_rearr_comm_max_pend_req_comp2io, pio_rearr_comm_enable_hs_comp2io, &
pio_rearr_comm_enable_isend_comp2io, &
pio_rearr_comm_max_pend_req_io2comp, pio_rearr_comm_enable_hs_io2comp, &
Expand All @@ -590,7 +590,7 @@ subroutine lilac_init_pio_rearr_opts_set(comm, pio_rearr_comm_type, pio_rearr_co
logical, intent(in) :: pio_rearr_comm_enable_isend_io2comp
integer, intent(in) :: pio_numiotasks

character(*), parameter :: subname = '(lilac_init_pio_rearr_opts_set) '
character(*), parameter :: subname = '(lilac_driver_pio_rearr_opts_set) '
integer, parameter :: NUM_REARR_COMM_OPTS = 8
integer, parameter :: PIO_REARR_COMM_DEF_MAX_PEND_REQ = 64
! Automatically reset if the number of maximum pending requests is set to 0
Expand Down Expand Up @@ -771,4 +771,4 @@ subroutine lilac_init_pio_rearr_opts_set(comm, pio_rearr_comm_type, pio_rearr_co
end subroutine
!===============================================================================

end module lilac_init_pio_mod
end module lilac_driver_pio_mod
8 changes: 4 additions & 4 deletions lilac/src/lilac_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ module lilac_mod
use lilac_history , only : lilac_history_write
use lilac_methods , only : chkerr
use lilac_constants, only : logunit
use lilac_init_pio_mod, only : lilac_init_pio_init1, lilac_init_pio_init2
use lilac_driver_pio_mod, only : lilac_driver_pio_init1, lilac_driver_pio_init2
use ctsm_LilacCouplingFields, only : create_a2l_field_list, create_l2a_field_list
use ctsm_LilacCouplingFields, only : complete_a2l_field_list, complete_l2a_field_list
use ctsm_LilacCouplingFields, only : a2l_fields
Expand Down Expand Up @@ -199,7 +199,7 @@ subroutine lilac_init2(mpicom, atm_global_index, atm_lons, atm_lats, &
! AFTER call to MPI_init (which is in the host atm driver) and
! BEFORE call to ESMF_Initialize
!-------------------------------------------------------------------------
call lilac_init_pio_init1(ncomps=1, nlfilename="lilac_in", Global_Comm=mpicom)
call lilac_driver_pio_init1(ncomps=1, nlfilename="lilac_in", Global_Comm=mpicom)

!-------------------------------------------------------------------------
! Initialize ESMF, set the default calendar and log type.
Expand Down Expand Up @@ -231,8 +231,8 @@ subroutine lilac_init2(mpicom, atm_global_index, atm_lons, atm_lats, &
!-------------------------------------------------------------------------
! Initialize PIO with second initialization
!-------------------------------------------------------------------------
call lilac_init_pio_init2(compids, compLabels, comp_iamin, (/mpicom/), (/mytask/))
call ESMF_LogWrite(subname//"initialized lilac_init_pio_init2 ...", ESMF_LOGMSG_INFO)
call lilac_driver_pio_init2(compids, compLabels, comp_iamin, (/mpicom/), (/mytask/))
call ESMF_LogWrite(subname//"initialized lilac_driver_pio_init2 ...", ESMF_LOGMSG_INFO)

!-------------------------------------------------------------------------
! Initial lilac atmosphere cap module variables
Expand Down

0 comments on commit 14bd8fd

Please sign in to comment.