software-review
software-review copied to clipboard
read.abares - Provides simple downloading, parsing and importing of Australian Bureau of Agricultural and Resource Economics and Sciences (ABARES) data sources
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-05Due 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", , "[email protected]", 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.):
- [x] 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
- [x] 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.
- (If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
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
pkgcheckitems which your package is unable to pass.
Technical checks
Confirm each of the following by checking the box.
- [x] I have read the rOpenSci packaging guide.
- [x] I have read the author guide and I expect to maintain this package for at least 2 years or to find a replacement.
This package:
- [x] does not violate the Terms of Service of any service it interacts with.
- [x] has a CRAN and OSI accepted license.
- [x] contains a README with instructions for installing the development version.
- [x] includes documentation with examples for all functions, created with roxygen2.
- [x] contains a vignette with examples of its essential functions and uses.
- [x] has a test suite.
- [x] has continuous integration, including reporting of test coverage.
Publication options
-
[x] 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
- [x] I agree to abide by rOpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.
:rocket:
Editor check started
:wave:
Checks for read.abares (v0.1.0)
git hash: cd3d61e5
- :heavy_check_mark: Package name is available
- :heavy_check_mark: has a 'codemeta.json' file.
- :heavy_check_mark: has a 'contributing' file.
- :heavy_check_mark: uses 'roxygen2'.
- :heavy_check_mark: 'DESCRIPTION' has a URL field.
- :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
- :heavy_check_mark: Package has at least one HTML vignette
- :heavy_check_mark: All functions have examples.
- :heavy_check_mark: Package has continuous integration checks.
- :heavy_multiplication_x: Package coverage failed
- :heavy_multiplication_x: R CMD check found 1 error.
- :heavy_check_mark: R CMD check found no warnings.
- :eyes: Function names are duplicated in other packages
Important: All failing checks above must be addressed prior to proceeding
(Checks marked with :eyes: 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
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:
- 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:
-
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 [email protected]
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 [email protected]
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:
- 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)
:heavy_multiplication_x: The following function name is duplicated in other packages:
-
clear_cachefrom 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 :heavy_multiplication_x: have been resolved.
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
@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?
I’ve got nothing. It only takes a few minutes on GH now. 🤷
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.
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
Sorry @adamhsparks, I'll try to find out the problem with the checks asap and get back to you ... :confused:
Checks for read.abares (v0.1.0)
git hash: a7a41aab
- :heavy_check_mark: Package name is available
- :heavy_check_mark: has a 'codemeta.json' file.
- :heavy_check_mark: has a 'contributing' file.
- :heavy_check_mark: uses 'roxygen2'.
- :heavy_check_mark: 'DESCRIPTION' has a URL field.
- :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
- :heavy_check_mark: Package has at least one HTML vignette
- :heavy_check_mark: All functions have examples.
- :heavy_check_mark: Package has continuous integration checks.
- :heavy_multiplication_x: Package coverage is 5.3% (should be at least 75%).
- :heavy_check_mark: R CMD check found no errors.
- :heavy_check_mark: R CMD check found no warnings.
- :eyes: Function names are duplicated in other packages
Important: All failing checks above must be addressed prior to proceeding
(Checks marked with :eyes: 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
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)
:heavy_multiplication_x: The following function name is duplicated in other packages:
-
clear_cachefrom 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 :heavy_multiplication_x: have been resolved.
@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. 😃
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.
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.
@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?
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.
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.
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.
Yeah, let’s hold. I may be a while though with holidays approaching.
Sounds good, @adamhsparks ! Happy holidays!
@adamhsparks FYI my EiC rotation just started so I'm checking the status of all issues. Seems like a good time to touch base. Should we keep holding?
Hi @maurolepore, in the spirit of the recent discussion around the "holding" tag, let's go ahead with this one.
I've spent several hours trying to make mocking work with the tests and cannot make it reasonably work. In the end, the tests work and pass quite quickly locally after the first pass. But I'm open to improvements and hope that reviewers might be able to help me out here. Though I have tidied up a few things with my efforts, so there's that.
I'm happy to share what I've tried and learned along the way for the mocking with the reviewers.
@adamhsparks thanks! Seems like a great mindset 💯
Then let's move on to finding a handling editor. Would you mind summarizing this thread in your words to highlight the main challenge we need to tackle and the expertise you think would help the most? That may help us find a suitable handling editor, and later suitable reviewers.
The biggest issue that this package has that I perceive and from this Issue, is that tests can't reliably run on CI and must use Internet access to download the files necessary for testing. So, the first tests take a while as they download oodles of data, but if they cache the next runs are faster. There are also connectivity issues with GitHub and this server, I'm able to reliably access the data from my computers that I can physically interact with but GitHub's CI seems to have issues with downloads from the servers, so I just skipped nearly all tests on CI.
Therefore, I'd love to use the mocking capabilities in {httptest2} in my tests to get around this limitation. And, I'm already using that package to test no connectivity, so it's not an additional package to be added. However, when I've tried to set this up, I've
- managed to get one or two tests to successfully mock as the server properly returns a text file that I can then edit to reduce the size of the file since they are LARGE but, the file-path remains an issue for CRAN as it becomes several layers deep,
- the server seems to be serving binary files when a CSV file is requested; @jonthegeek had provided me with a suggestion the rOpenSci Slack that I attempted to use and it sorta worked to create an edited file and re-gzip it and insert it into the mocking file but I had more issues with testing then that {httptest2} wasn't happy with the file itself, and
- some of the files are binary, i.e., Excel, and so point 2 comes up again. I can edit and try to reinsert but then I sometimes get it to work and sometimes it fails to work.
I'll create a new branch and upload the script I was using to try to do all of this and share that later.
Edits for readability.