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

Model_mods which use their own structure to keep track of state variables #389

Open
hkershaw-brown opened this issue Aug 11, 2022 · 0 comments
Labels
IO IO refactoring notes and issues missing_state missing_r8 in the state mpas Model for Prediction Across Scales (MPAS) Refactor Working but needs cleanup state_structure notes on refactoring of state_structure_mod wrf Weather Research & Forecasting Model

Comments

@hkershaw-brown
Copy link
Member

hkershaw-brown commented Aug 11, 2022

progvar type:
* mpas_ocn (does not compile)
* mpas_atm
* NCOMMAS (does not compile)
* NAAPS (does not compile)

  • wrf has type wrf_static_data_for_dart

  • wrf_hydro is making assumptions about the indexing.

  • clm has metadata arrays that are the same size as the state:
    607 allocate(lonixy(model_size), latjxy(model_size), levels(model_size), landarea(model_size))
    this you don't want to access with dart_index (i.e. assume the state structure), but instead f(x,y,z,variable).
    Same for the small models have state-length metadata storage. Any model that adds a domain like this dom_id = add_domain(model_size). 9-var has unpack9var.

hot take: I don't think model_mods should have access to dart_index at all.

Some models have their own get_varid_from_kind
POP
CICE
bgrid_solo

I think you can flush out if a non-toy model_mod is assuming the state order by reversing the order of the variables in the state_structure_mod. i = num_vars, 1, -1, run filter/model_mod_check/whatever and seeing if your results change.

Who cares?

Possible reasons to care:

  • General implementation of squished state (Ed's siparcs 2022) project
  • Remove missing_r8 from the state so assim_tools, quad_utils can assume all state is valid.
    - same across the ensemble, e.g. POP
    - different across the ensemble, e.g. CLM
    I don't think ensemble manager can stop checking for missing_r8 because a missing_r8 result for a forward operator is valid.
  • For wrf, adding a new quantity means updating the model_mod.
@hkershaw-brown hkershaw-brown added the Refactor Working but needs cleanup label Jan 31, 2023
@hkershaw-brown hkershaw-brown added the missing_state missing_r8 in the state label Mar 17, 2023
@hkershaw-brown hkershaw-brown added the wrf Weather Research & Forecasting Model label May 30, 2023
@hkershaw-brown hkershaw-brown added state_structure notes on refactoring of state_structure_mod IO IO refactoring notes and issues labels Jan 18, 2024
@hkershaw-brown hkershaw-brown added the mpas Model for Prediction Across Scales (MPAS) label Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IO IO refactoring notes and issues missing_state missing_r8 in the state mpas Model for Prediction Across Scales (MPAS) Refactor Working but needs cleanup state_structure notes on refactoring of state_structure_mod wrf Weather Research & Forecasting Model
Projects
None yet
Development

No branches or pull requests

1 participant