psmile_print_comp_info.F90

Go to the documentation of this file.
00001 !-----------------------------------------------------------------------
00002 ! Copyright 2006-2010, NEC Europe Ltd., London, UK.
00003 ! All rights reserved. Use is subject to OASIS4 license terms.
00004 !-----------------------------------------------------------------------
00005 !BOP
00006 !
00007 ! !ROUTINE: PSMILe_Print_comp_info
00008 !
00009 ! !INTERFACE:
00010 
00011       subroutine psmile_print_comp_info ( cinfos, n_comps, string )
00012 !
00013 ! !USES:
00014 !
00015       use PRISM_constants
00016 !
00017       use PSMILe, dummy_interface => PSMILe_Print_comp_info
00018 !
00019       implicit none
00020 !
00021 ! !INPUT PARAMETERS:
00022 !
00023       Integer,            Intent(In)  :: n_comps
00024 
00025 !     Number of component info's
00026 
00027       Type (enddef_comp), Intent(In)  :: cinfos (n_comps)
00028 
00029 !     Component info's (used by PRISM_Enddef ())
00030 
00031       Character(len=*),   Intent(In)  :: string
00032 
00033 !     Additional info to be printed
00034 !
00035 ! !LOCAL VARIABLES
00036 !
00037       Integer :: i, n ! loop index
00038 !
00039 ! !DESCRIPTION:
00040 !
00041 ! Subroutine "PSMILe_Print_comp_info" prints the info on components
00042 ! generated by PRISM_Enddef().
00043 !
00044 !
00045 ! !REVISION HISTORY:
00046 !
00047 !   Date      Programmer    Description
00048 ! ----------  -----------   -----------
00049 ! 01.12.03    H. Ritzdorf   created
00050 !
00051 !EOP
00052 !----------------------------------------------------------------------
00053 !
00054 ! $Id: psmile_print_comp_info.F90 3248 2011-06-23 13:03:19Z coquart $
00055 ! $Author: coquart $
00056 !
00057    Character(len=len_cvs_string), save :: mycvs = 
00058        '$Id: psmile_print_comp_info.F90 3248 2011-06-23 13:03:19Z coquart $'
00059 #ifdef VERBOSE
00060       print 9990, trim(ch_id)
00061 #endif /* VERBOSE */
00062 !
00063 !----------------------------------------------------------------------
00064 !
00065       write (*, 9000) trim(ch_id), n_comps, string
00066 !
00067       do i = 1, n_comps
00068          write (*, 9020) i, cinfos(i)%comp_id, cinfos(i)%size, &
00069                          cinfos(i)%global_comp_id
00070          write (*, 9030) cinfos(i)%Number_of_Grids_Vector(:)
00071          write (*, 9040) cinfos(i)%psmile_ranks(:)
00072          do n = 1, size(cinfos(i)%all_extent_infos(:))
00073             write (*, 9050) cinfos(i)%all_extent_infos(n)%extent
00074          enddo
00075          do n = 1, size(cinfos(i)%all_extent_infos(:))
00076             write (*, 9060) cinfos(i)%all_extent_infos(n)%local_grid_id, &
00077                             cinfos(i)%all_extent_infos(n)%grid_type,     &
00078                             cinfos(i)%all_extent_infos(n)%tr_code,       &
00079                             cinfos(i)%all_extent_infos(n)%global_grid_id
00080          enddo
00081       enddo
00082 !
00083 !  FLush output
00084 !
00085       write (*, 9010)
00086 
00087 #ifdef VERBOSE
00088       print 9980, trim(ch_id)
00089 #endif /* VERBOSE */
00090 
00091       call psmile_flushstd ()
00092 !
00093 !-----------------------------------------------------------------------
00094 !  Formats
00095 !-----------------------------------------------------------------------
00096 !
00097 9000  format (/1x, a, ': Info on ', i4, ' comp_infos', ':', &
00098               /1x, 33('-'), /1x, a)
00099 9010  format (1x, a)
00100 
00101 9020  format (/1x, i3, '. info: local comp_id =', i4, '; comm size', i4, &
00102                    '; global comp id =', i4)
00103 9030  format (1x, 'Number of grids per process in comp comm:', &
00104              /(1x, 16i5))
00105 9040  format (1x, 'Ranks in psmile communicator', &
00106              /(1x, 16i5))
00107 9050  format (1x, 'Grid extents:', 1p, &
00108              /(1x, '(', 2(e11.4, ':', e11.4, ', '), e11.4, ':', e11.4, ')'))
00109 9060  format (1x, 'Extent infos:', &
00110              /(1x, 'local grid id', i5, ', grid type', i5, ', tr_code', i5, &
00111                  ', global grid id', i5))
00112 #ifdef VERBOSE
00113 9990 format (1x, a, ': psmile_print_comp_info: begin')
00114 9980 format (1x, a, ': psmile_print_comp_info: eof')
00115 #endif /* VERBOSE */ 
00116 !
00117       end subroutine PSMILe_Print_comp_info

Generated on 1 Dec 2011 for Oasis4 by  doxygen 1.6.1