00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 subroutine psmile_print_comp_info ( cinfos, n_comps, string )
00012
00013
00014
00015 use PRISM_constants
00016
00017 use PSMILe, dummy_interface => PSMILe_Print_comp_info
00018
00019 implicit none
00020
00021
00022
00023 Integer, Intent(In) :: n_comps
00024
00025
00026
00027 Type (enddef_comp), Intent(In) :: cinfos (n_comps)
00028
00029
00030
00031 Character(len=*), Intent(In) :: string
00032
00033
00034
00035
00036
00037 Integer :: i
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 Character(len=len_cvs_string), save :: mycvs =
00058 '$Id: psmile_print_comp_info.F90 2325 2010-04-21 15:00:07Z valcke $'
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 write (*, 9050) cinfos(i)%all_extents(:, :, :)
00073 write (*, 9060) cinfos(i)%all_extent_infos(1:4, :)
00074 enddo
00075
00076
00077
00078 write (*, 9010)
00079
00080 #ifdef VERBOSE
00081 print 9980, trim(ch_id)
00082 #endif /* VERBOSE */
00083
00084 call psmile_flushstd ()
00085
00086
00087
00088
00089
00090 9000 format (/1x, a, ': Info on ', i4, ' comp_infos', ':', &
00091 /1x, 33('-'), /1x, a)
00092 9010 format (1x, a)
00093
00094 9020 format (/1x, i3, '. info: local comp_id =', i4, '; comm size', i4, &
00095 '; global comp id =', i4)
00096 9030 format (1x, 'Number of grids per process in comp comm:', &
00097 /(1x, 16i5))
00098 9040 format (1x, 'Ranks in psmile communicator', &
00099 /(1x, 16i5))
00100 9050 format (1x, 'Grid extents:', 1p, &
00101 /(1x, '(', 2(e11.4, ':', e11.4, ', '), e11.4, ':', e11.4, ')'))
00102 9060 format (1x, 'Extent infos:', &
00103 /(1x, 'local grid id', i5, ', grid type', i5, ', tr_code', i5, &
00104 ', global grid id', i5))
00105 #ifdef VERBOSE
00106 9990 format (1x, a, ': psmile_print_comp_info: begin')
00107 9980 format (1x, a, ': psmile_print_comp_info: eof')
00108 #endif /* VERBOSE */
00109
00110 end subroutine PSMILe_Print_comp_info