Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata #431

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
984c430
Add additional diagnostic arrays for radiation-microphysics development
climbfuji Nov 19, 2021
6c961cc
Bug fixes for WAM model runs with levr < levs
climbfuji Nov 23, 2021
d3ab491
Update submodule pointer for ccpp-physocs
climbfuji Nov 23, 2021
086f326
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji Nov 23, 2021
cad85e6
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into rad…
climbfuji Nov 29, 2021
4cb7110
Update submodule pointer for ccpp-physics
climbfuji Nov 29, 2021
edce3d6
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into rad…
climbfuji Dec 6, 2021
6bc920d
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji Dec 6, 2021
5da45f5
Merge branch 'rad_mp_diag_vars' of https://github.com/climbfuji/fv3at…
climbfuji Dec 6, 2021
6163991
Change output names of new radiation diagnostic variables in ccpp/dri…
climbfuji Dec 6, 2021
8d5a15a
Merge branch 'rad_mp_diag_vars' of https://github.com/climbfuji/fv3at…
climbfuji Dec 6, 2021
7165cd0
Update submodule pointer for ccpp-physics
climbfuji Dec 7, 2021
e709caf
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into rad…
climbfuji Dec 9, 2021
fbd7b52
Update submodule pointer for ccpp-physics
climbfuji Dec 9, 2021
c033555
Update submodule pointer for ccpp-physics
climbfuji Dec 10, 2021
8e4866b
Fix ccpp-physics branch name in .gitmodules
climbfuji Dec 10, 2021
4e5639f
Fix .gitmodules one more time
climbfuji Dec 10, 2021
b10942f
Update submodule pointer for ccpp-physics
climbfuji Dec 10, 2021
f34aa31
Merge branch 'rad_mp_diag_vars' of https://github.com/climbfuji/fv3at…
climbfuji Dec 10, 2021
2fa9b76
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into rad…
climbfuji Dec 22, 2021
e961f38
Update submodule pointer for ccpp-physics
climbfuji Dec 22, 2021
33d41af
Update submodule pointer for ccpp-physics
climbfuji Dec 22, 2021
af11409
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into rad…
climbfuji Dec 29, 2021
1662926
Update submodule pointer fr ccpp-physics
climbfuji Dec 29, 2021
fc17228
Revert .gitmodules and update submodule pointer for ccpp-physics
climbfuji Dec 30, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ccpp/data/CCPP_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ subroutine interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd, jed
! For multi-gases physics
integer, intent(in) :: nwat
integer, intent(in), optional :: ngas
real(kind_dyn), intent(in), optional :: rilist(:)
real(kind_dyn), intent(in), optional :: cpilist(:)
real(kind_dyn), intent(in), optional :: rilist(0:)
real(kind_dyn), intent(in), optional :: cpilist(0:)
integer, intent(in) :: mpirank
integer, intent(in) :: mpiroot
!
Expand Down
7 changes: 5 additions & 2 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -3897,6 +3897,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &

if (levr < 0) then
Model%levr = levs
else if (levr > levs) then
write(0,*) "Logic error, number of radiatiton levels (levr) cannot exceed number of model levels (levs)"
stop
else
Model%levr = levr
endif
Expand Down Expand Up @@ -4783,12 +4786,12 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%restart = restart
Model%hydrostatic = hydrostatic
Model%jdat(1:8) = jdat(1:8)
allocate(Model%si(Model%levr+1))
allocate(Model%si(Model%levs+1))
!--- Define sigma level for radiation initialization
!--- The formula converting hybrid sigma pressure coefficients to sigma coefficients follows Eckermann (2009, MWR)
!--- ps is replaced with p0. The value of p0 uses that in http://www.emc.ncep.noaa.gov/officenotes/newernotes/on461.pdf
!--- ak/bk have been flipped from their original FV3 orientation and are defined sfc -> toa
Model%si = (ak + bk * con_p0 - ak(Model%levr+1)) / (con_p0 - ak(Model%levr+1))
Model%si(1:Model%levs+1) = (ak(1:Model%levs+1) + bk(1:Model%levs+1) * con_p0 - ak(Model%levs+1)) / (con_p0 - ak(Model%levs+1))
Model%sec = 0
Model%yearlen = 365
Model%julian = -9999.
Expand Down
6 changes: 3 additions & 3 deletions ccpp/data/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -2519,13 +2519,13 @@
standard_name = sigma_pressure_hybrid_coordinate_a_coefficient
long_name = a parameter for sigma pressure level calculations
units = Pa
dimensions = (vertical_interface_dimension_for_radiation)
dimensions = (vertical_interface_dimension)
type = real
[bk]
standard_name = sigma_pressure_hybrid_coordinate_b_coefficient
long_name = b parameter for sigma pressure level calculations
units = none
dimensions = (vertical_interface_dimension_for_radiation)
dimensions = (vertical_interface_dimension)
Copy link
Collaborator

@junwang-noaa junwang-noaa Dec 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this change still work if the atmos radiation radiation only goes up to levr in wam configuration?

type = real
[levsp1]
standard_name = vertical_interface_dimension
Expand Down Expand Up @@ -5228,7 +5228,7 @@
standard_name = sigma_pressure_hybrid_vertical_coordinate
long_name = vertical sigma coordinate for radiation initialization
units = none
dimensions = (vertical_interface_dimension_for_radiation)
dimensions = (vertical_interface_dimension)
type = real
kind = kind_phys
[dxinv]
Expand Down