Custom Taxonomy Not Saving in Front End Post

I figured this out after much trial and error. Made some slight changes to the $new_post array.

else if( !$error_msg && 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) &&  $_POST['action'] == "new_post"){
        $new_post = array(
        'post_title'    =>  $title,
        'post_content'  =>  $description,
        'post_category' =>  array($_POST['cat']),  // Usable for custom taxonomies too
        'tags_input'    =>  array($tags),
        'tax_input' => array('closed_schools' => $_POST['terms'], 'study_open' => $_POST['terms'], 'safe_arrival' => $_POST['safe_arrival'], 'hour_delay' => $_POST['hour_delay']), //Place all of our custom taxonomies into the posted variable terms as an array
        'post_status'   =>  'publish', // Choose: publish, preview, future, draft, etc.
        'post_type' =>  'post',  //'post',page' or use a custom post type if you want to
    );

Also to use wp_set_object_terms instead of wp_set_post_terms on each custom taxonomy

//SET OUR POST TERMS, CUSTOM TAXONOMIES
wp_set_object_terms($pid, $_POST['terms'], 'closed_schools');
wp_set_object_terms($pid, $_POST['terms'], 'study_open');
wp_set_object_terms($pid, $_POST['terms'], 'safe_arrival');
wp_set_object_terms($pid, $_POST['terms'], 'hour_delay');