#!/bin/bash # the leocat Job script can be executed on the cluster - This simulates invocation from the cluster # The script loops through the input test files #ALGORITHM NUMBERS (29=MODIS C6 cloud mask, 17=MODIS C6 1-km cloud top properties, 3=1-km MODIS IR cloud phase) export ALGNO1="29" #ANCILLARY DATA DIRECTORIES export LEOCAT_STATIC_INPUT="/data/LEOCAT/MODIS_NPOESS_STATIC/sfc_data" export ANCILLARY_DIR="/data/raf/ancillary/2007_08_07_219" # WORKING DIRECTORY export WORKING_DIR="/data/LEOCAT/WD" export BINARY_DIR="/data/LEOCAT/MODIS_NPOESS/trunk" # INPUT DATA DIRECTORIES (Aqua) export L1B_DIR="/data/raf/MYD021KM/2007219" #export L1BQKM_DIR="/data/raf/MYD02QKM/2007219" export GEO_DIR="/data/raf/MYD03/2007219" SFC_DIR=$LEOCAT_STATIC_INPUT NWP_DIR=$ANCILLARY_DIR ALG_DATA_DIR="/data/LEOCAT/ALG_DATA" LEOCAT_HOME=$BINARY_DIR/LEOCAT/bin export PATH=$BINARY_DIR/scripts:$PATH export PATH=$BINARY_DIR/ncftp-3.2.1/bin:$PATH export ATMOS_HOME=$BINARY_DIR/modis-atmos PATH=${PATH}:$ATMOS_HOME/scripts # ssec modis software echo " " echo "SSEC software start" export ATMOS_HOME=/scratch/ALGBinary/MODISDB/modis-atmos PATH=${PATH}:$ATMOS_HOME/scripts # these needed for get_anc_gdas_gfs.csh export LOCAL_ANC_DIR=$ANCILLARY_DIR export REMOTE_ANC_DIR=ftp://ftp.ssec.wisc.edu/pub/eosdb/ancillary echo init > name for L1_INPUT_NAME in $( ls $L1B_DIR ); do echo " " echo L1b filename: $L1_INPUT_NAME rm -f name date1 echo $L1_INPUT_NAME > name export sat_name=`cut -d. -f1 name | sed 's/[0-9]//'` echo `cut -dA -f2 name` > date1 export date=`cut -d. -f1 date1` export time=`cut -d. -f3 name` # echo "sat_name: " $sat_name # echo "date: " $date # echo "time: " $time # Get ancillary data (GDAS, RSST, NISE, ICEC) GDAS=`get_anc_gdas_gfs.csh $date $time` NISE=`get_anc_nise.csh $date` # NISE="${ANCILLARY_DIR}/NISE_SSMIF13_20041001.HDFEOS" RSST=`get_anc_rsst_wday.csh $date` # RSST="${ANCILLARY_DIR}/oisst.20041006" echo "GDAS file = " $GDAS echo "NISE file = " $NISE echo "RSST file = " $RSST # Check for required ancillary data (GDAS and RSST) if [ ! -r $GDAS ]; then echo "GDAS file not found: "$GDAS exit 1 fi if [ ! -r $NISE ]; then echo "NISE file not found: "$NISE exit 1 fi if [ ! -r $RSST ]; then echo "RSST file not found: "$RSST exit 1 fi # QKM FILE NAME # CDIR=`pwd` # echo $CDIR # cd $L1BQKM_DIR # QKM_FILE=$( ls -1 *$time*) # echo "Input QKM directory name: " $L1BQKM_DIR # echo "Input QKM file name: " $QKM_FILE # cd $CDIR # CLOUD MASK OUTPUT FILE NAMES: L2_OUTPUT_NAME1="leocatL2_v2.Aqua_modis."$date"."$time"_M35C6_v1.8.hdf" # L2_OUTPUT_NAME1="leocatL2_v2.Terra_modis."$date"."$time"_M35C6_v1.8.hdf" echo Output file name: $L2_OUTPUT_NAME1 # AQUA GEOLOCATION FILE NAME: GEO_FILE=$GEO_DIR/MYD03*"$date"."$time"*.hdf echo "GEO_FILE = " $GEO_DIR/MYD03*"$date"."$time"*.hdf # TERRA GEOLOCATION FILE NAME: # GEO_FILE=$GEO_DIR/MOD03*"$date"."$time"*.hdf # echo "GEO_FILE = " $GEO_DIR/MOD03*"$date"."$time"*.hdf echo " " echo "Parameters to LEOCAT:" echo "ALGNO1 :" $ALGNO1 echo "GEO_DIR :" $GEO_DIR echo "SFC_DIR :" $SFC_DIR echo "ALG_DATA_DIR :" $ALG_DATA_DIR echo "L1B_DIR :" $L1B_DIR echo "L2_OUTPUT_NAME :" $L2_OUTPUT_NAME1 cd $WORKING_DIR # CREATE MODIS CLOUD MASK (MOD35) /data/raf/breezy/leocatfamily/raf_leocat_64 -wd $LEOCAT_HOME -nol3 -a $ALGNO1 -satType aqua -satYYYDDD $date -satHHMM $time -geo_file $GEO_FILE -nise_file $NISE -sst_file $RSST -sfc_dir $SFC_DIR -algData_dir $ALG_DATA_DIR -l1b_dir $L1B_DIR -l2_name $L2_OUTPUT_NAME1 -nwp gdas -nwp_dir $NWP_DIR -f $L1_INPUT_NAME # CREATE CLOUD MASK (uses 250-m files) # /data/raf/breezy/leocatfamily/raf_leocat_64 -wd $LEOCAT_HOME -nol3 -a $ALGNO1 -satType aqua -satYYYDDD $date -satHHMM $time -geo_file $GEO_FILE -nise_file $NISE -sst_file $RSST -sfc_dir $SFC_DIR -algData_dir $ALG_DATA_DIR -l1b_dir $L1B_DIR -l2_name $L2_OUTPUT_NAME1 -nwp gdas -nwp_dir $NWP_DIR -f $L1_INPUT_NAME -l1b_qkm_dir $L1BQKM_DIR -qkm_file $QKM_FILE done exit 0