Skip to content

read.abares - Provides simple downloading, parsing and importing of Australian Bureau of Agricultural and Resource Economics and Sciences (ABARES) data sources #667

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
13 of 29 tasks
adamhsparks opened this issue Nov 2, 2024 · 131 comments

Comments

@adamhsparks
Copy link
Member

adamhsparks commented Nov 2, 2024

Submitting Author Name: Adam Sparks
Submitting Author Github Handle: @adamhsparks
Repository: https://github.com/adamhsparks/read.abares
Version submitted: 0.1.0
Submission type: Standard
Editor: @obrl-soil
Reviewers: @potterzot, @mpaulacaldas

Due date for @potterzot: 2025-05-05

Due date for @mpaulacaldas: 2025-05-24
Archive: TBD
Version accepted: TBD
Language: en


  • Paste the full DESCRIPTION file inside a code block below:
Type: Package
Package: read.abares
Title: Provides simple downloading, parsing and importing of Australian
    Bureau of Agricultural and Resource Economics and Sciences (ABARES)
    data sources
Version: 0.1.0
Authors@R: 
    person("Adam H.", "Sparks", , "adamhsparks@gmail.com", role = c("cre", "aut"),
           comment = c(ORCID = "0000-0002-0061-8359"))
Description: Download and import data from the Australian Bureau of
    Agricultural and Resource Economics and Sciences (ABARES)
    <https://www.agriculture.gov.au/abares>.
License: MIT + file LICENSE
URL: https://github.com/adamhsparks/read.abares,
    https://adamhsparks.github.io/read.abares/
BugReports: https://github.com/adamhsparks/read.abares/issues
Imports: 
    cli,
    curl,
    data.table,
    lubridate,
    openxlsx2,
    purrr,
    readtext,
    sf,
    stars,
    stringr,
    terra,
    tidync,
    withr
Suggests: 
    knitr,
    pander,
    rmarkdown,
    roxyglobals,
    spelling,
    testthat (>= 3.0.0)
VignetteBuilder: 
    knitr
Config/roxyglobals/filename: globals.R
Config/roxyglobals/unique: FALSE
Config/testthat/edition: 3
Encoding: UTF-8
Language: en-US
LazyData: true
Roxygen: list(markdown = TRUE, roclets = c("collate", "namespace", "rd",
    "roxyglobals::global_roclet"))
RoxygenNote: 7.3.2

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • data validation and testing
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

Provides workflow assistance for fetching freely available data from the Australian Bureau of Agricultural and Resource Economics and Sciences (ABARES), the science and economics research division of the Department of Agriculture, Fisheries and Forestry. Data include trade information, soil depth, agricultural survey data on production and model outputs of agricultural production useful for agricultural researchers.

  • Who is the target audience and what are scientific applications of this package?

    • Ag economists
    • Biometricians working in agriculture
    • Anyone else who is interested in Australian agricultural and economic data
  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?

None that I'm aware of.

NA

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

  • Explain reasons for any pkgcheck items which your package is unable to pass.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • Do you intend for this package to go on CRAN?

  • Do you intend for this package to go on Bioconductor?

  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

@ropensci-review-bot
Copy link
Collaborator

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for read.abares (v0.1.0)

git hash: cd3d61e5

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✖️ Package coverage failed
  • ✖️ R CMD check found 1 error.
  • ✔️ R CMD check found no warnings.
  • 👀 Function names are duplicated in other packages

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with 👀 may be optionally addressed.)

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 77
internal read.abares 10
internal methods 3
internal stats 3
internal tools 2
internal utils 2
imports data.table 21
imports purrr 6
imports httr2 5
imports terra 4
imports openxlsx2 3
imports sf 3
imports stars 3
imports tidync 3
imports stringr 2
imports readtext 1
imports cli NA
imports lubridate NA
imports withr NA
suggests knitr NA
suggests pander NA
suggests rmarkdown NA
suggests roxyglobals NA
suggests spelling NA
suggests testthat NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

file.path (32), tempdir (13), c (12), dirname (7), url (4), lapply (2), list (2), list.files (2), append (1), message (1), nchar (1)

data.table

fread (9), fifelse (7), as.data.table (3), rbindlist (1), setcolorder (1)

read.abares

clear_cache (1), get_aagis_regions (1), get_abares_trade (1), get_abares_trade_regions (1), get_agfd (1), get_historical_forecast_database (1), get_historical_national_estimates (1), get_soil_thickness (1), inspect_cache (1), print.read.abares.agfd.nc.files (1)

purrr

map (4), modify_depth (1), quietly (1)

httr2

req_options (2), request (2), req_retry (1)

terra

rast (4)

methods

new (3)

openxlsx2

read_xlsx (3)

sf

read_sf (2), st_read (1)

stars

read_ncdf (2), read_stars (1)

stats

var (2), dt (1)

tidync

tidync (2), hyper_tibble (1)

stringr

str_locate (1), str_sub (1)

tools

R_user_dir (2)

utils

unzip (2)

readtext

readtext (1)

NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 23 files) and
  • 1 authors
  • 1 vignette
  • no internal data file
  • 13 imported packages
  • 26 exported functions (median 9 lines of code)
  • 49 non-exported functions in R (median 15 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 23 83.4
files_vignettes 2 81.7
files_tests 22 95.6
loc_R 607 51.6
loc_vignettes 265 56.7
loc_tests 853 81.1
num_vignettes 1 58.8
n_fns_r 75 67.2
n_fns_r_exported 26 73.8
n_fns_r_not_exported 49 65.1
n_fns_per_file_r 2 34.9
num_params_per_fn 1 1.8 TRUE
loc_per_fn_r 11 33.0
loc_per_fn_r_exp 9 19.8
loc_per_fn_r_not_exp 15 49.9
rel_whitespace_R 21 56.7
rel_whitespace_vignettes 50 70.4
rel_whitespace_tests 10 66.3
doclines_per_fn_exp 25 23.7
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 36 57.9

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml

GitHub Workflow Results

id name conclusion sha run_number date
11649832899 pages build and deployment success 980cc6 19 2024-11-03
11649818126 pkgdown.yaml success cd3d61 19 2024-11-03
11649818121 R-CMD-check.yaml failure cd3d61 19 2024-11-03
11649818125 test-coverage.yaml failure cd3d61 19 2024-11-03

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following error:

  1. checking tests ...
    Running ‘spelling.R’
    Comparing ‘spelling.Rout’ to ‘spelling.Rout.save’ ... OK
    Running ‘testthat.R’
    ERROR
    Running the tests in ‘tests/testthat.R’ failed.
    Last 13 lines of output:
    Ran 1/1 deferred expressions
    There do not appear to be any files cached for {read.abares}.
    There do not appear to be any files cached for {read.abares}.

-- Locally Available {read.abares} Cached Files --------------------------------

  • test.R

-- Locally Available {read.abares} Cached Files --------------------------------

  • test.R
    Ran 1/1 deferred expressions
    Will return stars object with 612226 cells.
    No projection information found in nc file.
    Coordinate variable units found to be degrees,
    assuming WGS84 Lat/Lon.
    Killed

R CMD check generated the following test_fail:

  1. This file is part of the standard setup for testthat.

It is recommended that you do not modify it.

Where should you do additional test configuration?

Learn more about the roles of various files in:

* https://r-pkgs.org/testing-design.html#sec-tests-files-overview

* https://testthat.r-lib.org/articles/special-files.html

library(testthat)
library(read.abares)

Attaching package: 'read.abares'

The following object is masked from 'package:graphics':

plot

The following object is masked from 'package:base':

plot

test_check("read.abares")
Ran 1/1 deferred expressions
Ran 2/2 deferred expressions
Ran 1/1 deferred expressions
Ran 1/1 deferred expressions

-- Locally Available ABARES AGFD NetCDF Files ----------------------------------

  • f2022.c1991.p2022.t2022.nc
  • f2022.c1992.p2022.t2022.nc
  • f2022.c1993.p2022.t2022.nc
  • f2022.c1994.p2022.t2022.nc
  • f2022.c1995.p2022.t2022.nc
  • f2022.c1996.p2022.t2022.nc
  • f2022.c1997.p2022.t2022.nc
  • f2022.c1998.p2022.t2022.nc
  • f2022.c1999.p2022.t2022.nc
  • f2022.c2000.p2022.t2022.nc
  • f2022.c2001.p2022.t2022.nc
  • f2022.c2002.p2022.t2022.nc
  • f2022.c2003.p2022.t2022.nc
  • f2022.c2004.p2022.t2022.nc
  • f2022.c2005.p2022.t2022.nc
  • f2022.c2006.p2022.t2022.nc
  • f2022.c2007.p2022.t2022.nc
  • f2022.c2008.p2022.t2022.nc
  • f2022.c2009.p2022.t2022.nc
  • f2022.c2010.p2022.t2022.nc
  • f2022.c2011.p2022.t2022.nc
  • f2022.c2012.p2022.t2022.nc
  • f2022.c2013.p2022.t2022.nc
  • f2022.c2014.p2022.t2022.nc
  • f2022.c2015.p2022.t2022.nc
  • f2022.c2016.p2022.t2022.nc
  • f2022.c2017.p2022.t2022.nc
  • f2022.c2018.p2022.t2022.nc
  • f2022.c2019.p2022.t2022.nc
  • f2022.c2020.p2022.t2022.nc
  • f2022.c2021.p2022.t2022.nc
  • f2022.c2022.p2022.t2022.nc
  • f2022.c2023.p2022.t2022.nc

-- Locally Available ABARES AGFD NetCDF Files ----------------------------------

  • f2022.c1991.p2022.t2022.nc
  • f2022.c1992.p2022.t2022.nc
  • f2022.c1993.p2022.t2022.nc
  • f2022.c1994.p2022.t2022.nc
  • f2022.c1995.p2022.t2022.nc
  • f2022.c1996.p2022.t2022.nc
  • f2022.c1997.p2022.t2022.nc
  • f2022.c1998.p2022.t2022.nc
  • f2022.c1999.p2022.t2022.nc
  • f2022.c2000.p2022.t2022.nc
  • f2022.c2001.p2022.t2022.nc
  • f2022.c2002.p2022.t2022.nc
  • f2022.c2003.p2022.t2022.nc
  • f2022.c2004.p2022.t2022.nc
  • f2022.c2005.p2022.t2022.nc
  • f2022.c2006.p2022.t2022.nc
  • f2022.c2007.p2022.t2022.nc
  • f2022.c2008.p2022.t2022.nc
  • f2022.c2009.p2022.t2022.nc
  • f2022.c2010.p2022.t2022.nc
  • f2022.c2011.p2022.t2022.nc
  • f2022.c2012.p2022.t2022.nc
  • f2022.c2013.p2022.t2022.nc
  • f2022.c2014.p2022.t2022.nc
  • f2022.c2015.p2022.t2022.nc
  • f2022.c2016.p2022.t2022.nc
  • f2022.c2017.p2022.t2022.nc
  • f2022.c2018.p2022.t2022.nc
  • f2022.c2019.p2022.t2022.nc
  • f2022.c2020.p2022.t2022.nc
  • f2022.c2021.p2022.t2022.nc
  • f2022.c2022.p2022.t2022.nc
  • f2022.c2023.p2022.t2022.nc

-- Locally Available ABARES AGFD NetCDF Files ----------------------------------

  • f2022.c1991.p2022.t2022.nc
  • f2022.c1992.p2022.t2022.nc
  • f2022.c1993.p2022.t2022.nc
  • f2022.c1994.p2022.t2022.nc
  • f2022.c1995.p2022.t2022.nc
  • f2022.c1996.p2022.t2022.nc
  • f2022.c1997.p2022.t2022.nc
  • f2022.c1998.p2022.t2022.nc
  • f2022.c1999.p2022.t2022.nc
  • f2022.c2000.p2022.t2022.nc
  • f2022.c2001.p2022.t2022.nc
  • f2022.c2002.p2022.t2022.nc
  • f2022.c2003.p2022.t2022.nc
  • f2022.c2004.p2022.t2022.nc
  • f2022.c2005.p2022.t2022.nc
  • f2022.c2006.p2022.t2022.nc
  • f2022.c2007.p2022.t2022.nc
  • f2022.c2008.p2022.t2022.nc
  • f2022.c2009.p2022.t2022.nc
  • f2022.c2010.p2022.t2022.nc
  • f2022.c2011.p2022.t2022.nc
  • f2022.c2012.p2022.t2022.nc
  • f2022.c2013.p2022.t2022.nc
  • f2022.c2014.p2022.t2022.nc
  • f2022.c2015.p2022.t2022.nc
  • f2022.c2016.p2022.t2022.nc
  • f2022.c2017.p2022.t2022.nc
  • f2022.c2018.p2022.t2022.nc
  • f2022.c2019.p2022.t2022.nc
  • f2022.c2020.p2022.t2022.nc
  • f2022.c2021.p2022.t2022.nc
  • f2022.c2022.p2022.t2022.nc
  • f2022.c2023.p2022.t2022.nc

-- Locally Available ABARES AGFD NetCDF Files ----------------------------------

  • f2022.c1991.p2022.t2022.nc
  • f2022.c1992.p2022.t2022.nc
  • f2022.c1993.p2022.t2022.nc
  • f2022.c1994.p2022.t2022.nc
  • f2022.c1995.p2022.t2022.nc
  • f2022.c1996.p2022.t2022.nc
  • f2022.c1997.p2022.t2022.nc
  • f2022.c1998.p2022.t2022.nc
  • f2022.c1999.p2022.t2022.nc
  • f2022.c2000.p2022.t2022.nc
  • f2022.c2001.p2022.t2022.nc
  • f2022.c2002.p2022.t2022.nc
  • f2022.c2003.p2022.t2022.nc
  • f2022.c2004.p2022.t2022.nc
  • f2022.c2005.p2022.t2022.nc
  • f2022.c2006.p2022.t2022.nc
  • f2022.c2007.p2022.t2022.nc
  • f2022.c2008.p2022.t2022.nc
  • f2022.c2009.p2022.t2022.nc
  • f2022.c2010.p2022.t2022.nc
  • f2022.c2011.p2022.t2022.nc
  • f2022.c2012.p2022.t2022.nc
  • f2022.c2013.p2022.t2022.nc
  • f2022.c2014.p2022.t2022.nc
  • f2022.c2015.p2022.t2022.nc
  • f2022.c2016.p2022.t2022.nc
  • f2022.c2017.p2022.t2022.nc
  • f2022.c2018.p2022.t2022.nc
  • f2022.c2019.p2022.t2022.nc
  • f2022.c2020.p2022.t2022.nc
  • f2022.c2021.p2022.t2022.nc
  • f2022.c2022.p2022.t2022.nc
  • f2022.c2023.p2022.t2022.nc
    Ran 1/1 deferred expressions

-- Soil Thickness for Australian areas of intensive agriculture of Layer 1 (A Ho

-- Dataset ANZLIC ID ANZCW1202000149 --

Feature attribute definition Predicted average Thickness (mm) of soil layer 1
in the 0.01 X 0.01 degree quadrat.

Custodian: CSIRO Land & Water

Jurisdiction Australia

Short Description The digital map data is provided in geographical coordinates
based on the World Geodetic System 1984 (WGS84) datum. This raster data set has
a grid resolution of 0.001 degrees (approximately equivalent to 1.1 km).

The data set is a product of the National Land and Water Resources Audit
(NLWRA) as a base dataset.

Data Type: Spatial representation type RASTER

Projection Map: projection GEOGRAPHIC

Datum: WGS84

Map Units: DECIMAL DEGREES

Scale: Scale/ resolution 1:1 000 000

Usage Purpose Estimates of soil depths are needed to calculate the amount of
any soil constituent in either volume or mass terms (bulk density is also
needed) - for example, the volume of water stored in the rooting zone
potentially available for plant use, to assess total stores of soil carbon for
greenhouse inventory or to assess total stores of nutrients.

Provide indications of probable thickness soil layer 1 in agricultural areas
where soil thickness testing has not been carried out.

Use Limitation: This dataset is bound by the requirements set down by the
National Land & Water Resources Audit
To see the full metadata, call print_soil_thickness_metadata() in your R
session.

-- Soil Thickness for Australian areas of intensive agriculture of Layer 1 (A Ho

-- Dataset ANZLIC ID ANZCW1202000149 --

Feature attribute definition Predicted average Thickness (mm) of soil layer 1
in the 0.01 X 0.01 degree quadrat.

Custodian: CSIRO Land & Water

Jurisdiction Australia

Short Description The digital map data is provided in geographical coordinates
based on the World Geodetic System 1984 (WGS84) datum. This raster data set has
a grid resolution of 0.001 degrees (approximately equivalent to 1.1 km).

The data set is a product of the National Land and Water Resources Audit
(NLWRA) as a base dataset.

Data Type: Spatial representation type RASTER

Projection Map: projection GEOGRAPHIC

Datum: WGS84

Map Units: DECIMAL DEGREES

Scale: Scale/ resolution 1:1 000 000

Usage Purpose Estimates of soil depths are needed to calculate the amount of
any soil constituent in either volume or mass terms (bulk density is also
needed) - for example, the volume of water stored in the rooting zone
potentially available for plant use, to assess total stores of soil carbon for
greenhouse inventory or to assess total stores of nutrients.

Provide indications of probable thickness soil layer 1 in agricultural areas
where soil thickness testing has not been carried out.

Use Limitation: This dataset is bound by the requirements set down by the
National Land & Water Resources Audit
To see the full metadata, call print_soil_thickness_metadata() in your R
session.

-- Soil Thickness for Australian areas of intensive agriculture of Layer 1 (A Ho

-- Dataset ANZLIC ID ANZCW1202000149 --

Dataset ANZLIC ID ANZCW1202000149

Title Soil Thickness for Australian areas of intensive agriculture of Layer 1
(A Horizon - top-soil) (derived from soil mapping)

Custodian CSIRO, Land & Water

Jurisdiction Australia

Description Abstract Surface of predicted Thickness of soil layer 1 (A Horizon

  • top-soil) surface for the intensive agricultural areas of Australia. Data
    modelled from area based observations made by soil agencies both State and
    CSIRO and presented as .0.01 degree grid cells.

Topsoils (A horizons) are defined as the surface soil layers in which organic
matter accumulates, and may include dominantly organic surface layers (O and P
horizons).

The depth of topsoil is important because, with their higher organic matter
contents, topsoils (A horizon) generally have more suitable properties for
agriculture, including higher permeability and higher levels of soil nutrients.

Estimates of soil depths are needed to calculate the amount of any soil
constituent in either volume or mass terms (bulk density is also needed) - for
example, the volume of water stored in the rooting zone potentially available
for plant use, to assess total stores of soil carbon for Greenhouse inventory
or to assess total stores of nutrients.

The pattern of soil depth is strongly related to topography - the shape and
slope of the land. Deeper soils are typically found in the river valleys where
soils accumulate on floodplains and at the footslopes of ranges (zones of
deposition), while soils on hillslopes (zones of erosion) tend to be shallow.
Map of thickness of topsoil was derived from soil map data and interpreted
tables of soil properties for specific soil groups.

The quality of data on soil depth in existing soil profile datasets is
questionable and as the thickness of soil horizons varies locally with
topography, values for map units are general averages.

The final ASRIS polygon attributed surfaces are a mosaic of all of the data
obtained from various state and federal agencies. The surfaces have been
constructed with the best available soil survey information available at the
time. The surfaces also rely on a number of assumptions. One being that an area
weighted mean is a good estimate of the soil attributes for that polygon or
map-unit. Another assumption made is that the look-up tables provided by
McKenzie et al. (2000), state and territories accurately depict the soil
attribute values for each soil type.

The accuracy of the maps is most dependent on the scale of the original polygon
data sets and the level of soil survey that has taken place in each state. The
scale of the various soil maps used in deriving this map is available by
accessing the data-source grid, the scale is used as an assessment of the
likely accuracy of the modelling. The Atlas of Australian Soils is considered
to be the least accurate dataset and has therefore only been used where there
is no state based data. Of the state datasets Western Australian sub-systems,
South Australian land systems and NSW soil landscapes and reconnaissance
mapping would be the most reliable based on scale. NSW soil landscapes and
reconnaissance mapping use only one dominant soil type per polygon in the
estimation of attributes. South Australia and Western Australia use several
soil types per polygon or map-unit.

The digital map data is provided in geographical coordinates based on the World
Geodetic System 1984 (WGS84) datum. This raster data set has a grid resolution
of 0.001 degrees (approximately equivalent to 1.1 km).

The data set is a product of the National Land and Water Resources Audit
(NLWRA) as a base dataset.

Search Word(s) AGRICULTURE SOIL Physics Models

Geographic Extent Name(s) GEN Category

GEN Custodial Jurisdiction

GEN Name

Geographic Bounding Box North Bounding Latitude -10.707149 South Bounding
Latitude -43.516831 East Bounding Longitude 113.19673 West Bounding Longitude
153.990779

Geographic Extent Polygon(s) 115.0 -33.5,115.7 -33.3,115.7 -31.7,113.2
-26.2,113.5 -25.4,114.1 -26.4,114.3 -26.0,113.4 -24.3,114.1 -21.8,122.3
-18.2,122.2 -17.2,126.7 -13.6,129.1 -14.9,130.6 -12.3,132.6 -12.1,132.5
-11.6,131.9 -11.3,132.0 -11.1,137.0 -12.2,135.4 -14.7,140.0 -17.7,140.8
-17.4,141.7 -15.1,141.4 -13.7,142.2 -10.9,142.7 -10.7,143.9 -14.5,144.6
-14.1,145.3 -14.9,146.3 -18.8,148.9 -20.5,150.9 -22.6,153.2 -25.9,153.7
-28.8,153.0 -31.3,150.8 -34.8,150.0 -37.5,147.8 -37.9,146.3 -39.0,144.7
-38.4,143.5 -38.8,141.3 -38.4,139.7 -37.3,139.7 -36.9,139.9 -36.7,138.9
-35.5,138.1 -35.7,138.6 -34.7,138.1 -34.2,137.8 -35.1,136.9 -35.3,137.0
-34.9,137.5 -34.9,137.4 -34.0,137.9 -33.5,137.8 -32.6,137.3 -33.6,135.9
-34.7,136.1 -34.8,136.0 -35.0,135.1 -34.6,135.2 -34.5,135.4 -34.5,134.7
-33.3,134.0 -32.9,133.7 -32.1,133.3 -32.2,132.2 -32.0,131.3 -31.5,127.3
-32.3,126.0 -32.3,123.6 -33.9,123.2 -34.0,122.1 -34.0,121.9 -33.8,119.9
-34.0,119.6 -34.4,118.0 -35.1,116.0 -34.8,115.0 -34.3,115.0 -33.5

147.8 -42.9,147.9 -42.6,148.2 -42.1,148.3 -42.3,148.3 -41.3,148.3 -41.0,148.0
-40.7,147.4 -41.0,146.7 -41.1,146.6 -41.2,146.5 -41.1,146.4 -41.2,145.3
-40.8,145.3 -40.7,145.2 -40.8,145.2 -40.8,145.2 -40.8,145.0 -40.8,144.7
-40.7,144.7 -41.2,145.2 -42.2,145.4 -42.2,145.5 -42.4,145.5 -42.5,145.2
-42.3,145.5 -43.0,146.0 -43.3,146.0 -43.6,146.9 -43.6,146.9 -43.5,147.1
-43.3,147.0 -43.1,147.2 -43.3,147.3 -42.8,147.4 -42.9,147.6 -42.8,147.5
-42.8,147.8 -42.9,147.9 -43.0,147.7 -43.0,147.8 -43.2,147.9 -43.2,147.9
-43.2,148.0 -43.2,148.0 -43.1,148.0 -42.9,147.8 -42.9

136.7 -13.8,136.7 -13.7,136.6 -13.7,136.6 -13.8,136.4 -13.8,136.4 -14.1,136.3
-14.2,136.9 -14.3,137.0 -14.2,136.9 -14.2,136.7 -14.1,136.9 -13.8,136.7
-13.8,136.7 -13.8

139.5 -16.6,139.7 -16.5,139.4 -16.5,139.2 -16.7,139.3 -16.7,139.5 -16.6

153.0 -25.2,153.0 -25.7,153.1 -25.8,153.4 -25.0,153.2 -24.7,153.2 -25.0,153.0
-25.2

137.5 -36.1,137.7 -35.9,138.1 -35.9,137.9 -35.7,137.6 -35.7,137.6 -35.6,136.6
-35.8,136.7 -36.1,137.2 -36.0,137.5 -36.1

143.9 -39.7,144.0 -39.6,144.1 -39.8,143.9 -40.2,143.9 -40.0,143.9 -39.7

148.0 -39.7,147.7 -39.9,147.9 -39.9,148.0 -40.1,148.1 -40.3,148.3 -40.2,148.3
-40.0,148.0 -39.7

148.1 -40.4,148.0 -40.4,148.4 -40.3,148.4 -40.5,148.1 -40.4

130.4 -11.3,130.4 -11.2,130.6 -11.3,130.7 -11.4,130.9 -11.3,131.0 -11.4,131.1
-11.3,131.2 -11.4,131.3 -11.2,131.5 -11.4,131.5 -11.5,131.0 -11.9,130.8
-11.8,130.6 -11.7,130.0 -11.8,130.1 -11.7,130.3 -11.7,130.1 -11.5,130.4 -11.3

Data Currency Beginning date 1999-09-01

Ending date 2001-03-31

Dataset Status Progress COMPLETE

Maintenance and Update Frequency NOT PLANNED

Access Stored Data Format DIGITAL - ESRI Arc/Info integer GRID

Available Format Type DIGITAL - ESRI Arc/Info integer GRID

Access Constraint Subject to the terms & condition of the data access &
management agreement between the National Land & Water Audit and ANZLIC parties

Data Quality Lineage The soil attribute surface was created using the following
datasets 1. The digital polygon coverage of the Soil-Landforms of the Murray
Darling Basis (MDBSIS)(Bui et al. 1998), classified as principal profile forms
(PPF's) (Northcote 1979). 2. The digital Atlas of Australian Soils (Northcote
et al.1960-1968)(Leahy, 1993). 3. Western Australia land systems coverage
(Agriculture WA). 4. Western Australia sub-systems coverage (Agriculture WA).
5. Ord river catchment soils coverage (Agriculture WA). 6. Victoria soils
coverage (Victorian Department of Natural Resources and Environment - NRE). 7.
NSW Soil Landscapes and reconnaissance soil landscape mapping (NSW Department
of Land and Water Conservation - DLWC). 8. New South Wales Land systems west
(NSW Department of Land and Water Conservation - DLWC). 9. South Australia soil
land-systems (Primary Industries and Resources South Australia - PIRSA). 10.
Northern Territory soils coverage (Northern Territory Department of Lands,
Planning and Environment). 11. A mosaic of Queensland soils coverages
(Queensland Department of Natural Resources - QDNR). 12. A look-up table
linking PPF values from the Atlas of Australian Soils with interpreted soil
attributes (McKenzie et al. 2000). 13. Look_up tables provided by WA
Agriculture linking WA soil groups with interpreted soil attributes. 14.
Look_up tables provided by PIRSA linking SA soil groups with interpreted soil
attributes.

The continuous raster surface representing Thickness of soil layer 1 was
created by combining national and state level digitised land systems maps and
soil surveys linked to look-up tables listing soil type and corresponding
attribute values.

Because thickness is used sparingly in the Factual Key, estimations of
thickness in the look-up tables were made using empirical correlations for
particular soil types.

To estimate a soil attribute where more than one soil type was given for a
polygon or map-unit, the soil attribute values related to each soil type in the
look-up table were weighted according to the area occupied by that soil type
within the polygon or map-unit. The final soil attribute values are an area
weighted average for a polygon or map-unit. The polygon data was then
converted to a continuous raster surface using the soil attribute values
calculated for each polygon.

The ASRIS soil attribute surfaces created using polygon attribution relied on a
number of data sets from various state agencies. Each polygon data set was
turned into a continuous surface grid based on the calculated soil attribute
value for that polygon. The grids where then merged on the basis that, where
available, state data replaced the Atlas of Australian Soils and MDBSIS.
MDBSIS derived soil attribute values were restricted to areas where MDBSIS was
deemed to be more accurate that the Atlas of Australian Soils (see Carlile et
al (2001a).

In cases where a soil type was missing from the look-up table or layer 2 did
not exist for that soil type, the percent area of the soils remaining were
adjusted prior to calculating the final soil attribute value. The method used
to attribute polygons was dependent on the data supplied by individual State
agencies.

The modelled grid was resampled from 0.0025 degree cells to 0.01 degree cells
using bilinear interpolation

Positional Accuracy The predictive surface is a 0.01 X 0.01 degree grid and has
a locational accurate of about 1m.

The positional accuracy of the defining polygons have variable positional
accuracy most locations are expected to be within 100m of the recorded
location. The vertical accuracy is not relevant. The positional assessment has
been made by considering the tools used to generate the locational information
and contacting the data providers.

The other parameters used in the production of the led surface have a range of
positional accuracy ranging from + - 50 m to + - kilometres. This contribute
to the loss of attribute accuracy in the surface.

Attribute Accuracy Input attribute accuracy for the areas is highly variable.
The predictive has a variable and much lower attribute accuracy due to the
irregular distribution and the limited positional accuracy of the parameters
used for modelling.

There are several sources of error in estimating soil depth and thickness of
horizons for the look-up tables. Because thickness is used sparingly in the
Factual Key, estimations of thickness in the look-up tables were made using
empirical correlations for particular soil types. The quality of data on soil
depth in existing soil profile datasets is questionable, in soil mapping,
thickness of soil horizons varies locally with topography, so values for map
units are general averages. The definition of the depth of soil or regolith is
imprecise and it can be difficult to determine the lower limit of soil.

The assumption made that an area weighted mean of soil attribute values based
on soil type is a good estimation of a soil property is debatable, in that it
does not supply the soil attribute value at any given location. Rather it is
designed to show national and regional patterns in soil properties. The use of
the surfaces at farm or catchment scale modelling may prove inaccurate. Also
the use of look-up tables to attribute soil types is only as accurate as the
number of observations used to estimate a attribute value for a soil type. Some
soil types in the look-up tables may have few observations, yet the average
attribute value is still taken as the attribute value for that soil type.
Different states are using different taxonomic schemes making a national soil
database difficult. Another downfall of the area weighted approach is that some
soil types may not be listed in look-up tables. If a soil type is a dominant
one within a polygon or map-unit, but is not listed within the look-up table or
is not attributed within the look-up table then the final soil attribute value
for that polygon will be biased towards the minor soil types that do exist.
This may also happen when a large area is occupied by a soil type which has no
B horizon. In this case the final soil attribute value will be area weighted on
the soils with a B horizon, ignoring a major soil type within that polygon or
map-unit. The layer 2 surfaces have large areas of no-data because all soils
listed for a particular map-unit or polygon had no B horizon.

Logical Consistency Surface is fully logically consistent as only one parameter
is shown, as predicted average Soil Thickness within each grid cell

Completeness Surface is nearly complete. There are some areas (about %1
missing) for which insufficient parameters were known to provide a useful
prediction and thus attributes are absent in these areas.

Contact Information Contact Organisation (s) CSIRO, Land & Water

Contact Position Project Leader

Mail Address ACLEP, GPO 1666

Locality Canberra

State ACT

Country AUSTRALIA

Postcode 2601

Telephone 02 6246 5922

Facsimile 02 6246 5965

Electronic Mail Address neil.mckenzie@cbr.clw.csiro.au

Metadata Date Metadata Date 2001-07-01

Additional Metadata Additional Metadata

Entity and Attributes Entity Name Soil Thickness Layer 1 (derived from mapping)

Entity description Estimated Soil Thickness (mm) of Layer 1 on a cell by cell
basis

Feature attribute name VALUE

Feature attribute definition Predicted average Thickness (mm) of soil layer 1
in the 0.01 X 0.01 degree quadrat

Data Type Spatial representation type RASTER

Projection Map projection GEOGRAPHIC

Datum WGS84

Map units DECIMAL DEGREES

Scale Scale/ resolution 1:1 000 000

Usage Purpose Estimates of soil depths are needed to calculate the amount of
any soil constituent in either volume or mass terms (bulk density is also
needed) - for example, the volume of water stored in the rooting zone
potentially available for plant use, to assess total stores of soil carbon for
Greenhouse inventory or to assess total stores of nutrients.

Provide indications of probable Thickness soil layer 1 in agricultural areas
where soil thickness testing has not been carried out

Use Use Limitation This dataset is bound by the requirements set down by the
National Land & Water Resources Audit

-- Soil Thickness for Australian areas of intensive agriculture of Layer 1 (A Ho

-- Dataset ANZLIC ID ANZCW1202000149 --

Dataset ANZLIC ID ANZCW1202000149

Title Soil Thickness for Australian areas of intensive agriculture of Layer 1
(A Horizon - top-soil) (derived from soil mapping)

Custodian CSIRO, Land & Water

Jurisdiction Australia

Description Abstract Surface of predicted Thickness of soil layer 1 (A Horizon

  • top-soil) surface for the intensive agricultural areas of Australia. Data
    modelled from area based observations made by soil agencies both State and
    CSIRO and presented as .0.01 degree grid cells.

Topsoils (A horizons) are defined as the surface soil layers in which organic
matter accumulates, and may include dominantly organic surface layers (O and P
horizons).

The depth of topsoil is important because, with their higher organic matter
contents, topsoils (A horizon) generally have more suitable properties for
agriculture, including higher permeability and higher levels of soil nutrients.

Estimates of soil depths are needed to calculate the amount of any soil
constituent in either volume or mass terms (bulk density is also needed) - for
example, the volume of water stored in the rooting zone potentially available
for plant use, to assess total stores of soil carbon for Greenhouse inventory
or to assess total stores of nutrients.

The pattern of soil depth is strongly related to topography - the shape and
slope of the land. Deeper soils are typically found in the river valleys where
soils accumulate on floodplains and at the footslopes of ranges (zones of
deposition), while soils on hillslopes (zones of erosion) tend to be shallow.
Map of thickness of topsoil was derived from soil map data and interpreted
tables of soil properties for specific soil groups.

The quality of data on soil depth in existing soil profile datasets is
questionable and as the thickness of soil horizons varies locally with
topography, values for map units are general averages.

The final ASRIS polygon attributed surfaces are a mosaic of all of the data
obtained from various state and federal agencies. The surfaces have been
constructed with the best available soil survey information available at the
time. The surfaces also rely on a number of assumptions. One being that an area
weighted mean is a good estimate of the soil attributes for that polygon or
map-unit. Another assumption made is that the look-up tables provided by
McKenzie et al. (2000), state and territories accurately depict the soil
attribute values for each soil type.

The accuracy of the maps is most dependent on the scale of the original polygon
data sets and the level of soil survey that has taken place in each state. The
scale of the various soil maps used in deriving this map is available by
accessing the data-source grid, the scale is used as an assessment of the
likely accuracy of the modelling. The Atlas of Australian Soils is considered
to be the least accurate dataset and has therefore only been used where there
is no state based data. Of the state datasets Western Australian sub-systems,
South Australian land systems and NSW soil landscapes and reconnaissance
mapping would be the most reliable based on scale. NSW soil landscapes and
reconnaissance mapping use only one dominant soil type per polygon in the
estimation of attributes. South Australia and Western Australia use several
soil types per polygon or map-unit.

The digital map data is provided in geographical coordinates based on the World
Geodetic System 1984 (WGS84) datum. This raster data set has a grid resolution
of 0.001 degrees (approximately equivalent to 1.1 km).

The data set is a product of the National Land and Water Resources Audit
(NLWRA) as a base dataset.

Search Word(s) AGRICULTURE SOIL Physics Models

Geographic Extent Name(s) GEN Category

GEN Custodial Jurisdiction

GEN Name

Geographic Bounding Box North Bounding Latitude -10.707149 South Bounding
Latitude -43.516831 East Bounding Longitude 113.19673 West Bounding Longitude
153.990779

Geographic Extent Polygon(s) 115.0 -33.5,115.7 -33.3,115.7 -31.7,113.2
-26.2,113.5 -25.4,114.1 -26.4,114.3 -26.0,113.4 -24.3,114.1 -21.8,122.3
-18.2,122.2 -17.2,126.7 -13.6,129.1 -14.9,130.6 -12.3,132.6 -12.1,132.5
-11.6,131.9 -11.3,132.0 -11.1,137.0 -12.2,135.4 -14.7,140.0 -17.7,140.8
-17.4,141.7 -15.1,141.4 -13.7,142.2 -10.9,142.7 -10.7,143.9 -14.5,144.6
-14.1,145.3 -14.9,146.3 -18.8,148.9 -20.5,150.9 -22.6,153.2 -25.9,153.7
-28.8,153.0 -31.3,150.8 -34.8,150.0 -37.5,147.8 -37.9,146.3 -39.0,144.7
-38.4,143.5 -38.8,141.3 -38.4,139.7 -37.3,139.7 -36.9,139.9 -36.7,138.9
-35.5,138.1 -35.7,138.6 -34.7,138.1 -34.2,137.8 -35.1,136.9 -35.3,137.0
-34.9,137.5 -34.9,137.4 -34.0,137.9 -33.5,137.8 -32.6,137.3 -33.6,135.9
-34.7,136.1 -34.8,136.0 -35.0,135.1 -34.6,135.2 -34.5,135.4 -34.5,134.7
-33.3,134.0 -32.9,133.7 -32.1,133.3 -32.2,132.2 -32.0,131.3 -31.5,127.3
-32.3,126.0 -32.3,123.6 -33.9,123.2 -34.0,122.1 -34.0,121.9 -33.8,119.9
-34.0,119.6 -34.4,118.0 -35.1,116.0 -34.8,115.0 -34.3,115.0 -33.5

147.8 -42.9,147.9 -42.6,148.2 -42.1,148.3 -42.3,148.3 -41.3,148.3 -41.0,148.0
-40.7,147.4 -41.0,146.7 -41.1,146.6 -41.2,146.5 -41.1,146.4 -41.2,145.3
-40.8,145.3 -40.7,145.2 -40.8,145.2 -40.8,145.2 -40.8,145.0 -40.8,144.7
-40.7,144.7 -41.2,145.2 -42.2,145.4 -42.2,145.5 -42.4,145.5 -42.5,145.2
-42.3,145.5 -43.0,146.0 -43.3,146.0 -43.6,146.9 -43.6,146.9 -43.5,147.1
-43.3,147.0 -43.1,147.2 -43.3,147.3 -42.8,147.4 -42.9,147.6 -42.8,147.5
-42.8,147.8 -42.9,147.9 -43.0,147.7 -43.0,147.8 -43.2,147.9 -43.2,147.9
-43.2,148.0 -43.2,148.0 -43.1,148.0 -42.9,147.8 -42.9

136.7 -13.8,136.7 -13.7,136.6 -13.7,136.6 -13.8,136.4 -13.8,136.4 -14.1,136.3
-14.2,136.9 -14.3,137.0 -14.2,136.9 -14.2,136.7 -14.1,136.9 -13.8,136.7
-13.8,136.7 -13.8

139.5 -16.6,139.7 -16.5,139.4 -16.5,139.2 -16.7,139.3 -16.7,139.5 -16.6

153.0 -25.2,153.0 -25.7,153.1 -25.8,153.4 -25.0,153.2 -24.7,153.2 -25.0,153.0
-25.2

137.5 -36.1,137.7 -35.9,138.1 -35.9,137.9 -35.7,137.6 -35.7,137.6 -35.6,136.6
-35.8,136.7 -36.1,137.2 -36.0,137.5 -36.1

143.9 -39.7,144.0 -39.6,144.1 -39.8,143.9 -40.2,143.9 -40.0,143.9 -39.7

148.0 -39.7,147.7 -39.9,147.9 -39.9,148.0 -40.1,148.1 -40.3,148.3 -40.2,148.3
-40.0,148.0 -39.7

148.1 -40.4,148.0 -40.4,148.4 -40.3,148.4 -40.5,148.1 -40.4

130.4 -11.3,130.4 -11.2,130.6 -11.3,130.7 -11.4,130.9 -11.3,131.0 -11.4,131.1
-11.3,131.2 -11.4,131.3 -11.2,131.5 -11.4,131.5 -11.5,131.0 -11.9,130.8
-11.8,130.6 -11.7,130.0 -11.8,130.1 -11.7,130.3 -11.7,130.1 -11.5,130.4 -11.3

Data Currency Beginning date 1999-09-01

Ending date 2001-03-31

Dataset Status Progress COMPLETE

Maintenance and Update Frequency NOT PLANNED

Access Stored Data Format DIGITAL - ESRI Arc/Info integer GRID

Available Format Type DIGITAL - ESRI Arc/Info integer GRID

Access Constraint Subject to the terms & condition of the data access &
management agreement between the National Land & Water Audit and ANZLIC parties

Data Quality Lineage The soil attribute surface was created using the following
datasets 1. The digital polygon coverage of the Soil-Landforms of the Murray
Darling Basis (MDBSIS)(Bui et al. 1998), classified as principal profile forms
(PPF's) (Northcote 1979). 2. The digital Atlas of Australian Soils (Northcote
et al.1960-1968)(Leahy, 1993). 3. Western Australia land systems coverage
(Agriculture WA). 4. Western Australia sub-systems coverage (Agriculture WA).
5. Ord river catchment soils coverage (Agriculture WA). 6. Victoria soils
coverage (Victorian Department of Natural Resources and Environment - NRE). 7.
NSW Soil Landscapes and reconnaissance soil landscape mapping (NSW Department
of Land and Water Conservation - DLWC). 8. New South Wales Land systems west
(NSW Department of Land and Water Conservation - DLWC). 9. South Australia soil
land-systems (Primary Industries and Resources South Australia - PIRSA). 10.
Northern Territory soils coverage (Northern Territory Department of Lands,
Planning and Environment). 11. A mosaic of Queensland soils coverages
(Queensland Department of Natural Resources - QDNR). 12. A look-up table
linking PPF values from the Atlas of Australian Soils with interpreted soil
attributes (McKenzie et al. 2000). 13. Look_up tables provided by WA
Agriculture linking WA soil groups with interpreted soil attributes. 14.
Look_up tables provided by PIRSA linking SA soil groups with interpreted soil
attributes.

The continuous raster surface representing Thickness of soil layer 1 was
created by combining national and state level digitised land systems maps and
soil surveys linked to look-up tables listing soil type and corresponding
attribute values.

Because thickness is used sparingly in the Factual Key, estimations of
thickness in the look-up tables were made using empirical correlations for
particular soil types.

To estimate a soil attribute where more than one soil type was given for a
polygon or map-unit, the soil attribute values related to each soil type in the
look-up table were weighted according to the area occupied by that soil type
within the polygon or map-unit. The final soil attribute values are an area
weighted average for a polygon or map-unit. The polygon data was then
converted to a continuous raster surface using the soil attribute values
calculated for each polygon.

The ASRIS soil attribute surfaces created using polygon attribution relied on a
number of data sets from various state agencies. Each polygon data set was
turned into a continuous surface grid based on the calculated soil attribute
value for that polygon. The grids where then merged on the basis that, where
available, state data replaced the Atlas of Australian Soils and MDBSIS.
MDBSIS derived soil attribute values were restricted to areas where MDBSIS was
deemed to be more accurate that the Atlas of Australian Soils (see Carlile et
al (2001a).

In cases where a soil type was missing from the look-up table or layer 2 did
not exist for that soil type, the percent area of the soils remaining were
adjusted prior to calculating the final soil attribute value. The method used
to attribute polygons was dependent on the data supplied by individual State
agencies.

The modelled grid was resampled from 0.0025 degree cells to 0.01 degree cells
using bilinear interpolation

Positional Accuracy The predictive surface is a 0.01 X 0.01 degree grid and has
a locational accurate of about 1m.

The positional accuracy of the defining polygons have variable positional
accuracy most locations are expected to be within 100m of the recorded
location. The vertical accuracy is not relevant. The positional assessment has
been made by considering the tools used to generate the locational information
and contacting the data providers.

The other parameters used in the production of the led surface have a range of
positional accuracy ranging from + - 50 m to + - kilometres. This contribute
to the loss of attribute accuracy in the surface.

Attribute Accuracy Input attribute accuracy for the areas is highly variable.
The predictive has a variable and much lower attribute accuracy due to the
irregular distribution and the limited positional accuracy of the parameters
used for modelling.

There are several sources of error in estimating soil depth and thickness of
horizons for the look-up tables. Because thickness is used sparingly in the
Factual Key, estimations of thickness in the look-up tables were made using
empirical correlations for particular soil types. The quality of data on soil
depth in existing soil profile datasets is questionable, in soil mapping,
thickness of soil horizons varies locally with topography, so values for map
units are general averages. The definition of the depth of soil or regolith is
imprecise and it can be difficult to determine the lower limit of soil.

The assumption made that an area weighted mean of soil attribute values based
on soil type is a good estimation of a soil property is debatable, in that it
does not supply the soil attribute value at any given location. Rather it is
designed to show national and regional patterns in soil properties. The use of
the surfaces at farm or catchment scale modelling may prove inaccurate. Also
the use of look-up tables to attribute soil types is only as accurate as the
number of observations used to estimate a attribute value for a soil type. Some
soil types in the look-up tables may have few observations, yet the average
attribute value is still taken as the attribute value for that soil type.
Different states are using different taxonomic schemes making a national soil
database difficult. Another downfall of the area weighted approach is that some
soil types may not be listed in look-up tables. If a soil type is a dominant
one within a polygon or map-unit, but is not listed within the look-up table or
is not attributed within the look-up table then the final soil attribute value
for that polygon will be biased towards the minor soil types that do exist.
This may also happen when a large area is occupied by a soil type which has no
B horizon. In this case the final soil attribute value will be area weighted on
the soils with a B horizon, ignoring a major soil type within that polygon or
map-unit. The layer 2 surfaces have large areas of no-data because all soils
listed for a particular map-unit or polygon had no B horizon.

Logical Consistency Surface is fully logically consistent as only one parameter
is shown, as predicted average Soil Thickness within each grid cell

Completeness Surface is nearly complete. There are some areas (about %1
missing) for which insufficient parameters were known to provide a useful
prediction and thus attributes are absent in these areas.

Contact Information Contact Organisation (s) CSIRO, Land & Water

Contact Position Project Leader

Mail Address ACLEP, GPO 1666

Locality Canberra

State ACT

Country AUSTRALIA

Postcode 2601

Telephone 02 6246 5922

Facsimile 02 6246 5965

Electronic Mail Address neil.mckenzie@cbr.clw.csiro.au

Metadata Date Metadata Date 2001-07-01

Additional Metadata Additional Metadata

Entity and Attributes Entity Name Soil Thickness Layer 1 (derived from mapping)

Entity description Estimated Soil Thickness (mm) of Layer 1 on a cell by cell
basis

Feature attribute name VALUE

Feature attribute definition Predicted average Thickness (mm) of soil layer 1
in the 0.01 X 0.01 degree quadrat

Data Type Spatial representation type RASTER

Projection Map projection GEOGRAPHIC

Datum WGS84

Map units DECIMAL DEGREES

Scale Scale/ resolution 1:1 000 000

Usage Purpose Estimates of soil depths are needed to calculate the amount of
any soil constituent in either volume or mass terms (bulk density is also
needed) - for example, the volume of water stored in the rooting zone
potentially available for plant use, to assess total stores of soil carbon for
Greenhouse inventory or to assess total stores of nutrients.

Provide indications of probable Thickness soil layer 1 in agricultural areas
where soil thickness testing has not been carried out

Use Use Limitation This dataset is bound by the requirements set down by the
National Land & Water Resources Audit
Ran 1/1 deferred expressions
There do not appear to be any files cached for {read.abares}.
There do not appear to be any files cached for {read.abares}.

-- Locally Available {read.abares} Cached Files --------------------------------

  • test.R

-- Locally Available {read.abares} Cached Files --------------------------------

  • test.R
    Ran 1/1 deferred expressions
    Will return stars object with 612226 cells.
    No projection information found in nc file.
    Coordinate variable units found to be degrees,
    assuming WGS84 Lat/Lon.
    Killed

R CMD check generated the following check_fail:

  1. rcmdcheck_tests_pass

Test coverage with covr

ERROR: Test Coverage Failed

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found no issues with this package!


4. Other Checks

Details of other checks (click to open)

✖️ The following function name is duplicated in other packages:

    • clear_cache from catalog, lintr, quincunx, rmonad


Package Versions

package version
pkgstats 0.2.0.46
pkgcheck 0.1.2.63


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with ✖️ have been resolved.

@adamhsparks
Copy link
Member Author

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@mpadge
Copy link
Member

mpadge commented Nov 6, 2024

@adamhsparks The tests on our machines just keep running for hours and hours and days even. Can you check on your side to make sure there's not some flag that works on GitHub machines to prevent this, yet might not stop tests on our machines?

@adamhsparks
Copy link
Member Author

adamhsparks commented Nov 6, 2024

I’ve got nothing. It only takes a few minutes on GH now. 🤷

Screenshot 2024-11-07 at 06 44 47

@adamhsparks
Copy link
Member Author

I'll just close this for now at least. Unsure how to fix issues with package checks and don't have the mental bandwidth to deal with it right now.

@adamhsparks
Copy link
Member Author

@ropensci-review-bot check package

@adamhsparks adamhsparks reopened this Nov 15, 2024
@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@adamhsparks
Copy link
Member Author

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@mpadge
Copy link
Member

mpadge commented Nov 19, 2024

Sorry @adamhsparks, I'll try to find out the problem with the checks asap and get back to you ... 😕

@ropensci-review-bot
Copy link
Collaborator

Checks for read.abares (v0.1.0)

git hash: a7a41aab

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✖️ Package coverage is 5.3% (should be at least 75%).
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.
  • 👀 Function names are duplicated in other packages

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with 👀 may be optionally addressed.)

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 76
internal read.abares 9
internal methods 3
internal stats 3
internal tools 2
internal utils 2
imports data.table 21
imports purrr 6
imports httr2 5
imports terra 4
imports openxlsx2 3
imports sf 3
imports stars 3
imports tidync 3
imports stringr 2
imports readtext 1
imports cli NA
imports lubridate NA
imports withr NA
suggests knitr NA
suggests pander NA
suggests rmarkdown NA
suggests roxyglobals NA
suggests spelling NA
suggests testthat NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

file.path (32), tempdir (13), c (12), dirname (7), url (4), lapply (2), list (2), list.files (2), append (1), nchar (1)

data.table

fread (9), fifelse (7), as.data.table (3), rbindlist (1), setcolorder (1)

read.abares

clear_cache (1), get_aagis_regions (1), get_abares_trade (1), get_abares_trade_regions (1), get_agfd (1), get_historical_forecast_database (1), get_historical_national_estimates (1), get_soil_thickness (1), inspect_cache (1)

purrr

map (4), modify_depth (1), quietly (1)

httr2

req_options (2), request (2), req_retry (1)

terra

rast (4)

methods

new (3)

openxlsx2

read_xlsx (3)

sf

read_sf (2), st_read (1)

stars

read_ncdf (2), read_stars (1)

stats

var (2), dt (1)

tidync

tidync (2), hyper_tibble (1)

stringr

str_locate (1), str_sub (1)

tools

R_user_dir (2)

utils

unzip (2)

readtext

readtext (1)

NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 23 files) and
  • 1 authors
  • 1 vignette
  • no internal data file
  • 13 imported packages
  • 26 exported functions (median 9 lines of code)
  • 49 non-exported functions in R (median 16 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 23 83.4
files_vignettes 2 81.7
files_tests 22 95.6
loc_R 628 52.5
loc_vignettes 265 56.8
loc_tests 893 81.8
num_vignettes 1 58.9
n_fns_r 75 67.2
n_fns_r_exported 26 73.8
n_fns_r_not_exported 49 65.1
n_fns_per_file_r 2 34.9
num_params_per_fn 1 1.8 TRUE
loc_per_fn_r 11 32.9
loc_per_fn_r_exp 9 19.8
loc_per_fn_r_not_exp 16 53.0
rel_whitespace_R 20 56.4
rel_whitespace_vignettes 50 70.4
rel_whitespace_tests 10 66.2
doclines_per_fn_exp 25 23.7
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 36 57.9

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml

GitHub Workflow Results

id name conclusion sha run_number date
11905521413 pages build and deployment success 55bec0 29 2024-11-19
11905498648 pkgdown.yaml success a7a41a 31 2024-11-19
11905498644 R-CMD-check.yaml success a7a41a 31 2024-11-19
11693994081 test-coverage.yaml failure bc173b 27 2024-11-05

3b. goodpractice results

R CMD check with rcmdcheck

rcmdcheck found no errors, warnings, or notes

Test coverage with covr

Package coverage: 5.35

The following files are not completely covered by tests:

file coverage
R/get_aagis_regions.R 0%
R/get_abares_trade_regions.R 0%
R/get_abares_trade.R 0%
R/get_agfd.R 0%
R/get_estimates_by_performance_category.R 0%
R/get_estimates_by_size.R 0%
R/get_historical_forecast_database.R 0%
R/get_historical_national_estimates.R 0%
R/get_historical_regional_estimates.R 0%
R/get_historical_state_estimates.R 0%
R/get_soil_thickness.R 0%
R/internal_functions.R 10.71%
R/read_agfd_dt.R 0%
R/read_agfd_stars.R 0%
R/read_agfd_terra.R 0%
R/read_agfd_tidync.R 0%
R/read_soil_thickness_stars.R 0%
R/read_soil_thickness_terra.R 0%

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found no issues with this package!


4. Other Checks

Details of other checks (click to open)

✖️ The following function name is duplicated in other packages:

    • clear_cache from catalog, lintr, quincunx, rmonad


Package Versions

package version
pkgstats 0.2.0.48
pkgcheck 0.1.2.68


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with ✖️ have been resolved.

@adamhsparks
Copy link
Member Author

adamhsparks commented Nov 20, 2024

@emilyriederer, the test coverage is >90%, see attached screenshot of local covr::report().

However, there are issues with connectivity between GitHub CI and ABARES where GitHub just won't download some of the data. From what @mpadge and I have sussed out, it's a local issue (GitHub) and I can't really troubleshoot their setup. I'd note here that this also seems to happen on some of the smaller files that are just CSVs for some reason, so it doesn't appear to be confined to large files only. So I've opted to skip most of the tests on CI using skip_on_ci() for any function that downloads data. But I'm open to suggestions as to how to improve this. It's just one reason I've submitted it for review. 😃

Screenshot 2024-11-20 at 09 43 52

@emilyriederer
Copy link

Thanks @adamhsparks !

It looks like {covr} also has options to explicitly exclude certain functions from code coverage calculations (details here). Would it make sense to use that logic just so our bot and the local review can have consistent results? (curious @mpadge thoughts also)

I'm fairly comfortable moving forward either way; just one thought to flesh out best practices here.

@adamhsparks
Copy link
Member Author

Thanks, @emilyriederer, I'd prefer not to exclude these functions as using testing helped me squash a few bugs last week and there's no reason to exclude them in the package where I might normally consider excluding functions. This appears to be a technical limitation outside of the package that would hinder the package's quality if implemented.

@mpadge
Copy link
Member

mpadge commented Nov 25, 2024

@emilyriederer I'm happy to accept Adam's explanation there. We do require coverage reports, but have no policies against locally-generated reports like used here. I think this would represent the first submission to do so, and so would maybe only ask @adamhsparks if you could have a look over the relevant section of the dev guide to see whether anything might be clarified or improved there?

@adamhsparks
Copy link
Member Author

Thanks, @mpadge. I'll have a look at that.

I was reflecting while walking home from work. I can probably include small samples of the data in the package for testing purposes and examples as they are CC By licensed. That might get me to 75% coverage with CI.

I'll investigate further.

@mpadge
Copy link
Member

mpadge commented Nov 25, 2024

For non-binary files (your csvs and maybe more?), you can also use httptest2 redactor functions to find some early pattern in a response and gsub the rest away. I use a lot of those like here to record only tiny portions of otherwise potentially huge response files.

@emilyriederer
Copy link

Thanks, @adamhsparks ! That sounds like a great suggestion. I'll hold if you want to investigate including sample data or using @mpadge 's idea. If those prove intractable, I'm also comfortable with moving checks offline / local, so please feel free to ping and we can move the ball forward here.

@adamhsparks
Copy link
Member Author

Yeah, let’s hold. I may be a while though with holidays approaching.

@maurolepore maurolepore unpinned this issue Mar 30, 2025
@mpadge
Copy link
Member

mpadge commented Mar 31, 2025

Sorry @obrl-soil, that glitch is because you were supposed to be invited to the GitHub editors team, but haven't been yet.

@maelle Can you please invite @obrl-soil to the editors team?

Your membership of that team is your key to the bot duties you'll then need.

@adamhsparks
Copy link
Member Author

adamhsparks commented Apr 1, 2025

Hi @obrl-soil, I've taken your comments on board and fixed the bugs you've highlighted. Thank you for this comprehensive list that's improved the package even before the reviews, this has greatly improved the package already. So much better now for the reviewers. 👍

Readme page:
Justification: consider adding a little info to account for international users and students new to the field - start with a few sentences about who DAFF/ABARES are and what they do in the Aus ag space. Why would you go to this provider for this kind of data rather than somewhere else? "There's nowhere else" is fine as an answer, but its good to make that clear if that's the case.
Flow: recommend starting with clear statements about what the package is intended to help with, then how it provides data, and only talk about what's currently not included and how to request changes at the end of the intro.

The README has been edited to include information about ABARES and a justification for the package existing and further revised for flow as suggested.

Vignette:
The title should be more clear - 'Advanced uses for read.abares' or similar. At present the simple title may suggest that its an overall package intro vignette, and its a bit more specific than that.
Totally optional: the head() calls to the larger tables could be replaced with DT() usage for prettier outputs.

I've renamed the title to reflect the contents better and tried DT but the data size was too large to work client-side so I didn't pursue further. But it's an option I'll consider further, later when the package is more refined.

I have included more on using the spatial files with some of the tabular data, which also meant more work with the spatial data further improving it utility through this package vs just downloading it, so it now contains more advanced use-cases.

Function documentation:
There are a few places where roxygen tags can maybe be improved, e.g. using \doi{} for referencing papers like Hughes et al 2022, \href{}{} or \url{} for other URLs, \code{} in general rather than backticks for code-highlighting, using \code{\link{<function}} to crossref to other functions in the same package etc.
Example code for get_agfd() and friends needs to be consistent - ideally create a persistent object with x <- ... and include head() and plot() example calls in either all or none
the soil thickness family of functions might be better named as topsoil thickness, as the dataset only estimates the A horizon thickness in mm

I think I've fixed or improved all of these, if you notice any I missed or misinterpreted, I'm happy to correct them.

Functionality:
The plot() call for the terra version of the soil thickness dataset is interpreting the data as categorical, hence the unwieldy legend. This comes from the raster attribute table embedded in the underlying FileGDB dataset, which doesn't contain any extra useful information. You could maybe remove it in read_soil_thickness_terra() with levels(x) <- NULL, or recast the data to a RAT-less TIF in the cache when get_soil_thickness() is run.

Good catch! The resulting {terra} object now returns continuous values.

Should I just store it as a tif, not a Grid file? Is there a space saving or other advantage here?

other:
covr::package_coverage() is reporting low coverage for me locally, so not sure if we need to work on replicating your own results posted above?

I'm unsure what the issue is here. The codecov.io page shows the coverage reported using covr::codecov(token = "mytoken") to upload the report and I'm able to generate the same report locally using covr::report() that gives the same 98.87% coverage value.

covr::package_coverage(type = 'all') caught a typo in your example for internal function .retry_download(); the function call in the example is missing the leading . (see internal_functions.R:43)

Thank you for catching this! I've fixed it.

@adamhsparks
Copy link
Member Author

adamhsparks commented Apr 8, 2025

@obrl-soil, I checked using cover::package_coverage() and get the same result as the other methods that I've used.

[ins] r$> covr::package_coverage()
read.abares Coverage: 98.87%
R/get_agfd.R: 92.31%
R/read_abares_trade.R: 98.41%
R/clear_cache.R: 100.00%
R/get_topsoil_thickness.R: 100.00%
R/inspect_cache.R: 100.00%
R/internal_functions.R: 100.00%
R/read_aagis_regions.R: 100.00%
R/read_abares_trade_regions.R: 100.00%
R/read_agfd_dt.R: 100.00%
R/read_agfd_stars.R: 100.00%
R/read_agfd_terra.R: 100.00%
R/read_agfd_tidync.R: 100.00%
R/read_estimates_by_performance_category.R: 100.00%
R/read_estimates_by_size.R: 100.00%
R/read_historical_forecast_database.R: 100.00%
R/read_historical_national_estimates.R: 100.00%
R/read_historical_regional_estimates.R: 100.00%
R/read_historical_state_estimates.R: 100.00%
R/read_topsoil_thickness_stars.R: 100.00%
R/read_topsoil_thickness_terra.R: 100.00%

Can you help me out with what you're seeing on your machine for coverage perhaps?

@obrl-soil
Copy link

Hey sorry I've been away on fieldwork - here's what I get with the same call

read.abares Coverage: 12.26%
R/get_soil_thickness.R: 0.00%
R/read_aagis_regions.R: 0.00%
R/read_abares_trade.R: 0.00%
R/read_abares_trade_regions.R: 0.00%
R/read_estimates_by_performance_category.R: 0.00%
R/read_estimates_by_size.R: 0.00%
R/read_historical_forecast_database.R: 0.00%
R/read_historical_national_estimates.R: 0.00%
R/read_historical_regional_estimates.R: 0.00%
R/read_historical_state_estimates.R: 0.00%
R/read_soil_thickness_stars.R: 0.00%
R/read_soil_thickness_terra.R: 0.00%
R/read_agfd_stars.R: 1.69%
R/read_agfd_dt.R: 8.33%
R/read_agfd_terra.R: 25.00%
R/read_agfd_tidync.R: 25.00%
R/get_agfd.R: 32.31%
R/clear_cache.R: 100.00%
R/inspect_cache.R: 100.00%
R/internal_functions.R: 100.00%

I don't think it matters if its getting checked properly on at least one machine, just a bit curious about what's going on with mine!

To answer your question about the tif vs grid issue - its a more widely accessible format and you get to store a single file object with embedded projection info instead of a folder of smaller files. It'll be pretty much the same size overall. I experimented with LERC compression but didn't see any real advantage since its already a fairly small dataset, so standard TIF or a COG version would work fine.

@adamhsparks
Copy link
Member Author

@obrl-soil, thanks, TIF it is!

@obrl-soil
Copy link

@ropensci-review-bot assign @potterzot as reviewer

@ropensci-review-bot
Copy link
Collaborator

I'm sorry @obrl-soil, I'm afraid I can't do that. That's something only editors are allowed to do.

@adamhsparks
Copy link
Member Author

Hey sorry I've been away on fieldwork - here's what I get with the same call

read.abares Coverage: 12.26%
R/get_soil_thickness.R: 0.00%
R/read_aagis_regions.R: 0.00%
R/read_abares_trade.R: 0.00%
R/read_abares_trade_regions.R: 0.00%
R/read_estimates_by_performance_category.R: 0.00%
R/read_estimates_by_size.R: 0.00%
R/read_historical_forecast_database.R: 0.00%
R/read_historical_national_estimates.R: 0.00%
R/read_historical_regional_estimates.R: 0.00%
R/read_historical_state_estimates.R: 0.00%
R/read_soil_thickness_stars.R: 0.00%
R/read_soil_thickness_terra.R: 0.00%
R/read_agfd_stars.R: 1.69%
R/read_agfd_dt.R: 8.33%
R/read_agfd_terra.R: 25.00%
R/read_agfd_tidync.R: 25.00%
R/get_agfd.R: 32.31%
R/clear_cache.R: 100.00%
R/inspect_cache.R: 100.00%
R/internal_functions.R: 100.00%

I don't think it matters if its getting checked properly on at least one machine, just a bit curious about what's going on with mine!

I think it's skipping all the tests marked with skip_on_ci() locally from the looks of it. Hopefully the reviewers will have some insight. I can't find anything in the {testthat} docs that would indicate that this should happen locally, only on GitHub or the like.

@adamhsparks
Copy link
Member Author

Interestingly, I just had the same behaviour somehow. I don't know how, it determined I was "offline" and only ran the tests that you have seen run, @obrl-soil

@obrl-soil
Copy link

obrl-soil commented Apr 14, 2025

Weird - maybe a covr bug then

@obrl-soil
Copy link

@ropensci-review-bot assign @potterzot as reviewer

@ropensci-review-bot
Copy link
Collaborator

@potterzot added to the reviewers list. Review due date is 2025-05-05. Thanks @potterzot for accepting to review! Please refer to our reviewer guide.

rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.

@ropensci-review-bot
Copy link
Collaborator

@potterzot: If you haven't done so, please fill this form for us to update our reviewers records.

@adamhsparks
Copy link
Member Author

adamhsparks commented Apr 14, 2025

Weird - maybe a covr bug then

{testthat}, I think. I was just running tests alone

@ropensci-review-bot
Copy link
Collaborator

📆 @potterzot you have 2 days left before the due date for your review (2025-05-05).

@obrl-soil
Copy link

@ropensci-review-bot assign @mpaulacaldas as reviewer

@ropensci-review-bot
Copy link
Collaborator

@mpaulacaldas added to the reviewers list. Review due date is 2025-05-24. Thanks @mpaulacaldas for accepting to review! Please refer to our reviewer guide.

rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.

@ropensci-review-bot
Copy link
Collaborator

@mpaulacaldas: If you haven't done so, please fill this form for us to update our reviewers records.

@maurolepore
Copy link
Member

maurolepore commented May 4, 2025

@adamhsparks and @obrl-soil I'm wrapping up my EiC rotation today and before I hand this over to the next EiC I want to thank you for your work and persistance.

@potterzot
Copy link

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors. Adam Sparks reviewed my rnassqs package in 2019 on its initial acceptance to rOpenSci.
  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software have been confirmed.
  • Performance: Any performance claims of the software have been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing: 4

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

General comments

Great work on a package that provides access to a really neat dataset. Tests were very complete, documentation was extensive, and I learned some new things reading through the code.

It doesn't seem like there is a way to query subsets. It also seems like because file names must be directly coded, any changes / updates to the file paths will be package breaking, which is unfortunate. But in both cases I don't think there's anything that can be done on the package end to change this.

Specific comments

  • [README.md]: I know pak is more prevalent these days, but wonder if including remotes::install_github() as an option would be useful for folks who don't use pak.
  • In the vignette several commands took quite a long time to run. I think the same instructional point could be made with fewer regions/years. I can see that it isn't possible to query specific subsets of data, but before merging and plotting might be helpful to speed up the vignette. I encountered these slow points in particular:
    • [vignette/read.abares.Rmd] Line 80: The command aagis_dat <- left_join(aagis_regions, aagis_region_data) took 70 seconds on my laptop.
    • [vignette/read.abares.Rmd] Lines 95-102: The ggplot took a while to render
    • [vignette/read.abares.Rmd] Lines 95-102: This fetch command took at least 3 minutes and made my laptop lag: star <- get_agfd(cache = TRUE) |> read_agfd_stars(). Reducing the dimensions here would also make it so taht when a new user / this reviewer types star in the terminal they aren't swamped with a lot of printed data that has to be cancelled out of. The same is true for read_agfd_terra, read_agfd_tidync, and read_agfd_dt. If it can't be done via query,
  • [DESCRIPTION] When running tests I received two warnings about needing to install bit64 to properly display integer64 values. Maybe adding this package to suggests?

@adamhsparks
Copy link
Member Author

@potterzot, just a quick note of many thanks.

Your comment on {pak} is timely. I've spent yesterday and today wrestling with it for other packages and it's coming up short. I've resorted to favouring {remotes} first with {pak} as an optional method for one of these packages and will implement the same here.

I'll have a detailed response with all the changes that follows.

@ropensci-review-bot
Copy link
Collaborator

📆 @mpaulacaldas you have 2 days left before the due date for your review (2025-05-24).

@adamhsparks
Copy link
Member Author

It doesn’t bother me if your review takes longer than the deadline, @mpaulacaldas. I’m on holidays right now and won’t be working until next month.

@mpaulacaldas
Copy link

Thank you @adamhsparks! The week got away from me and I wasn't able to finish my review. I will finalise it by the end of the week (May 30 latest)☺️ Hope you're having a nice holiday!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants