cable_driver_common_mod Module

Module for CABLE offline driver common routines.



Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: CASAONLY_ICYCLE_MIN = 10
integer, private, parameter :: N_MET_FORCING_VARIABLES_GSWP = 8

Number of GSWP met forcing variables (rain, snow, lw, sw, ps, qa, ta, wd)

logical, public, SAVE :: vegparmnew = .FALSE.
logical, public, SAVE :: spinup = .FALSE.
logical, public, SAVE :: spincasa = .FALSE.
logical, public, SAVE :: CASAONLY = .FALSE.
logical, public, SAVE :: l_casacnp = .FALSE.
logical, public, SAVE :: l_landuse = .FALSE.
logical, public, SAVE :: l_laiFeedbk = .FALSE.
logical, public, SAVE :: l_vcmaxFeedbk = .FALSE.
real, public, SAVE :: delsoilM
real, public, SAVE :: delsoilT
real, public, SAVE :: delgwM = 1e-4
integer, public, SAVE :: LALLOC = 0

Subroutines

public subroutine cable_driver_init(mpi_grp, trunk_sumbal, NRRRR)

Model initialisation routine for the CABLE offline driver.

Arguments

Type IntentOptional Attributes Name
type(mpi_grp_t), intent(in) :: mpi_grp

MPI group to use

double precision, intent(out) :: trunk_sumbal

Reference value for quasi-bitwise reproducibility checks.

integer, intent(out) :: NRRRR

Number of repeated spin-up cycles

public subroutine cable_driver_init_gswp(mpi_grp, GSWP_MID, NRRRR)

Model initialisation routine (GSWP specific).

Arguments

Type IntentOptional Attributes Name
type(mpi_grp_t), intent(in) :: mpi_grp

MPI group to use

integer, intent(out), optional, ALLOCATABLE :: GSWP_MID(:,:)

NetCDF file IDs for GSWP met forcing

integer, intent(in), optional :: NRRRR

Number of repeated spin-up cycles

public subroutine cable_driver_init_site(site)

Model initialisation routine (site met specific). Site experiment, e.g. AmazonFace (spinup or transient run type).

Arguments

Type IntentOptional Attributes Name
type(site_TYPE), intent(out) :: site

public subroutine cable_driver_init_default(dels, koffset, kend)

Model initialisation routine (default met specific).

Arguments

Type IntentOptional Attributes Name
real, intent(out) :: dels

Time step size in seconds

integer, intent(out) :: koffset

Timestep to start at

integer, intent(out) :: kend

No. of time steps in run

public subroutine cable_driver_init_plume(dels, koffset, PLUME)

Model initialisation routine (PLUME specific). PLUME experiment setup using WATCH.

Arguments

Type IntentOptional Attributes Name
real, intent(out) :: dels

Time step size in seconds

integer, intent(out) :: koffset

Timestep to start at

type(PLUME_MIP_TYPE), intent(out) :: PLUME

public subroutine cable_driver_init_cru(dels, koffset, CRU)

Model initialisation routine (CRU specific). TRENDY experiment using CRU-NCEP.

Arguments

Type IntentOptional Attributes Name
real, intent(out) :: dels

Time step size in seconds

integer, intent(out) :: koffset

Timestep to start at

type(CRU_TYPE), intent(out) :: CRU

public subroutine prepareFiles(ncciy)

Select the correct files given the year for filenames following the gswp format

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ncciy

Year to select met. forcing data.

public subroutine renameFiles(logn, inFile, ncciy, inName)

Replace the year in the filename with the value of ncciy.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: logn

Log file unit number

character(len=200), intent(inout) :: inFile
integer, intent(in) :: ncciy

Year to use in replacement in filenames

character(len=*), intent(in) :: inName

public subroutine LUCdriver(casabiome, casapool, casaflux, POP, LUC_EXPT, POPLUC, veg)

Reading LU input data, zeroing biomass in empty secondary forest tiles and tranferring LUC-based age weights for secondary forest to POP structure

Arguments

Type IntentOptional Attributes Name
type(casa_biome), intent(inout) :: casabiome
type(casa_pool), intent(inout) :: casapool
type(casa_flux), intent(inout) :: casaflux
type(POP_TYPE), intent(inout) :: POP
type(LUC_EXPT_TYPE), intent(inout) :: LUC_EXPT
type(POPLUC_TYPE), intent(inout) :: POPLUC
type(veg_parameter_type), intent(in) :: veg