MONC
def_socrates_derived_fields.F90
Go to the documentation of this file.
2 
4 
5  implicit none
6 
8 
9  real(kind=default_precision) :: &
10  dt_secs ! radiation timestep in seconds. It will either be
11  ! socrates_opt%rad_int_time, or the MONC timestep
12  ! This is set in the socrates_couple, timestep_callback
13 
14  ! declare fields to use in the solar position calculation
15  real(kind=default_precision) :: &
16  default_solar_const, & ! solar constant (1365) read from config
17  scs, & ! solar constant scaling
18  sindec, & ! sin(solar declination)
19  cosz
20  ! decalre fields derived using output from
21  ! solar_position and solar_angle
22  real(kind=default_precision) :: &
23  sol_const, & ! default_solar_constant * scs
24  sec_out, & ! 1/cos(solar zenith angle)
25  fraction_lit ! fraction lit 1 or 0 probably
26  real(kind=default_precision) :: &
27  albedoin1, & ! Albedo between wavelenghs of ??
28  albedoin2 ! Albedo between wavelenghs of ??
29  real(kind=default_precision) :: &
30  srf_temperature
31 
32  ! declare density and radiation factor for heating rate calculation
33  real(default_precision), allocatable :: &
34  density_factor(:), radiation_factor(:)
35 
36  ! declare radiative heating rates (sw and lw).
37  ! This is declared as a 3D array so that the heating rates can be
38  ! stored for diagnostics or use when the radiation timestep is
39  ! longer than the model timestep.
40  ! Allocated in the initialisation callback
41  real(default_precision), allocatable :: &
42  flux_up_sw(:,:,:), & ! shortwave flux up
43  flux_down_sw(:,:,:), & ! shortwave flux down
44  flux_net_sw(:,:,:), & ! shortwave flux net
45  flux_up_lw(:,:,:), & ! longwave flux up
46  flux_down_lw(:,:,:), & ! longwave flux down
47  flux_net_lw(:,:,:), & ! longwave flux net
48  swrad_hr(:,:,:), & ! shortwave heating rate
49  lwrad_hr(:,:,:), & ! longwave heating rate
50  totrad_hr(:,:,:) ! total radiative heating rate
51 
52 
53  ! declare 2-d fields for shortwave and longwave toa and surface
54  ! fluxes(sw and lw).
55  real(default_precision), allocatable :: &
56  toa_up_longwave(:,:), & ! top-of-atmosphere longwave up
57  toa_down_shortwave(:,:), & ! top-of-atmosphere shortwave down
58  toa_up_shortwave(:,:), & ! top-of-atmosphere shortwave up
59  surface_up_longwave(:,:), & ! surface longwave up
60  surface_down_longwave(:,:), & ! surface longwave up
61  surface_down_shortwave(:,:), & ! surface shortwave down
62  surface_up_shortwave(:,:) ! surface shortwave up
63 
65 
def_socrates_derived_fields
Definition: def_socrates_derived_fields.F90:1
datadefn_mod
Contains common definitions for the data and datatypes used by MONC.
Definition: datadefn.F90:2
def_socrates_derived_fields::str_socrates_derived_fields
Definition: def_socrates_derived_fields.F90:7
datadefn_mod::default_precision
integer, parameter, public default_precision
MPI communication type which we use for the prognostic and calculation data.
Definition: datadefn.F90:17