test_dart.csh
|
This testing script in the main DART directory has been updated
to test the new inflation options with the new scripts. An
attempt has been made to preserve the input environment such
that if you wanted to run it twice in a row, you could. It now
stores all the run-time output of the lorenz_96 tests in the
lorenz_96/work/xxxx directory, where xxx is now an argument
to test_dart.csh . Simply typing the file name will now echo
usage notes. |
adaptive_inflate.f90
|
This new module now handles all the computations for the
adaptive inflation computations. It has the code that was
previously in assim_tools to do the Bayesian update of
observation space inflation. It also provides the additional
algorithms required to do state space inflation. Documentation
is provided in the module and in several papers on the DART
home page. |
assim_tools_mod.f90
|
Uses adaptive_inflation module. Namelist modified (see
below). Storage for observation space inflation for regions no
longer needed. No longer an assim_restart file; all restart
info is now stored in adaptive_inflate . Routine
update_inflation replaces bayes_cov_inflate which has
been moved to adaptive_inflate_mod . Correlation is now
passed out of update_from_obs_inc for use with adaptive
inflation updates. Ability to do sampling_error_correction from
a file using correl_error.f90 in system_simulation .
This is turned on by namelist parameter
sampling_error_correction and requires appropriate error
correction files for a given ensemble size (this is still in
preliminary testing phase). The inflation values are now passed
into filter_assim_region . The mean and variance of the
observation space priors are computed up front in
filter_assim_region for use with adaptive inflation
algorithm. Observational density thinning controlled by
namelist parameter num_close_threshold implemented. If
number of observations close to a given observation is larger
than the cutoff, the localization cutoff is adjusted to try to
make the number close the same as the cutoff. This is a
fundamentally two-d algorithm in this naive implementation.
Update computations for spatial inflation are included in
filter_assim_region . Routine filter_assim also gets the
inflation values as arguments. Copying of these inflation
values for the shell driven files is added. Previously
commented print_regional_results is deleted (produced
errors with absoft compilers). Routine comp_correl added to
compute correlations. Routine get_correction_from_file
added to support sampling_error_correction . No longer need
routine assim_tools_end since there is no longer a restart
requirement. An error in the correlation computation for
assimilation was removed. If all prior values of an observation
were identical, a NaN could result from the old correlation
computation. The assim_tools_nml was modified as follows:
Removed
cov_inflate, cov_inflate_sd, sd_lower_bound, determinis
tic_cov_inflate, start_from_assim_restart, assim_restart_in_fil
e_name, assim_restart_out_file_name, cov_inflate_upper_bound .
Added sampling_error_correction and
num_close_threshold . |
assim_tools_smoother.f90
|
The smoother is still using the previous version of inflation
and the corresponding assim_tools module which has been
renamed as assim_tools_smoother . Additional routines have
been added to support the updates required to do smoothing (see
documentation in smoother directory). |
diagnostics |
Observation space diagnostics obs_diag were modified to
support observations on model levels. This is particularly
useful for “perfect model” experiments. Direct observations of
model variables (identity observations) are not supported, as
this is an exploration of state-space, not observation-space.
However, since the advent of merge_obs_sequence (see below)
an observation sequence file may contain synthetic and real
observations. Any identity observations are skipped. All other
observations may be considered. |
ensemble_manager_mod.f90
|
Modified to be able to handle multiple ensembles at one time to
support the smoother which has an ensemble for each lag-time in
the smoothing. |
filter.f90
|
The adaptive_inflate module is now used and the namelist
entry cov_inflate has been removed from filter_nml .
Inflation is now done with filter_ensemble_inflate only if
constant or varying spatial inflation is selected in the
adaptive_inflate namelist. Information about state space
inflation is passed to filter_assim as arguments. The call
to assim_tools_end has been replace by
adaptive_inflate_end which creates restarts for adaptive
inflation. For spatially varying state inflation, two extra
fields are tacked onto the state space diagnostic netcdf files
to record the inflation mean and standard deviation. At
present, inflation is done for the whole state at once; this
may be very inefficient and should be examined. The entry
cov_inflate was removed from the namelist. |
merge_obs_seq.f90
|
This is a fundamentally new program to DART. This routine can
combine any two observation sequence files that are compatible.
The files are deemed compatible if the ‘copies’ of the
observations and the QC fields are identical between the two
sequences. If one observation sequence file has only an
ensemble mean and spread, the other observation sequence file
can have only an ensemble mean and spread – it cannot
additionally have the N ensemble member estimates of the
observation. Most of the time, this routine is envisioned to be
used to combine obs_seq.out files (as opposed to
obs_seq.final files). If the two sequences temporally
overlap, it is faster to put the shorter sequence as
filenam_seq2 , the insertion sort can get tedious. A new
namelist merge_obs_seq_nml has been added. |
mkmf |
New templates provided to support corral and lightning at NCAR. |
models |
All models work with merge_obs_seq and adaptive inflation
options. |
PBL_1d |
The PBL_1d model has undergone extensive revisions as per the
author’s instructions. The DART portion of the code (i.e. those
modules not directly imported from WRF) now compile cleanly
with a variety of compilers. Note that because of the WRF
convention of naming modules with a .F extension (instead
of .F90 or .f90 ) several compilers try to interpret
this code as fixed-format code when it is, in fact,
free-format. This necessitates setting the compiler flags to
force the free-format interpretation. See your compiler for
details. |
models/cam-fv |
is a new model … the finite-volume core version of CAM. |
models/cam |
Now able to handle observations with height as a vertical
coordinate. Can return interpolated values of pressure for use
with GPS observation forward operators. |
cam/shell_scripts/job.simple.csh |
is a new script that demonstrates the simplest possible (I
think) way to assimilate ONE observation sequence file with
CAM. It requires CAM restart files and the like, so it WILL
need to be modified to work for you. Hopefully, you can just
change a couple of the directories referenced in the script and
be off … This is likely to be the underpinnings of the next
generation script that will flood the queue with conditionally
executed batch jobs. If the observation sequence file for 06Z
completes normally, the batch job for 12Z will start … that
sort of thing. |
doc/html/cgd_cam.shtml |
New, more general information about using CAM and DART is
available in
cgd_cam
.shtml. |
models/wrf |
A new namelist variable, assimilation_period_seconds ,
allows the specification of the desired assimilation period,
which was previously hardwired in the code. The
assimilation_period_seconds is guaranteed to be an integer
multiple of the underlying wrf model timestep. Added support
for gps observations and observations of vortex position. |
ncep_obs |
Made changes to improve translation from prep_bufr . Data
from up to 3:00 UTC of the next day is included in the file
with the current days’ date. |
obs_def_gps_mod.f90
|
Modified to allow merging of two gps observation sequences. |
obs_def_radar_mod.f90
|
Added ability to merge multiple observation sequences. |
obs_def_vortex_mod.f90
|
Provides observation types for position of vortex center. |
obs_model_mod.f90
|
Modified to be compatible with smoother use of multiple
ensemble handles. |
obs_sequence_mod.f90
|
Added initialization for observation sequence in
init_obs_sequence ; prevents possible access to
uninitialized pointer. |
preprocess.f90
|
Changed defaults for input and output files to standard values
rather than null. |
DART/shell_scripts (the machine-specific ones) |
filter_server.csh, assim_filter.csh , and
advance_ens.csh have been modified to use ‘standard’
language and can be used with multiple queuing systems as well
as interactively. Extensive commenting has been added to help
explain the semaphore files. All the other scripts in this
directory should be considered ‘deprecated’.
|
model/xxx/shell_scripts (the model-specific ones) |
advance_model.csh , and assim_region.csh have been
modified to use ‘standard’ language and can be used with
multiple queuing systems as well as interactively. Extensive
commenting has been added to help explain the semaphore files.
All the other scripts in this directory should be considered
‘deprecated’.
|
smoother |
A main program (smoother.f90 ) to do fixed-lag ensemble
smoothing has been added and is documented in the smoother
directory. This program still uses the previous version of the
inflation and assim_tools , which are available as
assim_tools/assim_tools_smoother_mod.f90 . |
time_manager_mod.f90
|
Corrected problems with module initialization and modified
print format to strictly comply such that it now compiles with
gfortran. |
tutorial |
Modified section 12 to give accurate discussion of new
implementation of observation space inflation and a brief
overview of the state space inflation options. |