# run_lasso.sh
# Moves and creates necessary files to run LASSO cases

module load nco
module load ncl

# Link lasso forcing directory below here
rm lasso_config
ln -s /mnt/lfs3/projects/rtwbl/angevine/lasso/20150606/sim0030/config/ lasso_config
cp namelist.input.lasso_0606 namelist.input
# cp namelist.input.lasso_0606_tke namelist.input
# cp namelist.input.lasso_0606_noadv namelist.input
# cp namelist.input.lasso_0606_64lev namelist.input
# cp namelist.input.lasso_0606_test namelist.input
# cp namelist.input.lasso_0606_200lev namelist.input
# cp namelist.input.lasso_0606_1200m namelist.input
# cp namelist.input.lasso_0606_600m namelist.input
# cp namelist.input.lasso_0606_600m_lsm namelist.input
# cp namelist.input.lasso_0606_3km namelist.input
# cp namelist.input.lasso_0606_3km_lsm namelist.input
# cp namelist.input.lasso_0606_noedmf namelist.input
# cp namelist.input.lasso_0606_temf namelist.input
# cp namelist.input.lasso_0606_temf_64lev namelist.input
# cp namelist.input.lasso_0606_temf_coupled namelist.input
# cp namelist.input.lasso_0606_temf_coupled_64lev namelist.input
# cp namelist.input.lasso_0606_temf_coupled_defgrid namelist.input
# cp namelist.input.lasso_0606_temf_test namelist.input
# cp namelist.input.lasso_0606_coupled namelist.input
# echo
# echo '*** Not copying namelist ***'
# echo
cp /mnt/lfs3/projects/rtwbl/angevine/lasso/20150606/input_sounding_0606_sim0030 input_sounding
# cp input_soil.lasso_dummy  input_soil # (??? needed???)
# cp input_soil.lasso_lsm  input_soil
# cp input_soil.lasso_lsmt input_soil
# cp input_soil.lasso_0606_sim0030_lsmt input_soil  # TEMF
cp input_soil.lasso_0606_sim0030_lsm input_soil   # MYNN

# Translate provided forcings to what SCM expects
# See README.crm file for explanation of crm namelist variables
# There are two forcing files, "ls" = large scale and "sfc" = surface
# Names are not the same as in SCM code

ncgen -o lasso_force_input.nc forcing_file_lasso.cdl
cp lasso_force_input.nc lasso_force.nc
ncl make_lasso_forcing.ncl # (makes lasso_force.nc)
# ncl make_lasso_forcing_3km.ncl # (makes lasso_force.nc)
# ncl make_lasso_forcing_1200m.ncl # (makes lasso_force.nc)
# ncl make_lasso_forcing_600m.ncl # (makes lasso_force.nc)

# Need modified?? surface driver to handle surface forcing
# cp module_surface_driver.F.lasso ../../phys/module_surface_driver.F
# touch !$

# Initialize forcing variables because calling sequence has changed
# cp module_force_scm.F.lasso ../../dyn_em/module_force_scm.F 
# touch !$

# Initialize with perturbations for grid size tests
# cp module_initialize_scm_xy.F.lasso ../../dyn_em/module_initialize_scm_xy.F
# touch !$

# cp ../../dyn_em/module_first_rk_step_part1.F.orig ../../dyn_em/module_first_rk_step_part1.F
# cp ../../phys/module_pbl_driver.F.orig ../../phys/module_pbl_driver.F

# pd ../..
# ./compile em_scm_xy >compile.out
# popd

./ideal.exe >ideal.out
./wrf.exe >wrf.out
# mv wrfout_d* wrfout_lasso_0606_sim0030_64lev.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_temf_24.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_600m_lsm2.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_13km_50.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_3km_50.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_1200m_50.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_600m_50.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_c03.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_tc30.nc
# mv wrfout_d* wrfout_lasso_0606_sim0030_132.nc
mv wrfout_d* wrfout_lasso_0606_sim0030_sens6.nc

