Skip to content

Commit

Permalink
Add COMBLE case to CCPP SCM
Browse files Browse the repository at this point in the history
Forcing data was provide by COMBLE-MIP Project (https://github.com/ARM-Development/comble-mip/blob/main/notebooks/forcing/COMBLE_INTERCOMPARISON_FORCING_V2.4.nc)
@bluefinweiwei modify the forcing data and scm_input.F90 to work with CCPP SCM
	new file:   ../data/processed_case_input/COMBLE_SCM_driver.nc
	new file:   ../etc/case_config/COMBLE.nml
	modified:   scm_input.F90
  • Loading branch information
bluefinweiwei committed Apr 26, 2024
1 parent bd3128c commit e8b7e6a
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
Binary file not shown.
9 changes: 9 additions & 0 deletions scm/etc/case_config/COMBLE.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
$case_config
case_name = 'COMBLE',
input_type = 1
lsm_ics = .false.,
do_spinup = .false.,
spinup_timesteps = 0,
reference_profile_choice = 2,
column_area = 1.45E8,
$end
16 changes: 8 additions & 8 deletions scm/src/scm_input.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1456,7 +1456,7 @@ subroutine get_case_init_DEPHY(scm_state, scm_input)

!> - Read in the initial profiles.
call NetCDF_read_var(ncid, "pa", .True., input_pres)
call NetCDF_read_var(ncid, "zh", .True., input_height)
call NetCDF_read_var(ncid, "zh", .False., input_height)
call NetCDF_read_var(ncid, "ps", .True., input_pres_surf)
call NetCDF_read_var(ncid, "ua", .True., input_u)
call NetCDF_read_var(ncid, "va", .True., input_v)
Expand All @@ -1476,9 +1476,9 @@ subroutine get_case_init_DEPHY(scm_state, scm_input)
call NetCDF_read_var(ncid, "rl", .False., input_rl)
call NetCDF_read_var(ncid, "ri", .False., input_ri)
call NetCDF_read_var(ncid, "hur", .False., input_rh)
call NetCDF_read_var(ncid, "tke", .True., input_tke)

call NetCDF_read_var(ncid, "tke", .False., input_tke)

if (trim(input_surfaceForcingLSM) == "lsm") then
call NetCDF_read_var(ncid, "o3", .True., input_ozone)
call NetCDF_read_var(ncid, "area", .True., input_area)
Expand Down Expand Up @@ -1574,9 +1574,9 @@ subroutine get_case_init_DEPHY(scm_state, scm_input)
call NetCDF_read_var(ncid, "lat", .True., input_lat)
call NetCDF_read_var(ncid, "lon", .True., input_lon)
call NetCDF_read_var(ncid, "ps_forc", .True., input_force_pres_surf)
call NetCDF_read_var(ncid, "zh_forc", .True., input_force_height)
call NetCDF_read_var(ncid, "pa_forc", .True., input_force_pres)
call NetCDF_read_var(ncid, "zh_forc", .False., input_force_height)
call NetCDF_read_var(ncid, "pa_forc", .False., input_force_pres)

!conditionally read forcing vars (or set to missing); if the global attribute is set to expect a variable and it doesn't exist, stop the model
call NetCDF_conditionally_read_var(adv_u, "adv_ua", "tnua_adv", trim(adjustl(scm_state%case_name))//'.nc', ncid, input_force_u_adv)
call NetCDF_conditionally_read_var(adv_v, "adv_va", "tnva_adv", trim(adjustl(scm_state%case_name))//'.nc', ncid, input_force_v_adv)
Expand Down Expand Up @@ -1630,7 +1630,7 @@ subroutine get_case_init_DEPHY(scm_state, scm_input)
call NetCDF_read_var(ncid, "wprvp_s", .False., input_force_wprvp)
call NetCDF_read_var(ncid, "wprtp_s", .False., input_force_wprtp)
else if (trim(input_surfaceForcingMoist) == 'surface_flux') then
call NetCDF_read_var(ncid, "hfls", .False., input_force_sfc_lat_flx)
call NetCDF_read_var(ncid, "hfls", .False., input_force_sfc_sens_flx)
endif

!
Expand Down

0 comments on commit e8b7e6a

Please sign in to comment.