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

Implement and finish MPAS dynamical core initialization #267

Merged

Commits on Jun 6, 2024

  1. Remove relative humidity from MPAS input stream

    Relative humidity (`relhum`) is a diagnostic variable.
    It should not be included in MPAS input stream.
    kuanchihwang committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    01af7c7 View commit details
    Browse the repository at this point in the history
  2. Fix style

    kuanchihwang committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    6b69ea9 View commit details
    Browse the repository at this point in the history
  3. Handle the allocation of constituents more carefully

    More elaborate error checking.
    Also use a more descriptive name for number of constituents.
    kuanchihwang committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    61ccb16 View commit details
    Browse the repository at this point in the history
  4. Implement MPAS subdriver

    * Finish MPAS dynamical core initialization.
    * Support for deferring the definition of constituents until run-time.
    * Accessor functions/subroutines for querying:
      * Local mesh dimensions.
      * Constituent names and indexes.
      * Mapping between constituent indexes and MPAS scalar indexes.
    kuanchihwang committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    bf2a21d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9435535 View commit details
    Browse the repository at this point in the history
  6. Reimplement parse_stream_name for greater flexibility

    It is now possible to construct an arbitrary list of variables
    to input/output data to/from MPAS dynamical core. This functionality
    may be overengineered, but it supports what CAM-SIMA needs.
    kuanchihwang committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    be95a75 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Fix and enhance handling of variables during input

    There are two kinds of variables in MPAS: ordinary variables and
    variable arrays. The old implementation would always skip the latter
    entirely when encountering them during input.
    
    The new implementation correctly distinguishes between the two, and
    checks whether each variable is eligible to be input.
    kuanchihwang committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    6c848ce View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c38a9b3 View commit details
    Browse the repository at this point in the history
  3. Move all shared variables to dyn_comp due to circular dependency issue

    The instance of MPAS dynamical core resides in `dyn_comp`. `dyn_grid` depends on
    `dyn_comp`, but not vice versa.
    kuanchihwang committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    932ef82 View commit details
    Browse the repository at this point in the history
  4. Implement dyn_init

    kuanchihwang committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    a0ac03b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0c564c0 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Add more code comments

    kuanchihwang committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    a87368a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7dccf3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    03cf4e0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ef3f076 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7a6451c View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2024

  1. Configuration menu
    Copy the full SHA
    b3f1937 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. Configuration menu
    Copy the full SHA
    77cf091 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Configuration menu
    Copy the full SHA
    d3567bf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    724d5c8 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. Add a blank line in comments

    Maintain consistent style with others.
    kuanchihwang committed Jul 11, 2024
    Configuration menu
    Copy the full SHA
    d57d286 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Remove defunct code

    kuanchihwang committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    3ca360b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9cc38a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Use max intrinsic when determining the number of constituents

    Same logic, but the statement is now more compact.
    kuanchihwang committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    155b51c View commit details
    Browse the repository at this point in the history
  2. Use whole array section when assigning arrays

    The statement is now clearer on its intent. Other similar instances in
    the code already follow this style.
    kuanchihwang committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    b2ef93e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0376873 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3308a26 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    149cbca View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Avoid explicit initialization of pointers

    According to "8.4 Initialization", it states "Explicit initialization of a
    variable that is not in a common block implies the SAVE attribute". This
    also applies to pointer variables like here.
    
    Avoid the implied SAVE attribute by removing explicit initialization. Uphold
    the principle of least astonishment.
    kuanchihwang committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    a731e97 View commit details
    Browse the repository at this point in the history
  2. Also add subname to internal subroutines

    Easier to pinpoint where error occurs.
    kuanchihwang committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    d18264b View commit details
    Browse the repository at this point in the history
  3. Adjust validity check for coupling time interval and time step

    Zero or negative values are not allowed. Others are just fine.
    kuanchihwang committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    6428560 View commit details
    Browse the repository at this point in the history