PeakFQ Annual Flood Frequency Analysis Using Bulletin 17C and Bulletin 17B Guidelines Version 7.4 2022/06/28 ---> ---> NOTICE: Compiled for Windows. ---> ---> This release has been tested Windows 10. ---> ---> It has not been tested under Vista, XP nor earlier versions ---> of Windows; no assistance or support will be provided for ---> using the program under these older versions of Windows. ---> For assistance, enhancement requests, or to report bugs, contact USGS by sending e-mail to h2osoft@usgs.gov. A. Quick Start 1. If you have previously installed version 5.0 or later of PEAKFQ or PKFQWin use the "Add/Remove Programs" under the "Settings-Control Panel" Window to uninstall the old PeakFQ before installing the new version. 2. From http://water.usgs.gov/software/PeakFQ/, download PeakFQ_7.4.exe 3. To launch the installation, double click on the downloaded PeakFQ_7.4.exe If you accept all defaults during the installation process, PeakFQ will be installed in C:\Program Files(x86)\PeakFQ, a PeakFQ icon will be placed on your desktop, and PeakFQ will be added to the start menu under USGS 4. PeakFQ is launched by a. clicking on the desktop PeakFQ icon or b. selecting USGS/PeakFQ from the Start menu 5. Bulletin 17C is a good reference for how to conduct flood frequency analyses. It can be downloaded from: https://doi.org/10.3133/tm4B5 B. Input Files *** NOTE: PeakFQ cannot recognize file paths (including directory names and filenames) that are too long. The program will fail to compute an output unless the input files are placed into a short file path. *** PeakFQ recognizes peak flow data in the PeakFQ (watstore) standard format. Annual peak flows are available in the PeakFQ standard format from NWIS-Web, see http://nwis.waterdata.usgs.gov/usa/nwis/peak. (Note: the PeakFQ program CANNOT read the Tab-separated format.) C. Changes in Version 7.4 (limited version history) 1) Added 8 additional elements to Export (.exp) file. They are: HistLength = length of the historic period PILF_Method = method used to screen for PILFs MGBT_PILF_Thresh = threshold below which peaks are considered PILFs PILFs = total number of PILFS PILF_0s = number of 0 flows included in the total PILFs PILF_Censored = number of censored flows included in the total PILFs PILF_Gaged = number of gaged peaks included in the total PILFs EMA_Num_Iter = number of EMA iterations required for convergence 2) Added reporting of number of EMA iterations As described above in the Export file, a count was added to report the number of EMA iterations required for convergence. This was added mostly as a tool for those working on the software, but some users may also found it helpful. 3) Added a new output graph of EMA representation of data. This graph shows how the data was used in the EMA analysis. It is comparable to the input EMA representation of data graph, but instead of showing how the data as entered by the user it displays the data as it was used by EMA and MGBT. Below is an example of the graph. 4)Updated naming convention for generated graphs: ********_freq.xxx This is the new naming convention for the main frequency curve output graph. ********_input.xxx This is the new naming convention for the input EMA representation of data graph. ********_output.xxx This is the new naming convention for the input EMA representation of data graph. 5) Updated code that finalizes EMA data arrays to exclude missing years that have a Perception Threshold of inf-inf. Previous versions of PeakFQ were counting years with (inf,inf) perceptible ranges as a year with peak flow information and thus increasing the count ,n, of the number of gaged peaks. However, (inf,inf) specifies a year without any peak flow information and thus should be excluded from this count, n. This is fixed in v7.4. Below is the code that was changed to resolve this issue. a. Issue is in FORTRAN peakfq2ema.f file, need to change line 557 b. New line should read: i. if(qlV(j) .ne. Missing .and. tlV(j) .lt. Infinity) then c. This will cause years with (inf,inf) perception thresholds to not be counted as a year 6) Corrected issue in EMA code of uninitialized local variables causing computational failure under rare test cases. Below is the piece of code from the FORTRAN REGMOMS.f file that has changed. The section highlighted in yellow was added to solve this problem. c compute cdf for small skews using wilson-hilferty transformation c if(wwh .gt. 0.d0) then mu = m(1) s = sqrt(m(2)) z = whlp2z((x-mu)/s,g) pP3wh = fp_z_cdf(z) else c set pP3wh to 0 to assure it is not NaN (P Hummel, 04/14/22) pP3wh = 0.d0 endif 7) Fixed issue related to setting begin/end year different from first/last recorded peak for sites with Code 6(urban/regulated peaks). 8) Revised code to properly handle Urban/Regulated peaks associated with non-default Perception Thresholds. Such peaks were being included even when the Urg/Reg option was set to ‘NO’; they are now excluded under this condition. 9) Implemented proper handling of Code O that is entered via the user interface rather than the Watstore file. 10) Fixed issue of setting an analysis to exclude Historic Peaks, but not having that option properly processed from the saved specification file in future runs. 11) Revised code to better check that Start/End dates on Specifications Tab correspond to Perception Thresholds Start/End dates 12) Updated testing/batch code to produce all output graph types. D. Known Bugs - On Input/View tab, if in the Perceptible Range Table a Start Year value is entered that differs from the Beginning Year field on the Stations Specification tab, the Beginning Year field on the Station Specification tab will not be automatically updated. The user must update this value. - On Input/View tab, if in the Perceptible Range Table an End Year value is entered that differs from the Ending Year field on the Stations Specification tab, the Ending Year field on the Station Specification tab will not be automatically updated. The user must update this value. - In PRT file, some Diagnostic Messages printed in Table 2 - Diagnostic Message and PILF Results are not applicable to EMA analysis.