landuse_variable
module (landuse3.F90)This MODULE applies land-use changes for CABLE.
This includes:
All variables in the CABLE restart file and the state variables will be calculated.
There are three groups of landuse_mland
member variables. For example,
let's say we have a variable named var
, then:
luc%var_x(mland,mvmax)
contains data before land-use change,
indexed on the number of land points (mland
) and the maximum number of
plant functional types (mvmax
).luc%var_y(mland,mvmax)
contains data after land-use change, indexed
on the number of land points (mland
) and the maximum number of
plant functional types (mvmax
).lucmp%var(mp)
contains the variable data, indexed on the number of
vegetation patches (mp
).The land-use change for each variable is applied in the form of a
transformation matrix T
, such that:
The procedure for applying a land-use transition is:
var
from CABLE into a landuse_mland
member
variable luc%var_x
.luc%var_x
into luc%var_y
mp
and write luc%var_y
to lucmp%var
WARNING:
CONTAINS
clause of this module.Variables indexed along land points and vegetation type
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | iveg_x | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | isoil_x | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | soilorder_x | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | phase_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | phen_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | aphen_x | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | doyphase3_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | frac_sapwood_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | sapwood_area_x | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | isflag_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | patchfrac_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | lai_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | sla_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | albsoilsn_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | albedo_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | albsoil_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | dgdtg_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | gammzz_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | tgg_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | wb_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | wbice_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | tggsn_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | ssdn_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | smass_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | sdepth_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | tss_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | rtsoil_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | runoff_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | rnof1_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | rnof2_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ssdnn_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | snowd_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | snage_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | osnowd_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | cansto_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ghflux_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | sghflux_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ga_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | fev_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | fes_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | fhs_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | wbtot0_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | osnowd0_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | trad_x | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | GWwb_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | cplantx_x | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | csoilx_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | clabile_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | cplant_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | clitter_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | csoil_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | cwoodprod_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nplant_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nlitter_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nsoil_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nsoilmin_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nwoodprod_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | pplant_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | plitter_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | psoil_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | psoillab_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | psoilsorb_x | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | psoilocc_x | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | pwoodprod_x | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | iveg_y | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | isoil_y | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | soilorder_y | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | phase_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | phen_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | aphen_y | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | doyphase3_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | frac_sapwood_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | sapwood_area_y | |||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | isflag_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | patchfrac_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | lai_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | sla_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | albsoilsn_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | albedo_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | albsoil_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | dgdtg_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | gammzz_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | tgg_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | wb_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | wbice_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | tggsn_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | ssdn_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | smass_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | sdepth_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | tss_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | rtsoil_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | runoff_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | rnof1_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | rnof2_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ssdnn_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | snowd_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | snage_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | osnowd_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | cansto_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ghflux_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | sghflux_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ga_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | fev_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | fes_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | fhs_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | wbtot0_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | osnowd0_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | trad_y | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | GWwb_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | cplantx_y | |||
real(kind=r_2), | public, | dimension(:,:,:), allocatable | :: | csoilx_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | clabile_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | cplant_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | clitter_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | csoil_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | cwoodprod_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nplant_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nlitter_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nsoil_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nsoilmin_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | nwoodprod_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | pplant_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | plitter_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | psoil_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | psoillab_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | psoilsorb_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | psoilocc_y | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | pwoodprod_y | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | pftfrac | |||
real(kind=r_2), | public, | DIMENSION(:,:), ALLOCATABLE | :: | fharvw | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | xluh2cable | |||
real(kind=r_2), | public, | DIMENSION(:,:,:), ALLOCATABLE | :: | atransit |
Variables indexed along the vegetation patches.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | dimension(:), allocatable | :: | iveg | |||
integer, | public, | dimension(:), allocatable | :: | isoil | |||
integer, | public, | dimension(:), allocatable | :: | soilorder | |||
integer, | public, | dimension(:), allocatable | :: | phase | |||
integer, | public, | dimension(:), allocatable | :: | isflag | |||
integer, | public, | dimension(:), allocatable | :: | doyphase3 | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | lat | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | lon | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | phen | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | aphen | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | frac_sapwood | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | sapwood_area | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | patchfrac | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | areacell | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | lai | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | sla | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | albsoilsn | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | albedo | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | albsoil | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | dgdtg | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | gammzz | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | tgg | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | wb | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | wbice | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | tggsn | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | ssdn | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | smass | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | sdepth | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | tss | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | rtsoil | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | runoff | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | rnof1 | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | rnof2 | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | ssdnn | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | snowd | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | snage | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | osnowd | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | cansto | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | ghflux | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | sghflux | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | ga | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | fev | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | fes | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | fhs | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | wbtot0 | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | osnowd0 | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | trad | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | GWwb | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | cplantx | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | csoilx | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | sumcbal | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | sumnbal | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | sumpbal | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | clabile | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | nsoilmin | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | psoillab | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | psoilsorb | |||
real(kind=r_2), | public, | dimension(:), allocatable | :: | psoilocc | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | cplant | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | nplant | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | pplant | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | clitter | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | nlitter | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | plitter | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | csoil | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | nsoil | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | psoil | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | cwoodprod | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | nwoodprod | |||
real(kind=r_2), | public, | dimension(:,:), allocatable | :: | pwoodprod |
Allocates the luc%%var(imland,mvmax)
variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | imland | ||||
type(landuse_mland), | intent(inout) | :: | luc |
Deallocates the luc%var(mland,mvmax)
variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(landuse_mland), | intent(inout) | :: | luc |
Allocates the luc%var(mp)
variables.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | mpx | ||||
integer | :: | ms | ||||
integer | :: | msn | ||||
integer | :: | nrb | ||||
integer | :: | mplant | ||||
integer | :: | mlitter | ||||
integer | :: | msoil | ||||
integer | :: | mwood | ||||
integer | :: | ncp | ||||
integer | :: | ncs | ||||
type(landuse_mp), | intent(inout) | :: | lucmp |
Deallocates the luc%var(mp)
variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | mpx | ||||
integer | :: | ms | ||||
integer | :: | msn | ||||
integer | :: | nrb | ||||
integer | :: | mplant | ||||
integer | :: | mlitter | ||||
integer | :: | msoil | ||||
integer | :: | mwood | ||||
type(landuse_mp), | intent(inout) | :: | lucmp |