Skip to content
This repository was archived by the owner on Oct 6, 2020. It is now read-only.

Commit

Permalink
Merge changes to atmospheric cores from atmos_physics branch.
Browse files Browse the repository at this point in the history
No changes to shared code or non-atmosphere cores.




git-svn-id: https://svn-mpas-model.cgd.ucar.edu/trunk/mpas@2674 6dc93482-27b8-4c24-8500-90c78a5336cd
  • Loading branch information
duda committed Mar 27, 2013
1 parent c55e0a9 commit e3d135d
Show file tree
Hide file tree
Showing 41 changed files with 7,013 additions and 2,087 deletions.
119 changes: 61 additions & 58 deletions namelist.input.nhyd_atmos
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
&nhyd_model
config_time_integration = 'SRK3'
config_dt = 450.0
config_start_time = '2010-10-23_00:00:00'
config_start_time = '2010-10-23_00:00:00'
config_run_duration = '5_00:00:00'
config_number_of_sub_steps = 6
config_h_mom_eddy_visc2 = 0.0
config_h_mom_eddy_visc4 = 0.0
config_v_mom_eddy_visc2 = 0.0
config_h_theta_eddy_visc2 = 0.0
config_h_theta_eddy_visc4 = 0.0
config_v_theta_eddy_visc2 = 0.0
config_horiz_mixing = '2d_smagorinsky'
config_len_disp = 120000.0
config_theta_adv_order = 3
config_scalar_adv_order = 3
config_w_adv_order = 3
config_u_vadv_order = 3
config_w_vadv_order = 3
config_theta_vadv_order = 3
config_scalar_vadv_order = 3
config_coef_3rd_order = 0.25
config_positive_definite = .true.
config_monotonic = .false.
config_epssm = 0.1
config_smdiv = 0.1
config_h_ScaleWithMesh = .false.
config_sfc_update_interval = "none"
config_newpx = .false.
config_h_mom_eddy_visc2 = 0.0
config_h_mom_eddy_visc4 = 0.0
config_v_mom_eddy_visc2 = 0.0
config_h_theta_eddy_visc2 = 0.0
config_h_theta_eddy_visc4 = 0.0
config_v_theta_eddy_visc2 = 0.0
config_horiz_mixing = '2d_smagorinsky'
config_len_disp = 120000.0
config_visc4_2dsmag = 0.05
config_u_vadv_order = 3
config_w_vadv_order = 3
config_theta_vadv_order = 3
config_scalar_vadv_order = 3
config_w_adv_order = 3
config_theta_adv_order = 3
config_scalar_adv_order = 3
config_scalar_advection = .true.
config_positive_definite = .false.
config_monotonic = .true.
config_coef_3rd_order = 0.25
config_epssm = 0.1
config_smdiv = 0.1
config_h_ScaleWithMesh = .false.
config_newpx = .false.
config_sfc_update_interval = 'none'
/
config_stop_time = '0000-01-16_00:00:00'

&damping
config_zd = 22000.0
config_xnutr = 0.0
config_xnutr = 0.2
/

&io
config_input_name = 'x1.40962.init.nc'
config_output_name = 'x1.40962.output.nc'
config_restart_name = 'restart.nc'
config_output_interval = '1_00:00:00'
config_input_name = 'x1.40962.init.nc'
config_output_name = 'x1.40962.output.nc'
config_restart_name = 'x1.40962.restart.nc'
config_output_interval = '1_00:00:00'
config_frames_per_outfile = 1
config_pio_num_iotasks = 0
config_pio_stride = 1
config_pio_num_iotasks = 0
config_pio_stride = 1
/
config_sfc_update_name = 'sfc_update.nc'
config_sfc_update_name = 'x1.40962.sfc_update.nc'

&decomposition
config_number_of_blocks = 0
config_number_of_blocks = 0
config_block_decomp_file_prefix = 'x1.40962.graph.info.part.'
config_explicit_proc_decomp = .false.
config_proc_decomp_file_prefix = 'graph.info.part.'
/

&restart
Expand All @@ -59,27 +59,30 @@
/

&physics
config_frac_seaice = .false.
config_sfc_albedo = .true.
config_sst_update = .false.
config_sstdiurn_update = .false.
config_deepsoiltemp_update = .false.

config_n_microp = 5

config_radtlw_interval = '00:30:00'
config_radtsw_interval = '00:30:00'
config_conv_interval = 'none'
config_pbl_interval = 'none'

config_microp_scheme = 'wsm6'
config_conv_shallow_scheme = 'off'
config_conv_deep_scheme = 'kain_fritsch'
config_eddy_scheme = 'off'
config_lsm_scheme = 'noah'
config_pbl_scheme = 'ysu'
config_radt_cld_scheme = 'off'
config_radt_lw_scheme = 'rrtmg_lw'
config_radt_sw_scheme = 'rrtmg_sw'
config_sfclayer_scheme = 'monin_obukhov'
config_frac_seaice = .false.
config_sfc_albedo = .true.
config_sfc_snowalbedo = .true.
config_sst_update = .false.
config_sstdiurn_update = .false.
config_deepsoiltemp_update = .false.
config_bucket_update = 'none'
config_bucket_rainc = 100.0
config_bucket_rainnc = 100.0
config_bucket_radt = 1.0e9
config_radtlw_interval = '00:30:00'
config_radtsw_interval = '00:30:00'
config_conv_interval = 'none'
config_pbl_interval = 'none'
config_n_microp = 5
config_microp_scheme = 'wsm6'
config_conv_shallow_scheme = 'off'
config_conv_deep_scheme = 'kain_fritsch'
config_eddy_scheme = 'off'
config_lsm_scheme = 'noah'
config_pbl_scheme = 'ysu'
config_gwdo_scheme = 'off'
config_radt_cld_scheme = 'off'
config_radt_lw_scheme = 'rrtmg_lw'
config_radt_sw_scheme = 'rrtmg_sw'
config_sfclayer_scheme = 'monin_obukhov'
/
12 changes: 10 additions & 2 deletions src/core_atmos_physics/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ endif
ifeq ($(CORE),nhyd_atmos)
COREDEF = -Dnon_hydrostatic_core
endif
HYDROSTATIC = -Ddo_hydrostatic_pressure
#HYDROSTATIC =

dummy:
echo "****** make non-hydrostatic core ******"
Expand All @@ -17,16 +19,17 @@ OBJS_init = \
OBJS = \
mpas_atmphys_driver_cloudiness.o \
mpas_atmphys_driver_convection_deep.o \
mpas_atmphys_driver_gwdo.o \
mpas_atmphys_driver_lsm.o \
mpas_atmphys_driver_microphysics.o \
mpas_atmphys_driver_radiation_lw.o \
mpas_atmphys_driver_radiation_sw.o \
mpas_atmphys_driver_sfclayer.o \
mpas_atmphys_driver_pbl.o \
mpas_atmphys_driver.o \
mpas_atmphys_camrad_init.o \
mpas_atmphys_control.o \
mpas_atmphys_date_time.o \
mpas_atmphys_driver.o \
mpas_atmphys_init.o \
mpas_atmphys_landuse.o \
mpas_atmphys_lsm_noahinit.o \
Expand Down Expand Up @@ -73,6 +76,10 @@ mpas_atmphys_driver_convection_deep.o: \
./physics_wrf/module_cu_kfeta.o \
./physics_wrf/module_cu_tiedtke.o

mpas_atmphys_driver_gwdo.o: \
mpas_atmphys_vars.o \
./physics_wrf/module_bl_gwdo.o

mpas_atmphys_driver_lsm.o: \
mpas_atmphys_constants.o \
mpas_atmphys_landuse.o \
Expand Down Expand Up @@ -203,6 +210,7 @@ mpas_atmphys_driver_microphysics.o: \

mpas_atmphys_driver.o: \
mpas_atmphys_driver_convection_deep.o \
mpas_atmphys_driver_gwdo.o \
mpas_atmphys_driver_pbl.o \
mpas_atmphys_driver_radiation_lw.o \
mpas_atmphys_driver_radiation_sw.o \
Expand All @@ -225,5 +233,5 @@ clean:

.F.o:
$(RM) $@ $*.mod
$(CPP) $(CPPFLAGS) $(COREDEF) $(CPPINCLUDES) -DIWORDSIZE=4 -DRWORDSIZE=8 $< > $*.f90
$(CPP) $(CPPFLAGS) $(COREDEF) $(HYDROSTATIC) $(CPPINCLUDES) -DIWORDSIZE=4 -DRWORDSIZE=8 $< > $*.f90
$(FC) $(FFLAGS) -c $*.f90 $(FCINCLUDES) -I../framework -I../operators -I./physics_wrf -I./physics_eaung -I../external/esmf_time_f90
37 changes: 27 additions & 10 deletions src/core_atmos_physics/mpas_atmphys_control.F
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,17 @@ subroutine physics_namelist_check

write(0,*)
write(0,*) '--- enter subroutine physics_namelist_check:'
write(0,*) ' config_microp_scheme = ', config_microp_scheme
write(0,*) ' config_conv_shallow_scheme = ', config_conv_shallow_scheme
write(0,*) ' config_conv_deep_scheme = ', config_conv_deep_scheme
write(0,*) ' config_eddy_scheme = ', config_eddy_scheme
write(0,*) ' config_lsm_scheme = ', config_lsm_scheme
write(0,*) ' config_pbl_scheme = ', config_pbl_scheme
write(0,*) ' config_radt_cld_scheme = ', config_radt_cld_scheme
write(0,*) ' config_radt_lw_scheme = ', config_radt_lw_scheme
write(0,*) ' config_radt_sw_scheme = ', config_radt_sw_scheme
write(0,*) ' config_sfclayer_scheme = ', config_sfclayer_scheme
write(0,*) ' config_microp_scheme = ', trim(config_microp_scheme)
write(0,*) ' config_conv_shallow_scheme = ', trim(config_conv_shallow_scheme)
write(0,*) ' config_conv_deep_scheme = ', trim(config_conv_deep_scheme)
write(0,*) ' config_eddy_scheme = ', trim(config_eddy_scheme)
write(0,*) ' config_lsm_scheme = ', trim(config_lsm_scheme)
write(0,*) ' config_pbl_scheme = ', trim(config_pbl_scheme)
write(0,*) ' config_gwdo_scheme = ', trim(config_gwdo_scheme)
write(0,*) ' config_radt_cld_scheme = ', trim(config_radt_cld_scheme)
write(0,*) ' config_radt_lw_scheme = ', trim(config_radt_lw_scheme)
write(0,*) ' config_radt_sw_scheme = ', trim(config_radt_sw_scheme)
write(0,*) ' config_sfclayer_scheme = ', trim(config_sfclayer_scheme)

!cloud microphysics scheme:
if(.not. (config_microp_scheme .eq. 'off' .or. &
Expand Down Expand Up @@ -93,6 +94,22 @@ subroutine physics_namelist_check

endif

!gravity wave drag over orography scheme:
if(.not. (config_gwdo_scheme .eq. 'off' .or. &
config_gwdo_scheme .eq. 'ysu_gwdo')) then

write(mpas_err_message,'(A,A10)') 'illegal value for gwdo_scheme: ', &
trim(config_gwdo_scheme)
call physics_error_fatal(mpas_err_message)

elseif(config_gwdo_scheme .eq. 'ysu_gwdo' .and. config_pbl_scheme .ne. 'ysu') then

write(mpas_err_message,'(A,A10)') 'turn YSU PBL scheme on with config_gwdo = ysu_gwdo:', &
trim(config_gwdo_scheme)
call physics_error_fatal(mpas_err_message)

endif

!diffusion scheme:
if(.not. (config_eddy_scheme .eq. 'off')) then

Expand Down
3 changes: 1 addition & 2 deletions src/core_atmos_physics/mpas_atmphys_date_time.F
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ subroutine monthly_interp_to_date(npoints,date_str,field_in,field_out)

!local variables:
character(len=StrKIND):: day15,mon
character(len=StrKIND):: yr

integer:: l,n
integer:: julyr,julday,int_month,month1,month2
Expand Down Expand Up @@ -144,7 +143,7 @@ subroutine monthly_interp_to_date(npoints,date_str,field_in,field_out)
endif
enddo find_month

201 format(i6,3(1x,e15.8))
! 201 format(i6,3(1x,e15.8))

end subroutine monthly_interp_to_date

Expand Down
9 changes: 9 additions & 0 deletions src/core_atmos_physics/mpas_atmphys_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module mpas_atmphys_driver

use mpas_atmphys_driver_cloudiness
use mpas_atmphys_driver_convection_deep
use mpas_atmphys_driver_gwdo
use mpas_atmphys_driver_pbl
use mpas_atmphys_driver_lsm
use mpas_atmphys_driver_radiation_sw
Expand Down Expand Up @@ -118,6 +119,14 @@ subroutine physics_driver(domain,itimestep,xtime_s)
call deallocate_pbl
endif

!call to gravity wave drag over orography scheme:
if(config_gwdo_scheme .ne. 'off') then
call allocate_gwdo
call driver_gwdo(itimestep,block%mesh,block%sfc_input,block%diag_physics, &
block%tend_physics)
call deallocate_gwdo
endif

!call to convection scheme:
call update_convection_step1(block%mesh,block%diag_physics,block%tend_physics)
if(l_conv) then
Expand Down
Loading

0 comments on commit e3d135d

Please sign in to comment.