Skip to content

Commit

Permalink
Merge pull request #1 from climbfuji/ugwd_dom
Browse files Browse the repository at this point in the history
UGWD update for open PR to gmtb/develop
  • Loading branch information
bluefinweiwei authored Aug 23, 2019
2 parents 94461c6 + 2a39566 commit eee0019
Show file tree
Hide file tree
Showing 17 changed files with 568 additions and 1,775 deletions.
1,450 changes: 12 additions & 1,438 deletions physics/GFS_GWD_generic.F90

Large diffs are not rendered by default.

208 changes: 101 additions & 107 deletions physics/cires_ugwp.F90

Large diffs are not rendered by default.

62 changes: 31 additions & 31 deletions physics/cires_ugwp_post.F90
Original file line number Diff line number Diff line change
Expand Up @@ -17,39 +17,39 @@ end subroutine cires_ugwp_post_init
!! | local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
!! |------------------|--------------------------------------------------------------------------------|------------------------------------------------------------------------|-----------|------|-----------|-----------|--------|----------|
!! | ldiag_ugwp | diag_ugwp_flag | flag for CIRES UGWP Diagnostics | flag | 0 | logical | | in | F |
!! | dtf | time_step_for_dynamics | dynamics timestep | s | 0 | real | kind_phys | none | F |
!! | dtf | time_step_for_dynamics | dynamics timestep | s | 0 | real | kind_phys | in | F |
!! | im | horizontal_loop_extent | horizontal loop extent | count | 0 | integer | | in | F |
!! | levs | vertical_dimension | number of vertical levels | count | 0 | integer | | in | F |
!! | gw_dudt | tendency_of_x_wind_due_to_ugwp | zonal wind tendency due to UGWP | m s-2 | 2 | real | kind_phys | none | F |
!! | tau_tofd | instantaneous_momentum_flux_due_to_turbulent_orographic_form_drag | momentum flux or stress due to TOFD | Pa | 2 | real | kind_phys | none | F |
!! | tau_mtb | instantaneous_momentum_flux_due_to_mountain_blocking_drag | momentum flux or stress due to mountain blocking drag | Pa | 2 | real | kind_phys | none | F |
!! | tau_ogw | instantaneous_momentum_flux_due_to_orographic_gravity_wave_drag | momentum flux or stress due to orographic gravity wave drag | Pa | 2 | real | kind_phys | none | F |
!! | tau_ngw | instantaneous_momentum_flux_due_to_nonstationary_gravity_wave | momentum flux or stress due to nonstationary gravity waves | Pa | 2 | real | kind_phys | none | F |
!! | zmtb | height_of_mountain_blocking | height of mountain blocking drag | m | 1 | real | kind_phys | none | F |
!! | zlwb | height_of_low_level_wave_breaking | height of low level wave breaking | m | 1 | real | kind_phys | none | F |
!! | zogw | height_of_launch_level_of_orographic_gravity_wave | height of launch level of orographic gravity wave | m | 1 | real | kind_phys | none | F |
!! | dudt_mtb | instantaneous_change_in_x_wind_due_to_mountain_blocking_drag | instantaneous change in x wind due to mountain blocking drag | m s-2 | 2 | real | kind_phys | none | F |
!! | dudt_ogw | instantaneous_change_in_x_wind_due_to_orographic_gravity_wave_drag | instantaneous change in x wind due to orographic gw drag | m s-2 | 2 | real | kind_phys | none | F |
!! | dudt_tms | instantaneous_change_in_x_wind_due_to_turbulent_orographic_form_drag | instantaneous change in x wind due to TOFD | m s-2 | 2 | real | kind_phys | none | F |
!! | cnvgwd | flag_convective_gravity_wave_drag | flag for conv gravity wave drag | flag | 0 | logical | | in | F |
!! | tot_zmtb | time_integral_of_height_of_mountain_blocking | time integral of height of mountain blocking drag | m | 1 | real | kind_phys | none | F |
!! | tot_zlwb | time_integral_of_height_of_low_level_wave_breaking | time integral of height of drag due to low level wave breaking | m | 1 | real | kind_phys | none | F |
!! | tot_zogw | time_integral_of_height_of_launch_level_of_orographic_gravity_wave | time integral of height of launch level of orographic gravity wave | m | 1 | real | kind_phys | none | F |
!! | tot_tofd | time_integral_of_momentum_flux_due_to_turbulent_orographic_form_drag | time integral of momentum flux due to TOFD | Pa | 2 | real | kind_phys | none | F |
!! | tot_mtb | time_integral_of_momentum_flux_due_to_mountain_blocking_drag | time integral of momentum flux due to mountain blocking drag | Pa | 2 | real | kind_phys | none | F |
!! | tot_ogw | time_integral_of_momentum_flux_due_to_orographic_gravity_wave_drag | time integral of momentum flux due to orographic gravity wave drag | Pa | 2 | real | kind_phys | none | F |
!! | tot_ngw | time_integral_of_momentum_flux_due_to_nonstationary_gravity_wave | time integral of momentum flux due to nonstationary gravity waves | Pa | 2 | real | kind_phys | none | F |
!! | du3dt_mtb | time_integral_of_change_in_x_wind_due_to_mountain_blocking_drag | time integral of change in x wind due to mountain blocking drag | m s-2 | 2 | real | kind_phys | none | F |
!! | du3dt_ogw | time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag | time integral of change in x wind due to orographic gw drag | m s-2 | 2 | real | kind_phys | none | F |
!! | du3dt_tms | time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag | time integral of change in x wind due to TOFD | m s-2 | 2 | real | kind_phys | none | F |
!! | du3dt_ngw | time_integral_of_change_in_x_wind_due_to_nonstationary_gravity_wave | time integral of change in x wind due to NGW | m s-2 | 2 | real | kind_phys | none | F |
!! | gw_dudt | tendency_of_x_wind_due_to_ugwp | zonal wind tendency due to UGWP | m s-2 | 2 | real | kind_phys | in | F |
!! | tau_tofd | instantaneous_momentum_flux_due_to_turbulent_orographic_form_drag | momentum flux or stress due to TOFD | Pa | 1 | real | kind_phys | in | F |
!! | tau_mtb | instantaneous_momentum_flux_due_to_mountain_blocking_drag | momentum flux or stress due to mountain blocking drag | Pa | 1 | real | kind_phys | in | F |
!! | tau_ogw | instantaneous_momentum_flux_due_to_orographic_gravity_wave_drag | momentum flux or stress due to orographic gravity wave drag | Pa | 1 | real | kind_phys | in | F |
!! | tau_ngw | instantaneous_momentum_flux_due_to_nonstationary_gravity_wave | momentum flux or stress due to nonstationary gravity waves | Pa | 1 | real | kind_phys | in | F |
!! | zmtb | height_of_mountain_blocking | height of mountain blocking drag | m | 1 | real | kind_phys | in | F |
!! | zlwb | height_of_low_level_wave_breaking | height of low level wave breaking | m | 1 | real | kind_phys | in | F |
!! | zogw | height_of_launch_level_of_orographic_gravity_wave | height of launch level of orographic gravity wave | m | 1 | real | kind_phys | in | F |
!! | dudt_mtb | instantaneous_change_in_x_wind_due_to_mountain_blocking_drag | instantaneous change in x wind due to mountain blocking drag | m s-2 | 2 | real | kind_phys | in | F |
!! | dudt_ogw | instantaneous_change_in_x_wind_due_to_orographic_gravity_wave_drag | instantaneous change in x wind due to orographic gw drag | m s-2 | 2 | real | kind_phys | in | F |
!! | dudt_tms | instantaneous_change_in_x_wind_due_to_turbulent_orographic_form_drag | instantaneous change in x wind due to TOFD | m s-2 | 2 | real | kind_phys | in | F |
!! | cnvgwd | flag_convective_gravity_wave_drag | flag for conv gravity wave drag | flag | 0 | logical | | inout | F |
!! | tot_zmtb | time_integral_of_height_of_mountain_blocking | time integral of height of mountain blocking drag | m | 1 | real | kind_phys | inout | F |
!! | tot_zlwb | time_integral_of_height_of_low_level_wave_breaking | time integral of height of drag due to low level wave breaking | m | 1 | real | kind_phys | inout | F |
!! | tot_zogw | time_integral_of_height_of_launch_level_of_orographic_gravity_wave | time integral of height of launch level of orographic gravity wave | m | 1 | real | kind_phys | inout | F |
!! | tot_tofd | time_integral_of_momentum_flux_due_to_turbulent_orographic_form_drag | time integral of momentum flux due to TOFD | Pa | 1 | real | kind_phys | inout | F |
!! | tot_mtb | time_integral_of_momentum_flux_due_to_mountain_blocking_drag | time integral of momentum flux due to mountain blocking drag | Pa | 1 | real | kind_phys | inout | F |
!! | tot_ogw | time_integral_of_momentum_flux_due_to_orographic_gravity_wave_drag | time integral of momentum flux due to orographic gravity wave drag | Pa | 1 | real | kind_phys | inout | F |
!! | tot_ngw | time_integral_of_momentum_flux_due_to_nonstationary_gravity_wave | time integral of momentum flux due to nonstationary gravity waves | Pa | 1 | real | kind_phys | inout | F |
!! | du3dt_mtb | time_integral_of_change_in_x_wind_due_to_mountain_blocking_drag | time integral of change in x wind due to mountain blocking drag | m s-2 | 2 | real | kind_phys | inout | F |
!! | du3dt_ogw | time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag | time integral of change in x wind due to orographic gw drag | m s-2 | 2 | real | kind_phys | inout | F |
!! | du3dt_tms | time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag | time integral of change in x wind due to TOFD | m s-2 | 2 | real | kind_phys | inout | F |
!! | du3dt_ngw | time_integral_of_change_in_x_wind_due_to_nonstationary_gravity_wave | time integral of change in x wind due to NGW | m s-2 | 2 | real | kind_phys | inout | F |
!! | errmsg | ccpp_error_message | error message for error handling in CCPP | none | 0 | character | len=* | out | F |
!! | errflg | ccpp_error_flag | error flag for error handling in CCPP | flag | 0 | integer | | out | F |
!!
#endif


subroutine cires_ugwp_post_run (ldiag_ugwp, dtf, im, levs, &
subroutine cires_ugwp_post_run (ldiag_ugwp, dtf, im, levs, &
gw_dudt, tau_tofd, tau_mtb, tau_ogw, tau_ngw, &
zmtb, zlwb, zogw, dudt_mtb, dudt_ogw, dudt_tms, &
tot_zmtb, tot_zlwb, tot_zogw, &
Expand All @@ -67,12 +67,12 @@ subroutine cires_ugwp_post_run (ldiag_ugwp, dtf, im, levs, &
logical, intent(in) :: ldiag_ugwp !< flag for CIRES UGWP Diagnostics
logical, intent(inout) :: cnvgwd !< flag to turn on/off convective gwd

real(kind=kind_phys), intent(in), dimension(im) :: zmtb, zlwb, zogw
real(kind=kind_phys), intent(in), dimension(im) :: tau_mtb, tau_ogw, tau_tofd, tau_ngw
real(kind=kind_phys), intent(out), dimension(im) :: tot_mtb, tot_ogw, tot_tofd, tot_ngw
real(kind=kind_phys), intent(out), dimension(im) :: tot_zmtb, tot_zlwb, tot_zogw
real(kind=kind_phys), intent(in), dimension(im, levs) :: gw_dudt, dudt_mtb, dudt_ogw, dudt_tms
real(kind=kind_phys), intent(out), dimension(im, levs) :: du3dt_mtb, du3dt_ogw, du3dt_tms, du3dt_ngw
real(kind=kind_phys), intent(in), dimension(im) :: zmtb, zlwb, zogw
real(kind=kind_phys), intent(in), dimension(im) :: tau_mtb, tau_ogw, tau_tofd, tau_ngw
real(kind=kind_phys), intent(inout), dimension(im) :: tot_mtb, tot_ogw, tot_tofd, tot_ngw
real(kind=kind_phys), intent(inout), dimension(im) :: tot_zmtb, tot_zlwb, tot_zogw
real(kind=kind_phys), intent(in), dimension(im, levs) :: gw_dudt, dudt_mtb, dudt_ogw, dudt_tms
real(kind=kind_phys), intent(inout), dimension(im, levs) :: du3dt_mtb, du3dt_ogw, du3dt_tms, du3dt_ngw

character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
Expand Down
6 changes: 5 additions & 1 deletion physics/cs_conv.F90
Original file line number Diff line number Diff line change
Expand Up @@ -423,9 +423,13 @@ subroutine cs_conv_run(IM , IJSDIM , KMAX , ntracp1 , NN, &
real(r8), intent(inout), dimension(IJSDIM,KMAX) :: ud_mf, dd_mf, dt_mf

real(r8), intent(out) :: rain1(IJSDIM) ! lwe thickness of deep convective precipitation amount (m)
real(r8), intent(out), dimension(ijsdim,kmax) :: qlcn, qicn, w_upi,cnv_mfd, &
! GJF* These variables are conditionally allocated depending on whether the
! Morrison-Gettelman microphysics is used, so they must be declared
! using assumed shape.
real(r8), intent(out), dimension(:,:) :: qlcn, qicn, w_upi,cnv_mfd, &
cnv_dqldt, clcn, cnv_fice, &
cnv_ndrop, cnv_nice, cf_upi
! *GJF
integer, intent(inout) :: kcnv(im) ! zero if no deep convection and 1 otherwise
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
Expand Down
8 changes: 5 additions & 3 deletions physics/docs/ccpplatex_dox
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = YES
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING = .f=FortranFree \
EXTENSION_MAPPING = .F=FortranFree \
.f=FortranFree \
.F90=FortranFree \
.f90=FortranFree
MARKDOWN_SUPPORT = YES
Expand Down Expand Up @@ -175,7 +176,8 @@ INPUT = pdftxt/mainpage.txt \
../funcphys.f90 \
../physparam.f \
../physcons.f90 \
../radcons.f90
../radcons.f90 \
../machine.F

INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.f \
Expand All @@ -187,7 +189,7 @@ EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATH = .
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH = img
Expand Down
2 changes: 1 addition & 1 deletion physics/docs/pdftxt/CPT_adv_suite.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ The advanced csawmg physics suite uses the parameterizations in the following or
<scheme>GFS_PBL_generic_pre</scheme>
<scheme>hedmf</scheme>
<scheme>GFS_PBL_generic_post</scheme>
<scheme>gwdps_pre</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>gwdps</scheme>
<scheme>gwdps_post</scheme>
<scheme>rayleigh_damp</scheme>
Expand Down
2 changes: 1 addition & 1 deletion physics/docs/pdftxt/GFSv14_suite.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ The GFS v14 suite uses the parameterizations in the following order, as defined
<scheme>GFS_PBL_generic_pre</scheme>
<scheme>hedmf</scheme>
<scheme>GFS_PBL_generic_post</scheme>
<scheme>gwdps_pre</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>gwdps</scheme>
<scheme>gwdps_post</scheme>
<scheme>rayleigh_damp</scheme>
Expand Down
2 changes: 1 addition & 1 deletion physics/docs/pdftxt/GFSv15_suite.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ The GFS v15 suite uses the parameterizations in the following order, as defined
<scheme>GFS_PBL_generic_pre</scheme>
<scheme>hedmf</scheme>
<scheme>GFS_PBL_generic_post</scheme>
<scheme>gwdps_pre</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>gwdps</scheme>
<scheme>gwdps_post</scheme>
<scheme>rayleigh_damp</scheme>
Expand Down
2 changes: 1 addition & 1 deletion physics/docs/pdftxt/GFSv15_suite_TKEEDMF.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ The GFS v15plus suite uses the parameterizations in the following order, as defi
<scheme>GFS_PBL_generic_pre</scheme>
<scheme>satmedmfvdif</scheme>
<scheme>GFS_PBL_generic_post</scheme>
<scheme>gwdps_pre</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>gwdps</scheme>
<scheme>gwdps_post</scheme>
<scheme>rayleigh_damp</scheme>
Expand Down
2 changes: 1 addition & 1 deletion physics/docs/pdftxt/GSD_adv_suite.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ The GSD RAP/HRRR physics suite uses the parameterizations in the following order
<scheme>sfc_diag_post</scheme>
<scheme>GFS_surface_generic_post</scheme>
<scheme>mynnedmf_wrapper</scheme>
<scheme>gwdps_pre</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>gwdps</scheme>
<scheme>gwdps_post</scheme>
<scheme>rayleigh_damp</scheme>
Expand Down
Loading

0 comments on commit eee0019

Please sign in to comment.