cable_driver_common_mod Module

Module for CABLE offline driver common routines.


Uses

  • module~~cable_driver_common_mod~~UsesGraph module~cable_driver_common_mod cable_driver_common_mod module~cable_common_module cable_common_module module~cable_driver_common_mod->module~cable_common_module module~cable_cru CABLE_CRU module~cable_driver_common_mod->module~cable_cru module~cable_input_module cable_input_module module~cable_driver_common_mod->module~cable_input_module module~cable_io_vars_module cable_IO_vars_module module~cable_driver_common_mod->module~cable_io_vars_module module~cable_mpi_mod cable_mpi_mod module~cable_driver_common_mod->module~cable_mpi_mod module~cable_namelist_util cable_namelist_util module~cable_driver_common_mod->module~cable_namelist_util module~cable_phys_constants_mod cable_phys_constants_mod module~cable_driver_common_mod->module~cable_phys_constants_mod module~cable_plume_mip CABLE_PLUME_MIP module~cable_driver_common_mod->module~cable_plume_mip module~cable_site CABLE_site module~cable_driver_common_mod->module~cable_site module~casadimension casadimension module~cable_driver_common_mod->module~casadimension module~casavariable casavariable module~cable_driver_common_mod->module~casavariable module~cable_runtime_opts_mod cable_runtime_opts_mod module~cable_common_module->module~cable_runtime_opts_mod module~cable_cru->module~cable_io_vars_module module~casa_ncdf_module casa_ncdf_module module~cable_cru->module~casa_ncdf_module netcdf netcdf module~cable_cru->netcdf module~cable_input_module->module~cable_common_module module~cable_input_module->module~cable_io_vars_module module~cable_input_module->module~casadimension module~cable_input_module->module~casavariable module~cable_abort_module cable_abort_module module~cable_input_module->module~cable_abort_module module~cable_checks_module cable_checks_module module~cable_input_module->module~cable_checks_module module~cable_def_types_mod cable_def_types_mod module~cable_input_module->module~cable_def_types_mod module~cable_init_module cable_init_module module~cable_input_module->module~cable_init_module module~cable_param_module cable_param_module module~cable_input_module->module~cable_param_module module~cable_read_module cable_read_module module~cable_input_module->module~cable_read_module module~casa_inout_module casa_inout_module module~cable_input_module->module~casa_inout_module module~cable_input_module->module~casa_ncdf_module module~casa_readbiome_module casa_readbiome_module module~cable_input_module->module~casa_readbiome_module module~casaparm casaparm module~cable_input_module->module~casaparm module~cbl_sinbet_mod cbl_sinbet_mod module~cable_input_module->module~cbl_sinbet_mod module~phenvariable phenvariable module~cable_input_module->module~phenvariable module~pop_types POP_Types module~cable_input_module->module~pop_types module~popluc_types POPLUC_Types module~cable_input_module->module~popluc_types module~cable_input_module->netcdf module~cable_io_vars_module->module~cable_def_types_mod iso_fortran_env iso_fortran_env module~cable_mpi_mod->iso_fortran_env mpi mpi module~cable_mpi_mod->mpi module~cable_plume_mip->module~cable_common_module module~cable_plume_mip->module~cable_io_vars_module module~cable_plume_mip->module~casa_ncdf_module module~cable_plume_mip->netcdf module~cable_site->module~cable_common_module module~cable_site->module~cable_io_vars_module module~cable_site->module~casa_ncdf_module module~casadimension->module~cable_def_types_mod module~casavariable->module~casadimension module~cable_abort_module->module~cable_io_vars_module module~cable_checks_module->module~cable_common_module module~cable_checks_module->module~cable_io_vars_module module~cable_checks_module->module~cable_abort_module module~cable_checks_module->module~cable_def_types_mod module~cable_climate_type_mod cable_climate_type_mod module~cable_def_types_mod->module~cable_climate_type_mod module~cable_init_module->module~cable_common_module module~cable_init_module->module~cable_io_vars_module module~cable_init_module->module~cable_abort_module module~cable_init_module->module~cable_def_types_mod module~cable_init_module->module~cable_read_module module~cable_init_module->netcdf module~cable_param_module->module~cable_common_module module~cable_param_module->module~cable_io_vars_module module~cable_param_module->module~casadimension module~cable_param_module->module~casavariable module~cable_param_module->module~cable_abort_module module~cable_param_module->module~cable_def_types_mod module~cable_param_module->module~phenvariable module~cable_luc_expt CABLE_LUC_EXPT module~cable_param_module->module~cable_luc_expt module~cable_pft_params_mod cable_pft_params_mod module~cable_param_module->module~cable_pft_params_mod module~cable_soil_params_mod cable_soil_params_mod module~cable_param_module->module~cable_soil_params_mod module~cable_read_module->module~cable_io_vars_module module~cable_read_module->module~cable_abort_module module~cable_read_module->module~cable_def_types_mod module~cable_read_module->netcdf module~casa_inout_module->module~casavariable module~casaparm->module~casadimension module~phenvariable->module~casadimension module~pop_constants POP_Constants module~pop_types->module~pop_constants module~typedef TypeDef module~pop_types->module~typedef module~popluc_constants POPLUC_CONSTANTS module~popluc_types->module~popluc_constants module~popluc_types->module~typedef module~cable_luc_expt->module~cable_common_module module~cable_luc_expt->module~cable_io_vars_module module~cable_luc_expt->module~cable_def_types_mod module~cable_luc_expt->module~casa_ncdf_module module~cable_luc_expt->netcdf module~grid_constants_mod_cbl grid_constants_mod_cbl module~cable_pft_params_mod->module~grid_constants_mod_cbl module~cable_soil_params_mod->module~grid_constants_mod_cbl module~pop_constants->module~typedef module~popluc_constants->module~typedef

Used by

  • module~~cable_driver_common_mod~~UsedByGraph module~cable_driver_common_mod cable_driver_common_mod module~cable_mpimaster~2 cable_mpimaster module~cable_mpimaster~2->module~cable_driver_common_mod module~cable_mpiworker~2 cable_mpiworker module~cable_mpiworker~2->module~cable_driver_common_mod module~cable_serial cable_serial module~cable_serial->module~cable_driver_common_mod program~cable_offline_driver cable_offline_driver program~cable_offline_driver->module~cable_driver_common_mod program~cable_offline_driver->module~cable_serial

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