[cdftools] 44/228: JMM working on monitor_prod_work.ksh
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Jun 12 08:21:27 UTC 2015
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch master
in repository cdftools.
commit 3f4cc31cb80b72d04d2c6053b90f61802c1cbe8b
Author: molines <molines at 1055176f-818a-41d9-83e1-73fbe5b947c5>
Date: Wed May 19 18:19:10 2010 +0000
JMM working on monitor_prod_work.ksh
git-svn-id: http://servforge.legi.grenoble-inp.fr/svn/CDFTOOLS/trunk@320 1055176f-818a-41d9-83e1-73fbe5b947c5
---
JOBS/monitor_prod_work.ksh | 141 +++++++++++++++++++++++++++++++--------------
1 file changed, 97 insertions(+), 44 deletions(-)
diff --git a/JOBS/monitor_prod_work.ksh b/JOBS/monitor_prod_work.ksh
index b572e6b..85f3564 100755
--- a/JOBS/monitor_prod_work.ksh
+++ b/JOBS/monitor_prod_work.ksh
@@ -39,7 +39,8 @@ set -x
# check existence of some required directories
# ... on gaya
chkdirg $DIAGS
- chkdirg $DIAGS/NC
+ chkdirg $DIAGS/TXT # for ASCII diag files (to become obsolete)
+ chkdirg $DIAGS/NC # for NetCdf diag files
#------------------------------------------------------------------------------
# PATH:
@@ -218,16 +219,16 @@ set -x
cdfmean ${CONFCASE}_y${YEAR}_gridT.nc vosaline T >> $fsmean ; mv cdfmean.nc $fsmean_nc
# dispose ASCII file in the -DIAGS directory
- expatrie $fsshmean $DIAGS $fsshmean
- expatrie $ftmean $DIAGS $ftmean
- expatrie $fsmean $DIAGS $fsmean
+ expatrie $fsshmean $DIAGS/TXT $fsshmean
+ expatrie $ftmean $DIAGS/TXT $ftmean
+ expatrie $fsmean $DIAGS/TXT $fsmean
# dispose ASCII file in the -DIAGS/NC directory
expatrie $fsshmean_nc $DIAGS/NC $fsshmean_nc
expatrie $ftmean_nc $DIAGS/NC $ftmean_nc
expatrie $fsmean_nc $DIAGS/NC $fsmean_nc
- if [ $(chkfile $DIAGS/LEVITUS_y0000_TMEAN.txt ) == absent ] ; then
+ if [ $(chkfile $DIAGS/TXT/LEVITUS_y0000_TMEAN.txt ) == absent ] ; then
# first time : Create header with Levitus equivalent
# requires LEVITUS 'same' diags (from the ANNUAL mean )
# !!! NEW !!!
@@ -242,8 +243,8 @@ set -x
cdfmean $levitus votemper T > LEVITUS_y0000_TMEAN.txt ; mv cdfmean.nc LEVITUS_y0000_TMEAN.nc
cdfmean $levitus vosaline T > LEVITUS_y0000_SMEAN.txt ; mv cdfmean.nc LEVITUS_y0000_SMEAN.nc
- expatrie LEVITUS_y0000_TMEAN.txt $DIAGS LEVITUS_y0000_TMEAN.txt
- expatrie LEVITUS_y0000_SMEAN.txt $DIAGS LEVITUS_y0000_SMEAN.txt
+ expatrie LEVITUS_y0000_TMEAN.txt $DIAGS/TXT LEVITUS_y0000_TMEAN.txt
+ expatrie LEVITUS_y0000_SMEAN.txt $DIAGS/TXT LEVITUS_y0000_SMEAN.txt
expatrie LEVITUS_y0000_TMEAN.nc $DIAGS/NC LEVITUS_y0000_TMEAN.nc
expatrie LEVITUS_y0000_SMEAN.nc $DIAGS/NC LEVITUS_y0000_SMEAN.nc
fi
@@ -268,16 +269,16 @@ set -x
fice_nc=${CONFCASE}_y${YEAR}_ice.nc
echo '###' $YEAR 02 > $fice
- cdficediags ${CONFCASE}_y${YEAR}m02_icemod.nc cdfout >> $fice ; mv icediags.nc $fice_nc
+ cdficediags ${CONFCASE}_y${YEAR}m02_icemod.nc >> $fice ; mv icediags.nc $fice_nc
echo '###' $YEAR 03 >> $fice
- cdficediags ${CONFCASE}_y${YEAR}m03_icemod.nc cdfout >> $fice ; ncks -A icediags.nc $fice_nc
+ cdficediags ${CONFCASE}_y${YEAR}m03_icemod.nc >> $fice ; nrcat -A $fice_nc icediags.nc -o $fice_nc
echo '###' $YEAR 08 >> $fice
- cdficediags ${CONFCASE}_y${YEAR}m08_icemod.nc cdfout >> $fice ; ncks -A icediags.nc $fice_nc
+ cdficediags ${CONFCASE}_y${YEAR}m08_icemod.nc >> $fice ; nrcat -A $fice_nc icediags.nc -o $fice_nc
echo '###' $YEAR 09 >> $fice
- cdficediags ${CONFCASE}_y${YEAR}m09_icemod.nc cdfout >> $fice ; ncks -A icediags.nc $fice_nc
+ cdficediags ${CONFCASE}_y${YEAR}m09_icemod.nc >> $fice ; nrcat -A $fice_nc icediags.nc -o $fice_nc
- expatrie $fice $DIAGS $fice
- expatrie $fice_nc $DIAGS/NC $fice_nc
+ expatrie $fice $DIAGS/TXT $fice
+ expatrie $fice_nc $DIAGS/NC $fice_nc
fi
# Ice Volume area and extent for all months: input file : icemod, and mesh_mask
@@ -303,16 +304,24 @@ set -x
m=1
while (( $m <= 12 )) ; do
mm=$( printf "%02d" $m )
+
case $mm in
01) echo '###' $YEAR $mm > $fice ;;
*) echo '###' $YEAR $mm >> $fice ;;
esac
+
cdficediags ${CONFCASE}_y${YEAR}m${mm}_icemod.nc cdfout >> $fice ; ncks -A icediags.nc $fice_nc
+
+ case $mm in
+ 01) mv icediags.nc $fice_nc ;;
+ *) ncrcat -A $fice_nc icediags.nc -o $fice_nc ;;
+ esac
+
m=$(( m + 1 ))
done
- expatrie $fice $DIAGS $fice
- expatrie $fice_nc $DIAGS/NC $fice_nc
+ expatrie $fice $DIAGS/TXT $fice
+ expatrie $fice_nc $DIAGS/NC $fice_nc
fi
@@ -339,12 +348,12 @@ set -x
echo $YEAR > $fsgib
cdfmean ${CONFCASE}_y${YEAR}_gridT.nc vosaline T $GIBWIN 0 0 >> $fsgib ; mv cdfmean.nc $fsgib_nc
- expatrie $ftgib $DIAGS $ftgib
- expatrie $fsgib $DIAGS $fsgib
- expatrie $ftgib_nc $DIAGS/NC $ftgib_nc
- expatrie $fsgib_nc $DIAGS/NC $fsgib_nc
+ expatrie $ftgib $DIAGS/TXT $ftgib
+ expatrie $fsgib $DIAGS/TXT $fsgib
+ expatrie $ftgib_nc $DIAGS/NC $ftgib_nc
+ expatrie $fsgib_nc $DIAGS/NC $fsgib_nc
- if [ $(chkfile $DIAGS/LEVITUS_y0000_TGIB.txt ) == absent ] ; then
+ if [ $(chkfile $DIAGS/TXT/LEVITUS_y0000_TGIB.txt ) == absent ] ; then
# first time : Create header with Levitus equivalent
# requires LEVITUS 'same' diags (from the ANNUAL mean )
levitus=${TSCLIM:=Levitus_p2.1}_ANNUAL_TS_masked_$( echo $CONFIG | tr 'A-Z' 'a-z').nc
@@ -359,10 +368,10 @@ set -x
fi
cdfmean $levitus votemper T $GIBWIN 0 0 > LEVITUS_y0000_TGIB.txt ; mv cdfmean.nc LEVITUS_y0000_TGIB.nc
cdfmean $levitus vosaline T $GIBWIN 0 0 > LEVITUS_y0000_SGIB.txt ; mv cdfmean.nc LEVITUS_y0000_SGIB.nc
- expatrie LEVITUS_y0000_TGIB.txt $DIAGS LEVITUS_y0000_TGIB.txt
- expatrie LEVITUS_y0000_SGIB.txt $DIAGS LEVITUS_y0000_SGIB.txt
- expatrie LEVITUS_y0000_TGIB.nc $DIAGS/NC LEVITUS_y0000_TGIB.nc
- expatrie LEVITUS_y0000_SGIB.nc $DIAGS/NC LEVITUS_y0000_SGIB.nc
+ expatrie LEVITUS_y0000_TGIB.txt $DIAGS/TXT LEVITUS_y0000_TGIB.txt
+ expatrie LEVITUS_y0000_SGIB.txt $DIAGS/TXT LEVITUS_y0000_SGIB.txt
+ expatrie LEVITUS_y0000_TGIB.nc $DIAGS/NC LEVITUS_y0000_TGIB.nc
+ expatrie LEVITUS_y0000_SGIB.nc $DIAGS/NC LEVITUS_y0000_SGIB.nc
fi
fi
@@ -381,6 +390,12 @@ set -x
fnino3_nc=${CONFCASE}_y${YEAR}_NINO3.nc
fnino4_nc=${CONFCASE}_y${YEAR}_NINO4.nc
fnino34_nc=${CONFCASE}_y${YEAR}_NINO34.nc
+
+ # special function for concatenation of Netcdf output
+ cdfmean_concat() { case $mm in
+ 01) mv cdfmean.nc $1 ;;
+ *) ncrcat -A $1 cdfmean.nc -o $1 ;;
+ esac ; }
# get monthly mean gridT files and compute mean SST on each NINO box
for m in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
@@ -393,23 +408,30 @@ set -x
printf "%04d %02d" $YEAR $m >> $fnino
# nino 1+2 [ -90 W -- -80 W, -10 S -- 10 N ]
- cdfmean $f votemper T $NINO12 1 1 | tail -1 | awk '{ printf " %8.5f 0.00", $6 }' >> $fnino ; ncks -A cdfmean.nc $fnino12_nc
+ cdfmean $f votemper T $NINO12 1 1 | tail -1 | awk '{ printf " %8.5f 0.00", $6 }' >> $fnino
+ cdfmean_concat $fnino12_nc
+
# nino 3 [ -150 W -- -90 W, -5 S -- 5 N ]
- cdfmean $f votemper T $NINO3 1 1 | tail -1 | awk '{ printf " %8.5f 0.00", $6 }' >> $fnino ; ncks -A cdfmean.nc $fnino3_nc
+ cdfmean $f votemper T $NINO3 1 1 | tail -1 | awk '{ printf " %8.5f 0.00", $6 }' >> $fnino
+ cdfmean_concat $fnino3_nc
+
# nino 4 [ -200 W -- -150 W, -5 S -- 5 N ]
- cdfmean $f votemper T $NINO4 1 1 | tail -1 | awk '{ printf " %8.5f 0.00", $6 }' >> $fnino ; ncks -A cdfmean.nc $fnino4_nc
+ cdfmean $f votemper T $NINO4 1 1 | tail -1 | awk '{ printf " %8.5f 0.00", $6 }' >> $fnino
+ cdfmean_concat $fnino4_nc
+
# nino 3.4 [ -170 W -- -120 W, -% S -- % N ]
- cdfmean $f votemper T $NINO34 1 1 | tail -1 | awk '{ printf " %8.5f 0.00\n", $6 }' >> $fnino ; ncks -A cdfmean.nc $fnino34_nc
+ cdfmean $f votemper T $NINO34 1 1 | tail -1 | awk '{ printf " %8.5f 0.00\n", $6 }' >> $fnino
+ cdfmean_concat $fnino34_nc
done
- expatrie $fnino $DIAGS $fnino
- expatrie $fnino12_nc $DIAGS/NC $fnino12_nc
- expatrie $fnino3_nc $DIAGS/NC $fnino3_nc
- expatrie $fnino4_nc $DIAGS/NC $fnino4_nc
- expatrie $fnino34_nc $DIAGS/NC $fnino34_nc
+ expatrie $fnino $DIAGS/TXT $fnino
+ expatrie $fnino12_nc $DIAGS/NC $fnino12_nc
+ expatrie $fnino3_nc $DIAGS/NC $fnino3_nc
+ expatrie $fnino4_nc $DIAGS/NC $fnino4_nc
+ expatrie $fnino34_nc $DIAGS/NC $fnino34_nc
fi
-############################JMM#################################### up to here
+
# Transport: Input files: VT, gridU, gridV, mesh mask, section.dat
#^^^^^^^^^^^
if [ $TRP == 1 ] ; then
@@ -439,7 +461,16 @@ set -x
grep -v Give $fsection | grep -v level | grep -v IMAX | grep -v FROM > tmp
mv -f tmp $fsection
- expatrie $fsection $DIAGS $fsection
+ expatrie $fsection $DIAGS/TXT $fsection
+
+ # save x_transports.nc file
+ listfiles=$( ls | grep transports.nc )
+
+ for file in $listfiles ; do
+ mv $file ${CONFCASE}_y${YEAR}_$file
+ expatrie ${CONFCASE}_y${YEAR}_$file $DIAGS/NC ${CONFCASE}_y${YEAR}_$file
+ done
+
fi
# Heat and Salt Meridional Transport : Input files : VT, mesh mask, new_maskglo
@@ -456,14 +487,17 @@ set -x
rapatrie ${MESH_MASK_ID}_mesh_zgr.nc $IDIR mesh_zgr.nc
if (( $atl == 0 )) ; then rapatrie new_maskglo.nc $IDIR new_maskglo.nc ; fi
- # Ascii output file:
+ # Ascii output files:
fheat=${CONFCASE}_y${YEAR}_heattrp.dat
fsalt=${CONFCASE}_y${YEAR}_salttrp.dat
+ # Netcdf output files: (both head and salt in 2 separated variables)
- cdfmhst ${CONFCASE}_y${YEAR}_VT.nc
+ cdfmhst ${CONFCASE}_y${YEAR}_VT.nc MST # Save Meridional salt transport as well
+ mv mhst.nc ${CONFCASE}_y${YEAR}_mhst.nc
- expatrie zonal_heat_trp.dat $DIAGS ${CONFCASE}_y${YEAR}_heattrp.dat
- expatrie zonal_salt_trp.dat $DIAGS ${CONFCASE}_y${YEAR}_salttrp.dat
+ expatrie zonal_heat_trp.dat $DIAGS/TXT $fheat
+ expatrie zonal_salt_trp.dat $DIAGS/TXT $fsalt
+ expatrie ${CONFCASE}_y${YEAR}_mhst.nc $DIAGS/NC ${CONFCASE}_y${YEAR}_mhst.nc
# needed below with the correct name
cp zonal_heat_trp.dat ${CONFCASE}_y${YEAR}_heattrp.dat
@@ -473,7 +507,8 @@ set -x
rapatrie ${CONFCASE}_y${YEAR}_gridT.nc $MEANY ${CONFCASE}_y${YEAR}_gridT.nc
cdfhflx ${CONFCASE}_y${YEAR}_gridT.nc
- expatrie hflx.out $DIAGS ${CONFCASE}_y${YEAR}_hflx.dat
+ expatrie hflx.out $DIAGS/TXT ${CONFCASE}_y${YEAR}_hflx.dat
+ expatrie cdfhflx.nc $DIAGS/NC ${CONFCASE}_y${YEAR}_hflx.nc
fi
@@ -492,45 +527,63 @@ set -x
if (( atl == 0 )) ; then
# GLO
printf "%s" 'Glo ' >> $fmaxmoc ; cdfmaxmoc $f glo 20 60 500 2000 | grep Maximum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_maxmoc.nc
printf "%s" 'Glo ' >> $fmaxmoc ; cdfmaxmoc $f glo -40 30 2000 5500 | grep Minimum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_minmoc.nc
# ATL
printf "%s" 'Atl ' >> $fmaxmoc ; cdfmaxmoc $f atl 0 60 500 2000 | grep Maximum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Atl_maxmoc.nc
printf "%s" 'Atl ' >> $fmaxmoc ; cdfmaxmoc $f atl -20 40 2000 5500 | grep Minimum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Atl_minmoc.nc
#INP
printf "%s" 'Inp ' >> $fmaxmoc ; cdfmaxmoc $f inp 15 50 100 1000 | grep Minimum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Inp_minmoc.nc
printf "%s" 'Inp ' >> $fmaxmoc ; cdfmaxmoc $f inp -30 20 1000 5500 | grep Minimum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Inp_minmoc2.nc
#AUS
printf "%s" 'Aus ' >> $fmaxmoc ; cdfmaxmoc $f glo -70 0 0 2000 | grep Maximum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Aus_maxmoc.nc
printf "%s" 'Aus ' >> $fmaxmoc ; cdfmaxmoc $f glo -70 0 2000 5500 | grep Minimum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Aus_minmoc.nc
- expatrie $fmaxmoc $DIAGS $fmaxmoc
+ expatrie $fmaxmoc $DIAGS/TXT $fmaxmoc
# Max and Min of MOC at some specific latitudes
# GLO MAX at 40 N and 30S
printf "%s" 'Glo ' >> $fmaxmoc40 ; cdfmaxmoc $f glo 40 40 500 2000 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_maxmoc40N.nc
printf "%s" 'Glo ' >> $fmaxmoc40 ; cdfmaxmoc $f glo -30 -30 500 5500 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_maxmoc30S.nc
# ATL MAX at 40N and 30S
printf "%s" 'Atl ' >> $fmaxmoc40 ; cdfmaxmoc $f atl 40 40 500 2000 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Atl_maxmoc40N.nc
printf "%s" 'Atl ' >> $fmaxmoc40 ; cdfmaxmoc $f atl -30 -30 500 5000 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Atl_maxmoc30S.nc
#INP Min at 30 S
printf "%s" 'Inp ' >> $fmaxmoc40 ; cdfmaxmoc $f inp -30 -30 1000 5500 | grep Minimum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Inp_minmoc30S.nc
#AUS MAX at 50 S
printf "%s" 'Aus ' >> $fmaxmoc40 ; cdfmaxmoc $f glo -50 -50 0 2000 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Aus_maxmoc50S.nc
- expatrie $fmaxmoc40 $DIAGS $fmaxmoc40
+ expatrie $fmaxmoc40 $DIAGS/TXT $fmaxmoc40
else # NATL configuration
# GLO
printf "%s" 'Glo ' >> $fmaxmoc ; cdfmaxmoc $f glo 20 60 500 2000 | grep Maximum >> $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_maxmoc.nc
printf "%s" 'Glo ' >> $fmaxmoc ; cdfmaxmoc $f glo -40 30 2000 5500 | grep Minimum >> $fmaxmoc
- expatrie $fmaxmoc $DIAGS $fmaxmoc
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_minmoc.nc
+ expatrie $fmaxmoc $DIAGS/TXT $fmaxmoc
# Max and Min of MOC at some specific latitudes
# GLO MAX at 40 N and 30S
printf "%s" 'Glo ' >> $fmaxmoc40 ; cdfmaxmoc $f glo 40 40 500 2000 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_maxmoc40N.nc
printf "%s" 'Glo ' >> $fmaxmoc40 ; cdfmaxmoc $f glo -15 -15 500 5500 | grep Maximum >> $fmaxmoc40
+ expatrie maxmoc.nc $DIAGS/NC ${CONFIG}-${CASE}_y${YEAR}_Glo_maxmoc15S.nc
- expatrie $fmaxmoc40 $DIAGS $fmaxmoc40
+ expatrie $fmaxmoc40 $DIAGS/TXT $fmaxmoc40
# clean for next year
\rm moc.nc
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cdftools.git
More information about the debian-science-commits
mailing list