-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Many thanks to Dave Bailey (NCAR) for getting this ball rolling.
The history module has been generalized to allow output at different frequencies. Five output frequencies ('1', 'h', 'd', 'm', 'y') are available simultaneously during a run. The same variable can be output at different frequencies (say daily and monthly) via its f_<variable> string in namelist. Added max_nstrm=5 to ice_domain_size.F90, one for each output frequency available, and made the namelist parameters histfreq and histfreq_n into corresponding arrays. The namelist flags for history variables have been changed from logicals (true/false) to character strings corresponding to histfreq or 'x' for none (but note that grid variable flags are still logicals). For example, in namelist histfreq='1', 'h', 'd', 'm', 'y' histfreq_n=1,6,0,1,1 f_hi = '1' f_hs = 'h' f_Tsfc = 'd' f_aice = 'm' f_meltb = 'mh' f_iage = 'x' Here, hi will be written to a file on every timestep, hs will be written once every 6 hours, aice once a month, meltb once a month AND once every 6 hours, and Tsfc and iage will not be written. If there are no namelist flags with a given histfreq value, or if an element of histfreq_n is 0, then no file will be written at that frequency. The output period can be discerned from the filenames as in the released code (this has not changed). From an efficiency standpoint, it is best to set unused frequencies in histfreq to 'x'. Having output at all 5 frequencies takes nearly 5 times as long as for a single frequency. If you only want monthly output, the most efficient setting is histfreq='m','x','x','x','x'. The code counts the number of desired streams (nstreams) based on histfreq. The history variable names must be unique for netcdf, so in cases where a variable is written at more than one frequency, the variable name is appended with the frequency in files after the first one. In the example above, meltb is called meltb in the monthly file (for backward compatibility with the default configuration) and meltb_h in the 6-hourly file. There are still 9 history variables hard-coded for instantaneous output, as before. They are output at the frequency given by their namelist flag. The names of two category history variables had to be changed from aice, vice to aicen, vicen to make the roots unique. They are now consistent with the other category history variables. Notes: Using the same frequency twice in histfreq will have unexpected consequences and currently will cause the code to abort. It is not possible at the moment to output averages once a month and also once every 3 months, for example. CCSM's special units are not included in this version. The units for Tair were listed as degrees C, but the field in the (old) file was in K. Now they are both C. Grid variables are currently written to all files. I'd prefer to leave the minimum information in the history files, and maybe write the rest in the initial condition file, to cut down on redundancy. Suggestions or opinions welcome! I did not test every possible parameter combination; do let me know if you find one that doesn't work correctly or as expected.
- Loading branch information
1 parent
d607f8c
commit ab1c53e
Showing
12 changed files
with
1,734 additions
and
1,428 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.