[Fwd: Re: [Dart-dev] [3233] DART/trunk: Major update to merge_obs_seq:]

Nancy Collins nancy at ucar.edu
Wed Feb 13 11:37:39 MST 2008


sorry - i meant to cc the dev list as well with my answer.

n.

-------- Original Message --------
Subject: 	Re: [Dart-dev] [3233] DART/trunk: Major update to merge_obs_seq:
Date: 	Wed, 13 Feb 2008 11:35:07 -0700
From: 	Nancy Collins <nancy at ucar.edu>
To: 	Hui Liu <hliu at ucar.edu>
References: 	<200802131708.m1DH88In015659 at subversion.ucar.edu> 
<web-15464517 at mail.ucar.edu>



you can do it with a little script that sets the
input.nml first/last times and sets the output file
with the same single input file, and runs merge
multiple times.   i have a test script which does
something close - i'll attach a script which you
can start with.

n.

Hui Liu wrote:
> Nancy et al:
>
>   This is very convenient tool!  Is there any similar stuff
> for splitting some big obs_seq files, say a ten-day file into 10 daily 
> files
> ?
>   Another thing is should we rename the workshop_setup.csh to a more 
> meaningful name,
> such as compile_dart.csh?  It is not so straight forward for some new 
> users
> to understand the meaning of the script.
> Thanks.
>
> hui
>

-------------- next part --------------
#!/bin/ksh 

# split a single obs_seq file into 10 daily files
# THIS SCRIPT OVERWRITES YOUR input.nml FILE, SO
# SAVE A COPY FIRST!!

# you'll have to fix the obs_kind_nml values
# to match your model.

# set up constant part at beginning
cat > input.nml.head <<EOF
&obs_sequence_nml
   write_binary_obs_sequence = .false.  /

&obs_kind_nml
   assimilate_these_obs_types = 'RAW_STATE_VARIABLE'  /

&utilities_nml
   TERMLEVEL = 1,
   module_details = .false.,
   logfilename = 'dart_log.out'  /


EOF


###############################
# do one of these per day - you need to set
# the first/last day to be the right day
cat input.nml.head - > input.nml <<EOF

&merge_obs_seq_nml
   num_input_files = 1,
   filename_seq    = 'obs_seq.10days',
   filename_out    = 'obs_seq.day1',
   first_obs_days           = 149800,
   first_obs_seconds        = 0,
   last_obs_days            = 149800,
   last_obs_seconds         = 86399,
  /

EOF

./merge_obs_seq 

###############################
cat input.nml.head - > input.nml <<EOF

&merge_obs_seq_nml
   num_input_files = 1,
   filename_seq    = 'obs_seq.10days',
   filename_out    = 'obs_seq.day2',
   first_obs_days           = 149801,
   first_obs_seconds        = 0,
   last_obs_days            = 149801,
   last_obs_seconds         = 86399,
  /

EOF

./merge_obs_seq 


# etc


More information about the Dart-dev mailing list