access_UtilsWG_UtilWgDocs_canopy_height_dg - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

CANOPY_HEIGHT Deployment Guide

Wenming Lu

11 August 2017

Installation of ancil-utils ver 1.0.0

1. Installation of ancil-utils at /projects/access/apps/

canopy_height is installed as one function of ancil-utils,

  • Prepare the location for ancil-utils go to raijin,
cd /projects/access/apps/
mkdir -p ancil-utils/1.0.0
cd ancil-utils/1.0.0
mkdir -p canopy_height
cd canopy_height
  • Deploy the scripts and codes At the raijin:/projects/access/apps/ancil-utils/1.0.0/canopy_height
svn checkout -r 1399 https://access-svn.nci.org.au/svn/utils/branches/dev/lwenming/ancils/canopy_height/ 

2. Creation of canopy_height module at /projects/access/modules/ancil-utils

At raijin:/projects/access/modules/,

mkdir -p ancil-utils
cd ancil-utils
touch 1.0.0

The module file 1.0.0 is as,

#%Module
source /opt/Modules/extensions/extensions.tcl

set name "ancil-utils"
set version "1.0.0"
set install-contact "Wenming Lu <[email protected]>"
set install-date    "10-08-17"
set help "ancil-utils"
set url  https://access-svn.nci.org.au/svn/utils/branches/dev/lwenming/ancils/

set prefix "/projects/access/apps/$name/$version"

module del geos
module load geos/3.4.2
module del pythonlib/ants
module load pythonlib/ants/3325
module del pythonlib/iris/1.10.0
module load iris/1.12.0
module load pythonlib/mock/1.0.1
module load gdal/2.1.3
module del python/2.7.6 python/2.7.6-matplotlib
module load python/2.7.11 python/2.7.11-matplotlib

prepend-path PATH $prefix
prepend-path PYTHONPATH $prefix

prepend-path PATH $prefix/canopy_height
prepend-path PYTHONPATH $prefix/canopy_height

# Add line break after docommon to avoid warnings from module switch

source /projects/access/modules/common

3. Test of the installation

Open a raijin xterm and,

module load ancil-utils/1.0.0
ancil_simardCanHT.py -h

You should see the output as follows,

Generate Canopy height ancillaries using remotely sensed Simard et al data
usage: ancil_simardCanHT.py [-h] --target-lsm TARGET_LSM --output OUTPUT
                            [--ants-config ANTS_CONFIG]
                            [--downscale DOWNSCALE] [--min_height MIN_HEIGHT]
                            [--urban_tree URBAN_TREE]
                            [--urban_crit URBAN_CRIT]
                            sources [sources ...]

Canopy Height
*************
Currently CAP generates canopy heights based on IGBP land-cover types. 
The Bureau of Meteorology uses satellite derived tree heights for the canopy heights 
of Broadleaf (BL) and Needleleaf (NL) tree PFTs. 

Some science documentation is provided by
        Improved numerical weather predictions by using optimised urban model parameter values and satellite derived tree heights
        I Dharssi, P. Steinle and J. Fernon
        http://www.mssanz.org.au/modsim2015/M4/dharssi.pdf
        21st International Congress on Modelling and Simulation, Gold Coast, Australia, 29 Nov to 4 Dec 2015

Ticket 544 describes the development of Python code using ANTS to create improved Canopy height ancillaries.

Steps:
1) Read input data
        i)   Land/Sea mask on target grid
        ii)  Canopy heights and LAI* on target grid, generated by CAP
        iii) Landcover fractions on target grid
        iv)  Simard et al forest canopy height data from a GeoTIFF
2) Convert the Simard et al data to an Iris Cube object
3) Regrid the Simard et al Cube object to the target grid
4) Fill in missing data using different minimum values for urban and non-urban points
5) Overwrite the canopy heights of the BL and NL trees in the CAP ancillaries
6) Write out the Simard et al/CAP hybrid canopy heights and LAI*

*Note that the LAI (Leaf Area Index) is unchanged. 

positional arguments:
  sources               Source data path(s).

Additional arguments:
  -h, --help            show this help message and exit
  --target-lsm TARGET_LSM, -lsm TARGET_LSM
                        Path to the land sea mask.
  --output OUTPUT, -o OUTPUT
                        Output filepath.
  --ants-config ANTS_CONFIG
                        Configuration path.
  --downscale DOWNSCALE
                        Downscaling of Simard et al input data. Default value
                        = 8
  --min_height MIN_HEIGHT
                        Minimum tree height, used to fillin missing data in
                        Simard et al input data. Default value = 10
  --urban_tree URBAN_TREE
                        Urban tree height, used to fillin data in Simard et al
                        input data. Default value = 6
  --urban_crit URBAN_CRIT
                        Threshold to define urban area, used to fillin data in
                        Simard et al input data. Default value = 0.05