-
Notifications
You must be signed in to change notification settings - Fork 145
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
State IO #359
Comments
dart_time_io_mod.f90 uses its own local has_unlimited rather than the state_structure_mod domain%has_unlimited DART/assimilation_code/modules/io/dart_time_io_mod.f90 Lines 218 to 222 in cbe0d41
|
In DART/assimilation_code/modules/io/direct_netcdf_mod.f90 Lines 1643 to 1656 in cbe0d41
If you have an unlimited dimension in the state_structure_mod, e.g. WRF has 'Time' this gets created as a limited dimension. This means that your created netcdf files have a different netcdf dimension structure than your model files.
There is also |
This is a hard coded 0 however, there is a DART/assimilation_code/modules/io/direct_netcdf_mod.f90 Lines 431 to 434 in cc1da67
|
perfect_model_obs has namelist options:
but the number of copies is hardcoded at 1 when initializing the filenames
and the ens_size is fixed at 1:
what is the single_file_in/out for in perfect_model_obs? |
we need to rename the file format that puts all the ensemble members plus inflation copies, mean, sd, etc in a single netcdf file (that dart dictates the format of). we called it "single file" but as you point out that's confusing for the situation where there is only 1 member involved. the code is going to expect to read a netcdf file with specific dimension names and variable names. other suggestions for this format? combination file, combined file, dart format file, ??? |
I think my question is even more simple than that, do we need single_file_in as a namelist option for perfect_model_obs? I think it only every runs with 1 copy, but am I missing something? |
yes, because even though there is always only 1 input and output file, this item toggles on and off the dart netcdf format file vs a model netcdf file. the namelist variable name is confusing because we called dart format files "single file" no matter how many members are in it. |
yeah I get it, just thinking about refactoring. Maybe it would be better to have the file describe itself as 'dart format' |
if the dart file had a global attribute to indicate it was "dart format" that would be good -- make it more self-describing. then maybe a namelist item wouldn't be needed. that would be nice. but we'd have to think about how the code could use it. it might need to open the file, look for the attribute and then decide whether to use the state structure setup info from the model's static_init_model or the dart defined format to read the file. i'm not clear if there is an order of things that works however. it would be nice if the i/o code could use the state structure for reading a dart format file but with all the members in a single netcdf variable i don't know if it can. |
Diagnostic structure, not used: DART/assimilation_code/modules/io/state_structure_mod.f90 Lines 131 to 135 in 4dadee7
|
DART/assimilation_code/modules/io/io_filenames_mod.f90 Lines 201 to 233 in 4dadee7
|
add_domain_blank is not blank (just a state vector) it has 3 dimensions: location, member, time. The are appropriate for lorenz_X style models, but not necessarily appropriate for anything else. DART/assimilation_code/modules/io/state_structure_mod.f90 Lines 412 to 448 in 77bb8c2
The 'member' dimension for the single file IO - again blending state_structure & IO (which are not the same, but currently are in the same state_structure). |
Then Used with a comment "may not be needed" Then domain = 1 is hardcoded anyway DART/assimilation_code/modules/io/direct_netcdf_mod.f90 Lines 2266 to 2273 in f193ab4
|
Notes for state IO
read_variables is public and is used by mpas_atm/update_bc.f90
out of date comments in state_vector_iod_mod.f90 (e.g reference to construct_file_name_in() which no longer exists)
io_filenames_mod has a bunch of references to diagnostic files which no longer exist
io_filanmes_mod is doing a bunch of netcdf variable checking
stages_to_write is in state_vector_io_mod - more sense to have this info in io_fileaames_mod?
see Bug?: direct_netcdf_mod.f90 assumes round robin distribution for ensemble #283 for round robin assumption
write_augmented_state - why the restriction on
! if there is only one timestep in your input file insert the mean and sd if requested
NO COPY BACK variables vs. per-ensemble static data.
perturb_single_instance with NO_COPY_BACK (see bug: inflation files when using 'no copy back' variables #276)
perfect_model_obs - should this have single_file_in/out namelist options?
Marlee is working on the state stucture (see state structure has not been tested yet with new naming conventions. #106)
clamp_or_fail is in some model_mods, but not used at all Feat req: Refactor wrf model_mod and models/wrf directory, unify WRF/WRF-CHEM #404 (comment)
diagnostic structure in the code but not
used at allhalf used see State IO #359 (comment)?DART/assimilation_code/modules/io/state_structure_mod.f90
Lines 131 to 135 in 924182f
assuming unlimited dimension is by domain
assuming only 1 unlimited dimension
assuming 1d,2d,or 3d variables
The text was updated successfully, but these errors were encountered: