-
Notifications
You must be signed in to change notification settings - Fork 170
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
History diagnostics now pass arrays with a singleton dimension for time to netCDF-F90 library functions #1896
Conversation
NcdfUtil/m_netcdf_io_define.F90 - In routine NF90_Set_Fill, use ifill argument instead of the parameter NF90_NOFILL in the call to NF90_Set_Fill. This error turning off filling regardless of what the value of ifill was. NcdfUtil/m_netcdf_io_write.F90 - Fixed incorrect subroutine header comment NcdfUtil/ncdf_mod.F90 - Remove USE statements at top of module. Instead include USE statements within each subroutine. This will make all imported routines PRIVATE to ncdf_mod.F90. - Removed leftover "netcdf.inc" from the netCDF-F77 interface - Use NF90_UNLIMITED instead of NF_UNLIMITED (which is netCDF-F77) - Remove unnecessary ELSE branches - Whitespace updates, trimmed trailing whitespace - Remove NC_READ_VAR_CORE. Add its functionality into overloaded module routines NC_READ_VAR_SP and NC_READ_VAR_DP. Signed-off-by: Bob Yantosca <[email protected]>
History/history_netcdf_mod.F90 - Remove leftover "netcdf.inc" from the netCDF-F77 interface - Use NF90_UNLIMITED instead of NF_UNLIMITED - Allocate NcData_* arrays with a singleton extra dimension for time before passing to the NcWr routine. This avoids the corrupted data issue described by @nicholasbalasus in #1888. Signed-off-by: Bob Yantosca <[email protected]>
@msulprizio: I didn't add a changelog update since this is fixing a bug in an update that was introduced in 14.2.1. |
Also note: This raises the need for an integration test with instantaneous diagnostic output. |
Integration tests are running. |
After merging atop PR #1891, all GCHP integration tests passed: ==============================================================================
GCHP: Execution Test Results
GCClassic #2bf8d29 Merge PR #1891 (Fix incorrect time slice for boundary conditions)
GEOS-Chem #42159b1e8 Merge PR #1896 (Pass arrays w/ singleton time dim to netCDF routines)
HEMCO #477c7e8 Merge PR #229 (Fix incorrect longitude definitions for HEMCO standalone)
Number of execution tests: 5
Submitted as SLURM job: 64882169
==============================================================================
Execution tests:
------------------------------------------------------------------------------
gchp_merra2_fullchem................................Execute Simulation....PASS
gchp_merra2_fullchem_benchmark......................Execute Simulation....PASS
gchp_merra2_fullchem_RRTMG..........................Execute Simulation....PASS
gchp_merra2_tagO3...................................Execute Simulation....PASS
gchp_merra2_TransportTracers........................Execute Simulation....PASS
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 5
Execution tests failed: 0
Execution tests not yet completed: 0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Furthermore, all integration tests were zero-diff w/r/t PR #1891 Checking gchp_merra2_fullchem
-> No differences in OutputDir
-> No differences in Restarts
Checking gchp_merra2_fullchem_benchmark
-> No differences in OutputDir
-> No differences in Restarts
Checking gchp_merra2_fullchem_RRTMG
-> No differences in OutputDir
-> No differences in Restarts
Checking gchp_merra2_tagO3
-> No differences in OutputDir
-> No differences in Restarts
Checking gchp_merra2_TransportTracers
-> No differences in OutputDir
-> No differences in Restarts |
After merging on top of PR #1891, all integration tests passed (except for TOMAS, which is a known issue): ==============================================================================
GEOS-Chem Classic: Execution Test Results
GCClassic #2d16a31 Merge PR #1891 (Fix incorrect time slice for boundary conditions)
GEOS-Chem #42159b1e8 Merge PR #1896 (Pass arrays w/ singleton time dim to netCDF routines)
HEMCO #477c7e8 Merge PR #229 (Fix incorrect longitude definitions for HEMCO standalone)
Using 24 OpenMP threads
Number of execution tests: 26
Submitted as SLURM job: 64881964
==============================================================================
Execution tests:
------------------------------------------------------------------------------
gc_05x0625_NA_47L_merra2_CH4........................Execute Simulation....PASS
gc_05x0625_NA_47L_merra2_fullchem...................Execute Simulation....PASS
gc_4x5_47L_merra2_fullchem..........................Execute Simulation....PASS
gc_4x5_47L_merra2_fullchem_TOMAS15..................Execute Simulation....FAIL
gc_4x5_47L_merra2_fullchem_TOMAS40..................Execute Simulation....FAIL
gc_4x5_merra2_aerosol...............................Execute Simulation....PASS
gc_4x5_merra2_carbon................................Execute Simulation....PASS
gc_4x5_merra2_CH4...................................Execute Simulation....PASS
gc_4x5_merra2_CO2...................................Execute Simulation....PASS
gc_4x5_merra2_fullchem..............................Execute Simulation....PASS
gc_4x5_merra2_fullchem_aciduptake...................Execute Simulation....PASS
gc_4x5_merra2_fullchem_APM..........................Execute Simulation....PASS
gc_4x5_merra2_fullchem_benchmark....................Execute Simulation....PASS
gc_4x5_merra2_fullchem_complexSOA...................Execute Simulation....PASS
gc_4x5_merra2_fullchem_complexSOA_SVPOA.............Execute Simulation....PASS
gc_4x5_merra2_fullchem_LuoWd........................Execute Simulation....PASS
gc_4x5_merra2_fullchem_marinePOA....................Execute Simulation....PASS
gc_4x5_merra2_fullchem_RRTMG........................Execute Simulation....PASS
gc_4x5_merra2_Hg....................................Execute Simulation....PASS
gc_4x5_merra2_metals................................Execute Simulation....PASS
gc_4x5_merra2_POPs_BaP..............................Execute Simulation....PASS
gc_4x5_merra2_tagCH4................................Execute Simulation....PASS
gc_4x5_merra2_tagCO.................................Execute Simulation....PASS
gc_4x5_merra2_tagO3.................................Execute Simulation....PASS
gc_4x5_merra2_TransportTracers......................Execute Simulation....PASS
gc_4x5_merra2_TransportTracers_LuoWd................Execute Simulation....PASS
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 24
Execution tests failed: 2
Execution tests not yet completed: 0 Furthermore, all integration tests were zero-diff w/r/t PR #1891, except for:
==============================================================================
GEOS-Chem Classic: Execution Test Results
GCClassic #2d16a31 Merge PR #1891 (Fix incorrect time slice for boundary conditions)
GEOS-Chem #42159b1e8 Merge PR #1896 (Pass arrays w/ singleton time dim to netCDF routines)
HEMCO #477c7e8 Merge PR #229 (Fix incorrect longitude definitions for HEMCO standalone)
Using 24 OpenMP threads
Number of execution tests: 26
Submitted as SLURM job: 64881964
==============================================================================
Execution tests:
------------------------------------------------------------------------------
gc_05x0625_NA_47L_merra2_CH4........................Execute Simulation....PASS
gc_05x0625_NA_47L_merra2_fullchem...................Execute Simulation....PASS
gc_4x5_47L_merra2_fullchem..........................Execute Simulation....PASS
gc_4x5_47L_merra2_fullchem_TOMAS15..................Execute Simulation....FAIL
gc_4x5_47L_merra2_fullchem_TOMAS40..................Execute Simulation....FAIL
gc_4x5_merra2_aerosol...............................Execute Simulation....PASS
gc_4x5_merra2_carbon................................Execute Simulation....PASS
gc_4x5_merra2_CH4...................................Execute Simulation....PASS
gc_4x5_merra2_CO2...................................Execute Simulation....PASS
gc_4x5_merra2_fullchem..............................Execute Simulation....PASS
gc_4x5_merra2_fullchem_aciduptake...................Execute Simulation....PASS
gc_4x5_merra2_fullchem_APM..........................Execute Simulation....PASS
gc_4x5_merra2_fullchem_benchmark....................Execute Simulation....PASS
gc_4x5_merra2_fullchem_complexSOA...................Execute Simulation....PASS
gc_4x5_merra2_fullchem_complexSOA_SVPOA.............Execute Simulation....PASS
gc_4x5_merra2_fullchem_LuoWd........................Execute Simulation....PASS
gc_4x5_merra2_fullchem_marinePOA....................Execute Simulation....PASS
gc_4x5_merra2_fullchem_RRTMG........................Execute Simulation....PASS
gc_4x5_merra2_Hg....................................Execute Simulation....PASS
gc_4x5_merra2_metals................................Execute Simulation....PASS
gc_4x5_merra2_POPs_BaP..............................Execute Simulation....PASS
gc_4x5_merra2_tagCH4................................Execute Simulation....PASS
gc_4x5_merra2_tagCO.................................Execute Simulation....PASS
gc_4x5_merra2_tagO3.................................Execute Simulation....PASS
gc_4x5_merra2_TransportTracers......................Execute Simulation....PASS
gc_4x5_merra2_TransportTracers_LuoWd................Execute Simulation....PASS
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 24
Execution tests failed: 2
Execution tests not yet completed: 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to merge
Name and Institution (Required)
Name: Bob Yantosca
Institution: Harvard + GCST
Confirm you have reviewed the following documentation
Describe the update
This PR fixes the problem with archiving hourly diagnostics via GEOS-Chem Classic History diagnostics that was raised by @nicholasbalasus in issue #1888.
The fix involves using arrays with a singleton time dimension, as shown from this snippet from
history_netcdf_mod.F90
:Thus we now
before passing to the routine
NcWr
, which calls netCDF-F90 library routines.NOTE: this was not a problem with the netCDF-F77 interface, which didn't require the singleton time dimension.
In this case we copy 3D data into a 4D array with a singleton dimension for time before passing it to the netCDF routines.
Expected changes
Before this fix, all time slices after the first time slice were missing when using the 14.2.1 development stream. This was not present in prior versions.:
Applying the fix in this PR removes the error:
run.txt
Reference(s)
N/A
Related Github Issue(s)