Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bgrid_solo scripting and documentation update #689

Merged
merged 10 commits into from
Jul 11, 2024
30 changes: 26 additions & 4 deletions models/bgrid_solo/readme.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,32 @@ model time step to maintain stability for larger model grids. The model state
variables are the gridded surface pressure, temperature, and u and v wind
components.

The ``bgrid_solo`` directory has a ``work/workshop_setup.csh`` script that compiles
and runs an example. This example is intended to demonstrate that the same
process used for a low-order model may be used for a much more
complex model and generates output for state-space or observation-space diagnostics.
The ``bgrid_solo`` directory has a ``work/workshop_setup.sh`` script that compiles
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved
and runs an example, producing a bgrid_solo netcdf file and perturbing it to get an
ensemble. This example is intended to demonstrate that the same process used for a
low-order model may be used for a much more complex model and generates output for
state-space or observation-space diagnostics.

Alternatively, the steps in the ``work/workshop_setup.sh`` script can be executed
indivudally on the command line. These steps are as follows:

1. | ``./quickbuild.sh`` (or ``quickbuild.sh nompi`` if you are not building with mpi)
| This will create perfect_input.nc from the already available file
``models/bgrid_solo/work/perfect_input.cdl``
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved

2. | ``./perfect_model_obs``
| Creates a synthetic observation sequence from a hindcast model

3. | ``cp perfect_output.nc filter_input.nc``
| Copies the output from perfect_model_obs program to the input file for filter

4. | In ``work/input.nml``, set ``perturb_from_single_instance = .true.`` in the
&filter_nml
| This setting allows filter to generate an ensemble of perturbed ensemble member
restart files
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved

5. | ``./filter``
| Runs the assimilation program
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved

Some examples of ways in which this model can be configured and modified to test
DART assimilation capabilities are documented in Anderson et al. (2005). [3]_
Expand Down
1 change: 0 additions & 1 deletion models/bgrid_solo/work/filter_input.cdl.REMOVED.git-id

This file was deleted.

8 changes: 7 additions & 1 deletion models/bgrid_solo/work/workshop_setup.sh
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,18 @@
#----------------------------------------------------------------------

# Build the DART programs
echo 'runing quickbuild.sh'
echo 'running quickbuild.sh'
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved
./quickbuild.sh nompi
mjs2369 marked this conversation as resolved.
Show resolved Hide resolved

echo 'running perfect_model_obs'
./perfect_model_obs || exit 41

echo 'copying the output from perfect_model_obs to the input file for filter'
cp perfect_output.nc filter_input.nc

echo 'changing the &filter_nml setting perturb_from_single_instance to .true. in ./input.nml'
sed -i -e 's/perturb_from_single_instance = .false.,/perturb_from_single_instance = .true.,/g' ./input.nml

echo 'running filter'
./filter || exit 51

Expand Down