Skip to content

Commit

Permalink
Merge remote-tracking branch 'mt5555/lorenz3' (PR #2600)
Browse files Browse the repository at this point in the history
updates to DCMIP2016 test cases for NH theta model

bug fixes in forcing functions (use dry mixing ratios, convesion between theta and temperature)
moisture was ignored for some initial conditions
heating term was buggy - disabled for now
switch default namelists from Kessler physics to R&J physics so we can run with large remap timesteps
update all namelists to run with recommended timesteps

[BFB] except for some HOMME subtests
  • Loading branch information
mt5555 committed Oct 29, 2018
2 parents ae06047 + d0b9434 commit 0757e20
Show file tree
Hide file tree
Showing 105 changed files with 4,499 additions and 1,325 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash
cwd=`pwd`
cd ../../..
echo "make -j4 theta-l-nlev30"
make -j4 theta-l-nlev30
cd $cwd
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/tcsh
#
# hydrostatic: 4 nodes: 3min
# NH: 10 nodes ?
#
#SBATCH -p ec
#SBATCH --job-name d20-theta
#SBATCH --account=FY150001
#SBATCH -N 25
#SBATCH --time=3:00:00
#XXSBATCH -N 4
#XXSBATCH --time=0:10:00
#PBS -q acme
#PBS -l walltime=0:30:00
#PBS -l nodes=20


set OMP_NUM_THREADS = 1
set NCPU = 40
if ( ${?PBS_ENVIRONMENT} ) then # anvil
set NCPU = $PBS_NNODES
if ( $PBS_ENVIRONMENT == PBS_BATCH ) cd $PBS_O_WORKDIR
endif
if ( ${?SLURM_NNODES} ) then
set NCPU = $SLURM_NNODES
@ NCPU *= 16
@ NCPU /= $OMP_NUM_THREADS
endif

set EXEC = ../../../test_execs/theta-l-nlev30/theta-l-nlev30

# hydrostatic theta
set namelist = namelist-h.nl
\cp -f $namelist input.nl
mpirun -np $NCPU $EXEC < input.nl
ncl plot_z_lon.ncl
ncl test200-range.ncl
\mv -f dcmip2012_test2_0_u_t6.00.pdf hydro_test2_0_u_z.pdf
\mv -f movies/dcmip2012_test2_01.nc.pdf hydro_test2_0_u.pdf
\mv -f movies/dcmip2012_test2_01.nc movies/hydro_dcmip2012_test2_01.nc

# nonhydrostatic theta
set namelist = namelist-nh.nl
\cp -f $namelist input.nl
mpirun -np $NCPU $EXEC < input.nl
ncl plot_z_lon.ncl
ncl test200-range.ncl
\mv -f dcmip2012_test2_0_u_t6.00.pdf nonhydro_test2_0_u_t6.00.pdf
\mv -f movies/dcmip2012_test2_01.nc.pdf nonhydro_test2_0_u.pdf
\mv -f movies/dcmip2012_test2_01.nc movies/nonhydro_dcmip2012_test2_01.nc

Original file line number Diff line number Diff line change
@@ -1,48 +1,46 @@
!
! preqx: namelist for dcmip2016 test 3: supercell storm (small planet X=120)
! namelist for dcmip2012 test2-0: steady-state atmosphere with orography
!_______________________________________________________________________
&ctl_nl
nthreads = 1
partmethod = 4 ! mesh parition method: 4 = space filling curve
topology = "cube" ! mesh type: cubed sphere
test_case = "dcmip2016_test3" ! test identifier
test_case = "dcmip2012_test2_0" ! test identifier
theta_hydrostatic_mode = .true.
ne = 7 ! number of elements per cube face
qsize = 4 ! num tracer fields: qv,qc,qr
nmax = 36000 ! 7200s(120min)/tstep
statefreq = 10 ! number of steps between screen dumps
qsize = 0 ! num tracer fields
ndays = 6 ! num simulation days: 0 = use nmax steps
statefreq = 36 ! number of steps between screen dumps
restartfreq = -1 ! don't write restart files if < 0
runtype = 0 ! 0 => new run
tstep = 0.2 ! largest timestep in seconds
runtype = 0 ! 0 = new run
tstep = 1200 ! largest timestep in seconds
rsplit = 3
integration = 'explicit' ! explicit time integration
tstep_type = 5
rsplit = 1
qsplit = 1
nu = 4.57e10 ! 1e15/(120)^3 *(ne30/ne7)
nu_s = 4.57e10
nu_p = 4.57e10
tstep_type = 5 ! 1 => default method
nu = 3.4e17 ! hyperviscosity
nu_s = 3.4e17
nu_p = 3.4e17
hypervis_order = 2 ! 2 = hyperviscosity
hypervis_subcycle = 1 ! 1 = no hyperviz subcycling
rearth = 53133 ! 6.376E6 / 120
omega = 0
se_ftype = 0
moisture = 'dry'
omega = 0.0 ! earth angular speed = 0.0
dcmip2_0_zetam = 0.785 ! mountain half-width = pi/4
/
&vert_nl
vform = "ccm" ! vertical coordinate type "ccm"=hybrid pressure/terrain
vanalytic = 1 ! set vcoords in initialization routine
vtop = 5e-2 ! vertical coordinate at top of atm (z=20km)
vtop = 2.05e-1 ! vertical coordinate at top of atm (z=12000m)
/
&analysis_nl
output_dir = "./movies/" ! destination dir for netcdf file
output_timeunits = 0 !3, ! 0=timesteps, 1=days, 2=hours, 3=seconds
output_frequency = 100 !900, ! 900 seconds (15 minutes)
output_varnames1 ='T','p','ps','pnh','geo','u','v','omega','Th','Q','Q2','Q3','Q4' ! variables to write to file
interp_nlon = 360
interp_nlat = 181
interp_gridtype = 1
output_timeunits = 2, ! 1=days, 2=hours, 0=timesteps
output_frequency = 12, ! output every 12 hours
output_varnames1 ='T','ps','u','v','omega','geo' ! variables to write to file
interp_type = 0 ! 0=native grid, 1=bilinear
output_type ='netcdf' ! netcdf or pnetcdf
num_io_procs = 16
interp_nlat = 91
interp_nlon = 360
interp_gridtype = 1
/
&prof_inparm
profile_outpe_num = 100
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
!
! namelist for dcmip2012 test2-0: steady-state atmosphere with orography
!_______________________________________________________________________
&ctl_nl
nthreads = 1
partmethod = 4 ! mesh parition method: 4 = space filling curve
topology = "cube" ! mesh type: cubed sphere
test_case = "dcmip2012_test2_0" ! test identifier
theta_hydrostatic_mode = .true.
ne = 30 ! number of elements per cube face
qsize = 0 ! num tracer fields
ndays = 6 ! num simulation days: 0 = use nmax steps
statefreq = 144 ! number of steps between screen dumps
restartfreq = -1 ! don't write restart files if < 0
runtype = 0 ! 0 = new run
tstep = 300 ! largest timestep in seconds
rsplit = 6
integration = 'explicit' ! explicit time integration
tstep_type = 5 ! 1 => default method
nu = 1e15 ! hyperviscosity
nu_s = 1e15
nu_p = 1e15
hypervis_order = 2 ! 2 = hyperviscosity
hypervis_subcycle = 1 ! 1 = no hyperviz subcycling
omega = 0.0 ! earth angular speed = 0.0
/
&vert_nl
vform = "ccm" ! vertical coordinate type "ccm"=hybrid pressure/terrain
vanalytic = 1 ! set vcoords in initialization routine
vtop = 2.05e-1 ! vertical coordinate at top of atm (z=12000m)
/
&analysis_nl
output_dir = "./movies/" ! destination dir for netcdf file
output_timeunits = 2, ! 1=days, 2=hours, 0=timesteps
output_frequency = 12, ! output every 12 hours
output_varnames1 ='T','ps','u','v','omega','geo' ! variables to write to file
interp_type = 0 ! 0=native grid, 1=bilinear
output_type ='netcdf' ! netcdf or pnetcdf
num_io_procs = 16
interp_nlat = 91
interp_nlon = 360
interp_gridtype = 1
/
&prof_inparm
profile_outpe_num = 100
profile_single_file = .true.
/
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
!
! namelist for dcmip2012 test2-0: steady-state atmosphere with orography
!_______________________________________________________________________
&ctl_nl
nthreads = 1
partmethod = 4 ! mesh parition method: 4 = space filling curve
topology = "cube" ! mesh type: cubed sphere
test_case = "dcmip2012_test2_0" ! test identifier
theta_hydrostatic_mode = .false.
ne = 30 ! number of elements per cube face
qsize = 0 ! num tracer fields
ndays = 6 ! num simulation days: 0 = use nmax steps
statefreq = 144 ! number of steps between screen dumps
restartfreq = -1 ! don't write restart files if < 0
runtype = 0 ! 0 = new run
tstep = 300.0 ! largest timestep in seconds
rsplit = 6 ! unstable with desired rsplit=6 - why?
integration = 'explicit' ! explicit time integration
tstep_type = 7 !
nu = 1e15 ! hyperviscosity
nu_s = 1e15
nu_p = 1e15
hypervis_order = 2 ! 2 = hyperviscosity
hypervis_subcycle = 1 ! 1 = no hyperviz subcycling
omega = 0.0 ! earth angular speed = 0.0
/
&vert_nl
vform = "ccm" ! vertical coordinate type "ccm"=hybrid pressure/terrain
vanalytic = 1 ! set vcoords in initialization routine
vtop = 2.05e-1 ! vertical coordinate at top of atm (z=12000m)
/
&analysis_nl
output_dir = "./movies/" ! destination dir for netcdf file
output_timeunits = 2, ! 1=days, 2=hours, 0=timesteps
output_frequency = 12, ! output every 12 hours
output_varnames1 ='T','ps','u','v','omega','geo' ! variables to write to file
interp_type = 0 ! 0=native grid, 1=bilinear
output_type ='netcdf' ! netcdf or pnetcdf
num_io_procs = 16
interp_nlat = 91
interp_nlon = 360
interp_gridtype = 1
/
&prof_inparm
profile_outpe_num = 100
profile_single_file = .true.
/
Loading

0 comments on commit 0757e20

Please sign in to comment.