Skip to content

Commit

Permalink
Add physics simulator files only for SCM
Browse files Browse the repository at this point in the history
Modify ../ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/scm_sfc_flux_spec.F90 with use_lake_model as integer
	new file:   GFS_ccpp_suite_sim_pre.F90
	new file:   GFS_ccpp_suite_sim_pre.meta
	modified:   GFS_phys_time_vary.scm.F90
	modified:   GFS_phys_time_vary.scm.meta
	new file:   ccpp_suite_simulator.F90
	new file:   ccpp_suite_simulator.meta
	new file:   module_ccpp_suite_simulator.F90
	new file:   module_ccpp_suite_simulator.meta
	modified:   scm_sfc_flux_spec.F90
  • Loading branch information
bluefinweiwei committed Mar 27, 2024
1 parent 3e31927 commit 65cf1e1
Show file tree
Hide file tree
Showing 9 changed files with 1,401 additions and 7 deletions.
442 changes: 442 additions & 0 deletions physics/Interstitials/UFS_SCM_NEPTUNE/GFS_ccpp_suite_sim_pre.F90

Large diffs are not rendered by default.

174 changes: 174 additions & 0 deletions physics/Interstitials/UFS_SCM_NEPTUNE/GFS_ccpp_suite_sim_pre.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
[ccpp-table-properties]
name = GFS_ccpp_suite_sim_pre
type = scheme
dependencies = ../../hooks/machine.F,module_ccpp_suite_simulator.F90

########################################################################
[ccpp-arg-table]
name = GFS_ccpp_suite_sim_pre_run
type = scheme
[do_ccpp_suite_sim]
standard_name = flag_for_ccpp_suite_simulator
long_name = flag for ccpp suite simulator
units = flag
dimensions = ()
type = logical
intent = in
[physics_process]
standard_name = physics_process_type_for_CCPP_suite_simulator
long_name = physics process type for CCPP suite simulator
units = mixed
dimensions = (number_of_physics_process_in_CCPP_suite_simulator)
type = base_physics_process
intent = in
[dtend]
standard_name = cumulative_change_of_state_variables
long_name = diagnostic tendencies for state variables
units = mixed
dimensions = (horizontal_loop_extent,vertical_layer_dimension,cumulative_change_of_state_variables_outer_index_max)
type = real
kind = kind_phys
intent = in
[dtidx]
standard_name = cumulative_change_of_state_variables_outer_index
long_name = index of state-variable and process in last dimension of diagnostic tendencies array AKA cumulative_change_index
units = index
dimensions = (number_of_tracers_plus_one_hundred,number_of_cumulative_change_processes)
type = integer
intent = in
[dtp]
standard_name = timestep_for_physics
long_name = physics timestep
units = s
dimensions = ()
type = real
kind = kind_phys
intent = in
[index_of_process_dcnv]
standard_name = index_of_deep_convection_process_process_in_cumulative_change_index
long_name = index of deep convection process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_process_longwave]
standard_name = index_of_longwave_heating_process_in_cumulative_change_index
long_name = index of longwave heating process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_process_shortwave]
standard_name = index_of_shortwave_heating_process_in_cumulative_change_index
long_name = index of shortwave heating process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_process_orographic_gwd]
standard_name = index_of_orographic_gravity_wave_drag_process_in_cumulative_change_index
long_name = index of orographic gravity wave drag process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_process_scnv]
standard_name = index_of_shallow_convection_process_process_in_cumulative_change_index
long_name = index of shallow convection process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_process_pbl]
standard_name = index_of_subgrid_scale_vertical_mixing_process_in_cumulative_change_index
long_name = index of subgrid scale vertical mixing process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_process_mp]
standard_name = index_of_microphysics_process_process_in_cumulative_change_index
long_name = index of microphysics transport process in second dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_temperature]
standard_name = index_of_temperature_in_cumulative_change_index
long_name = index of temperature in first dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_x_wind]
standard_name = index_of_x_wind_in_cumulative_change_index
long_name = index of x-wind in first dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[index_of_y_wind]
standard_name = index_of_y_wind_in_cumulative_change_index
long_name = index of x-wind in first dimension of array cumulative change index
units = index
dimensions = ()
type = integer
intent = in
[ntqv]
standard_name = index_of_specific_humidity_in_tracer_concentration_array
long_name = tracer index for water vapor (specific humidity)
units = index
dimensions = ()
type = integer
intent = in
[active_phys_tend]
standard_name = tendencies_for_active_process_in_ccpp_suite_simulator
long_name = tendencies for active physics process in ccpp suite simulator
units = mixed
dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_prognostics_varaibles_in_CCPP_suite_simulator)
type = real
kind = kind_phys
intent = out
[iactive_T]
standard_name = index_for_active_T_in_CCPP_suite_simulator
long_name = index into active process tracer array for temperature in CCPP suite simulator
units = count
dimensions = ()
type = integer
intent = in
[iactive_u]
standard_name = index_for_active_u_in_CCPP_suite_simulator
long_name = index into active process tracer array for zonal wind in CCPP suite simulator
units = count
dimensions = ()
type = integer
intent = in
[iactive_v]
standard_name = index_for_active_v_in_CCPP_suite_simulator
long_name = index into active process tracer array for meridional wind in CCPP suite simulator
units = count
dimensions = ()
type = integer
intent = in
[iactive_q]
standard_name = index_for_active_q_in_CCPP_suite_simulator
long_name = index into active process tracer array for moisture in CCPP suite simulator
units = count
dimensions = ()
type = integer
intent = in
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
[errflg]
standard_name = ccpp_error_code
long_name = error code for error handling in CCPP
units = 1
dimensions = ()
type = integer
intent = out
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ module GFS_phys_time_vary
!! @{
subroutine GFS_phys_time_vary_init ( &
me, master, ntoz, h2o_phys, iaerclm, iccn, iflip, im, nx, ny, idate, xlat_d, xlon_d, &
jindx1_o3, jindx2_o3, ddy_o3, ozphys, jindx1_h, jindx2_h, ddy_h, h2opl,fhour, &
jindx1_o3, jindx2_o3, ddy_o3, jindx1_h, jindx2_h, ddy_h, h2opl,fhour, &
jindx1_aer, jindx2_aer, ddy_aer, iindx1_aer, iindx2_aer, ddx_aer, aer_nm, &
jindx1_ci, jindx2_ci, ddy_ci, iindx1_ci, iindx2_ci, ddx_ci, imap, jmap, &
do_ugwp_v1, jindx1_tau, jindx2_tau, ddy_j1tau, ddy_j2tau, &
Expand All @@ -73,7 +73,7 @@ subroutine GFS_phys_time_vary_init (
zwtxy, xlaixy, xsaixy, lfmassxy, stmassxy, rtmassxy, woodxy, stblcpxy, fastcpxy, &
smcwtdxy, deeprechxy, rechxy, snowxy, snicexy, snliqxy, tsnoxy , smoiseq, zsnsoxy, &
slc, smc, stc, tsfcl, snowd, canopy, tg3, stype, con_t0c, lsm_cold_start, nthrds, &
errmsg, errflg)
ozphys, errmsg, errflg)

implicit none

Expand Down Expand Up @@ -801,7 +801,10 @@ subroutine GFS_phys_time_vary_timestep_init (
fhour, iflip, jindx1_aer, jindx2_aer, &
ddy_aer, iindx1_aer, &
iindx2_aer, ddx_aer, &
levs, prsl, aer_nm)
levs, prsl, aer_nm, errmsg, errflg)
if(errflg /= 0) then
return
endif
endif

! Not needed for SCM:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -887,6 +887,13 @@
dimensions = ()
type = integer
intent = in
[ozphys]
standard_name = dataset_for_ozone_physics
long_name = dataset for NRL ozone physics
units = mixed
dimensions = ()
type = ty_ozphys
intent = in
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down
Loading

0 comments on commit 65cf1e1

Please sign in to comment.