fix the output file name and diag time#404
Conversation
merge to latest develop
The HAFS related developments for the write_grid_component (NOAA-EMC#10)
change ifmin to zero at fh00 for inline POST (NOAA-EMC#14)
merge to latest develop
Update EMC dev/emc from NCAR dtc/develop 2019/12/17 (NOAA-EMC#30)
GFSv16 netcdf post ficein cpl (NOAA-EMC#48)
Regain bit-for-bit identical results between IPD and CCPP for coupled…
Merge NCAR:dtc/develop into develop 2020/04/14 (NOAA-EMC#98)
Port to Orion (NOAA-EMC#102)
Remove dynamic CCPP build (NOAA-EMC#103)
climbfuji
left a comment
There was a problem hiding this comment.
I don't understand the logic, especially in lines 763 to 772. Is it possible to document that code? Just a brief one liner what each of those blocks does would be great.
|
Why do need all this logic with |
This is for backward compatible. Otherwise all the downstream jobs will be broken. |
Can't we announce the change and downstream jobs can update scripts. This is after all develop branch, we should be able to make breaking changes. Are we going to keep backward compatibility forever. Every change we make in any of the config file structure or output is potential breaking change for somebody. |
climbfuji
left a comment
There was a problem hiding this comment.
Thanks for adding those comments. A few suggestions/corrections of typos, otherwise looks good.
| do i=2,nfh | ||
| output_fh(i) = (i-1)*outputfh2(1) + output_startfh | ||
| ! Except fh000, which is the first time output, if any other of the | ||
| ! output time is not integer hour, set lflname_fulltime to be ture, so the |
There was a problem hiding this comment.
| ! output time is not integer hour, set lflname_fulltime to be ture, so the | |
| ! output time is not integer hour, set lflname_fulltime to be true, so the |
| count=noutput_fh, rc=rc) | ||
| if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return | ||
| if( output_startfh == 0) then | ||
| ! if the output time in output_fh array contains first time stamp output, |
There was a problem hiding this comment.
| ! if the output time in output_fh array contains first time stamp output, | |
| ! If the output time in output_fh array contains first time stamp output, |
| if( output_startfh == 0) then | ||
| ! if the output time in output_fh array contains first time stamp output, | ||
| ! check the rest of output time, otherwise, check all the output time. | ||
| ! if any of them is not integer hour, the history file names will |
There was a problem hiding this comment.
| ! if any of them is not integer hour, the history file names will | |
| ! If any of them is not integer hour, the history file names will |
| else | ||
| do i=1,noutput_fh | ||
| output_fh(i) = output_startfh + output_fh(i) | ||
| ! when output_startfh >0, check all the output time, if any of |
There was a problem hiding this comment.
| ! when output_startfh >0, check all the output time, if any of | |
| ! When output_startfh >0, check all the output time, if any of |
| do i=1,noutput_fh | ||
| output_fh(i) = output_startfh + output_fh(i) | ||
| ! when output_startfh >0, check all the output time, if any of | ||
| ! them is not integer hour, set lflname_fulltime to be ture. The |
There was a problem hiding this comment.
| ! them is not integer hour, set lflname_fulltime to be ture. The | |
| ! them is not integer hour, set lflname_fulltime to be true. The |
|
@climbfuji I added some comments to explain, please check. Basically for frequency output, we will don't count the the first time step output as it is labeled as fh000. |
I did, please look at/accept my suggestions. |
|
@DusanJovic-NOAA Well, this will impact future operational implementations. As we don't know if we will have higher frequency output, I think we may need to get the downstream involved before we make the hard code change. Right now if the output time is non-integer (needs min/sec info), the output file will have full time stamp, otherwise if it's all integer hours, file names will only contain hours. |
Description
The output file name does not have correct time stamp when the output time is not a integer. E.g. output_fh=0.25, the file name is currently atmf00.nc and sfcf00.nc. Also for random output time, the diag_time may not be updated when the output time is not multiple of fhzero. This PR contains fixes for the two issues.
Issue(s) addressed
Link the issues to be closed with this PR, whether in this repository, or in another repository.
(Remember, issues should always be created before starting work on a PR branch!)
Testing
How were these changes tested? Tested on hera.
What compilers / HPCs was it tested with?
Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)
Have the ufs-weather-model regression test been run? On what platform?
Yes on hera.
Dependencies
If testing this branch requires non-default branches in other repositories, list them.
Those branches should have matching names (ideally)
ufs-weather-model PR
fv3atm PR