Skip to content

PEcAn v1.10.0

Latest

Choose a tag to compare

@robkooper robkooper released this 06 Jan 19:35
e0a1d61

Added

  • Add function clip_and_save_raster_file() for subsetting rasters to match a polygon of interest (#3537).
  • Add CH4 and N2O to standard_vars in PEcAn.utils
  • New function sat_vapor_pressure() added for computing saturation vapor pressure from temperature using various methods.
  • Added AmeriFlux_met_ensemble() function with ERA5 fallback for AmeriFlux meteorological data processing and ensemble generation
  • Added all_site_nc_merge_by_year() and single_site_nc_merge() functions to merge netCDF files across ensembles and sites from pecan model netCDF outputs.
  • Added parallel mode for the entire SDA workflow.
  • Define, add support for, and parse events schema
    • Events schema and validate_events() function to PEcAn.data.land (#3623, #3521)
    • Add write.events.SIPNET() to generate SIPNET events.in files from a events.json file.
  • Included all relevant carbon pools (ROOT_BIOMASS, AG_BIOMASS, SOIL_STOCK, LIT_BIOMASS) in BADM-based IC extraction; excluded non-pool variables like SOIL_CHEM.
  • Added explicit support for LIT_BIOMASS to fully utilize BADM biomass capabilities.
  • Added test-IC_BADM_Utilities.R to validate BADM initial condition extraction and processing
  • Added function for merging images from the same tiling system (MODIS, GLANCE, ICESat-2, HLS, etc.).
  • Added function for converting images towards the GDAL-supported formats (H5, NetCDF, HDF4, GeoTIFF, etc .).
  • New utility script IC_SOILGRID_Utilities.R for processing SoilGrids data to generate soil carbon initial condition (IC) files. This includes (#3508):
    • soilgrids_ic_process: A function to extract, process, and generate ensemble members from SoilGrids250m data.
    • preprocess_soilgrids_data: A helper function to handle missing values and ensure data integrity during preprocessing.
    • generate_soilgrids_ensemble: A function to create ensemble members for a site based on processed soil carbon data.
  • extract.nc.ERA5() and met2CF.ERA5 now supports both ensemble and reanalysis data processing .
  • Initial Quarto notebook run_pecan.qmd to run PEcAn Demo 1 workflow from a pre-configured pecan.xml file, enabling notebook-based model runs, analysis, and visualization (#3531)
  • Directory structure for PEcAn Quarto notebooks under pecan/documentation/tutorials/Demo_1_Basic_Run
  • Support for inspecting and plotting NetCDF output variables within the notebook workflow.
  • added support for soil temperature, relative humidity, soil moisture, and PPFD downscaling to met_temporal_downscale.Gaussian_ensemble
  • The PEcAn uncertainty analysis tutorial ("Demo 2") has been updated and reimplemented as a Quarto notebook at documentation/tutorials/Demo_02_Uncertainty_Analysis/uncertainty.qmd. (#3570)
  • Added the shared input_design matrix, generated via
    runModule.run.write.configs()/generate_joint_ensemble_design(), that keeps
    parameter draws and sampled inputs aligned across run.write.configs(),
    write.ensemble.configs()(#3535, #3634, #3677).

Fixed

  • Fixed a bugs and BADM now process both single-site and multi-site settings, detecting the input structure and processing each site independently to generate the correct number of ensemble members per site.
  • Fixed "external pointer is not valid" error and addressed key bugs in soilgrids_soilC_extract() function (#3506)
  • Fixed a bug within the model2netcdf.SIPNET function where we assumed the constant calculations of pecan_start_doy across years (the calculations should vary depending on the last date from the last loop and the start date of the current loop), which will lead to incorrect calculations of the start sub_dates and sub_dates_cf if we are jumping between years (e.g., from 2012-12-31 to 2013-01-01). The sipnet2datetime function is no longer used anywhere and therefore has been removed.

Changed

  • Package PEcAn.uncertainty has changed licensing. With approval from all its contributors, we now provide it under a BSD 3-clause license rather than the previously used NCSA Open Source license.
  • Ensemble and sensitivity analyses now assign an ensemble ID if one is not specified in the XML, even when running with no DB (#3654).
  • download.ERA5_cds now uses the R package ecmwfr (replacing python dependency of cdsapi via reticulate), enabling direct NetCDF downloads; and made flexible for both reanalysis and ensemble data product.
  • extract_soil_gssurgo now supports spatial sampling using a grid of user-defined size and spacing. And supports ensemble simulation of soil organic carbon (SOC) stocks, using area-weighted aggregation
  • The ERA5 NC extraction function can now handle multi-site instead of one
  • All of the met2model.* functions no longer write a list of variables (*.nc.var) file alongside each output netcdf. If you need var files, use PEcAn.utils::nc_write_vars() after the run completes (#3611, #3616).
  • Refactor convert_input to Perform tasks via helper function. Subtask of #3307
  • Stopped testing on R 4.1, started testing on R 4.5, and updated prebuilt Docker images to match -- they are now available for R releases 4.2 through 4.5 as well as for R under development.
  • write.config.STICS() now modifies parameters with vectors rather than individually.
  • Code for DART has been moved from modules/ to contrib/ and its license more clearly described.
  • Updated docker.sh to mimic more the build for github actions, added options to push to other registries.
  • ED will now use the same configuration (docker GNU) as the official ED repository for building.