Skip to content

Route model_mod calls for DART programs though assim_model_mod#1069

Open
hkershaw-brown wants to merge 1 commit intomainfrom
though_assim_model
Open

Route model_mod calls for DART programs though assim_model_mod#1069
hkershaw-brown wants to merge 1 commit intomainfrom
though_assim_model

Conversation

@hkershaw-brown
Copy link
Copy Markdown
Member

Description:

This pull request routes model_mod calls for DART programs though assim_model_mod.
model_mod_check was partially using assim_model_mod, and partially directly calling model_mod which
did not allow you to create a custom intercept layer using assim_model_mod (e.g having multiple model_mods).

Changes: call assim_model_mod rather than model_mod directly for dart programs

  • Public model_mod routines through assim_mod_mod
  • model_mod_check use assim_mod_mod::interpolate

FIXMES fixed:

  • nc_write_model_atts was not going though assim_model_mod
  • read_model_time in direct_netcdf_mod was not going though assim_model_mod

Left alone model specific programs, i.e. those in models directory and the two obs converters that use model info:

  • create_identity_stream_flow_obs (models/wrf_hydro)
  • convert_roms_obs (obs_converters/ROMS)

This is because the model specific code is making assumptions about the state, e.g. the identity obs, state indexing.
And I think programs in the models/MODEL directory are assuming they are not using the intercept layer.

Fixes issue

fixes #1056

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
    I'm putting bug fix since there are FIXMEs about this
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Documentation changes needed?

  • My change requires a change to the documentation.
    • I have updated the documentation accordingly.

Tests

Please describe any tests you ran to verify your changes.
run_all_quickdbuild.sh

For searching for occurrences:

  • ripgrep -i -e 'use\s*model_mod\s*,\s*only'
  • Excluding models directory: ripgrep -i -e 'use\s*model_mod\s*,\s*only' --glob '!models/*'

Note obs_timejitter.f90 is one of the programs that is never routinely compiled #1068, I will add quickdbuild.sh to exercise these program builds.

Checklist for merging

  • Updated changelog entry
  • Documentation updated
  • Update conf.py

Checklist for release

  • Merge into main
  • Create release from the main branch with appropriate tag
  • Delete feature-branch

Testing Datasets

  • Dataset needed for testing available upon request
  • Dataset download instructions included
  • No dataset needed

@hkershaw-brown
Copy link
Copy Markdown
Member Author

Note obs_timejitter.f90 is one of the programs that is never routinely compiled #1068, I will add quickdbuild.sh to exercise these program builds.

quickbuild.sh & assim_mod_mod for #1070

Copy link
Copy Markdown
Contributor

@mjs2369 mjs2369 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @hkershaw-brown , this looks great. I wasn't able to find any issues in the code changes, and I think we can be sure we got all the files that were going through model_mod

@hkershaw-brown hkershaw-brown added release! bundle with next release release+1 bundle with release after next and removed release! bundle with next release labels Apr 16, 2026
Public model_mod routines through assim_mod_mod
model_mod_check use assim_mod_mod::interpolate

FIXMES fixed:
* nc_write_model_atts - was not going though assim_model_mod
* read_model_time in direct_netcdf_mod was not going though assim_model_mod

Left alone model specific programs, i.e. those in models directory and the two obs converters that use model info:
* create_identity_stream_flow_obs (models/wrf_hydro)
* convert_roms_obs (obs_converters/ROMS)

fixes #1056
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release+1 bundle with release after next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

model_mod_check directly calls model_mod rather than assim_model_mod

2 participants