Add ‘require’ statement

Need to use the ‘lubridate’ package to more easily
work with dates/times.
Include variables for system paths
Include objects for non-varying conditions

These parameters go into the main CONTROL file and
they are non-temporal.
Include title for script
Include option to define the type of run
Include option to pick the daily hours of runs
Define the date objects for the different run types

These run types are: ‘day’, ‘range’, and ‘years’.
Make vector list of run days in POSIXct format
Make loop with all run days
Define the starting parameters for each run
Make nested loop with daily beginning hours

This is the secondary loop.
Cycle through chosen daily hours in loop structure
Determine which met files are required for the run

Uses the lubridate ‘ymd_hms’ function to easily
build a time object.
Determine the ending time of the simulation

Depending on whether this is a forward or backward
running simulation, the total simulation duration is
either added or substracted from the starting time.
This is all in the service of determining which met
files are necessary for the run.
Determination of whether run year is a leap year

This is important to know because in a leap year,
there won’t be a fifth-week GDAS 1-degree met file
in February.
Add logic to detemine runs crossing years or months

If a model run cross a month or year boundary, this
will affect the selection of met input files to
include in the CONTROL file.