From nancy at ucar.edu Wed Jan 6 13:41:50 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Wed, 06 Jan 2010 13:41:50 -0700
Subject: [Dart-dev] [4210] DART/trunk/models: Huge overhaul to conform to
HTML spec and to provide
Message-ID:
Revision: 4210
Author: thoar
Date: 2010-01-06 13:41:50 -0700 (Wed, 06 Jan 2010)
Log Message:
-----------
Huge overhaul to conform to HTML spec and to provide
new terms of use. This highlights some inconsistencies
in variable names of our required interfaces.
Must fix that in the not-too-distant future.
Modified Paths:
--------------
DART/trunk/models/MITgcm_ocean/model_mod.html
DART/trunk/models/PBL_1d/model_mod.html
DART/trunk/models/POP/model_mod.html
DART/trunk/models/cam/model_mod.html
DART/trunk/models/coamps/model_mod.html
DART/trunk/models/forced_lorenz_96/model_mod.html
DART/trunk/models/ikeda/model_mod.html
DART/trunk/models/lorenz_04/model_mod.html
DART/trunk/models/lorenz_63/model_mod.html
DART/trunk/models/lorenz_84/model_mod.html
DART/trunk/models/lorenz_96/model_mod.html
DART/trunk/models/model_mod.html
DART/trunk/models/pe2lyr/model_mod.html
DART/trunk/models/simple_advection/model_mod.html
DART/trunk/models/wrf/model_mod.html
Property Changed:
----------------
DART/trunk/models/MITgcm_ocean/model_mod.html
-------------- next part --------------
Modified: DART/trunk/models/MITgcm_ocean/model_mod.html
===================================================================
--- DART/trunk/models/MITgcm_ocean/model_mod.html 2009-12-24 23:07:40 UTC (rev 4209)
+++ DART/trunk/models/MITgcm_ocean/model_mod.html 2010-01-06 20:41:50 UTC (rev 4210)
@@ -1,70 +1,29 @@
+
module MITgcm_ocean model_mod
-
+
-
+
-
converts the DART output into snapshot files to be used as
ocean model input datasets (specified in
- data&PARM05); creates
+ data&PARM05); creates
a new data namelist file
(data.DART) containing the correct
- PARM03;startTime,endTime values to advance
+ &PARM03;startTime,endTime values to advance
the ocean model the expected amount; and creates
a new data.cal namelist file
(data.cal.DART) containing the calendar information.
@@ -146,9 +105,9 @@
The data assimilation period is controlled in the
- input.nml&model_nml
+ input.nml&model_nml
namelist. In combination with the ocean model dynamics timestep
- data&PARM03:deltaTClock
+ data&PARM03:deltaTClock
this determines the amount of time the model will advance for each
assimilation cycle.
@@ -199,9 +158,9 @@
Controlling the model advances
-
+
The assimilation period is specified by two namelist parameters
- in the input.nml&model_nml namelist:
+ in the input.nml&model_nml namelist:
assimilation_period_days and
assimilation_period_seconds.
Normally, all observations within (+/-) HALF of the total assimilation
@@ -209,7 +168,7 @@
The time of the initial conditions is specified by two namelist parameters
- in the input.nml&model_nml namelist:
+ in the input.nml&model_nml namelist:
init_time_days and
init_time_seconds; depending on the settings of these
parameters, the times may or may not come directly from the DART initial
@@ -217,19 +176,19 @@
The ocean model MUST always start from the input datasets defined
- in the data&PARM05 namelist.
+ in the data&PARM05 namelist.
Apparently, this requires
- data&PARM03:startTime to be 0.0.
+ data&PARM03:startTime to be 0.0.
One of the DART support routines (trans_sv_pv)
converts the DART state vector to the files used in
- data&PARM05 and creates new
- data.cal&CAL_NML and
- data&PARM03 namelists with
+ data&PARM05 and creates new
+ data.cal&CAL_NML and
+ data&PARM03 namelists with
values appropriate to advance the model to the desired time.
The ocean model then
- advances till data&PARM03:endTime
+ advances till data&PARM03:endTime
and writes out snapshot files. trans_pv_sv converts the
snapshot files to a DART-compatible file which is ingested by
filter. filter also reads
@@ -238,21 +197,23 @@
set of restart files, one for each ensemble member.
filter then waits for each instance of the
ocean model (one instance for each ensemble member) to advance to
- data&PARM03:endTime.
+ data&PARM03:endTime.
The whole process repeats
until 1) there are no more observations to assimilate (i.e. the
observation sequence file is exhausted) or 2) the time specified by
- input.nml&filter_nml:last_obs_days,last_obs_seconds
+ input.nml&filter_nml:last_obs_days,last_obs_seconds
has been reached.
-
+
Getting Started
+
I always like running something akin to a 'perfect model' experiment to start.
Since I have not come up with a good way to perturb a single model state to
generate an ensemble, here's the next best thing. Please keep in mind that the
details for running each program are covered in their own documentation.
+
create a set of initial conditions for DART as described in
@@ -276,7 +237,10 @@
filter
+
A perfectly sensible approach to get to know the system would be to try to
+
+
assimilate data for the first assimilation period and stop. Do not advance
the model at all. The filter namelist can control all of this and you do
@@ -289,6 +253,7 @@
Exploring the Output
+
Is pretty much like any other model. The netCDF files have the model
prognostic variables before and after the assimilation. There are Matlab®
scripts for perusing the netCDF files in the DART/matlab
@@ -300,14 +265,14 @@
As always, there are some model-specific item you should know about in
DART/models/MITgcm_ocean/matlab, and
DART/models/MITgcm_ocean/shell_scripts.
+
-
-
-
-
+
+
OTHER MODULES USED
+
types_mod
time_manager_mod
@@ -319,10 +284,16 @@
+
+
+
+
+
+
-
-
INTERFACES USED
+
+
PUBLIC INTERFACES
Only a select number of interfaces used are discussed here.
@@ -335,8 +306,6 @@
-Ocean model namelist interfaces &PARM03,
-&PARM04, and
-&PARM04 are read from
+Ocean model namelist interfaces &PARM03,
+&PARM04, and
+&PARM04 are read from
file data.
-Ocean model namelist interface &CAL_NML,
+Ocean model namelist interface &CAL_NML,
is read from file data.cal.
-
+
+ A note about documentation style.
+ Optional arguments are enclosed in brackets
+ [like this].
+
-Returns the length of the model state vector as an integer.
-This includes all nested domains.
+Returns the length of the model state vector.
+Required.
+
+
+
+
model_size
+
The length of the model state vector.
+
+
+
+
-
+
-
-
-call adv_1step(x, time)
+
+
+call adv_1step(x, time)
-real(r8), dimension(:), intent(inout) :: x
-type(time_type), intent(in) :: time
+real(r8), dimension(:), intent(inout) :: x
+type(time_type), intent(in) :: time
-
-
Description
+
+
adv_1step
@@ -446,24 +418,36 @@
Advancing the model is done through the advance_model script.
This is a NULL_INTERFACE, provided only for compatibility with the DART requirements.
Index of state vector element about which information is requested.
-
location
+
location
Returns the 3D location of the indexed state variable.
The location_ type comes from
DART/location/threed_sphere/location_mod.f90.
@@ -500,36 +484,34 @@
-
Notes
-
The list of supported variables in DART/obs_kind/obs_kind_mod.f90
is created by preprocess using the entries in
-input.nml[&preprocess_nml, &obs_kind_nml],
+input.nml[&preprocess_nml, &obs_kind_nml],
DEFAULT_obs_kin_mod.F90 and
obs_def_MITgcm_ocean_mod.f90.
get_model_time_step
@@ -594,16 +577,15 @@
length are used for the assimilation.
In the MITgcm_ocean case, this is set from
the namelist values for input.nml&model_nml:assimilation_period_days, assimilation_period_seconds,
+class="code">&model_nml:assimilation_period_days, assimilation_period_seconds,
after ensuring the forecast length is a multiple of the ocean model dynamical timestep
-declared by data&PARM03:deltaTClock.
+declared by data&PARM03:deltaTClock.
-
var
-
the assimilation width, the minimum amount of time the model can be advanced,
-etc.
static_init_model
@@ -637,27 +617,29 @@
public interface routines.
The namelists (all mandatory) are:
-input.nml&model_mod_nml,
-data.cal&CAL_NML,
-data&PARM03,
-data&PARM04, and
-data&PARM05.
+input.nml&model_mod_nml,
+data.cal&CAL_NML,
+data&PARM03,
+data&PARM04, and
+data&PARM05.
+
+
+
+
+
+
-
-
-
-
-call end_model( )
-
-
+
+
+call end_model()
-
-
Description
+
+
end_model
@@ -665,23 +647,26 @@
when the model is no longer needed. There are no arguments and no return values.
This is required by DART but nothing needs to be done for the MITgcm_ocean model.
-
+
+
+
+
-
+
-
-
-call init_time(time)
+
+
+call init_time(time)
-type(time_type), intent(out) :: time
+type(time_type), intent(out) :: time
-
-
Description
+
+
init_time
@@ -689,31 +674,33 @@
to be used. This is frequently used to spin-up models from rest, but is not
meaningfully supported for the MITgcm_ocean model.
The only time this routine would get called is if the
-input.nml&perfect_model_obs_nml:start_from_restart is .false., which is
+input.nml&perfect_model_obs_nml:start_from_restart is .false., which is
not supported in the MITgcm_ocean model.
+
-
-
time
+
time
the starting time for the model if no initial conditions are to be supplied.
As of Oct 2008, this is hardwired to 0.0
+
+
-
+
-
-
-call init_conditions( x )
+
+
+call init_conditions(x)
-real(r8), dimension(:), intent(out) :: x
+real(r8), dimension(:), intent(out) :: x
-
-
Description
+
+
init_conditions
@@ -724,25 +711,29 @@
-
x
+
x
Model state vector. [default is 0.0 for every element of the state vector]
nc_write_model_atts
writes model-specific attributes to an opened netCDF file:
@@ -756,15 +747,14 @@
-
ncFileId
-
Integer file descriptor to opened NetCDF file.
+
ncFileID
+
Integer file descriptor to previously-opened netCDF file.
-
ierr
-
Returned error code.
+
ierr
+
Returns a 0 for successful completion.
-
Note
nc_write_model_atts
is responsible for the model-specific attributes in the following DART-output netCDF files:
@@ -772,25 +762,27 @@
Prior_Diag.nc, and
Posterior_Diag.nc.
nc_write_model_vars
@@ -799,7 +791,7 @@
include multiple ensemble estimates of the state. Whether the state vector is
parsed into prognostic variables (S,T,U,V,Eta) or simply written as a 1D array is
controlled by
-input.nml&model_mod_nml:output_state_vector.
+input.nml&model_mod_nml:output_state_vector.
If output_state_vector = .true. the state vector is written
as a 1D array (the simplest case, but hard to explore with the diagnostics).
If output_state_vector = .false. the state vector is parsed
@@ -809,39 +801,41 @@
-
ncFileID
-
Integer file descriptor to opened NetCDF file.
+
ncFileID
+
file descriptor to previously-opened netCDF file.
-
statevec
-
State vector.
+
statevec
+
A model state vector.
-
copyindex
-
Integer index of copy to be written.
+
copyindex
+
Integer index of copy to be written.
-
timeindex
-
Integer index of which time in the file is being written.
Given a model state, pert_model_state produces a
@@ -854,118 +848,134 @@
(interf_provided == .true.).
At present (Oct 2008) the magnitude of the perturbation is wholly determined by
-input.nml&model_mod_nml:model_perturbation_amplitude
+input.nml&model_mod_nml:model_perturbation_amplitude
and utterly, completely fails. The resulting model states
cause a fatal error when being read in by the ocean model - something like
+
*** ERROR *** S/R INI_THETA: theta = 0 identically.
If this is intentional you will need to edit ini_theta.F to avoid this safety check
+
A more robust perturbation mechanism is needed (see, for example this routine
in the CAM model_mod.f90). Until then, you can avoid using this
routine by using your own ensemble of initial conditions. This is determined by setting
-input.nml&filter_nml:start_from_restart = .false.
+input.nml&filter_nml:start_from_restart = .false.
See also Generating the initial ensemble
at the start of this document.
-
state
+
state
State vector to be perturbed.
-
pert_state
+
pert_state
The perturbed state vector.
-
interf_provided
+
interf_provided
Because of the 'wet/dry' issue discussed above, this is always .true., indicating a model-specific perturbation is available.
ens_mean_for_model
saves a copy of the ensemble mean to module-local storage. Sometimes
@@ -975,10 +985,11 @@
No storage is allocated.
-
+
ens_mean
Ensemble mean state vector
+
@@ -990,7 +1001,7 @@
-
+
type MIT_meta_type
@@ -1005,8 +1016,8 @@
-
-
Description
+
+
MIT_meta_type is a derived type used to codify
@@ -1037,12 +1048,14 @@
of the snapshot, you must multiply the timeStepNumber by the amount of time
in each timestep and add the start time.
+
+
-
+
-
+
metadata = read_meta(fbase [, vartype])
@@ -1052,8 +1065,8 @@
-
@@ Diff output truncated at 40000 characters. @@
From nancy at ucar.edu Wed Jan 6 13:44:49 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Wed, 06 Jan 2010 13:44:49 -0700
Subject: [Dart-dev] [4211] DART/trunk/models/9var/model_mod.html: Huge
overhaul to conform to HTML spec and to provide
Message-ID:
Revision: 4211
Author: thoar
Date: 2010-01-06 13:44:48 -0700 (Wed, 06 Jan 2010)
Log Message:
-----------
Huge overhaul to conform to HTML spec and to provide
new terms of use. This highlights some inconsistencies
in variable names of our required interfaces.
Must fix that in the not-too-distant future.
Modified Paths:
--------------
DART/trunk/models/9var/model_mod.html
-------------- next part --------------
Modified: DART/trunk/models/9var/model_mod.html
===================================================================
--- DART/trunk/models/9var/model_mod.html 2010-01-06 20:41:50 UTC (rev 4210)
+++ DART/trunk/models/9var/model_mod.html 2010-01-06 20:44:48 UTC (rev 4211)
@@ -1,67 +1,29 @@
+
module model_mod (9-variable)
-
+
-
+
-
-
DART interface module for the 9-variable model. The 17 public interfaces
are standardized for all DART compliant models. These interfaces allow
@@ -69,18 +31,17 @@
this state, find state variables that are close to a given location,
and do spatial interpolation for model state variables. The distinctive
part of the model interfaces is the namelist.
+
+This model provides interesting transient off-attractor behavior
+that is something like gravity waves.
-
-This model provides
-interesting transient off-attractor behavior that is something like
-gravity waves.
-
Optional namelist interface
-&model_mod_nml
+&model_nml
may be read from file input.nml.
+The details of the namelist are always model-specific
+(there are no generic namelist values).
-
-
-
-
-
-
-
-
-
-
PUBLIC COMPONENTS
+ A note about documentation style.
+ Optional arguments are enclosed in brackets
+ [like this].
-
+
-
-
+
+
- var = get_model_size( )
+model_size = get_model_size( )
-integer :: get_model_size
-
+integer :: get_model_size
+
+
-
Description
+
+
-Returns the length of the model state vector, 9.
+Returns the length of the model state vector.
+Required.
+
-
+
model_size
+
The length of the model state vector.
-
-
+
+
+
+
+
+
+
+
+
call adv_1step(x, time)
-real(r8), dimension(:), intent(inout) :: x
-type(time_type), intent(in) :: time
-
+real(r8), dimension(:), intent(inout) :: x
+type(time_type), intent(in) :: time
+
+
-
Description
+
+
Advances the model for a single time step.
@@ -176,26 +150,30 @@
Given model state, returns the value interpolated to a given
@@ -249,10 +230,10 @@
-
x
-
Model state vector.
+
x
+
A model state vector.
-
location
+
location
Location to which to interpolate.
itype
@@ -266,100 +247,127 @@
-
Notes
+
+
+
-
-
-
-
+
+
- var = get_model_time_step( )
+var = get_model_time_step()
-type(time_type) :: get_model_time_step
-
+type(time_type) :: get_model_time_step
+
+
-
Description
+
+
-Returns the models base time step as a time_type.
+Returns the time step (forecast length) of the model;
The time step defaults to 1 hour but is settable by namelist.
-
Notes
+
+
var
+
Smallest time step of model.
-
+
-
-
+
+
+
+
+
+
+
-call end_model( )
-
-
+call static_init_model()
+
-
Description
+
+
-A stub since 9-variable requires no clean up.
+Used for runtime initialization of model;
+reads namelist, initializes model parameters, etc.
+This is the first call made to the model by any
+DART-compliant assimilation routine.
-
Notes
+
+
+
+
-
+
-
-
+
+
-call static_init_model( )
-
-
+call end_model()
+
-
Description
+
+
-Used for runtime initialization of model;
-reads namelist, initializes model parameters, etc. This is the first call
-made to the model by any DART compliant assimilation routine.
+A stub since 9-variable requires no clean up.
-
Notes
+
+
+
+
-
+
-
-
+
+
-call init_time(time)
+call init_time(time)
-type(time_type), intent(out) :: time
-
+type(time_type), intent(out) :: time
+
+
-
Description
+
+
Returns the time at which the model will start
if no input initial conditions are
-to be used. This is used to spin-up the model from rest.
+to be used. This is used to spin-up the model from rest.
Sets time to 0 in this model.
-
Notes
+
+
time
+
Initial model time.
-
+
-
-
+
+
+
+
+
+
+
-call init_conditions( x )
+call init_conditions(x)
-real(r8), dimension(:), intent(out) :: x
-
+real(r8), dimension(:), intent(out) :: x
+
+
-
Description
+
+
Returns default initial conditions for the model;
@@ -369,110 +377,121 @@
-Function to write model specific attributes to a netCDF file. At present, DART
-is using the NetCDF format to output diagnostic information. This is not a
-requirement, and models could choose to provide output in other formats.
-This function writes the metadata associated with the model to a NetCDF
-file opened to a file identified by ncFileID.
+This routine must write the model-specific attributes to a netCDF file.
+This includes coordinate variables and any metadata, but NOT
+the model state vector. We do have to allocate SPACE for the model
+state vector, but that variable gets filled as the model advances.
+models/template/model_mod.f90 contains code that
+can be used for any model as-is. The generic code prepares a
+file which will have the state vector written as a single 1-D array
+of data. This routine can be modified to save the data in form
+more closely related to the actual grid shape and variable type,
+and could also be extended to write additional attributes if desired.
+This routine is required for all models.
-
ncFileId
-
Integer file descriptor opened to NetCDF file.
+
ncFileID
+
Integer file descriptor to previously-opened netCDF file.
-Writes a copy of the state variables to a NetCDF file. Multiple copies of the
-state for a given time are supported, allowing, for instance, a single file to
-include multiple ensemble estimates of the state.
+Writes a copy of the state variables to a netCDF file. Multiple copies
+of the state for a given time are supported, allowing, for instance,
+a single file to include multiple ensemble estimates of the state.
-
ncFileID
-
Integer file descriptor opened to NetCDF file.
+
ncFileID
+
file descriptor to previously-opened netCDF file.
statevec
-
State vector.
+
A model state vector.
-
copyindex
-
Integer index to which copy is to be written.
+
copyindex
+
Integer index of copy to be written.
timeindex
-
Integer index of which time in the file is being written.
-Given a model state, produces a perturbed model state.
-9-variable does not implement an interface for this
+Given a model state, produces a perturbed model state.
+This particular model does not implement an interface for this
and so returns .false. for interf_provided.
We adhere to the F90 standard of starting a namelist with an ampersand
-'&' and terminating with a slash '/'.
+
We adhere to the F90 standard of starting a namelist with an ampersand
+'&' and terminating with a slash '/' for all our namelist input.
+The declarations have a different syntax, naturally.
+
This module acts as an intermediary between DART compliant models
and the filter. At one time the assim_model_type, which combines a
@@ -77,8 +40,8 @@
-
-
-Optional namelist interface
+Optional namelist interface
&assim_model_nml
may be read from file input.nml.
-
-
-
-
-
+
+ A note about documentation style.
+ Optional arguments are enclosed in brackets
+ [like this].
+
-
-
-
PUBLIC COMPONENTS
-
+
-
-
-
-
-
+
+
+
+
type assim_model_type
private
real(r8), pointer :: state_vector(:)
@@ -175,9 +137,11 @@
integer :: model_size
integer :: copyID
end type assim_model_type
-
+
+
-
Description
+
+
This type is used to represent both the state and time of a state
@@ -187,20 +151,24 @@
Component
Description
-
state_vector
-
A one dimensional representation of the model state vector.
-
time
-
The time of the model state.
-
model_size
-
Size of the model state vector.
-
copyID
+
state_vector
+
A one dimensional representation of the model state vector.
+
time
+
The time of the model state.
+
model_s
+
Size of the model state vector.
+
copyID
Not used in present implementation.
-
-
-
-
+
+
+
+
+
+
+
+
type netcdf_file_type
integer :: ncid
integer :: Ntimes
@@ -209,9 +177,11 @@
type(time_type), pointer :: times(:)
character(len = 80) :: fname
end type netcdf_file_type
-
+
+
-
Description
+
+
Basically, we want to keep a local mirror of the unlimited dimension
@@ -236,42 +206,48 @@
Netcdf file name.
-
+
+
-
-
+
+
+
+
call static_init_assim_model()
-
-
+
-
Description
-
+
+
Initializes the assim_model class. Must be called before any other
assim_model_mod interfaces are used. Also calls the static initialization
- for the underlying model.
+ for the underlying model. There are no arguments.
Initializes a netCDF file for output of state space diagnostics. A handle to
@@ -285,13 +261,13 @@
This is not an integer unit number, but a derived type
containing additional information about the opened file.
-
FileName
+
FileName
Name of file to open.
global_meta_data
Global metadata that describes the contents of this file.
-
copies_of_field_per_time
+
copies_of_field_per_time
Number of copies of data to be written at each time. For instance,
these could be the prior ensemble members, prior ensemble mean,
prior ensemble spread, posterior ensemble members, posterior
@@ -300,45 +276,51 @@
meta_data_per_copy
Metadata describing each of the copies.
-
lagID
+
lagID
If using the smoother, which lag number this output is for.
-
+
+
-
+
-
-
+
+
var = get_model_size()
integer :: get_model_size
-
+
+
-
Description
+
+
Returns the size of the model state vector.
This is a direct pass through to the model_mod.
-
+
+
-
+
-
-
+
+
var = get_closest_state_time_to(assim_model, time)
Interpolates a given model state variable type to a location given
the model state vector. Nearly direct call to model_interpolate in
model_mod. See model_mod for the error return values in istatus.
-
-
-
x
-
Model state vector.
-
location
-
Location to which to interpolate.
-
loctype
-
Type of variable to interpolate.
-
obs_vals
-
Returned interpolated value.
-
istatus
-
Returned as 0 if all is well, else various errors.
This module implements a variety of hierarchical Bayesian adaptive
inflation algorithms for use with ensemble filters. It can provide
@@ -81,8 +44,8 @@
-
-
+Updates the mean and standard deviation of an inflation distribution
+given the prior values, the prior observation ensemble mean and
+variance, and the observation and its error variance. The factor gamma
+is the expected impact (0 to 1) of the state variable corresponding to
+the inflation on the observation and is the product of the ensemble
+correlation plus an additional localization factor or group regression
+factors.
+
+
+
+
inflate_handle
+
Handle to object that describes the inflation type and values.
+
inflate
+
Prior mean value of the inflation distribution.
+
inflate_sd
+
Prior standard deviation of the inflation distribution.
+
prior_mean
+
Mean of the prior observation ensemble.
+
prior_var
+
Variance of the prior observation ensemble.
+
obs
+
The observed value.
+
obs_var
+
Observational error variance.
+
gamma
+
Expected impact factor, product of correlation, localization, regression factor.
- Updates the mean and standard deviation of an inflation distribution
- given the prior values, the prior observation ensemble mean and
- variance, and the observation and its error variance. The factor gamma
- is the expected impact (0 to 1) of the state variable corresponding to
- the inflation on the observation and is the product of the ensemble
- correlation plus an additional localization factor or group regression
- factors.
-
-
-
inflate_handle
-
Handle to object that describes the inflation type and values.
-
inflate
-
Prior mean value of the inflation distribution.
-
inflate_sd
-
Prior standard deviation of the inflation distribution.
-
prior_mean
-
Mean of the prior observation ensemble.
-
prior_var
-
Variance of the prior observation ensemble.
-
obs
-
The observed value.
-
obs_var
-
Observational error variance.
-
gamma
-
Expected impact factor, product of correlation, localization, regression factor.
- Outputs the values of inflation to restart files using the ensemble_manager for
- state space inflation and file output for observation space inflation. Releases
- allocated storage in inflate_handle.
-
-
-
inflate_handle
-
Handle for the details of the inflation being performed.
-
ens_handle
-
Handle for ensemble storage that holds values of state space inflation.
-
-
ss_inflate_index
-
Index in ensemble storage copies for state space inflation.
-
ss_inflate_sd_index
-
Index in ensemble storage copies for state space inflation standard
- deviation.
+Outputs the values of inflation to restart files using the ensemble_manager for
+state space inflation and file output for observation space inflation. Releases
+allocated storage in inflate_handle.
+
+
+
+
inflate_handle
+
Handle for the details of the inflation being performed.
+
ens_handle
+
Handle for ensemble storage that holds values of state space inflation.
+
+
ss_inflate_index
+
Index in ensemble storage copies for state space inflation.
+
ss_inflate_sd_index
+
Index in ensemble storage copies for state space inflation standard
+ deviation.
+type(adaptive_inflate_type), intent(in) :: inflate_handle
+type(time_type), intent(in) :: time
+
+
+
+
+
+
+
+Outputs diagnostic record of inflation for the observation space of
spatially constant state space inflation. Spatially varying state space
diagnostics are in the Posterior and Prior Diagnostic netcdf files and
are written with calls from filter.f90.
-
-
-
inflate_handle
-
Handle for the details of the inflation being performed.
-
time
-
Time of this diagnostic info.
-
-
-
+
+
+
inflate_handle
+
Handle for the details of the inflation being performed.
We adhere to the F90 standard of starting a namelist with an ampersand
'&' and terminating with a slash '/' for all our namelist input.
-Consider yourself forewarned that filenames that contain a '/' must be
+Consider yourself forewarned that character strings that contain a '/' must be
enclosed in quotes to prevent them from prematurely terminating the namelist.
The namelist declaration (i.e. what follows) has a different syntax, naturally.
We adhere to the F90 standard of starting a namelist with an ampersand
'&' and terminating with a slash '/' for all our namelist input.
-Consider yourself forewarned that filenames that contain a '/' must be
+Consider yourself forewarned that character strings that contain a '/' must be
enclosed in quotes to prevent them from prematurely terminating the namelist.
The namelist declaration (i.e. what follows) has a different syntax, naturally.
Returns the resolution of compute domain for either the
current processor or the global domain.
-
-
+
This is the best thing since sliced bread. All you have to do is
throw some arguments in the call and the subroutine automatically
slices, dices and makes julienne fries. But wait! There's more!
@@ -231,15 +221,17 @@
-
Notes
-
-
would go here
+
+ notes would go here
-
+
+
+
+
-
+
var = yyyroutine2( var1, var2, var3,
[,bob] )
@@ -249,16 +241,16 @@
real(r8), dimension(:,:), intent(in) :: var3
real(r8), OPTIONAL, intent(in) :: bob
integer, dimension(size(var2)) :: var
-
+
+
-
Description
+
Returns the resolution of compute domain for either the current
processor or the global domain. All input variables are not changed.
Otherwise, this would be a subroutine.
-
-
+
This is the second-best thing since sliced bread. All you have to do is
throw some arguments in the call and the function automatically
deep fries.
@@ -266,7 +258,7 @@
-
var1
+
var1
the first time you changed your oil.
var2
@@ -284,11 +276,13 @@
-
Notes
-
-
would go here
+
+ notes would go here
+
+
+
@@ -296,17 +290,24 @@
NAMELIST
-
We adhere to the F90 standard of starting a namelist with an ampersand
-'&' and terminating with a slash '/'.
-
-namelist / lim_obs_seq_nml / &
+
We adhere to the F90 standard of starting a namelist with an ampersand
+'&' and terminating with a slash '/' for all our namelist input.
+Consider yourself forewarned that character strings that contain a '/' must be
+enclosed in quotes to prevent them from prematurely terminating the namelist.
+The namelist declaration (i.e. what follows) has a different syntax, naturally.
+
This namelist is read in a file called input.nml
+
+This namelist is read in a file called input.nml
@@ -316,39 +317,53 @@
ens_size
integer [default: 0]
The number of "i" and "j" rows processed each time the
- modular physics is called.
+ modular physics is called.
+
spin_up_steps
integer
the month
+
num_steps
real(r8)
the day-of-month
+
output_start
real(r4)
the hour-of-day
+
ens_spin_up_steps
real(r4)
the minute
+
obs_freq,
real(r4)
the second
+
cov_inflate
real(r8)
uniformly monotonic time
+
mean_inflate
character(len=80)
the type of calendar being used
+
restart
integer
the type of calendar being used
+
add_on
integer
the type of calendar being used
+
noise_amp
integer
the type of calendar being used
+
+
+
+
@@ -356,11 +371,29 @@
FILES
-
inputfile1
-
namelistfile
-
outputfile
-
+
This is the place to discuss the files that are associated with
+ this module. They could be input files, output files, data files,
+ shell scripts ... anything.
+
+
+
filename
+
purpose
+
inputfile1
+
to read some input
+
input.nml
+
to read namelists
+
Prior_Diag.nc
+
the time-history of the model state before assimilation
+
Posterior_Diag.nc
+
the time-history of the model state after assimilation
+
dart_log.out [default name]
+
the run-time diagnostic output
+
dart_log.nml [default name]
+
the record of all the namelists actually USED -
+ contains the default values
+
+
@@ -368,40 +401,45 @@
REFERENCES
+
+
Anderson, J., T. Hoar, K. Raeder,
+ H. Liu, N. Collins, R. Torn,
+ and A. Arellano, 2009:
+ The Data Assimilation Research Testbed: A Community Facility.
+ Bull. Amer. Meteor. Soc.,
+ 90, 1283-1296.
+ DOI: 10.1175/2009BAMS2618.1
+
+
+
none
+
-
ERROR CODES and CONDITIONS
-
+
Routine
Message
Comment
xxxx
size of [argument] is incorrect
-
The size of [argument] must be 1 and 4
-
+
The size of [argument] must be 1 and 4
xxxx
yyyyy
bad judgement
- What were you thinking?
-
+ What were you thinking?
+
-
-
-
-
-
-
KNOWN BUGS
+none at this time
@@ -412,16 +450,25 @@
FUTURE PLANS
+none at this time
-
+
PRIVATE COMPONENTS
-
+
+N/A
+
+
+ Any routines or 'local' variables of interest may be discussed here.
+ There are generally lots of 'internal' functions that make life simpler,
+ but you don't want to make them available outside the scope of the
+ current module. This is the place to point them out, if you like.
+
type location_type
@@ -430,26 +477,31 @@
end type location_type
We adhere to the F90 standard of starting a namelist with an ampersand
'&' and terminating with a slash '/' for all our namelist input.
-Consider yourself forewarned that filenames that contain a '/' must be
+Consider yourself forewarned that character strings that contain a '/' must be
enclosed in quotes to prevent them from prematurely terminating the namelist.
The namelist declaration (i.e. what follows) has a different syntax, naturally.
Modified: DART/trunk/location/oned/location_mod.html
===================================================================
--- DART/trunk/location/oned/location_mod.html 2010-01-20 16:20:06 UTC (rev 4221)
@@ Diff output truncated at 40000 characters. @@
From nancy at ucar.edu Wed Jan 20 14:09:48 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Wed, 20 Jan 2010 14:09:48 -0700
Subject: [Dart-dev] [4223] DART/trunk/models/cam/model_mod.f90: Set initial
value for an array which is allocated larger,
Message-ID:
Revision: 4223
Author: nancy
Date: 2010-01-20 14:09:48 -0700 (Wed, 20 Jan 2010)
Log Message:
-----------
Set initial value for an array which is allocated larger,
but only the first value is set or used. The whole array
ends up in the output diag netcdf files, and the random
uninitialized part make it hard to bitwise comparisons.
Modified Paths:
--------------
DART/trunk/models/cam/model_mod.f90
-------------- next part --------------
Modified: DART/trunk/models/cam/model_mod.f90
===================================================================
--- DART/trunk/models/cam/model_mod.f90 2010-01-20 18:27:41 UTC (rev 4222)
+++ DART/trunk/models/cam/model_mod.f90 2010-01-20 21:09:48 UTC (rev 4223)
@@ -1390,6 +1390,7 @@
! Initialize the storage space and return
allocate( var%vals (length))
+var%vals = 0.0_r8
allocate( var%atts_names(num_atts))
allocate( var%atts_vals (num_atts))
From nancy at ucar.edu Thu Jan 21 11:01:32 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 21 Jan 2010 11:01:32 -0700
Subject: [Dart-dev] [4224] DART/trunk/doc/CAM/junk4: removing what must have
been a test file
Message-ID:
Revision: 4224
Author: thoar
Date: 2010-01-21 11:01:32 -0700 (Thu, 21 Jan 2010)
Log Message:
-----------
removing what must have been a test file
Removed Paths:
-------------
DART/trunk/doc/CAM/junk4
-------------- next part --------------
Deleted: DART/trunk/doc/CAM/junk4
===================================================================
--- DART/trunk/doc/CAM/junk4 2010-01-20 21:09:48 UTC (rev 4223)
+++ DART/trunk/doc/CAM/junk4 2010-01-21 18:01:32 UTC (rev 4224)
@@ -1 +0,0 @@
-more
From nancy at ucar.edu Fri Jan 22 16:24:16 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Fri, 22 Jan 2010 16:24:16 -0700
Subject: [Dart-dev] [4225] DART/trunk/ncep_obs: Added a DART "Id" tag and
made sure we did not
Message-ID:
Revision: 4225
Author: thoar
Date: 2010-01-22 16:24:16 -0700 (Fri, 22 Jan 2010)
Log Message:
-----------
Added a DART "Id" tag and made sure we did not
copyright anything that was not ours.
Modified Paths:
--------------
DART/trunk/ncep_obs/README
DART/trunk/ncep_obs/create_real_obs.f90
DART/trunk/ncep_obs/prep_bufr/README
DART/trunk/ncep_obs/prep_bufr/README.developer
DART/trunk/ncep_obs/prep_bufr/blk_ublk/README_cwordsh
DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh
DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh.f
DART/trunk/ncep_obs/prep_bufr/convert_bufr/README
DART/trunk/ncep_obs/prep_bufr/convert_bufr/arg_test.f
DART/trunk/ncep_obs/prep_bufr/convert_bufr/convert_bufr.csh
DART/trunk/ncep_obs/prep_bufr/convert_bufr/grabbufr.f
DART/trunk/ncep_obs/prep_bufr/convert_bufr/stat_test.f
DART/trunk/ncep_obs/prep_bufr/data/README
DART/trunk/ncep_obs/prep_bufr/docs/Input_Report_type.txt
DART/trunk/ncep_obs/prep_bufr/docs/Instrument_type.txt
DART/trunk/ncep_obs/prep_bufr/docs/LevelCat_code.txt
DART/trunk/ncep_obs/prep_bufr/docs/PREPBUFR_MNEUMONIC_table
DART/trunk/ncep_obs/prep_bufr/docs/Program_code.txt
DART/trunk/ncep_obs/prep_bufr/docs/Quality_mark.txt
DART/trunk/ncep_obs/prep_bufr/docs/README
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC001.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC002.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC004.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC005.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC006.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC007.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC008.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC009.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC010.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC012.txt
DART/trunk/ncep_obs/prep_bufr/docs/Report_type.txt
DART/trunk/ncep_obs/prep_bufr/exe/README
DART/trunk/ncep_obs/prep_bufr/install.sh
DART/trunk/ncep_obs/prep_bufr/lib/README_BUFRLIB
DART/trunk/ncep_obs/prep_bufr/lib/addate.f
DART/trunk/ncep_obs/prep_bufr/lib/adn30.f
DART/trunk/ncep_obs/prep_bufr/lib/bfrini.f
DART/trunk/ncep_obs/prep_bufr/lib/bort.f
DART/trunk/ncep_obs/prep_bufr/lib/bort2.f
DART/trunk/ncep_obs/prep_bufr/lib/bort_exit.c
DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.h
DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.prm
DART/trunk/ncep_obs/prep_bufr/lib/cadn30.f
DART/trunk/ncep_obs/prep_bufr/lib/capit.f
DART/trunk/ncep_obs/prep_bufr/lib/ccbfl.c
DART/trunk/ncep_obs/prep_bufr/lib/chekstab.f
DART/trunk/ncep_obs/prep_bufr/lib/chrtrn.f
DART/trunk/ncep_obs/prep_bufr/lib/chrtrna.f
DART/trunk/ncep_obs/prep_bufr/lib/cktaba.f
DART/trunk/ncep_obs/prep_bufr/lib/closbf.f
DART/trunk/ncep_obs/prep_bufr/lib/closmg.f
DART/trunk/ncep_obs/prep_bufr/lib/cmpmsg.f
DART/trunk/ncep_obs/prep_bufr/lib/cmsgini.f
DART/trunk/ncep_obs/prep_bufr/lib/cnved4.f
DART/trunk/ncep_obs/prep_bufr/lib/cobfl.c
DART/trunk/ncep_obs/prep_bufr/lib/conwin.f
DART/trunk/ncep_obs/prep_bufr/lib/copybf.f
DART/trunk/ncep_obs/prep_bufr/lib/copymg.f
DART/trunk/ncep_obs/prep_bufr/lib/copysb.f
DART/trunk/ncep_obs/prep_bufr/lib/cpbfdx.f
DART/trunk/ncep_obs/prep_bufr/lib/cpymem.f
DART/trunk/ncep_obs/prep_bufr/lib/cpyupd.f
DART/trunk/ncep_obs/prep_bufr/lib/crbmg.c
DART/trunk/ncep_obs/prep_bufr/lib/cwbmg.c
DART/trunk/ncep_obs/prep_bufr/lib/datebf.f
DART/trunk/ncep_obs/prep_bufr/lib/datelen.f
DART/trunk/ncep_obs/prep_bufr/lib/digit.f
DART/trunk/ncep_obs/prep_bufr/lib/drfini.f
DART/trunk/ncep_obs/prep_bufr/lib/drstpl.f
DART/trunk/ncep_obs/prep_bufr/lib/dumpbf.f
DART/trunk/ncep_obs/prep_bufr/lib/dxdump.f
DART/trunk/ncep_obs/prep_bufr/lib/dxinit.f
DART/trunk/ncep_obs/prep_bufr/lib/dxmini.f
DART/trunk/ncep_obs/prep_bufr/lib/elemdx.f
DART/trunk/ncep_obs/prep_bufr/lib/getabdb.f
DART/trunk/ncep_obs/prep_bufr/lib/getlens.f
DART/trunk/ncep_obs/prep_bufr/lib/gets1loc.f
DART/trunk/ncep_obs/prep_bufr/lib/getwin.f
DART/trunk/ncep_obs/prep_bufr/lib/i4dy.f
DART/trunk/ncep_obs/prep_bufr/lib/ichkstr.f
DART/trunk/ncep_obs/prep_bufr/lib/icopysb.f
DART/trunk/ncep_obs/prep_bufr/lib/idn30.f
DART/trunk/ncep_obs/prep_bufr/lib/ifbget.f
DART/trunk/ncep_obs/prep_bufr/lib/ifxy.f
DART/trunk/ncep_obs/prep_bufr/lib/igetdate.f
DART/trunk/ncep_obs/prep_bufr/lib/inctab.f
DART/trunk/ncep_obs/prep_bufr/lib/invcon.f
DART/trunk/ncep_obs/prep_bufr/lib/invmrg.f
DART/trunk/ncep_obs/prep_bufr/lib/invtag.f
DART/trunk/ncep_obs/prep_bufr/lib/invwin.f
DART/trunk/ncep_obs/prep_bufr/lib/ipkm.f
DART/trunk/ncep_obs/prep_bufr/lib/ireadft.f
DART/trunk/ncep_obs/prep_bufr/lib/ireadibm.f
DART/trunk/ncep_obs/prep_bufr/lib/ireadmg.f
DART/trunk/ncep_obs/prep_bufr/lib/ireadmm.f
DART/trunk/ncep_obs/prep_bufr/lib/ireadns.f
DART/trunk/ncep_obs/prep_bufr/lib/ireadsb.f
DART/trunk/ncep_obs/prep_bufr/lib/irev.f
DART/trunk/ncep_obs/prep_bufr/lib/istdesc.f
DART/trunk/ncep_obs/prep_bufr/lib/iupb.f
DART/trunk/ncep_obs/prep_bufr/lib/iupbs01.f
DART/trunk/ncep_obs/prep_bufr/lib/iupbs1.f
DART/trunk/ncep_obs/prep_bufr/lib/iupm.f
DART/trunk/ncep_obs/prep_bufr/lib/iupvs01.f
DART/trunk/ncep_obs/prep_bufr/lib/iupvs1.f
DART/trunk/ncep_obs/prep_bufr/lib/jstchr.f
DART/trunk/ncep_obs/prep_bufr/lib/jstnum.f
DART/trunk/ncep_obs/prep_bufr/lib/ljust.f
DART/trunk/ncep_obs/prep_bufr/lib/lmsg.f
DART/trunk/ncep_obs/prep_bufr/lib/lstjpb.f
DART/trunk/ncep_obs/prep_bufr/lib/lstrpc.f
DART/trunk/ncep_obs/prep_bufr/lib/lstrps.f
DART/trunk/ncep_obs/prep_bufr/lib/makestab.f
DART/trunk/ncep_obs/prep_bufr/lib/maxout.f
DART/trunk/ncep_obs/prep_bufr/lib/mesgbc.f
DART/trunk/ncep_obs/prep_bufr/lib/mesgbf.f
DART/trunk/ncep_obs/prep_bufr/lib/minimg.f
DART/trunk/ncep_obs/prep_bufr/lib/mova2i.f
DART/trunk/ncep_obs/prep_bufr/lib/mrginv.f
DART/trunk/ncep_obs/prep_bufr/lib/msgini.f
DART/trunk/ncep_obs/prep_bufr/lib/msgupd.f
DART/trunk/ncep_obs/prep_bufr/lib/msgwrt.f
DART/trunk/ncep_obs/prep_bufr/lib/mvb.f
DART/trunk/ncep_obs/prep_bufr/lib/nemock.f
DART/trunk/ncep_obs/prep_bufr/lib/nemtab.f
DART/trunk/ncep_obs/prep_bufr/lib/nemtba.f
DART/trunk/ncep_obs/prep_bufr/lib/nemtbax.f
DART/trunk/ncep_obs/prep_bufr/lib/nemtbb.f
DART/trunk/ncep_obs/prep_bufr/lib/nemtbd.f
DART/trunk/ncep_obs/prep_bufr/lib/nenuaa.f
DART/trunk/ncep_obs/prep_bufr/lib/nenubd.f
DART/trunk/ncep_obs/prep_bufr/lib/nevn.f
DART/trunk/ncep_obs/prep_bufr/lib/newwin.f
DART/trunk/ncep_obs/prep_bufr/lib/nmbyt.f
DART/trunk/ncep_obs/prep_bufr/lib/nmsub.f
DART/trunk/ncep_obs/prep_bufr/lib/nmwrd.f
DART/trunk/ncep_obs/prep_bufr/lib/numbck.f
DART/trunk/ncep_obs/prep_bufr/lib/numtab.f
DART/trunk/ncep_obs/prep_bufr/lib/numtbd.f
DART/trunk/ncep_obs/prep_bufr/lib/nvnwin.f
DART/trunk/ncep_obs/prep_bufr/lib/nwords.f
DART/trunk/ncep_obs/prep_bufr/lib/nxtwin.f
DART/trunk/ncep_obs/prep_bufr/lib/openbf.f
DART/trunk/ncep_obs/prep_bufr/lib/openbt.f
DART/trunk/ncep_obs/prep_bufr/lib/openmb.f
DART/trunk/ncep_obs/prep_bufr/lib/openmg.f
DART/trunk/ncep_obs/prep_bufr/lib/ovrbs1.f
DART/trunk/ncep_obs/prep_bufr/lib/pad.f
DART/trunk/ncep_obs/prep_bufr/lib/padmsg.f
DART/trunk/ncep_obs/prep_bufr/lib/parseq.f
DART/trunk/ncep_obs/prep_bufr/lib/parusr.f
DART/trunk/ncep_obs/prep_bufr/lib/parutg.f
DART/trunk/ncep_obs/prep_bufr/lib/pkb.f
DART/trunk/ncep_obs/prep_bufr/lib/pkbs1.f
DART/trunk/ncep_obs/prep_bufr/lib/pkc.f
DART/trunk/ncep_obs/prep_bufr/lib/pkftbv.f
DART/trunk/ncep_obs/prep_bufr/lib/pktdd.f
DART/trunk/ncep_obs/prep_bufr/lib/pkvs01.f
DART/trunk/ncep_obs/prep_bufr/lib/pkvs1.f
DART/trunk/ncep_obs/prep_bufr/lib/posapn.f
DART/trunk/ncep_obs/prep_bufr/lib/posapx.f
DART/trunk/ncep_obs/prep_bufr/lib/rbytes.c
DART/trunk/ncep_obs/prep_bufr/lib/rcstpl.f
DART/trunk/ncep_obs/prep_bufr/lib/rdbfdx.f
DART/trunk/ncep_obs/prep_bufr/lib/rdcmps.f
DART/trunk/ncep_obs/prep_bufr/lib/rdmemm.f
DART/trunk/ncep_obs/prep_bufr/lib/rdmems.f
DART/trunk/ncep_obs/prep_bufr/lib/rdmgsb.f
DART/trunk/ncep_obs/prep_bufr/lib/rdmsgb.f
DART/trunk/ncep_obs/prep_bufr/lib/rdmsgw.f
DART/trunk/ncep_obs/prep_bufr/lib/rdtree.f
DART/trunk/ncep_obs/prep_bufr/lib/rdusdx.f
DART/trunk/ncep_obs/prep_bufr/lib/readdx.f
DART/trunk/ncep_obs/prep_bufr/lib/readerme.f
DART/trunk/ncep_obs/prep_bufr/lib/readft.f
DART/trunk/ncep_obs/prep_bufr/lib/readibm.f
DART/trunk/ncep_obs/prep_bufr/lib/readlc.f
DART/trunk/ncep_obs/prep_bufr/lib/readmg.f
DART/trunk/ncep_obs/prep_bufr/lib/readmm.f
DART/trunk/ncep_obs/prep_bufr/lib/readns.f
DART/trunk/ncep_obs/prep_bufr/lib/readsb.f
DART/trunk/ncep_obs/prep_bufr/lib/restd.c
DART/trunk/ncep_obs/prep_bufr/lib/rewnbf.f
DART/trunk/ncep_obs/prep_bufr/lib/rjust.f
DART/trunk/ncep_obs/prep_bufr/lib/rsvfvm.f
DART/trunk/ncep_obs/prep_bufr/lib/seqsdx.f
DART/trunk/ncep_obs/prep_bufr/lib/status.f
DART/trunk/ncep_obs/prep_bufr/lib/stdmsg.f
DART/trunk/ncep_obs/prep_bufr/lib/stndrd.f
DART/trunk/ncep_obs/prep_bufr/lib/strcln.f
DART/trunk/ncep_obs/prep_bufr/lib/string.f
DART/trunk/ncep_obs/prep_bufr/lib/strnum.f
DART/trunk/ncep_obs/prep_bufr/lib/strsuc.f
DART/trunk/ncep_obs/prep_bufr/lib/subupd.f
DART/trunk/ncep_obs/prep_bufr/lib/tabent.f
DART/trunk/ncep_obs/prep_bufr/lib/tabsub.f
DART/trunk/ncep_obs/prep_bufr/lib/trybump.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbcnt.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbcpy.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbcup.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbdmp.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbevn.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbget.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbin3.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbint.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbinx.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbmem.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbmms.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbmns.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbovr.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbpos.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbqcd.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbqcp.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbrep.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbrms.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbrp.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbrw.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbseq.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbsp.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbstp.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbtab.f
DART/trunk/ncep_obs/prep_bufr/lib/ufbtam.f
DART/trunk/ncep_obs/prep_bufr/lib/ufdump.f
DART/trunk/ncep_obs/prep_bufr/lib/upb.f
DART/trunk/ncep_obs/prep_bufr/lib/upbb.f
DART/trunk/ncep_obs/prep_bufr/lib/upc.f
DART/trunk/ncep_obs/prep_bufr/lib/upds3.f
DART/trunk/ncep_obs/prep_bufr/lib/upftbv.f
DART/trunk/ncep_obs/prep_bufr/lib/uptdd.f
DART/trunk/ncep_obs/prep_bufr/lib/usrtpl.f
DART/trunk/ncep_obs/prep_bufr/lib/valx.f
DART/trunk/ncep_obs/prep_bufr/lib/wrcmps.f
DART/trunk/ncep_obs/prep_bufr/lib/wrdesc.c
DART/trunk/ncep_obs/prep_bufr/lib/wrdlen.f
DART/trunk/ncep_obs/prep_bufr/lib/writca.f
DART/trunk/ncep_obs/prep_bufr/lib/writcp.f
DART/trunk/ncep_obs/prep_bufr/lib/writdx.f
DART/trunk/ncep_obs/prep_bufr/lib/writlc.f
DART/trunk/ncep_obs/prep_bufr/lib/writsa.f
DART/trunk/ncep_obs/prep_bufr/lib/writsb.f
DART/trunk/ncep_obs/prep_bufr/lib/wrtree.f
DART/trunk/ncep_obs/prep_bufr/lib/wtstat.f
DART/trunk/ncep_obs/prep_bufr/src/prepbufr.f
DART/trunk/ncep_obs/prep_bufr/src/prepbufr_03Z.f
Property Changed:
----------------
DART/trunk/ncep_obs/prep_bufr/blk_ublk/README_cwordsh
DART/trunk/ncep_obs/prep_bufr/convert_bufr/README
DART/trunk/ncep_obs/prep_bufr/data/README
DART/trunk/ncep_obs/prep_bufr/docs/Input_Report_type.txt
DART/trunk/ncep_obs/prep_bufr/docs/Instrument_type.txt
DART/trunk/ncep_obs/prep_bufr/docs/LevelCat_code.txt
DART/trunk/ncep_obs/prep_bufr/docs/PREPBUFR_MNEUMONIC_table
DART/trunk/ncep_obs/prep_bufr/docs/Program_code.txt
DART/trunk/ncep_obs/prep_bufr/docs/Quality_mark.txt
DART/trunk/ncep_obs/prep_bufr/docs/README
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC001.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC002.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC004.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC005.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC006.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC007.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC008.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC009.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC010.txt
DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC012.txt
DART/trunk/ncep_obs/prep_bufr/docs/Report_type.txt
DART/trunk/ncep_obs/prep_bufr/exe/README
DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.prm
-------------- next part --------------
Modified: DART/trunk/ncep_obs/README
===================================================================
--- DART/trunk/ncep_obs/README 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/README 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,8 @@
+# DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+#
+# DART $Id: $
This directory contains source for two programs that convert NCEP BUFR files,
which contain observational data, into DART obs_seq file format.
Modified: DART/trunk/ncep_obs/create_real_obs.f90
===================================================================
--- DART/trunk/ncep_obs/create_real_obs.f90 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/create_real_obs.f90 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,7 +1,6 @@
-! Data Assimilation Research Testbed -- DART
-! Copyright 2004-2007, Data Assimilation Research Section
-! University Corporation for Atmospheric Research
-! Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+! DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+! provided by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
program create_real_obs
Modified: DART/trunk/ncep_obs/prep_bufr/README
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/README 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/README 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id: $
See the prep_bufr.html file for detailed instructions
on what is in this directory and how to build and run it.
Modified: DART/trunk/ncep_obs/prep_bufr/README.developer
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/README.developer 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/README.developer 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,5 +1,5 @@
+# DART $Id$
-
======================================================================
WARNING:
Modified: DART/trunk/ncep_obs/prep_bufr/blk_ublk/README_cwordsh
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/blk_ublk/README_cwordsh 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/blk_ublk/README_cwordsh 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $Id$
+
This file explains how to compile and run the NCEP cwordsh utility,
which is described in detail at
http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/cwordsh/,
@@ -49,4 +51,3 @@
'cwordsh.x block in out') plus, each string must be on a separate line.
this does *not* work either: echo 'block in out' | ./cwordsh.x
-
Property changes on: DART/trunk/ncep_obs/prep_bufr/blk_ublk/README_cwordsh
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,4 +1,4 @@
-# $Id$
+# DART $Id$
# ------------------------------------------------------------------------
# This script will FORTRAN block or unblock BUFR files on a number of
# standard computing platforms. Stictly speaking, real BUFR files are
Modified: DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/blk_ublk/cwordsh.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -18,6 +18,8 @@
C USE OF APPLICATION PROGRAM GRABBUFR) AND TO
C REMOVE DIRECT LINKS TO BUFRLIB COMMON BLOCKS
C
+C DART $Id$
+C
C USAGE:
C INPUT FILES:
C UNIT 05 - STANDARD INPUT (OPERATION TYPE, INPUT FILENAME,
Modified: DART/trunk/ncep_obs/prep_bufr/convert_bufr/README
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/convert_bufr/README 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/convert_bufr/README 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,4 +1,6 @@
+# DART $Id$
+
The programs in this directory are used to convert binary BUFR files
into a format that works on Intel-processor based machines (e.g. Linux
clusters, SGI Altix systems). They are not needed on IBM Power systems.
Property changes on: DART/trunk/ncep_obs/prep_bufr/convert_bufr/README
___________________________________________________________________
Added: svn:keywords
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/convert_bufr/arg_test.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/convert_bufr/arg_test.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/convert_bufr/arg_test.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -10,6 +10,8 @@
C
C PROGRAM HISTORY LOG:
C
+C DART $Id$
+C
C USAGE: arg_test inputBUFRfile ouputBUFRfile
C
C INPUT FILES:
Modified: DART/trunk/ncep_obs/prep_bufr/convert_bufr/convert_bufr.csh
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/convert_bufr/convert_bufr.csh 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/convert_bufr/convert_bufr.csh 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,9 +1,5 @@
#!/bin/csh
#
-# DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
-# provided by UCAR, "as is", without charge, subject to all terms of use at
-# http://www.image.ucar.edu/DAReS/DART/DART_download
-#
# $Id$
set FC = ifort
Modified: DART/trunk/ncep_obs/prep_bufr/convert_bufr/grabbufr.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/convert_bufr/grabbufr.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/convert_bufr/grabbufr.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -15,6 +15,8 @@
C 1999-12-22 Gilbert - Made cbuf array allocatable so that there
C would be no hard wired size limit.
C
+C DART $Id$
+C
C USAGE: grabbufr inputBUFRfile ouputBUFRfile
C
C INPUT FILES:
Modified: DART/trunk/ncep_obs/prep_bufr/convert_bufr/stat_test.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/convert_bufr/stat_test.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/convert_bufr/stat_test.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -16,6 +16,8 @@
C PROGRAM HISTORY LOG:
C 20067-07-24 collins
C
+C DART $Id$
+C
C USAGE: stat_test inputBUFRfile
C
C INPUT FILES:
Modified: DART/trunk/ncep_obs/prep_bufr/data/README
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/data/README 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/data/README 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1 +1,3 @@
-# This directory needs to exist (but can be empty)
+# DART $Id$
+
+This directory needs to exist (but can be empty)
Property changes on: DART/trunk/ncep_obs/prep_bufr/data/README
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Input_Report_type.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Input_Report_type.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Input_Report_type.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $ Id: $
+
(T29)
Table 6. Code table for input report types (last revised 7/10/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Input_Report_type.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Instrument_type.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Instrument_type.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Instrument_type.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $ Id: $
+
(ITP)
Code Fig. &| Description |Tbl. R.2a
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Instrument_type.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/LevelCat_code.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/LevelCat_code.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/LevelCat_code.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $Id : $
+
(cat)
PREPBUFR data level category (local descriptor 0-01-194) defined as:
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/LevelCat_code.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/PREPBUFR_MNEUMONIC_table
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/PREPBUFR_MNEUMONIC_table 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/PREPBUFR_MNEUMONIC_table 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
.------------------------------------------------------------------------------.
| ------------ USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D -------------- |
|------------------------------------------------------------------------------|
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/PREPBUFR_MNEUMONIC_table
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Program_code.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Program_code.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Program_code.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
(pc)
MNEMONIC NUMBER DESCRIPTION
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Program_code.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Quality_mark.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Quality_mark.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Quality_mark.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
(qm)
Table 7. Code table for observation quality markers (last revised 1/30/2002).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Quality_mark.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/README
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/README 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/README 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $Id$
+
Last updated 07/23/2003 for:
ds090.0 (NCEP/NCAR Global Reanalysis Products, 6-hrly, monthly 1948jan01-continuing)
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/README
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC001.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC001.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC001.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,6 +1,9 @@
+# DART $Id$
+
Table 8.a Reason codes associated with step "PREPRO",
program code 001 (last revised 5/30/2001).
+
NOTE 1:
FOR ALL DATA TYPES EXCEPT TOVS AND GOES RETRIEVALS, THE ENCODED
QUALITY MARKER FOR SPECIFIC HUMIDITY (QQM) IS SET
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC001.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC002.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC002.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC002.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $Id$
+
Table 9. Reason codes associated with step "SYNDATA", program code 002 (last revised 10/26/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC002.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC004.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC004.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC004.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 10. Reason codes associated with step "PREVENT", program code 004 (last revised 5/30/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC004.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC005.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC005.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC005.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 11. Reason codes associated with step "CQCHT", program code 005 (last revised 5/30/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC005.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC006.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC006.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC006.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 12. Reason codes associated with step "RADCOR", program code 006 (last revised 5/30/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC006.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC007.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC007.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC007.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 13. Reason codes associated with step "PREPACQC", program code 007 (last revised 5/30/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC007.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC008.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC008.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC008.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 14. Reason codes associated with step "VIRTMP", program code 008 (last revised 5/30/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC008.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC009.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC009.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC009.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 15. Reason codes associated with step "CQCPROF", program code 009 (last revised 5/30/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC009.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC010.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC010.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC010.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 16. Reason codes associated with step "OIQC", program code 010 (last revised 9/17/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC010.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC012.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC012.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC012.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
Table 17. Reason codes associated with step "CQCVAD", program code 012 (last revised 10/02/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Reason_codes/PC012.txt
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/docs/Report_type.txt
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/docs/Report_type.txt 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/docs/Report_type.txt 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+# DART $Id$
(TYP)
Table 3. Code table for PREPBUFR report types used by Global CDAS/reanalysis systems (last revised 10/31/2001).
Property changes on: DART/trunk/ncep_obs/prep_bufr/docs/Report_type.txt
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/exe/README
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/exe/README 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/exe/README 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1 +1,3 @@
-# This directory needs to exist (but can be empty)
+# DART $Id$
+
+This directory needs to exist (but can be empty)
Property changes on: DART/trunk/ncep_obs/prep_bufr/exe/README
___________________________________________________________________
Modified: svn:keywords
- Date Author Revision HeadURL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/install.sh
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/install.sh 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/install.sh 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,11 +1,7 @@
#!/bin/sh
#
-# DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
-# provided by UCAR, "as is", without charge, subject to all terms of use at
-# http://www.image.ucar.edu/DAReS/DART/DART_download
+# DART $Id$
#
-# $Id$
-#
# This script will make executables which extract data
# from ADP BUFR input files, and place the data into a basic text file.
# prepbufr.x: used to extract data from prepbufr files
Modified: DART/trunk/ncep_obs/prep_bufr/lib/README_BUFRLIB
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/README_BUFRLIB 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/README_BUFRLIB 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,5 @@
+# DART $Id$
+
This file explains how to compile the NCEP BUFRLIB software, which is
described in detail at http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/,
and whose usage is governed by the terms and conditions of the disclaimer
Modified: DART/trunk/ncep_obs/prep_bufr/lib/addate.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/addate.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/addate.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -17,6 +17,7 @@
C DOCUMENTATION (INCLUDING HISTORY)
C 2004-08-18 J. ATOR -- FIX BUG FOR YEARS THAT ARE MULTIPLE
C OF 100 BUT NOT OF 400
+C DART $Id$
C
C USAGE: CALL ADDATE (IDATE, JH, JDATE)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/adn30.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/adn30.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/adn30.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -20,6 +20,7 @@
C DOCUMENTATION (INCLUDING HISTORY); OUTPUTS
C MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE
C TERMINATES ABNORMALLY
+C DART $Id$
C
C USAGE: ADN30 (IDN, L30)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/bfrini.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/bfrini.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/bfrini.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -36,6 +36,7 @@
C 20,000 TO 50,000 BYTES
C 2005-11-29 J. ATOR -- ADDED INITIALIZATION OF COMMON /MSGCMP/
C AND CALLS TO PKVS1 AND PKVS01
+C DART $Id$
C
C USAGE: CALL BFRINI
C
Modified: DART/trunk/ncep_obs/prep_bufr/lib/bort.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/bort.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/bort.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -23,6 +23,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED HISTORY
C DOCUMENTATION
+C DART $Id$
C
C USAGE: CALL BORT (STR)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/bort2.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/bort2.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/bort2.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -13,6 +13,7 @@
C
C PROGRAM HISTORY LOG:
C 2003-11-04 D. KEYSER -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL BORT2 (STR1, STR2)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/bort_exit.c
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/bort_exit.c 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/bort_exit.c 2010-01-22 23:24:16 UTC (rev 4225)
@@ -11,6 +11,7 @@
C 2003-11-04 J. ATOR -- ORIGINAL AUTHOR
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF
C 2004-08-18 J. ATOR -- USE bufrlib.h INCLUDE FILE
+C DART $Id$
C
C USAGE: CALL BORT_EXIT
C
Modified: DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.h
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.h 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.h 2010-01-22 23:24:16 UTC (rev 4225)
@@ -6,6 +6,8 @@
/*
** Define a global variable for sharing of file pointers across different
** subprograms within the BUFRLIB software.
+**
+** DART $Id$
*/
#ifdef BUFRLIB_GLOBAL
FILE *pbf[2]; /* each element will automatically initialize to NULL */
Modified: DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.prm
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.prm 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.prm 2010-01-22 23:24:16 UTC (rev 4225)
@@ -1,3 +1,4 @@
+C DART $Id$
C-----------------------------------------------------------------------
C Maximum number of BUFR files that can be connected to the
C BUFRLIB software (for reading or writing) at any one time.
Property changes on: DART/trunk/ncep_obs/prep_bufr/lib/bufrlib.prm
___________________________________________________________________
Added: svn:keywords
+ Date Revision Author HeadURL Id
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cadn30.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cadn30.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cadn30.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -16,6 +16,7 @@
C
C PROGRAM HISTORY LOG:
C 2004-08-18 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CADN30( IDN, ADN )
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/capit.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/capit.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/capit.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -21,6 +21,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED
C DOCUMENTATION (INCLUDING HISTORY)
+C DART $Id$
C
C USAGE: CALL CAPIT (STR)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/ccbfl.c
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/ccbfl.c 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/ccbfl.c 2010-01-22 23:24:16 UTC (rev 4225)
@@ -9,6 +9,7 @@
C
C PROGRAM HISTORY LOG:
C 2005-11-29 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL CCBFL
C
Modified: DART/trunk/ncep_obs/prep_bufr/lib/chekstab.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/chekstab.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/chekstab.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -28,6 +28,7 @@
C DOCUMENTATION; OUTPUTS MORE COMPLETE
C DIAGNOSTIC INFO WHEN ROUTINE TERMINATES
C ABNORMALLY
+C DART $Id$
C
C USAGE: CALL CHEKSTAB (LUN)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/chrtrn.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/chrtrn.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/chrtrn.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -15,6 +15,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED HISTORY
C DOCUMENTATION
+C DART $Id$
C
C USAGE: CALL CHRTRN (STR, CHR, N)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/chrtrna.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/chrtrna.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/chrtrna.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -20,6 +20,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED HISTORY
C DOCUMENTATION
+C DART $Id$
C
C USAGE: CALL CHRTRNA (STR, CHR, N)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cktaba.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cktaba.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cktaba.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -46,6 +46,7 @@
C 2006-04-14 J. ATOR -- ALLOW "FRtttsss" AND "FNtttsss" AS POSSIBLE
C TABLE A MNEMONICS, WHERE ttt IS THE BUFR
C TYPE AND sss IS THE BUFR SUBTYPE
+C DART $Id$
C
C USAGE: CALL CKTABA (LUN, SUBSET, JDATE, IRET)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/closbf.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/closbf.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/closbf.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -25,6 +25,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED
C DOCUMENTATION (INCLUDING HISTORY)
+C DART $Id$
C
C USAGE: CALL CLOSBF (LUNIT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/closmg.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/closmg.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/closmg.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -59,6 +59,7 @@
C NUMBER IMMEDIATELY AFTER CALLING OPENBF FOR
C THIS OUTPUT FILE IF THE INTENTION IS TO
C NOT WRITE ANY EMPTY MESSAGES)
+C DART $Id$
C
C USAGE: CALL CLOSMG (LUNIN)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cmpmsg.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cmpmsg.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cmpmsg.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -14,6 +14,7 @@
C
C PROGRAM HISTORY LOG:
C 2005-03-09 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL CMPMSG (CF)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cmsgini.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cmsgini.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cmsgini.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -25,6 +25,7 @@
C MAXIMUM MESSAGE LENGTH INCREASED FROM
C 20,000 TO 50,000 BYTES
C 2005-11-29 J. ATOR -- CHANGED DEFAULT MASTER TABLE VERSION TO 12
+C DART $Id$
C
C USAGE: CALL CMSGINI (LUN, MESG, SUBSET, IDATE, NSUB, NBYT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cnved4.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cnved4.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cnved4.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -13,6 +13,7 @@
C
C PROGRAM HISTORY LOG:
C 2005-11-29 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL STNDRD (MSGIN, LMSGOT, MSGOT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cobfl.c
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cobfl.c 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cobfl.c 2010-01-22 23:24:16 UTC (rev 4225)
@@ -14,6 +14,7 @@
C
C PROGRAM HISTORY LOG:
C 2005-11-29 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL COBFL( BFL, IO )
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/conwin.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/conwin.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/conwin.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -21,6 +21,7 @@
C VERIFICATION VERSION); UNIFIED/PORTABLE FOR
C WRF; ADDED DOCUMENTATION (INCLUDING
C HISTORY) (INCOMPLETE)
+C DART $Id$
C
C USAGE: CALL CONWIN (LUN, INC1, INC2, NBMP)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/copybf.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/copybf.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/copybf.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -24,6 +24,7 @@
C 2004-08-09 J. ATOR -- MAXIMUM MESSAGE LENGTH INCREASED FROM
C 20,000 TO 50,000 BYTES
C 2005-11-29 J. ATOR -- USE RDMSGW AND NMWRD
+C DART $Id$
C
C USAGE: CALL COPYBF (LUNIN, LUNOT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/copymg.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/copymg.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/copymg.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -36,6 +36,7 @@
C 2004-08-09 J. ATOR -- MAXIMUM MESSAGE LENGTH INCREASED FROM
C 20,000 TO 50,000 BYTES
C 2005-11-29 J. ATOR -- USE IUPBS01
+C DART $Id$
C
C USAGE: CALL COPYMG (LUNIN, LUNOT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/copysb.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/copysb.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/copysb.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -47,6 +47,7 @@
C COULD ONLY WRITE OUT UNCOMPRESSED SUBSET/
C MESSAGE REGARDLESS OF COMPRESSION STATUS OF
C INPUT SUBSET/MESSAGE)
+C DART $Id$
C
C USAGE: CALL COPYSB ( LUNIN, LUNOT, IRET )
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cpbfdx.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cpbfdx.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cpbfdx.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -21,6 +21,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED
C DOCUMENTATION (INCLUDING HISTORY)
+C DART $Id$
C
C USAGE: CALL CPBFDX (LUD, LUN)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cpymem.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cpymem.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cpymem.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -52,6 +52,7 @@
C INTERNALLY) WAS INCREASED FROM 16 MBYTES TO
C 50 MBYTES
C 2005-11-29 J. ATOR -- USE IUPBS01
+C DART $Id$
C
C USAGE: CALL CPYMEM (LUNOT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cpyupd.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cpyupd.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cpyupd.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -29,6 +29,7 @@
C TERMINATES ABNORMALLY
C 2004-08-09 J. ATOR -- MAXIMUM MESSAGE LENGTH INCREASED FROM
C 20,000 TO 50,000 BYTES
+C DART $Id$
C
C USAGE: CALL CPYUPD (LUNIT, LIN, LUN, IBYT)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/crbmg.c
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/crbmg.c 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/crbmg.c 2010-01-22 23:24:16 UTC (rev 4225)
@@ -10,6 +10,7 @@
C
C PROGRAM HISTORY LOG:
C 2005-11-29 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL CRBMG( BMG, MXMB, NMB, IRET )
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/cwbmg.c
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/cwbmg.c 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/cwbmg.c 2010-01-22 23:24:16 UTC (rev 4225)
@@ -9,6 +9,7 @@
C
C PROGRAM HISTORY LOG:
C 2005-11-29 J. ATOR -- ORIGINAL AUTHOR
+C DART $Id$
C
C USAGE: CALL CWBMG( BMG, NMB, IRET )
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/datebf.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/datebf.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/datebf.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -51,6 +51,7 @@
C BUT 2004-08-18 CHANGE CALLS OTHER ROUTINES
C THAT DO REQUIRE IT
C 2005-11-29 J. ATOR -- USE IGETDATE, IUPBS01 AND RDMSGW
+C DART $Id$
C
C USAGE: CALL DATEBF (LUNIT, MEAR, MMON, MDAY, MOUR, IDATE)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/datelen.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/datelen.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/datelen.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -27,6 +27,7 @@
C CALLED), THIS ROUTINE DOES NOT REQUIRE IT
C BUT IT MAY SOMEDAY CALL OTHER ROUTINES THAT
C DO REQUIRE IT
+C DART $Id$
C
C USAGE: CALL DATELEN (LEN)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/digit.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/digit.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/digit.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -15,6 +15,7 @@
C INTERDEPENDENCIES
C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED
C DOCUMENTATION (INCLUDING HISTORY)
+C DART $Id$
C
C USAGE: DIGIT (STR)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/drfini.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/lib/drfini.f 2010-01-21 18:01:32 UTC (rev 4224)
+++ DART/trunk/ncep_obs/prep_bufr/lib/drfini.f 2010-01-22 23:24:16 UTC (rev 4225)
@@ -29,6 +29,7 @@
C HISTORY); OUTPUTS MORE COMPLETE DIAGNOSTIC
C INFO WHEN ROUTINE TERMINATES ABNORMALLY
C 2005-03-04 J. ATOR -- UPDATED DOCUMENTATION
+C DART $Id$
C
C USAGE: CALL DRFINI (LUNIT, MDRF, NDRF, DRFTAG)
C INPUT ARGUMENT LIST:
Modified: DART/trunk/ncep_obs/prep_bufr/lib/drstpl.f
===================================================================
@@ Diff output truncated at 40000 characters. @@
From nancy at ucar.edu Wed Jan 27 09:33:09 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Wed, 27 Jan 2010 09:33:09 -0700
Subject: [Dart-dev] [4230] DART/trunk/filter/filter.f90: the args to write()
were backwards - the format and
Message-ID:
Revision: 4230
Author: nancy
Date: 2010-01-27 09:33:09 -0700 (Wed, 27 Jan 2010)
Log Message:
-----------
the args to write() were backwards - the format and
target string were reversed.
Modified Paths:
--------------
DART/trunk/filter/filter.f90
-------------- next part --------------
Modified: DART/trunk/filter/filter.f90
===================================================================
--- DART/trunk/filter/filter.f90 2010-01-26 00:19:44 UTC (rev 4229)
+++ DART/trunk/filter/filter.f90 2010-01-27 16:33:09 UTC (rev 4230)
@@ -954,7 +954,7 @@
! Need 1 new qc field for the DART quality control
qc_num_inc = 1
else
- write(*, msgstring) 'input obs_seq file has ', tnum_qc, ' qc fields; must be < 2'
+ write(msgstring, *) 'input obs_seq file has ', tnum_qc, ' qc fields; must be < 2'
call error_handler(E_ERR,'filter_setup_obs_sequence', msgstring, source, revision, revdate)
endif
From nancy at ucar.edu Wed Jan 27 14:07:15 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Wed, 27 Jan 2010 14:07:15 -0700
Subject: [Dart-dev] [4231] DART/trunk/filter/filter.dopplerfold.f90: same
fix as filter. f90 - the args to write() for an error
Message-ID:
Revision: 4231
Author: nancy
Date: 2010-01-27 14:07:15 -0700 (Wed, 27 Jan 2010)
Log Message:
-----------
same fix as filter.f90 - the args to write() for an error
message were reversed.
Modified Paths:
--------------
DART/trunk/filter/filter.dopplerfold.f90
-------------- next part --------------
Modified: DART/trunk/filter/filter.dopplerfold.f90
===================================================================
--- DART/trunk/filter/filter.dopplerfold.f90 2010-01-27 16:33:09 UTC (rev 4230)
+++ DART/trunk/filter/filter.dopplerfold.f90 2010-01-27 21:07:15 UTC (rev 4231)
@@ -959,7 +959,7 @@
! Need 1 new qc field for the DART quality control
qc_num_inc = 1
else
- write(*, msgstring) 'input obs_seq file has ', tnum_qc, ' qc fields; must be < 2'
+ write(msgstring, *) 'input obs_seq file has ', tnum_qc, ' qc fields; must be < 2'
call error_handler(E_ERR,'filter_setup_obs_sequence', msgstring, source, revision, revdate)
endif
From nancy at ucar.edu Thu Jan 28 12:31:54 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 12:31:54 -0700
Subject: [Dart-dev] [4232] DART/trunk/models/wrf: Full set of files to
support the Radar experiment, including
Message-ID:
Revision: 4232
Author: nancy
Date: 2010-01-28 12:31:54 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
Full set of files to support the Radar experiment, including
the additive noise and initial conditions perturbation executables.
Single line modification to the advance_model script - if the
radar noise script is found, call it at the appropriate place.
Modified Paths:
--------------
DART/trunk/models/wrf/shell_scripts/advance_model.csh
DART/trunk/models/wrf/work/input.nml
Added Paths:
-----------
DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90
DART/trunk/models/wrf/WRF_DART_utilities/f2kcli.f90
DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90
DART/trunk/models/wrf/experiments/
DART/trunk/models/wrf/experiments/Radar/
DART/trunk/models/wrf/experiments/Radar/IC/
DART/trunk/models/wrf/experiments/Radar/IC/init_ideal.ncl
DART/trunk/models/wrf/experiments/Radar/IC/namelist.wps.17May1981.2km
DART/trunk/models/wrf/experiments/Radar/IC/prep_IC_pertsounding.csh
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/compile_pert_sounding.csh
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/input_sounding
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding.f90
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding.input
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding_module.f90
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/readme.altug
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/test_sounding.output
DART/trunk/models/wrf/experiments/Radar/input.nml
DART/trunk/models/wrf/experiments/Radar/namelist.input
DART/trunk/models/wrf/experiments/Radar/obs/
DART/trunk/models/wrf/experiments/Radar/obs/README
DART/trunk/models/wrf/experiments/Radar/start_over.csh
DART/trunk/models/wrf/shell_scripts/add_noise.csh
DART/trunk/models/wrf/work/mkmf_add_pert_where_high_refl
DART/trunk/models/wrf/work/mkmf_grid_refl_obs
DART/trunk/models/wrf/work/path_names_add_pert_where_high_refl
DART/trunk/models/wrf/work/path_names_grid_refl_obs
Removed Paths:
-------------
DART/trunk/models/wrf/full_experiment/
-------------- next part --------------
Added: DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90
===================================================================
--- DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90 (rev 0)
+++ DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90 2010-01-28 19:31:54 UTC (rev 4232)
@@ -0,0 +1,674 @@
+PROGRAM add_pert_where_high_refl
+
+! Add 3D random but smooth perturbations to WRF fields in/near where the observations
+! indicate high reflectivity values. The technique is somewhat like that of
+! Caya et al. 2005, Monthly Weather Review, 3081-3094.
+!
+! David Dowell 27 June 2007
+!
+! input parameters from command line:
+! (1) refl_ob_file -- name of text file containing WRF grid indices where observed reflectivity is high
+! (2) wrf_file -- path name of WRF netcdf file
+! (3) lh -- horizontal length scale (m) for perturbations
+! (4) lv -- vertical length scale (m) for perturbations
+! (5) u_sd -- std. dev. of u noise (m/s), before smoothing
+! (6) v_sd -- std. dev. of v noise (m/s), before smoothing
+! (7) w_sd -- std. dev. of w noise (m/s), before smoothing
+! (8) t_sd -- std. dev. of potential temperature noise (K), before smoothing
+! (9) td_sd -- std. dev. of dewpoint noise (K), before smoothing
+! (10) qv_sd -- std. dev. of water vapor mixing ratio noise, before smoothing
+! (input value is in g/kg, value after conversion is in kg/kg)
+!
+! output:
+
+use types_mod, only : r8, gravity, t_kelvin, ps0, gas_constant, gas_constant_v
+use utilities_mod, only : error_handler, E_ERR, E_MSG, initialize_utilities, &
+ timestamp, register_module, logfileunit, file_exist
+use random_nr_mod, only : random_seq_type, init_ran1
+use random_seq_mod, only : random_gaussian
+use netcdf
+use f2kcli
+
+implicit none
+
+! version controlled file description for error handling, do not edit
+character(len=128), parameter :: &
+ source = "$URL$", &
+ revision = "$Revision$", &
+ revdate = "$Date$"
+
+! command-line parameters
+character(len=129) :: refl_ob_file
+character(len=129) :: wrf_file
+real(r8) :: lh
+real(r8) :: lv
+real(r8) :: u_sd
+real(r8) :: v_sd
+real(r8) :: w_sd
+real(r8) :: t_sd
+real(r8) :: td_sd
+real(r8) :: qv_sd
+
+! local variables
+integer :: n_obs ! number of gridded reflectivity observations
+integer, allocatable :: i_ob(:) ! grid indices of observations
+integer, allocatable :: j_ob(:) ! " "
+integer, allocatable :: k_ob(:) ! " "
+real(r8), allocatable :: refl_ob(:) ! observed reflectivity (dBZ)
+
+real(r8), allocatable :: phb(:,:,:) ! base-state geopotential (m^2 s^-2)
+real(r8), allocatable :: ht(:,:,:) ! height MSL of mass grid points (m)
+real(r8), allocatable :: ht_u(:,:,:) ! height MSL of u grid points (m)
+real(r8), allocatable :: ht_v(:,:,:) ! height MSL of v grid points (m)
+real(r8), allocatable :: ht_w(:,:,:) ! height MSL of w grid points (m)
+real(r8), allocatable :: f(:,:,:) ! WRF field
+real(r8), allocatable :: f2(:,:,:) ! Extra WRF field
+real(r8), allocatable :: sd(:,:,:) ! standard deviations of grid-point noise
+
+real(r8), allocatable :: dnw(:) ! d(eta) values between full (w) levels
+real(r8), allocatable :: ph(:,:,:) ! perturbation geopotential (m^2 s^-2)
+real(r8), allocatable :: qv(:,:,:) ! water vapor (kg/kg)
+real(r8), allocatable :: t(:,:,:) ! perturbation potential temperature (K)
+real(r8) :: rho ! density (kg m^-3)
+real(r8), allocatable :: mu(:,:) ! perturbation dry air mass in column (Pa)
+real(r8), allocatable :: mub(:,:) ! base state dry air mass in column (Pa)
+real(r8) :: ph_e
+real(r8) :: qvf1
+real(r8), PARAMETER :: ts0 = 300.0_r8 ! Base potential temperature for all levels.
+real(r8), PARAMETER :: kappa = 2.0_r8/7.0_r8 ! gas_constant / cp
+real(r8), PARAMETER :: rd_over_rv = gas_constant / gas_constant_v
+real(r8), PARAMETER :: cpovcv = 1.4_r8 ! cp / (cp - gas_constant)
+real(r8), allocatable :: p(:,:,:) ! pressure (mb)
+
+
+character(len=8) :: crdate ! needed by F90 DATE_AND_TIME intrinsic
+character(len=10) :: crtime ! needed by F90 DATE_AND_TIME intrinsic
+character(len=5) :: crzone ! needed by F90 DATE_AND_TIME intrinsic
+integer, dimension(8) :: values ! needed by F90 DATE_AND_TIME intrinsic
+real(r8) :: dx, dy ! horizontal grid spacings (m)
+integer :: bt, sn, we ! WRF grid dimensions
+integer :: i, j, k, o
+
+! netcdf stuff
+integer :: var_id, ncid, ierr
+character(len=80) :: varname
+
+! f2kcli stuff
+integer :: status, length
+character(len=120) :: string
+
+! random number generator stuff
+type (random_seq_type) :: rs
+
+
+ ! Get command-line parameters, using the F2KCLI interface. See f2kcli.f90 for details.
+
+if( COMMAND_ARGUMENT_COUNT() .ne. 10 ) then
+ print*, 'INCORRECT # OF ARGUMENTS ON COMMAND LINE: ', COMMAND_ARGUMENT_COUNT()
+ call exit(1)
+else
+
+ call GET_COMMAND_ARGUMENT(1,refl_ob_file,length,status)
+ if( status .ne. 0 ) then
+ print*, 'refl_ob_file NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ endif
+
+ call GET_COMMAND_ARGUMENT(2,wrf_file,length,status)
+ if( status .ne. 0 ) then
+ print*, 'wrf_file NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ endif
+
+ call GET_COMMAND_ARGUMENT(3,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'lh NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) lh
+ endif
+
+ call GET_COMMAND_ARGUMENT(4,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'lv NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) lv
+ endif
+
+ call GET_COMMAND_ARGUMENT(5,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'u_sd NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) u_sd
+ endif
+
+ call GET_COMMAND_ARGUMENT(6,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'v_sd NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) v_sd
+ endif
+
+ call GET_COMMAND_ARGUMENT(7,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'w_sd NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) w_sd
+ endif
+
+ call GET_COMMAND_ARGUMENT(8,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 't_sd NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) t_sd
+ endif
+
+ call GET_COMMAND_ARGUMENT(9,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'td_sd NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) td_sd
+ endif
+
+ call GET_COMMAND_ARGUMENT(10,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'qv_sd NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) qv_sd
+ endif
+
+endif
+
+qv_sd = 0.001_r8 * qv_sd ! convert g/kg to kg/kg
+
+
+! Read locations where high reflectivity was observed.
+
+! first, count observations
+
+open(unit=11, file=refl_ob_file, status='old')
+n_obs = 0
+998 read(11,*,end=999)
+ n_obs = n_obs + 1
+go to 998
+999 close(11)
+
+! now allocate storage and read the observations
+
+allocate(i_ob(n_obs))
+allocate(j_ob(n_obs))
+allocate(k_ob(n_obs))
+allocate(refl_ob(n_obs))
+
+open(unit=11, file=refl_ob_file, status='old')
+do o=1, n_obs
+ read(11,*) i_ob(o), j_ob(o), k_ob(o), refl_ob(o)
+enddo
+close(11)
+
+
+! Open WRF file and obtain miscellaneous values.
+
+call check ( nf90_open(wrf_file, NF90_WRITE, ncid) )
+
+call check ( nf90_inq_dimid(ncid, 'bottom_top', var_id) )
+call check ( nf90_inquire_dimension(ncid, var_id, varname, bt) )
+
+call check ( nf90_inq_dimid(ncid, 'south_north', var_id) )
+call check ( nf90_inquire_dimension(ncid, var_id, varname, sn) )
+
+call check ( nf90_inq_dimid(ncid, 'west_east', var_id) )
+call check ( nf90_inquire_dimension(ncid, var_id, varname, we) )
+
+call check( nf90_get_att(ncid, nf90_global, 'DX', dx) )
+call check( nf90_get_att(ncid, nf90_global, 'DY', dy) )
+
+
+! Read WRF base-state geopotential height field and compute height (m MSL)
+! of each grid point.
+
+allocate(phb(we,sn,bt+1))
+allocate(ht(we,sn,bt))
+allocate(ht_u(we+1,sn,bt))
+allocate(ht_v(we,sn+1,bt))
+allocate(ht_w(we,sn,bt+1))
+
+call check ( nf90_inq_varid(ncid, 'PHB', var_id))
+call check ( nf90_get_var(ncid, var_id, phb, start = (/ 1, 1, 1, 1/)))
+
+do k=1, bt
+ do j=1, sn
+ do i=1, we
+ ht(i,j,k) = ( phb(i,j,k) + phb(i,j,k+1) ) / (2.0_r8*gravity)
+ enddo
+ enddo
+enddo
+do k=1, bt
+ do j=1, sn
+ do i=2, we
+ ht_u(i,j,k) = ( phb(i-1,j,k) + phb(i-1,j,k+1) + phb(i,j,k) + phb(i,j,k+1) ) / (4.0_r8*gravity)
+ enddo
+ ht_u(1,j,k) = ht_u(2,j,k)
+ ht_u(we+1,j,k) = ht_u(we,j,k)
+ enddo
+enddo
+do k=1, bt
+ do i=1, we
+ do j=2, sn
+ ht_v(i,j,k) = ( phb(i,j-1,k) + phb(i,j-1,k+1) + phb(i,j,k) + phb(i,j,k+1) ) / (4.0_r8*gravity)
+ enddo
+ ht_v(i,1,k) = ht_v(i,2,k)
+ ht_v(i,sn+1,k) = ht_v(i,sn,k)
+ enddo
+enddo
+do k=1, bt+1
+ do j=1, sn
+ do i=1, we
+ ht_w(i,j,k) = phb(i,j,k) / gravity
+ enddo
+ enddo
+enddo
+
+
+! Initialize random number generator with a seed based on the milliseconds
+! portion of the current time.
+
+call date_and_time(crdate,crtime,crzone,values)
+call init_ran1(rs, -int(values(8)))
+
+
+! Add perturbations.
+
+if (u_sd .gt. 0.0_r8) then
+
+ allocate(f(we+1,sn,bt))
+ call check ( nf90_inq_varid(ncid, 'U', var_id))
+ call check ( nf90_get_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ allocate(sd(we+1,sn,bt))
+
+ sd(:,:,:) = 0.0_r8
+ do o=1, n_obs
+ sd(i_ob(o), j_ob(o), k_ob(o)) = u_sd
+ sd(i_ob(o)+1, j_ob(o), k_ob(o)) = u_sd
+ enddo
+
+ call add_smooth_perturbations(f, sd, we+1, sn, bt, lh, lv, dx, dy, ht_u)
+
+ call check ( nf90_put_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ deallocate(f)
+ deallocate(sd)
+
+end if
+
+
+if (v_sd .gt. 0.0_r8) then
+
+ allocate(f(we,sn+1,bt))
+ call check ( nf90_inq_varid(ncid, 'V', var_id))
+ call check ( nf90_get_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ allocate(sd(we,sn+1,bt))
+
+ sd(:,:,:) = 0.0_r8
+ do o=1, n_obs
+ sd(i_ob(o), j_ob(o), k_ob(o)) = v_sd
+ sd(i_ob(o), j_ob(o)+1, k_ob(o)) = v_sd
+ enddo
+
+ call add_smooth_perturbations(f, sd, we, sn+1, bt, lh, lv, dx, dy, ht_v)
+
+ call check ( nf90_put_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ deallocate(f)
+ deallocate(sd)
+
+end if
+
+
+! note: Perturbing w is not advised currently because there is no enforcement
+! that w perturbations should be small near the lower and upper boundaries.
+if (w_sd .gt. 0.0_r8) then
+
+ allocate(f(we,sn,bt+1))
+ call check ( nf90_inq_varid(ncid, 'W', var_id))
+ call check ( nf90_get_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ allocate(sd(we,sn,bt+1))
+
+ sd(:,:,:) = 0.0_r8
+ do o=1, n_obs
+ sd(i_ob(o), j_ob(o), k_ob(o)) = w_sd
+ sd(i_ob(o), j_ob(o), k_ob(o)+1) = w_sd
+ enddo
+
+ call add_smooth_perturbations(f, sd, we, sn, bt+1, lh, lv, dx, dy, ht_w)
+
+ call check ( nf90_put_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ deallocate(f)
+ deallocate(sd)
+
+end if
+
+
+if (t_sd .gt. 0.0_r8) then
+
+ allocate(f(we,sn,bt))
+ call check ( nf90_inq_varid(ncid, 'T', var_id))
+ call check ( nf90_get_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ allocate(sd(we,sn,bt))
+
+ sd(:,:,:) = 0.0_r8
+ do o=1, n_obs
+ sd(i_ob(o), j_ob(o), k_ob(o)) = t_sd
+ enddo
+
+ call add_smooth_perturbations(f, sd, we, sn, bt, lh, lv, dx, dy, ht)
+
+ call check ( nf90_put_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ deallocate(f)
+ deallocate(sd)
+
+end if
+
+
+! note: Perturbing dewpoint can produce supersaturation.
+if (td_sd .gt. 0.0_r8) then
+
+ allocate(dnw(bt))
+ allocate(ph(we,sn,bt+1))
+ allocate(qv(we,sn,bt))
+ allocate(t(we,sn,bt))
+ allocate(mu(we,sn))
+ allocate(mub(we,sn))
+ allocate(p(we,sn,bt))
+ call check ( nf90_inq_varid(ncid, 'DNW', var_id))
+ call check ( nf90_get_var(ncid, var_id, dnw, start = (/ 1, 1/)))
+ call check ( nf90_inq_varid(ncid, 'PH', var_id))
+ call check ( nf90_get_var(ncid, var_id, ph, start = (/ 1, 1, 1, 1/)))
+ call check ( nf90_inq_varid(ncid, 'QVAPOR', var_id))
+ call check ( nf90_get_var(ncid, var_id, qv, start = (/ 1, 1, 1, 1/)))
+ call check ( nf90_inq_varid(ncid, 'T', var_id))
+ call check ( nf90_get_var(ncid, var_id, t, start = (/ 1, 1, 1, 1/)))
+ call check ( nf90_inq_varid(ncid, 'MU', var_id))
+ call check ( nf90_get_var(ncid, var_id, mu, start = (/ 1, 1, 1/)))
+ call check ( nf90_inq_varid(ncid, 'MUB', var_id))
+ call check ( nf90_get_var(ncid, var_id, mub, start = (/ 1, 1, 1/)))
+ allocate(f(we,sn,bt))
+ allocate(f2(we,sn,bt))
+! f2 is the sensible temperature array
+ allocate(sd(we,sn,bt))
+
+ ! compute pressure
+ ! see model_rho_t and model_pressure_t functions in model_mod.f90
+ do k=1, bt
+ do j=1, sn
+ do i=1, we
+ ph_e = ( (ph(i,j,k+1) + phb(i,j,k+1)) - (ph(i,j,k) + phb(i,j,k)) ) / dnw(k)
+ rho = - ( mub(i,j)+mu(i,j) ) / ph_e
+ qvf1 = 1.0_r8 + qv(i,j,k) / rd_over_rv
+ p(i,j,k) = 0.01_r8 * ps0 * ( (gas_constant*(ts0+t(i,j,k))*qvf1) / (ps0/rho) )**cpovcv
+ f2(i,j,k) = (ts0 + t(i,j,k))*(100.0*p(i,j,k)/ps0)**kappa
+ enddo
+ enddo
+ enddo
+
+ ! compute dewpoint
+ do k=1, bt
+ do j=1, sn
+ do i=1, we
+ call compute_td(f(i,j,k), p(i,j,k), qv(i,j,k))
+ enddo
+ enddo
+ enddo
+
+ ! perturb dewpoint
+ sd(:,:,:) = 0.0_r8
+ do o=1, n_obs
+ sd(i_ob(o), j_ob(o), k_ob(o)) = td_sd
+ enddo
+
+
+ call add_smooth_perturbations(f, sd, we, sn, bt, lh, lv, dx, dy, ht)
+
+! check to make sure the perturbed dewpoint is <= temperature + 4 K
+ do k=1, bt
+ do j=1, sn
+ do i=1, we
+ if ( f(i,j,k) .gt. f2(i,j,k)+4.0 ) then
+! write(*,*) 'supersaturation violation i,j,k ', i, j, k, f(i,j,k), f2(i,j,k)
+ f(i,j,k) = f2(i,j,k)+4.0
+ end if
+ enddo
+ enddo
+ enddo
+
+ ! compute qv
+ do k=1, bt
+ do j=1, sn
+ do i=1, we
+ call compute_qv(qv(i,j,k), p(i,j,k), f(i,j,k))
+ enddo
+ enddo
+ enddo
+
+ call check ( nf90_inq_varid(ncid, 'QVAPOR', var_id))
+ call check ( nf90_put_var(ncid, var_id, qv, start = (/ 1, 1, 1, 1/)))
+ deallocate(dnw)
+ deallocate(ph)
+ deallocate(qv)
+ deallocate(t)
+ deallocate(mu)
+ deallocate(mub)
+ deallocate(p)
+ deallocate(f)
+ deallocate(f2)
+ deallocate(sd)
+
+end if
+
+
+! note: Since negative qv values are set to 0 after the perturbations are added,
+! the following procedure produces a net increase in qv in the domain.
+if (qv_sd .gt. 0.0_r8) then
+
+ allocate(f(we,sn,bt))
+ call check ( nf90_inq_varid(ncid, 'QVAPOR', var_id))
+ call check ( nf90_get_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ allocate(sd(we,sn,bt))
+
+ sd(:,:,:) = 0.0_r8
+ do o=1, n_obs
+ sd(i_ob(o), j_ob(o), k_ob(o)) = qv_sd
+ enddo
+
+ call add_smooth_perturbations(f, sd, we, sn, bt, lh, lv, dx, dy, ht)
+
+ f(:,:,:) = max(0.0_r8, f(:,:,:)) ! require qv to be nonnegative
+
+ call check ( nf90_put_var(ncid, var_id, f, start = (/ 1, 1, 1, 1/)))
+ deallocate(f)
+ deallocate(sd)
+
+end if
+
+
+! Close file and deallocate arrays.
+
+ierr = NF90_close(ncid)
+
+deallocate(i_ob)
+deallocate(j_ob)
+deallocate(k_ob)
+deallocate(refl_ob)
+deallocate(phb)
+deallocate(ht)
+deallocate(ht_u)
+deallocate(ht_v)
+deallocate(ht_w)
+
+
+
+contains
+
+
+ ! Internal subroutine - checks error status after each netcdf, prints
+ ! text message each time an error code is returned.
+ subroutine check(istatus)
+ integer, intent ( in) :: istatus
+ if(istatus /= nf90_noerr) call error_handler(E_ERR,'add_pert_where_high_refl', &
+ trim(nf90_strerror(istatus)), source, revision, revdate)
+ end subroutine check
+
+!------------------------------------------------------------------------------------
+
+ ! Compute dewpoint (in Kelvin) from the specified values of pressure and water vapor mixing ratio.
+ ! Author: David Dowell
+ ! Date: July 9, 2007
+
+ subroutine compute_td(td, p, qv)
+ implicit none
+
+!-- returned parameter
+ real(r8), intent(out) :: td ! dewpoint (K)
+
+!-- passed parameters
+ real(r8), intent(in) :: p ! pressure (mb)
+ real(r8), intent(in) :: qv ! water vapor mixing ratio (kg/kg)
+
+!-- local variables
+ real(r8) :: e ! water vapor pressure (mb)
+ real(r8) :: qv_ckd ! checked mixing ratio
+ real(r8), PARAMETER :: e_min = 0.001_r8 ! threshold for minimum vapor pressure (mb),
+ ! to avoid problems near zero in Bolton's equation
+ real(r8), PARAMETER :: qv_min = 1.0e-12 ! threshold for minimum water vapor mixing ratio
+ real(r8), PARAMETER :: qv_max = 0.050 ! threshold for maximum water vapor mixing ratio
+
+! ensure qv is a reasonable number
+! qv_ckd = max (qv, qv_min)
+! qv_ckd = min (qv_ckd, qv_max)
+ qv_ckd = qv
+ e = qv_ckd * p / (0.622_r8 + qv_ckd) ! vapor pressure
+ e = max(e, e_min) ! avoid problems near zero
+ td = t_kelvin + (243.5_r8 / ((17.67_r8 / log(e/6.112_r8)) - 1.0_r8) ) ! Bolton's approximation
+
+ end subroutine compute_td
+
+!------------------------------------------------------------------------------------
+
+ ! Compute water vapor mixing ratio (in kg/kg) from the specified values of pressure and dewpoint.
+ ! Author: David Dowell
+ ! Date: July 9, 2007
+
+ subroutine compute_qv(qv, p, td)
+ implicit none
+
+!-- returned parameter
+ real(r8), intent(out) :: qv ! water vapor mixing ratio (kg/kg)
+
+!-- passed parameters
+ real(r8), intent(in) :: p ! pressure (mb)
+ real(r8), intent(in) :: td ! dewpoint (K)
+
+!-- local variables
+ real(r8) :: tdc ! dewpoint (Celsius)
+ real(r8) :: e ! water vapor pressure (mb)
+
+ tdc = td - t_kelvin
+ e = 6.112_r8 * exp(17.67_r8 * tdc / (tdc+243.5_r8) ) ! Bolton's approximation
+ qv = 0.622_r8 * e / (p-e)
+
+ return
+
+ end subroutine compute_qv
+
+!------------------------------------------------------------------------------------
+
+ ! Add smooth perturbations to an array. The technique is based on
+ ! Caya et al. 2005, Monthly Weather Review, 3081-3094.
+ ! Author: David Dowell
+ ! Date: July 9, 2007
+
+ subroutine add_smooth_perturbations(f, sd, nx, ny, nz, lh, lv, dx, dy, ht)
+ implicit none
+
+!-- passed parameters
+ integer, intent(in) :: nx, ny, nz ! grid dimensions
+ real(r8), intent(in) :: lh, lv ! horizontal and vertical length scales (m)
+ real(r8), intent(in) :: dx, dy ! horizontal grid spacings (m)
+ real(r8), intent(in) :: ht(nx,ny,nz) ! heights MSL of f and sd grid points (m)
+ real(r8), intent(in) :: sd(nx,ny,nz) ! standard deviation of grid-point noise
+
+!-- passed and returned variable
+ real(r8), intent(inout) :: f(nx,ny,nz) ! field to be perturbed
+
+!-- local variables
+
+ real(r8) :: r(nx,ny,nz) ! realization of random, normally distributed noise
+ integer :: i, i0, j, j0, k, k0 ! grid indices
+ integer :: i1, i2, j1, j2, k1, k2 ! more grid indices
+ real(r8) :: rlh, rlv ! reciprocals of lh and lv
+ integer, parameter :: nl = 5 ! number of length scales for computing exponential weight
+
+
+ rlh = 1.0_r8 / lh
+ rlv = 1.0_r8 / lv
+
+! generate random, normally-distributed gridpoint noise
+
+ r(:,:,:) = 0.0_r8
+ do k0=1, nz
+ do j0=1, ny
+ do i0=1, nx
+ if (sd(i0,j0,k0) .ne. 0.0_r8) then
+ r(i0,j0,k0) = random_gaussian(rs, 0.0_r8, sd(i0,j0,k0))
+ endif
+ enddo
+ enddo
+ enddo
+
+! smooth the perturbations with an inverse exponential function
+
+ do k0=1, nz
+ do j0=1, ny
+ do i0=1, nx
+
+ if (r(i0,j0,k0).ne.0.0_r8) then
+
+ i1 = max(1, nint(i0-nl*lh/dx))
+ i2 = min(nx, nint(i0+nl*lh/dx))
+ j1 = max(1, nint(j0-nl*lh/dy))
+ j2 = min(ny, nint(j0+nl*lh/dy))
+ k1 = k0
+ do while ( (k1.gt.1) .and. ( ht(i0,j0,k1) .gt. (ht(i0,j0,k0)-nl*lv) ) )
+ k1 = k1 - 1
+ enddo
+ k2 = k0
+ do while ( (k2.lt.nz) .and. ( ht(i0,j0,k2) .lt. (ht(i0,j0,k0)+nl*lv) ) )
+ k2 = k2 + 1
+ enddo
+
+ do k=k1, k2
+ do j=j1, j2
+ do i=i1, i2
+ f(i,j,k) = f(i,j,k) &
+ + r(i0,j0,k0)*exp( -dx*abs(i0-i)*rlh &
+ -dy*abs(j0-j)*rlh &
+ -abs(ht(i0,j0,k0)-ht(i,j,k))*rlv )
+ enddo
+ enddo
+ enddo
+
+ endif
+
+ enddo
+ enddo
+ enddo
+
+ end subroutine add_smooth_perturbations
+
+
+END PROGRAM add_pert_where_high_refl
Property changes on: DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90
___________________________________________________________________
Added: svn:keywords
+ Date Revision Author HeadURL Id
Added: DART/trunk/models/wrf/WRF_DART_utilities/f2kcli.f90
===================================================================
--- DART/trunk/models/wrf/WRF_DART_utilities/f2kcli.f90 (rev 0)
+++ DART/trunk/models/wrf/WRF_DART_utilities/f2kcli.f90 2010-01-28 19:31:54 UTC (rev 4232)
@@ -0,0 +1,187 @@
+! F2KCLI : Fortran 200x Command Line Interface
+! copyright Interactive Software Services Ltd. 2002
+! For conditions of use see manual.txt
+!
+! Platform : Mac OS/X
+! Compiler : Absoft Pro Fortran
+! To compile : f95 -c f2kcli.f90
+! Implementer : Lawson B. Wakefield, I.S.S. Ltd.
+! Date : June 2002
+!
+ MODULE F2KCLI
+!
+ CONTAINS
+!
+ SUBROUTINE GET_COMMAND(COMMAND,LENGTH,STATUS)
+!
+! Description. Returns the entire command by which the program was
+! invoked.
+!
+! Class. Subroutine.
+!
+! Arguments.
+! COMMAND (optional) shall be scalar and of type default character.
+! It is an INTENT(OUT) argument. It is assigned the entire command
+! by which the program was invoked. If the command cannot be
+! determined, COMMAND is assigned all blanks.
+! LENGTH (optional) shall be scalar and of type default integer. It is
+! an INTENT(OUT) argument. It is assigned the significant length
+! of the command by which the program was invoked. The significant
+! length may include trailing blanks if the processor allows commands
+! with significant trailing blanks. This length does not consider any
+! possible truncation or padding in assigning the command to the
+! COMMAND argument; in fact the COMMAND argument need not even be
+! present. If the command length cannot be determined, a length of
+! 0 is assigned.
+! STATUS (optional) shall be scalar and of type default integer. It is
+! an INTENT(OUT) argument. It is assigned the value 0 if the
+! command retrieval is sucessful. It is assigned a processor-dependent
+! non-zero value if the command retrieval fails.
+!
+ CHARACTER(LEN=*), INTENT(OUT), OPTIONAL :: COMMAND
+ INTEGER , INTENT(OUT), OPTIONAL :: LENGTH
+ INTEGER , INTENT(OUT), OPTIONAL :: STATUS
+!
+ INTEGER :: IARG,NARG,IPOS
+ INTEGER , SAVE :: LENARG
+ CHARACTER(LEN=2000), SAVE :: ARGSTR
+ LOGICAL , SAVE :: GETCMD = .TRUE.
+!
+! Reconstruct the command line from its constituent parts.
+! This may not be the original command line.
+!
+ IF (GETCMD) THEN
+ NARG = IARGC()
+ IF (NARG > 0) THEN
+ IPOS = 1
+ DO IARG = 1,NARG
+ CALL GETARG(IARG,ARGSTR(IPOS:))
+ LENARG = LEN_TRIM(ARGSTR)
+ IPOS = LENARG + 2
+ IF (IPOS > LEN(ARGSTR)) EXIT
+ END DO
+ ELSE
+ ARGSTR = ' '
+ LENARG = 0
+ ENDIF
+ GETCMD = .FALSE.
+ ENDIF
+ IF (PRESENT(COMMAND)) COMMAND = ARGSTR
+ IF (PRESENT(LENGTH)) LENGTH = LENARG
+ IF (PRESENT(STATUS)) STATUS = 0
+ RETURN
+ END SUBROUTINE GET_COMMAND
+!
+ INTEGER FUNCTION COMMAND_ARGUMENT_COUNT()
+!
+! Description. Returns the number of command arguments.
+!
+! Class. Inquiry function
+!
+! Arguments. None.
+!
+! Result Characteristics. Scalar default integer.
+!
+! Result Value. The result value is equal to the number of command
+! arguments available. If there are no command arguments available
+! or if the processor does not support command arguments, then
+! the result value is 0. If the processor has a concept of a command
+! name, the command name does not count as one of the command
+! arguments.
+!
+ COMMAND_ARGUMENT_COUNT = IARGC()
+ RETURN
+ END FUNCTION COMMAND_ARGUMENT_COUNT
+!
+ SUBROUTINE GET_COMMAND_ARGUMENT(NUMBER,VALUE,LENGTH,STATUS)
+!
+! Description. Returns a command argument.
+!
+! Class. Subroutine.
+!
+! Arguments.
+! NUMBER shall be scalar and of type default integer. It is an
+! INTENT(IN) argument. It specifies the number of the command
+! argument that the other arguments give information about. Useful
+! values of NUMBER are those between 0 and the argument count
+! returned by the COMMAND_ARGUMENT_COUNT intrinsic.
+! Other values are allowed, but will result in error status return
+! (see below). Command argument 0 is defined to be the command
+! name by which the program was invoked if the processor has such
+! a concept. It is allowed to call the GET_COMMAND_ARGUMENT
+! procedure for command argument number 0, even if the processor
+! does not define command names or other command arguments.
+! The remaining command arguments are numbered consecutively from
+! 1 to the argument count in an order determined by the processor.
+! VALUE (optional) shall be scalar and of type default character.
+! It is an INTENT(OUT) argument. It is assigned the value of the
+! command argument specified by NUMBER. If the command argument value
+! cannot be determined, VALUE is assigned all blanks.
+! LENGTH (optional) shall be scalar and of type default integer.
+! It is an INTENT(OUT) argument. It is assigned the significant length
+! of the command argument specified by NUMBER. The significant
+! length may include trailing blanks if the processor allows command
+! arguments with significant trailing blanks. This length does not
+! consider any possible truncation or padding in assigning the
+! command argument value to the VALUE argument; in fact the
+! VALUE argument need not even be present. If the command
+! argument length cannot be determined, a length of 0 is assigned.
+! STATUS (optional) shall be scalar and of type default integer.
+! It is an INTENT(OUT) argument. It is assigned the value 0 if
+! the argument retrieval is sucessful. It is assigned a
+! processor-dependent non-zero value if the argument retrieval fails.
+!
+! NOTE
+! One possible reason for failure is that NUMBER is negative or
+! greater than COMMAND_ARGUMENT_COUNT().
+!
+ INTEGER , INTENT(IN) :: NUMBER
+ CHARACTER(LEN=*), INTENT(OUT), OPTIONAL :: VALUE
+ INTEGER , INTENT(OUT), OPTIONAL :: LENGTH
+ INTEGER , INTENT(OUT), OPTIONAL :: STATUS
+!
+! A temporary variable for the rare case case where LENGTH is
+! specified but VALUE is not. An arbitrary maximum argument length
+! of 1000 characters should cover virtually all situations.
+!
+ CHARACTER(LEN=1000) :: TMPVAL
+!
+! Possible error codes:
+! 1 = Argument number is less than minimum
+! 2 = Argument number exceeds maximum
+!
+ IF (NUMBER < 0) THEN
+ IF (PRESENT(VALUE )) VALUE = ' '
+ IF (PRESENT(LENGTH)) LENGTH = 0
+ IF (PRESENT(STATUS)) STATUS = 1
+ RETURN
+ ELSE IF (NUMBER > IARGC()) THEN
+ IF (PRESENT(VALUE )) VALUE = ' '
+ IF (PRESENT(LENGTH)) LENGTH = 0
+ IF (PRESENT(STATUS)) STATUS = 2
+ RETURN
+ END IF
+!
+! Get the argument if VALUE is present
+!
+ IF (PRESENT(VALUE)) CALL GETARG(NUMBER,VALUE)
+!
+! As under Unix, the LENGTH option is probably fairly pointless here,
+! but LEN_TRIM is used to ensure at least some sort of meaningful result.
+!
+ IF (PRESENT(LENGTH)) THEN
+ IF (PRESENT(VALUE)) THEN
+ LENGTH = LEN_TRIM(VALUE)
+ ELSE
+ CALL GETARG(NUMBER,TMPVAL)
+ LENGTH = LEN_TRIM(TMPVAL)
+ END IF
+ END IF
+!
+! Since GETARG does not return a result code, assume success
+!
+ IF (PRESENT(STATUS)) STATUS = 0
+ RETURN
+ END SUBROUTINE GET_COMMAND_ARGUMENT
+!
+ END MODULE F2KCLI
Property changes on: DART/trunk/models/wrf/WRF_DART_utilities/f2kcli.f90
___________________________________________________________________
Added: svn:keywords
+ Date Revision Author HeadURL Id
Added: DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90
===================================================================
--- DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90 (rev 0)
+++ DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90 2010-01-28 19:31:54 UTC (rev 4232)
@@ -0,0 +1,400 @@
+PROGRAM grid_refl_obs
+
+! Extract reflectivity obs from a DART obs_seq.out file and compute the coordinates of
+! these observations on a WRF grid (mass grid points).
+!
+! David Dowell 26 June 2007
+!
+! input parameters from command line:
+! (1) obs_seq_file -- path name of DART obs_seq.out file
+! (2) refl_min -- minimum reflectivity threshold for processing observation
+! (3) days_begin -- start of time range to be processed
+! (4) seconds_begin -- " "
+! (5) days_end -- end of time range to be processed
+! (6) seconds_end -- " "
+! (7) wrf_file -- path name of WRF netcdf file
+!
+! output:
+! (1) text file
+
+use types_mod, only : r8, missing_r8, gravity
+use obs_sequence_mod, only : read_obs_seq, obs_type, obs_sequence_type, get_first_obs, &
+ get_obs_from_key, get_obs_def, get_copy_meta_data, &
+ get_obs_time_range, get_time_range_keys, get_num_obs, &
+ get_next_obs, get_num_times, get_obs_values, init_obs, &
+ get_num_copies, static_init_obs_sequence, &
+ get_qc, destroy_obs_sequence, read_obs_seq_header, &
+ get_last_obs, destroy_obs, get_num_qc, get_qc_meta_data
+use obs_def_mod, only : obs_def_type, get_obs_def_error_variance, get_obs_def_time, &
+ get_obs_def_location, get_obs_kind, get_obs_name
+use obs_kind_mod, only : RADAR_REFLECTIVITY
+use map_utils, only : proj_info, map_init, map_set, latlon_to_ij, &
+ PROJ_LATLON, PROJ_MERC, PROJ_LC, PROJ_PS, &
+ ij_to_latlon, gridwind_to_truewind
+use location_mod, only : location_type, get_location, set_location_missing, &
+ write_location, operator(/=), &
+ vert_is_undef, VERTISUNDEF, &
+ vert_is_surface, VERTISSURFACE, &
+ vert_is_level, VERTISLEVEL, &
+ vert_is_pressure, VERTISPRESSURE, &
+ vert_is_height, VERTISHEIGHT
+use time_manager_mod, only : time_type, set_date, set_time, get_time, print_time, &
+ set_calendar_type, print_date, GREGORIAN, &
+ operator(*), operator(+), operator(-), &
+ operator(>), operator(<), operator(/), &
+ operator(/=), operator(<=)
+use utilities_mod, only : error_handler, E_ERR, E_MSG, initialize_utilities, &
+ timestamp, register_module, logfileunit, file_exist
+use netcdf
+use f2kcli
+
+implicit none
+
+! version controlled file description for error handling, do not edit
+character(len=128), parameter :: &
+ source = "$URL$", &
+ revision = "$Revision$", &
+ revdate = "$Date$"
+
+! command-line parameters
+character(len=129) :: obs_seq_file
+real(r8) :: refl_min
+integer :: seconds_begin
+integer :: days_begin
+integer :: seconds_end
+integer :: days_end
+character(len=129) :: wrf_file
+
+! local variables
+type(obs_sequence_type) :: seq
+type(obs_def_type) :: obs_def
+type(time_type) :: beg_time, end_time
+type(obs_type) :: ob
+type(location_type) :: ob_loc
+
+integer :: num_copies, num_qc, num_obs, max_num_obs, obs_seq_file_id
+character(len=129) :: obs_seq_read_format
+logical :: pre_I_format
+logical :: is_there_one, out_of_range
+integer :: key_bounds(2)
+integer :: num_obs_in_time_period
+integer :: num_refl_obs
+integer :: num_refl_obs_in_domain
+integer, allocatable :: keys(:)
+integer :: obs_kind_ind
+integer :: obs_index
+real(r8) :: ob_value(1)
+
+real(r8), allocatable :: lat(:,:) ! latitude at mass grid points (deg)
+real(r8), allocatable :: lon(:,:) ! longitude at mass grid points (deg)
+real(r8), allocatable :: phb(:,:,:) ! base-state geopotential (m^2 s^-2)
+real(r8), allocatable :: ht(:,:,:) ! height MSL of mass grid points (m)
+type(proj_info) :: proj ! map projection info.
+integer, parameter :: map_sphere = 0, map_lambert = 1, map_polar_stereo = 2, map_mercator = 3
+integer map_proj, proj_code
+real(r8) :: dx
+real(r8) :: stdlon,truelat1,truelat2
+real(r8) :: xyz_loc(3)
+real(r8) :: iloc, jloc, kloc
+
+real(r8), allocatable :: refl_ob(:,:,:) ! gridded reflectivity observations (dBZ)
+
+integer :: bt, sn, we ! WRF grid dimensions
+
+character(len = 150) :: msgstring
+integer :: i, j, k, o
+
+
+! netcdf stuff
+integer :: var_id, ncid, ierr
+character(len=80) :: varname
+
+! f2kcli stuff
+integer :: status, length
+character(len=120) :: string
+
+
+
+! Get command-line parameters, using the F2KCLI interface. See f2kcli.f90 for details.
+
+if( COMMAND_ARGUMENT_COUNT() .ne. 7 ) then
+ print*, 'INCORRECT # OF ARGUMENTS ON COMMAND LINE: ', COMMAND_ARGUMENT_COUNT()
+ call exit(1)
+else
+
+ call GET_COMMAND_ARGUMENT(1,obs_seq_file,length,status)
+ if( status .ne. 0 ) then
+ print*, 'obs_seq_file NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ endif
+
+ call GET_COMMAND_ARGUMENT(2,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'refl_min NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) refl_min
+ endif
+
+ call GET_COMMAND_ARGUMENT(3,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'days_begin NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) days_begin
+ endif
+
+ call GET_COMMAND_ARGUMENT(4,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'seconds_begin NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) seconds_begin
+ endif
+
+ call GET_COMMAND_ARGUMENT(5,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'days_end NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) days_end
+ endif
+
+ call GET_COMMAND_ARGUMENT(6,string,length,status)
+ if( status .ne. 0 ) then
+ print*, 'seconds_end NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ else
+ read(string,*) seconds_end
+ endif
+
+ call GET_COMMAND_ARGUMENT(7,wrf_file,length,status)
+ if( status .ne. 0 ) then
+ print*, 'wrf_file NOT RETRIEVED FROM COMMAND LINE: ', status
+ call exit(1)
+ endif
+
+endif
+
+
+! Read observations.
+
+call static_init_obs_sequence() ! Initialize the obs sequence module
+
+obs_seq_file = trim(adjustl(obs_seq_file))
+if ( file_exist(obs_seq_file) ) then
+ write(msgstring,*)'opening ', obs_seq_file
+ call error_handler(E_MSG,'grid_refl_obs',msgstring,source,revision,revdate)
+else
+ write(msgstring,*)obs_seq_file,&
+ ' does not exist. Finishing up.'
+ call error_handler(E_MSG,'grid_refl_obs',msgstring,source,revision,revdate)
+ call exit(1)
+endif
+
+call read_obs_seq_header(obs_seq_file, &
+ num_copies, num_qc, num_obs, max_num_obs, &
+ obs_seq_file_id, obs_seq_read_format, pre_I_format, &
+ close_the_file = .true.)
+
+print*, 'num_copies = ', num_copies
+print*, 'num_qc = ', num_qc
+print*, 'num_obs = ', num_obs
+print*, 'max_num_obs = ', max_num_obs
+print*, 'obs_seq_read_format = ', obs_seq_read_format
+print*, 'pre_I_format = ', pre_I_format
+
+call read_obs_seq(obs_seq_file, 0, 0, 0, seq)
+
+MetaDataLoop : do i=1, get_num_copies(seq)
+ if(index(get_copy_meta_data(seq,i), 'observation') > 0) obs_index = i
+enddo MetaDataLoop
+
+
+! Open WRF file and obtain grid dimensions.
+
+call check ( nf90_open(wrf_file, NF90_NOWRITE, ncid) )
+
+call check ( nf90_inq_dimid(ncid, 'bottom_top', var_id) )
+call check ( nf90_inquire_dimension(ncid, var_id, varname, bt) )
+
+call check ( nf90_inq_dimid(ncid, 'south_north', var_id) )
+call check ( nf90_inquire_dimension(ncid, var_id, varname, sn) )
+
+call check ( nf90_inq_dimid(ncid, 'west_east', var_id) )
+call check ( nf90_inquire_dimension(ncid, var_id, varname, we) )
+
+call check( nf90_get_att(ncid, nf90_global, 'MAP_PROJ', map_proj) )
+call check( nf90_get_att(ncid, nf90_global, 'DX', dx) )
+call check( nf90_get_att(ncid, nf90_global, 'TRUELAT1', truelat1) )
+call check( nf90_get_att(ncid, nf90_global, 'TRUELAT2', truelat2) )
+call check( nf90_get_att(ncid, nf90_global, 'STAND_LON', stdlon) )
+
+! Allocate arrays.
+
+allocate(lat(we,sn))
+allocate(lon(we,sn))
+allocate(phb(we,sn,bt+1))
+allocate(ht(we,sn,bt))
+allocate(refl_ob(we,sn,bt))
+
+refl_ob(:,:,:) = missing_r8
+
+
+! Read WRF grid information.
+
+call check ( nf90_inq_varid(ncid, 'XLAT', var_id))
+call check ( nf90_get_var(ncid, var_id, lat, start = (/ 1, 1, 1/)))
+
+call check ( nf90_inq_varid(ncid, 'XLONG', var_id))
+call check ( nf90_get_var(ncid, var_id, lon, start = (/ 1, 1, 1/)))
+
+call check ( nf90_inq_varid(ncid, 'PHB', var_id))
+call check ( nf90_get_var(ncid, var_id, phb, start = (/ 1, 1, 1, 1/)))
+
+ierr = NF90_close(ncid)
+
+
+! Set up map projection structure.
+
+call map_init(proj)
+if(map_proj == map_sphere) then
+ proj_code = PROJ_LATLON
+elseif(map_proj == map_lambert) then
+ proj_code = PROJ_LC
+elseif(map_proj == map_polar_stereo) then
+ proj_code = PROJ_PS
+elseif(map_proj == map_mercator) then
+ proj_code = PROJ_MERC
+else
+ call error_handler(E_ERR,'grid_refl_obs', &
+ 'Map projection no supported.', source, revision, revdate)
+endif
+!call map_set(proj_code,lat(1,1),lon(1,1), &
+! 1.0_r8,1.0_r8,dx,stdlon,truelat1,truelat2,proj)
+call map_set(proj_code=proj_code, proj=proj, lat1=lat(1,1), lon1=lon(1,1), &
+ knowni=1.0_r8, knownj=1.0_r8, dx=dx, stdlon=stdlon, truelat1=truelat1, truelat2=truelat2)
+
+! Compute height (m MSL) of each grid point.
+
+do k=1, bt
+ do j=1, sn
+ do i=1, we
+ ht(i,j,k) = ( phb(i,j,k) + phb(i,j,k+1) ) / (2.0_r8*gravity)
+ enddo
+ enddo
+enddo
+
+! Make sure longitudes are in the range from 0 to 360.
+
+do j=1, sn
+ do i=1, we
+ do while (lon(i,j) < 0.0_r8)
+ lon(i,j) = lon(i,j) + 360.0_r8
+ end do
+ do while (lon(i,j) > 360.0_r8)
+ lon(i,j) = lon(i,j) - 360.0_r8
+ end do
+ enddo
+enddo
+
+
+! Process observations, assigning to grid points any reflectivity observations that lie within
+! the domain and specified time range.
+
+beg_time = set_time(seconds_begin, days_begin)
@@ Diff output truncated at 40000 characters. @@
From nancy at ucar.edu Thu Jan 28 12:59:37 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 12:59:37 -0700
Subject: [Dart-dev] [4233] DART/trunk/models/wrf/work: Fix the copyright
info.
Message-ID:
Revision: 4233
Author: nancy
Date: 2010-01-28 12:59:37 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
Fix the copyright info.
Modified Paths:
--------------
DART/trunk/models/wrf/work/mkmf_add_pert_where_high_refl
DART/trunk/models/wrf/work/mkmf_grid_refl_obs
-------------- next part --------------
Modified: DART/trunk/models/wrf/work/mkmf_add_pert_where_high_refl
===================================================================
--- DART/trunk/models/wrf/work/mkmf_add_pert_where_high_refl 2010-01-28 19:31:54 UTC (rev 4232)
+++ DART/trunk/models/wrf/work/mkmf_add_pert_where_high_refl 2010-01-28 19:59:37 UTC (rev 4233)
@@ -1,13 +1,11 @@
#!/bin/csh
#
-# Data Assimilation Research Testbed -- DART
-# Copyright 2004, 2005, Data Assimilation Initiative, University Corporation for Atmospheric Research
-# Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
#
-#
-# $Id: mkmf_obs_diag,v 1.2 2005/09/30 21:47:13 thoar Exp $
-# $Source: /home/thoar/CVS.REPOS/DART/models/wrf/work/mkmf_obs_diag,v $
-# $Name: $
+# $Id: $
#
+
../../../mkmf/mkmf -p add_pert_where_high_refl -t ../../../mkmf/mkmf.template -c"-Duse_netCDF" \
-a "../../.." path_names_add_pert_where_high_refl
Modified: DART/trunk/models/wrf/work/mkmf_grid_refl_obs
===================================================================
--- DART/trunk/models/wrf/work/mkmf_grid_refl_obs 2010-01-28 19:31:54 UTC (rev 4232)
+++ DART/trunk/models/wrf/work/mkmf_grid_refl_obs 2010-01-28 19:59:37 UTC (rev 4233)
@@ -1,13 +1,11 @@
#!/bin/csh
#
-# Data Assimilation Research Testbed -- DART
-# Copyright 2004, 2005, Data Assimilation Initiative, University Corporation for Atmospheric Research
-# Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
#
-#
-# $Id: mkmf_obs_diag,v 1.2 2005/09/30 21:47:13 thoar Exp $
-# $Source: /home/thoar/CVS.REPOS/DART/models/wrf/work/mkmf_obs_diag,v $
-# $Name: $
+# $Id: $
#
+#
../../../mkmf/mkmf -p grid_refl_obs -t ../../../mkmf/mkmf.template -c"-Duse_netCDF" \
-a "../../.." path_names_grid_refl_obs
From nancy at ucar.edu Thu Jan 28 13:16:03 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 13:16:03 -0700
Subject: [Dart-dev] [4234] DART/trunk/models/wrf/WRF_DART_utilities: Put in
the right dart copyright info.
Message-ID:
Revision: 4234
Author: nancy
Date: 2010-01-28 13:16:03 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
Put in the right dart copyright info.
Modified Paths:
--------------
DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90
DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90
-------------- next part --------------
Modified: DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90
===================================================================
--- DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90 2010-01-28 19:59:37 UTC (rev 4233)
+++ DART/trunk/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90 2010-01-28 20:16:03 UTC (rev 4234)
@@ -1,3 +1,7 @@
+! DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+! provided by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
+
PROGRAM add_pert_where_high_refl
! Add 3D random but smooth perturbations to WRF fields in/near where the observations
Modified: DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90
===================================================================
--- DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90 2010-01-28 19:59:37 UTC (rev 4233)
+++ DART/trunk/models/wrf/WRF_DART_utilities/grid_refl_obs.f90 2010-01-28 20:16:03 UTC (rev 4234)
@@ -1,3 +1,7 @@
+! DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+! provided by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
+
PROGRAM grid_refl_obs
! Extract reflectivity obs from a DART obs_seq.out file and compute the coordinates of
From nancy at ucar.edu Thu Jan 28 13:28:04 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 13:28:04 -0700
Subject: [Dart-dev] [4235] DART/trunk/models/wrf/experiments/Radar: Fix the
missing and outdated DART copyright tags/comments.
Message-ID:
Revision: 4235
Author: nancy
Date: 2010-01-28 13:28:03 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
Fix the missing and outdated DART copyright tags/comments.
Modified Paths:
--------------
DART/trunk/models/wrf/experiments/Radar/IC/init_ideal.ncl
DART/trunk/models/wrf/experiments/Radar/IC/prep_IC_pertsounding.csh
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/compile_pert_sounding.csh
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding.f90
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding_module.f90
DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/readme.altug
DART/trunk/models/wrf/experiments/Radar/obs/README
DART/trunk/models/wrf/experiments/Radar/start_over.csh
-------------- next part --------------
Modified: DART/trunk/models/wrf/experiments/Radar/IC/init_ideal.ncl
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/IC/init_ideal.ncl 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/IC/init_ideal.ncl 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,3 +1,9 @@
+; DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+; provided by UCAR, "as is", without charge, subject to all terms of use at
+; http://www.image.ucar.edu/DAReS/DART/DART_download
+;
+; DART $Id: $
+
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
Modified: DART/trunk/models/wrf/experiments/Radar/IC/prep_IC_pertsounding.csh
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/IC/prep_IC_pertsounding.csh 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/IC/prep_IC_pertsounding.csh 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,8 +1,12 @@
#!/bin/csh
#
-# Data Assimilation Research Testbed -- DART
-# Copyright 2004, Data Assimilation Initiative, University Corporation for Atmospheric Research
-# Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+#
+# DART $Id$
+#
+
#---------------------------------------------------------------------------------------------------
# Script prepare_ideal_IC.csh
# Original script by David Dowell
Modified: DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/compile_pert_sounding.csh
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/compile_pert_sounding.csh 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/compile_pert_sounding.csh 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,5 +1,12 @@
#!/bin/csh
#
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+#
+# DART $Id$
+#
+
# Compiles pert_sounding.f90 for ocotillo
#ifort -c pert_sounding_module.f90
Modified: DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding.f90
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding.f90 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding.f90 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,3 +1,10 @@
+! DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+! provided by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
+!
+! DART $Id$
+!
+
program pert_sounding
use pert_sounding_mod
Modified: DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding_module.f90
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding_module.f90 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/pert_sounding_module.f90 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,3 +1,10 @@
+! DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+! provided by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
+!
+! DART $Id$
+!
+
module pert_sounding_mod
! This program adds perturbations to a sounding
Modified: DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/readme.altug
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/readme.altug 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/IC/sounding_perturbation/readme.altug 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,3 +1,10 @@
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+#
+# DART $Id: $
+#
+
November 13, 2006:
Here's the procedure for using perturbed sounding data:
Modified: DART/trunk/models/wrf/experiments/Radar/obs/README
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/obs/README 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/obs/README 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,5 +1,9 @@
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+#
+# DART $Id: $
-
There are 2 observation sequence files that need to be copied
from a web site into this directory.
Modified: DART/trunk/models/wrf/experiments/Radar/start_over.csh
===================================================================
--- DART/trunk/models/wrf/experiments/Radar/start_over.csh 2010-01-28 20:16:03 UTC (rev 4234)
+++ DART/trunk/models/wrf/experiments/Radar/start_over.csh 2010-01-28 20:28:03 UTC (rev 4235)
@@ -1,5 +1,11 @@
#!/bin/csh
+# DART software - Copyright ? 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+
+# DART $Id$
+
\rm -r advance_temp*
\rm assim_model_state*
\rm filter_control*
From nancy at ucar.edu Thu Jan 28 15:44:56 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 15:44:56 -0700
Subject: [Dart-dev] [4236] DART/trunk/models/wrf/matlab: new terms of use -
no other changes
Message-ID:
Revision: 4236
Author: thoar
Date: 2010-01-28 15:44:56 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
new terms of use - no other changes
Modified Paths:
--------------
DART/trunk/models/wrf/matlab/compute_density.m
DART/trunk/models/wrf/matlab/compute_height.m
DART/trunk/models/wrf/matlab/compute_pressure.m
DART/trunk/models/wrf/matlab/compute_reflectivity.m
DART/trunk/models/wrf/matlab/compute_temperature.m
DART/trunk/models/wrf/matlab/correl.m
DART/trunk/models/wrf/matlab/get_aux_fields_for_p.m
DART/trunk/models/wrf/matlab/get_aux_fields_for_ref.m
DART/trunk/models/wrf/matlab/get_constants.m
DART/trunk/models/wrf/matlab/interp_to_height.m
DART/trunk/models/wrf/matlab/interp_to_pressure.m
DART/trunk/models/wrf/matlab/link_obs.m
DART/trunk/models/wrf/matlab/map_wrf.m
DART/trunk/models/wrf/matlab/map_wrf_diff.m
DART/trunk/models/wrf/matlab/map_wrf_diff_time.m
DART/trunk/models/wrf/matlab/map_wrf_diff_time_vect.m
DART/trunk/models/wrf/matlab/map_wrf_spread_time.m
DART/trunk/models/wrf/matlab/map_wrf_vect.m
DART/trunk/models/wrf/matlab/psfc_map.m
DART/trunk/models/wrf/matlab/psfc_movie.m
DART/trunk/models/wrf/matlab/psfc_series.m
DART/trunk/models/wrf/matlab/rms_cross_time.m
DART/trunk/models/wrf/matlab/stats_wrf_prof.m
DART/trunk/models/wrf/matlab/stats_wrf_prof_mem.m
DART/trunk/models/wrf/matlab/stats_wrf_prof_vect.m
DART/trunk/models/wrf/matlab/stats_wrf_time.m
DART/trunk/models/wrf/matlab/stats_wrf_time_bd.m
DART/trunk/models/wrf/matlab/stats_wrf_time_vect.m
DART/trunk/models/wrf/matlab/stats_wrf_time_vect_point.m
DART/trunk/models/wrf/matlab/w2_wrf.m
-------------- next part --------------
Modified: DART/trunk/models/wrf/matlab/compute_density.m
===================================================================
--- DART/trunk/models/wrf/matlab/compute_density.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/compute_density.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -11,10 +11,9 @@
%
% See wrf subroutine calc_p_rho_phi.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/compute_height.m
===================================================================
--- DART/trunk/models/wrf/matlab/compute_height.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/compute_height.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -7,10 +7,9 @@
% height = height, at mass pts
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/compute_pressure.m
===================================================================
--- DART/trunk/models/wrf/matlab/compute_pressure.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/compute_pressure.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -20,10 +20,9 @@
%
% See wrf subroutine calc_p_rho_phi.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/compute_reflectivity.m
===================================================================
--- DART/trunk/models/wrf/matlab/compute_reflectivity.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/compute_reflectivity.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -10,10 +10,9 @@
% Output:
% ref = reflectivity, at mass pts
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/compute_temperature.m
===================================================================
--- DART/trunk/models/wrf/matlab/compute_temperature.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/compute_temperature.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -8,10 +8,9 @@
% Output:
% temp = temperature, at mass pts
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/correl.m
===================================================================
--- DART/trunk/models/wrf/matlab/correl.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/correl.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% correl
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/get_aux_fields_for_p.m
===================================================================
--- DART/trunk/models/wrf/matlab/get_aux_fields_for_p.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/get_aux_fields_for_p.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,6 +1,5 @@
function [ mu, dnw, phi, theta, qv ] = ...
get_aux_fields_for_p( filename, T0, varargin )
-%
% Retrieves various 2d and 3d fields needed to calculate pressure
% from the netcdf file "filename".
%
@@ -14,10 +13,9 @@
% theta = full theta (3d)
% qv = water-vapor mixing ratio (3d)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/get_aux_fields_for_ref.m
===================================================================
--- DART/trunk/models/wrf/matlab/get_aux_fields_for_ref.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/get_aux_fields_for_ref.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,5 +1,4 @@
function [ qr, qg, qs ] = get_aux_fields_for_ref( filename, varargin )
-%
% [ qr, qg, qs ] = get_aux_fields_for_ref( filename, varargin )
%
% Retrieves various 3d fields needed to calculate reflectivity
@@ -12,10 +11,9 @@
% qg = graupel mixing ratio (3d)
% qs = snow mixing ratio (3d)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/get_constants.m
===================================================================
--- DART/trunk/models/wrf/matlab/get_constants.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/get_constants.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,13 +1,11 @@
function [ Cp, Rd, gamma, Rv, L_c, g, T0, p0] = get_constants()
-%
% Ideally, this would take netcdf filename as input, and
% read required constants from file. At present, just a
% repository for hardwired constants.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/interp_to_height.m
===================================================================
--- DART/trunk/models/wrf/matlab/interp_to_height.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/interp_to_height.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -7,10 +7,9 @@
% in heights(:,:,:). Interpolation is linear in height.
% Set var_interp to NaN where level is beneath (<) heights(1,:,:).
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/interp_to_pressure.m
===================================================================
--- DART/trunk/models/wrf/matlab/interp_to_pressure.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/interp_to_pressure.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -3,10 +3,9 @@
% in pressures(:,:,:). Interpolation is linear in log pressure.
% Set var_interp to NaN where p_level is beneath (>) pressure(1,:,:).
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/link_obs.m
===================================================================
--- DART/trunk/models/wrf/matlab/link_obs.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/link_obs.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -9,10 +9,9 @@
% EXAMPLE 3:
% link_obs('obs_sequence_003.nc','RADIOSONDE_TEMPERATURE')
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/map_wrf.m
===================================================================
--- DART/trunk/models/wrf/matlab/map_wrf.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/map_wrf.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -10,6 +10,16 @@
% Example:
% map_wrf(fname, varname, copystring, levelindx, timeindx )
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
+%
+%
+% $URL$
+% $Id$
+% $Revision$
+% $Date$
+
if ( nargin == 3 )
levelindx = 1;
timeindx = 1;
@@ -19,17 +29,6 @@
error('Wrong number of arguments ... must have 3,4, or 5')
end
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
-%
-%
-% $URL$
-% $Id$
-% $Revision$
-% $Date$
-
if (exist(fname,'file') ~= 2)
error('%s does not exist',fname)
end
Modified: DART/trunk/models/wrf/matlab/map_wrf_diff.m
===================================================================
--- DART/trunk/models/wrf/matlab/map_wrf_diff.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/map_wrf_diff.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% map_wrf_diff
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/map_wrf_diff_time.m
===================================================================
--- DART/trunk/models/wrf/matlab/map_wrf_diff_time.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/map_wrf_diff_time.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% map_wrf_diff_time
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/map_wrf_diff_time_vect.m
===================================================================
--- DART/trunk/models/wrf/matlab/map_wrf_diff_time_vect.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/map_wrf_diff_time_vect.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%map_wrf_diff_time_vect
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/map_wrf_spread_time.m
===================================================================
--- DART/trunk/models/wrf/matlab/map_wrf_spread_time.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/map_wrf_spread_time.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% map_wrf_spread_time
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/map_wrf_vect.m
===================================================================
--- DART/trunk/models/wrf/matlab/map_wrf_vect.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/map_wrf_vect.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% map_wrf_vect
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
@@ -11,7 +12,7 @@
% Select field to plot (U, V, W, GZ, T, MU, QV, QC, QR)
- field_num = input('Input field type, 1=U, 2=V, 3=W, 4=GZ, 5=T, 6=MU, 7=QV, 8=QC, 9=QR: ');
+field_num = input('Input field type, 1=U, 2=V, 3=W, 4=GZ, 5=T, 6=MU, 7=QV, 8=QC, 9=QR: ');
% Get file name of true state file
fname = 'True_State';
Modified: DART/trunk/models/wrf/matlab/psfc_map.m
===================================================================
--- DART/trunk/models/wrf/matlab/psfc_map.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/psfc_map.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,11 +1,8 @@
% psfc_map
-%
-%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/psfc_movie.m
===================================================================
--- DART/trunk/models/wrf/matlab/psfc_movie.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/psfc_movie.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,10 +1,8 @@
% psfc_movie
-%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/psfc_series.m
===================================================================
--- DART/trunk/models/wrf/matlab/psfc_series.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/psfc_series.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,10 +1,8 @@
% psfc_series
-%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/rms_cross_time.m
===================================================================
--- DART/trunk/models/wrf/matlab/rms_cross_time.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/rms_cross_time.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% rms_cross_time
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_prof.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_prof.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_prof.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_prof
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_prof_mem.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_prof_mem.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_prof_mem.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_prof_mem
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_prof_vect.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_prof_vect.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_prof_vect.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_prof_vect
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_time.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_time.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_time.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_time
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_time_bd.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_time_bd.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_time_bd.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_time_bd
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_time_vect.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_time_vect.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_time_vect.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_time_vect
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/stats_wrf_time_vect_point.m
===================================================================
--- DART/trunk/models/wrf/matlab/stats_wrf_time_vect_point.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/stats_wrf_time_vect_point.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% stats_wrf_time_vect_point
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/models/wrf/matlab/w2_wrf.m
===================================================================
--- DART/trunk/models/wrf/matlab/w2_wrf.m 2010-01-28 20:28:03 UTC (rev 4235)
+++ DART/trunk/models/wrf/matlab/w2_wrf.m 2010-01-28 22:44:56 UTC (rev 4236)
@@ -1,7 +1,8 @@
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% w2_wrf
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
From nancy at ucar.edu Thu Jan 28 15:54:26 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 15:54:26 -0700
Subject: [Dart-dev] [4237] DART/trunk/observations/utilities/threed_sphere:
new terms of use - no other changes
Message-ID:
Revision: 4237
Author: thoar
Date: 2010-01-28 15:54:26 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
new terms of use - no other changes
Modified Paths:
--------------
DART/trunk/observations/utilities/threed_sphere/linked_observations.m
DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m
DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m
DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m
Property Changed:
----------------
DART/trunk/observations/utilities/threed_sphere/linked_observations.m
DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m
-------------- next part --------------
Modified: DART/trunk/observations/utilities/threed_sphere/linked_observations.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/linked_observations.m 2010-01-28 22:44:56 UTC (rev 4236)
+++ DART/trunk/observations/utilities/threed_sphere/linked_observations.m 2010-01-28 22:54:26 UTC (rev 4237)
@@ -9,10 +9,9 @@
% obs.obs observation values
% obs.qc observation DART QC code
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/observations/utilities/threed_sphere/linked_observations.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m 2010-01-28 22:44:56 UTC (rev 4236)
+++ DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m 2010-01-28 22:54:26 UTC (rev 4237)
@@ -32,11 +32,10 @@
% verbose = 1; % anything > 0 == 'true'
%
% bob = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, QCString, maxgoodQC, verbose);
-
-%% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m 2010-01-28 22:44:56 UTC (rev 4236)
+++ DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m 2010-01-28 22:54:26 UTC (rev 4237)
@@ -15,10 +15,9 @@
% record the user input
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m 2010-01-28 22:44:56 UTC (rev 4236)
+++ DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m 2010-01-28 22:54:26 UTC (rev 4237)
@@ -32,10 +32,9 @@
% qc: [2343x1 double]
% badobs: [1x1 struct]
-%% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
From nancy at ucar.edu Thu Jan 28 16:22:39 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 16:22:39 -0700
Subject: [Dart-dev] [4238] DART/trunk/DART_LAB/matlab: new terms of use -
function names match file names
Message-ID:
Revision: 4238
Author: thoar
Date: 2010-01-28 16:22:39 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
new terms of use - function names match file names
Modified Paths:
--------------
DART/trunk/DART_LAB/matlab/advance_oned.m
DART/trunk/DART_LAB/matlab/comp_cov_factor.m
DART/trunk/DART_LAB/matlab/g_prod_plot.m
DART/trunk/DART_LAB/matlab/gaussian_product.m
DART/trunk/DART_LAB/matlab/get_ens_rank.m
DART/trunk/DART_LAB/matlab/get_state_increments.m
DART/trunk/DART_LAB/matlab/lorenz_63_adv_1step.m
DART/trunk/DART_LAB/matlab/lorenz_63_static_init_model.m
DART/trunk/DART_LAB/matlab/lorenz_96_adv_1step.m
DART/trunk/DART_LAB/matlab/lorenz_96_static_init_model.m
DART/trunk/DART_LAB/matlab/obs_increment_eakf.m
DART/trunk/DART_LAB/matlab/obs_increment_enkf.m
DART/trunk/DART_LAB/matlab/obs_increment_rhf.m
DART/trunk/DART_LAB/matlab/oned_ensemble.m
DART/trunk/DART_LAB/matlab/oned_model.m
DART/trunk/DART_LAB/matlab/plot_gaussian.m
DART/trunk/DART_LAB/matlab/plot_polar.m
DART/trunk/DART_LAB/matlab/product_of_gaussians.m
DART/trunk/DART_LAB/matlab/run_lorenz_63.m
DART/trunk/DART_LAB/matlab/run_lorenz_96.m
DART/trunk/DART_LAB/matlab/run_template.m
DART/trunk/DART_LAB/matlab/twod_ensemble.m
Property Changed:
----------------
DART/trunk/DART_LAB/matlab/advance_oned.m
DART/trunk/DART_LAB/matlab/comp_cov_factor.m
DART/trunk/DART_LAB/matlab/g_prod_plot.m
DART/trunk/DART_LAB/matlab/gaussian_product.m
DART/trunk/DART_LAB/matlab/get_ens_rank.m
DART/trunk/DART_LAB/matlab/get_state_increments.m
DART/trunk/DART_LAB/matlab/lorenz_63_adv_1step.m
DART/trunk/DART_LAB/matlab/lorenz_63_static_init_model.m
DART/trunk/DART_LAB/matlab/lorenz_96_adv_1step.m
DART/trunk/DART_LAB/matlab/lorenz_96_static_init_model.m
DART/trunk/DART_LAB/matlab/obs_increment_eakf.m
DART/trunk/DART_LAB/matlab/obs_increment_enkf.m
DART/trunk/DART_LAB/matlab/obs_increment_rhf.m
DART/trunk/DART_LAB/matlab/oned_ensemble.m
DART/trunk/DART_LAB/matlab/oned_model.m
DART/trunk/DART_LAB/matlab/plot_gaussian.m
DART/trunk/DART_LAB/matlab/plot_polar.m
DART/trunk/DART_LAB/matlab/product_of_gaussians.m
DART/trunk/DART_LAB/matlab/run_lorenz_63.m
DART/trunk/DART_LAB/matlab/run_lorenz_96.m
DART/trunk/DART_LAB/matlab/run_template.m
DART/trunk/DART_LAB/matlab/twod_ensemble.m
-------------- next part --------------
Modified: DART/trunk/DART_LAB/matlab/advance_oned.m
===================================================================
--- DART/trunk/DART_LAB/matlab/advance_oned.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/advance_oned.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,9 +1,9 @@
function x_new = advance_oned(x, alpha, model_bias)
+% advance_oned(x, alpha, model_bias)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/advance_oned.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/comp_cov_factor.m
===================================================================
--- DART/trunk/DART_LAB/matlab/comp_cov_factor.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/comp_cov_factor.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
function cov_factor = comp_cov_factor(z_in, c)
-% Gaspari Cohn cutoff, z_in is the distance while c is the cutoff
+% comp_cov_factor Gaspari Cohn cutoff, z_in is the distance while c is the cutoff
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/comp_cov_factor.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/g_prod_plot.m
===================================================================
--- DART/trunk/DART_LAB/matlab/g_prod_plot.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/g_prod_plot.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
function [prior_mean, prior_sd, obs_mean, obs_err_sd, is_err] = g_prod_plot(h)
-% Updates the plot of the prior and observation gaussians
+% g_prod_plot Updates the plot of the prior and observation gaussians
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/g_prod_plot.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/gaussian_product.m
===================================================================
--- DART/trunk/DART_LAB/matlab/gaussian_product.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/gaussian_product.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -13,10 +13,9 @@
% See also: oned_model, oned_ensemble, twod_ensemble, run_lorenz_63,
% run_lorenz_96
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
@@ -24,8 +23,6 @@
% $Revision$
% $Date$
-% Last Modified by GUIDE v2.5 21-Mar-2009 22:11:31
-
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
Property changes on: DART/trunk/DART_LAB/matlab/gaussian_product.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/get_ens_rank.m
===================================================================
--- DART/trunk/DART_LAB/matlab/get_ens_rank.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/get_ens_rank.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,9 +1,9 @@
function [rank] = get_ens_rank(ens, x)
+% get_ens_rank
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/get_ens_rank.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/get_state_increments.m
===================================================================
--- DART/trunk/DART_LAB/matlab/get_state_increments.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/get_state_increments.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,11 +1,10 @@
function [state_incs] = get_state_increments(state_ens, obs_ens, obs_incs)
-% Computes state increments given observation increments and
+% get_state_increments Computes state increments given observation increments and
% the state and obs prior ensembles
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/get_state_increments.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/lorenz_63_adv_1step.m
===================================================================
--- DART/trunk/DART_LAB/matlab/lorenz_63_adv_1step.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/lorenz_63_adv_1step.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,13 +1,12 @@
function[x_new, time_new] = lorenz_63_adv_1step(x, time)
-% Does a single time step advance for lorenz convective 3 variable model
-% using two step runge-kutta time step
+% lorenz_63)adv_1step advances the lorenz convective 3 variable model
+% for a single two step runge-kutta time step
%
% x is the 3-vector state, time is the 2-vector days and seconds time
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/lorenz_63_adv_1step.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/lorenz_63_static_init_model.m
===================================================================
--- DART/trunk/DART_LAB/matlab/lorenz_63_static_init_model.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/lorenz_63_static_init_model.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
-% Initializes class data for L63, sets up global storage
+% lorenz_63_static_init_model Initializes class data for L63, sets up global storage
% and reads in control data from input file
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/lorenz_63_static_init_model.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/lorenz_96_adv_1step.m
===================================================================
--- DART/trunk/DART_LAB/matlab/lorenz_96_adv_1step.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/lorenz_96_adv_1step.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,12 +1,11 @@
function[x_new, time_new] = lorenz_96_adv_1step(x, time)
-% Does a single time step advance for lorenz_96 40-variable model using four step runge-kutta time step
+% lorenz_96_adv_1step Does a single time step advance for lorenz_96 40-variable model using four step runge-kutta time step
%
% x is the 40-vector state, time is the 2-vector days and seconds time
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/lorenz_96_adv_1step.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/lorenz_96_static_init_model.m
===================================================================
--- DART/trunk/DART_LAB/matlab/lorenz_96_static_init_model.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/lorenz_96_static_init_model.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
-% Initializes class data for L96, sets up global storage
+% lorenz_96_static_init_model Initializes class data for L96, sets up global storage
% and reads in control data from input file
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/lorenz_96_static_init_model.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/obs_increment_eakf.m
===================================================================
--- DART/trunk/DART_LAB/matlab/obs_increment_eakf.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/obs_increment_eakf.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
function [obs_increments, err] = obs_increment_eakf(ensemble, observation, obs_error_var)
-% Computes increments for an ensemble adjustment filter
+% obs_increment_eakf Computes increments for an ensemble adjustment filter
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/obs_increment_eakf.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/obs_increment_enkf.m
===================================================================
--- DART/trunk/DART_LAB/matlab/obs_increment_enkf.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/obs_increment_enkf.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
-function [obs_increments, err] = obs_increment_eakf(ensemble, observation, obs_error_var)
-% Computes increments for an ensemble Kalman filter with perturbed obs mean correction.
+function [obs_increments, err] = obs_increment_enkf(ensemble, observation, obs_error_var)
+% obs_increment_enkf Computes increments for an ensemble Kalman filter with perturbed obs mean correction.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/obs_increment_enkf.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/obs_increment_rhf.m
===================================================================
--- DART/trunk/DART_LAB/matlab/obs_increment_rhf.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/obs_increment_rhf.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,12 +1,11 @@
-function [obs_increments, err] = obs_increment_eakf(ensemble, observation, obs_error_var)
-% Computes increments for a rank histogram filter
+function [obs_increments, err] = obs_increment_rhf(ensemble, observation, obs_error_var)
+% obs_increment_rhf Computes increments for a rank histogram filter
% Need to discuss the available options eventually
% For now this implements the default options
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/obs_increment_rhf.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/oned_ensemble.m
===================================================================
--- DART/trunk/DART_LAB/matlab/oned_ensemble.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/oned_ensemble.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -32,10 +32,9 @@
% See also: gaussian_product, oned_model, twod_ensemble, run_lorenz_63,
% run_lorenz_96
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/oned_ensemble.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/oned_model.m
===================================================================
--- DART/trunk/DART_LAB/matlab/oned_model.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/oned_model.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -38,10 +38,9 @@
% See also: gaussian_product, oned_ensemble, twod_ensemble, run_lorenz_63,
% run_lorenz_96
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/oned_model.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/plot_gaussian.m
===================================================================
--- DART/trunk/DART_LAB/matlab/plot_gaussian.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/plot_gaussian.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
function[plot_handle] = plot_gaussian(mean, sd, weight)
-% Plot gaussian over 5 standard deviations
+% plot_gaussian Plot gaussian over 5 standard deviations
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/plot_gaussian.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/plot_polar.m
===================================================================
--- DART/trunk/DART_LAB/matlab/plot_polar.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/plot_polar.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,10 +1,9 @@
function h = plot_polar(y, x, mean_dist, string, model_size)
-%
+% plot_polar
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/plot_polar.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/product_of_gaussians.m
===================================================================
--- DART/trunk/DART_LAB/matlab/product_of_gaussians.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/product_of_gaussians.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -1,11 +1,10 @@
-function [post_mean post_sd weight] =...
+function [post_mean post_sd weight] = ...
product_of_gaussians(prior_mean, prior_sd, obs, obs_err_sd)
-% Computes mean, variance and weight of the product of two unit gaussians given the mean and standard deviation of each.
+% product_of_gaussians Computes mean, variance and weight of the product of two unit gaussians given the mean and standard deviation of each.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/DART_LAB/matlab/product_of_gaussians.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/run_lorenz_63.m
===================================================================
--- DART/trunk/DART_LAB/matlab/run_lorenz_63.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/run_lorenz_63.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -33,10 +33,9 @@
% See also: gaussian_product, oned_model, oned_ensemble, twod_ensemble,
% run_lorenz_96
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
@@ -44,8 +43,6 @@
% $Revision$
% $Date$
-% Last Modified by GUIDE v2.5 02-Jun-2009 14:20:57
-
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
Property changes on: DART/trunk/DART_LAB/matlab/run_lorenz_63.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/run_lorenz_96.m
===================================================================
--- DART/trunk/DART_LAB/matlab/run_lorenz_96.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/run_lorenz_96.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -24,10 +24,9 @@
% See also: gaussian_product, oned_model, oned_ensemble, twod_ensemble,
% run_lorenz_63
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
@@ -35,8 +34,6 @@
% $Revision$
% $Date$
-% Last Modified by GUIDE v2.5 31-Aug-2009 11:38:57
-
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
Property changes on: DART/trunk/DART_LAB/matlab/run_lorenz_96.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/run_template.m
===================================================================
--- DART/trunk/DART_LAB/matlab/run_template.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/run_template.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -22,10 +22,9 @@
% Edit the above text to modify the response to help run_template
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
@@ -33,8 +32,6 @@
% $Revision$
% $Date$
-% Last Modified by GUIDE v2.5 01-Jun-2009 09:36:07
-
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
Property changes on: DART/trunk/DART_LAB/matlab/run_template.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/DART_LAB/matlab/twod_ensemble.m
===================================================================
--- DART/trunk/DART_LAB/matlab/twod_ensemble.m 2010-01-28 22:54:26 UTC (rev 4237)
+++ DART/trunk/DART_LAB/matlab/twod_ensemble.m 2010-01-28 23:22:39 UTC (rev 4238)
@@ -22,10 +22,9 @@
% See also: gaussian_product, oned_model, oned_ensemble, run_lorenz_63,
% run_lorenz_96
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
@@ -33,8 +32,6 @@
% $Revision$
% $Date$
-% Last Modified by GUIDE v2.5 28-Mar-2009 21:43:27
-
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
Property changes on: DART/trunk/DART_LAB/matlab/twod_ensemble.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
From nancy at ucar.edu Thu Jan 28 16:41:56 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 16:41:56 -0700
Subject: [Dart-dev] [4239] DART/trunk/matlab: new terms of use - no other
changes
Message-ID:
Revision: 4239
Author: thoar
Date: 2010-01-28 16:41:56 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
new terms of use - no other changes
Modified Paths:
--------------
DART/trunk/matlab/CheckModel.m
DART/trunk/matlab/CheckModelCompatibility.m
DART/trunk/matlab/ChecknetCDFuse.m
DART/trunk/matlab/CombineStructs.m
DART/trunk/matlab/DART.m
DART/trunk/matlab/DiffnetCDFstate.m
DART/trunk/matlab/GetBgridInfo.m
DART/trunk/matlab/GetCalendarDate.m
DART/trunk/matlab/GetCamInfo.m
DART/trunk/matlab/GetNCindices.m
DART/trunk/matlab/GetPe2lyrInfo.m
DART/trunk/matlab/ParseAlphaNumerics.m
DART/trunk/matlab/PlotBins.m
DART/trunk/matlab/PlotCEnsErrSpread.m
DART/trunk/matlab/PlotCorrel.m
DART/trunk/matlab/PlotEnsErrSpread.m
DART/trunk/matlab/PlotEnsMeanTimeSeries.m
DART/trunk/matlab/PlotEnsTimeSeries.m
DART/trunk/matlab/PlotJeffCorrel.m
DART/trunk/matlab/PlotPhaseSpace.m
DART/trunk/matlab/PlotRegFactor.m
DART/trunk/matlab/PlotSawtooth.m
DART/trunk/matlab/PlotTotalErr.m
DART/trunk/matlab/PlotVarVarCorrel.m
DART/trunk/matlab/Plot_network.m
DART/trunk/matlab/Plot_obs.m
DART/trunk/matlab/ReadASCIIObsSeq.m
DART/trunk/matlab/ReadBinaryObsSeq.m
DART/trunk/matlab/ReadObsSeq.m
DART/trunk/matlab/SetCopyID.m
DART/trunk/matlab/SetCopyID2.m
DART/trunk/matlab/SetVariableID.m
DART/trunk/matlab/SimpleMap.m
DART/trunk/matlab/StatObsSeq.m
DART/trunk/matlab/dbz_colors.m
DART/trunk/matlab/ens_correl.m
DART/trunk/matlab/ens_plot.m
DART/trunk/matlab/get_copy_index.m
DART/trunk/matlab/get_ens_series.m
DART/trunk/matlab/get_qc_index.m
DART/trunk/matlab/get_state_copy.m
DART/trunk/matlab/get_var_series.m
DART/trunk/matlab/jeff_correl.m
DART/trunk/matlab/locations_in_region.m
DART/trunk/matlab/plot_bins.m
DART/trunk/matlab/plot_correl.m
DART/trunk/matlab/plot_ens_err_spread.m
DART/trunk/matlab/plot_ens_mean_time_series.m
DART/trunk/matlab/plot_ens_time_series.m
DART/trunk/matlab/plot_jeff_correl.m
DART/trunk/matlab/plot_phase_space.m
DART/trunk/matlab/plot_reg_factor.m
DART/trunk/matlab/plot_sawtooth.m
DART/trunk/matlab/plot_smoother_err.m
DART/trunk/matlab/plot_total_err.m
DART/trunk/matlab/plot_var_var_correl.m
DART/trunk/matlab/rank_hist.m
DART/trunk/matlab/read_state.m
DART/trunk/matlab/scalebar.m
DART/trunk/matlab/startup.m
DART/trunk/matlab/state_diag.m
DART/trunk/matlab/total_err.m
DART/trunk/matlab/worldmap.m
Property Changed:
----------------
DART/trunk/matlab/DART.m
DART/trunk/matlab/GetCalendarDate.m
DART/trunk/matlab/get_qc_index.m
DART/trunk/matlab/locations_in_region.m
-------------- next part --------------
Modified: DART/trunk/matlab/CheckModel.m
===================================================================
--- DART/trunk/matlab/CheckModel.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/CheckModel.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -7,10 +7,9 @@
% fname = 'Prior_Diag.nc';
% vars = CheckModel(fname)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/CheckModelCompatibility.m
===================================================================
--- DART/trunk/matlab/CheckModelCompatibility.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/CheckModelCompatibility.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,10 +8,9 @@
% [start,count] indices for each array (indexing starts at 1,N).
% It is an error situation if there is no overlap ([-1,-1] for both).
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ChecknetCDFuse.m
===================================================================
--- DART/trunk/matlab/ChecknetCDFuse.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ChecknetCDFuse.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -11,10 +11,9 @@
% nonzero == bad, matlab netcdf not available.
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/CombineStructs.m
===================================================================
--- DART/trunk/matlab/CombineStructs.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/CombineStructs.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -5,10 +5,9 @@
%
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/DART.m
===================================================================
--- DART/trunk/matlab/DART.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/DART.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -33,7 +33,7 @@
% is perilous ...
%
%
-% DART/observations/utilities/threed_sphere These functions require processing
+% DART/diagnostics/matlab These functions require processing
% observation sequences into netCDF files with
% "obs_seq_to_netcdf" - which currently does not preserve
% all of the observation sequence metadata for some of the
@@ -41,10 +41,21 @@
% read_obs_netcdf.m Reads a netCDF observation sequence and returns a structure.
% plot_obs_netcdf.m creates a 2D or 3D plot of the observation locations
% and values - and rejected observations.
-% plot_obs_netcdf_diffs.m Same thing, only for the difference of two observation copies
+% plot_obs_netcdf_diffs.m ditto, only for the difference of two observation copies
% - the observation and the ensemble mean, for example.
%
%
% DART/models//matlab Each model has an optional matlab directory where
% the model developers are free to supply whatever functions
% or scripts they deem useful.
+
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
+%
+%
+% $URL$
+% $Id$
+% $Revision$
+% $Date$
Property changes on: DART/trunk/matlab/DART.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/matlab/DiffnetCDFstate.m
===================================================================
--- DART/trunk/matlab/DiffnetCDFstate.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/DiffnetCDFstate.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -16,10 +16,9 @@
% outfile = 'test1_2.diff';
% DiffnetCDFstate(file1,file2,outfile)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/GetBgridInfo.m
===================================================================
--- DART/trunk/matlab/GetBgridInfo.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/GetBgridInfo.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,10 +8,9 @@
% fname Name of the DART netcdf file
% routine name of subsequent plot routine.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/GetCalendarDate.m
===================================================================
--- DART/trunk/matlab/GetCalendarDate.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/GetCalendarDate.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,15 +8,12 @@
%
% mydate = GetCalendarDate(82761,148520);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
-% $URL:
-% http://subversion.ucar.edu/DAReS/DART/trunk/diagnostics/matlab/fit_ens_mean_time.m
-% $
+% $URL$
% $Id$
% $Revision$
% $Date$
Property changes on: DART/trunk/matlab/GetCalendarDate.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/matlab/GetCamInfo.m
===================================================================
--- DART/trunk/matlab/GetCamInfo.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/GetCamInfo.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -7,10 +7,9 @@
% fname Name of the DART netcdf file
% routine name of subsequent plot routine.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/GetNCindices.m
===================================================================
--- DART/trunk/matlab/GetNCindices.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/GetNCindices.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -22,10 +22,9 @@
% varname is the netcdf variable being extracted.
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/GetPe2lyrInfo.m
===================================================================
--- DART/trunk/matlab/GetPe2lyrInfo.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/GetPe2lyrInfo.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,10 +8,9 @@
% fname Name of the DART netcdf file
% routine name of subsequent plot routine.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ParseAlphaNumerics.m
===================================================================
--- DART/trunk/matlab/ParseAlphaNumerics.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ParseAlphaNumerics.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -5,10 +5,9 @@
% alpha = 'X'
% numerics = [1 3 4 89];
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotBins.m
===================================================================
--- DART/trunk/matlab/PlotBins.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotBins.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -29,10 +29,9 @@
% pinfo.longitude = 45.67;
% PlotBins( pinfo );
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotCEnsErrSpread.m
===================================================================
--- DART/trunk/matlab/PlotCEnsErrSpread.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotCEnsErrSpread.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -1,10 +1,9 @@
function PlotCEnsErrSpread( pinfo )
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotCorrel.m
===================================================================
--- DART/trunk/matlab/PlotCorrel.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotCorrel.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -22,10 +22,9 @@
% pinfo.base_time = 238; % ditto
% PlotCorrel(pinfo) % generates a plot
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotEnsErrSpread.m
===================================================================
--- DART/trunk/matlab/PlotEnsErrSpread.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotEnsErrSpread.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -48,10 +48,9 @@
% pinfo.longitude = 45.67;
% PlotEnsErrSpread(pinfo)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotEnsMeanTimeSeries.m
===================================================================
--- DART/trunk/matlab/PlotEnsMeanTimeSeries.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotEnsMeanTimeSeries.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -36,10 +36,9 @@
% pinfo.longitude = 45.67;
% PlotEnsMeanTimeSeries( pinfo )
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotEnsTimeSeries.m
===================================================================
--- DART/trunk/matlab/PlotEnsTimeSeries.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotEnsTimeSeries.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -35,10 +35,9 @@
% pinfo.longitude = 45.67;
% PlotEnsTimeSeries( pinfo )
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotJeffCorrel.m
===================================================================
--- DART/trunk/matlab/PlotJeffCorrel.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotJeffCorrel.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -25,10 +25,9 @@
% pinfo.state_var_index = 1;
% PlotVarVarCorrel( pinfo )
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotPhaseSpace.m
===================================================================
--- DART/trunk/matlab/PlotPhaseSpace.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotPhaseSpace.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -42,10 +42,9 @@
%
% note the legend has both lines annotated.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotRegFactor.m
===================================================================
--- DART/trunk/matlab/PlotRegFactor.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotRegFactor.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -9,10 +9,9 @@
% obsnum = 20;
% PlotRegFactor(fname, obsnum);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotSawtooth.m
===================================================================
--- DART/trunk/matlab/PlotSawtooth.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotSawtooth.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -40,10 +40,9 @@
% pinfo.longitude = 45.67;
% PlotSawtooth( pinfo )
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotTotalErr.m
===================================================================
--- DART/trunk/matlab/PlotTotalErr.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotTotalErr.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -22,10 +22,9 @@
% pinfo.diagn_file = 'Posterior_Diag.nc';
% PlotTotalErr( pinfo )
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/PlotVarVarCorrel.m
===================================================================
--- DART/trunk/matlab/PlotVarVarCorrel.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/PlotVarVarCorrel.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -23,10 +23,9 @@
% pinfo.state_var_index = 1;
% PlotVarVarCorrel( pinfo )
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/Plot_network.m
===================================================================
--- DART/trunk/matlab/Plot_network.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/Plot_network.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -1,10 +1,9 @@
% Plot_network
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/Plot_obs.m
===================================================================
--- DART/trunk/matlab/Plot_obs.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/Plot_obs.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -2,10 +2,9 @@
%
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ReadASCIIObsSeq.m
===================================================================
--- DART/trunk/matlab/ReadASCIIObsSeq.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ReadASCIIObsSeq.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -10,10 +10,9 @@
% The file contains a linked list which we are reading sequentially.
% The resulting sequence "a.obs" is NOT guaranteed to be in a temporally ascending order.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ReadBinaryObsSeq.m
===================================================================
--- DART/trunk/matlab/ReadBinaryObsSeq.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ReadBinaryObsSeq.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -20,10 +20,9 @@
% 'ieee-be.l64' or 's' - IEEE floating point with big-endian byte
% ordering and 64 bit long data type.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ReadObsSeq.m
===================================================================
--- DART/trunk/matlab/ReadObsSeq.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ReadObsSeq.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -30,10 +30,9 @@
%
% Uses ReadASCIIObsSeq.m and ReadBINARYObsSeq.m
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/SetCopyID.m
===================================================================
--- DART/trunk/matlab/SetCopyID.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/SetCopyID.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -1,10 +1,9 @@
function varid = SetCopyID(fname);
% SetCopyID queries for the copy index for a set of ensemble members of a specific netCDF file.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/SetCopyID2.m
===================================================================
--- DART/trunk/matlab/SetCopyID2.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/SetCopyID2.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -1,10 +1,9 @@
function varid = SetCopyID2(fname);
% SetCopyID queries for the copy index for a set of ensemble members of a specific netCDF file.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/SetVariableID.m
===================================================================
--- DART/trunk/matlab/SetVariableID.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/SetVariableID.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -12,10 +12,9 @@
% vars.def_state_vars = [2 4 5];
% varid = SetVariableID(vars)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/SimpleMap.m
===================================================================
--- DART/trunk/matlab/SimpleMap.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/SimpleMap.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -22,10 +22,9 @@
% level = 1; % index into level array
% h = SimpleMap(fname,varname,time,copy,level);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/StatObsSeq.m
===================================================================
--- DART/trunk/matlab/StatObsSeq.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/StatObsSeq.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -2,10 +2,9 @@
%
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/dbz_colors.m
===================================================================
--- DART/trunk/matlab/dbz_colors.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/dbz_colors.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -1,9 +1,8 @@
% dbz_colors.m Color scale from CIDD http://www.rap.ucar.edu/colorscales/dbz_40.colors
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ens_correl.m
===================================================================
--- DART/trunk/matlab/ens_correl.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ens_correl.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -2,10 +2,9 @@
% ens_correl Computes correlation of a variable at a time to a time series of
% another variable (could be the same one)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/ens_plot.m
===================================================================
--- DART/trunk/matlab/ens_plot.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/ens_plot.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -1,9 +1,8 @@
% Do some demo plots
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/get_copy_index.m
===================================================================
--- DART/trunk/matlab/get_copy_index.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/get_copy_index.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,10 +8,9 @@
% copystring = 'ensemble member 5';
% copy_index = get_copy_index(fname, copystring);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/get_ens_series.m
===================================================================
--- DART/trunk/matlab/get_ens_series.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/get_ens_series.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -9,10 +9,9 @@
% state_var_index = 3;
% ens = get_ens_series(fname,varname,state_var_index);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/get_qc_index.m
===================================================================
--- DART/trunk/matlab/get_qc_index.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/get_qc_index.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,10 +8,9 @@
% copystring = 'ensemble member 5';
% copy_index = get_qc_index(fname, copystring);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/matlab/get_qc_index.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/matlab/get_state_copy.m
===================================================================
--- DART/trunk/matlab/get_state_copy.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/get_state_copy.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -3,10 +3,9 @@
% Retrieves a particular copy of a state vector from a file whose
% full or relative path is specified in the file argument.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/get_var_series.m
===================================================================
--- DART/trunk/matlab/get_var_series.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/get_var_series.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -11,10 +11,9 @@
% state_var = 3; % state variable index
% var_vec = get_var_series(fname, varname, copyindex, state_var);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/jeff_correl.m
===================================================================
--- DART/trunk/matlab/jeff_correl.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/jeff_correl.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -2,10 +2,9 @@
% ens_correl Computes correlation of a variable at a time to a time series of
% another variable (could be the same one)
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/locations_in_region.m
===================================================================
--- DART/trunk/matlab/locations_in_region.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/locations_in_region.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -19,10 +19,9 @@
% EXAMPLE: vertical subsetting
% inds = locations_in_region(locations,[0 360 -90 90 0 1000]); % Everything between 0,1000
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/matlab/locations_in_region.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/matlab/plot_bins.m
===================================================================
--- DART/trunk/matlab/plot_bins.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/plot_bins.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -14,10 +14,9 @@
% diagn_file = 'Prior_Diag.nc';
% plot_bins
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/matlab/plot_correl.m
===================================================================
--- DART/trunk/matlab/plot_correl.m 2010-01-28 23:22:39 UTC (rev 4238)
+++ DART/trunk/matlab/plot_correl.m 2010-01-28 23:41:56 UTC (rev 4239)
@@ -8,10 +8,9 @@
% of information ... the model types are determined and
% additional user input may be queried.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
@@ Diff output truncated at 40000 characters. @@
From nancy at ucar.edu Thu Jan 28 16:47:25 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 16:47:25 -0700
Subject: [Dart-dev] [4240] DART/trunk/diagnostics/matlab: new terms of use -
no other changes
Message-ID:
Revision: 4240
Author: thoar
Date: 2010-01-28 16:47:24 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
new terms of use - no other changes
Modified Paths:
--------------
DART/trunk/diagnostics/matlab/PlotObsLocs.m
DART/trunk/diagnostics/matlab/PlotWindObs.m
DART/trunk/diagnostics/matlab/get_varnames.m
DART/trunk/diagnostics/matlab/get_varsNdims.m
DART/trunk/diagnostics/matlab/nc_var_dims.m
DART/trunk/diagnostics/matlab/obs_num_time.m
DART/trunk/diagnostics/matlab/plot_bias_xxx_profile.m
DART/trunk/diagnostics/matlab/plot_evolution.m
DART/trunk/diagnostics/matlab/plot_observation_locations.m
DART/trunk/diagnostics/matlab/plot_profile.m
DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m
DART/trunk/diagnostics/matlab/plot_rmse_xxx_profile.m
DART/trunk/diagnostics/matlab/plot_wind_vectors.m
Added Paths:
-----------
DART/trunk/diagnostics/matlab/linked_observations.m
DART/trunk/diagnostics/matlab/plot_obs_netcdf.m
DART/trunk/diagnostics/matlab/plot_obs_netcdf_diffs.m
DART/trunk/diagnostics/matlab/read_obs_netcdf.m
Property Changed:
----------------
DART/trunk/diagnostics/matlab/PlotWindObs.m
DART/trunk/diagnostics/matlab/plot_wind_vectors.m
-------------- next part --------------
Modified: DART/trunk/diagnostics/matlab/PlotObsLocs.m
===================================================================
--- DART/trunk/diagnostics/matlab/PlotObsLocs.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/PlotObsLocs.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -96,10 +96,9 @@
% subsequent plots will overwrite earlier ones, so this input
% can be used to customize the name.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/diagnostics/matlab/PlotWindObs.m
===================================================================
--- DART/trunk/diagnostics/matlab/PlotWindObs.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/PlotWindObs.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -1,9 +1,8 @@
-%
+% PlotWindObs ... a function in progress ... not for general use.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/diagnostics/matlab/PlotWindObs.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Modified: DART/trunk/diagnostics/matlab/get_varnames.m
===================================================================
--- DART/trunk/diagnostics/matlab/get_varnames.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/get_varnames.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -10,10 +10,9 @@
% nvars = length(varnames);
% disp(sprintf('first atmospheric variable (of %d) is %s',nvars,varnames{1}))
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/diagnostics/matlab/get_varsNdims.m
===================================================================
--- DART/trunk/diagnostics/matlab/get_varsNdims.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/get_varsNdims.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -19,10 +19,9 @@
% >> plotdat.allvardims{20}
% region plevel copy time
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Copied: DART/trunk/diagnostics/matlab/linked_observations.m (from rev 4237, DART/trunk/observations/utilities/threed_sphere/linked_observations.m)
===================================================================
--- DART/trunk/diagnostics/matlab/linked_observations.m (rev 0)
+++ DART/trunk/diagnostics/matlab/linked_observations.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -0,0 +1,162 @@
+function linked_observations(obsmat,obs)
+% linked_observations(obs)
+%
+% obs is a structure with the following required components
+%
+% obs.lons longitudes of the observations
+% obs.lats latitudes of the observations
+% obs.z vertical level (depth) of the observations
+% obs.obs observation values
+% obs.qc observation DART QC code
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
+%
+%
+% $URL$
+% $Id$
+% $Revision$
+% $Date$
+
+% Create figure
+%figure1 = figure('XVisual',...
+% '0x24 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)',...
+% 'Renderer','OpenGL');
+figure1 = figure(1); clf(figure1);;
+
+%% Create axes for 3D plot
+axes0 = axes('Parent',figure1,'OuterPosition',[0 0 1 0.90],'FontSize',12);
+view(axes0,[-37.5 30]);
+grid(axes0,'on');
+hold(axes0,'all');
+
+xstring = sprintf('obsmat(:,%d)',obs.lonindex);
+ystring = sprintf('obsmat(:,%d)',obs.latindex);
+zstring = sprintf('obsmat(:,%d)',obs.zindex );
+
+h0 = scatter3(obsmat(:,obs.lonindex), obsmat(:,obs.latindex), obsmat(:,obs.zindex), ...
+ 'Parent',axes0,'DisplayName','observation locations', ...
+ 'XDataSource',xstring, ...
+ 'YDataSource',ystring, ...
+ 'ZDataSource',zstring);
+
+worldmap('light');
+xlabel('longitude');
+ylabel('latitude');
+zlabel('depth');
+h = title({obs.ObsTypeString, ...
+ sprintf('%s ---> %s',obs.timestring(1,:),obs.timestring(2,:)) });
+set(h,'Interpreter','none')
+linkdata on
+
+%% Create figure for ancillary plots
+
+figure2 = figure(2); clf(figure2); orient tall; wysiwyg
+
+%% Create axes for time VS. QC
+axes4 = axes('Parent',figure2,'OuterPosition',[0 0.80 1 0.175]);
+set(axes4,'XAxisLocation','top')
+box(axes4,'on');
+hold(axes4,'all');
+
+xstring = sprintf('obsmat(:,%d)',obs.timeindex);
+ystring = sprintf('obsmat(:,%d)',obs.qcindex);
+h4 = scatter(obsmat(:,obs.timeindex),obsmat(:,obs.qcindex),'Parent',axes4, ...
+ 'DisplayName','time vs qc', ...
+ 'XDataSource',xstring, ...
+ 'YDataSource',ystring);
+datetick(axes4,'x',6);
+ylabel(obs.QCString);
+
+%% Create axes for observation index VS. time
+axes3 = axes('Parent',figure2,'OuterPosition',[0 0.575 1 0.175]);
+box(axes3,'on');
+hold(axes3,'all');
+
+xstring = sprintf('obsmat(:,%d)',obs.timeindex);
+ystring = sprintf('obsmat(:,%d)',obs.indindex);
+h3 = scatter(obsmat(:,obs.timeindex),obsmat(:,obs.indindex),'Parent',axes3, ...
+ 'DisplayName','time vs key', ...
+ 'XDataSource',xstring, ...
+ 'YDataSource',ystring);
+ylabel('obs count');
+datetick(axes3,'x',6);
+
+%% Create axes for observation index VS. linked list key
+axes2 = axes('Parent',figure2,'OuterPosition',[0.0 0.400 1 0.15]);
+box(axes2,'on');
+hold(axes2,'all');
+
+xstring = sprintf('obsmat(:,%d)',obs.indindex);
+ystring = sprintf('obsmat(:,%d)',obs.keyindex);
+h2 = scatter(obsmat(:,obs.indindex),obsmat(:,obs.keyindex),'Parent',axes2, ...
+ 'DisplayName','count vs key', ...
+ 'XDataSource',xstring, ...
+ 'YDataSource',ystring);
+xlabel('obs count');
+ylabel('key');
+
+%% Create axes for QC vs. ObsVal scatterplot
+axes1 = axes('Parent',figure2,'Position',[0.05 0.05 0.6 0.25]);
+box(axes1,'on');
+hold(axes1,'all');
+
+xstring = sprintf('obsmat(:,%d)',obs.obsindex);
+ystring = sprintf('obsmat(:,%d)',obs.qcindex);
+h1 = scatter(obsmat(:,obs.obsindex),obsmat(:,obs.qcindex),'Parent',axes1, ...
+ 'DisplayName','obs vs qc', ...
+ 'XDataSource',xstring, ...
+ 'YDataSource',ystring);
+xlabel(obs.CopyString);
+title(obs.QCString);
+
+
+LabelQC(obs.QCString, obs.qc)
+
+
+refreshdata
+linkdata on
+
+
+function LabelQC(QCString, qcarray)
+%% Create legend for (DART) QC values.
+%
+% 0 observation assimilated
+% 1 observation evaluated only
+% --- everything above this means the prior and posterior are OK
+% 2 assimilated, but the posterior forward operator failed
+% 3 Evaluated only, but the posterior forward operator failed
+% --- everything above this means only the prior is OK
+% 4 prior forward operator failed
+% 5 not used
+% 6 prior QC rejected
+% 7 outlier rejected
+
+dartqc_strings = { 'assimilated', ...
+ 'observation evaluated only', ...
+ 'assimilated, post fwd op failed', ...
+ 'eval only, post fwd op failed', ...
+ 'prior forward operator failed', ...
+ 'not used', ...
+ 'prior QC rejected', ...
+ 'outlier rejected', ...
+ 'reserved'};
+
+switch lower(strtrim(QCString))
+ case 'dart quality control',
+
+ qcvals = unique(qcarray);
+ qccount = zeros(size(qcvals));
+ for i = 1:length(qcvals)
+ qccount(i) = sum(qcarray == qcvals(i));
+ s{i} = sprintf('%d - %s %d obs',qcvals(i), dartqc_strings{qcvals(i)+1}, qccount(i));
+ end
+
+ set(gca,'YTick',qcvals,'YAxisLocation','right')
+ set(gca,'YTickLabel',char(s))
+
+ otherwise,
+ str = sprintf('no way to interpret values of %s',strtrim(QCString));
+ text(0.0, 0.0, str)
+end
Modified: DART/trunk/diagnostics/matlab/nc_var_dims.m
===================================================================
--- DART/trunk/diagnostics/matlab/nc_var_dims.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/nc_var_dims.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -17,10 +17,9 @@
% disp(sprintf('variable %s dimension %d is %s',varname,i,vdims{i}))
% end
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2009, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/diagnostics/matlab/obs_num_time.m
===================================================================
--- DART/trunk/diagnostics/matlab/obs_num_time.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/obs_num_time.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -17,11 +17,9 @@
%
% obs_num_time
-
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/diagnostics/matlab/plot_bias_xxx_profile.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_bias_xxx_profile.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_bias_xxx_profile.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -18,11 +18,9 @@
% copystring = 'totalspread'; % 'copy' string == quantity of interest
% plotdat = plot_bias_xxx_profile(fname,copystring);
-
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL:
Modified: DART/trunk/diagnostics/matlab/plot_evolution.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_evolution.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_evolution.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -18,10 +18,9 @@
% copystring = 'bias'; % 'copy' string == quantity of interest
% plotdat = plot_evolution(fname,copystring);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Copied: DART/trunk/diagnostics/matlab/plot_obs_netcdf.m (from rev 4237, DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m)
===================================================================
--- DART/trunk/diagnostics/matlab/plot_obs_netcdf.m (rev 0)
+++ DART/trunk/diagnostics/matlab/plot_obs_netcdf.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -0,0 +1,350 @@
+function obsstruct = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, ...
+ QCString, maxQC, verbose)
+%% plot_obs_netcdf will plot the locations and values of the observations in a DART netcdf file.
+% any observations with a QC value greater than 'maxgoodQC' will get
+% plotted on a separate figure ... color-coded to its QC value, not the
+% observation value.
+%
+%--------------------------------------------------
+% EXAMPLE 1: plotting just one type of observation
+%--------------------------------------------------
+% fname = 'obs_sequence_001.nc';
+% ObsTypeString = 'RADIOSONDE_U_WIND_COMPONENT';
+% region = [0 360 -90 90 -Inf Inf];
+% CopyString = 'NCEP BUFR observation';
+% QCString = 'DART quality control';
+% maxgoodQC = 2;
+% verbose = 1; % anything > 0 == 'true'
+%
+% bob = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, QCString, maxgoodQC, verbose);
+%
+% view(0,90); % for a traditional '2D' plot
+%
+%--------------------------------------------------
+% EXAMPLE 2: plotting all the observation types
+%--------------------------------------------------
+% fname = 'obs_sequence_001.nc';
+% ObsTypeString = 'ALL';
+% region = [0 360 -90 90 -Inf Inf];
+% CopyString = 'WOD observation';
+% QCString = 'WOD QC';
+% maxgoodQC = 0;
+% verbose = 1; % anything > 0 == 'true'
+%
+% bob = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, QCString, maxgoodQC, verbose);
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
+%
+%
+% $URL$
+% $Id$
+% $Revision$
+% $Date$
+
+if (exist(fname,'file') ~= 2)
+ error('%s does not exist.',fname)
+end
+
+%% Read the observation sequence
+
+obsstruct = read_obs_netcdf(fname, ObsTypeString, region, ...
+ CopyString, QCString, maxQC, verbose);
+
+%% Create graphic with area-weighted symbols for the good observations.
+% It has happened that there have been zero good observations in a file.
+
+xmin = min(region(1:2));
+xmax = max(region(1:2));
+ymin = min(region(3:4));
+ymax = max(region(3:4));
+zmin = min(obsstruct.z);
+zmax = max(obsstruct.z);
+
+pstruct.colorbarstring = obsstruct.ObsTypeString;
+pstruct.region = region;
+pstruct.str3 = sprintf('%s - %s',obsstruct.timestring(1,:),obsstruct.timestring(2,:));
+
+if ( length(obsstruct.obs) < 1 )
+ fprintf('There are no ''good'' observations to plot\n')
+else
+
+ figure(gcf+1); clf
+
+ % choose a symbol size based on the number of obs to plot.
+
+ if (length(obsstruct.obs) < 1000)
+ pstruct.scalearray = scaleme(obsstruct.obs, 36);
+ else
+ pstruct.scalearray = 50.0 * ones(size(obsstruct.obs));
+ end
+ pstruct.clim = [min(obsstruct.obs) max(obsstruct.obs)];
+ pstruct.str2 = sprintf('%s (%d locations)',obsstruct.CopyString,length(obsstruct.obs));
+
+ % If all the observations live on the same level ... make a 2D plot.
+
+ if ( zmin ~= zmax )
+
+ pstruct.axis = [xmin xmax ymin ymax zmin zmax];
+ pstruct.str1 = sprintf('%s level (%.2f - %.2f)',obsstruct.ObsTypeString,zmin,zmax);
+
+ plot_3D(obsstruct, pstruct)
+
+ else
+
+ pstruct.axis = [xmin xmax ymin ymax];
+ pstruct.str1 = sprintf('%s',obsstruct.ObsTypeString);
+
+ plot_2D(obsstruct, pstruct)
+
+ end
+end
+
+%% Create graphic of spatial distribution of 'bad' observations & their QC value.
+%
+% 0 observation assimilated
+% 1 observation evaluated only
+% --- everything above this means the prior and posterior are OK
+% 2 assimilated, but the posterior forward operator failed
+% 3 Evaluated only, but the posterior forward operator failed
+% --- everything above this means only the prior is OK
+% 4 prior forward operator failed
+% 5 not used
+% 6 prior QC rejected
+% 7 outlier rejected
+
+dartqc_strings = { ...
+ '''observation evaluated only''', ...
+ '''assimilated, but the posterior forward operator failed''', ...
+ '''evaluated only, but the posterior forward operator failed''',...
+ '''prior forward operator failed''',...
+ '''not used''',...
+ '''prior QC rejected''',...
+ '''outlier rejected''',...
+ '''reserved for future use'''};
+
+if (obsstruct.numbadqc > 0 ) % if there are bad observation to plot ... carry on.
+
+ figure(gcf+1); clf
+
+ subplot('position',[0.1 0.20 0.8 0.65])
+
+ zmin = min(obsstruct.badobs.z);
+ zmax = max(obsstruct.badobs.z);
+
+ pstruct.scalearray = 128 * ones(size(obsstruct.badobs.obs));
+ pstruct.colorbarstring = QCString;
+ pstruct.clim = [min(obsstruct.badobs.qc) max(obsstruct.badobs.qc)];
+ pstruct.str1 = sprintf('%s level (%.2f - %.2f)',obsstruct.ObsTypeString,zmin,zmax);
+ pstruct.str2 = sprintf('%s (%d bad observations)', ...
+ obsstruct.CopyString, ...
+ length(obsstruct.badobs.obs));
+
+ obsstruct.badobs.obs = obsstruct.badobs.qc; % plot QC values, not obs values
+ if ( zmin ~= zmax )
+
+ pstruct.axis = [xmin xmax ymin ymax zmin zmax];
+
+ plot_3D(obsstruct.badobs, pstruct)
+
+ else
+
+ pstruct.axis = [xmin xmax ymin ymax];
+
+ plot_2D(obsstruct.badobs, pstruct)
+
+ end
+
+ subplot('position',[0.1 0.05 0.8 0.10])
+ axis off
+
+ %% If the QC is a DART QC, we know how to interpret them.
+
+ switch lower(strtrim(QCString))
+ case 'dart quality control',
+
+ qcvals = unique(obsstruct.badobs.qc);
+ qccount = zeros(size(qcvals));
+ for i = 1:length(qcvals)
+ qccount(i) = sum(obsstruct.badobs.qc == qcvals(i));
+ s{i} = sprintf('%d obs with qc == %d %s',qccount(i),qcvals(i), ...
+ dartqc_strings{qcvals(i)});
+ end
+
+ dy = 1.0/length(s);
+ for i = 1:length(s)
+ text(0.0, (i-1)*dy ,s{i})
+ end
+
+ otherwise,
+ str = sprintf('no way to interpret values of %s',strtrim(QCString));
+ text(0.0, 0.0, str)
+ end
+end
+
+
+
+function h = myworldmap
+
+%%--------------------------------------------------------------------------
+% GET THE ELEVATION DATA AND SET UP THE ASSOCIATED COORDINATE DATA
+%---------------------------------------------------------------------------
+
+load topo; % GET Matlab-native [180x360] ELEVATION DATASET
+lats = -89.5:89.5; % CREATE LAT ARRAY FOR TOPO MATRIX
+lons = 0.5:359.5; % CREATE LON ARRAY FOR TOPO MATRIX
+nlon = length(lons);
+nlat = length(lats);
+
+%%--------------------------------------------------------------------------
+% IF WE NEED TO SWAP HEMISPHERES, DO SO NOW.
+% If we didn't explicitly tell it, make a guess.
+%---------------------------------------------------------------------------
+
+ax = axis;
+
+if (ax(1) < -2)
+ lons = lons - 180.0;
+ topo = [ topo(:,nlon/2+1:nlon) topo(:,1:nlon/2) ];
+end
+
+%%--------------------------------------------------------------------------
+% We need to determine the geographic subset of the elevation matrix.
+%---------------------------------------------------------------------------
+
+lon_ind1 = min(find(ax(1) <= lons));
+lon_ind2 = min(find(ax(2) <= lons));
+lat_ind1 = min(find(ax(3) <= lats));
+lat_ind2 = min(find(ax(4) <= lats));
+
+if (isempty(lon_ind1)), lon_ind1 = 1; end;
+if (isempty(lon_ind2)), lon_ind2 = nlon; end;
+if (isempty(lat_ind1)), lat_ind1 = 1; end;
+if (isempty(lat_ind2)), lat_ind2 = nlat; end;
+
+elev = topo(lat_ind1:lat_ind2,lon_ind1:lon_ind2);
+x = lons(lon_ind1:lon_ind2);
+y = lats(lat_ind1:lat_ind2);
+
+%%--------------------------------------------------------------------------
+% Contour the "subset"
+% There are differences between 6.5 and 7.0 that make changing the colors
+% of the filled contours a real pain.
+%---------------------------------------------------------------------------
+
+orgholdstate = ishold;
+hold on;
+
+switch get(gca,'ZDir')
+ case 'reverse'
+ zlevel = max(ax(5:6));
+ otherwise
+ zlevel = min(ax(5:6));
+end
+
+fcolor = [0.7 0.7 0.7]; % light grey
+
+[c,h] = contourf(x,y,elev,[0.0 0.0],'k-');
+
+h_patch = get(h, 'Children');
+
+for i = 1:numel(h_patch)
+ y = get(h_patch(i), 'YData');
+ s = size(y);
+ set(h_patch(i), 'ZData', zlevel*ones(s),'FaceColor',fcolor);
+end
+
+if (orgholdstate == 0), hold off; end;
+
+
+
+
+function s = scaleme(x,minsize)
+% scaleme returns a uniformly scaled array the same size as the input
+% array where the maximum is 10 times the minimum
+maxsize = 10*minsize;
+minx = min(x);
+maxx = max(x);
+slope = (maxsize-minsize)/(maxx-minx);
+b = minsize - slope*minx;
+
+s = x*slope + b;
+
+
+
+function plot_3D(obsstruct, pstruct)
+
+if (pstruct.clim(1) == pstruct.clim(2))
+ % If all the observations have the same value, setting the
+ % colorbar limits is a real pain. Fundamentally, I am
+ % forcing the plot symbols to be the lowest color of the
+ % colormap and setting the colorbar to have some more
+ % colors 'on top' - that are never used.
+ cmap = colormap;
+ h = plot3(obsstruct.lons, obsstruct.lats, obsstruct.z, 'bo');
+ set(h,'MarkerFaceColor',cmap(1,:),'MarkerEdgeColor',cmap(1,:))
+ set(gca,'Clim',[pstruct.clim(1) pstruct.clim(2)+1])
+ set(gca,'XGrid','on','YGrid','on','ZGrid','on')
+
+else
+ scatter3(obsstruct.lons, obsstruct.lats, obsstruct.z, ...
+ pstruct.scalearray, obsstruct.obs, 'd', 'filled');
+end
+
+clim = get(gca,'CLim');
+
+axis(pstruct.axis)
+
+title( {pstruct.str1, pstruct.str3, pstruct.str2}, 'Interpreter','none','FontSize',16);
+xlabel('longitude')
+ylabel('latitude')
+
+if (obsstruct.Ztyp(1) == -2) % VERTISUNDEF = -2
+ zlabel('unspecified')
+elseif (obsstruct.Ztyp(1) == -1) % VERTISSURFACE = -1
+ zlabel('surface')
+elseif (obsstruct.Ztyp(1) == 1) % VERTISLEVEL = 1
+ zlabel('level')
+elseif (obsstruct.Ztyp(1) == 2) % VERTISPRESSURE = 2
+ set(gca,'ZDir','reverse')
+ zlabel('pressure')
+elseif (obsstruct.Ztyp(1) == 3) % VERTISHEIGHT = 3
+ zlabel('height')
+end
+
+myworldmap;
+set(gca,'CLim',clim)
+h = colorbar;
+set(get(h,'YLabel'),'String',pstruct.colorbarstring,'Interpreter','none')
+
+
+
+
+function plot_2D(obsstruct, pstruct)
+
+axis(pstruct.axis); hold on; worldmap('light');
+
+if (pstruct.clim(1) == pstruct.clim(2))
+ cmap = colormap;
+ h = plot(obsstruct.lons, obsstruct.lats, 'bo');
+ set(h,'MarkerFaceColor',cmap(1,:),'MarkerEdgeColor',cmap(1,:))
+ set(gca,'Clim',[pstruct.clim(1) pstruct.clim(2)+1])
+ set(gca,'XGrid','on','YGrid','on')
+
+else
+
+ scatter(obsstruct.lons, obsstruct.lats, ...
+ pstruct.scalearray, obsstruct.obs, 'd', 'filled');
+end
+
+clim = get(gca,'CLim');
+
+title( {pstruct.str1, pstruct.str3, pstruct.str2}, 'Interpreter','none','FontSize',16);
+xlabel('longitude')
+ylabel('latitude')
+
+set(gca,'CLim',clim)
+h = colorbar;
+set(get(h,'YLabel'),'String',pstruct.colorbarstring,'Interpreter','none')
+hold off
Copied: DART/trunk/diagnostics/matlab/plot_obs_netcdf_diffs.m (from rev 4237, DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m)
===================================================================
--- DART/trunk/diagnostics/matlab/plot_obs_netcdf_diffs.m (rev 0)
+++ DART/trunk/diagnostics/matlab/plot_obs_netcdf_diffs.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -0,0 +1,345 @@
+function obsstruct = plot_obs_netcdf_diffs(fname, ObsTypeString, region, ...
+ CopyString1, CopyString2, QCString, maxQC, verbose)
+%
+% fname = 'obs_sequence_001.nc';
+% ObsTypeString = 'RADIOSONDE_U_WIND_COMPONENT';
+% region = [0 360 -90 90 -Inf Inf];
+% CopyString1 = 'NCEP BUFR observation';
+% CopyString2 = 'prior ensemble mean';
+% QCString = 'DART quality control';
+% maxQC = 1;
+% verbose = 1; % anything > 0 == 'true'
+%
+% bob = plot_obs_netcdf_diffs(fname, ObsTypeString, region, CopyString1, CopyString2, ...
+% QCString, maxQC, verbose);
+
+% record the user input
+
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
+%
+%
+% $URL$
+% $Id$
+% $Revision$
+% $Date$
+
+obsstruct.fname = fname;
+obsstruct.ObsTypeString = ObsTypeString;
+obsstruct.region = region;
+obsstruct.CopyString1 = CopyString1;
+obsstruct.CopyString2 = CopyString2;
+obsstruct.QCString = QCString;
+obsstruct.maxQC = maxQC;
+obsstruct.verbose = verbose;
+
+% get going
+
+ObsTypes = nc_varget(fname,'ObsTypes');
+ObsTypeStrings = nc_varget(fname,'ObsTypesMetaData');
+CopyStrings = nc_varget(fname,'CopyMetaData');
+QCStrings = nc_varget(fname,'QCMetaData');
+
+t = nc_varget(fname,'time');
+obs_type = nc_varget(fname,'obs_type');
+z_type = nc_varget(fname,'which_vert');
+
+loc = nc_varget(fname,'location');
+obs = nc_varget(fname,'observations');
+qc = nc_varget(fname,'qc');
+
+my_types = unique(obs_type); % only ones in the file, actually.
+timeunits = nc_attget(fname,'time','units');
+timerange = nc_attget(fname,'time','valid_range');
+calendar = nc_attget(fname,'time','calendar');
+timebase = sscanf(timeunits,'%*s%*s%d%*c%d%*c%d'); % YYYY MM DD
+timeorigin = datenum(timebase(1),timebase(2),timebase(3));
+timestring = datestr(timerange + timeorigin);
+
+% Echo summary if requested
+
+if ( verbose > 0 )
+ for i = 1:length(my_types)
+ obtype = my_types(i);
+ inds = find(obs_type == obtype);
+ myz = loc(inds,3);
+
+ disp(sprintf('N = %6d %s obs (type %3d) between levels %.2f and %.2f', ...
+ length(inds), ObsTypeStrings(obtype,:), obtype, ...
+ unique(min(myz)), unique(max(myz))))
+ end
+
+% uniquelevels = unique(loc(:,3));
+
+% for i = 1:length(uniquelevels)
+% mylevel = uniquelevels(i);
+% inds = find(loc(:,3) == mylevel);
+% disp(sprintf('level %2d %f has %d observations',i,mylevel,length(inds)))
+% end
+
+end
+
+% Find observations of the correct types.
+
+myind = strmatch(ObsTypeString,ObsTypeStrings);
+
+if ( isempty(myind) )
+ error('no %s observations ... stopping',obsstruct.ObsTypeString)
+end
+
+mytype1 = get_copy_index(fname, CopyString1);
+mytype2 = get_copy_index(fname, CopyString2);
+inds = find(obs_type == myind);
+mylocs = loc(inds,:);
+myobs1 = obs(inds,mytype1);
+myobs2 = obs(inds,mytype2);
+myobs = myobs2 - myobs1;
+
+if ~ isempty(QCString)
+ myQCind = get_qc_index(fname, QCString);
+ myqc = qc(inds,myQCind);
+else
+ myqc = [];
+end
+
+clear myobs1 myobs2 obs loc qc
+
+% geographic subset if needed
+
+inds = locations_in_region(mylocs,region);
+
+obsstruct.lons = mylocs(inds,1);
+obsstruct.lats = mylocs(inds,2);
+obsstruct.z = mylocs(inds,3);
+obsstruct.obs = myobs(inds);
+obsstruct.Ztyp = z_type(inds);
+obsstruct.numbadqc = 0;
+
+if (isempty(myqc))
+ obsstruct.qc = [];
+else
+ obsstruct.qc = myqc(inds);
+end
+
+% subset based on qc value
+
+if ( (~ isempty(myqc)) & (~ isempty(maxQC)) )
+
+ inds = find(obsstruct.qc > maxQC);
+
+ obsstruct.numbadqc = length(inds);
+
+ if (~isempty(inds))
+ badobs.lons = obsstruct.lons(inds);
+ badobs.lats = obsstruct.lats(inds);
+ badobs.Ztyp = obsstruct.Ztyp(inds);
+ badobs.z = obsstruct.z( inds);
+ badobs.obs = obsstruct.obs(inds);
+ badobs.qc = obsstruct.qc(inds);
+ end
+
+ disp(sprintf('Removing %d obs with a %s value greater than %f', ...
+ length(inds),QCString,maxQC))
+
+ inds = find(obsstruct.qc <= maxQC);
+
+ bob = obsstruct.lons(inds); obsstruct.lons = bob;
+ bob = obsstruct.lats(inds); obsstruct.lats = bob;
+ bob = obsstruct.Ztyp(inds); obsstruct.Ztyp = bob;
+ bob = obsstruct.z( inds); obsstruct.z = bob;
+ bob = obsstruct.obs( inds); obsstruct.obs = bob;
+ bob = obsstruct.qc( inds); obsstruct.qc = bob;
+
+end
+
+%-------------------------------------------------------------------------------
+% Create graphic with area-weighted symbols for the good observations.
+%-------------------------------------------------------------------------------
+
+figure(1); clf
+
+xmin = min(region(1:2));
+xmax = max(region(1:2));
+ymin = min(region(3:4));
+ymax = max(region(3:4));
+zmin = min(obsstruct.z);
+zmax = max(obsstruct.z);
+
+scalearray = scaleme(obsstruct.obs,36);
+scalearray = 128 * ones(size(obsstruct.obs));
+
+scatter3(obsstruct.lons, obsstruct.lats, obsstruct.z, ...
+ scalearray, obsstruct.obs,'d','filled');
+
+axis([xmin xmax ymin ymax zmin zmax])
+
+str1 = sprintf('%s level (%.2f - %.2f)',ObsTypeString,zmin,zmax);
+str2 = sprintf('%s - %s (%d locations)',CopyString2,CopyString1,length(obsstruct.obs));
+str3 = sprintf('%s - %s',timestring(1,:),timestring(2,:));
+
+title( {str1, str3, str2}, 'Interpreter','none','FontSize',16);
+xlabel('longitude')
+ylabel('latitude')
+
+if (obsstruct.Ztyp(1) == -2) % VERTISUNDEF = -2
+ zlabel('curious ... undefined')
+elseif (obsstruct.Ztyp(1) == -1) % VERTISSURFACE = -1
+ zlabel('surface')
+elseif (obsstruct.Ztyp(1) == 1) % VERTISLEVEL = 1
+ zlabel('level')
+elseif (obsstruct.Ztyp(1) == 2) % VERTISPRESSURE = 2
+ set(gca,'ZDir','reverse')
+ zlabel('pressure')
+elseif (obsstruct.Ztyp(1) == 3) % VERTISHEIGHT = 3
+ zlabel('height')
+end
+
+myworldmap;
+set(gca,'CLim',[min(obsstruct.obs) max(obsstruct.obs)])
+h = colorbar;
+set(get(h,'YLabel'),'String',ObsTypeString,'Interpreter','none')
+
+%-------------------------------------------------------------------------------
+% Create graphic of spatial distribution of 'bad' observations & their QC value.
+%-------------------------------------------------------------------------------
+
+if (obsstruct.numbadqc > 0 )
+
+ figure(2); clf
+
+ subplot('position',[0.1 0.20 0.8 0.65])
+ scalearray = 128 * ones(size(badobs.obs));
+
+ zmin = min(badobs.z);
+ zmax = max(badobs.z);
+
+ scatter3(badobs.lons, badobs.lats, badobs.z, scalearray, badobs.qc,'filled')
+
+ title( {str1, str3, 'Bad Observations'}, 'Interpreter','none','FontSize',16);
+ xlabel('longitude')
+ ylabel('latitude')
+
+ if (badobs.Ztyp(1) == -2) % VERTISUNDEF = -2
+ zlabel('curious ... undefined')
+ elseif (badobs.Ztyp(1) == -1) % VERTISSURFACE = -1
+ zlabel('surface')
+ elseif (badobs.Ztyp(1) == 1) % VERTISLEVEL = 1
+ zlabel('level')
+ elseif (badobs.Ztyp(1) == 2) % VERTISPRESSURE = 2
+ set(gca,'ZDir','reverse')
+ zlabel('pressure')
+ elseif (badobs.Ztyp(1) == 3) % VERTISHEIGHT = 3
+ zlabel('height')
+ end
+
+ axis([region(1) region(2) ymin ymax zmin zmax])
+
+ myworldmap;
+ set(gca,'CLim',[min(badobs.qc) max(badobs.qc)])
+ h = colorbar;
+ set(get(h,'YLabel'),'String',QCString,'Interpreter','none')
+
+ subplot('position',[0.1 0.05 0.8 0.10])
+ axis off
+
+ qcvals = unique(badobs.qc);
+ qccount = zeros(size(qcvals));
+ for i = 1:length(qcvals)
+ qccount(i) = sum(badobs.qc == qcvals(i));
+ s{i} = sprintf('%d obs with qc == %d',qccount(i),qcvals(i));
+ end
+
+ dy = 1.0/length(s);
+ for i = 1:length(s)
+ text(0.0, (i-1)*dy ,s{i})
+ end
+
+end
+
+function h = myworldmap
+
+%---------------------------------------------------------------------------
+% GET THE ELEVATION DATA AND SET UP THE ASSOCIATED COORDINATE DATA
+%---------------------------------------------------------------------------
+
+load topo; % GET Matlab-native [180x360] ELEVATION DATASET
+lats = [-89.5:89.5]; % CREATE LAT ARRAY FOR TOPO MATRIX
+lons = [0.5:359.5]; % CREATE LON ARRAY FOR TOPO MATRIX
+nlon = length(lons);
+nlat = length(lats);
+
+%---------------------------------------------------------------------------
+% IF WE NEED TO SWAP HEMISPHERES, DO SO NOW.
+% If we didn't explicitly tell it, make a guess.
+%---------------------------------------------------------------------------
+
+ax = axis;
+
+if (ax(1) < -2)
+ lons = lons - 180.0;
+ topo = [ topo(:,nlon/2+1:nlon) topo(:,1:nlon/2) ];
+end
+
+%---------------------------------------------------------------------------
+% We need to determine the geographic subset of the elevation matrix.
+%---------------------------------------------------------------------------
+
+lon_ind1 = min(find(ax(1) <= lons));
+lon_ind2 = min(find(ax(2) <= lons));
+lat_ind1 = min(find(ax(3) <= lats));
+lat_ind2 = min(find(ax(4) <= lats));
+
+if (isempty(lon_ind1)) lon_ind1 = 1; end;
+if (isempty(lon_ind2)) lon_ind2 = nlon; end;
+if (isempty(lat_ind1)) lat_ind1 = 1; end;
+if (isempty(lat_ind2)) lat_ind2 = nlat; end;
+
+elev = topo(lat_ind1:lat_ind2,lon_ind1:lon_ind2);
+x = lons(lon_ind1:lon_ind2);
+y = lats(lat_ind1:lat_ind2);
+
+%---------------------------------------------------------------------------
+% Contour the "subset"
+% There are differences between 6.5 and 7.0 that make changing the colors
+% of the filled contours a real pain. Providing both solutions.
+%---------------------------------------------------------------------------
+
+orgholdstate = ishold;
+hold on;
+
+switch get(gca,'ZDir')
+ case 'reverse'
+ zlevel = max(ax(5:6));
+ otherwise
+ zlevel = min(ax(5:6));
+end
+
+fcolor = [0.7 0.7 0.7]; % light grey
+
+[c,h] = contourf(x,y,elev,[0.0 0.0],'k-');
+
+new_level = 1000;
+
+h_patch = get(h, 'Children');
+
+for i = 1:numel(h_patch)
+ y = get(h_patch(i), 'YData');
+ s = size(y);
+ set(h_patch(i), 'ZData', zlevel*ones(s),'FaceColor',fcolor);
+end
+
+if (orgholdstate == 0) hold off; end;
+
+
+function s = scaleme(x,minsize)
+% scaleme returns a uniformly scaled array the same size as the input
+% array where the maximum is 10 times the minimum
+maxsize = 10*minsize;
+minx = min(x);
+maxx = max(x);
+slope = (maxsize-minsize)/(maxx-minx);
+b = minsize - slope*minx;
+
+s = x*slope + b;
+
Modified: DART/trunk/diagnostics/matlab/plot_observation_locations.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_observation_locations.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_observation_locations.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -11,10 +11,9 @@
% See the documentation for PlotObsLocs() -- it has a lot of arguments in the
% calling sequence.
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Modified: DART/trunk/diagnostics/matlab/plot_profile.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_profile.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_profile.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -19,10 +19,9 @@
% plotdat = plot_profile(fname,copystring);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL:
Modified: DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -18,10 +18,9 @@
% copystring = 'totalspread'; % 'copy' string == quantity of interest
% plotdat = plot_rmse_xxx_evolution(fname,copystring);
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL:
Modified: DART/trunk/diagnostics/matlab/plot_rmse_xxx_profile.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_rmse_xxx_profile.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_rmse_xxx_profile.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -18,11 +18,9 @@
% copystring = 'totalspread'; % 'copy' string == quantity of interest
% plotdat = plot_rmse_xxx_profile(fname,copystring);
-
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL:
Modified: DART/trunk/diagnostics/matlab/plot_wind_vectors.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_wind_vectors.m 2010-01-28 23:41:56 UTC (rev 4239)
+++ DART/trunk/diagnostics/matlab/plot_wind_vectors.m 2010-01-28 23:47:24 UTC (rev 4240)
@@ -27,10 +27,9 @@
% 'levels', levels, 'region', region, 'scalefactor', scalefactor);
%
-% Data Assimilation Research Testbed -- DART
-% Copyright 2004-2007, Data Assimilation Research Section
-% University Corporation for Atmospheric Research
-% Licensed under the GPL -- www.gpl.org/licenses/gpl.html
+%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+% provided by UCAR, "as is", without charge, subject to all terms of use at
+% http://www.image.ucar.edu/DAReS/DART/DART_download
%
%
% $URL$
Property changes on: DART/trunk/diagnostics/matlab/plot_wind_vectors.m
___________________________________________________________________
Modified: svn:keywords
- Date Rev Author URL Id
+ Date Revision Author HeadURL Id
Copied: DART/trunk/diagnostics/matlab/read_obs_netcdf.m (from rev 4237, DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m)
===================================================================
@@ Diff output truncated at 40000 characters. @@
From nancy at ucar.edu Thu Jan 28 16:48:52 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 16:48:52 -0700
Subject: [Dart-dev] [4241] DART/trunk/observations/utilities/threed_sphere:
Renamed these files into DART/diagnostics/matlab/
Message-ID:
Revision: 4241
Author: thoar
Date: 2010-01-28 16:48:52 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
Renamed these files into DART/diagnostics/matlab/
Removed Paths:
-------------
DART/trunk/observations/utilities/threed_sphere/linked_observations.m
DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m
DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m
DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m
-------------- next part --------------
Deleted: DART/trunk/observations/utilities/threed_sphere/linked_observations.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/linked_observations.m 2010-01-28 23:47:24 UTC (rev 4240)
+++ DART/trunk/observations/utilities/threed_sphere/linked_observations.m 2010-01-28 23:48:52 UTC (rev 4241)
@@ -1,162 +0,0 @@
-function linked_observations(obsmat,obs)
-% linked_observations(obs)
-%
-% obs is a structure with the following required components
-%
-% obs.lons longitudes of the observations
-% obs.lats latitudes of the observations
-% obs.z vertical level (depth) of the observations
-% obs.obs observation values
-% obs.qc observation DART QC code
-
-% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
-% provided by UCAR, "as is", without charge, subject to all terms of use at
-% http://www.image.ucar.edu/DAReS/DART/DART_download
-%
-%
-% $URL$
-% $Id$
-% $Revision$
-% $Date$
-
-% Create figure
-%figure1 = figure('XVisual',...
-% '0x24 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)',...
-% 'Renderer','OpenGL');
-figure1 = figure(1); clf(figure1);;
-
-%% Create axes for 3D plot
-axes0 = axes('Parent',figure1,'OuterPosition',[0 0 1 0.90],'FontSize',12);
-view(axes0,[-37.5 30]);
-grid(axes0,'on');
-hold(axes0,'all');
-
-xstring = sprintf('obsmat(:,%d)',obs.lonindex);
-ystring = sprintf('obsmat(:,%d)',obs.latindex);
-zstring = sprintf('obsmat(:,%d)',obs.zindex );
-
-h0 = scatter3(obsmat(:,obs.lonindex), obsmat(:,obs.latindex), obsmat(:,obs.zindex), ...
- 'Parent',axes0,'DisplayName','observation locations', ...
- 'XDataSource',xstring, ...
- 'YDataSource',ystring, ...
- 'ZDataSource',zstring);
-
-worldmap('light');
-xlabel('longitude');
-ylabel('latitude');
-zlabel('depth');
-h = title({obs.ObsTypeString, ...
- sprintf('%s ---> %s',obs.timestring(1,:),obs.timestring(2,:)) });
-set(h,'Interpreter','none')
-linkdata on
-
-%% Create figure for ancillary plots
-
-figure2 = figure(2); clf(figure2); orient tall; wysiwyg
-
-%% Create axes for time VS. QC
-axes4 = axes('Parent',figure2,'OuterPosition',[0 0.80 1 0.175]);
-set(axes4,'XAxisLocation','top')
-box(axes4,'on');
-hold(axes4,'all');
-
-xstring = sprintf('obsmat(:,%d)',obs.timeindex);
-ystring = sprintf('obsmat(:,%d)',obs.qcindex);
-h4 = scatter(obsmat(:,obs.timeindex),obsmat(:,obs.qcindex),'Parent',axes4, ...
- 'DisplayName','time vs qc', ...
- 'XDataSource',xstring, ...
- 'YDataSource',ystring);
-datetick(axes4,'x',6);
-ylabel(obs.QCString);
-
-%% Create axes for observation index VS. time
-axes3 = axes('Parent',figure2,'OuterPosition',[0 0.575 1 0.175]);
-box(axes3,'on');
-hold(axes3,'all');
-
-xstring = sprintf('obsmat(:,%d)',obs.timeindex);
-ystring = sprintf('obsmat(:,%d)',obs.indindex);
-h3 = scatter(obsmat(:,obs.timeindex),obsmat(:,obs.indindex),'Parent',axes3, ...
- 'DisplayName','time vs key', ...
- 'XDataSource',xstring, ...
- 'YDataSource',ystring);
-ylabel('obs count');
-datetick(axes3,'x',6);
-
-%% Create axes for observation index VS. linked list key
-axes2 = axes('Parent',figure2,'OuterPosition',[0.0 0.400 1 0.15]);
-box(axes2,'on');
-hold(axes2,'all');
-
-xstring = sprintf('obsmat(:,%d)',obs.indindex);
-ystring = sprintf('obsmat(:,%d)',obs.keyindex);
-h2 = scatter(obsmat(:,obs.indindex),obsmat(:,obs.keyindex),'Parent',axes2, ...
- 'DisplayName','count vs key', ...
- 'XDataSource',xstring, ...
- 'YDataSource',ystring);
-xlabel('obs count');
-ylabel('key');
-
-%% Create axes for QC vs. ObsVal scatterplot
-axes1 = axes('Parent',figure2,'Position',[0.05 0.05 0.6 0.25]);
-box(axes1,'on');
-hold(axes1,'all');
-
-xstring = sprintf('obsmat(:,%d)',obs.obsindex);
-ystring = sprintf('obsmat(:,%d)',obs.qcindex);
-h1 = scatter(obsmat(:,obs.obsindex),obsmat(:,obs.qcindex),'Parent',axes1, ...
- 'DisplayName','obs vs qc', ...
- 'XDataSource',xstring, ...
- 'YDataSource',ystring);
-xlabel(obs.CopyString);
-title(obs.QCString);
-
-
-LabelQC(obs.QCString, obs.qc)
-
-
-refreshdata
-linkdata on
-
-
-function LabelQC(QCString, qcarray)
-%% Create legend for (DART) QC values.
-%
-% 0 observation assimilated
-% 1 observation evaluated only
-% --- everything above this means the prior and posterior are OK
-% 2 assimilated, but the posterior forward operator failed
-% 3 Evaluated only, but the posterior forward operator failed
-% --- everything above this means only the prior is OK
-% 4 prior forward operator failed
-% 5 not used
-% 6 prior QC rejected
-% 7 outlier rejected
-
-dartqc_strings = { 'assimilated', ...
- 'observation evaluated only', ...
- 'assimilated, post fwd op failed', ...
- 'eval only, post fwd op failed', ...
- 'prior forward operator failed', ...
- 'not used', ...
- 'prior QC rejected', ...
- 'outlier rejected', ...
- 'reserved'};
-
-switch lower(strtrim(QCString))
- case 'dart quality control',
-
- qcvals = unique(qcarray);
- qccount = zeros(size(qcvals));
- for i = 1:length(qcvals)
- qccount(i) = sum(qcarray == qcvals(i));
- s{i} = sprintf('%d - %s %d obs',qcvals(i), dartqc_strings{qcvals(i)+1}, qccount(i));
- end
-
- set(gca,'YTick',qcvals,'YAxisLocation','right')
- set(gca,'YTickLabel',char(s))
-
- otherwise,
- str = sprintf('no way to interpret values of %s',strtrim(QCString));
- text(0.0, 0.0, str)
-end
Deleted: DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m 2010-01-28 23:47:24 UTC (rev 4240)
+++ DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf.m 2010-01-28 23:48:52 UTC (rev 4241)
@@ -1,350 +0,0 @@
-function obsstruct = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, ...
- QCString, maxQC, verbose)
-%% plot_obs_netcdf will plot the locations and values of the observations in a DART netcdf file.
-% any observations with a QC value greater than 'maxgoodQC' will get
-% plotted on a separate figure ... color-coded to its QC value, not the
-% observation value.
-%
-%--------------------------------------------------
-% EXAMPLE 1: plotting just one type of observation
-%--------------------------------------------------
-% fname = 'obs_sequence_001.nc';
-% ObsTypeString = 'RADIOSONDE_U_WIND_COMPONENT';
-% region = [0 360 -90 90 -Inf Inf];
-% CopyString = 'NCEP BUFR observation';
-% QCString = 'DART quality control';
-% maxgoodQC = 2;
-% verbose = 1; % anything > 0 == 'true'
-%
-% bob = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, QCString, maxgoodQC, verbose);
-%
-% view(0,90); % for a traditional '2D' plot
-%
-%--------------------------------------------------
-% EXAMPLE 2: plotting all the observation types
-%--------------------------------------------------
-% fname = 'obs_sequence_001.nc';
-% ObsTypeString = 'ALL';
-% region = [0 360 -90 90 -Inf Inf];
-% CopyString = 'WOD observation';
-% QCString = 'WOD QC';
-% maxgoodQC = 0;
-% verbose = 1; % anything > 0 == 'true'
-%
-% bob = plot_obs_netcdf(fname, ObsTypeString, region, CopyString, QCString, maxgoodQC, verbose);
-
-%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
-% provided by UCAR, "as is", without charge, subject to all terms of use at
-% http://www.image.ucar.edu/DAReS/DART/DART_download
-%
-%
-% $URL$
-% $Id$
-% $Revision$
-% $Date$
-
-if (exist(fname,'file') ~= 2)
- error('%s does not exist.',fname)
-end
-
-%% Read the observation sequence
-
-obsstruct = read_obs_netcdf(fname, ObsTypeString, region, ...
- CopyString, QCString, maxQC, verbose);
-
-%% Create graphic with area-weighted symbols for the good observations.
-% It has happened that there have been zero good observations in a file.
-
-xmin = min(region(1:2));
-xmax = max(region(1:2));
-ymin = min(region(3:4));
-ymax = max(region(3:4));
-zmin = min(obsstruct.z);
-zmax = max(obsstruct.z);
-
-pstruct.colorbarstring = obsstruct.ObsTypeString;
-pstruct.region = region;
-pstruct.str3 = sprintf('%s - %s',obsstruct.timestring(1,:),obsstruct.timestring(2,:));
-
-if ( length(obsstruct.obs) < 1 )
- fprintf('There are no ''good'' observations to plot\n')
-else
-
- figure(gcf+1); clf
-
- % choose a symbol size based on the number of obs to plot.
-
- if (length(obsstruct.obs) < 1000)
- pstruct.scalearray = scaleme(obsstruct.obs, 36);
- else
- pstruct.scalearray = 50.0 * ones(size(obsstruct.obs));
- end
- pstruct.clim = [min(obsstruct.obs) max(obsstruct.obs)];
- pstruct.str2 = sprintf('%s (%d locations)',obsstruct.CopyString,length(obsstruct.obs));
-
- % If all the observations live on the same level ... make a 2D plot.
-
- if ( zmin ~= zmax )
-
- pstruct.axis = [xmin xmax ymin ymax zmin zmax];
- pstruct.str1 = sprintf('%s level (%.2f - %.2f)',obsstruct.ObsTypeString,zmin,zmax);
-
- plot_3D(obsstruct, pstruct)
-
- else
-
- pstruct.axis = [xmin xmax ymin ymax];
- pstruct.str1 = sprintf('%s',obsstruct.ObsTypeString);
-
- plot_2D(obsstruct, pstruct)
-
- end
-end
-
-%% Create graphic of spatial distribution of 'bad' observations & their QC value.
-%
-% 0 observation assimilated
-% 1 observation evaluated only
-% --- everything above this means the prior and posterior are OK
-% 2 assimilated, but the posterior forward operator failed
-% 3 Evaluated only, but the posterior forward operator failed
-% --- everything above this means only the prior is OK
-% 4 prior forward operator failed
-% 5 not used
-% 6 prior QC rejected
-% 7 outlier rejected
-
-dartqc_strings = { ...
- '''observation evaluated only''', ...
- '''assimilated, but the posterior forward operator failed''', ...
- '''evaluated only, but the posterior forward operator failed''',...
- '''prior forward operator failed''',...
- '''not used''',...
- '''prior QC rejected''',...
- '''outlier rejected''',...
- '''reserved for future use'''};
-
-if (obsstruct.numbadqc > 0 ) % if there are bad observation to plot ... carry on.
-
- figure(gcf+1); clf
-
- subplot('position',[0.1 0.20 0.8 0.65])
-
- zmin = min(obsstruct.badobs.z);
- zmax = max(obsstruct.badobs.z);
-
- pstruct.scalearray = 128 * ones(size(obsstruct.badobs.obs));
- pstruct.colorbarstring = QCString;
- pstruct.clim = [min(obsstruct.badobs.qc) max(obsstruct.badobs.qc)];
- pstruct.str1 = sprintf('%s level (%.2f - %.2f)',obsstruct.ObsTypeString,zmin,zmax);
- pstruct.str2 = sprintf('%s (%d bad observations)', ...
- obsstruct.CopyString, ...
- length(obsstruct.badobs.obs));
-
- obsstruct.badobs.obs = obsstruct.badobs.qc; % plot QC values, not obs values
- if ( zmin ~= zmax )
-
- pstruct.axis = [xmin xmax ymin ymax zmin zmax];
-
- plot_3D(obsstruct.badobs, pstruct)
-
- else
-
- pstruct.axis = [xmin xmax ymin ymax];
-
- plot_2D(obsstruct.badobs, pstruct)
-
- end
-
- subplot('position',[0.1 0.05 0.8 0.10])
- axis off
-
- %% If the QC is a DART QC, we know how to interpret them.
-
- switch lower(strtrim(QCString))
- case 'dart quality control',
-
- qcvals = unique(obsstruct.badobs.qc);
- qccount = zeros(size(qcvals));
- for i = 1:length(qcvals)
- qccount(i) = sum(obsstruct.badobs.qc == qcvals(i));
- s{i} = sprintf('%d obs with qc == %d %s',qccount(i),qcvals(i), ...
- dartqc_strings{qcvals(i)});
- end
-
- dy = 1.0/length(s);
- for i = 1:length(s)
- text(0.0, (i-1)*dy ,s{i})
- end
-
- otherwise,
- str = sprintf('no way to interpret values of %s',strtrim(QCString));
- text(0.0, 0.0, str)
- end
-end
-
-
-
-function h = myworldmap
-
-%%--------------------------------------------------------------------------
-% GET THE ELEVATION DATA AND SET UP THE ASSOCIATED COORDINATE DATA
-%---------------------------------------------------------------------------
-
-load topo; % GET Matlab-native [180x360] ELEVATION DATASET
-lats = -89.5:89.5; % CREATE LAT ARRAY FOR TOPO MATRIX
-lons = 0.5:359.5; % CREATE LON ARRAY FOR TOPO MATRIX
-nlon = length(lons);
-nlat = length(lats);
-
-%%--------------------------------------------------------------------------
-% IF WE NEED TO SWAP HEMISPHERES, DO SO NOW.
-% If we didn't explicitly tell it, make a guess.
-%---------------------------------------------------------------------------
-
-ax = axis;
-
-if (ax(1) < -2)
- lons = lons - 180.0;
- topo = [ topo(:,nlon/2+1:nlon) topo(:,1:nlon/2) ];
-end
-
-%%--------------------------------------------------------------------------
-% We need to determine the geographic subset of the elevation matrix.
-%---------------------------------------------------------------------------
-
-lon_ind1 = min(find(ax(1) <= lons));
-lon_ind2 = min(find(ax(2) <= lons));
-lat_ind1 = min(find(ax(3) <= lats));
-lat_ind2 = min(find(ax(4) <= lats));
-
-if (isempty(lon_ind1)), lon_ind1 = 1; end;
-if (isempty(lon_ind2)), lon_ind2 = nlon; end;
-if (isempty(lat_ind1)), lat_ind1 = 1; end;
-if (isempty(lat_ind2)), lat_ind2 = nlat; end;
-
-elev = topo(lat_ind1:lat_ind2,lon_ind1:lon_ind2);
-x = lons(lon_ind1:lon_ind2);
-y = lats(lat_ind1:lat_ind2);
-
-%%--------------------------------------------------------------------------
-% Contour the "subset"
-% There are differences between 6.5 and 7.0 that make changing the colors
-% of the filled contours a real pain.
-%---------------------------------------------------------------------------
-
-orgholdstate = ishold;
-hold on;
-
-switch get(gca,'ZDir')
- case 'reverse'
- zlevel = max(ax(5:6));
- otherwise
- zlevel = min(ax(5:6));
-end
-
-fcolor = [0.7 0.7 0.7]; % light grey
-
-[c,h] = contourf(x,y,elev,[0.0 0.0],'k-');
-
-h_patch = get(h, 'Children');
-
-for i = 1:numel(h_patch)
- y = get(h_patch(i), 'YData');
- s = size(y);
- set(h_patch(i), 'ZData', zlevel*ones(s),'FaceColor',fcolor);
-end
-
-if (orgholdstate == 0), hold off; end;
-
-
-
-
-function s = scaleme(x,minsize)
-% scaleme returns a uniformly scaled array the same size as the input
-% array where the maximum is 10 times the minimum
-maxsize = 10*minsize;
-minx = min(x);
-maxx = max(x);
-slope = (maxsize-minsize)/(maxx-minx);
-b = minsize - slope*minx;
-
-s = x*slope + b;
-
-
-
-function plot_3D(obsstruct, pstruct)
-
-if (pstruct.clim(1) == pstruct.clim(2))
- % If all the observations have the same value, setting the
- % colorbar limits is a real pain. Fundamentally, I am
- % forcing the plot symbols to be the lowest color of the
- % colormap and setting the colorbar to have some more
- % colors 'on top' - that are never used.
- cmap = colormap;
- h = plot3(obsstruct.lons, obsstruct.lats, obsstruct.z, 'bo');
- set(h,'MarkerFaceColor',cmap(1,:),'MarkerEdgeColor',cmap(1,:))
- set(gca,'Clim',[pstruct.clim(1) pstruct.clim(2)+1])
- set(gca,'XGrid','on','YGrid','on','ZGrid','on')
-
-else
- scatter3(obsstruct.lons, obsstruct.lats, obsstruct.z, ...
- pstruct.scalearray, obsstruct.obs, 'd', 'filled');
-end
-
-clim = get(gca,'CLim');
-
-axis(pstruct.axis)
-
-title( {pstruct.str1, pstruct.str3, pstruct.str2}, 'Interpreter','none','FontSize',16);
-xlabel('longitude')
-ylabel('latitude')
-
-if (obsstruct.Ztyp(1) == -2) % VERTISUNDEF = -2
- zlabel('unspecified')
-elseif (obsstruct.Ztyp(1) == -1) % VERTISSURFACE = -1
- zlabel('surface')
-elseif (obsstruct.Ztyp(1) == 1) % VERTISLEVEL = 1
- zlabel('level')
-elseif (obsstruct.Ztyp(1) == 2) % VERTISPRESSURE = 2
- set(gca,'ZDir','reverse')
- zlabel('pressure')
-elseif (obsstruct.Ztyp(1) == 3) % VERTISHEIGHT = 3
- zlabel('height')
-end
-
-myworldmap;
-set(gca,'CLim',clim)
-h = colorbar;
-set(get(h,'YLabel'),'String',pstruct.colorbarstring,'Interpreter','none')
-
-
-
-
-function plot_2D(obsstruct, pstruct)
-
-axis(pstruct.axis); hold on; worldmap('light');
-
-if (pstruct.clim(1) == pstruct.clim(2))
- cmap = colormap;
- h = plot(obsstruct.lons, obsstruct.lats, 'bo');
- set(h,'MarkerFaceColor',cmap(1,:),'MarkerEdgeColor',cmap(1,:))
- set(gca,'Clim',[pstruct.clim(1) pstruct.clim(2)+1])
- set(gca,'XGrid','on','YGrid','on')
-
-else
-
- scatter(obsstruct.lons, obsstruct.lats, ...
- pstruct.scalearray, obsstruct.obs, 'd', 'filled');
-end
-
-clim = get(gca,'CLim');
-
-title( {pstruct.str1, pstruct.str3, pstruct.str2}, 'Interpreter','none','FontSize',16);
-xlabel('longitude')
-ylabel('latitude')
-
-set(gca,'CLim',clim)
-h = colorbar;
-set(get(h,'YLabel'),'String',pstruct.colorbarstring,'Interpreter','none')
-hold off
Deleted: DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m 2010-01-28 23:47:24 UTC (rev 4240)
+++ DART/trunk/observations/utilities/threed_sphere/plot_obs_netcdf_diffs.m 2010-01-28 23:48:52 UTC (rev 4241)
@@ -1,345 +0,0 @@
-function obsstruct = plot_obs_netcdf_diffs(fname, ObsTypeString, region, ...
- CopyString1, CopyString2, QCString, maxQC, verbose)
-%
-% fname = 'obs_sequence_001.nc';
-% ObsTypeString = 'RADIOSONDE_U_WIND_COMPONENT';
-% region = [0 360 -90 90 -Inf Inf];
-% CopyString1 = 'NCEP BUFR observation';
-% CopyString2 = 'prior ensemble mean';
-% QCString = 'DART quality control';
-% maxQC = 1;
-% verbose = 1; % anything > 0 == 'true'
-%
-% bob = plot_obs_netcdf_diffs(fname, ObsTypeString, region, CopyString1, CopyString2, ...
-% QCString, maxQC, verbose);
-
-% record the user input
-
-%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
-% provided by UCAR, "as is", without charge, subject to all terms of use at
-% http://www.image.ucar.edu/DAReS/DART/DART_download
-%
-%
-% $URL$
-% $Id$
-% $Revision$
-% $Date$
-
-obsstruct.fname = fname;
-obsstruct.ObsTypeString = ObsTypeString;
-obsstruct.region = region;
-obsstruct.CopyString1 = CopyString1;
-obsstruct.CopyString2 = CopyString2;
-obsstruct.QCString = QCString;
-obsstruct.maxQC = maxQC;
-obsstruct.verbose = verbose;
-
-% get going
-
-ObsTypes = nc_varget(fname,'ObsTypes');
-ObsTypeStrings = nc_varget(fname,'ObsTypesMetaData');
-CopyStrings = nc_varget(fname,'CopyMetaData');
-QCStrings = nc_varget(fname,'QCMetaData');
-
-t = nc_varget(fname,'time');
-obs_type = nc_varget(fname,'obs_type');
-z_type = nc_varget(fname,'which_vert');
-
-loc = nc_varget(fname,'location');
-obs = nc_varget(fname,'observations');
-qc = nc_varget(fname,'qc');
-
-my_types = unique(obs_type); % only ones in the file, actually.
-timeunits = nc_attget(fname,'time','units');
-timerange = nc_attget(fname,'time','valid_range');
-calendar = nc_attget(fname,'time','calendar');
-timebase = sscanf(timeunits,'%*s%*s%d%*c%d%*c%d'); % YYYY MM DD
-timeorigin = datenum(timebase(1),timebase(2),timebase(3));
-timestring = datestr(timerange + timeorigin);
-
-% Echo summary if requested
-
-if ( verbose > 0 )
- for i = 1:length(my_types)
- obtype = my_types(i);
- inds = find(obs_type == obtype);
- myz = loc(inds,3);
-
- disp(sprintf('N = %6d %s obs (type %3d) between levels %.2f and %.2f', ...
- length(inds), ObsTypeStrings(obtype,:), obtype, ...
- unique(min(myz)), unique(max(myz))))
- end
-
-% uniquelevels = unique(loc(:,3));
-
-% for i = 1:length(uniquelevels)
-% mylevel = uniquelevels(i);
-% inds = find(loc(:,3) == mylevel);
-% disp(sprintf('level %2d %f has %d observations',i,mylevel,length(inds)))
-% end
-
-end
-
-% Find observations of the correct types.
-
-myind = strmatch(ObsTypeString,ObsTypeStrings);
-
-if ( isempty(myind) )
- error('no %s observations ... stopping',obsstruct.ObsTypeString)
-end
-
-mytype1 = get_copy_index(fname, CopyString1);
-mytype2 = get_copy_index(fname, CopyString2);
-inds = find(obs_type == myind);
-mylocs = loc(inds,:);
-myobs1 = obs(inds,mytype1);
-myobs2 = obs(inds,mytype2);
-myobs = myobs2 - myobs1;
-
-if ~ isempty(QCString)
- myQCind = get_qc_index(fname, QCString);
- myqc = qc(inds,myQCind);
-else
- myqc = [];
-end
-
-clear myobs1 myobs2 obs loc qc
-
-% geographic subset if needed
-
-inds = locations_in_region(mylocs,region);
-
-obsstruct.lons = mylocs(inds,1);
-obsstruct.lats = mylocs(inds,2);
-obsstruct.z = mylocs(inds,3);
-obsstruct.obs = myobs(inds);
-obsstruct.Ztyp = z_type(inds);
-obsstruct.numbadqc = 0;
-
-if (isempty(myqc))
- obsstruct.qc = [];
-else
- obsstruct.qc = myqc(inds);
-end
-
-% subset based on qc value
-
-if ( (~ isempty(myqc)) & (~ isempty(maxQC)) )
-
- inds = find(obsstruct.qc > maxQC);
-
- obsstruct.numbadqc = length(inds);
-
- if (~isempty(inds))
- badobs.lons = obsstruct.lons(inds);
- badobs.lats = obsstruct.lats(inds);
- badobs.Ztyp = obsstruct.Ztyp(inds);
- badobs.z = obsstruct.z( inds);
- badobs.obs = obsstruct.obs(inds);
- badobs.qc = obsstruct.qc(inds);
- end
-
- disp(sprintf('Removing %d obs with a %s value greater than %f', ...
- length(inds),QCString,maxQC))
-
- inds = find(obsstruct.qc <= maxQC);
-
- bob = obsstruct.lons(inds); obsstruct.lons = bob;
- bob = obsstruct.lats(inds); obsstruct.lats = bob;
- bob = obsstruct.Ztyp(inds); obsstruct.Ztyp = bob;
- bob = obsstruct.z( inds); obsstruct.z = bob;
- bob = obsstruct.obs( inds); obsstruct.obs = bob;
- bob = obsstruct.qc( inds); obsstruct.qc = bob;
-
-end
-
-%-------------------------------------------------------------------------------
-% Create graphic with area-weighted symbols for the good observations.
-%-------------------------------------------------------------------------------
-
-figure(1); clf
-
-xmin = min(region(1:2));
-xmax = max(region(1:2));
-ymin = min(region(3:4));
-ymax = max(region(3:4));
-zmin = min(obsstruct.z);
-zmax = max(obsstruct.z);
-
-scalearray = scaleme(obsstruct.obs,36);
-scalearray = 128 * ones(size(obsstruct.obs));
-
-scatter3(obsstruct.lons, obsstruct.lats, obsstruct.z, ...
- scalearray, obsstruct.obs,'d','filled');
-
-axis([xmin xmax ymin ymax zmin zmax])
-
-str1 = sprintf('%s level (%.2f - %.2f)',ObsTypeString,zmin,zmax);
-str2 = sprintf('%s - %s (%d locations)',CopyString2,CopyString1,length(obsstruct.obs));
-str3 = sprintf('%s - %s',timestring(1,:),timestring(2,:));
-
-title( {str1, str3, str2}, 'Interpreter','none','FontSize',16);
-xlabel('longitude')
-ylabel('latitude')
-
-if (obsstruct.Ztyp(1) == -2) % VERTISUNDEF = -2
- zlabel('curious ... undefined')
-elseif (obsstruct.Ztyp(1) == -1) % VERTISSURFACE = -1
- zlabel('surface')
-elseif (obsstruct.Ztyp(1) == 1) % VERTISLEVEL = 1
- zlabel('level')
-elseif (obsstruct.Ztyp(1) == 2) % VERTISPRESSURE = 2
- set(gca,'ZDir','reverse')
- zlabel('pressure')
-elseif (obsstruct.Ztyp(1) == 3) % VERTISHEIGHT = 3
- zlabel('height')
-end
-
-myworldmap;
-set(gca,'CLim',[min(obsstruct.obs) max(obsstruct.obs)])
-h = colorbar;
-set(get(h,'YLabel'),'String',ObsTypeString,'Interpreter','none')
-
-%-------------------------------------------------------------------------------
-% Create graphic of spatial distribution of 'bad' observations & their QC value.
-%-------------------------------------------------------------------------------
-
-if (obsstruct.numbadqc > 0 )
-
- figure(2); clf
-
- subplot('position',[0.1 0.20 0.8 0.65])
- scalearray = 128 * ones(size(badobs.obs));
-
- zmin = min(badobs.z);
- zmax = max(badobs.z);
-
- scatter3(badobs.lons, badobs.lats, badobs.z, scalearray, badobs.qc,'filled')
-
- title( {str1, str3, 'Bad Observations'}, 'Interpreter','none','FontSize',16);
- xlabel('longitude')
- ylabel('latitude')
-
- if (badobs.Ztyp(1) == -2) % VERTISUNDEF = -2
- zlabel('curious ... undefined')
- elseif (badobs.Ztyp(1) == -1) % VERTISSURFACE = -1
- zlabel('surface')
- elseif (badobs.Ztyp(1) == 1) % VERTISLEVEL = 1
- zlabel('level')
- elseif (badobs.Ztyp(1) == 2) % VERTISPRESSURE = 2
- set(gca,'ZDir','reverse')
- zlabel('pressure')
- elseif (badobs.Ztyp(1) == 3) % VERTISHEIGHT = 3
- zlabel('height')
- end
-
- axis([region(1) region(2) ymin ymax zmin zmax])
-
- myworldmap;
- set(gca,'CLim',[min(badobs.qc) max(badobs.qc)])
- h = colorbar;
- set(get(h,'YLabel'),'String',QCString,'Interpreter','none')
-
- subplot('position',[0.1 0.05 0.8 0.10])
- axis off
-
- qcvals = unique(badobs.qc);
- qccount = zeros(size(qcvals));
- for i = 1:length(qcvals)
- qccount(i) = sum(badobs.qc == qcvals(i));
- s{i} = sprintf('%d obs with qc == %d',qccount(i),qcvals(i));
- end
-
- dy = 1.0/length(s);
- for i = 1:length(s)
- text(0.0, (i-1)*dy ,s{i})
- end
-
-end
-
-function h = myworldmap
-
-%---------------------------------------------------------------------------
-% GET THE ELEVATION DATA AND SET UP THE ASSOCIATED COORDINATE DATA
-%---------------------------------------------------------------------------
-
-load topo; % GET Matlab-native [180x360] ELEVATION DATASET
-lats = [-89.5:89.5]; % CREATE LAT ARRAY FOR TOPO MATRIX
-lons = [0.5:359.5]; % CREATE LON ARRAY FOR TOPO MATRIX
-nlon = length(lons);
-nlat = length(lats);
-
-%---------------------------------------------------------------------------
-% IF WE NEED TO SWAP HEMISPHERES, DO SO NOW.
-% If we didn't explicitly tell it, make a guess.
-%---------------------------------------------------------------------------
-
-ax = axis;
-
-if (ax(1) < -2)
- lons = lons - 180.0;
- topo = [ topo(:,nlon/2+1:nlon) topo(:,1:nlon/2) ];
-end
-
-%---------------------------------------------------------------------------
-% We need to determine the geographic subset of the elevation matrix.
-%---------------------------------------------------------------------------
-
-lon_ind1 = min(find(ax(1) <= lons));
-lon_ind2 = min(find(ax(2) <= lons));
-lat_ind1 = min(find(ax(3) <= lats));
-lat_ind2 = min(find(ax(4) <= lats));
-
-if (isempty(lon_ind1)) lon_ind1 = 1; end;
-if (isempty(lon_ind2)) lon_ind2 = nlon; end;
-if (isempty(lat_ind1)) lat_ind1 = 1; end;
-if (isempty(lat_ind2)) lat_ind2 = nlat; end;
-
-elev = topo(lat_ind1:lat_ind2,lon_ind1:lon_ind2);
-x = lons(lon_ind1:lon_ind2);
-y = lats(lat_ind1:lat_ind2);
-
-%---------------------------------------------------------------------------
-% Contour the "subset"
-% There are differences between 6.5 and 7.0 that make changing the colors
-% of the filled contours a real pain. Providing both solutions.
-%---------------------------------------------------------------------------
-
-orgholdstate = ishold;
-hold on;
-
-switch get(gca,'ZDir')
- case 'reverse'
- zlevel = max(ax(5:6));
- otherwise
- zlevel = min(ax(5:6));
-end
-
-fcolor = [0.7 0.7 0.7]; % light grey
-
-[c,h] = contourf(x,y,elev,[0.0 0.0],'k-');
-
-new_level = 1000;
-
-h_patch = get(h, 'Children');
-
-for i = 1:numel(h_patch)
- y = get(h_patch(i), 'YData');
- s = size(y);
- set(h_patch(i), 'ZData', zlevel*ones(s),'FaceColor',fcolor);
-end
-
-if (orgholdstate == 0) hold off; end;
-
-
-function s = scaleme(x,minsize)
-% scaleme returns a uniformly scaled array the same size as the input
-% array where the maximum is 10 times the minimum
-maxsize = 10*minsize;
-minx = min(x);
-maxx = max(x);
-slope = (maxsize-minsize)/(maxx-minx);
-b = minsize - slope*minx;
-
-s = x*slope + b;
-
Deleted: DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m 2010-01-28 23:47:24 UTC (rev 4240)
+++ DART/trunk/observations/utilities/threed_sphere/read_obs_netcdf.m 2010-01-28 23:48:52 UTC (rev 4241)
@@ -1,187 +0,0 @@
-function obsstruct = read_obs_netcdf(fname, ObsTypeString, region, CopyString, ...
- QCString, maxQC, verbose)
-%% read_obs_netcdf reads in the netcdf flavor observation sequence file
-% and returns a subsetted structure.
-%
-% fname = 'obs_sequence_001.nc';
-% ObsTypeString = 'RADIOSONDE_U_WIND_COMPONENT'; % or 'ALL' ...
-% region = [0 360 -90 90 -Inf Inf];
-% CopyString = 'NCEP BUFR observation';
-% QCString = 'DART quality control';
-% maxQC = 2;
-% verbose = 1; % anything > 0 == 'true'
-%
-% obs = read_obs_netcdf(fname, ObsTypeString, region, CopyString, QCString, maxQC, verbose);
-%
-% The return variable 'obs' is a structure. As an example ...
-%
-% fname: 'obs_sequence_001.nc'
-% ObsTypeString: 'RADIOSONDE_U_WIND_COMPONENT'
-% region: [0 360 -90 90 -Inf Inf]
-% CopyString: 'NCEP BUFR observation'
-% QCString: 'DART quality control'
-% maxQC: 2
-% verbose: 1
-% timestring: [2x20 char]
-% lons: [2343x1 double]
-% lats: [2343x1 double]
-% z: [2343x1 double]
-% obs: [2343x1 double]
-% Ztyp: [2343x1 double]
-% numbadqc: 993
-% qc: [2343x1 double]
-% badobs: [1x1 struct]
-
-%% DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
-% provided by UCAR, "as is", without charge, subject to all terms of use at
-% http://www.image.ucar.edu/DAReS/DART/DART_download
-%
-%
-% $URL$
-% $Id$
-% $Revision$
-% $Date$
-
-if (exist(fname,'file') ~= 2)
- error('%s does not exist.',fname)
-end
-
-%% record the user input
-
-obsstruct.fname = fname;
-obsstruct.ObsTypeString = ObsTypeString;
-obsstruct.region = region;
-obsstruct.CopyString = CopyString;
-obsstruct.QCString = QCString;
-obsstruct.maxQC = maxQC;
-obsstruct.verbose = verbose;
-
-%% get going
-
-ObsTypes = nc_varget(fname,'ObsTypes');
-ObsTypeStrings = nc_varget(fname,'ObsTypesMetaData');
-CopyStrings = nc_varget(fname,'CopyMetaData');
-QCStrings = nc_varget(fname,'QCMetaData');
-
-t = nc_varget(fname,'time');
-obs_type = nc_varget(fname,'obs_type');
-z_type = nc_varget(fname,'which_vert');
-
-loc = nc_varget(fname,'location');
-obs = nc_varget(fname,'observations');
-qc = nc_varget(fname,'qc');
-
-my_types = unique(obs_type); % only ones in the file, actually.
-timeunits = nc_attget(fname,'time','units');
-timerange = nc_attget(fname,'time','valid_range');
-calendar = nc_attget(fname,'time','calendar');
-timebase = sscanf(timeunits,'%*s%*s%d%*c%d%*c%d'); % YYYY MM DD
-timeorigin = datenum(timebase(1),timebase(2),timebase(3));
-timestring = datestr(timerange + timeorigin);
-
-obsstruct.timestring = timestring;
-
-%% Echo summary if requested
-
-if ( verbose > 0 )
- for i = 1:length(my_types)
- obtype = my_types(i);
- inds = find(obs_type == obtype);
- myz = loc(inds,3);
-
- fprintf('N = %6d %s obs (type %3d) between levels %.2f and %.2f\n', ...
- length(inds), ObsTypeStrings(obtype,:), obtype, ...
- unique(min(myz)), unique(max(myz)))
- end
-
-% uniquelevels = unique(loc(:,3));
-
-% for i = 1:length(uniquelevels)
-% mylevel = uniquelevels(i);
-% inds = find(loc(:,3) == mylevel);
-% disp(sprintf('level %2d %f has %d observations',i,mylevel,length(inds)))
-% end
-
-end
-
-%% Find observations of the correct type.
-% If 'ALL' is requested ... do not subset.
-
-mytypeind = get_copy_index(fname, CopyString);
-
-switch lower(ObsTypeString)
- case 'all'
- inds = 1:size(obs,1);
-
- otherwise % subset the desired observation type
- myind = strmatch(ObsTypeString, ObsTypeStrings);
- if ( isempty(myind) )
- error('no %s observations ... stopping',obsstruct.ObsTypeString)
- end
- inds = find(obs_type == myind);
-end
-
-mylocs = loc(inds,:);
-myobs = obs(inds,mytypeind);
-
-%% Find desired QC values of those observations
-
-if ~ isempty(QCString)
- myQCind = get_qc_index(fname, QCString);
- myqc = qc(inds,myQCind);
-else
- myqc = [];
-end
-
-%% geographic subset if needed
-
-inds = locations_in_region(mylocs,region);
-
-obsstruct.lons = mylocs(inds,1);
-obsstruct.lats = mylocs(inds,2);
-obsstruct.z = mylocs(inds,3);
-obsstruct.obs = myobs(inds);
-obsstruct.Ztyp = z_type(inds);
-obsstruct.qc = [];
-obsstruct.numbadqc = 0;
-
-if ~ isempty(myqc)
- obsstruct.qc = myqc(inds);
-end
-
-%% subset based on qc value
-%
-
-if ( (~ isempty(myqc)) && (~ isempty(maxQC)) )
-
- inds = find(obsstruct.qc > maxQC);
-
- obsstruct.numbadqc = length(inds);
-
- if (~isempty(inds))
- badobs.lons = obsstruct.lons(inds);
- badobs.lats = obsstruct.lats(inds);
- badobs.Ztyp = obsstruct.Ztyp(inds);
- badobs.z = obsstruct.z( inds);
- badobs.obs = obsstruct.obs(inds);
- badobs.qc = obsstruct.qc(inds);
- end
-
- fprintf('Removing %d obs with a %s value greater than %f\n', ...
- length(inds),QCString,maxQC)
-
- inds = find(obsstruct.qc <= maxQC);
-
- bob = obsstruct.lons(inds); obsstruct.lons = bob;
- bob = obsstruct.lats(inds); obsstruct.lats = bob;
- bob = obsstruct.Ztyp(inds); obsstruct.Ztyp = bob;
- bob = obsstruct.z( inds); obsstruct.z = bob;
- bob = obsstruct.obs( inds); obsstruct.obs = bob;
- bob = obsstruct.qc( inds); obsstruct.qc = bob;
-
-end
-
-if ( exist('badobs','var') )
- obsstruct.badobs = badobs;
-end
-
From nancy at ucar.edu Thu Jan 28 16:52:39 2010
From: nancy at ucar.edu (nancy at ucar.edu)
Date: Thu, 28 Jan 2010 16:52:39 -0700
Subject: [Dart-dev] [4242]
DART/trunk/diagnostics/threed_sphere/obs_seq_to_netcdf.html: Changed doc to
reflect the fact I moved some matlab scripts into
Message-ID:
Revision: 4242
Author: thoar
Date: 2010-01-28 16:52:39 -0700 (Thu, 28 Jan 2010)
Log Message:
-----------
Changed doc to reflect the fact I moved some matlab scripts into
DART/diagnostics/matlab (from observations/utilities/threed_sphere)
Modified Paths:
--------------
DART/trunk/diagnostics/threed_sphere/obs_seq_to_netcdf.html
-------------- next part --------------
Modified: DART/trunk/diagnostics/threed_sphere/obs_seq_to_netcdf.html
===================================================================
--- DART/trunk/diagnostics/threed_sphere/obs_seq_to_netcdf.html 2010-01-28 23:48:52 UTC (rev 4241)
+++ DART/trunk/diagnostics/threed_sphere/obs_seq_to_netcdf.html 2010-01-28 23:52:39 UTC (rev 4242)
@@ -31,7 +31,7 @@
This routine will allow you to plot the spatial distribution
of the observations and be able to discern which observations were
assimilated or rejected, for example. Here are some graphics from
- DART/observations/utilities/threed_sphere/DART/diagnostics/matlab/plot_obs_netcdf.m.
@@ -383,15 +383,15 @@
from the obs_seq_to_netcdf.
Related Matlab functions
-
observations/utilities/read_obs_netcdf.m
+
diagnostics/matlab/read_obs_netcdf.m
reads the netcdf files and returns an structure with easy-to-plot
components. More on that in the 'Usage' section below.
-
observations/utilities/plot_obs_netcdf.m may
+
diagnostics/matlab/plot_obs_netcdf.m may
be used to explore the spatial distribution of observations and
their values. More on that in the 'Usage' section below.
-
observations/utilities/plot_obs_netcdf_diffs.m will
+
diagnostics/matlab/plot_obs_netcdf_diffs.m will
take the difference between any two observation copies and plot the
spatial distribution and value of the difference. Useful for exploring
the bias between 'observation' and 'prior ensemble mean', for example.