The Intermediate Complexity Atmospheric Research model (ICAR)
A computationally efficient atmospheric model for downscaling.
|
This module provides a wrapper to call various land surface models More...
Public Member Functions | |
subroutine, public | lsm_init (domain, options) |
subroutine, public | lsm (domain, options, dt, model_time) |
Private Member Functions | |
real function | sat_mr (t, p) |
subroutine | calc_exchange_coefficient (wind, tskin, airt, exchange_C) |
subroutine | f2_formula (F2, z_atm, zo, Ri) |
subroutine | calc_mahrt_holtslag_exchange_coefficient (wind, tskin, airt, znt, exchange_C) |
subroutine | surface_diagnostics (HFX, QFX, TSK, QSFC, CHS2, CQS2, T2, Q2, PSFC) |
subroutine | apply_fluxes (domain, dt) |
subroutine | allocate_noah_data (ime, jme, kme, num_soil_layers) |
Private Attributes | |
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)
|
private |
|
private |
|
private |
|
private |
|
private |
subroutine, public land_surface::lsm | ( | type(domain_type), intent(inout) | domain, |
type(options_type), intent(in) | options, | ||
real, intent(in) | dt, | ||
double precision, intent(in) | model_time | ||
) |
subroutine, public land_surface::lsm_init | ( | type(domain_type), intent(inout) | domain, |
type(options_type), intent(in) | options | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |