subroutine ckd_input( ncfn )
use netcdf_wrapper, only : NWInqDimLen, NWGetAtt
! gtool データ入力
! Gtool data input
!
use gtool_history, only: HistoryGet
character(*), intent(in) :: ncfn
!
! local variables
!
character(STRING) :: comment
character(STRING) :: name_weight
character(STRING) :: name_g
character(STRING) :: name_lnac
character(STRING) :: name_pfr
character(STRING) :: name_bnds
integer :: iband, ig
logical :: flag_mpi_init = .false.
write( 6, * ) 'Read ', trim( ncfn )
call NWGetAtt( ncfn, 'global', 'comment', comment )
call NWGetAtt( ncfn, 'global', 'nband' , nband )
allocate( ckdp( nband ) )
do iband = 1, nband
write( 6, * ) 'band ', iband
call NWGetAtt( ncfn, 'global', 'imol', ckdp(iband)%imol )
write( name_bnds , '(a,i4.4)' ) "wnbnds_", iband
write( name_weight, '(a,i4.4)' ) "weight_", iband
write( name_g , '(a,i4.4)' ) "g_" , iband
write( name_lnac , '(a,i4.4)' ) "lnac_" , iband
write( name_pfr , '(a,i4.4)' ) "pfr_" , iband
call NWInqDimLen( ncfn, name_g, ckdp( iband ) % ng )
call NWInqDimLen( ncfn, 't', ckdp( iband ) % nt )
call NWInqDimLen( ncfn, 'lnp', ckdp( iband ) % nlnp )
allocate( ckdp( iband ) % weight( ckdp( iband ) % ng ), ckdp( iband ) % g ( ckdp( iband ) % ng ), ckdp( iband ) % lnp ( ckdp( iband ) % nlnp ), ckdp( iband ) % t ( ckdp( iband ) % nt ) )
allocate( ckdp( iband ) % lnac( ckdp(iband)%ng, ckdp(iband)%nlnp, ckdp(iband)%nt ) )
allocate( ckdp( iband ) % pfr ( ckdp(iband)%ng, ckdp(iband)%nlnp, ckdp(iband)%nt ) )
call HistoryGet( ncfn, name_weight, ckdp(iband)%weight, flag_mpi_split = flag_mpi_init )
call HistoryGet( ncfn, name_g, ckdp(iband)%g, flag_mpi_split = flag_mpi_init )
call HistoryGet( ncfn, 'lnp', ckdp(iband)%lnp, flag_mpi_split = flag_mpi_init )
call HistoryGet( ncfn, 't', ckdp(iband)%t, flag_mpi_split = flag_mpi_init )
call HistoryGet( ncfn, name_bnds, ckdp(iband)%wnbnds, flag_mpi_split = flag_mpi_init )
call HistoryGet( ncfn, name_lnac, ckdp(iband)%lnac, flag_mpi_split = flag_mpi_init )
call HistoryGet( ncfn, name_pfr, ckdp(iband)%pfr, flag_mpi_split = flag_mpi_init )
write( 6, * ) 'band ', iband
write( 6, * ) ' wns = ', ckdp(iband)%wnbnds(1)
write( 6, * ) ' wne = ', ckdp(iband)%wnbnds(2)
write( 6, * ) ' ng = ', ckdp(iband)%ng
do ig = 1, ckdp(iband)%ng
write( 6, * ) ' g(', ig, ') = ', ckdp(iband)%g(ig)
end do
write( 6, * ) ' nlnp = ', ckdp(iband)%nlnp
write( 6, * ) ' nt = ', ckdp(iband)%nt
end do
end subroutine ckd_input