#!/bin/csh -f

#######################################################################
#      This script creates systematic error files based on
#              quickstat sys (aka pltsys) plots
#      INPUT:  Complete pathname of corcmp.rc used for plots
#######################################################################

set statsrc = $1
set SOURCE  = `dirname $statsrc`
cd $SOURCE

# Determine Experiments to plot
# -----------------------------
 set allexps = `grep "DSC.*:" $statsrc | grep -v \# | grep -v \*`
 @   numexps = $#allexps / 2
 set    exps = ''
 @   n = 1
 while ($n <= $numexps )
   @ loc = $n * 2 - 1
   set len1 = `echo $allexps[$loc] | awk '{print length($0)}'`
   @   len2 = $len1 - 1
   set exp  = `echo $allexps[$loc] | cut -c4-$len2`
   set exps = `echo $exps $exp`
   @      n = $n + 1
 end

#######################################################################

foreach DSC ($exps)
set EXP = `grep DSC${DSC}: $statsrc | grep -v \# | grep -v \* | cut -d: -f2`
cd $SOURCE/$EXP

#######################################################################
#        Check for Number Consistency Among Upper-Level Fields
#######################################################################

set fields1 = `echo u v t q h`
set fields2 = `echo u v t q h`
set success = TRUE

foreach field1 ($fields1)
    set levs1 = `/bin/ls -1 *${field1}fma*nc3 | wc -l`

set dummy = ''
foreach field ($fields2)
if( $field != $field1 ) set dummy = `echo $dummy $field`
end
set fields2 = `echo $dummy`

foreach field2 ($fields2)
   if( $field1 != $field2 ) then
     set levs2 = `/bin/ls -1 *${field2}fma*nc3 | wc -l`
     if( ${levs1} != ${levs2} ) then
         echo NumLevs for $field1 \(${levs1}\) does not equal NumLevs for $field2 \(${levs2}\)
         set success = FALSE
     endif
   endif

end
end

if( $success == 'FALSE' ) exit
 
set  levs1  = `/bin/ls -1 *pfma*nc3 | wc -l`
if( $levs1 != 1 ) then
     echo Cannot find pfma files.
     exit
endif

set    pfiles = `/bin/ls -1 stats_slp*gif`
set numpfiles = $#pfiles
set SEASON    = `echo $pfiles[$numpfiles] | cut -d. -f1 | cut -b24-`
set expdsc    = `cat $statsrc | grep "DESC:" | cut -d: -f2`

#######################################################################
#             Merge Separate Level Files into Single File
#######################################################################

set fields = `echo p u v t q h`

foreach field ($fields)

if( ! -e ${field}fma_${EXP}_merged.nc4 ) then
    if( $field == 'p' ) then
    cdo -f nc4 --reduce_dim merge `/bin/ls -1 *${field}fma_*nc3 | sort -rV` ${field}fma_${EXP}_merged.nc4
    else
    cdo -f nc4 merge              `/bin/ls -1 *${field}fma_*nc3 | sort -rV` ${field}fma_${EXP}_merged.nc4
    endif
endif

end
 
#######################################################################
#             Merge Separate Field Files into Single File
#######################################################################

if( ! -e ../${EXP}_syserr_${expdsc}_${SEASON}.nc4 ) then

cdo merge pfma_${EXP}_merged.nc4 \
          ufma_${EXP}_merged.nc4 \
          vfma_${EXP}_merged.nc4 \
          tfma_${EXP}_merged.nc4 \
          qfma_${EXP}_merged.nc4 \
          hfma_${EXP}_merged.nc4 syserr_${EXP}.nc4

ncatted -O -a time_increment,time,o,l,60000                                            \
           -a begin_date,time,o,l,19800101                                             \
           -a begin_time,time,o,l,0                                                    \
           -a long_name,,c,c,"long_name"                                               \
           -a units,,c,c,"unknown"                                                     \
           -a vmin,,c,f,1.e15                                                          \
           -a vmax,,c,f,1.e15                                                          \
           -a Source,global,o,c,"Goddard Modeling and Assimilation Office, NASA/GSFC"  \
           -a Title,global,o,c,"Flat to HDF Format Conversion"                         \
           -a Contact,global,o,c,"data@gmao.gsfc.nasa.gov"                             \
            syserr_${EXP}.nc4

           /bin/mv syserr_${EXP}.nc4 ../${EXP}_syserr_${expdsc}_${SEASON}.nc4
endif

#######################################################################

end
