Skip to content

Commit

Permalink
Implement and finish MPAS dynamical core initialization (ESCOMP#267)
Browse files Browse the repository at this point in the history
This PR implements the `dyn_init` subroutine, which is responsible for
initializing MPAS dynamical core by one of the following methods:

1. Setting analytic initial condition.
2. Reading initial condition from a file.
3. Restarting from a file.

This should be the last step of MPAS dynamical core initialization.
After this PR, MPAS dynamical core is ready for time integration.

## Implementation notes:

* More elaborate error checking for the allocation of constituents.
* Support for deferring the definition of constituents until run-time.
There are no longer assumptions about the index order or position of
constituents.
* Accessor functions/subroutines for querying:
  * Local mesh dimensions.
  * Constituent names and indexes.
  * Mapping between constituent indexes and MPAS scalar indexes.
* Enhancements that enable constructing an arbitrary list of variables
to input/output data to/from MPAS dynamical core.
* Enhancements and fixes for handling ordinary variables and variable
arrays during input.
* Finish MPAS dynamical core initialization.
  • Loading branch information
kuanchihwang authored Aug 1, 2024
2 parents 7a8c70b + 6428560 commit 8d71300
Show file tree
Hide file tree
Showing 6 changed files with 2,524 additions and 323 deletions.
2 changes: 1 addition & 1 deletion src/dynamics/mpas/Makefile.in.CESM
Original file line number Diff line number Diff line change
Expand Up @@ -130,5 +130,5 @@ externals: $(AUTOCLEAN_DEPS)
subdrv: driver/dyn_mpas_subdriver.o

%.o: %.F90 dycore frame ops
( cd $(<D); $(FC) $(CPPFLAGS) $(FFLAGS) -c $(<F) $(CPPINCLUDES) $(FCINCLUDES) -I../framework -I../operators -I../core_$(CORE) )
( cd $(<D); $(FC) $(CPPFLAGS) $(FFLAGS) -c $(<F) $(CPPINCLUDES) $(FCINCLUDES) -I../framework -I../operators -I../core_$(CORE) -I../core_$(CORE)/dynamics )
$(LN) $(@) .
1,940 changes: 1,721 additions & 219 deletions src/dynamics/mpas/driver/dyn_mpas_subdriver.F90

Large diffs are not rendered by default.

Loading

0 comments on commit 8d71300

Please sign in to comment.