Skip to content

Commit e977f3d

Browse files
authored
Merge pull request #958 from emkemp/fix/retune_bratseth
Fix/retune bratseth
2 parents b953674 + d14c4b9 commit e977f3d

File tree

7 files changed

+71
-59
lines changed

7 files changed

+71
-59
lines changed

lis/compile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ fi
116116
# Compile standalone Fortran utilities for tuning Air Force Bratseth scheme.
117117
if [ "$compile_autotune" = "YES" ]; then
118118
echo "Compiling Air Force Bratseth tuning utilities"
119-
if cd utils/afwa/retune_bratseth/src
119+
if cd utils/usaf/retune_bratseth/src # EMK Fix path
120120
then
121121
echo ""
122122
make -f Makefile

lis/utils/usaf/retune_bratseth/cfgs/autotune.cfg

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
#
44

55
[Input]
6-
workdir: /discover/nobackup/emkemp/AFWA/autoretune/work
6+
workdir: /discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/2021
77

8-
scriptdir: /discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/utils/usaf/retune_bratseth/scripts
8+
scriptdir: /discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/utils/usaf/retune_bratseth/scripts
99

10-
cfgdir: /discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/utils/usaf/retune_bratseth/cfgs
10+
cfgdir: /discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/utils/usaf/retune_bratseth/cfgs
1111

12-
bindir: /discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/utils/usaf/retune_bratseth/src
12+
bindir: /discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/utils/usaf/retune_bratseth/src
1313

14-
lis_cfg_template: /discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/configs/557WW-7.3-FOC/lis.config.global.jules50.ops
14+
lis_cfg_template: /discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/configs/557WW-7.4-FOC/NRT_GLOBAL/lis.config.global.noah39.ops
1515

16-
varlist: rh2m,spd10m,t2m,gage,cmorph,geoprecip,imerg,ssmi
16+
varlist: rh2m,spd10m,t2m,gage,imerg

lis/utils/usaf/retune_bratseth/cfgs/blacklist_spd10m.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[Input]
66
network_thresh: 1
77
count_thresh: 28
8-
omb_thresh: 3
8+
omb_thresh: 1.
99

1010
data_directory: spd10m_OBA
1111
data_frequency: 01

lis/utils/usaf/retune_bratseth/cfgs/blacklist_t2m.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[Input]
66
network_thresh: 1
77
count_thresh: 28
8-
omb_thresh: 5
8+
omb_thresh: 2.
99

1010
data_directory: t2m_OBA
1111
data_frequency: 01

lis/utils/usaf/retune_bratseth/scripts/autotune.py

Lines changed: 52 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
REVISION HISTORY:
99
03 Nov 2020: Eric Kemp. Initial specification.
1010
16 Dec 2020: Eric Kemp. Now calls create_blacklist via function call.
11+
13 Dec 2021: Eric Kemp. Added checks for missing satellite data.
1112
"""
1213

1314
import configparser
@@ -272,49 +273,57 @@ def assemble_new_lines(self):
272273
line += " %s\n" %(self.sigma2o["gage"])
273274
lines.append(line)
274275

275-
if self.Lo["geoprecip"] > 0:
276-
line = \
277-
"AGRMET GALWEM Precip GEOPRECIP observation error scale length (m):"
278-
line += " %s\n" %(self.Lo["geoprecip"])
279-
lines.append(line)
280-
281-
if self.sigma2o["geoprecip"] > 0:
282-
line = "AGRMET GALWEM Precip GEOPRECIP observation error variance:"
283-
line += " %s\n" %(self.sigma2o["geoprecip"])
284-
lines.append(line)
285-
286-
if self.Lo["ssmi"] > 0:
287-
line = \
288-
"AGRMET GALWEM Precip SSMI observation error scale length (m):"
289-
line += " %s\n" %(self.Lo["ssmi"])
290-
lines.append(line)
291-
292-
if self.sigma2o["ssmi"] > 0:
293-
line = "AGRMET GALWEM Precip SSMI observation error variance:"
294-
line += " %s\n" %(self.sigma2o["ssmi"])
295-
lines.append(line)
296-
297-
if self.Lo["cmorph"] > 0:
298-
line = \
299-
"AGRMET GALWEM Precip CMORPH observation error scale length (m):"
300-
line += " %s\n" %(self.Lo["cmorph"])
301-
lines.append(line)
302-
303-
if self.sigma2o["cmorph"] > 0:
304-
line = "AGRMET GALWEM Precip CMORPH observation error variance:"
305-
line += " %s\n" %(self.sigma2o["cmorph"])
306-
lines.append(line)
307-
308-
if self.Lo["imerg"] > 0:
309-
line = \
310-
"AGRMET GALWEM Precip IMERG observation error scale length (m)"
311-
line += " %s\n" %(self.Lo["imerg"])
312-
lines.append(line)
313-
314-
if self.sigma2o["imerg"] > 0:
315-
line = "AGRMET GALWEM Precip IMERG observation error variance:"
316-
line += " %s\n" %(self.sigma2o["imerg"])
317-
lines.append(line)
276+
if "geoprecip" in self.Lo:
277+
if self.Lo["geoprecip"] > 0:
278+
line = \
279+
"AGRMET GALWEM Precip GEOPRECIP observation error scale length (m):"
280+
line += " %s\n" %(self.Lo["geoprecip"])
281+
lines.append(line)
282+
283+
if "geoprecip" in self.sigma2o:
284+
if self.sigma2o["geoprecip"] > 0:
285+
line = "AGRMET GALWEM Precip GEOPRECIP observation error variance:"
286+
line += " %s\n" %(self.sigma2o["geoprecip"])
287+
lines.append(line)
288+
289+
if "ssmi" in self.Lo:
290+
if self.Lo["ssmi"] > 0:
291+
line = \
292+
"AGRMET GALWEM Precip SSMI observation error scale length (m):"
293+
line += " %s\n" %(self.Lo["ssmi"])
294+
lines.append(line)
295+
296+
if "ssmi" in self.sigma2o:
297+
if self.sigma2o["ssmi"] > 0:
298+
line = "AGRMET GALWEM Precip SSMI observation error variance:"
299+
line += " %s\n" %(self.sigma2o["ssmi"])
300+
lines.append(line)
301+
302+
if "cmorph" in self.Lo:
303+
if self.Lo["cmorph"] > 0:
304+
line = \
305+
"AGRMET GALWEM Precip CMORPH observation error scale length (m):"
306+
line += " %s\n" %(self.Lo["cmorph"])
307+
lines.append(line)
308+
309+
if "cmorph" in self.sigma2o:
310+
if self.sigma2o["cmorph"] > 0:
311+
line = "AGRMET GALWEM Precip CMORPH observation error variance:"
312+
line += " %s\n" %(self.sigma2o["cmorph"])
313+
lines.append(line)
314+
315+
if "imerg" in self.Lo:
316+
if self.Lo["imerg"] > 0:
317+
line = \
318+
"AGRMET GALWEM Precip IMERG observation error scale length (m)"
319+
line += " %s\n" %(self.Lo["imerg"])
320+
lines.append(line)
321+
322+
if "imerg" in self.sigma2o:
323+
if self.sigma2o["imerg"] > 0:
324+
line = "AGRMET GALWEM Precip IMERG observation error variance:"
325+
line += " %s\n" %(self.sigma2o["imerg"])
326+
lines.append(line)
318327

319328
if self.Lb["t2m"] > 0:
320329
line = "AGRMET GALWEM T2M background error scale length (m):"

lis/utils/usaf/retune_bratseth/scripts/fit_semivariogram.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
26 Oct 2020: Eric Kemp. Initial Specification.
1111
03 Nov 2020: Eric Kemp. Removed plotting. Fitted parameters are now saved
1212
to file.
13+
13 Dec 2021: Eric Kemp. Changed first guess for covariance settings.
1314
"""
1415

1516
# Standard library
@@ -56,8 +57,8 @@ def usage():
5657

5758
# Fit function
5859
# Comparing gages to background field. Three parameters must be fit.
59-
sigma2_gage_guess = np.amin(variovector)
60-
sigma2_back_guess = np.amax(variovector) - sigma2_gage_guess
60+
sigma2_gage_guess = (np.amin(variovector) + np.amax(variovector)) / 2.
61+
sigma2_back_guess = sigma2_gage_guess
6162
L_back_guess = distvector[2]
6263
fit_func = semivar.fit_func_dict[function_type]
6364
sigma2_gage_min = 0.1*sigma2_gage_guess

lis/utils/usaf/retune_bratseth/scripts/run_autotune_discover.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
#
2525
# REVISION HISTORY:
2626
# 17 Dec 2020: Eric Kemp. Initial specification.
27+
# 13 Dec 2021: Eric Kemp. Updated module, and removed obsolete satellite
28+
# data feeds.
2729
#
2830
#------------------------------------------------------------------------------
2931

@@ -39,16 +41,16 @@ fi
3941
module purge
4042
unset LD_LIBRARY_PATH
4143
module use --append /home/emkemp/privatemodules
42-
module load lisf_7_intel_19_1_3_304_traceback-work-around
44+
module load lisf_7_intel_2021.4.0_s2s
4345

4446
# Define the variables to be processed
4547
NWPVARS=(gage rh2m spd10m t2m)
46-
SATVARS=(cmorph geoprecip imerg ssmi)
48+
SATVARS=(imerg)
4749

4850
# Paths on local system
49-
SCRIPTDIR=/discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/utils/usaf/retune_bratseth/scripts
50-
CFGDIR=/discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/utils/usaf/retune_bratseth/cfgs
51-
BINDIR=/discover/nobackup/emkemp/AFWA/autoretune/LISF/lis/utils/usaf/retune_bratseth/src
51+
SCRIPTDIR=/discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/utils/usaf/retune_bratseth/scripts
52+
CFGDIR=/discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/utils/usaf/retune_bratseth/cfgs
53+
BINDIR=/discover/nobackup/projects/lis_aist17/emkemp/AFWA/lis74_bratseth_retuning_for_ops/build/LISF/lis/utils/usaf/retune_bratseth/src
5254

5355
# Get the command line arguments to specify the training period.
5456
if [ -z "$1" ] ; then

0 commit comments

Comments
 (0)