Skip to content

Commit 47f8c82

Browse files
authored
Adaption to EWC setup: (#42)
1. use ECTRANS_ID=none to save the output data in the local directory $MSSDIR instead of transfer by ectrans 2. define pythonpath and include local (miniforge) environment path into $PATH 3. allow cleanup of old data, e.g. older than 2 dyas to avoid disk overflow 4. add specific label $LABEL to the output files 5. replace ml.drop (out-dated) by ml.drop_vars in add_anillery.py
1 parent f2ae323 commit 47f8c82

File tree

4 files changed

+65
-16
lines changed

4 files changed

+65
-16
lines changed

bin/add_ancillary.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ def main():
273273
ml["pv"].attrs["units"] = VARIABLES["pv"][1]
274274
ml["pv"].attrs["standard_name"] = VARIABLES["pv"][2]
275275
finally:
276-
ml = ml.drop("metpy_crs")
276+
ml = ml.drop_vars("metpy_crs")
277277
if option.n2:
278278
print("Adding N2...")
279279
try:

bin/convert.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#Copyright (C) 2021 by Forschungszentrum Juelich GmbH
33
#Author(s): Joern Ungermann, May Baer
44

5-
export mlfile=mss/${BASE}.ml.nc
6-
export plfile=mss/${BASE}.pl.nc
7-
export alfile=mss/${BASE}.al.nc
8-
export tlfile=mss/${BASE}.tl.nc
9-
export pvfile=mss/${BASE}.pv.nc
10-
export sfcfile=mss/${BASE}.sfc.nc
11-
export tmpfile=mss/.${BASE}.tmp
5+
export mlfile=mss/${BASE}.${LABEL}ml.nc
6+
export plfile=mss/${BASE}.${LABEL}pl.nc
7+
export alfile=mss/${BASE}.${LABEL}al.nc
8+
export tlfile=mss/${BASE}.${LABEL}tl.nc
9+
export pvfile=mss/${BASE}.${LABEL}pv.nc
10+
export sfcfile=mss/${BASE}.${LABEL}sfc.nc
11+
export tmpfile=mss/.${BASE}.${LABEL}tmp
1212

1313
if [ ! -f grib/${BASE}.ml.grib ]; then
1414
echo FATAL `date` Model level file is missing
@@ -32,9 +32,9 @@ if [[ x$PV_LEVELS != x"" ]]; then
3232
fi
3333

3434
echo adding gph
35-
ls
35+
3636
$PYTHON $BINDIR/compute_geopotential_on_ml.py grib/${BASE}.ml.grib grib/${BASE}.ml2.grib -o ${tmpfile}
37-
ls
37+
3838
cdo -f nc4c -t ecmwf copy ${tmpfile} ${tmpfile}_z
3939
ncatted -O \
4040
-a standard_name,z,o,c,geopotential_height \

bin/get_ecmwf.sh

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,30 @@ export time_units="hours since ${init_date}"
9191
# Convert grib to netCDF, set init time
9292
. $BINDIR/convert.sh
9393

94+
if [ $ECTRANS_ID == "none" ]
95+
then
96+
echo "no ectrans transfer -- move data to " $MSSDIR
97+
if [ x$TRANSFER_MODEL_LEVELS == x"yes" ]; then
98+
mv $mlfile $MSSDIR
99+
fi
100+
if [ -f $tlfile ]; then
101+
mv $tlfile $MSSDIR
102+
fi
103+
if [ -f $plfile ]; then
104+
mv $plfile $MSSDIR
105+
fi
106+
if [ -f $pvfile ]; then
107+
mv $pvfile $MSSDIR
108+
109+
fi
110+
if [ -f $alfile ]; then
111+
mv $alfile $MSSDIR
112+
fi
113+
if [ -f $sfcfile ]; then
114+
mv $sfcfile $MSSDIR
115+
fi
116+
else
117+
94118
if ecaccess-association-list | grep -q $ECTRANS_ID; then
95119
echo "Transfering files to "$ECTRANS_ID
96120
if [ x$TRANSFER_MODEL_LEVELS == x"yes" ]; then
@@ -112,15 +136,30 @@ if ecaccess-association-list | grep -q $ECTRANS_ID; then
112136
ectrans -remote $ECTRANS_ID -source $sfcfile -target $sfcfile -overwrite -remove
113137
fi
114138
fi
115-
139+
fi
116140
if [[ x$CLEANUP == x"yes" ]]
117141
then
142+
export CYMD=${CLEANUP_YEAR}${CLEANUP_MONTH}${CLEANUP_DAY}
143+
export CBASE=${DATASET}.${CYMD}T${HH}.${FCSTEP}
144+
echo cleanup $CBASE
145+
118146
# clean up locally
119-
for f in $mlfile $tlfile $plfile $pvfile $alfile $sfcfile grib/${BASE}*.grib;
147+
for f in $mlfile $tlfile $plfile $pvfile $alfile $sfcfile grib/${CBASE}*.grib;
120148
do
121149
if [ -f $f ];
122150
then
123151
rm $f
124152
fi
125153
done
154+
if [ $ECTRANS_ID == "none" ]
155+
then
156+
# clean up MSS server dir
157+
for f in $MSSDIR/${CBASE}*.nc
158+
do
159+
if [ -f $f ];
160+
then
161+
rm $f
162+
fi
163+
done
164+
fi
126165
fi

settings.example

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
# Do not leave any whitespaces
22
# variable=value
33

4+
export PATH=$HOME/miniforge3/envs/retrieval/bin/:$PATH
5+
46
# write data to the $SCRATCH directory with more available disk quota
57
export WORKDIR=$HOME/data-retrieval
6-
7-
export PYTHON=python3
8-
export CLEANUP=no
8+
export MSSDIR=/mswms-data/mssdata/ecmwf
9+
export PYTHON=$HOME/miniforge3/envs/retrieval/bin/python
910

1011
# configure area, grid, and transfer
1112
export AREA=75/-15/30/42.5
1213
export GRID=1.0/1.0
13-
export ECTRANS_ID=MSS-Data-Transfer
14+
# Set label for output files
15+
export LABEL=
16+
17+
# set ECTRANS_ID to "none" if write to local $MSSDIR
18+
# export ECTRANS_ID=MSS-Data-Transfer
19+
export ECTRANS_ID=none
1420

1521
# set init and forecast times for testing
1622
# (default 36h from today 00:00)
@@ -22,3 +28,7 @@ export HH=00
2228
export FCSTEP=036
2329
export STEP=0/to/36/by/6
2430

31+
export CLEANUP=yes
32+
export CLEANUP_DAY=`date --date=-2days +%d`
33+
export CLEANUP_MONTH=`date --date=-2days +%m`
34+
export CLEANUP_YEAR=`date --date=-2days +%Y`

0 commit comments

Comments
 (0)