[Met_help] [rt.rap.ucar.edu #81326] History for question about MET V5.2 MODE (UNCLASSIFIED)

John Halley Gotway via RT met_help at ucar.edu
Wed Aug 9 10:15:25 MDT 2017


----------------------------------------------------------------
  Initial Request
----------------------------------------------------------------

CLASSIFICATION: UNCLASSIFIED

I have fcst and obs which are time-stamped as follows (samples of actual
times):

FCST (YYYYMMDD_HHMMSS)
20140925_101500
20140925_103000
20140925_104500
20140925_110000
20140925_111500


OBS (same format string as fcst)
20140925_101248
20140925_103053
20140925_104859
20140925_105802
20140925_111609

I selected the obs, which are taken about every 9 mins, based on the closest
match in time to the fcst times.

I have run MODE on the first pair (fcst=20140925_101500 and
obs=20140925_101248) by using the "valid_time" setting in the config file
separately for the fcst dictionary and the obs dictionary.

My question is about the method for running MODE on multiple pairs without
having to run MODE separately for each pair with a dedicated run command and
config file. The User's Guide mentions the use of text file lists for fcst
and obs which are used in MET Ensemble-Stat and Met Series Analysis, but I
didn't see this for MODE. For the fcst, could I specify all the pairs in the
config file using the "field = [" then followed by:

{ valid_time = "YYYYMMDD_HHMMSS"; },
{ valid_time = "YYYYMMDD_HHMMSS"; },
{ valid_time = "YYYYMMDD_HHMMSS"; },
{ valid_time = "YYYYMMDD_HHMMSS"; },
{ valid_time = "YYYYMMDD_HHMMSS"; },

Then do the same for the obs, then run a script which runs the MODE command
repetitively (five times per example) with each command specifying the fcst
and obs data explicitly for each pair?

You probably have a better way to do this.

Thanks.

R/
John




CLASSIFICATION: UNCLASSIFIED


----------------------------------------------------------------
  Complete Ticket History
----------------------------------------------------------------

Subject: question about MET V5.2 MODE (UNCLASSIFIED)
From: John Halley Gotway
Time: Tue Jul 25 13:51:28 2017

John,

I see you have a question about configuring MODE to run over multiple
times.  Ensemble-Stat and Series-Analysis are designed to run over
multiple
input files.  Typically, Series-Analysis is run over a time series of
data,
which it sounds like is what you'd like to do with MODE.

However, MODE is not designed to do that.  Instead, each call to MODE
processes a single input forecast field and compares it to a single
input
observation field.

MODE Time Domain (mtd) on the other hand, is intended to be run on a
time
series of data.

But I'll assume you really mean MODE and not MTD.

Here's what I'd suggest.  Have your script loop over the lines of your
input files, and for each line, set two environment variables
${FCST_VALID_TIME} and ${OBS_VALID_TIME}.  Then call MODE, being sure
to
reference those variables in your config file.

For example, using c-shell:

csh

echo "20140925_101500\
20140925_103000\
20140925_104500\
20140925_110000\
20140925_111500" > FCST_TIMES

echo "20140925_101248\
20140925_103053\
20140925_104859\
20140925_105802\
20140925_111609" > OBS_TIMES

foreach line (`paste FCST_TIMES OBS_TIMES -d':'`)
   setenv FCST_VALID_TIME `echo $line | cut -d':' -f1`
   setenv  OBS_VALID_TIME `echo $line | cut -d':' -f2`
   echo "$FCST_VALID_TIME $OBS_VALID_TIME"
   # Call MODE for this time
end

In the MODE config file use, the following in the "fcst" section:
   valid_time = "${FCST_VALID_TIME}";

And the following in the "obs" section:
   valid_time = "${OBS_VALID_TIME}";

Make sense?  Of course there's any number of ways you could set your
script
up to loop over these pairs of timestamps, but the key is using
environment
variables in the MODE config file.

Thanks,
John


On Tue, Jul 25, 2017 at 12:58 PM, Raby, John W USA CIV via RT <
met_help at ucar.edu> wrote:

>
> Tue Jul 25 12:58:37 2017: Request 81326 was acted upon.
> Transaction: Ticket created by john.w.raby2.civ at mail.mil
>        Queue: met_help
>      Subject: question about MET V5.2 MODE (UNCLASSIFIED)
>        Owner: Nobody
>   Requestors: john.w.raby2.civ at mail.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81326 >
>
>
> CLASSIFICATION: UNCLASSIFIED
>
> I have fcst and obs which are time-stamped as follows (samples of
actual
> times):
>
> FCST (YYYYMMDD_HHMMSS)
> 20140925_101500
> 20140925_103000
> 20140925_104500
> 20140925_110000
> 20140925_111500
>
>
> OBS (same format string as fcst)
> 20140925_101248
> 20140925_103053
> 20140925_104859
> 20140925_105802
> 20140925_111609
>
> I selected the obs, which are taken about every 9 mins, based on the
> closest
> match in time to the fcst times.
>
> I have run MODE on the first pair (fcst=20140925_101500 and
> obs=20140925_101248) by using the "valid_time" setting in the config
file
> separately for the fcst dictionary and the obs dictionary.
>
> My question is about the method for running MODE on multiple pairs
without
> having to run MODE separately for each pair with a dedicated run
command
> and
> config file. The User's Guide mentions the use of text file lists
for fcst
> and obs which are used in MET Ensemble-Stat and Met Series Analysis,
but I
> didn't see this for MODE. For the fcst, could I specify all the
pairs in
> the
> config file using the "field = [" then followed by:
>
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
>
> Then do the same for the obs, then run a script which runs the MODE
command
> repetitively (five times per example) with each command specifying
the fcst
> and obs data explicitly for each pair?
>
> You probably have a better way to do this.
>
> Thanks.
>
> R/
> John
>
>
>
>
> CLASSIFICATION: UNCLASSIFIED
>
>

------------------------------------------------
Subject: question about MET V5.2 MODE (UNCLASSIFIED)
From: Raby, John W USA CIV
Time: Tue Jul 25 16:16:25 2017

CLASSIFICATION: UNCLASSIFIED

John -

Thanks for the information about MTD. Now, with this example, I see
the
possibilities with MTD in a way which, just reading about it, didn't.
MTD
appears to be aggregating the output over the period of time for which
you
have input files in the same sense that MET Series-Analysis does. Is
this
correct?

For now, I just wanted a way to generate separate MODE output files
for each
fcst-ob pair in an automated way since I have fcst files which are 15
mins
apart over a 24 hour fcst period along with the same number of obs
files. If I
have to manually edit the config file and the MODE run script to
change the
times for each pair it would get to be a very large an error-prone
task.
Thanks for your suggestion below on the use of the environment
variables.

R/
John

-----Original Message-----
From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
Sent: Tuesday, July 25, 2017 1:51 PM
To: Raby, John W CIV USARMY RDECOM ARL (US)
<john.w.raby2.civ at mail.mil>
Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #81326] question about
MET V5.2
MODE (UNCLASSIFIED)

All active links contained in this email were disabled.  Please verify
the
identity of the sender, and confirm the authenticity of all links
contained
within the message prior to copying and pasting the address to a Web
browser.




----

John,

I see you have a question about configuring MODE to run over multiple
times.
Ensemble-Stat and Series-Analysis are designed to run over multiple
input
files.  Typically, Series-Analysis is run over a time series of data,
which it
sounds like is what you'd like to do with MODE.

However, MODE is not designed to do that.  Instead, each call to MODE
processes a single input forecast field and compares it to a single
input
observation field.

MODE Time Domain (mtd) on the other hand, is intended to be run on a
time
series of data.

But I'll assume you really mean MODE and not MTD.

Here's what I'd suggest.  Have your script loop over the lines of your
input
files, and for each line, set two environment variables
${FCST_VALID_TIME} and
${OBS_VALID_TIME}.  Then call MODE, being sure to reference those
variables in
your config file.

For example, using c-shell:

csh

echo "20140925_101500\
20140925_103000\
20140925_104500\
20140925_110000\
20140925_111500" > FCST_TIMES

echo "20140925_101248\
20140925_103053\
20140925_104859\
20140925_105802\
20140925_111609" > OBS_TIMES

foreach line (`paste FCST_TIMES OBS_TIMES -d':'`)
   setenv FCST_VALID_TIME `echo $line | cut -d':' -f1`
   setenv  OBS_VALID_TIME `echo $line | cut -d':' -f2`
   echo "$FCST_VALID_TIME $OBS_VALID_TIME"
   # Call MODE for this time
end

In the MODE config file use, the following in the "fcst" section:
   valid_time = "${FCST_VALID_TIME}";

And the following in the "obs" section:
   valid_time = "${OBS_VALID_TIME}";

Make sense?  Of course there's any number of ways you could set your
script up
to loop over these pairs of timestamps, but the key is using
environment
variables in the MODE config file.

Thanks,
John


On Tue, Jul 25, 2017 at 12:58 PM, Raby, John W USA CIV via RT <
met_help at ucar.edu> wrote:

>
> Tue Jul 25 12:58:37 2017: Request 81326 was acted upon.
> Transaction: Ticket created by john.w.raby2.civ at mail.mil
>        Queue: met_help
>      Subject: question about MET V5.2 MODE (UNCLASSIFIED)
>        Owner: Nobody
>   Requestors: john.w.raby2.civ at mail.mil
>       Status: new
>  Ticket <Caution-url:
> Caution-https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81326 >
>
>
> CLASSIFICATION: UNCLASSIFIED
>
> I have fcst and obs which are time-stamped as follows (samples of
> actual
> times):
>
> FCST (YYYYMMDD_HHMMSS)
> 20140925_101500
> 20140925_103000
> 20140925_104500
> 20140925_110000
> 20140925_111500
>
>
> OBS (same format string as fcst)
> 20140925_101248
> 20140925_103053
> 20140925_104859
> 20140925_105802
> 20140925_111609
>
> I selected the obs, which are taken about every 9 mins, based on the
> closest match in time to the fcst times.
>
> I have run MODE on the first pair (fcst=20140925_101500 and
> obs=20140925_101248) by using the "valid_time" setting in the config
> file separately for the fcst dictionary and the obs dictionary.
>
> My question is about the method for running MODE on multiple pairs
> without having to run MODE separately for each pair with a dedicated
> run command and config file. The User's Guide mentions the use of
text
> file lists for fcst and obs which are used in MET Ensemble-Stat and
> Met Series Analysis, but I didn't see this for MODE. For the fcst,
> could I specify all the pairs in the config file using the "field =
["
> then followed by:
>
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
> { valid_time = "YYYYMMDD_HHMMSS"; },
>
> Then do the same for the obs, then run a script which runs the MODE
> command repetitively (five times per example) with each command
> specifying the fcst and obs data explicitly for each pair?
>
> You probably have a better way to do this.
>
> Thanks.
>
> R/
> John
>
>
>
>
> CLASSIFICATION: UNCLASSIFIED
>
>


CLASSIFICATION: UNCLASSIFIED

------------------------------------------------


More information about the Met_help mailing list