Skip to content

Commit

Permalink
Merge pull request #4 from climbfuji/thompson_init_update
Browse files Browse the repository at this point in the history
Thompson init update
  • Loading branch information
DomHeinzeller authored Jan 6, 2020
2 parents 32e245a + 6dcc757 commit 4eaa560
Show file tree
Hide file tree
Showing 7 changed files with 513 additions and 492 deletions.
2 changes: 1 addition & 1 deletion physics/GFS_rrtmg_pre.F90
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input

elseif(Model%imp_physics == 8 .or. Model%imp_physics == 6 .or. &
Model%imp_physics == 15) then
if (Model%kdt == 1) then
if (Model%kdt == 1 .and. .not.Model%imp_physics == 8) then
Tbd%phy_f3d(:,:,Model%nleffr) = 10.
Tbd%phy_f3d(:,:,Model%nieffr) = 50.
Tbd%phy_f3d(:,:,Model%nseffr) = 250.
Expand Down
2 changes: 1 addition & 1 deletion physics/module_mp_thompson.F90
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ MODULE module_mp_thompson
!.. scheme. In 2-moment cloud water, Nt_c represents a maximum of
!.. droplet concentration and nu_c is also variable depending on local
!.. droplet number concentration.
REAL, PARAMETER, PRIVATE:: Nt_c = 100.E6
REAL, PARAMETER :: Nt_c = 100.E6
REAL, PARAMETER, PRIVATE:: Nt_c_max = 1999.E6

!..Declaration of constants for assumed CCN/IN aerosols when none in
Expand Down
368 changes: 324 additions & 44 deletions physics/mp_thompson.F90

Large diffs are not rendered by default.

200 changes: 185 additions & 15 deletions physics/mp_thompson.meta
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,112 @@
type = integer
intent = in
optional = F
[con_g]
standard_name = gravitational_acceleration
long_name = gravitational acceleration
units = m s-2
dimensions = ()
type = real
kind = kind_phys
intent = in
optional = F
[con_rd]
standard_name = gas_constant_dry_air
long_name = ideal gas constant for dry air
units = J kg-1 K-1
dimensions = ()
type = real
kind = kind_phys
intent = in
optional = F
[imp_physics]
standard_name = flag_for_microphysics_scheme
long_name = choice of microphysics scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[imp_physics_thompson]
standard_name = flag_for_thompson_microphysics_scheme
long_name = choice of Thompson microphysics scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[spechum]
standard_name = water_vapor_specific_humidity
long_name = water vapor specific humidity
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[qc]
standard_name = cloud_condensed_water_mixing_ratio
long_name = cloud water mixing ratio wrt dry+vapor (no condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[qr]
standard_name = rain_water_mixing_ratio
long_name = rain water mixing ratio wrt dry+vapor (no condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[qi]
standard_name = ice_water_mixing_ratio
long_name = ice water mixing ratio wrt dry+vapor (no condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[qs]
standard_name = snow_water_mixing_ratio
long_name = snow water mixing ratio wrt dry+vapor (no condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[qg]
standard_name = graupel_mixing_ratio
long_name = graupel mixing ratio wrt dry+vapor (no condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[ni]
standard_name = ice_number_concentration
long_name = ice number concentration
units = kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[nr]
standard_name = rain_number_concentration
long_name = rain number concentration
units = kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[is_aerosol_aware]
standard_name = flag_for_aerosol_physics
long_name = flag for aerosol-aware physics
Expand All @@ -25,6 +131,15 @@
type = logical
intent = in
optional = F
[nc]
standard_name = cloud_droplet_number_concentration
long_name = cloud droplet number concentration
units = kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = T
[nwfa2d]
standard_name = tendency_of_water_friendly_aerosols_at_surface
long_name = instantaneous fake water-friendly surface aerosol source
Expand Down Expand Up @@ -61,6 +176,69 @@
kind = kind_phys
intent = inout
optional = T
[tgrs]
standard_name = air_temperature
long_name = model layer mean temperature
units = K
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[prsl]
standard_name = air_pressure
long_name = mean layer pressure
units = Pa
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[phil]
standard_name = geopotential
long_name = geopotential at model layer centers
units = m2 s-2
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[area]
standard_name = cell_area
long_name = area of the grid cell
units = m2
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[re_cloud]
standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um
long_name = eff. radius of cloud liquid water particle in micrometer (meter here)
units = m
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
optional = T
[re_ice]
standard_name = effective_radius_of_stratiform_cloud_ice_particle_in_um
long_name = eff. radius of cloud ice water particle in micrometer (meter here)
units = m
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
optional = T
[re_snow]
standard_name = effective_radius_of_stratiform_cloud_snow_particle_in_um
long_name = effective radius of cloud snow particle in micrometer (meter here)
units = m
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
optional = T
[mpicomm]
standard_name = mpi_comm
long_name = MPI communicator
Expand Down Expand Up @@ -93,18 +271,10 @@
type = integer
intent = in
optional = F
[imp_physics]
standard_name = flag_for_microphysics_scheme
long_name = choice of microphysics scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[imp_physics_thompson]
standard_name = flag_for_thompson_microphysics_scheme
long_name = choice of Thompson microphysics scheme
units = flag
[blkno]
standard_name = ccpp_block_number
long_name = for explicit data blocking: block number of this block
units = index
dimensions = ()
type = integer
intent = in
Expand Down Expand Up @@ -414,7 +584,7 @@
type = real
kind = kind_phys
intent = out
optional = F
optional = T
[re_ice]
standard_name = effective_radius_of_stratiform_cloud_ice_particle_in_um
long_name = eff. radius of cloud ice water particle in micrometer (meter here)
Expand All @@ -423,7 +593,7 @@
type = real
kind = kind_phys
intent = out
optional = F
optional = T
[re_snow]
standard_name = effective_radius_of_stratiform_cloud_snow_particle_in_um
long_name = effective radius of cloud snow particle in micrometer (meter here)
Expand All @@ -432,7 +602,7 @@
type = real
kind = kind_phys
intent = out
optional = F
optional = T
[mpicomm]
standard_name = mpi_comm
long_name = MPI communicator
Expand Down
6 changes: 0 additions & 6 deletions physics/mp_thompson_post.F90
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ module mp_thompson_post

contains

#if 0
!! \section arg_table_mp_thompson_post_init Argument Table
!! \htmlinclude mp_thompson_post_init.html
!!
#endif
subroutine mp_thompson_post_init(ncol, ttendlim, errmsg, errflg)

implicit none
Expand Down Expand Up @@ -61,11 +59,9 @@ subroutine mp_thompson_post_init(ncol, ttendlim, errmsg, errflg)

end subroutine mp_thompson_post_init

#if 0
!! \section arg_table_mp_thompson_post_run Argument Table
!! \htmlinclude mp_thompson_post_run.html
!!
#endif
subroutine mp_thompson_post_run(ncol, nlev, tgrs_save, tgrs, prslk, dtp, &
kdt, mpicomm, mpirank, mpiroot, errmsg, errflg)

Expand Down Expand Up @@ -132,11 +128,9 @@ subroutine mp_thompson_post_run(ncol, nlev, tgrs_save, tgrs, prslk, dtp, &

end subroutine mp_thompson_post_run

#if 0
!! \section arg_table_mp_thompson_post_finalize Argument Table
!! \htmlinclude mp_thompson_post_finalize.html
!!
#endif
subroutine mp_thompson_post_finalize(errmsg, errflg)

implicit none
Expand Down
Loading

0 comments on commit 4eaa560

Please sign in to comment.