65 CHARACTER(CHRLEN),
PRIVATE :: &
66 RCSIdentString =
'$RCSfile: PLAG_ModSurfStats.F90,v $ $Revision: 1.13 $'
136 TYPE(t_region
),
POINTER :: pregion
142 INTEGER :: errorflag,ifile
149 global => pregion%global
152 'PLAG_ModSurfStats.F90')
154 IF ( global%myProcid == masterproc .AND. &
155 global%verbLevel > verbose_none )
THEN
156 WRITE(stdout,
'(A,1X,A)') solver_name, &
157 'Closing PLAG surface statistics file...'
160 ifile = if_plag_surf_stats
166 CLOSE(ifile,iostat=errorflag)
167 global%error = errorflag
168 IF ( global%error /= err_none )
THEN
169 CALL
errorstop(global,err_file_close,__line__)
176 IF ( global%myProcid == masterproc .AND. &
177 global%verbLevel > verbose_none )
THEN
178 WRITE(stdout,
'(A,1X,A)') solver_name, &
179 'Closing PLAG surface statistics file done.'
218 TYPE(t_region
),
POINTER :: pregion
224 INTEGER :: errorflag,ipatch
226 TYPE(t_grid),
POINTER :: pgrid
227 TYPE(t_patch),
POINTER :: ppatch
233 global => pregion%global
236 'PLAG_ModSurfStats.F90')
238 pgrid => pregion%grid
248 DO ipatch = 1,pgrid%nPatches
249 ppatch => pregion%patches(ipatch)
251 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
252 ALLOCATE(ppatch%statsPlag(ppatch%nBFaces),stat=errorflag)
253 global%error = errorflag
254 IF ( global%error /= err_none )
THEN
255 CALL
errorstop(global,err_allocate,__line__,
'pPatch%statsPlag')
274 DO ipatch = 1,pgrid%nPatches
275 ppatch => pregion%patches(ipatch)
276 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
326 TYPE(t_region
),
POINTER :: pregion
333 INTEGER :: errorflag,ifl,nbfaces,nbins,ncont,nvars
341 global => pregion%global
344 'PLAG_ModSurfStats.F90')
346 nbfaces =
SIZE(pstatsplag,dim=1)
348 ncont = pregion%plagInput%nCont
349 nvars = plag_surf_stats_last +ncont
361 ALLOCATE(pstatsplag(ifl)%nHits(nbins),stat=errorflag)
362 global%error = errorflag
363 IF ( global%error /= err_none )
THEN
364 CALL
errorstop(global,err_allocate,__line__,
'pStatsPlag%nHits')
367 ALLOCATE(pstatsplag(ifl)%vars(nvars,nbins),stat=errorflag)
368 global%error = errorflag
369 IF ( global%error /= err_none )
THEN
370 CALL
errorstop(global,err_allocate,__line__,
'pStatsPlag%vars')
414 TYPE(t_region
),
POINTER :: pregion
420 INTEGER :: errorflag,ipatch
422 TYPE(t_grid),
POINTER :: pgrid
423 TYPE(t_patch),
POINTER :: ppatch
429 global => pregion%global
432 'PLAG_ModSurfStats.F90')
434 pgrid => pregion%grid
440 DO ipatch = 1,pgrid%nPatches
441 ppatch => pregion%patches(ipatch)
443 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
446 DEALLOCATE(ppatch%statsPlag,stat=errorflag)
447 global%error = errorflag
448 IF ( global%error /= err_none )
THEN
449 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%statsPlag')
508 INTEGER :: errorflag,ifl,nbfaces
515 'PLAG_ModSurfStats.F90')
517 nbfaces =
SIZE(pstatsplag,dim=1)
524 DEALLOCATE(pstatsplag(ifl)%nHits,stat=errorflag)
525 global%error = errorflag
526 IF ( global%error /= err_none )
THEN
527 CALL
errorstop(global,err_deallocate,__line__,
'pStatsPlag%nHits')
530 DEALLOCATE(pstatsplag(ifl)%vars,stat=errorflag)
531 global%error = errorflag
532 IF ( global%error /= err_none )
THEN
533 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%statsPlag%vars')
581 TYPE(t_region
),
POINTER :: pregion
582 TYPE(t_plag),
POINTER :: pplag
585 INTEGER,
INTENT(IN) :: ifl,ipcl
586 REAL(KIND=RFREAL),
INTENT(IN) :: thetaangle
592 INTEGER :: binmethod,errorflag,ibin,icont,nbins,ncont
593 REAL(KIND=RFREAL) :: diambin,diamminmicron,diammaxmicron,diamplagmicron, &
594 enerplag,massplag,momemagnplag
602 global => pregion%global
605 'PLAG_ModSurfStats.F90')
607 ncont = pregion%plagInput%nCont
615 binmethod = bin_method_linear
620 diamminmicron = 10.0_rfreal
621 diammaxmicron = 210.0_rfreal
622 diambin = (diammaxmicron-diamminmicron)/
REAL(nbins,kind=rfreal)
625 diamplagmicron = pplag%dv(dv_plag_diam,ipcl)*1.0e+6_rfreal
627 massplag =
sum( pplag%cv(pplag%cvPlagMass(:),ipcl) )
629 momemagnplag =
sqrt( pplag%cv(cv_plag_xmom,ipcl)**2.0_rfreal &
630 +pplag%cv(cv_plag_ymom,ipcl)**2.0_rfreal &
631 +pplag%cv(cv_plag_zmom,ipcl)**2.0_rfreal )
633 enerplag = pplag%cv(cv_plag_ener,ipcl)
644 diamminmicron,diammaxmicron)
650 pstatsplag(ifl)%nHits(ibin) = pstatsplag(ifl)%nHits(ibin) +1
652 pstatsplag(ifl)%vars(plag_surf_stats_diam3,ibin) = &
653 pstatsplag(ifl)%vars(plag_surf_stats_diam3,ibin) +diamplagmicron**3.0_rfreal
655 pstatsplag(ifl)%vars(plag_surf_stats_diam4,ibin) = &
656 pstatsplag(ifl)%vars(plag_surf_stats_diam4,ibin) +diamplagmicron**4.0_rfreal
658 pstatsplag(ifl)%vars(plag_surf_stats_theta,ibin) = &
659 pstatsplag(ifl)%vars(plag_surf_stats_theta,ibin) +thetaangle
661 pstatsplag(ifl)%vars(plag_surf_stats_mome1,ibin) = &
662 pstatsplag(ifl)%vars(plag_surf_stats_mome1,ibin) +momemagnplag
664 pstatsplag(ifl)%vars(plag_surf_stats_mome2,ibin) = &
665 pstatsplag(ifl)%vars(plag_surf_stats_mome2,ibin) +momemagnplag**2.0_rfreal
667 pstatsplag(ifl)%vars(plag_surf_stats_ener,ibin) = &
668 pstatsplag(ifl)%vars(plag_surf_stats_ener,ibin) +enerplag
670 pstatsplag(ifl)%vars(plag_surf_stats_mass,ibin) = &
671 pstatsplag(ifl)%vars(plag_surf_stats_mass,ibin) +massplag
674 pstatsplag(ifl)%vars(plag_surf_stats_last+icont,ibin) = &
675 pstatsplag(ifl)%vars(plag_surf_stats_last+icont,ibin) &
676 +pplag%cv(pplag%cvPlagMass(icont),ipcl)
720 TYPE(t_region
),
POINTER :: pregion
727 INTEGER :: errorflag,ibin,ifl,ipatch,ivar,nbfaces,nbins,ncont,nvars
735 global => pregion%global
738 'PLAG_ModSurfStats.F90')
740 nbfaces =
SIZE(pstatsplag,dim=1)
742 ncont = pregion%plagInput%nCont
743 nvars = plag_surf_stats_last +ncont
756 pstatsplag(ifl)%nHits(ibin) = 0
761 pstatsplag(ifl)%vars(ivar,ibin) = 0.0_rfreal
806 TYPE(t_region
),
POINTER :: pregion
812 INTEGER :: errorflag,ipatch
814 TYPE(t_grid),
POINTER :: pgrid
815 TYPE(t_patch),
POINTER :: ppatch
821 global => pregion%global
824 'PLAG_ModSurfStats.F90')
826 pgrid => pregion%grid
836 DO ipatch = 1,pgrid%nPatches
837 ppatch => pregion%patches(ipatch)
839 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
840 nullify(ppatch%statsPlag)
892 INTEGER,
INTENT(IN) :: filestatus
893 LOGICAL,
INTENT(OUT),
OPTIONAL :: fileexists
894 TYPE(t_region
),
POINTER :: pregion
900 CHARACTER(CHRLEN) :: ifilename
901 INTEGER :: errorflag,ifile
908 global => pregion%global
911 'PLAG_ModSurfStats.F90')
913 IF ( global%myProcid == masterproc .AND. &
914 global%verbLevel > verbose_none )
THEN
915 WRITE(stdout,
'(A,1X,A)') solver_name, &
916 'Opening ASCII PLAG surface statistics file...'
919 ifile = if_plag_surf_stats
926 pregion%iRegionGlobal,global%currentTime, &
929 IF ( global%myProcid == masterproc .AND. &
930 global%verbLevel > verbose_none )
THEN
931 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Global region:', &
932 pregion%iRegionGlobal
933 WRITE(stdout,
'(A,3X,A,1X,1PE11.5)') solver_name,
'Current time:', &
941 IF ( filestatus == file_status_old )
THEN
942 INQUIRE(file=ifilename,exist=fileexists)
944 IF ( fileexists .EQV. .true. )
THEN
945 OPEN(ifile,file=ifilename,
form=
"FORMATTED",
status=
"OLD", &
947 global%error = errorflag
948 IF ( global%error /= err_none )
THEN
949 CALL
errorstop(global,err_file_open,__line__,ifilename)
952 ELSE IF ( filestatus == file_status_unknown )
THEN
953 OPEN(ifile,file=ifilename,
form=
"FORMATTED",
status=
"UNKNOWN", &
955 global%error = errorflag
956 IF ( global%error /= err_none )
THEN
957 CALL
errorstop(global,err_file_open,__line__,ifilename)
960 CALL
errorstop(global,err_reached_default,__line__)
967 IF ( global%myProcid == masterproc .AND. &
968 global%verbLevel > verbose_none )
THEN
969 WRITE(stdout,
'(A,1X,A)') solver_name, &
970 'Opening ASCII PLAG surface statistics file done.'
1013 INTEGER,
INTENT(IN) :: filestatus
1014 LOGICAL,
INTENT(OUT),
OPTIONAL :: fileexists
1015 TYPE(t_region
),
POINTER :: pregion
1021 CHARACTER(CHRLEN) :: ifilename
1022 INTEGER :: errorflag,ifile
1029 global => pregion%global
1032 'PLAG_ModSurfStats.F90')
1034 IF ( global%myProcid == masterproc .AND. &
1035 global%verbLevel > verbose_none )
THEN
1036 WRITE(stdout,
'(A,1X,A)') solver_name, &
1037 'Opening binary PLAG surface statistics file...'
1040 ifile = if_plag_surf_stats
1047 pregion%iRegionGlobal,global%currentTime, &
1050 IF ( global%myProcid == masterproc .AND. &
1051 global%verbLevel > verbose_none )
THEN
1052 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Global region:', &
1053 pregion%iRegionGlobal
1054 WRITE(stdout,
'(A,3X,A,1X,1PE11.5)') solver_name,
'Current time:', &
1062 IF ( filestatus == file_status_old )
THEN
1063 INQUIRE(file=ifilename,exist=fileexists)
1065 IF ( fileexists .EQV. .true. )
THEN
1066 OPEN(ifile,file=ifilename,
form=
"UNFORMATTED",
status=
"OLD", &
1068 global%error = errorflag
1069 IF ( global%error /= err_none )
THEN
1070 CALL
errorstop(global,err_file_open,__line__,ifilename)
1073 ELSE IF ( filestatus == file_status_unknown )
THEN
1074 OPEN(ifile,file=ifilename,
form=
"UNFORMATTED",
status=
"UNKNOWN", &
1076 global%error = errorflag
1077 IF ( global%error /= err_none )
THEN
1078 CALL
errorstop(global,err_file_open,__line__,ifilename)
1081 CALL
errorstop(global,err_reached_default,__line__)
1088 IF ( global%myProcid == masterproc .AND. &
1089 global%verbLevel > verbose_none )
THEN
1090 WRITE(stdout,
'(A,1X,A)') solver_name, &
1091 'Opening binary PLAG surface statistics file done.'
1130 TYPE(t_region
),
POINTER :: pregion
1136 CHARACTER(CHRLEN) :: ifilename,sectionstring
1137 INTEGER :: errorflag,ifile,ifl,ipatch,loopcounter
1139 TYPE(t_grid),
POINTER :: pgrid
1140 TYPE(t_patch),
POINTER :: ppatch
1146 global => pregion%global
1149 'PLAG_ModSurfStats.F90')
1151 IF ( global%myProcid == masterproc .AND. &
1152 global%verbLevel > verbose_none )
THEN
1153 WRITE(stdout,
'(A,1X,A)') solver_name, &
1154 'Reading ASCII PLAG surface statistics file...'
1157 pgrid => pregion%grid
1159 ifile = if_plag_surf_stats
1165 IF ( global%myProcid == masterproc .AND. &
1166 global%verbLevel > verbose_low )
THEN
1167 WRITE(stdout,
'(A,3X,A)') solver_name,
'Header information...'
1170 READ(ifile,
'(A)') sectionstring
1171 IF ( trim(sectionstring) /=
'# ROCFLU surface statistics file' )
THEN
1172 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1182 loopcounter = loopcounter + 1
1184 READ(ifile,
'(A)') sectionstring
1186 SELECT CASE ( trim(sectionstring) )
1193 IF ( global%myProcid == masterproc .AND. &
1194 global%verbLevel > verbose_low )
THEN
1195 WRITE(stdout,
'(A,3X,A)') solver_name,
'Patch...'
1198 DO ipatch = 1,pgrid%nPatches
1199 ppatch => pregion%patches(ipatch)
1200 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
1214 IF ( global%myProcid == masterproc .AND. &
1215 global%verbLevel > verbose_low )
THEN
1216 WRITE(stdout,
'(A,3X,A)') solver_name,
'End marker...'
1226 IF ( global%verbLevel > verbose_low )
THEN
1227 WRITE(stdout,
'(A,3X,A)') solver_name,sectionstring
1230 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1237 IF ( loopcounter >= limit_infinite_loop )
THEN
1238 CALL
errorstop(global,err_infinite_loop,__line__)
1246 IF ( global%myProcid == masterproc .AND. &
1247 global%verbLevel > verbose_none )
THEN
1248 WRITE(stdout,
'(A,1X,A)') solver_name, &
1249 'Reading ASCII PLAG surface statistics file done.'
1288 TYPE(t_region
),
POINTER :: pregion
1294 CHARACTER(CHRLEN) :: ifilename,sectionstring
1295 INTEGER :: errorflag,ifile,ifl,ipatch,loopcounter
1297 TYPE(t_grid),
POINTER :: pgrid
1298 TYPE(t_patch),
POINTER :: ppatch
1304 global => pregion%global
1307 'PLAG_ModSurfStats.F90')
1309 IF ( global%myProcid == masterproc .AND. &
1310 global%verbLevel > verbose_none )
THEN
1311 WRITE(stdout,
'(A,1X,A)') solver_name, &
1312 'Reading ASCII PLAG surface statistics file...'
1315 pgrid => pregion%grid
1317 ifile = if_plag_surf_stats
1323 IF ( global%myProcid == masterproc .AND. &
1324 global%verbLevel > verbose_low )
THEN
1325 WRITE(stdout,
'(A,3X,A)') solver_name,
'Header information...'
1328 READ(ifile) sectionstring
1329 IF ( trim(sectionstring) /=
'# ROCFLU surface statistics file' )
THEN
1330 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1340 loopcounter = loopcounter + 1
1342 READ(ifile) sectionstring
1344 SELECT CASE ( trim(sectionstring) )
1351 IF ( global%myProcid == masterproc .AND. &
1352 global%verbLevel > verbose_low )
THEN
1353 WRITE(stdout,
'(A,3X,A)') solver_name,
'Patch...'
1356 DO ipatch = 1,pgrid%nPatches
1357 ppatch => pregion%patches(ipatch)
1358 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
1372 IF ( global%myProcid == masterproc .AND. &
1373 global%verbLevel > verbose_low )
THEN
1374 WRITE(stdout,
'(A,3X,A)') solver_name,
'End marker...'
1384 IF ( global%verbLevel > verbose_low )
THEN
1385 WRITE(stdout,
'(A,3X,A)') solver_name,sectionstring
1388 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1395 IF ( loopcounter >= limit_infinite_loop )
THEN
1396 CALL
errorstop(global,err_infinite_loop,__line__)
1404 IF ( global%myProcid == masterproc .AND. &
1405 global%verbLevel > verbose_none )
THEN
1406 WRITE(stdout,
'(A,1X,A)') solver_name, &
1407 'Reading Binary PLAG surface statistics file done.'
1447 TYPE(t_region
),
POINTER :: pregion
1454 CHARACTER(CHRLEN) :: ifilename,sectionstring
1455 INTEGER :: errorflag,ibin,ifile,ifl,ipatch,ivar,nbfaces,nbins,ncont,nvars
1463 global => pregion%global
1466 'PLAG_ModSurfStats.F90')
1468 ifile = if_plag_surf_stats
1470 nbfaces =
SIZE(pstatsplag,dim=1)
1472 ncont = pregion%plagInput%nCont
1473 nvars = plag_surf_stats_last +ncont
1488 READ(ifile,
'(8(I10))') ((pstatsplag(ifl)%nHits(ibin),ibin=1,nbins),&
1495 READ(ifile,
'(5(E23.16))') (((pstatsplag(ifl)%vars(ivar,ibin), &
1496 ivar=1,nvars),ibin=1,nbins),ifl=1,nbfaces)
1539 TYPE(t_region
),
POINTER :: pregion
1546 CHARACTER(CHRLEN) :: ifilename,sectionstring
1547 INTEGER :: errorflag,ibin,ifile,ifl,ipatch,ivar,nbfaces,nbins,ncont,nvars
1555 global => pregion%global
1558 'PLAG_ModSurfStats.F90')
1560 ifile = if_plag_surf_stats
1562 nbfaces =
SIZE(pstatsplag,dim=1)
1564 ncont = pregion%plagInput%nCont
1565 nvars = plag_surf_stats_last +ncont
1580 READ(ifile) ((pstatsplag(ifl)%nHits(ibin),ibin=1,nbins),ifl=1,nbfaces)
1586 READ(ifile) (((pstatsplag(ifl)%vars(ivar,ibin), &
1587 ivar=1,nvars),ibin=1,nbins),ifl=1,nbfaces)
1635 TYPE(t_region
),
POINTER :: pregion
1641 LOGICAL :: fileexists
1648 global => pregion%global
1651 'PLAG_ModSurfStats.F90')
1653 SELECT CASE(global%solutFormat)
1654 CASE( format_ascii )
1657 IF ( fileexists .EQV. .true. )
THEN
1662 CASE( format_binary )
1665 IF ( fileexists .EQV. .true. )
THEN
1670 CALL
errorstop(global,err_reached_default,__line__)
1677 IF ( fileexists .EQV. .false. )
THEN
1678 global%warnCounter = global%warnCounter + 1
1680 IF ( global%myProcid == masterproc .AND. &
1681 global%verbLevel > verbose_none )
THEN
1682 WRITE(stdout,
'(A,2(1X,A))') solver_name,
'*** WARNING ***', &
1683 'Plag surface statistics file missing, not read.'
1720 diambin,diammin,diammax)
1734 INTEGER,
INTENT(IN) :: binmethod,nbins
1735 REAL(KIND=RFREAL),
INTENT(IN) :: diambin,diammicron,diammax,diammin
1741 INTEGER :: errorflag
1748 'PLAG_ModSurfStats.F90')
1754 SELECT CASE(binmethod)
1755 CASE( bin_method_linear)
1759 CALL
errorstop(global,err_reached_default,__line__)
1802 TYPE(t_region
),
POINTER :: pregion
1808 CHARACTER(CHRLEN) :: ifilename,sectionstring
1809 INTEGER :: errorflag,ifile,ifl,ipatch
1811 TYPE(t_grid),
POINTER :: pgrid
1812 TYPE(t_patch),
POINTER :: ppatch
1818 global => pregion%global
1821 'PLAG_ModSurfStats.F90')
1823 IF ( global%myProcid == masterproc .AND. &
1824 global%verbLevel > verbose_none )
THEN
1825 WRITE(stdout,
'(A,1X,A)') solver_name, &
1826 'Writing ASCII PLAG surface statistics file...'
1829 pgrid => pregion%grid
1831 ifile = if_plag_surf_stats
1837 IF ( global%myProcid == masterproc .AND. &
1838 global%verbLevel > verbose_low )
THEN
1839 WRITE(stdout,
'(A,3X,A)') solver_name,
'Header information...'
1842 sectionstring =
'# ROCFLU surface statistics file'
1843 WRITE(ifile,
'(A)') trim(sectionstring)
1849 sectionstring =
'# Patch'
1850 WRITE(ifile,
'(A)') trim(sectionstring)
1852 DO ipatch = 1,pgrid%nPatches
1853 ppatch => pregion%patches(ipatch)
1855 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
1868 IF ( global%myProcid == masterproc .AND. &
1869 global%verbLevel > verbose_low )
THEN
1870 WRITE(stdout,
'(A,3X,A)') solver_name,
'End marker...'
1873 sectionstring =
'# End'
1874 WRITE(ifile,
'(A)') trim(sectionstring)
1880 IF ( global%myProcid == masterproc .AND. &
1881 global%verbLevel > verbose_none )
THEN
1882 WRITE(stdout,
'(A,1X,A)') solver_name, &
1883 'Writing ASCII PLAG surface statistics file done.'
1921 TYPE(t_region
),
POINTER :: pregion
1927 CHARACTER(CHRLEN) :: sectionstring
1928 INTEGER :: errorflag,ifile,ipatch
1930 TYPE(t_grid),
POINTER :: pgrid
1931 TYPE(t_patch),
POINTER :: ppatch
1937 global => pregion%global
1940 'PLAG_ModSurfStats.F90')
1942 IF ( global%myProcid == masterproc .AND. &
1943 global%verbLevel > verbose_none )
THEN
1944 WRITE(stdout,
'(A,1X,A)') solver_name, &
1945 'Writing binary PLAG surface statistics file...'
1948 pgrid => pregion%grid
1950 ifile = if_plag_surf_stats
1956 IF ( global%myProcid == masterproc .AND. &
1957 global%verbLevel > verbose_low )
THEN
1958 WRITE(stdout,
'(A,3X,A)') solver_name,
'Header information...'
1961 sectionstring =
'# ROCFLU surface statistics file'
1962 WRITE(ifile) sectionstring
1968 sectionstring =
'# Patch'
1969 WRITE(ifile) sectionstring
1971 DO ipatch = 1,pgrid%nPatches
1972 ppatch => pregion%patches(ipatch)
1974 IF ( ppatch%plotStatsFlag .EQV. .true. )
THEN
1989 IF ( global%myProcid == masterproc .AND. &
1990 global%verbLevel > verbose_low )
THEN
1991 WRITE(stdout,
'(A,3X,A)') solver_name,
'End marker...'
1994 sectionstring =
'# End'
1995 WRITE(ifile) sectionstring
2001 IF ( global%myProcid == masterproc .AND. &
2002 global%verbLevel > verbose_none )
THEN
2003 WRITE(stdout,
'(A,1X,A)') solver_name, &
2004 'Writing binary PLAG surface statistics file done.'
2044 TYPE(t_region
),
POINTER :: pregion
2051 CHARACTER(CHRLEN) :: ifilename,sectionstring
2052 INTEGER :: errorflag,ibin,ifile,ifl,ipatch,ivar,nbfaces,nbins,ncont,nvars
2060 global => pregion%global
2063 'PLAG_ModSurfStats.F90')
2065 ifile = if_plag_surf_stats
2067 nbfaces =
SIZE(pstatsplag,dim=1)
2069 ncont = pregion%plagInput%nCont
2070 nvars = plag_surf_stats_last +ncont
2085 WRITE(ifile,
'(8(I10))') ((pstatsplag(ifl)%nHits(ibin),ibin=1,nbins),&
2092 WRITE(ifile,
'(5(E23.16))') (((pstatsplag(ifl)%vars(ivar,ibin), &
2093 ivar=1,nvars),ibin=1,nbins),ifl=1,nbfaces)
2136 TYPE(t_region
),
POINTER :: pregion
2144 CHARACTER(CHRLEN) :: ifilename
2145 INTEGER :: errorflag,ibin,ifile,ifl,ipatch,ivar,nbfaces,nbins,ncont,nvars
2153 global => pregion%global
2156 'PLAG_ModSurfStats.F90')
2158 ifile = if_plag_surf_stats
2160 nbfaces =
SIZE(pstatsplag,dim=1)
2162 ncont = pregion%plagInput%nCont
2163 nvars = plag_surf_stats_last +ncont
2178 WRITE(ifile) ((pstatsplag(ifl)%nHits(ibin),ibin=1,nbins),ifl=1,nbfaces)
2184 WRITE(ifile) (((pstatsplag(ifl)%vars(ivar,ibin), &
2185 ivar=1,nvars),ibin=1,nbins),ifl=1,nbfaces)
2226 TYPE(t_region
),
POINTER :: pregion
2238 global => pregion%global
2241 'PLAG_ModSurfStats.F90')
2243 SELECT CASE( global%solutFormat )
2244 CASE( format_ascii )
2248 CASE( format_binary )
2253 CALL
errorstop(global,err_reached_default,__line__)
subroutine, private plag_writesurfstatskernelascii(pRegion, pStatsPlag)
subroutine, private plag_writesurfstatsascii(pRegion)
subroutine, private plag_readsurfstatsbinary(pRegion)
Tfloat sum() const
Return the sum of all the pixel values in an image.
subroutine, private plag_opensurfstatsbinary(pRegion, fileStatus, fileExists)
INTEGER function, private plag_setbinindex(global, binMethod, nBins, diamMicron, diamBin, diamMin, diamMax)
subroutine, private plag_closesurfstats(pRegion)
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
subroutine, private plag_writesurfstatskernelbinary(pRegion, pStatsPlag)
subroutine, public plag_gathersurfstats(pRegion, pPlag, pStatsPlag, ifl, iPcl, thetaAngle)
subroutine, private plag_initsurfstats(pRegion, pStatsPlag)
subroutine, private plag_readsurfstatskernelascii(pRegion, pStatsPlag)
subroutine, public plag_destroysurfstats(pRegion)
subroutine, public plag_readsurfstatswrapper(pRegion)
subroutine, public plag_createsurfstats(pRegion)
subroutine, private plag_writesurfstatsbinary(pRegion)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE form
subroutine, public plag_writesurfstatswrapper(pRegion)
subroutine, private plag_readsurfstatskernelbinary(pRegion, pStatsPlag)
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine, private plag_readsurfstatsascii(pRegion)
subroutine, private plag_opensurfstatsascii(pRegion, fileStatus, fileExists)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine, private plag_nullifysurfstats(pRegion)
subroutine deregisterfunction(global)
subroutine, private plag_createsurfstatskernel(pRegion, pStatsPlag)
subroutine, private plag_destroysurfstatskernel(global, pStatsPlag)
subroutine buildfilenamesteady(global, dest, ext, id, it, fileName)
subroutine buildfilenameunsteady(global, dest, ext, id, tm, fileName)