-
Notifications
You must be signed in to change notification settings - Fork 139
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Turn off two namelist parameters as MPAS V8+ no longer have reconstru…
…cture winds in lbc files. These options may need to be removed eventually.
- Loading branch information
Showing
19 changed files
with
311 additions
and
133 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,85 @@ | ||
# How to create an initial mpas ensemble | ||
# MPAS/DART Cycling | ||
==================== | ||
|
||
1) If you have access to an ensemble of grib files, then in the | ||
models/mpas_atm/shell_scripts directory are: | ||
This README describes a workflow at each analysis cycle with the input and output | ||
files specified for two ensemble members. | ||
|
||
driver_initial_ens.csh | ||
init_mpas_grib.csh | ||
For high-level data assimilation workflows in DART or the output files from filter | ||
(e.g., files listed in `stages_to_write` in &filter_nml), see | ||
https://docs.dart.ucar.edu/en/stable/guide/high-level-da-workflows.html. | ||
|
||
which will convert an ensemble of grib files to an ensemble | ||
of mpas files. | ||
Two more READMEs are provided in this directory: | ||
README.regional_mpas for regional MPAS modeling, | ||
README.init_ensemble for creating initial ensemble before cycling. | ||
|
||
2) If you do not have an ensemble of grib files but do have a single | ||
mpas file (either an initial or a restart file in netcdf), you can | ||
create an ensemble with features built into the filter program itself. | ||
|
||
Set these parameters in input.nml. | ||
---------- | ||
Workflow | ||
---------- | ||
|
||
&filter_nml | ||
perturb_from_single_instance = .true. | ||
"filter_in.txt" : member1/restart.nc | ||
| member2/restart.nc | ||
| | ||
| as input_state_file_list in &filter_nml | ||
V | ||
<filter> - produces the EnKF analyses | ||
| | ||
| as output_state_file_list in &filter_nml | ||
V | ||
"filter_out.txt" : member1/analysis.nc | ||
| member2/analysis.nc | ||
| | ||
| as input_file_list in &update_mpas_states_nml | ||
V | ||
<update_mpas_states> - updates analysis vector in MPAS restart files for all members | ||
| | ||
| as output_file_list in &update_mpas_states_nml | ||
V | ||
"filter_in.txt" : member1/restart.nc | ||
| member2/restart.nc | ||
| same as input_state_file_list in &filter_nml | ||
| (Warning: restart.nc are overwritten for analysis fields.) | ||
V | ||
advance_model.csh ensemble_member_number | ||
(to run the MPAS model for each member with the member#/restart.nc until the next analysis time; | ||
the resulting member#/restart.nc will be used as input to filter at the next analysis cycle) | ||
|
||
&model_nml | ||
model_perturbation_amplitude = 0.0001 # set a small but non-zero value | ||
|
||
And make sure these parameters in &filter_nml: | ||
# Regional MPAS/DART | ||
--------------------- | ||
For regional cycling, <update_bc> should be conducted right after <update_mpas_states> | ||
but before running advance_model.csh, with the namelist as below. | ||
|
||
input_state_file_list = 'filter_in.txt' | ||
output_state_file_list = 'filter_out.txt' | ||
&update_bc_nml | ||
update_analysis_file_list = 'filter_out.txt' | ||
update_boundary_file_list = 'boundary_inout.txt' | ||
|
||
have your single mpas filename in the filter_in.txt file, | ||
and have N filenames in the filter_out.txt file, one per | ||
line for each ensemble member. | ||
Warning: lbc files listed in boundary_inout.txt will be overwritten (like restart.nc). | ||
|
||
(You can check models/mpas_atm/README for an example.) | ||
|
||
A single observation or a small set of observations in the obs sequence | ||
format can be set up in &filter_nml: | ||
----- | ||
Files | ||
----- | ||
+----------------+-------------------------------------------------------------------+ | ||
| filename | purpose | | ||
+================+======-============================================================+ | ||
| input.nml | to read the namelist - model_mod_nml and mpas_vars_nml | | ||
+----------------+-------------------------------------------------------------------+ | ||
| restart.nc | An MPAS restart file for each member, used as input (prior) | | ||
| | for filter and output (analysis) for the next model run | | ||
+----------------+-------------------------------------------------------------------+ | ||
| analysis.nc | time-variant analysis state (for each member) after assimilation | | ||
+----------------+-------------------------------------------------------------------+ | ||
| mpas_init.nc | init_template_filename for static info (ex. grid dimensions) | | ||
+----------------+-------------------------------------------------------------------+ | ||
|
||
obs_sequence_in_name = 'obs_seq.1obs' | ||
|
||
Here the observation time in the obs sequence file should be matched with the | ||
model time in the mpas file in 'filter_in.txt'. | ||
|
||
Run filter, which will perturb your single mpas file in filter_in.txt for | ||
all the states listed as mpas_state_variables in &mpas_vars_nml in your input.nml, | ||
then write out N ensemble members as listed in filter_out.txt. | ||
Note 1: File names in filter_out.txt are editable by users | ||
as long as they remain the same throughout the cycles. | ||
2: restart.nc can be replaced by init.nc for the very first cycle. | ||
3: For the model run in each member directory, ensure streams.atmosphere | ||
(for the model I/O streams) defines the output_interval for the restart files | ||
as the cycling frequency (ex. output_interval="06:00:00" for 6-h cycling). | ||
4: The restart file name defined in filter_in.txt for each member should match | ||
the restart filename_template defined in streams.atmosphere. | ||
5: lbc files defined in boundary_inout.txt should match filename_template for "lbc_in" | ||
in streams.atmosphere. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.