Skip to content

Commit

Permalink
High-resolution MODIS and STATSGO veg/soil data. (#703)
Browse files Browse the repository at this point in the history
Updates to use the MODIS vegetation data and STATSGO soil data at its full 
global 30-second resolution.

Fixes #702.
  • Loading branch information
GeorgeGayno-NOAA authored Nov 29, 2022
1 parent aa44b99 commit a0e3e56
Show file tree
Hide file tree
Showing 7 changed files with 146 additions and 81 deletions.
20 changes: 12 additions & 8 deletions docs/source/ufs_utils.rst
Original file line number Diff line number Diff line change
Expand Up @@ -525,19 +525,23 @@ The surface climatological data is located here `./fix/fix_sfc_climo <https://no
* Global 0.05-degree four component monthly snow-free albedo - snowfree_albedo.4comp.0.05.nc
* Global 1.0-degree categorical slope type - slope_type.1.0.nc
* Categorical STATSGO soil type
* Global 0.03-degree - soil_type.statsgo.0.03.nc
* Global 0.05-degree - soil_type.statsgo.0.05.nc
* CONUS 0.01-degree - soil_type.statsgo.conus.0.01.nc
* Global 0.03-degree - soil_type.statsgo.0.03.nc
* CONUS 30 sec - soil_type.statsgo.conus.30s.nc
* N Hemis 30 sec - soil_type.statsgo.nh.30s.nc
* Global 30 sec - soil_type.statsgo.30s.nc
* Categorical IGBP vegetation type
* MODIS-based global 0.03-degree - vegetation_type.modis.igbp.0.03.nc
* MODIS-based global 0.05-degree - vegetation_type.modis.igbp.0.05.nc
* MODIS-based CONUS 0.01-degree - vegetation_type.modis.igbp.conus.0.01.nc
* NESDIS VIIRS-based global 30-second - vegetation_type.viirs.igbp.30s.nc
* NESDIS VIIRS-based global 0.03-degree - vegetation_type.viirs.igbp.0.03.nc
* MODIS-based global 0.03-degree - vegetation_type.modis.igbp.0.03.nc
* MODIS-based CONUS 30 sec - vegetation_type.modis.igbp.conus.30s.nc
* MODIS-based N Hemis 30 sec - vegetation_type.modis.igbp.nh.30s.nc
* MODIS-based global 30 sec - vegetation_type.modis.igbp.30s.nc
* NESDIS VIIRS-based global 0.10-degree - vegetation_type.viirs.igbp.0.1.nc
* NESDIS VIIRS-based global 0.05-degree - vegetation_type.viirs.igbp.0.05.nc
* NESDIS VIIRS-based global 0.1-degree - vegetation_type.viirs.igbp.0.1.nc
* NESDIS VIIRS-based N HEMIS 30-second - vegetation_type.viirs.igbp.nh.30s.nc
* NESDIS VIIRS-based global 0.03-degree - vegetation_type.viirs.igbp.0.03.nc
* NESDIS VIIRS-based CONUS 30-second - vegetation_type.viirs.igbp.conus.30s.nc
* NESDIS VIIRS-based N HEMIS 30-second - vegetation_type.viirs.igbp.nh.30s.nc
* NESDIS VIIRS-based global 30-second - vegetation_type.viirs.igbp.30s.nc
* Global 0.144-degree monthly vegetation greenness in percent - vegetation_greenness.0.144.nc

The files that define the model grid. All NetCDF.
Expand Down
42 changes: 26 additions & 16 deletions driver_scripts/driver_grid.hera.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,11 @@
# x/y grid spacing - "delx/y", and halo.
# 8) Set working directory - TEMP_DIR - and path to the repository
# clone - home_dir.
# 9) Check settings for 'make_gsl_orog' and 'veg_type_src'
# below.
# 10) Submit script: "sbatch $script".
# 11) All files will be placed in "out_dir".
# 9) To use the GSL orographic drag suite, set 'make_gsl_orog' to true.
# 10) Set 'soil_veg_src' and 'veg_type_src' to choose the
# soil type and vegetation type data.
# 11) Submit script: "sbatch $script".
# 12) All files will be placed in "out_dir".
#
#-----------------------------------------------------------------------

Expand All @@ -72,21 +73,30 @@ module list
#-----------------------------------------------------------------------

export gtype=uniform # 'uniform', 'stretch', 'nest',
# 'regional_gfdl', 'regional_esg'
export make_gsl_orog=false # 'true' if user needs 'oro' files for GSL
# orographic drag suite
# 'regional_gfdl', 'regional_esg'.
export make_gsl_orog=false # When 'true' will output 'oro' files for
# the GSL orographic drag suite.
export veg_type_src="modis.igbp.0.05" # veg type data.
# For viirs-based vegetation type data, set to:
# 1) "viirs.igbp.0.05" for global 5km data
# 2) "viirs.igbp.0.1" for global 10km data
# 3) "viirs.igbp.0.03" for global 3km data
# 4) "viirs.igbp.30s" for global 30s data
# 5) "viirs.igbp.conus.30s" for CONUS 30s data
# 6) "viirs.igbp.nh.30s" for NH 30s data
# 1) "viirs.igbp.0.1" for global 0.10-deg data
# 2) "viirs.igbp.0.05" for global 0.05-deg data
# 3) "viirs.igbp.0.03" for global 0.03-deg data
# 4) "viirs.igbp.conus.30s" for CONUS 30s data
# 5) "viirs.igbp.nh.30s" for NH 30s data
# 6) "viirs.igbp.30s" for global 30s data
# For the modis-based data, set to:
# 1) "modis.igbp.0.05" for global 5km data
# 2) "modis.igbp.0.03" for global 3km data
# 3) "modis.igbp.conus.30s" for regional 30s data
# 1) "modis.igbp.0.05" for global 0.05-deg data
# 2) "modis.igbp.0.03" for global 0.03-deg data
# 3) "modis.igbp.conus.30s" for CONUS 30s data
# 4) "modis.igbp.nh.30s" for N Hemis 30s data
# 5) "modis.igbp.30s" for global 30s data

export soil_type_src="statsgo.0.05" # Soil type data. Choices are:
# 1) "statsgo.0.05" for global 0.05-deg data
# 2) "statsgo.0.03" for global 0.03-deg data
# 3) "statsgo.conus.30s" for CONUS 30s data
# 4) "statsgo.nh.30s" for NH 30s data
# 5) "statsgo.30s" for global 30s data

if [ $gtype = uniform ]; then
export res=96
Expand Down
40 changes: 25 additions & 15 deletions driver_scripts/driver_grid.jet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,11 @@
# x/y grid spacing - "delx/y", and halo.
# 8) Set working directory - TEMP_DIR - and path to the repository
# clone - home_dir.
# 9) Check settings for 'make_gsl_orog' and 'veg_type_src'
# below.
# 10) Submit script: "sbatch $script".
# 11) All files will be placed in "out_dir".
# 9) To use the GSL orographic drag suite, set 'make_gsl_orog' to true.
# 10) Set 'soil_veg_src' and 'veg_type_src' to choose the
# soil type and vegetation type data.
# 11) Submit script: "sbatch $script".
# 12) All files will be placed in "out_dir".
#
#-----------------------------------------------------------------------

Expand All @@ -73,20 +74,29 @@ module list

export gtype=uniform # 'uniform', 'stretch', 'nest',
# 'regional_gfdl', 'regional_esg'
export make_gsl_orog=false # 'true' if user needs 'oro' files for GSL
# orographic drag suite
export make_gsl_orog=false # When 'true' will output 'oro' files for
# the GSL orographic drag suite.
export veg_type_src="modis.igbp.0.05" # veg type data.
# For viirs-based vegetation type data, set to:
# 1) "viirs.igbp.0.05" for global 5km data
# 2) "viirs.igbp.0.1" for global 10km data
# 3) "viirs.igbp.0.03" for global 3km data
# 4) "viirs.igbp.30s" for global 30s data
# 5) "viirs.igbp.conus.30s" for CONUS 30s data
# 6) "viirs.igbp.nh.30s" for NH 30s data
# 1) "viirs.igbp.0.1" for global 0.10-deg data
# 2) "viirs.igbp.0.05" for global 0.05-deg data
# 3) "viirs.igbp.0.03" for global 0.03-deg data
# 4) "viirs.igbp.conus.30s" for CONUS 30s data
# 5) "viirs.igbp.nh.30s" for NH 30s data
# 6) "viirs.igbp.30s" for global 30s data
# For the modis-based data, set to:
# 1) "modis.igbp.0.05" for global 5km data
# 2) "modis.igbp.0.03" for global 3km data
# 3) "modis.igbp.conus.30s" for regional 30s data
# 1) "modis.igbp.0.05" for global 0.05-deg data
# 2) "modis.igbp.0.03" for global 0.03-deg data
# 3) "modis.igbp.conus.30s" for CONUS 30s data
# 4) "modis.igbp.nh.30s" for N Hemis 30s data
# 5) "modis.igbp.30s" for global 30s data

export soil_type_src="statsgo.0.05" # Soil type data. Choices are:
# 1) "statsgo.0.05" for global 0.05-deg data
# 2) "statsgo.0.03" for global 0.03-deg data
# 3) "statsgo.conus.30s" for CONUS 30s data
# 4) "statsgo.nh.30s" for NH 30s data
# 5) "statsgo.30s" for global 30s data

if [ $gtype = uniform ]; then
export res=96
Expand Down
40 changes: 25 additions & 15 deletions driver_scripts/driver_grid.orion.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,11 @@
# x/y grid spacing - "delx/y", and halo.
# 8) Set working directory - TEMP_DIR - and path to the repository
# clone - home_dir.
# 9) Check settings for 'make_gsl_orog' and 'veg_type_src'
# below.
# 10) Submit script: "sbatch $script".
# 11) All files will be placed in "out_dir".
# 9) To use the GSL orographic drag suite, set 'make_gsl_orog' to true.
# 10) Set 'soil_veg_src' and 'veg_type_src' to choose the
# soil type and vegetation type data.
# 11) Submit script: "sbatch $script".
# 12) All files will be placed in "out_dir".
#
#-----------------------------------------------------------------------

Expand All @@ -73,21 +74,30 @@ module list
export gtype=regional_esg # 'uniform', 'stretch', 'nest',
# 'regional_gfdl', 'regional_esg'

export make_gsl_orog=false # 'true' if user needs 'oro' files for GSL
# orographic drag suite
export make_gsl_orog=false # When 'true' will output 'oro' files for
# the GSL orographic drag suite.

export veg_type_src="modis.igbp.0.05" # veg type data.
# For viirs-based vegetation type data, set to:
# 1) "viirs.igbp.0.05" for global 5km data
# 2) "viirs.igbp.0.1" for global 10km data
# 3) "viirs.igbp.0.03" for global 3km data
# 4) "viirs.igbp.30s" for global 30s data
# 5) "viirs.igbp.conus.30s" for CONUS 30s data
# 6) "viirs.igbp.nh.30s" for NH 30s data
# 1) "viirs.igbp.0.1" for global 0.10-deg data
# 2) "viirs.igbp.0.05" for global 0.05-deg data
# 3) "viirs.igbp.0.03" for global 0.03-deg data
# 4) "viirs.igbp.conus.30s" for CONUS 30s data
# 5) "viirs.igbp.nh.30s" for NH 30s data
# 6) "viirs.igbp.30s" for global 30s data
# For the modis-based data, set to:
# 1) "modis.igbp.0.05" for global 5km data
# 2) "modis.igbp.0.03" for global 3km data
# 3) "modis.igbp.conus.30s" for regional 30s data
# 1) "modis.igbp.0.05" for global 0.05-deg data
# 2) "modis.igbp.0.03" for global 0.03-deg data
# 3) "modis.igbp.conus.30s" for CONUS 30s data
# 4) "modis.igbp.nh.30s" for N Hemis 30s data
# 5) "modis.igbp.30s" for global 30s data

export soil_type_src="statsgo.0.05" # Soil type data. Choices are:
# 1) "statsgo.0.05" for global 0.05-deg data
# 2) "statsgo.0.03" for global 0.03-deg data
# 3) "statsgo.conus.30s" for CONUS 30s data
# 4) "statsgo.nh.30s" for NH 30s data
# 5) "statsgo.30s" for global 30s data

if [ $gtype = uniform ]; then
export res=96
Expand Down
40 changes: 25 additions & 15 deletions driver_scripts/driver_grid.wcoss2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
# x/y grid spacing - "delx/y", and halo.
# 8) Set working directory - TEMP_DIR - and path to the repository
# clone - home_dir.
# 9) Check settings for 'make_gsl_orog' and 'veg_type_src'
# below.
# 10) Submit script: "cat $script | bsub".
# 11) All files will be placed in "out_dir".
# 9) To use the GSL orographic drag suite, set 'make_gsl_orog' to true.
# 10) Set 'soil_veg_src' and 'veg_type_src' to choose the
# soil type and vegetation type data.
# 11) Submit script: "qsub $script".
# 12) All files will be placed in "out_dir".
#
#-----------------------------------------------------------------------

Expand All @@ -71,20 +72,29 @@ module list

export gtype=regional_esg # 'uniform', 'stretch', 'nest',
# 'regional_gfdl', 'regional_esg'
export make_gsl_orog=false # 'true' if user needs 'oro' files for GSL
# orographic drag suite
export make_gsl_orog=false # When 'true' will output 'oro' files for
# the GSL orographic drag suite.
export veg_type_src="modis.igbp.0.05" # veg type data.
# For viirs-based vegetation type data, set to:
# 1) "viirs.igbp.0.05" for global 5km data
# 2) "viirs.igbp.0.1" for global 10km data
# 3) "viirs.igbp.0.03" for global 3km data
# 4) "viirs.igbp.30s" for global 30s data
# 5) "viirs.igbp.conus.30s" for CONUS 30s data
# 6) "viirs.igbp.nh.30s" for NH 30s data
# 1) "viirs.igbp.0.1" for global 0.10-deg data
# 2) "viirs.igbp.0.05" for global 0.05-deg data
# 3) "viirs.igbp.0.03" for global 0.03-deg data
# 4) "viirs.igbp.conus.30s" for CONUS 30s data
# 5) "viirs.igbp.nh.30s" for NH 30s data
# 6) "viirs.igbp.30s" for global 30s data
# For the modis-based data, set to:
# 1) "modis.igbp.0.05" for global 5km data
# 2) "modis.igbp.0.03" for global 3km data
# 3) "modis.igbp.conus.30s" for regional 30s data
# 1) "modis.igbp.0.05" for global 0.05-deg data
# 2) "modis.igbp.0.03" for global 0.03-deg data
# 3) "modis.igbp.conus.30s" for CONUS 30s data
# 4) "modis.igbp.nh.30s" for N Hemis 30s data
# 5) "modis.igbp.30s" for global 30s data

export soil_type_src="statsgo.0.05" # Soil type data. Choices are:
# 1) "statsgo.0.05" for global 0.05-deg data
# 2) "statsgo.0.03" for global 0.03-deg data
# 3) "statsgo.conus.30s" for CONUS 30s data
# 4) "statsgo.nh.30s" for NH 30s data
# 5) "statsgo.30s" for global 30s data

if [ $gtype = uniform ]; then
export res=96
Expand Down
6 changes: 5 additions & 1 deletion ush/sfc_climo_gen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
# res Resolution of cubed-sphere grid
# SAVE_DIR Directory where output is saved
# WORK_DIR Temporary working directory
# SOIL_TYPE_FILE Path/name of input soil type data.
# VEG_TYPE_FILE Path/name of input vegetation type data.
#-------------------------------------------------------------------------

set -eux
Expand All @@ -39,6 +41,8 @@ mosaic_file=${mosaic_file:-$FIX_FV3/C${res}_mosaic.nc}
HALO=${HALO:-0}
veg_type_src=${veg_type_src:-"modis.igbp.0.05"}
VEG_TYPE_FILE=${VEG_TYPE_FILE:-${input_sfc_climo_dir}/vegetation_type.${veg_type_src}.nc}
soil_type_src=${soil_type_src:-"statsgo.0.05"}
SOIL_TYPE_FILE=${SOIL_TYPE_FILE:-${input_sfc_climo_dir}/soil_type.${soil_type_src}.nc}

if [ ! -d $SAVE_DIR ]; then
mkdir -p $SAVE_DIR
Expand All @@ -65,7 +69,7 @@ input_substrate_temperature_file="${input_sfc_climo_dir}/substrate_temperature.2
input_maximum_snow_albedo_file="${input_sfc_climo_dir}/maximum_snow_albedo.0.05.nc"
input_snowfree_albedo_file="${input_sfc_climo_dir}/snowfree_albedo.4comp.0.05.nc"
input_slope_type_file="${input_sfc_climo_dir}/slope_type.1.0.nc"
input_soil_type_file="${input_sfc_climo_dir}/soil_type.statsgo.0.05.nc"
input_soil_type_file="${SOIL_TYPE_FILE}"
input_vegetation_type_file="${VEG_TYPE_FILE}"
input_vegetation_greenness_file="${input_sfc_climo_dir}/vegetation_greenness.0.144.nc"
mosaic_file_mdl="$mosaic_file"
Expand Down
39 changes: 28 additions & 11 deletions util/sfc_climo_gen/run.wcoss2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,35 @@ export FIX_FV3=${BASE_DIR}/fix/orog/C${res}
##HALO=3
##export GRIDTYPE=regional

#-------------------------------------
# Choose which virrs data to use.
#-------------------------------------
#-------------------------------------------------------------
# Choose which soil type and vegetation type data to use.
#
# For viirs-based vegetation type data, set to:
# 1) "viirs.igbp.0.1" for global 0.10-deg data
# 2) "viirs.igbp.0.05" for global 0.05-deg data
# 3) "viirs.igbp.0.03" for global 0.03-deg data
# 4) "viirs.igbp.conus.30s" for CONUS 30s data
# 4) "viirs.igbp.nh.30s" for NH 30s data
# 4) "viirs.igbp.30s" for global 30s data
#
# For the modis-based vegetation data, set to:
# 1) "modis.igbp.0.05" for global 0.05-deg data
# 2) "modis.igbp.0.03" for global 0.03-deg data
# 3) "modis.igbp.conus.30s" for CONUS 30s data
# 4) "modis.igbp.nh.30s" for NH 30s data
# 5) "modis.igbp.30s" for global 30s data
#
# Soil type data
# 1) "statsgo.0.05" for global 0.05-deg data
# 2) "statsgo.0.03" for global 0.03-deg data
# 3) "statsgo.conus.30s" for CONUS 30s data
# 4) "statsgo.nh.30s" for NH 30s data
# 5) "statsgo.30s" for global 30s data
#-------------------------------------------------------------

export veg_type_src="modis.igbp.0.05"

export veg_type_src="viirs.igbp.0.05" # Use global 0.05-degree viirs data
#export veg_type_src="viirs.igbp.0.1" # Use global 0.1-degree viirs data
#export veg_type_src="viirs.igbp.0.03" # Use global 0.03-degree viirs data
#export veg_type_src="viirs.igbp.30s" # Use global 30s viirs data
#export veg_type_src="viirs.igbp.nh.30s" # Use NH 30s virrs data. Do not
# use for global grids.
#export veg_type_src="viirs.igbp.conus.30s" # Use CONUS 30s virrs data. Do not
# use for global grids or N Amer grids.
export soil_type_src="statsgo.0.05"

#-------------------------------------
# Set working directory and directory where output files will be saved.
Expand Down

0 comments on commit a0e3e56

Please sign in to comment.