From e8aab8a320f1969947fca23f002985899b657e9b Mon Sep 17 00:00:00 2001 From: Steve Goldhaber Date: Fri, 25 Aug 2023 17:30:40 +0200 Subject: [PATCH] Adjust to be closer to ESCOMP, remove accidental cam6_3_124 changes --- bld/namelist_files/namelist_defaults_cam.xml | 3 +- bld/namelist_files/namelist_definition.xml | 4 +- cime_config/config_component.xml | 10 +-- cime_config/config_compsets.xml | 11 ++- cime_config/config_pes.xml | 54 ------------ doc/ChangeLog | 89 -------------------- src/chemistry/utils/tracer_data.F90 | 20 ++++- src/dynamics/se/dyn_comp.F90 | 6 +- src/physics/cam_dev/micro_pumas_cam.F90 | 2 - 9 files changed, 33 insertions(+), 166 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index dbeae32f17..6eb81ca2e8 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -220,6 +220,7 @@ atm/cam/inic/se/cam6_QPC6_topo_ne3pg3_mg37_L32_01-01-31_c221214.nc atm/cam/inic/se/cam6_QPC6_topo_ne3pg3_mg37_L58_01-01-31_c221214.nc atm/cam/inic/se/cam6_QPC6_topo_ne3pg3_mg37_L93_01-01-31_c221214.nc +atm/cam/inic/homme/cami-mam3_0000-01_ne5np4_L30.140707.nc atm/cam/inic/se/F2000climo_ne5pg3_mg37_L32_01-01-31_c230520.nc atm/cam/inic/se/F2000climo_ne5pg3_mg37_L58_01-01-31_c230520.nc @@ -2960,6 +2961,7 @@ 1 3 1 + 1 0 0 -10 @@ -3185,7 +3187,6 @@ 'SolIonRate_Tot = jeuv_1 + jeuv_2 + jeuv_3 + jeuv_4 + jeuv_5 + jeuv_6 + jeuv_7 + jeuv_8 + jeuv_9 + jeuv_10 + jeuv_11 + ', 'jeuv_14 + jeuv_15 + jeuv_16 + jeuv_17 + jeuv_18 + jeuv_19 + jeuv_20 + jeuv_21 + jeuv_22 + jeuv_23', - 'O3_Prod = NO_HO2 + CH3O2_NO + HOCH2OO_NO + C2H5O2_NO + CH3CO3_NO + EO2_NO + C3H7O2_NO + PO2_NO + ', 'RO2_NO + ENEO2_NO + MACRO2_NOa + jhonitr + ', diff --git a/bld/namelist_files/namelist_definition.xml b/bld/namelist_files/namelist_definition.xml index 01775aca60..3ba59737e0 100644 --- a/bld/namelist_files/namelist_definition.xml +++ b/bld/namelist_files/namelist_definition.xml @@ -53,6 +53,7 @@ This is an optional attribute that is mainly useful for variables that have only a small number of allowed values. --> + Heterogeneous freezing scaling factor for black carbon aerosols. -Default: 0.0 +Default: 0.01 + + =============== + --> With Harmonized Emissions Component (HEMCO) for chemistry: -phys adiabatic diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index eb6e345561..264cde524f 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -86,7 +86,7 @@ FLTHIST_v0d - HIST_CAM%DEV%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + HIST_CAM%DEV%LT%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -408,11 +408,6 @@ HIST_CAM60%SDYN_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV - - FGRAYRAD - 2000_CAM%GRAYRAD_SLND_SICE_SOCN_SROF_SGLC_SWAV - - FMOZ 2000_CAM40%TMOZ_CLM45%SP_CICE%PRES_DOCN%DOM_RTM_SGLC_SWAV @@ -428,6 +423,10 @@ HIST_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_SROF_SGLC_SWAV + + FGRAYRAD + 2000_CAM%GRAYRAD_SLND_SICE_SOCN_SROF_SGLC_SWAV + diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index 42fe06d64a..316bd8435d 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -333,60 +333,6 @@ - - none - - -8 - -8 - -8 - -8 - -8 - -8 - - - 1 - 1 - 1 - 1 - 1 - 1 - - - 0 - 0 - 0 - 0 - 0 - 0 - - - - none - - -12 - -12 - -12 - -12 - -12 - -12 - - - 1 - 1 - 1 - 1 - 1 - 1 - - - 0 - 0 - 0 - 0 - 0 - 0 - - none diff --git a/doc/ChangeLog b/doc/ChangeLog index 90c1a34aff..bf2db678b4 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,94 +1,5 @@ =============================================================== -Tag name: cam6_3_124 -Originator(s): fvitt -Date: 23 Aug 2023 -One-line Summary: Fix issues exposed by FMTHIST; add regression tests for FLTHIST and FMTHIST -Github PR URL: https://github.com/ESCOMP/CAM/pull/872 - -Purpose of changes (include the issue number and title text for each relevant GitHub issue): - - Fix memory issue in code that reads input data on the native unstructured model grid. - Fix floating point exception issue in aerosol wet deposition caused by undefined values in - BERGSO (conversion of cloud water to snow) above above pumus active region - - Address github issues: - Increase PE layout for MT runs #812 - Introduce regression tests for FLTHIST and FMTHIST #841 - -Describe any changes made to build system: n/a - -Describe any changes made to the namelist: n/a - -List any changes to the defaults for the boundary datasets: n/a - -Describe any substantial timing or memory changes: n/a - -Code reviewed by: cacraigucar nusbaume - -List all files eliminated: n/a - -List all files added and what they do: n/a - -List all existing files that have been modified, and describe the changes: -M Externals.cfg -M bld/namelist_files/namelist_defaults_cam.xml - - default spun-up IC file for L93 ne30 CAM-Chem-SE - -M cime_config/config_compsets.xml - - remove "_v0d" from FLTHIST and FMTHIST compset short names - -M cime_config/config_pes.xml - - set default PE layouts for FLTHIST and FMTHIST compsets - -M cime_config/testdefs/testlist_cam.xml - - add cheyenne regression tests for FLTHIST and FMTHIST compsets - -M src/chemistry/utils/tracer_data.F90 - - remove unused ps field that was allocated using undefined sizes when - the input file was on the native unsctructured model grid - -M src/dynamics/se/dyn_comp.F90 - - write "Molecular viscosity" message only if masterproc - -M src/physics/cam_dev/micro_pumas_cam.F90 - - zero bergo field above top_lev - -If there were any failures reported from running test_driver.sh on any test -platform, and checkin with these failures has been OK'd by the gatekeeper, -then copy the lines from the td.*.status files for the failed tests to the -appropriate machine below. All failed tests must be justified. - -cheyenne/intel/aux_cam: - ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq9s (Overall: FAIL) details: - FAIL ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq9s COMPARE_base_rest - SMS_Lh12_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq3h (Overall: DIFF) details: - FAIL SMS_Lh12_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq3h BASELINE /glade/p/cesm/amwg/cesm_baselines/cam6_3_123: DIFF - ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details: - FAIL ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 RUN time=287 - PEND ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 COMPARE_base_rest - - pre-extisting failures - - ERP_D_Ln9.ne30pg3_ne30pg3_mg17.FLTHIST.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: - FAIL ERP_D_Ln9.ne30pg3_ne30pg3_mg17.FLTHIST.cheyenne_intel.cam-outfrq9s NLCOMP - FAIL ERP_D_Ln9.ne30pg3_ne30pg3_mg17.FLTHIST.cheyenne_intel.cam-outfrq9s BASELINE /glade/p/cesm/amwg/cesm_baselines/cam6_3_123: ERROR BFAIL baseline directory '/glade/p/cesm/amwg/cesm_baselines/cam6_3_123/ERP_D_Ln9.ne30pg3_ne30pg3_mg17.FLTHIST.cheyenne_intel.cam-outfrq9s' does not exist - SMS_D_Ln9.ne30pg3_ne30pg3_mg17.FMTHIST.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: - FAIL SMS_D_Ln9.ne30pg3_ne30pg3_mg17.FMTHIST.cheyenne_intel.cam-outfrq9s NLCOMP - FAIL SMS_D_Ln9.ne30pg3_ne30pg3_mg17.FMTHIST.cheyenne_intel.cam-outfrq9s BASELINE /glade/p/cesm/amwg/cesm_baselines/cam6_3_123: ERROR BFAIL baseline directory '/glade/p/cesm/amwg/cesm_baselines/cam6_3_123/SMS_D_Ln9.ne30pg3_ne30pg3_mg17.FMTHIST.cheyenne_intel.cam-outfrq9s' does not exist - - new tests - -izumi/nag/aux_cam: - DAE_Vnuopc.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details: - FAIL DAE_Vnuopc.f45_f45_mg37.FHS94.izumi_nag.cam-dae RUN time=10 - - pre-extisting failure - -izumi/gnu/aux_cam: All PASS - -Summarize any changes to answers: bit-for-bit unchanged - -=============================================================== -=============================================================== - Tag name: cam6_3_123 Originator(s): cacraig, jedwards, fvitt Date: August 16, 2023 diff --git a/src/chemistry/utils/tracer_data.F90 b/src/chemistry/utils/tracer_data.F90 index f1eeb00e17..861a4cd7eb 100644 --- a/src/chemistry/utils/tracer_data.F90 +++ b/src/chemistry/utils/tracer_data.F90 @@ -92,10 +92,10 @@ module tracer_data real(r8) :: one_yr = 0 real(r8) :: curr_mod_time ! model time - calendar day real(r8) :: next_mod_time ! model time - calendar day - next time step - integer :: nlon = 0 - integer :: nlat = 0 - integer :: nlev = 0 - integer :: nilev = 0 + integer :: nlon + integer :: nlat + integer :: nlev + integer :: nilev integer :: ps_coords(3) ! LATDIM | LONDIM | TIMDIM integer :: ps_order(3) ! LATDIM | LONDIM | TIMDIM real(r8), pointer, dimension(:) :: lons => null() @@ -104,6 +104,7 @@ module tracer_data real(r8), pointer, dimension(:) :: ilevs => null() real(r8), pointer, dimension(:) :: hyam => null() real(r8), pointer, dimension(:) :: hybm => null() + real(r8), pointer, dimension(:,:) :: ps => null() real(r8), pointer, dimension(:) :: hyai => null() real(r8), pointer, dimension(:) :: hybi => null() real(r8), pointer, dimension(:,:) :: weight_x => null(), weight_y => null() @@ -339,6 +340,12 @@ subroutine trcdata_init( specifier, filename, filelist, datapath, flds, file, & lat_dimid = old_dimid endif + allocate( file%ps(file%nlon,file%nlat), stat=astat ) + if( astat /= 0 ) then + write(iulog,*) 'trcdata_init: file%ps allocation error = ',astat + call endrun('trcdata_init: failed to allocate x array') + end if + call pio_seterrorhandling(File%curr_fileid, PIO_BCAST_ERROR, oldmethod=err_handling) ierr = pio_inq_varid( file%curr_fileid, 'PS', file%ps_id ) file%has_ps = (ierr==PIO_NOERR) @@ -428,6 +435,11 @@ subroutine trcdata_init( specifier, filename, filelist, datapath, flds, file, & ierr = pio_get_var( file%curr_fileid, varid, file%hybi ) endif + allocate( file %ps (pcols,begchunk:endchunk), stat=astat ) + if( astat/= 0 ) then + write(iulog,*) 'trcdata_init: failed to allocate file%ps array; error = ',astat + call endrun + end if allocate( file%ps_in(1)%data(pcols,begchunk:endchunk), stat=astat ) if( astat/= 0 ) then write(iulog,*) 'trcdata_init: failed to allocate file%ps_in(1)%data array; error = ',astat diff --git a/src/dynamics/se/dyn_comp.F90 b/src/dynamics/se/dyn_comp.F90 index 683565267c..6504eb75cd 100644 --- a/src/dynamics/se/dyn_comp.F90 +++ b/src/dynamics/se/dyn_comp.F90 @@ -763,10 +763,8 @@ subroutine dyn_init(dyn_in, dyn_out) (hvcoord%hyam(:)+hvcoord%hybm(:))*hvcoord%ps0,km_sponge_factor,& kmvis_ref,kmcnd_ref,rho_ref) - if (masterproc) then - write(iulog,*) "Molecular viscosity and thermal conductivity reference profile" - write(iulog,*) "k, p, z, km_sponge_factor, kmvis_ref/rho_ref, kmcnd_ref/(cp*rho_ref):" - end if + write(iulog,*) "Molecular viscoity and thermal conductivity reference profile" + write(iulog,*) "k, p, z, km_sponge_factor, kmvis_ref/rho_ref, kmcnd_ref/(cp*rho_ref):" do k=1,nlev ! only apply molecular viscosity where viscosity is > 1000 m/s^2 if (MIN(kmvis_ref(k)/rho_ref(k),kmcnd_ref(k)/(cpair*rho_ref(k)))>1000.0_r8) then diff --git a/src/physics/cam_dev/micro_pumas_cam.F90 b/src/physics/cam_dev/micro_pumas_cam.F90 index 32923101a6..ebe8b43976 100644 --- a/src/physics/cam_dev/micro_pumas_cam.F90 +++ b/src/physics/cam_dev/micro_pumas_cam.F90 @@ -2498,7 +2498,6 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) !Copy pbuf field from proc_rates back to pbuf pointer bergstot(:ncol,top_lev:) = proc_rates%bergstot(:ncol,1:nlev) - bergstot(:ncol,1:top_lev-1) = 0._r8 ! ------------------------------------------------------ ! ! ------------------------------------------------------ ! @@ -2629,7 +2628,6 @@ subroutine micro_pumas_cam_tend(state, ptend, dtime, pbuf) nmultgo_grid(:ncol,:top_lev-1) = 0._r8 nmultrgo_grid(:ncol,:top_lev-1) = 0._r8 npsacwgo_grid(:ncol,:top_lev-1) = 0._r8 - bergso_grid(:ncol,:top_lev-1) = 0._r8 ! These pbuf fields need to be assigned. There is no corresponding subcol_field_avg ! as they are reset before being used, so it would be a needless calculation