%include echo "=== BEGINNING %TASK% ===" export WGRIB2=%WGRIB2_EXECUTABLE% export COASTAL_WORK_DIR=%NWM_JOBDIR%/%NWM_DOMAIN%/%NWM_CYCLE%/%COASTAL_WORK_DIR% export LENGTH_HRS=%LENGTH_HRS% mkdir -p $COASTAL_WORK_DIR/outputs echo "Running pschism..." cd $COASTAL_WORK_DIR echo "mpiexec %ECF_HOME%/coastal/pschism 2" | qsub -V -A %PROJ% -q %QUEUE% -o %ECF_JOBOUT% -W block=true \ -l select=%NUM_COMPUTE_NODES%:ncpus=%NUM_CPUS%:mpiprocs=%NUM_CPUS%:mem=%MEMORY_GB%G -l walltime=%WALLTIME% -N nwm_schism -joe -k oed & %include # if outputs/fatal.error size > 0, mark our status as failed # TODO: use ecFlow to return a more useful error if [ -s outputs/fatal.error ]; then return 1 fi cd $COASTAL_WORK_DIR/outputs # combine hotstarts for analysis, or if running a chained renalysis if [[ %LENGTH_HRS% < 0 || "%CHAINED_REANALYSIS%" != "" ]]; then # create the hotstart for the next AnA run %ECF_HOME%/coastal/combine_hotstart7 -i 18 mv 'hotstart_it=18.nc' hotstart_%COASTAL_DOMAIN%_ana_%CYCLE_DATE%_%CYCLE_TIME%.nc # create the hotstart for the forecast runs %ECF_HOME%/coastal/combine_hotstart7 -i 54 mv 'hotstart_it=54.nc' hotstart_%COASTAL_DOMAIN%_%CYCLE_DATE%_%CYCLE_TIME%.nc #rm hotstart_0*.nc fi # remove traps so below cleanup doesn't error out if the # files don't exist trap 0 # clean up unneeded output rm -f local_to_global* rm -f global_to_local.prop rm -f maxdahv_* rm -f maxelev_* rm -f nonfatal_* echo "=== FINISHED %TASK% ===" %include %manual This task runs SCHISM on the prepared coastal inputs, combines output and restarts, and writes output to: $NWM_JOBDIR/$NWM_DOMAIN/$NWM_CYCLE/$COASTAL_WORK_DIR/outputs %end