|
integer | ids |
|
integer | ide |
|
integer | jds |
|
integer | jde |
|
integer | kds |
|
integer | kde |
|
integer | ims |
|
integer | ime |
|
integer | jms |
|
integer | jme |
|
integer | kms |
|
integer | kme |
|
integer | its |
|
integer | ite |
|
integer | jts |
|
integer | jte |
|
integer | kts |
|
integer | kte |
|
real, dimension(:,:), allocatable | smstav |
|
real, dimension(:,:), allocatable | sfcrunoff |
|
real, dimension(:,:), allocatable | udrunoff |
|
real, dimension(:,:), allocatable | snow |
|
real, dimension(:,:), allocatable | snowc |
|
real, dimension(:,:), allocatable | snowh |
|
real, dimension(:,:), allocatable | acsnow |
|
real, dimension(:,:), allocatable | acsnom |
|
real, dimension(:,:), allocatable | snoalb |
|
real, dimension(:,:), allocatable | qfx |
|
real, dimension(:,:), allocatable | qgh |
|
real, dimension(:,:), allocatable | gsw |
|
real, dimension(:,:), allocatable | albedo |
|
real, dimension(:,:), allocatable | albbck |
|
real, dimension(:,:), allocatable | z0 |
|
real, dimension(:,:), allocatable | xice |
|
real, dimension(:,:), allocatable | emiss |
|
real, dimension(:,:), allocatable | embck |
|
real, dimension(:,:), allocatable | qsfc |
|
real, dimension(:,:), allocatable | rainbl |
|
real, dimension(:,:), allocatable | chs |
|
real, dimension(:,:), allocatable | chs2 |
|
real, dimension(:,:), allocatable | cqs2 |
|
real, dimension(:,:), allocatable | cpm |
|
real, dimension(:,:), allocatable | sr |
|
real, dimension(:,:), allocatable | chklowq |
|
real, dimension(:,:), allocatable | lai |
|
real, dimension(:,:), allocatable | qz0 |
|
real, dimension(:,:), allocatable | vegfrac |
|
real, dimension(:,:), allocatable | shdmin |
|
real, dimension(:,:), allocatable | shdmax |
|
real, dimension(:,:), allocatable | snotime |
|
real, dimension(:,:), allocatable | snopcx |
|
real, dimension(:,:), allocatable | potevp |
|
real, dimension(:,:), allocatable | rib |
|
real, dimension(:,:), allocatable | noahres |
|
real, dimension(:,:), allocatable | flx4_2d |
|
real, dimension(:,:), allocatable | fvb_2d |
|
real, dimension(:,:), allocatable | fbur_2d |
|
real, dimension(:,:), allocatable | fgsn_2d |
|
real, dimension(:,:), allocatable | z_atm |
|
real, dimension(:,:), allocatable | lnz_atm_term |
|
real, dimension(:,:), allocatable | ri |
|
real, dimension(:,:), allocatable | base_exchange_term |
|
integer, dimension(:,:),
allocatable | rain_bucket |
|
logical | myj |
|
logical | frpcpn |
|
logical | ua_phys |
|
logical | rdlai2d |
|
logical | usemonalb |
|
real, dimension(:,:,:), allocatable | sh2o |
|
real, dimension(:,:,:), allocatable | smcrel |
|
real, dimension(:,:), allocatable | dtemp |
|
real, dimension(:,:), allocatable | lhdqv |
|
real, dimension(:,:), allocatable | windspd |
|
real, dimension(:), allocatable | zs |
|
real, dimension(:), allocatable | dzs |
|
real | xice_threshold |
|
integer, dimension(:,:),
allocatable | ivgtyp |
|
integer, dimension(:,:),
allocatable | isltyp |
|
integer | itimestep |
|
integer | update_interval |
|
integer | cur_vegmonth |
|
real, parameter | freezing_threshold =273.15 |
|
real, parameter | small_pressure =0.1 |
|
real, parameter | small_qv =1e-10 |
|
real, parameter | max_exchange_c = 0.5 |
|
real, parameter | min_exchange_c = 0.0009 |
|
character(len=maxvarlength) | mminlu |
|
logical | fndsoilw |
|
logical | fndsnowh |
|
logical | rdmaxalb |
|
integer | num_soil_layers |
|
integer | isurban |
|
integer | isice |
|
integer | iswater |
|
integer | exchange_term |
|
real *8 | last_model_time |
|
This module provides a wrapper to call various land surface models
It sets up variables specific to the LSM to be used including both history variables not currently stored in the domain level data structure, and runtime parameters
The main entry point to the code is lsm(domain,options,dt,model_time)
Call tree graph :
lsm_init->[ allocate_noah_data,
external initialization routines]
lsm->[ sat_mr,
calc_exchange_coefficient,
external LSM routines]
High level routine descriptions / purpose
lsm_init - allocates module data and initializes physics package
lsm - sets up and calls main physics package
calc_exchange_coefficient - calculates surface exchange coefficient (for Noah)
allocate_noah_data - allocate module level data for Noah LSM
apply_fluxes - apply LSM fluxes (e.g. sensible and latent heat fluxes) to atmosphere
sat_mr - calculate saturated mixing ratio (should be moved to )
Inputs: domain, options, dt, model_time
domain,options = as defined in data_structures
dt = time step (seconds)
model_time = time since beginning date (seconds)
- Author
- Ethan Gutmann (gutma.nosp@m.nn@u.nosp@m.car.e.nosp@m.du)