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

change restart file format to decrease file size and prevent the need for some interpinic's #18

Open
billsacks opened this issue Dec 16, 2017 · 0 comments
Labels
enhancement new capability or improved behavior of existing capability priority: low Background task that doesn't need to be done right away.

Comments

@billsacks
Copy link
Member

Bill Sacks < sacks@ucar.edu > - 2013-09-26 21:49:39 -0600
Bugzilla Id: 1823
Bugzilla CC: dlawren@ucar.edu, muszala@ucar.edu, mvertens@ucar.edu, rfisher@ucar.edu,

With the addition of lots of inactive points in memory for the sake of dynamic landunits, the size of CLM's restart files has increased significantly; e.g., for an f09 file:

old:
-rw-rw-r-- 1 sacks ncar 808M Jun 6 15:11 clmi.I1850CRUCLM45BGC.0241-01-01.0.9x1.25_g1v6_simyr1850_c130606.nc

new:
-rw-r--r-- 1 sacks ncar 2.3G Sep 26 21:03 clmi.I1850CRUCLM45BGC.0241-01-01.0.9x1.25_g1v6_simyr1850_c130926.nc

In addition, I have now had to go through a painful interpinic process twice, when simply adding 0-weight points to CLM's internal arrays.

Thus, I propose modifying the restart file format to remove a bunch of unneeded clutter - and ideally prevent having to run interpinic whenever you change the convention of which 0-weight points are included in CLM's internal arrays.

One idea would be to only write ACTIVE points to the restart file (i.e., using the active flags at the pft, col & landunit levels). This makes sense because inactive points will generally have meaningless values anyway. This would require packing arrays into temporary, active-only arrays when writing restart files. The reverse operation would need to be done when reading restart files - read into a temporary array then unpack into memory by assigning the 1st point in the restart file to the 1st active point in memory, the 2nd point in the restart file to the 2nd active point, etc. Note that this might require doing away with some of the consistency checks (e.g., that the number of pfts on the restart file matches the number computed internally based on the surface dataset) - although with some thought we might be able to maintain equivalent checks (e.g., the number of pfts on the restart file should match the number of ACTIVE pfts computed internally).

Some thought would be needed as to how (if at all) this would require changes in interpinic - though my first thought is that nothing may need to be done in interpinic to handle this change.

Presumably the size of 1-d history files (with dov2xy = .false.) has increased similarly, but I'm not sure if we want to apply these ideas to history files, because this could mess with people's ability to post-process these files.

@billsacks billsacks added this to the future milestone Dec 16, 2017
@billsacks billsacks added the enhancement new capability or improved behavior of existing capability label Dec 16, 2017
@billsacks billsacks added the priority: low Background task that doesn't need to be done right away. label Nov 5, 2018
@billsacks billsacks removed this from the future milestone Nov 5, 2018
@billsacks billsacks removed the priority: low Background task that doesn't need to be done right away. label Nov 7, 2018
@billsacks billsacks added the priority: low Background task that doesn't need to be done right away. label Aug 17, 2020
slevis-lmwg pushed a commit to slevis-lmwg/ctsm that referenced this issue Dec 22, 2022
slevis-lmwg pushed a commit to slevis-lmwg/ctsm that referenced this issue Aug 1, 2023
Update Code of Conduct, rename SHR_KIND_CL as needed for cime update
jedwards4b added a commit to jedwards4b/ctsm that referenced this issue Jun 2, 2024
AGonzalezNicolas pushed a commit to HPSCTerrSys/clm5_0 that referenced this issue Jun 27, 2024
Model developments by @s-poll :

* 9f00031 introduce precompiler COUP_OAS_ICON and COUP_OAS_PFL
* 59702f3 Oasis define for ICON ()
* a98d2cd Oasis snd/rcv for ICON (CLM3 vars)
* 1641475 consistent coupler precompiler naming
* f3c0cad include oas_receive_icon in eclm time stepping
* f7be360 renaming of coupled ICON-ECLM vars in oas_defineMod
* 27d984d Update snd/rcv fields from ICON
* ed1af99 Implementation of coupled variable t_sf.
* 47c2068 Couple rain_rate and snow_rate in seperate variables.
* 60850cf Restructure oasis_def_var.
* a42a3eb Inclusion of urban landunit.

Merges and bugfixes by @kvrigor :

* d79df54 Merge clm5nl-gen v0.6 (ESCOMP#16)
* 8ffe78f Merge eCLM-ParFlow coupling (ESCOMP#17)
* dfb6e69 Added compile definition COUP_OAS_PFL for ParFlow
* 0263ae8 Removed `use_parflow_soilwater()` in `BalanceCheckMod.F90` and `TotalWaterAndHeatMod.F90`
* 9ea5952 Fixed missing `psit` calculation when not coupled with ParFlow

Co-authored-by: Stefan Poll <spoll@users.noreply.github.com>
AGonzalezNicolas added a commit to HPSCTerrSys/clm5_0 that referenced this issue Jun 27, 2024
samsrabin pushed a commit to samsrabin/CTSM that referenced this issue Sep 17, 2024
…se-common

Landuse V2: Condense copying of means and timers into a common subroutine
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability priority: low Background task that doesn't need to be done right away.
Projects
None yet
Development

No branches or pull requests

1 participant