rc-qlc 0.3.24__cp310-cp310-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- qlc/__init__.py +8 -0
- qlc/cli/__init__.py +21 -0
- qlc/cli/installer.py +16 -0
- qlc/cli/qlc_main.py +185 -0
- qlc/cli/qlc_py_main.py +74 -0
- qlc/config/json/qlc_config.json +41 -0
- qlc/config/json/qlc_config_example_1a_all-obs.json +237 -0
- qlc/config/json/qlc_config_example_1b_all-mod.json +353 -0
- qlc/config/json/qlc_config_example_1c_all-coll.json +266 -0
- qlc/config/json/qlc_config_example_2a_all-obs.json +237 -0
- qlc/config/json/qlc_config_example_2b_all-mod.json +353 -0
- qlc/config/json/qlc_config_example_2c_all-coll.json +265 -0
- qlc/config/json/qlc_config_example_3a-us_obs.json +82 -0
- qlc/config/json/qlc_config_example_3b-us_mod.json +122 -0
- qlc/config/json/qlc_config_example_3c-us_coll.json +46 -0
- qlc/config/json/qlc_config_example_4a_eu-obs.json +41 -0
- qlc/config/json/qlc_config_example_4b_eu-mod.json +122 -0
- qlc/config/json/qlc_config_example_4c_eu-coll.json +45 -0
- qlc/config/nml/mars_A1_sfc.nml +19 -0
- qlc/config/nml/mars_A2_sfc.nml +19 -0
- qlc/config/nml/mars_A3_sfc.nml +19 -0
- qlc/config/nml/mars_B1_pl.nml +19 -0
- qlc/config/nml/mars_B2_pl.nml +19 -0
- qlc/config/nml/mars_C1_pl.nml +19 -0
- qlc/config/nml/mars_C2_pl.nml +19 -0
- qlc/config/nml/mars_C3_ml.nml +19 -0
- qlc/config/nml/mars_D.nml +19 -0
- qlc/config/nml/mars_E.nml +19 -0
- qlc/config/nml/mars_F.nml +19 -0
- qlc/config/nml/mars_G.nml +19 -0
- qlc/config/qlc_cams.conf +26 -0
- qlc/config/qlc_test.conf +26 -0
- qlc/config/qlc_tex.conf +107 -0
- qlc/doc/CONTRIBUTING.md +105 -0
- qlc/doc/README.md +116 -0
- qlc/doc/USAGE.md +58 -0
- qlc/examples/cams_case_1/config/json/qlc_config.json +41 -0
- qlc/examples/cams_case_1/config/nml/mars_A3_sfc.nml +19 -0
- qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml +19 -0
- qlc/examples/cams_case_1/config/nml/mars_C1_pl.nml +19 -0
- qlc/examples/cams_case_1/config/qlc_cams.conf +122 -0
- qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb +0 -0
- qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181201.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181202.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181203.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181204.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181205.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181206.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181207.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181208.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181209.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181210.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181211.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181212.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181213.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181214.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181215.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181216.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181217.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181218.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181219.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181220.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181221.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181222.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181223.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181224.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181225.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181226.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181227.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181228.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181229.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181230.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181231.nc +0 -0
- qlc/examples/cams_case_1/obs/ebas_station-locations.csv +50 -0
- qlc/install.py +285 -0
- qlc/py/__main__.cp310-win32.pyd +0 -0
- qlc/py/averaging.cp310-win32.pyd +0 -0
- qlc/py/bias_plots.cp310-win32.pyd +0 -0
- qlc/py/control.cp310-win32.pyd +0 -0
- qlc/py/io.cp310-win32.pyd +0 -0
- qlc/py/loadmod.cp310-win32.pyd +0 -0
- qlc/py/loadobs.cp310-win32.pyd +0 -0
- qlc/py/logging_utils.cp310-win32.pyd +0 -0
- qlc/py/map_plots.cp310-win32.pyd +0 -0
- qlc/py/matched.cp310-win32.pyd +0 -0
- qlc/py/plot_config.cp310-win32.pyd +0 -0
- qlc/py/plotting.cp310-win32.pyd +0 -0
- qlc/py/plugin_loader.cp310-win32.pyd +0 -0
- qlc/py/processing.cp310-win32.pyd +0 -0
- qlc/py/scatter_plots.cp310-win32.pyd +0 -0
- qlc/py/stations.cp310-win32.pyd +0 -0
- qlc/py/statistics.cp310-win32.pyd +0 -0
- qlc/py/style.cp310-win32.pyd +0 -0
- qlc/py/timeseries_plots.cp310-win32.pyd +0 -0
- qlc/py/utils.cp310-win32.pyd +0 -0
- qlc/py/version.cp310-win32.pyd +0 -0
- qlc/sh/qlc_A1.sh +127 -0
- qlc/sh/qlc_B1a.sh +123 -0
- qlc/sh/qlc_B2.sh +258 -0
- qlc/sh/qlc_C5.sh +825 -0
- qlc/sh/qlc_D1.sh +130 -0
- qlc/sh/qlc_Z1.sh +165 -0
- qlc/sh/qlc_common_functions.sh +157 -0
- qlc/sh/qlc_main.sh +127 -0
- qlc/sh/qlc_start.sh +23 -0
- qlc/sh/qlc_start_batch.sh +46 -0
- rc_qlc-0.3.24.dist-info/METADATA +142 -0
- rc_qlc-0.3.24.dist-info/RECORD +113 -0
- rc_qlc-0.3.24.dist-info/WHEEL +5 -0
- rc_qlc-0.3.24.dist-info/entry_points.txt +6 -0
- rc_qlc-0.3.24.dist-info/licenses/LICENSE +21 -0
- rc_qlc-0.3.24.dist-info/top_level.txt +1 -0
qlc/sh/qlc_B2.sh
ADDED
@@ -0,0 +1,258 @@
|
|
1
|
+
#!/bin/sh -e
|
2
|
+
|
3
|
+
# Source the configuration file to load the settings
|
4
|
+
. "$CONFIG_FILE"
|
5
|
+
# Include common functions
|
6
|
+
source $FUNCTIONS
|
7
|
+
|
8
|
+
SCRIPT="$0"
|
9
|
+
log "________________________________________________________________________________________"
|
10
|
+
log "Start ${SCRIPT} at `date`"
|
11
|
+
log "Process NC-files (converted grib files of MARS_RETRIEVALS as specified in $CONFIG_FILE) "
|
12
|
+
#log "----------------------------------------------------------------------------------------"
|
13
|
+
#log "Copyright (c) 2021-2025 ResearchConcepts io GmbH. All Rights Reserved. "
|
14
|
+
#log "Questions / comments to: Swen M. Metzger <sm@researchconcepts.io> "
|
15
|
+
log "----------------------------------------------------------------------------------------"
|
16
|
+
|
17
|
+
log "$0 ANALYSIS_DIRECTORY = $ANALYSIS_DIRECTORY"
|
18
|
+
pwd -P
|
19
|
+
|
20
|
+
# module load for ATOS
|
21
|
+
myOS="`uname -s`"
|
22
|
+
HOST=`hostname -s | awk '{printf $1}' | cut -c 1`
|
23
|
+
#log ${HOST} ${ARCH}
|
24
|
+
if [ "${HOST}" == "a" ] && [ "${myOS}" != "Darwin" ]; then
|
25
|
+
module load cdo
|
26
|
+
fi
|
27
|
+
|
28
|
+
# Check if cdo exists
|
29
|
+
if ! command_exists cdo; then
|
30
|
+
log "Error: cdo command not found" >&2
|
31
|
+
exit 1
|
32
|
+
else
|
33
|
+
log "Success: cdo command found"
|
34
|
+
which cdo
|
35
|
+
fi
|
36
|
+
|
37
|
+
# Check if ncdump exists
|
38
|
+
if ! command_exists ncdump; then
|
39
|
+
log "Error: ncdump command not found" >&2
|
40
|
+
exit 1
|
41
|
+
else
|
42
|
+
log "Success: ncdump command found"
|
43
|
+
which ncdump
|
44
|
+
fi
|
45
|
+
|
46
|
+
# Assign the command line input parameters to variables
|
47
|
+
exp1="$1"
|
48
|
+
exp2="$2"
|
49
|
+
sDat="$3"
|
50
|
+
eDat="$4"
|
51
|
+
sDate="${sDat//[-:]/}"
|
52
|
+
eDate="${eDat//[-:]/}"
|
53
|
+
mDate="$sDate-$eDate"
|
54
|
+
|
55
|
+
exps="$exp1 $exp2"
|
56
|
+
for exp in $exps ; do
|
57
|
+
log "Processing experiment: $exp"
|
58
|
+
|
59
|
+
ipath="$MARS_RETRIEVAL_DIRECTORY/$exp"
|
60
|
+
tpath="$ANALYSIS_DIRECTORY/$exp"
|
61
|
+
|
62
|
+
# Create output directory if not existent
|
63
|
+
if [ ! -d "$tpath" ]; then
|
64
|
+
mkdir -p "$tpath"
|
65
|
+
fi
|
66
|
+
|
67
|
+
for name in "${MARS_RETRIEVALS[@]}"; do
|
68
|
+
|
69
|
+
# Define the corresponding arrays based on the name
|
70
|
+
param_var="param_${name}[@]"
|
71
|
+
ncvar_var="ncvar_${name}[@]"
|
72
|
+
myvar_var="myvar_${name}[@]"
|
73
|
+
|
74
|
+
# Use variable indirection to access the arrays
|
75
|
+
param=("${!param_var}")
|
76
|
+
ncvar=("${!ncvar_var}")
|
77
|
+
myvar=("${!myvar_var}")
|
78
|
+
|
79
|
+
log "name : ${name}"
|
80
|
+
log "param: ${param}"
|
81
|
+
log "ncvar: ${ncvar}"
|
82
|
+
log "myvar: ${myvar}"
|
83
|
+
|
84
|
+
cd $ipath
|
85
|
+
|
86
|
+
set +e
|
87
|
+
# List available NC-files
|
88
|
+
# ncfiles=($(ls *${mDate}*_${name}_*.nc))
|
89
|
+
ncfiles=($(ls *${mDate}*_${name}*.nc))
|
90
|
+
set -e
|
91
|
+
|
92
|
+
log "ncfiles : ${ncfiles}"
|
93
|
+
|
94
|
+
cd $tpath
|
95
|
+
|
96
|
+
# Loop through the variables for this $name
|
97
|
+
for ((i = 0; i < ${#ncvar[@]}; i++)); do
|
98
|
+
ncvar_name="${ncvar[i]}"
|
99
|
+
myvar_name="${myvar[i]}"
|
100
|
+
log "ncvar_name: ${ncvar_name}"
|
101
|
+
log "myvar_name: ${myvar_name}"
|
102
|
+
|
103
|
+
if [ ${#ncfiles[@]} -eq 0 ]; then
|
104
|
+
log "No NC-files found in $MARS_RETRIEVAL_DIRECTORY/$exp"
|
105
|
+
else
|
106
|
+
log "Files to process: ${ncfiles[@]}"
|
107
|
+
log "----------------------------------------------------------------------------------------"
|
108
|
+
for file in "${ncfiles[@]}"; do
|
109
|
+
# log "$file"
|
110
|
+
ncfile="$file"
|
111
|
+
|
112
|
+
vars="$(ncdump -h "$ipath/$ncfile" | grep float | sed 's|(| |g' | awk '{printf("%20s", $2)}')"
|
113
|
+
log "nc-file variables: $vars"
|
114
|
+
|
115
|
+
# Extract the data level type
|
116
|
+
ltype="_$(echo "$file" | awk -F'_' '{print $4}' | cut -d'.' -f1)"
|
117
|
+
log "Data level type: $ltype - $file / $exp"
|
118
|
+
|
119
|
+
cdo zaxisdes $ipath/$ncfile > $tpath/zaxisdes
|
120
|
+
head -61 $tpath/zaxisdes > $tpath/zaxis1
|
121
|
+
|
122
|
+
for var in ${vars[@]}; do
|
123
|
+
|
124
|
+
GO="NO"
|
125
|
+
setctomiss="setctomiss,-999"
|
126
|
+
sellevel=""
|
127
|
+
log "var: ${var}"
|
128
|
+
|
129
|
+
if [ "$ncvar_name" == "$var" ]; then
|
130
|
+
variable_rename="$myvar_name"
|
131
|
+
log "ncvar_name / myvar_name: $ncvar_name / $variable_rename"
|
132
|
+
GO="GO"
|
133
|
+
fi
|
134
|
+
|
135
|
+
case "$variable_rename" in
|
136
|
+
"EQdiag")
|
137
|
+
GO="GO2"
|
138
|
+
# declare -a dvars=("GFh2o" "GFhsa" "GFhna" "GFhca" "GFxam" "GFalc" "GFasu" "GFahs" "GFano" "GFacl" "GFslc" "GFssu" "GFshs" "GFsno" "GFscl" "GFplc" "GFpsu" "GFphs" "GFpno" "GFpcl" "GFc01" "GFcsu" "GFc02" "GFcno" "GFccl" "GFm01" "GFmsu" "GFm02" "GFmno" "GFmcl" "AWh2o" "AWhsa" "AWhna" "AWhca" "AWxam" "AWalc" "AWasu" "AWahs" "AWano" "AWacl" "AWslc" "AWssu" "AWshs" "AWsno" "AWscl" "AWplc" "AWpsu" "AWphs" "AWpno" "AWpcl" "AWc01" "AWcsu" "AWc02" "AWcno" "AWccl" "AWm01" "AWmsu" "AWm02" "AWmno" "AWmcl" "EQpH1" "EQpH2" "EQpH3" "EQpH4" "EQpH5" "EQAW1" "EQAW2" "EQAW3" "EQAW4" "EQAD" "EQHp" "EQPMt" "EQPMs" "EQsPM" "EQaPM" "EQRHO" "EQGF" "EQTT" "EQRH" "EQP")
|
139
|
+
# declare -a nvars=( "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77" "78" "79" "80")
|
140
|
+
declare -a nvars=( "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" )
|
141
|
+
# declare -a dvars=("pHtot" "pHaeq" "pHaer" "pHcld" "pHpre" "GFalc" "GFasu" "GFahs" "GFano" "GFacl" "GFslc" "GFssu" "GFshs" "GFsno" "GFscl" "GFplc" "GFpsu" "GFphs" "GFpno" "GFpcl" "GFc01" "GFcsu" "GFc02" "GFcno" "GFccl" "GFm01" "GFmsu" "GFm02" "GFmno" "GFmcl" "LWtot" "LWaeq" "LWaer" "LWcld" "LWpre" "AWalc" "AWasu" "AWahs" "AWano" "AWacl" "AWslc" "AWssu" "AWshs" "AWsno" "AWscl" "AWplc" "AWpsu" "AWphs" "AWpno" "AWpcl" "AWc01" "AWcsu" "AWc02" "AWcno" "AWccl" "AWm01" "AWmsu" "AWm02" "AWmno" "AWmcl" "eq_TT" "eq_RH" "eq__P" "eq_ID" "eqPMt" "eqPMs" "eqsPM" "eqaPM" "eqRHO" "eq_Hp" "eq_GF")
|
142
|
+
declare -a dvars=("pHtot" "pHaeq" "pHaer" "pHcld" "pHpre" "GFalc" "GFasu" "GFahs" "GFano" "GFacl" "GFslc" "GFssu" "GFshs" "GFsno" "GFscl" "GFplc" "GFpsu" "GFphs" "GFpno" "GFpcl" "GFc01" "GFcsu" "GFc02" "GFcno" "GFccl" "GFm01" "GFmsu" "GFm02" "GFmno" "GFmcl" "LWtot" "LWaeq" "LWaer" "LWcld" "LWpre" "AWalc" "AWasu" "AWahs" "AWano" "AWacl" "AWslc" "AWssu" "AWshs" "AWsno" "AWscl" "AWplc" "AWpsu" "AWphs" "AWpno" "AWpcl" "AWc01" "AWcsu" "AWc02" "AWcno" "AWccl" "AWm01" "AWmsu" "AWm02" "AWmno" "AWmcl" "eqTT" "eqRH" "eqP" "eqID" "eqPMt" "eqPMs" "eqsPM" "eqaPM" "eqRHO" "eqHp" "eqGF")
|
143
|
+
# declare -a nvars=( "1" "2" "3" "4" "5" )
|
144
|
+
# declare -a dvars=("pHtot" "pHaeq" "pHaer" "pHcld" "pHpre")
|
145
|
+
;;
|
146
|
+
esac
|
147
|
+
|
148
|
+
varn="$variable_rename"
|
149
|
+
|
150
|
+
if [ "${ltype}" == "_pl" ]; then
|
151
|
+
tfile=`echo $ncfile | sed "s|${ltype}\.nc|${ltype}_${varn}\.nc|g"`
|
152
|
+
else
|
153
|
+
# tfile=`echo $ncfile | sed "s|${ltype}\.nc|_${varn}\.nc|g"`
|
154
|
+
tfile=`echo $ncfile | sed "s|${ltype}\.nc|${ltype}_${varn}\.nc|g"`
|
155
|
+
fi
|
156
|
+
|
157
|
+
if [ "${ltype}" == "_sfc" ]; then
|
158
|
+
setzaxis="-setzaxis,$tpath/zaxis1"
|
159
|
+
else
|
160
|
+
setzaxis=""
|
161
|
+
fi
|
162
|
+
|
163
|
+
if [ -f "$tpath/$tfile" ] && [ "$ncvar_name" == "$var" ]; then
|
164
|
+
GO="NO"
|
165
|
+
log "renaming $ncvar_name of $ncfile to $tfile"
|
166
|
+
log "Nothing to do, target file exists:"
|
167
|
+
ls -lh $tpath/$tfile
|
168
|
+
elif [ ! -f "$tpath/$tfile" ] && [ "$ncvar_name" == "$var" ]; then
|
169
|
+
log "renaming $ncvar_name of $ncfile to $tfile"
|
170
|
+
log $tpath/zaxis1
|
171
|
+
cat $tpath/zaxis1
|
172
|
+
# else
|
173
|
+
# log "No renaming for $ncvar_name != $var of $ncfile to $tfile"
|
174
|
+
fi
|
175
|
+
|
176
|
+
if [ "${GO}" == "GO" ]; then
|
177
|
+
log "----------------------------------------------------------------------------------------"
|
178
|
+
log "cdo ${setctomiss} ${setzaxis} -setcalendar,standard -chname,level,lev -chname,longitude,lon -chname,latitude,lat -chname,$var,${varn} ${sellevel} -selvar,$var $ipath/$ncfile $tpath/$tfile"
|
179
|
+
cdo ${setctomiss} ${setzaxis} -setcalendar,standard -chname,level,lev -chname,longitude,lon -chname,latitude,lat -chname,$var,${varn} ${sellevel} -selvar,$var $ipath/$ncfile $tpath/$tfile
|
180
|
+
ls -lh $tpath/$tfile
|
181
|
+
log "----------------------------------------------------------------------------------------"
|
182
|
+
fi # GO
|
183
|
+
|
184
|
+
# log "add time average"
|
185
|
+
xfile=`echo $tfile | sed "s|${varn}\.nc|${varn}_tavg\.nc|g"`
|
186
|
+
if [ -f "$tpath/$xfile" ]; then
|
187
|
+
log "Nothing to do, target file exists: $tpath/$xfile"
|
188
|
+
else
|
189
|
+
log "cdo timavg $tpath/$tfile $tpath/$xfile"
|
190
|
+
cdo timavg $tpath/$tfile $tpath/$xfile
|
191
|
+
fi
|
192
|
+
ls -lh $tpath/$xfile
|
193
|
+
|
194
|
+
done # var
|
195
|
+
|
196
|
+
if [ "${GO}" == "GO2" ]; then
|
197
|
+
if [ ${#dvars[@]} -ne ${#nvars[@]} ]; then
|
198
|
+
log "Error: Arrays have different lengths."
|
199
|
+
exit 1
|
200
|
+
fi
|
201
|
+
EQdiag="$tpath/$tfile"
|
202
|
+
for ((i=0; i<${#dvars[@]}; i++)); do
|
203
|
+
dvar="${dvars[$i]}"
|
204
|
+
nvar="${nvars[$i]}"
|
205
|
+
|
206
|
+
log "dvar: ${dvar}"
|
207
|
+
log "nvar: ${nvar}"
|
208
|
+
varn="${dvar}"
|
209
|
+
lev="${nvar}"
|
210
|
+
sellevel="-sellevel,${lev}"
|
211
|
+
tfile=`echo $ncfile | sed "s|${ltype}\.nc|_${varn}\.nc|g"`
|
212
|
+
if [ -f "$tpath/$tfile" ]; then
|
213
|
+
log "Nothing to do, target file exists: $tpath/$tfile"
|
214
|
+
else
|
215
|
+
log "cdo ${setctomiss} ${setzaxis} -setcalendar,standard -chname,level,lev -chname,longitude,lon -chname,latitude,lat -chname,$var,${varn} ${sellevel} -selvar,$var $ipath/$ncfile $tpath/$tfile"
|
216
|
+
cdo ${setctomiss} ${setzaxis} -setcalendar,standard -chname,level,lev -chname,longitude,lon -chname,latitude,lat -chname,$var,${varn} ${sellevel} -selvar,$var $ipath/$ncfile $tpath/$tfile
|
217
|
+
fi
|
218
|
+
ls -lh $tpath/$tfile
|
219
|
+
|
220
|
+
# log "add time average"
|
221
|
+
xfile=`echo $tfile | sed "s|${varn}\.nc|${varn}_tavg\.nc|g"`
|
222
|
+
if [ -f "$tpath/$xfile" ]; then
|
223
|
+
log "Nothing to do, target file exists: $tpath/$xfile"
|
224
|
+
else
|
225
|
+
log "cdo timavg $tpath/$tfile $tpath/$xfile"
|
226
|
+
cdo timavg $tpath/$tfile $tpath/$xfile
|
227
|
+
fi
|
228
|
+
ls -lh $tpath/$xfile
|
229
|
+
|
230
|
+
done
|
231
|
+
# link last entry to EQdiag.nc
|
232
|
+
ln -s $tpath/$tfile $EQdiag
|
233
|
+
# ln -s $tpath/$xfile $EQdiag_tavg
|
234
|
+
fi
|
235
|
+
|
236
|
+
if [ "${GO}" == "GO" ] || [ "${GO}" == "GO2" ] ;then
|
237
|
+
log "----------------------------------------------------------------------------------------"
|
238
|
+
log "rm $ipath/$ncfile"
|
239
|
+
# rm $ipath/$ncfile
|
240
|
+
log "----------------------------------------------------------------------------------------"
|
241
|
+
fi # GO/GO2
|
242
|
+
|
243
|
+
done # file
|
244
|
+
log "----------------------------------------------------------------------------------------"
|
245
|
+
fi
|
246
|
+
|
247
|
+
done # ncvar
|
248
|
+
done # name
|
249
|
+
done # exps
|
250
|
+
|
251
|
+
log "$ipath"
|
252
|
+
log "$tpath"
|
253
|
+
|
254
|
+
log "----------------------------------------------------------------------------------------"
|
255
|
+
log "End ${SCRIPT} at `date`"
|
256
|
+
log "________________________________________________________________________________________"
|
257
|
+
|
258
|
+
exit 0
|