INTERFACE:
module temperatureDESCRIPTION:
In this module, the temperature equation is processed by reading in the namelist temp and initialising the temperature field (this is done in init_temperature), and calculating the advection-diffusion-equation, which includes penetrating short-wave radiation as source term (see do_temperature). USES:
use exceptions use domain, only: imin,jmin,imax,kmax,jmax,H,az,dry_z use domain, only: ill,ihl,jll,jhl use domain, only: ilg,ihg,jlg,jhg KB use get_field, only: get_3d_field use variables_3d, only: rk,T,rad,hn,kmin,A,g1,g2 use halo_zones, only: update_3d_halo,wait_halo,D_TAG,H_TAG IMPLICIT NONE privatePUBLIC DATA MEMBERS:
public init_temperature, do_temperature, init_temperature_field !PRIVATE DATA MEMBERS: integer :: temp_method=1,temp_format=2 character(len=PATH_MAX) :: temp_file="t_and_s.nc" integer :: temp_field_no=1 character(len=32) :: temp_name='temp' REALTYPE :: temp_const=20. integer :: temp_adv_split=0 integer :: temp_adv_hor=1 integer :: temp_adv_ver=1 REALTYPE :: temp_AH=-_ONE_ integer :: attenuation_method=0,jerlov=1 character(len=PATH_MAX) :: attenuation_file="attenuation.nc" integer :: ncid=-1,A_id,g1_id,g2_id integer, allocatable :: varids(:) character(len=50), allocatable :: varnames(:) integer :: old_month=-1 REALTYPE :: A_const=0.58,g1_const=0.35,g2_const=23.0 REALTYPE :: swr_bot_refl_frac=-_ONE_ REALTYPE :: swr_min_bot_frac=0.01 integer :: temp_check=0 REALTYPE :: min_temp=-2.,max_temp=35.REVISION HISTORY:
Original author(s): Karsten Bolding & Hans Burchard