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

CCPP-compliant cnvc90 and initial version of HRRR Thompson MP #82

Closed
wants to merge 7 commits into from
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,9 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel")
./physics/module_nst_water_prop.f90
./physics/aer_cloud.F
./physics/wv_saturation.F
./physics/cldwat2m_micro.F
./physics/cldwat2m_micro.F
./physics/module_mp_thompson_hrrr_radar.F90
./physics/module_mp_thompson_hrrr.F90
PROPERTIES COMPILE_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -ftz")
else (PROJECT STREQUAL "CCPP-FV3")
SET_SOURCE_FILES_PROPERTIES(./physics/module_bfmicrophysics.f ./physics/rascnvv2.f ./physics/sflx.f ./physics/sfc_diff.f ./physics/sfc_diag.f PROPERTIES COMPILE_FLAGS -r8)
Expand Down
20 changes: 10 additions & 10 deletions GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -197,15 +197,15 @@ module GFS_typedefs
! prognostic state or tendencies after physical parameterizations
!------------------------------------------------------------------
!! \section arg_table_GFS_stateout_type
!! | local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
!! |-------------------------------------------------|------------------------------------------------------------|------------------------------------------------------------|---------------|------|---------|-----------|--------|----------|
!! | IPD_Data(nb)%Stateout%gu0 | x_wind_updated_by_physics | zonal wind updated by physics | m s-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gv0 | y_wind_updated_by_physics | meridional wind updated by physics | m s-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gt0 | air_temperature_updated_by_physics | temperature updated by physics | K | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0 | tracer_concentration_updated_by_physics | tracer concentration updated by physics | kg kg-1 | 3 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0(:,:,1) | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity updated by physics | kg kg-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0(:,:,IPD_Control%ntcw) | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity updated by physics | kg kg-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0(:,:,IPD_Control%ntoz) | ozone_concentration_updated_by_physics | ozone concentration updated by physics | kg kg-1 | 2 | real | kind_phys | none | F |
!! | local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
!! |-------------------------------------------------|------------------------------------------------------------|----------------------------------------------------------------|---------------|------|---------|-----------|--------|----------|
!! | IPD_Data(nb)%Stateout%gu0 | x_wind_updated_by_physics | zonal wind updated by physics | m s-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gv0 | y_wind_updated_by_physics | meridional wind updated by physics | m s-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gt0 | air_temperature_updated_by_physics | temperature updated by physics | K | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0 | tracer_concentration_updated_by_physics | tracer concentration updated by physics | kg kg-1 | 3 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0(:,:,1) | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity updated by physics | kg kg-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0(:,:,IPD_Control%ntcw) | cloud_condensed_water_mixing_ratio_updated_by_physics | moist mixing ratio of cloud condensed water updated by physics | kg kg-1 | 2 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Stateout%gq0(:,:,IPD_Control%ntoz) | ozone_concentration_updated_by_physics | ozone concentration updated by physics | kg kg-1 | 2 | real | kind_phys | none | F |
!!
type GFS_stateout_type

Expand Down Expand Up @@ -1243,7 +1243,7 @@ module GFS_typedefs
!! | IPD_Data(nb)%Intdiag%totgrp | | accumulated graupel precipitation | kg m-2 | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%u10m | x_wind_at_10m | 10 meter u wind speed | m s-1 | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%v10m | y_wind_at_10m | 10 meter v wind speed | m s-1 | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%zlvl | height_above_mean_sea_level_at_lowest_model_layer | layer 1 height | m | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%zlvl | height_above_ground_at_lowest_model_layer | layer 1 height | m | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%psurf | | surface pressure | Pa | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%hpbl | atmosphere_boundary_layer_thickness | pbl height | m | 1 | real | kind_phys | none | F |
!! | IPD_Data(nb)%Intdiag%pwat | column_precipitable_water | precipitable water | kg m-2 | 1 | real | kind_phys | none | F |
Expand Down
78 changes: 69 additions & 9 deletions IPD_layer/IPD_driver_cap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,28 @@ module IPD_driver_cap

private

public :: ipd_initialize_cap, &
ipd_setup_step_cap, &
ipd_finalize_cap
public :: ipd_initialize_init_cap, &
ipd_initialize_run_cap, &
ipd_initialize_finalize_cap, &
ipd_setup_step_init_cap, &
ipd_setup_step_run_cap, &
ipd_setup_step_finalize_cap, &
ipd_finalize_init_cap, &
ipd_finalize_run_cap, &
ipd_finalize_finalize_cap

contains

function ipd_initialize_cap(ptr) bind(c) result(ierr)
function ipd_initialize_init_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr

ierr = 0

end function ipd_initialize_init_cap

function ipd_initialize_run_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr
Expand Down Expand Up @@ -121,9 +136,27 @@ function ipd_initialize_cap(ptr) bind(c) result(ierr)
l_snupx = snupx
l_salp_data = salp_data

end function ipd_initialize_cap
end function ipd_initialize_run_cap

function ipd_initialize_finalize_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr

ierr = 0

end function ipd_initialize_finalize_cap

function ipd_setup_step_init_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr

ierr = 0

end function ipd_setup_step_init_cap

function ipd_setup_step_cap(ptr) bind(c) result(ierr)
function ipd_setup_step_run_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr
Expand Down Expand Up @@ -171,9 +204,27 @@ function ipd_setup_step_cap(ptr) bind(c) result(ierr)
IPD_Diag=IPD_Diag, &
IPD_Restart=IPD_Restart)

end function IPD_setup_step_cap
end function IPD_setup_step_run_cap

function ipd_finalize_cap(ptr) bind(c) result(ierr)
function ipd_setup_step_finalize_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr

ierr = 0

end function ipd_setup_step_finalize_cap

function ipd_finalize_init_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr

ierr = 0

end function ipd_finalize_init_cap

function ipd_finalize_run_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr
Expand All @@ -182,6 +233,15 @@ function ipd_finalize_cap(ptr) bind(c) result(ierr)

call IPD_finalize()

end function ipd_finalize_cap
end function ipd_finalize_run_cap

function ipd_finalize_finalize_cap(ptr) bind(c) result(ierr)

integer(c_int32_t) :: ierr
type(c_ptr), intent(inout) :: ptr

ierr = 0

end function ipd_finalize_finalize_cap

end module IPD_driver_cap
166 changes: 0 additions & 166 deletions IPD_layer/scheme.xml

This file was deleted.

2 changes: 1 addition & 1 deletion physics/GFS_MP_generic_post.f90
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ end subroutine GFS_MP_generic_post_init
!! | frain | dynamics_to_physics_timestep_ratio | dtf/dtp, dynamics to physics timestep ratio | none | 0 | real | kind_phys | in | F |
!! | ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array(3) | index | 0 | integer | | in | F |
!! | ncld | number_of_hydrometeors | number_of_hydrometeors(1 for Z-C) | count | 0 | integer | | in | F |
!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F |
!! | cwm | cloud_condensed_water_mixing_ratio_updated_by_physics | cloud condensed water mixing ratio | kg kg-1 | 2 | real | kind_phys | in | F |
!! | t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F |
!! | q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F |
!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F |
Expand Down
2 changes: 1 addition & 1 deletion physics/GFS_zhao_carr_pre.f90
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ end subroutine GFS_zhao_carr_pre_init
!! | im | horizontal_loop_extent | horizontal loop extent | count | 0 | integer | | in | F |
!! | ix | horizontal_dimension | horizontal dimension | count | 0 | integer | | in | F |
!! | levs | vertical_dimension | vertical layer dimension | count | 0 | integer | | in | F |
!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F |
!! | cwm | cloud_condensed_water_mixing_ratio_updated_by_physics | cloud condensed water mixing ratio | kg kg-1 | 2 | real | kind_phys | in | F |
!! | clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | out | F |
!! | errmsg | error_message | error message for error handling in CCPP | none | 0 | character | len=* | out | F |
!! | errflg | error_flag | error flag for error handling in CCPP | flag | 0 | integer | | out | F |
Expand Down
2 changes: 1 addition & 1 deletion physics/gscond.f
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ end subroutine zhaocarr_gscond_finalize
!! | q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F |
!! | clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | in | F |
!! | clw2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F |
!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F |
!! | cwm | cloud_condensed_water_mixing_ratio_updated_by_physics | cloud condensed water mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F |
!! | t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | inout | F |
!! | tp | air_temperature_two_time_steps_back | air temperature two time steps back | K | 2 | real | kind_phys | inout | F |
!! | qp | water_vapor_specific_humidity_two_time_steps_back | water vapor specific humidity two time steps back | kg kg-1 | 2 | real | kind_phys | inout | F |
Expand Down
Loading