Skip to content
This repository has been archived by the owner on Oct 23, 2020. It is now read-only.

Changes to framework forcing to remove need for restart timestamp file. #1347

Merged

Conversation

akturner
Copy link
Contributor

@akturner akturner commented Jun 1, 2017

These changes remove the need for the forcing system to write a text file with restart timestamps for a forcing groups clock. Instead the times are stored in the regular restart file. This requires a core to define a nForcingGroupsMax dimension (larger than the number of forcing groups on a domain) and a new "forcing" pool with three variables:

<var_struct name="forcing" time_levs="1" packages="pkgForcing">
  <var name="nForcingGroupCounter" type="integer" dimensions="Time"/>
  <var name="forcingGroupNames" type="text" dimensions="nForcingGroupsMax Time"/>
  <var name="forcingGroupRestartTimes" type="text" dimensions="nForcingGroupsMax Time"/>
</var_struct>

The latter two variables must be included in the core restart stream.

These changes remove the need for the forcing system to write a text file with restart timestamps for a forcing groups clock. Instead the times are stored in the regular restart file. This requires a core to define a nForcingGroupsMax dimension (larger than the number of forcing groups on a domain) and a new "forcing" pool with three variables:
<var_struct name="forcing" time_levs="1" packages="pkgForcing">
  <var name="nForcingGroupCounter" type="integer" dimensions="Time"/>
  <var name="forcingGroupNames" type="text" dimensions="nForcingGroupsMax Time"/>
  <var name="forcingGroupRestartTimes" type="text" dimensions="nForcingGroupsMax Time"/>
</var_struct>
The latter two variables must be included in the core restart stream.
@mark-petersen
Copy link
Contributor

@akturner Thanks for your work here. On our side, I believe this requires accompanying changes in the ocean for: (1) salinity restoring and (2) BGC. The first needs to be done in sync with this framework change on ocean/develop, so that ACME G cases are not broken. BGC could be done at the same time as our BGC work in the next few weeks.

How urgent is this? Can we do this the week after the ACME meeting?

The description on the first comment is really helpful. You must also have made changes in MPAS-sea ice where you delete anything related to the old restart text file, and use these three new forcing variables instead. Could you make make a pull request on that branch so that I can see the exact changes? Some of those will be identical for the ocean.

@akturner
Copy link
Contributor Author

akturner commented Jun 1, 2017

@mark-petersen: These changes were requested by @jonbob, so he can comment more about when this is needed.

Changes in MPAS-Seaice needed to accommodate this is here: https://github.com/akturner/MPAS/tree/cice/forcing_restart_timestamp_filename_2

@matthewhoffman
Copy link
Member

@jonbob , have you had a chance to test this in ACME?

@akturner
Copy link
Contributor Author

@mark-petersen: Whats the status of the ocean changes that will be needed to accommodate these and other changes in the forcing module?

Copy link
Contributor

@mark-petersen mark-petersen left a comment

Choose a reason for hiding this comment

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

Tested by compiling develop with the ocean and atmosphere core. Merged into ocean/develop and ran nightly test suite with gnu, then intel/debug on grizzly. Passed all tests.

@mark-petersen mark-petersen merged commit 49434b6 into MPAS-Dev:develop Oct 3, 2017
mark-petersen added a commit that referenced this pull request Oct 3, 2017
…velop

These changes remove the need for the forcing system to write a text
file with restart timestamps for a forcing groups clock. Instead the
times are stored in the regular restart file. This requires a core to
define a nForcingGroupsMax dimension (larger than the number of forcing
groups on a domain) and a new "forcing" pool with three variables:

<var_struct name="forcing" time_levs="1" packages="pkgForcing">
  <var name="nForcingGroupCounter" type="integer" dimensions="Time"/>
  <var name="forcingGroupNames" type="text" dimensions="nForcingGroupsMax Time"/>
  <var name="forcingGroupRestartTimes" type="text" dimensions="nForcingGroupsMax Time"/>
</var_struct>
The latter two variables must be included in the core restart stream.
@mark-petersen mark-petersen deleted the framework/forcing_restart_timestamp branch October 3, 2017 12:50
matthewhoffman added a commit that referenced this pull request Oct 10, 2017
Update needed for ACME

Framework features brought in:

* f444d0f Merge PR #1418 'matthewhoffman/framework/output_record_reference_time' into develop
* 263e14f Merge PR #1428 'mark-petersen/framework/couple_fixes' into develop
* bcce31d Merge PR #1424 'amametjanov:az/tools/cp-prebuilt-tools' into develop
* 98cfeea Merge PR# 1349 'akturner/framework/forcing_cleanup' into develop
* 9359319 Merge PR #1347 'akturner/framework/forcing_restart_timestamp' into develop
* e9ce203 Merge PR #1348 'akturner/framework/forcing_at_init' into develop
* 4974284 Merge PR #1368 'akturner/framework/improved_messages_in_driver' into develop
* 86d50c5 Merge PR #1417 'akturner/framework/forcing_multiple_blocks' into develop
* 9116da3 Merge branch 'framework/validation-of-streams-using-interval_in-interval_out' into develop
* e466b46 Merge branch 'framework/interval_in-interval_out-support-for-streams' into develop
* 30dc955 Merge branch 'az/framework/mpas_dmpar-race-fix' into develop
* b632938 Merge branch 'framework/i8_interval_division' into develop
* 6dac06c Merge branch 'framework/log_write_IBM_error' into develop
* 960a648 Merge branch 'framework/cleanup-logging-stream-manager' into develop
* 504c282 Merge branch 'framework/make-streams-with-direction-none-inactive' into develop
* 5903748 Merge branch 'framework/correctly_remove_blk_fields' into develop
* 3565965 Merge branch 'framework/iostreams-real4dfield-bug' into develop
* 8b60591 Merge branch 'framework/missing-deallocate-nEdgesOnCellField-bootstrapping' into develop
* 70b953b Merge branch 'master' into develop
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants