diff --git a/calibration-gui/pom.xml b/calibration-gui/pom.xml index 28ff6a9f..c2759b1e 100644 --- a/calibration-gui/pom.xml +++ b/calibration-gui/pom.xml @@ -5,7 +5,7 @@ gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.21 + 1.0.21.1 calibration-gui diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java index 89f149ae..efe27952 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java @@ -162,36 +162,42 @@ public void loadFiles(List inputFiles, Runnable completionCallback, Progre fileFailedProgress.setTotal(0l); bus.post(processingFailedProgressEvent); + final int batchSize = 50; for (File file : files) { List> results = ratioLoader.convertFile(file); - try { - List successfulResults = results.parallelStream() - .filter(Result::isSuccess) - .map(result -> result.getResultPayload().get()) - .collect(Collectors.toList()); - - List loadFailures = new ArrayList<>(); - client.loadRatioMetadata(idCounter.getAndIncrement(), successfulResults).doOnNext(ret -> loadFailures.add(ret)).retry(3).blockLast(Duration.ofHours(1l)); - - if (loadFailures.size() > 0) { - fileFailedProgress.setTotal(fileFailedProgress.getTotal() + loadFailures.size()); - fileFailedProgress.setCurrent(fileFailedProgress.getCurrent() + loadFailures.size()); - bus.post(processingFailedProgressEvent); - loadFailures.forEach( - r -> bus.post(new PassFailEvent(LOCAL_FAIL_EVENT, "", new Result<>(false, Collections.singletonList(new LightweightIllegalStateException(r)), null)))); + int i = 0; + fileProcessingProgress.setTotal(fileProcessingProgress.getTotal() + results.size()); + + while (i < results.size()) { + try { + List> batch = results.subList(i, Math.min(i + batchSize, results.size())); + i = i + batchSize; + List successfulResults = batch.parallelStream() + .filter(Result::isSuccess) + .map(result -> result.getResultPayload().get()) + .collect(Collectors.toList()); + + List loadFailures = new ArrayList<>(); + client.loadRatioMetadata(idCounter.getAndIncrement(), successfulResults).doOnNext(ret -> loadFailures.add(ret)).retry(3).blockLast(Duration.ofHours(1l)); + + if (loadFailures.size() > 0) { + fileFailedProgress.setTotal(fileFailedProgress.getTotal() + loadFailures.size()); + fileFailedProgress.setCurrent(fileFailedProgress.getCurrent() + loadFailures.size()); + bus.post(processingFailedProgressEvent); + loadFailures.forEach( + r -> bus.post(new PassFailEvent(LOCAL_FAIL_EVENT, "", new Result<>(false, Collections.singletonList(new LightweightIllegalStateException(r)), null)))); + } + + fileProcessingProgress.setCurrent(fileProcessingProgress.getCurrent() + successfulResults.size() - loadFailures.size()); + bus.post(processingProgressEvent); + } catch (RuntimeException ex) { + log.trace(ex.getMessage(), ex); } - - fileProcessingProgress.setTotal(fileProcessingProgress.getTotal() + successfulResults.size()); - fileProcessingProgress.setCurrent(fileProcessingProgress.getCurrent() + successfulResults.size() - loadFailures.size()); - bus.post(processingProgressEvent); - } catch (RuntimeException ex) { - log.trace(ex.getMessage(), ex); } } } catch (RuntimeException e) { log.error(e.getMessage(), e); } - } } catch (IllegalStateException e) { log.error("Unable to instantiate loading display {}", e.getMessage(), e); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java index 15be1414..44da5370 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java @@ -149,6 +149,9 @@ public class RatioMeasurementSpectraPlotManager { @FXML private SplitPane mainSplitPane; + @FXML + private StackPane rootPane; + @FXML private StackPane borderPane; @@ -1019,12 +1022,7 @@ public SpectraRatioPairDetails getCurrentFirstRatio() { } public String getPlotIdentifier() { - StringBuilder sb = new StringBuilder(); - ratioMeasurementReport.getStationsForEventPair(getEventPair()).forEach(station -> { - sb.append(station.getStationName()); - sb.append("_"); - }); - return String.format("large_event_%s_small_event_%s_stations_%s", getEventPair().getY().getEventId(), getEventPair().getX().getEventId(), sb.toString()); + return String.format("large_event_%s_small_event_%s", getEventPair().getY().getEventId(), getEventPair().getX().getEventId()); } // Gets the epicentral distance EModel WGS84 distance between both events @@ -1250,7 +1248,7 @@ protected void updateSpectraPlot(EventPair eventPair) { public void exportScreenshots(final File folder) { String timestamp = SnapshotUtils.getTimestampWithLeadingSeparator(); - SnapshotUtils.writePng(folder, new Pair<>(ALL_PLOTS_PREFIX, mainSplitPane), timestamp); + SnapshotUtils.writePng(folder, new Pair<>(ALL_PLOTS_PREFIX, rootPane), timestamp); SnapshotUtils.writePng(folder, new Pair<>(SPECTRA_RATIO_PREFIX, spectraRatioPlotNode), timestamp); SnapshotUtils.writePng(folder, new Pair<>(JOINT_MOMENT_PREFIX, jointMomentPlotNode), timestamp); SnapshotUtils.writePng(folder, new Pair<>(JOINT_STRESS_PREFIX, jointStressPlotNode), timestamp); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/common/gui/util/SnapshotUtils.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/common/gui/util/SnapshotUtils.java index 714c2697..17690ddf 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/common/gui/util/SnapshotUtils.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/common/gui/util/SnapshotUtils.java @@ -1,86 +1,96 @@ -/* -* Copyright (c) 2020, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. -* All rights reserved. -* This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. -* -* Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: -* http://www.apache.org/licenses/LICENSE-2.0 -* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and limitations under the license. -* -* This work was performed under the auspices of the U.S. Department of Energy -* by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. -*/ -package gov.llnl.gnem.apps.coda.common.gui.util; - -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.time.Instant; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.CompletableFuture; - -import javax.imageio.ImageIO; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import gov.llnl.gnem.apps.coda.common.model.domain.Pair; -import javafx.embed.swing.SwingFXUtils; -import javafx.scene.Node; -import javafx.scene.SnapshotParameters; -import javafx.scene.image.Image; -import javafx.scene.transform.Transform; - -public class SnapshotUtils { - private static final Logger log = LoggerFactory.getLogger(SnapshotUtils.class); - - public static Image snapshot(final Node node) { - SnapshotParameters snapshotParams = new SnapshotParameters(); - snapshotParams.setTransform(Transform.scale(8.0, 8.0)); - return node.snapshot(snapshotParams, null); - } - - public static void writePng(BufferedImage image, String filename) { - try { - ImageIO.write(image, "png", new File(filename)); - log.trace("Wrote image to: {}", filename); - } catch (IOException ex) { - log.warn(ex.getMessage(), ex); - } catch (NullPointerException ex) { - log.warn("Null pointer writing image {} to file {} : {}", image, filename, ex.getMessage(), ex); - } - } - - public static void writePng(final Node node, String filename) { - Image snapshot = snapshot(node); - CompletableFuture.runAsync(() -> writePng(SwingFXUtils.fromFXImage(snapshot, null), filename)); - } - - public static void writePng(File folder, Pair nameAndNode) { - writePng(folder, Collections.singletonList(nameAndNode), null); - } - - public static void writePng(File folder, Pair nameAndNode, String id) { - writePng(folder, Collections.singletonList(nameAndNode), id); - } - - public static void writePng(File folder, List> namesAndNodes, String id) { - String timestamp; - if (id != null) { - timestamp = id; - } else { - timestamp = getTimestampWithLeadingSeparator(); - } - if (folder != null && namesAndNodes != null && !namesAndNodes.isEmpty()) { - namesAndNodes.stream().forEach(nameAndNode -> writePng(nameAndNode.getY(), folder.getAbsolutePath() + File.separator + nameAndNode.getX() + timestamp + ".png")); - } - } - - public static String getTimestampWithLeadingSeparator() { - return "_" + Instant.now().toEpochMilli(); - } - -} +/* +* Copyright (c) 2020, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439. +* All rights reserved. +* This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. +* +* Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the license. +* +* This work was performed under the auspices of the U.S. Department of Energy +* by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. +*/ +package gov.llnl.gnem.apps.coda.common.gui.util; + +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.time.Instant; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +import javax.imageio.ImageIO; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import gov.llnl.gnem.apps.coda.common.model.domain.Pair; +import javafx.embed.swing.SwingFXUtils; +import javafx.scene.Node; +import javafx.scene.SnapshotParameters; +import javafx.scene.image.Image; +import javafx.scene.transform.Transform; + +public class SnapshotUtils { + private static final Logger log = LoggerFactory.getLogger(SnapshotUtils.class); + + public static Image snapshot(final Node node) { + SnapshotParameters snapshotParams = new SnapshotParameters(); + snapshotParams.setTransform(Transform.scale(2.0, 2.0)); + return node.snapshot(snapshotParams, null); + } + + public static void writePng(BufferedImage image, String filename) { + try { + ImageIO.write(image, "png", new File(filename)); + log.trace("Wrote image to: {}", filename); + } catch (IOException ex) { + log.warn(ex.getMessage(), ex); + } catch (NullPointerException ex) { + log.warn("Null pointer writing image {} to file {} : {}", image, filename, ex.getMessage(), ex); + } + } + + public static CompletableFuture writePng(final Node node, String filename) { + Image snapshot = snapshot(node); + return CompletableFuture.runAsync(() -> writePng(SwingFXUtils.fromFXImage(snapshot, null), filename)); + } + + public static void writePng(File folder, Pair nameAndNode) { + writePng(folder, Collections.singletonList(nameAndNode), null); + } + + public static void writePng(File folder, Pair nameAndNode, String id) { + writePng(folder, Collections.singletonList(nameAndNode), id); + } + + public static void writePng(File folder, List> namesAndNodes, String id) { + String timestamp; + if (id != null) { + timestamp = id; + } else { + timestamp = getTimestampWithLeadingSeparator(); + } + if (folder != null && namesAndNodes != null && !namesAndNodes.isEmpty()) { + List> futures = namesAndNodes.stream() + .map(nameAndNode -> writePng(nameAndNode.getY(), folder.getAbsolutePath() + File.separator + nameAndNode.getX() + timestamp + ".png")) + .collect(Collectors.toList()); + try { + //Block for a minute to make sure the PNGs get written to disk in total before we move on + CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).get(1l, TimeUnit.MINUTES); + } catch (Exception ex) { + log.debug(ex.getLocalizedMessage(), ex); + } + } + } + + public static String getTimestampWithLeadingSeparator() { + return "_" + Instant.now().toEpochMilli(); + } + +} diff --git a/calibration-gui/src/main/resources/fxml/SpectraRatioPlotGui.fxml b/calibration-gui/src/main/resources/fxml/SpectraRatioPlotGui.fxml index a00693e3..5d180ed1 100644 --- a/calibration-gui/src/main/resources/fxml/SpectraRatioPlotGui.fxml +++ b/calibration-gui/src/main/resources/fxml/SpectraRatioPlotGui.fxml @@ -13,7 +13,7 @@ - + diff --git a/calibration-service/calibration-application/pom.xml b/calibration-service/calibration-application/pom.xml index 9bf5022e..ae6a7a29 100644 --- a/calibration-service/calibration-application/pom.xml +++ b/calibration-service/calibration-application/pom.xml @@ -3,7 +3,7 @@ gov.llnl.gnem.apps.coda.calibration calibration-service - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/calibration-service/calibration-model/pom.xml b/calibration-service/calibration-model/pom.xml index afa7a83d..d6351d51 100644 --- a/calibration-service/calibration-model/pom.xml +++ b/calibration-service/calibration-model/pom.xml @@ -3,7 +3,7 @@ gov.llnl.gnem.apps.coda.calibration calibration-service - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetails.java b/calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetails.java index 2de2cc83..e580bed0 100644 --- a/calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetails.java +++ b/calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetails.java @@ -24,6 +24,7 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.Index; import javax.persistence.Lob; import javax.persistence.ManyToOne; import javax.persistence.Table; @@ -36,7 +37,7 @@ import gov.llnl.gnem.apps.coda.common.model.domain.Waveform; @Entity -@Table(name = "Spectra_Ratio_Pair_Details") +@Table(name = "Spectra_Ratio_Pair_Details", indexes = { @Index(name = "denomWaveform.id_index", columnList = "id"), @Index(name = "numerWaveform.id_index", columnList = "id") }) public class SpectraRatioPairDetails { @Id diff --git a/calibration-service/calibration-repository/pom.xml b/calibration-service/calibration-repository/pom.xml index b0dbdf12..c8b99f68 100644 --- a/calibration-service/calibration-repository/pom.xml +++ b/calibration-service/calibration-repository/pom.xml @@ -3,7 +3,7 @@ gov.llnl.gnem.apps.coda.calibration calibration-service - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/calibration-service/calibration-service-api/pom.xml b/calibration-service/calibration-service-api/pom.xml index d63e851b..c03a7ffd 100644 --- a/calibration-service/calibration-service-api/pom.xml +++ b/calibration-service/calibration-service-api/pom.xml @@ -4,7 +4,7 @@ gov.llnl.gnem.apps.coda.calibration calibration-service - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/calibration-service/calibration-service-impl/pom.xml b/calibration-service/calibration-service-impl/pom.xml index 6a495863..cd588757 100644 --- a/calibration-service/calibration-service-impl/pom.xml +++ b/calibration-service/calibration-service-impl/pom.xml @@ -5,7 +5,7 @@ gov.llnl.gnem.apps.coda.calibration calibration-service - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/SpectraRatioServiceImpl.java b/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/SpectraRatioServiceImpl.java index 8f58a6e0..84ea9a3b 100644 --- a/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/SpectraRatioServiceImpl.java +++ b/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/SpectraRatioServiceImpl.java @@ -331,29 +331,25 @@ private Future> makeSpectraRatioMeasurementsBase(Boo userRatio = userEditedRatios.get(eventPair).get(curStation).get(freqBand); } + if (!ratioData.containsKey(eventPair)) { + ratioData.put(eventPair, new HashMap<>()); + } + Map> ratiosForPair = ratioData.get(eventPair); + + if (!ratiosForPair.containsKey(curStation)) { + ratiosForPair.put(curStation, new HashMap<>()); + } + if (userRatio == null) { Result ratioDetails = calcRatioFunc.apply(smallSpectra, largeSpectra); if (ratioDetails.isSuccess()) { ratioDataList.add(ratioDetails.getResultPayload().get()); - - if (!ratioData.containsKey(eventPair)) { - ratioData.put(eventPair, new HashMap<>()); - } - - Map> ratiosForPair = ratioData.get(eventPair); - if (!ratiosForPair.containsKey(curStation)) { - ratiosForPair.put(curStation, new HashMap<>()); - } ratiosForPair.get(curStation).put(freqBand, ratioDetails.getResultPayload().get()); ratioData.put(eventPair, ratiosForPair); } else { log.info("Unable to ratio spectra {}", ratioDetails.getErrors()); } } else { - Map> ratiosForPair = ratioData.get(eventPair); - if (!ratiosForPair.containsKey(curStation)) { - ratiosForPair.put(curStation, new HashMap<>()); - } ratiosForPair.get(curStation).put(freqBand, userRatio); ratioData.put(eventPair, ratiosForPair); } @@ -695,50 +691,54 @@ public List findAllMetadataOnly() { public List loadRatioMetadata(List ratios) { List errors = new ArrayList<>(); for (SpectraRatioPairDetailsMetadata ratio : ratios) { - //Relies on one ratio per distinct event pair/station/freq tuple - //Look for wave/freq tuple - WaveformMetadata numerWaveMeta = ratio.getNumerWaveform(); - WaveformMetadata denomWaveMeta = ratio.getDenomWaveform(); - Waveform numerWaveform = null; - Waveform denomWaveform = null; - - Waveform matches = waveformService.getByMatchingKeys( - numerWaveMeta.getStream().getStation(), - numerWaveMeta.getEvent().getEventId(), - numerWaveMeta.getLowFrequency(), - numerWaveMeta.getHighFrequency()); - if (matches != null) { - numerWaveform = matches; - } + try { + //Relies on one ratio per distinct event pair/station/freq tuple + //Look for wave/freq tuple + WaveformMetadata numerWaveMeta = ratio.getNumerWaveform(); + WaveformMetadata denomWaveMeta = ratio.getDenomWaveform(); + Waveform numerWaveform = null; + Waveform denomWaveform = null; + + Waveform matches = waveformService.getByMatchingKeys( + numerWaveMeta.getStream().getStation(), + numerWaveMeta.getEvent().getEventId(), + numerWaveMeta.getLowFrequency(), + numerWaveMeta.getHighFrequency()); + if (matches != null) { + numerWaveform = matches; + } - matches = waveformService.getByMatchingKeys( - denomWaveMeta.getStream().getStation(), - denomWaveMeta.getEvent().getEventId(), - denomWaveMeta.getLowFrequency(), - denomWaveMeta.getHighFrequency()); - if (matches != null) { - denomWaveform = matches; - } + matches = waveformService.getByMatchingKeys( + denomWaveMeta.getStream().getStation(), + denomWaveMeta.getEvent().getEventId(), + denomWaveMeta.getLowFrequency(), + denomWaveMeta.getHighFrequency()); + if (matches != null) { + denomWaveform = matches; + } - if (numerWaveform != null && denomWaveform != null) { - //Check if we can attach to an existing SpectraRatioPairDetails - SpectraRatioPairDetails spectraRatio = spectraRatioPairDetailsRepository.findByWaveformIds(numerWaveform.getId(), denomWaveform.getId()); - if (spectraRatio == null) { - spectraRatio = new SpectraRatioPairDetails(numerWaveform, denomWaveform); + if (numerWaveform != null && denomWaveform != null) { + //Check if we can attach to an existing SpectraRatioPairDetails + SpectraRatioPairDetails spectraRatio = spectraRatioPairDetailsRepository.findByWaveformIds(numerWaveform.getId(), denomWaveform.getId()); + if (spectraRatio == null) { + spectraRatio = new SpectraRatioPairDetails(numerWaveform, denomWaveform); + } + spectraRatio.mergeNonNullFields(ratio); + SpectraRatioPairOperator op = new SpectraRatioPairOperator(spectraRatio); + op.updateDiffSegment(); + spectraRatioPairDetailsRepository.save(spectraRatio); + } else { + errors.add( + "Unable to find matching waveforms for ratio: \n" + + "Event Id A " + + denomWaveMeta.getEvent().getEventId() + + "\n" + + "Event Id B " + + numerWaveMeta.getEvent().getEventId() + + "\n"); } - spectraRatio.mergeNonNullFields(ratio); - SpectraRatioPairOperator op = new SpectraRatioPairOperator(spectraRatio); - op.updateDiffSegment(); - spectraRatioPairDetailsRepository.save(spectraRatio); - } else { - errors.add( - "Unable to find matching waveforms for ratio: \n" - + "Event Id A " - + denomWaveMeta.getEvent().getEventId() - + "\n" - + "Event Id B " - + numerWaveMeta.getEvent().getEventId() - + "\n"); + } catch (Exception e) { + log.error(e.getLocalizedMessage(), e); } } return errors; diff --git a/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/processing/SpectraCalculator.java b/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/processing/SpectraCalculator.java index ca29fbfd..d16f7133 100644 --- a/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/processing/SpectraCalculator.java +++ b/calibration-service/calibration-service-impl/src/main/java/gov/llnl/gnem/apps/coda/calibration/service/impl/processing/SpectraCalculator.java @@ -631,7 +631,7 @@ public EnergyInfo calcTotalEnergyInfo(final SortedMap mea idx++; } - double k = Math.sqrt(Math.pow(mdacFI.getRadPatS(), 2.0) / (4.0 * Math.PI * Math.PI * mdacFI.getRhos() * Math.pow(mdacFI.getBetas(), 5))); + double k = mdacFI.getRadPatS() / (2.0 * Math.PI * Math.sqrt(mdacFI.getRhos() * Math.pow(mdacFI.getBetas(), 5))); double sumEnergy = 0.0; double end; diff --git a/calibration-service/pom.xml b/calibration-service/pom.xml index 25a54185..eb75db30 100644 --- a/calibration-service/pom.xml +++ b/calibration-service/pom.xml @@ -5,7 +5,7 @@ gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/calibration-standalone/pom.xml b/calibration-standalone/pom.xml index fe19422f..b2e48ed6 100644 --- a/calibration-standalone/pom.xml +++ b/calibration-standalone/pom.xml @@ -4,7 +4,7 @@ gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.21 + 1.0.21.1 4.0.0 diff --git a/externals/pom.xml b/externals/pom.xml index e6f3e5cc..43bcdce6 100644 --- a/externals/pom.xml +++ b/externals/pom.xml @@ -7,7 +7,7 @@ gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.21 + 1.0.21.1 externals diff --git a/mapping/pom.xml b/mapping/pom.xml index 073146d7..b4c94e2f 100644 --- a/mapping/pom.xml +++ b/mapping/pom.xml @@ -7,7 +7,7 @@ gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.21 + 1.0.21.1 gov.llnl.gnem.apps.coda.common diff --git a/pom.xml b/pom.xml index 3c1664f6..0b4c09af 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.21 + 1.0.21.1 coda-calibration pom @@ -76,7 +76,7 @@ 17.0.6 2.4.0-b180830.0359 - 2.7.2 + 2.7.18 2022.0.5 2.2.1