From d25ee3da9421584cb4a29adb48bb46846408076b Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Sat, 22 Jul 2023 21:18:34 -0700 Subject: [PATCH] newhall-1.6.5: add handling for gridded soil-air temperature offset, amplitude, O horizon and saturation presence absence - Remove JDOM 1.1 from LICENCE; no longer included in source code or used to build jarfile --- DESCRIPTION | 2 +- LICENSE | 9 +- R/AAAA.R | 2 +- R/NewhallBatch.R | 173 +++++++++++++++++- README.Rmd | 7 +- README.md | 17 +- inst/java/newhall-1.6.5.jar | Bin 0 -> 47183 bytes .../psu/newhall/sim/BASICSimulationModel.java | 23 ++- man/figures/README-spatraster-ex-2.png | Bin 22908 -> 24350 bytes man/newhall_batch.Rd | 20 +- 10 files changed, 216 insertions(+), 37 deletions(-) create mode 100644 inst/java/newhall-1.6.5.jar diff --git a/DESCRIPTION b/DESCRIPTION index fba3448..e26e721 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: jNSMR Title: Wrapper for Java Newhall Simulation Model (jNSM) "A Traditional Soil Climate Simulation Model" -Version: 0.2.0 +Version: 0.2.0.9001 Authors@R: person(given = "Andrew", family = "Brown", diff --git a/LICENSE b/LICENSE index 246a979..8e2de53 100644 --- a/LICENSE +++ b/LICENSE @@ -1,11 +1,4 @@ -Newhall 1.6.1, Copyright (C) 2010-2011 -United States Department of Agriculture - Natural Resources Conservation Service, -Penn State University Center for Environmental Informatics -All rights reserved. - -This product includes software developed by the JDOM Project (http://www.jdom.org/). - -JDOM 1.1, Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin +Copyright 2010-2023 United States Department of Agriculture - Natural Resources Conservation Service, Soil and Plant Science Division Staff, Penn State University Center for Environmental Informatics All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/R/AAAA.R b/R/AAAA.R index 31a0d97..b99545d 100644 --- a/R/AAAA.R +++ b/R/AAAA.R @@ -53,4 +53,4 @@ newhall_version <- function() { )) } -.get_default_suffix <- function() "-1.6.4-3" \ No newline at end of file +.get_default_suffix <- function() "-1.6.5" \ No newline at end of file diff --git a/R/NewhallBatch.R b/R/NewhallBatch.R index 15ff460..80a3ba4 100644 --- a/R/NewhallBatch.R +++ b/R/NewhallBatch.R @@ -7,8 +7,10 @@ #' #' @param .data a _data.frame_ or _character_ vector of paths to CSV files; or a SpatRaster or RasterStack containin the same data elements and names as included in the batch `data.frame`/CSV format #' @param unitSystem Default: `"metric"` OR `"mm"` OR `"cm"` use _millimeters_ of rainfall (default for the BASIC model); set to `unitSystem="english"` OR `unitSystem="in"` to transform English (inches of precipitation; degrees Fahrenheit) inputs to metric (millimeters of precipitation; degrees Celsius) before running simulation -#' @param soilAirOffset air-soil temperature offset. Conventionally for jNSM: `2.5` for metric units (default); `4.5` for english units. -#' @param amplitude difference in amplitude between soil and air temperature sine waves. Default `0.66` +#' @param soilAirOffset air-soil temperature offset. Conventionally for jNSM: `2.5` for metric units (default); `4.5` for english units. Can optionally be specified as a layer in a raster input. +#' @param amplitude difference in amplitude between soil and air temperature sine waves. Default `0.66`. Can optionally be specified as a layer in a raster input. +#' @param hasOHorizon Used for cryic soil temperature regime criteria. Default: `FALSE`. Can optionally be specified as a layer in a raster input. +#' @param isSaturated Used for cryic soil temperature regime and aquic soil moisture regime mask. Default: `FALSE`. Can optionally be specified as a layer in a raster input. #' @param verbose print message about number of simulations and elapsed time #' @param toString call `toString()` method on each _NewhallResults_ object and store in `output` column of result? #' @param checkargs _logical_; check argument length and data types for each run? Default: `TRUE` @@ -84,6 +86,8 @@ newhall_batch.default <- function(.data = NULL, unitSystem = "metric", soilAirOffset = ifelse(unitSystem %in% c("in","english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -94,7 +98,18 @@ newhall_batch.default <- function(.data = NULL, overwrite = NULL) { # if newer JAR is available, use the fastest batch method - if (newhall_version() >= "1.6.3") { + if (newhall_version() >= "1.6.5") { + batch3( + .data, + unitSystem = unitSystem, + soilAirOffset = soilAirOffset, + amplitude = amplitude, + verbose = verbose, + toString = toString, + checkargs = checkargs + ) + } + if (newhall_version() >= "1.6.3" && newhall_version() < "1.6.5") { batch2( .data, unitSystem = unitSystem, @@ -330,7 +345,9 @@ batch2 <- function(.data, rJava::.jarray(rep(unitSystem == "cm", nrow(.data))), rJava::.jarray(as.double(.data$awc)), rJava::.jarray(rep(soilAirOffset, nrow(.data))), - rJava::.jarray(rep(amplitude, nrow(.data))) + rJava::.jarray(rep(amplitude, nrow(.data))), + rJava::.jarray(rep(FALSE, nrow(.data))), # O horizon + rJava::.jarray(rep(FALSE, nrow(.data))) # saturation ) b <- rJava::.jcast(res, "Lorg/psu/newhall/sim/NewhallBatchResults") @@ -374,6 +391,144 @@ batch2 <- function(.data, type.convert(res, as.is = TRUE) } +# data.frame -> data.frame +#' +#' @importFrom utils type.convert +batch3 <- function(.data, + unitSystem = "metric", + soilAirOffset = ifelse(unitSystem %in% + c("in", "english"), + 4.5, 2.5), + amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, + verbose = TRUE, + toString = TRUE, + checkargs = TRUE) { + + t1 <- Sys.time() + x <- BASICSimulationModel() + + unitSystem <- match.arg(tolower(unitSystem), + choices = c("metric","mm","cm","in","english")) + + if (unitSystem %in% c("metric","mm")) { + # "cm" is the internal convention in the NewhallDatasetMetadata for _millimeters_ of rainfall, degrees Celsius + unitSystem <- "cm" + } else if (unitSystem == "english") { + # "in" is the internal convention in the NewhallDatasetMetadata for inches of rainfall, degrees Fahrenheit + unitSystem <- "in" + } + + # minimum dataset includes all of the codes specified in colnames of batch file template + mincols <- !(.colnamesNewhallBatch() %in% colnames(.data)) + + if (sum(mincols) > 0) { + stop(sprintf( + "columns %s are required in the Newhall batch CSV input format", + paste0(.colnamesNewhallBatch()[mincols], collapse = ", ") + ), call. = FALSE) + } + + # convert deg F to deg C + .doUnitsTemp <- function(x) if (unitSystem == "in") return((x - 32) * 5 / 9) else x + + # convert inches to _millimeters_ + .doUnitsLength <- function(x) if (unitSystem == "in") return(x * 25.4) else x + + .data <- data.frame(.data) + cnd <- colnames(.data) + .SD <- NULL + + # calculate hemisphere + hem <- rep(rJava::.jchar(strtoi(charToRaw('N'), 16L)), nrow(.data)) + hem[.data$latDD < 0] <- rJava::.jchar(strtoi(charToRaw('S'), 16L)) + + # handle arguments or gridded inputs for + # - soil-air temperature offset + # - soil temperature amplitude + # - O horizon presence/absence + # - saturation (50cm depth) presence/absence + + sao <- as.double(.data$soilAirOffset) + if (length(sao) == 0) { + sao <- rep(soilAirOffset, nrow(.data)) + } + + amp <- as.double(.data$amplitude) + if (length(amp) == 0) { + amp <- rep(amplitude, nrow(.data)) + } + + ohz <- as.logical(.data$hasOHorizon) + if (length(ohz) == 0) { + ohz <- rep(hasOHorizon, nrow(.data)) + } + + isa <- as.logical(.data$isSaturated) + if (length(isa) == 0) { + isa <- rep(isSaturated, nrow(.data)) + } + + res <- rJava::.jcall(x, "Lorg/psu/newhall/sim/NewhallBatchResults;", "runBatch2", + # res <- x$runBatch2( + rJava::.jarray(cbind(0.0, as.matrix(.data[, cnd[grep("^p[A-Z][a-z]{2}$", cnd)]])), dispatch = TRUE), + rJava::.jarray(cbind(0.0, as.matrix(.data[, cnd[grep("^t[A-Z][a-z]{2}$", cnd)]])), dispatch = TRUE), + rJava::.jarray(as.double(.data$latDD)), + rJava::.jarray(as.double(.data$lonDD)), + rJava::.jarray(rJava::.jchar(hem)), + rJava::.jarray(as.double(.data$elev)), + # rJava::.jarray(rJava::.jchar(c(rJava::.jchar(strtoi(charToRaw('N'), 16L)), rJava::.jchar(strtoi(charToRaw('S'), 16L))))[as.integer(.data$latDD < 0) + 1]), + # rJava::.jarray(rJava::.jchar(c(rJava::.jchar(strtoi(charToRaw('E'), 16L)), rJava::.jchar(strtoi(charToRaw('W'), 16L))))[as.integer(.data$latDD > 0) + 1]), + rJava::.jarray(rep(unitSystem == "cm", nrow(.data))), + rJava::.jarray(as.double(.data$awc)), + rJava::.jarray(sao), + rJava::.jarray(amp), + rJava::.jarray(ohz), + rJava::.jarray(isa) + ) + + b <- rJava::.jcast(res, "Lorg/psu/newhall/sim/NewhallBatchResults") + + # store arrays of values as public fields of NewhallBatchResults + fields <- c( + "annualRainfall", + "waterHoldingCapacity", + "annualWaterBalance", + "annualPotentialEvapotranspiration", + "summerWaterBalance", + "dryDaysAfterSummerSolstice", + "moistDaysAfterWinterSolstice", + "numCumulativeDaysDry", + "numCumulativeDaysMoistDry", + "numCumulativeDaysMoist", + "numCumulativeDaysDryOver5C", + "numCumulativeDaysMoistDryOver5C", + "numCumulativeDaysMoistOver5C", + "numConsecutiveDaysMoistInSomeParts", + "numConsecutiveDaysMoistInSomePartsOver8C", + "temperatureRegime", + "moistureRegime", + "regimeSubdivision1", + "regimeSubdivision2" + ) + fieldsmatrix <- c("meanPotentialEvapotranspiration","temperatureCalendar", "moistureCalendar") + + # convert to data frame + res <- lapply(fields, function(n) rJava::.jfield(b, name = n)) + res <- lapply(res, function(x) {if (length(x) == 0) return(rep(NA, length(res[[1]]))); x}) + res <- as.data.frame(res) + if (verbose) { + deltat <- signif(difftime(Sys.time(), t1, units = "auto"), digits = 2) + message(sprintf( + "newhall_batch: ran n=%s simulations in %s %s", + nrow(res), deltat, attr(deltat, 'units') + )) + } + colnames(res) <- fields #, fieldsmatrix + type.convert(res, as.is = TRUE) +} + #' @export #' @examples #' @@ -426,6 +581,8 @@ newhall_batch <- function(.data, unitSystem = "metric", soilAirOffset = ifelse(unitSystem %in% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -443,6 +600,8 @@ newhall_batch.character <- function(.data, unitSystem = "metric", soilAirOffset = ifelse(unitSystem %in% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -512,6 +671,8 @@ newhall_batch.SpatRaster <- function(.data, unitSystem = "metric", soilAirOffset = ifelse(unitSystem %in% c("in","english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = FALSE, checkargs = TRUE, @@ -727,6 +888,8 @@ newhall_batch.RasterBrick <- function(.data, unitSystem = "metric", soilAirOffset = ifelse(unitSystem %in% c("in","english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -758,6 +921,8 @@ newhall_batch.RasterStack <- function(.data, unitSystem = "metric", soilAirOffset = ifelse(unitSystem %in% c("in","english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, diff --git a/README.Rmd b/README.Rmd index 8bf5429..0ad4a7c 100644 --- a/README.Rmd +++ b/README.Rmd @@ -79,12 +79,7 @@ head(res) ## License information -**This package uses a modified version of the Newhall model v1.6.1 (released 2016/02/10) of the jNSM (official download here: https://www.nrcs.usda.gov/wps/portal/nrcs/detail/?cid=nrcs142p2_053559)**. The compiled JAR and source code are distributed in this R package under the "New" (3-Clause) BSD License. See _LICENSE_ for more information. Modifications to the JAR relative to legacy version are only to facilitate higher throughput batching and access to additional data elements. - -> Newhall 1.6.1, Copyright (C) 2010-2011 -> United States Department of Agriculture - Natural Resources Conservation Service, -> Penn State University Center for Environmental Informatics -> All rights reserved. +**This package uses a modified version of the Newhall model v1.6.1 (released 2016/02/10) of the jNSM (official download here: https://www.nrcs.usda.gov/resources/education-and-teaching-materials/java-newhall-simulation-model-jnsm)**. The compiled JAR and source code are distributed in this R package under the "New" (3-Clause) BSD License. See _LICENSE_ for more information. Modifications to the JAR relative to legacy version facilitate higher throughput and access to additional data elements. ## System requirements diff --git a/README.md b/README.md index 40492c7..ac7fb25 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,8 @@ paths, a data.frame, a SpatRaster or RasterStack/Brick object as input. ### GeoTIFF/SpatRaster Input library(jNSMR) - #> jNSMR (0.1.2.9000) -- R interface to the classic Newhall Simulation Model - #> Added JAR file (newhall-1.6.4.jar) to Java class path. + #> jNSMR (0.1.2.9001) -- R interface to the classic Newhall Simulation Model + #> Added JAR file (newhall-1.6.5.jar) to Java class path. library(terra) #> terra 1.7.39 @@ -46,7 +46,7 @@ paths, a data.frame, a SpatRaster or RasterStack/Brick object as input. x$elev <- 0 # elevation is not currently used by the model directly y <- newhall_batch(x) ## full resolution - #> newhall_batch: ran n=18790 simulations in 24 secs + #> newhall_batch: ran n=18790 simulations in 26 secs par(mfrow = c(2, 1)) terra::plot(y$annualWaterBalance, main = "Annual Water Balance (P-PET)") @@ -136,16 +136,11 @@ directory of this package. **This package uses a modified version of the Newhall model v1.6.1 (released 2016/02/10) of the jNSM (official download here: -)**. +)**. The compiled JAR and source code are distributed in this R package under the “New” (3-Clause) BSD License. See *LICENSE* for more information. -Modifications to the JAR relative to legacy version are only to -facilitate higher throughput batching and access to additional data -elements. - -> Newhall 1.6.1, Copyright (C) 2010-2011 United States Department of -> Agriculture - Natural Resources Conservation Service, Penn State -> University Center for Environmental Informatics All rights reserved. +Modifications to the JAR relative to legacy version facilitate higher +throughput and access to additional data elements. ## System requirements diff --git a/inst/java/newhall-1.6.5.jar b/inst/java/newhall-1.6.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..bce49d1f1eee0b1f4614cad7681e68ab62f7dd07 GIT binary patch literal 47183 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 literal 0 HcmV?d00001 diff --git a/java/org/psu/newhall/sim/BASICSimulationModel.java b/java/org/psu/newhall/sim/BASICSimulationModel.java index 7205a5a..2e84809 100644 --- a/java/org/psu/newhall/sim/BASICSimulationModel.java +++ b/java/org/psu/newhall/sim/BASICSimulationModel.java @@ -31,13 +31,14 @@ public static NewhallBatchResults runBatch(String[] name, String[] country, doub } return new NewhallBatchResults(r); } - public static NewhallBatchResults runBatch2(double[][] precipitation, double[][] temperature, double latitude[], double longitude[], char nsHemisphere[], double elevation[], boolean[] isMetric, double[] waterholdingCapacity, double[] fc, double[] fcd) { + public static NewhallBatchResults runBatch2(double[][] precipitation, double[][] temperature, double latitude[], double longitude[], char nsHemisphere[], double elevation[], boolean[] isMetric, double[] waterholdingCapacity, double[] fc, double[] fcd, boolean[] hasOHorizon, boolean[] isSaturated) { NewhallResults[] r = new NewhallResults[latitude.length]; for (int i = 0; i <= (latitude.length - 1); i++) { - r[i] = runSimulation(temperature[i], precipitation[i], latitude[i], longitude[i], elevation[i], nsHemisphere[i], isMetric[i], waterholdingCapacity[i], fc[i], fcd[i]); + r[i] = runSimulation(temperature[i], precipitation[i], latitude[i], longitude[i], elevation[i], nsHemisphere[i], isMetric[i], waterholdingCapacity[i], fc[i], fcd[i], hasOHorizon[i], isSaturated[i]); } return new NewhallBatchResults(r); } + public static NewhallResults runSimulation(double[] temperature, double[] precip, double latDD, @@ -47,7 +48,9 @@ public static NewhallResults runSimulation(double[] temperature, boolean isMetric, double waterHoldingCapacity, double fc, - double fcd) { + double fcd, + boolean hasOHorizon, + boolean isSaturated) { // This is a hack to prevent a problematic region of code from running // multiple times. Problem datasets that test that this hack works @@ -230,13 +233,25 @@ public static NewhallResults runSimulation(double[] temperature, * that is true indicates the temp regime. */ + // properly handle cryic criteria + int cryic_ht = 15; + if (hasOHorizon) { + if(isSaturated) { + cryic_ht = 6; + } else { + cryic_ht = 8; + } + } else if (isSaturated) { + cryic_ht = 13; + } + boolean[] cr = new boolean[13]; boolean[] reg = new boolean[13]; cr[1] = tma < 0; // Mean annual air temp (MAAT) < 0C. cr[2] = 0 <= tma && tma < 8; // 0C <= MAAT <= 8C. // cr[3] = (st - cs) < 15; // Summer temp ave minus (summer/winter difference * (1 - SOIL_AIR_REL) * 0.5) < 15C. // TODO: where did latter part ^^ (... - SWD...) of this come from? Misread cryic crit 1? - cr[3] = st >= 0 && st < 15; // "non-saturated, organic surface, mean _summer_ soil temperature between 0 and 8C/15C + cr[3] = st >= 0 && st < cryic_ht; // "non-saturated, organic surface, mean _summer_ soil temperature between 0 and 8C/15C // TODO: st upper limit depends on saturation, O horizon cr[7] = (dif * fcd) >= 6; // Summer/winter difference * SOIL_AIR_REL >= 6 // NOTE: Taxonomy clearly states difference greater/equal than 6, not 5 diff --git a/man/figures/README-spatraster-ex-2.png b/man/figures/README-spatraster-ex-2.png index 9efd1cf277e9fd7ddea54f35459240d62aef1a8c..e1bbdb4f8897783114baa11214f64d0d00b00bb1 100644 GIT binary patch literal 24350 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 literal 22908 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 diff --git a/man/newhall_batch.Rd b/man/newhall_batch.Rd index 1c8b3b8..44abcfb 100644 --- a/man/newhall_batch.Rd +++ b/man/newhall_batch.Rd @@ -14,6 +14,8 @@ unitSystem = "metric", soilAirOffset = ifelse(unitSystem \%in\% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -29,6 +31,8 @@ newhall_batch( unitSystem = "metric", soilAirOffset = ifelse(unitSystem \%in\% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -44,6 +48,8 @@ newhall_batch( unitSystem = "metric", soilAirOffset = ifelse(unitSystem \%in\% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -59,6 +65,8 @@ newhall_batch( unitSystem = "metric", soilAirOffset = ifelse(unitSystem \%in\% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = FALSE, checkargs = TRUE, @@ -75,6 +83,8 @@ newhall_batch( unitSystem = "metric", soilAirOffset = ifelse(unitSystem \%in\% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -91,6 +101,8 @@ newhall_batch( unitSystem = "metric", soilAirOffset = ifelse(unitSystem \%in\% c("in", "english"), 4.5, 2.5), amplitude = 0.66, + hasOHorizon = FALSE, + isSaturated = FALSE, verbose = TRUE, toString = TRUE, checkargs = TRUE, @@ -107,9 +119,13 @@ newhall_batch( \item{unitSystem}{Default: \code{"metric"} OR \code{"mm"} OR \code{"cm"} use \emph{millimeters} of rainfall (default for the BASIC model); set to \code{unitSystem="english"} OR \code{unitSystem="in"} to transform English (inches of precipitation; degrees Fahrenheit) inputs to metric (millimeters of precipitation; degrees Celsius) before running simulation} -\item{soilAirOffset}{air-soil temperature offset. Conventionally for jNSM: \code{2.5} for metric units (default); \code{4.5} for english units.} +\item{soilAirOffset}{air-soil temperature offset. Conventionally for jNSM: \code{2.5} for metric units (default); \code{4.5} for english units. Can optionally be specified as a layer in a raster input.} -\item{amplitude}{difference in amplitude between soil and air temperature sine waves. Default \code{0.66}} +\item{amplitude}{difference in amplitude between soil and air temperature sine waves. Default \code{0.66}. Can optionally be specified as a layer in a raster input.} + +\item{hasOHorizon}{Used for cryic soil temperature regime criteria. Default: \code{FALSE}. Can optionally be specified as a layer in a raster input.} + +\item{isSaturated}{Used for cryic soil temperature regime and aquic soil moisture regime mask. Default: \code{FALSE}. Can optionally be specified as a layer in a raster input.} \item{verbose}{print message about number of simulations and elapsed time}