#!/bin/bash #------------------------------------------------------------------------------ # Harvard University Atmospheric Chemistry Modeling Group ! #------------------------------------------------------------------------------ #BOP # # !MODULE: setup_1yr_transport_bm # # !DESCRIPTION: Sets up a 1-yr Transport Tracers benchmark from a run directory # created by the GEOS-Chem unit tester. #\\ #\\ # !CALLING SEQUENCE: # make_1yr_run # # !REVISION HISTORY: # 14 Feb 2018 - M. Sulprizio- Initial version # 01 Feb 2019 - M. Sulprizio- Changed "RnPbBe" to "TransportTracers"; # Remove MIXING option - Only do benchmarks with # NLPBL mixing scheme from now on #EOP #------------------------------------------------------------------------------ #BOC #---------------------------------------------------------------- # Define version names #---------------------------------------------------------------- GC_VERSION="GC_12.2.0" BM_VERSION="${GC_VERSION}-TransportTracers" START_YR=2016 TEMP="temp.txt" echo "===========================================================" echo "CREATING 1-YR RUN DIRECTORY for $BM_VERSION" echo "===========================================================" echo "" #---------------------------------------------------------------- # Create subdirectories #---------------------------------------------------------------- mkdir -v bpch # For BPCH diagnostic output mkdir -v bpch/spinup01 mkdir -v bpch/spinup02 mkdir -v bpch/spinup03 mkdir -v bpch/spinup04 mkdir -v bpch/spinup05 mkdir -v bpch/spinup06 mkdir -v bpch/spinup07 mkdir -v bpch/spinup08 mkdir -v bpch/spinup09 mkdir -v bpch/spinup10 mkdir -v netCDF # For netCDF diagnostic output mkdir -v netCDF/spinup01 mkdir -v netCDF/spinup02 mkdir -v netCDF/spinup03 mkdir -v netCDF/spinup04 mkdir -v netCDF/spinup05 mkdir -v netCDF/spinup06 mkdir -v netCDF/spinup07 mkdir -v netCDF/spinup08 mkdir -v netCDF/spinup09 mkdir -v netCDF/spinup10 mkdir -v input # For input.geos files mkdir -v logs # For *.log files mkdir -v output # For 1-yr benchmark plots mkdir -v restarts # For GEOS-Chem and HEMCO restart files mkdir -v restarts/spinup01 mkdir -v restarts/spinup02 mkdir -v restarts/spinup03 mkdir -v restarts/spinup04 mkdir -v restarts/spinup05 mkdir -v restarts/spinup06 mkdir -v restarts/spinup07 mkdir -v restarts/spinup08 mkdir -v restarts/spinup09 mkdir -v restarts/spinup10 mkdir -v run # For run scripts #---------------------------------------------------------------- # Copy code directory #---------------------------------------------------------------- echo -e "\nCopying Code.Dev\n" cp -r ~/GC/Code.Dev Code # Change path to code directory in Makefile OLD=' CODE_DIR :=$(HOME)/GC/Code.$(VERSION)' NEW=' CODE_DIR :=./Code' sed "s,$OLD,$NEW,g" Makefile > $TEMP && mv $TEMP Makefile #---------------------------------------------------------------- # Set up input.geos files #---------------------------------------------------------------- echo -e "Setting up input.geos files\n" mv input.geos input/ cd input/ inFiles=( "input.geos.template.spinup" "input.geos.template.production" ) # Need to replace the following text OLD1="Start YYYYMMDD, hhmmss : 20160101 000000" NEW1="Start YYYYMMDD, hhmmss : {DATE1} {TIME1}" OLD2="End YYYYMMDD, hhmmss : 20160201 000000" NEW2="End YYYYMMDD, hhmmss : {DATE2} {TIME2}" OLD3="Binary punch file name : trac_avg.geosfp_4x5_TransportTracers.YYYYMMDDhhmm" NEW3="Binary punch file name : .\/bpch\/trac_avg.{VERSION}.YYYYMMDDhhmm" OLD4=" => Use non-local PBL? : T" NEW4=" => Use non-local PBL? : F" OLD5="Save benchmark output? : F" NEW5="Save benchmark output? : T" # Loop over input files for file in ${inFiles[@]}; do cp input.geos $file # Replace text echo -e "Replacing text in $file\n" sed "s/$OLD1/$NEW1/g" "$file" > $TEMP && mv $TEMP "$file" sed "s/$OLD2/$NEW2/g" "$file" > $TEMP && mv $TEMP "$file" sed "s/$OLD3/$NEW3/g" "$file" > $TEMP && mv $TEMP "$file" if [[ ${file} = "input.geos.template.production" ]]; then sed "s/$OLD5/$NEW5/g" "$file" > $TEMP && mv $TEMP "$file" fi done # Move back to top-level run directory rm input.geos cd .. #---------------------------------------------------------------- # Set up run scripts #---------------------------------------------------------------- echo -e "Setting up run scripts\n" cp -v ~/GC/benchmarks/TransportTracers/template_files/run.template run/ cp -v ~/GC/benchmarks/TransportTracers/template_files/make_runscripts run/ cd run ./make_runscripts ${BM_VERSION} ${START_YR} cd .. #---------------------------------------------------------------- # Copy additional files #---------------------------------------------------------------- cp -v ~/GC/benchmarks/TransportTracers/template_files/pack_1yr_transport_bm . cp -v ~/GC/benchmarks/TransportTracers/template_files/copy_1yr_transport_bm . echo "===========================================================" echo "DONE UPDATING 1-YR TransportTracers BENCHMARK RUN DIRECTORY" echo "===========================================================" # Exit normally exit 0 #EOC