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
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

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

None yet

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

1 participant