diff --git a/ChangeLog b/ChangeLog index 8a755f21a4f7..2a423ce6c64e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,283 @@ ====================================================================== +Originator: Chris Fischer +Date: 4-23-2019 +Tag: cime5.8.2 +Answer Changes: None +Tests: scripts_regression_tests +Dependencies: + +Brief Summary: + - Update the ne0CONUSne30x8 mapping files. + - Allow specific tests to ignore field list differences. + - Add NLDAS grid for CTSM and MOSART. + - Merge branch for acme split 2019-04-15 + - Fix unit test. + - Introduces a new stub IAC. + - Master merge to nuopc cmeps. + +User interface changes: + +PR summary: git log --oneline --first-parent [previous_tag]..master +57cf4a5 Merge pull request #3086 from ESMCI/fischer/ne_conus +421cc98 Merge pull request #3084 from billsacks/cprnc_ignore_fieldlist_diffs +a356310 Merge pull request #3063 from billsacks/nldas_grid_v2 +14babd5 Merge pull request #3079 from ESMCI/jgfouca/branch-for-acme-split-2019-04-15 +74730fe fix for unit test +4e86cc0 Merge pull request #3055 from bishtgautam/bishtgautam/iac +279d30a Merge pull request #3075 from jedwards4b/master-merge-to-nuopc-cmeps + + +Modified files: git diff --name-status [previous_tag] +M config/cesm/config_files.xml +M config/cesm/config_grids.xml +M config/cesm/config_grids_common.xml +M config/cesm/config_grids_mct.xml +M config/cesm/machines/config_machines.xml +M config/e3sm/allactive/config_compsets.xml +M config/e3sm/allactive/config_pesall.xml +M config/e3sm/config_archive.xml +M config/e3sm/config_files.xml +M config/e3sm/config_grids.xml +M config/e3sm/machines/config_batch.xml +M config/e3sm/machines/config_compilers.xml +M config/e3sm/machines/config_machines.xml +M config/e3sm/machines/config_pio.xml +M config/e3sm/tests.py +M config/xml_schemas/entry_id_base_version3.xsd +M scripts/Tools/Makefile +M scripts/Tools/archive_metadata +M scripts/Tools/case.build +M scripts/Tools/xmlconvertors/config_pes_converter.py +M scripts/Tools/xmlconvertors/grid_xml_converter.py +M scripts/lib/CIME/Servers/wget.py +M scripts/lib/CIME/SystemTests/system_tests_common.py +M scripts/lib/CIME/SystemTests/system_tests_compare_two.py +M scripts/lib/CIME/XML/grids.py +M scripts/lib/CIME/case/case.py +M scripts/lib/CIME/case/case_submit.py +M scripts/lib/CIME/hist_utils.py +M scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py +M src/components/data_comps/datm/nuopc/atm_comp_nuopc.F90 +M src/components/data_comps/datm/nuopc/datm_comp_mod.F90 +M src/components/data_comps/datm/nuopc/datm_shr_mod.F90 +M src/components/data_comps/dice/nuopc/dice_comp_mod.F90 +M src/components/data_comps/dice/nuopc/dice_shr_mod.F90 +M src/components/data_comps/dice/nuopc/ice_comp_nuopc.F90 +M src/components/data_comps/dlnd/nuopc/dlnd_comp_mod.F90 +M src/components/data_comps/dlnd/nuopc/dlnd_shr_mod.F90 +M src/components/data_comps/dlnd/nuopc/lnd_comp_nuopc.F90 +M src/components/data_comps/docn/nuopc/docn_comp_mod.F90 +M src/components/data_comps/docn/nuopc/docn_shr_mod.F90 +M src/components/data_comps/docn/nuopc/ocn_comp_nuopc.F90 +M src/components/data_comps/drof/nuopc/drof_comp_mod.F90 +M src/components/data_comps/drof/nuopc/rof_comp_nuopc.F90 +M src/components/data_comps/dshr_nuopc/dshr_nuopc_mod.F90 +M src/components/data_comps/dwav/nuopc/dwav_comp_mod.F90 +M src/components/data_comps/dwav/nuopc/dwav_shr_mod.F90 +M src/components/data_comps/dwav/nuopc/wav_comp_nuopc.F90 +A src/components/stub_comps/siac/cime_config/buildlib +A src/components/stub_comps/siac/cime_config/buildnml +A src/components/stub_comps/siac/cime_config/config_component.xml +A src/components/stub_comps/siac/mct/iac_comp_mct.F90 +M src/components/xcpl_comps/xatm/nuopc/atm_comp_nuopc.F90 +M src/components/xcpl_comps/xglc/nuopc/glc_comp_nuopc.F90 +M src/components/xcpl_comps/xice/nuopc/ice_comp_nuopc.F90 +M src/components/xcpl_comps/xlnd/nuopc/lnd_comp_nuopc.F90 +M src/components/xcpl_comps/xocn/nuopc/ocn_comp_nuopc.F90 +M src/components/xcpl_comps/xrof/nuopc/rof_comp_nuopc.F90 +M src/components/xcpl_comps/xshare/nuopc/dead_nuopc_mod.F90 +M src/components/xcpl_comps/xwav/nuopc/wav_comp_nuopc.F90 +M src/drivers/mct/cime_config/buildexe +M src/drivers/mct/cime_config/config_component.xml +M src/drivers/mct/cime_config/config_component_e3sm.xml +M src/drivers/mct/cime_config/config_compsets.xml +M src/drivers/mct/cime_config/config_pes.xml +M src/drivers/mct/cime_config/namelist_definition_drv.xml +M src/drivers/mct/cime_config/namelist_definition_modelio.xml +M src/drivers/mct/main/cime_comp_mod.F90 +M src/drivers/mct/main/component_mod.F90 +M src/drivers/mct/main/component_type_mod.F90 +M src/drivers/mct/main/prep_atm_mod.F90 +A src/drivers/mct/main/prep_iac_mod.F90 +M src/drivers/mct/main/prep_lnd_mod.F90 +M src/drivers/mct/main/seq_frac_mct.F90 +M src/drivers/mct/main/seq_hist_mod.F90 +M src/drivers/mct/main/seq_rest_mod.F90 +M src/drivers/mct/shr/seq_comm_mct.F90 +M src/drivers/mct/shr/seq_flds_mod.F90 +M src/drivers/mct/shr/seq_infodata_mod.F90 +M src/drivers/mct/shr/seq_timemgr_mod.F90 +M src/drivers/mct/unit_test/CMakeLists.txt +M src/drivers/nuopc/cime_config/buildnml +M src/drivers/nuopc/cime_config/config_component.xml +M src/drivers/nuopc/cime_config/config_component_cesm.xml +M src/drivers/nuopc/cime_config/nuopc_runseq_A +M src/drivers/nuopc/cime_config/nuopc_runseq_ADLND +M src/drivers/nuopc/cime_config/nuopc_runseq_ADWAV +M src/drivers/nuopc/cime_config/nuopc_runseq_B +D src/drivers/nuopc/cime_config/nuopc_runseq_C_G_D +A src/drivers/nuopc/cime_config/nuopc_runseq_C_G_D_swav +A src/drivers/nuopc/cime_config/nuopc_runseq_C_G_D_ww3 +A src/drivers/nuopc/cime_config/nuopc_runseq_C_wav +M src/drivers/nuopc/cime_config/nuopc_runseq_F +M src/drivers/nuopc/cime_config/nuopc_runseq_I +M src/drivers/nuopc/cime_config/nuopc_runseq_I_mosart +M src/drivers/nuopc/cime_config/nuopc_runseq_NEMS +A src/drivers/nuopc/cime_config/nuopc_runseq_NEMS.cold +A src/drivers/nuopc/cime_config/nuopc_runseq_NEMS.warm +M src/drivers/nuopc/cime_config/nuopc_runseq_Q +M src/drivers/nuopc/cime_config/nuopc_runseq_X +M src/drivers/nuopc/cime_config/nuopc_runseq_default +M src/drivers/nuopc/cime_driver/esmApp.F90 +M src/drivers/nuopc/cime_flds/esmFlds.F90 +M src/drivers/nuopc/cime_flds/esmFldsExchange.F90 +M src/drivers/nuopc/cime_flds/fd.yaml +M src/drivers/nuopc/cime_flds_shr/seq_drydep_mod.F90 +M src/drivers/nuopc/cime_flds_shr/shr_carma_mod.F90 +M src/drivers/nuopc/cime_flds_shr/shr_fire_emis_mod.F90 +M src/drivers/nuopc/cime_flds_shr/shr_megan_mod.F90 +M src/drivers/nuopc/cime_flds_shr/shr_ndep_mod.F90 +M src/drivers/nuopc/mediator/med.F90 +D src/drivers/nuopc/mediator/med_connectors_mod.F90 +M src/drivers/nuopc/mediator/med_fraction_mod.F90 +D src/drivers/nuopc/mediator/med_infodata_mod.F90 +M src/drivers/nuopc/mediator/med_internalstate_mod.F90 +M src/drivers/nuopc/mediator/med_io_mod.F90 +M src/drivers/nuopc/mediator/med_map_mod.F90 +M src/drivers/nuopc/mediator/med_merge_mod.F90 +M src/drivers/nuopc/mediator/med_phases_aofluxes_mod.F90 +M src/drivers/nuopc/mediator/med_phases_history_mod.F90 +M src/drivers/nuopc/mediator/med_phases_ocnalb_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_atm_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_glc_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_ice_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_lnd_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_ocn_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_rof_mod.F90 +M src/drivers/nuopc/mediator/med_phases_prep_wav_mod.F90 +M src/drivers/nuopc/mediator/med_phases_restart_mod.F90 +M src/drivers/nuopc/shr/med_constants_mod.F90 +D src/drivers/nuopc/shr/shr_nuopc_grid_mod.F90 +M src/drivers/nuopc/shr/shr_nuopc_methods_mod.F90 +M src/drivers/nuopc/shr/shr_nuopc_utils_mod.F90 +M src/share/streams/shr_strdata_mod.F90 +M src/share/util/shr_pio_mod.F90 + +====================================================================== + +====================================================================== + +Originator: Chris Fischer +Date: 04-08-2019 +Tag: cime5.8.1 +Answer Changes: None +Tests: scripts_regression_tests, many create_newcase with mangled compset names + hand test xmllint +Dependencies: + +Brief Summary: + - Support optional components by filling in stub models for any missing component class + - Merge maint-5.6 branch. + - Fix issue with xmllint. + - Use installed pio libraries. + - Make FIELDLIST message more informative. + - ACME merge 2019-03-29 + - cprnc: allow differences in field lists for time-constant fields. + - Merge maint-5.6 branch. + - Add ne0CONUSne30x8_ne0CONUSne30x8_mg17 grid alias. + - Merge in latest nuopc-cmeps development. + - The check for an rpointer.drv file did not consider multidriver mode. + - Fix ./case.build --clean. + - PET and ERP tests were not setting compile_threaded correctly. + - Implement 'share' field of test suites. + +User interface changes: + - Stub components are now optional in compset long names. Also there is less order dependency. + +PR summary: git log --oneline --first-parent [previous_tag]..master +444b2f4 Merge pull request #3068 from gold2718/optional_components +c1a4c49 Merge branch 'maint-5.6' +150c2b5 Merge pull request #3061 from jedwards4b/fix_cesm_config_files +9b0be41 Merge pull request #3058 from jedwards4b/use_installed_libraries +ae332d4 Merge pull request #3059 from billsacks/fieldlist_differ_message +d94860f Merge pull request #3054 from ESMCI/jgfouca/branch-for-acme-split-2019-03-29 +95e117c Merge pull request #3051 from billsacks/cprnc_allow_timeconst_fielddiffs +338c143 Merge pull request #3052 from ESMCI/maint-5.6 +c82a5ee Merge pull request #3048 from ESMCI/fischer/SE_grids +1bb357c Merge pull request #3046 from jedwards4b/nuopc-cmeps +94d6da8 Merge pull request #3045 from jedwards4b/multi_driver_continue +9f5fb60 Merge pull request #3043 from ESMCI/jgfouca/fix_build_clean +ff06fd0 Merge pull request #3042 from ESMCI/jedwards/pet_test_fix +bafad7e Merge pull request #3040 from ESMCI/jgfouca/impl_share_field + + +Modified files: git diff --name-status [previous_tag] +M config/cesm/config_files.xml +M config/cesm/config_grids.xml +M config/cesm/machines/config_compilers.xml +M config/cesm/machines/config_machines.xml +M config/cesm/machines/userdefined_laptop_template/config_compilers.xml +M config/e3sm/config_grids.xml +M config/e3sm/config_inputdata.xml +M config/e3sm/machines/Depends.cetus +M config/e3sm/machines/Depends.mira +M config/e3sm/machines/Depends.summit.ibm +M config/e3sm/machines/Depends.summitdev.ibm +M config/e3sm/machines/config_batch.xml +M config/e3sm/machines/config_compilers.xml +M config/e3sm/machines/config_machines.xml +M config/e3sm/machines/config_pio.xml +M config/e3sm/machines/userdefined_laptop_template/config_compilers.xml +M config/e3sm/tests.py +M config/xml_schemas/config_batch.xsd +M config/xml_schemas/config_compilers_v2.xsd +M config/xml_schemas/config_machines.xsd +M config/xml_schemas/env_mach_specific.xsd +M doc/source/users_guide/cime-config.rst +M doc/source/users_guide/unit_testing.rst +M scripts/Tools/Makefile +M scripts/create_test +M scripts/fortran_unit_testing/run_tests.py +M scripts/lib/CIME/BuildTools/configure.py +M scripts/lib/CIME/BuildTools/valuesetting.py +M scripts/lib/CIME/XML/entry_id.py +M scripts/lib/CIME/XML/generic_xml.py +M scripts/lib/CIME/build.py +M scripts/lib/CIME/case/case.py +M scripts/lib/CIME/case/case_submit.py +M scripts/lib/CIME/case/check_input_data.py +M scripts/lib/CIME/hist_utils.py +M scripts/lib/CIME/test_scheduler.py +M scripts/lib/get_tests.py +M scripts/tests/scripts_regression_tests.py +M src/build_scripts/buildlib.gptl +M src/build_scripts/buildlib.kokkos +M src/build_scripts/buildlib.pio +M src/components/data_comps/datm/cime_config/config_component.xml +M src/components/data_comps/datm/nuopc/datm_comp_mod.F90 +M src/components/data_comps/desp/cime_config/config_component.xml +M src/drivers/mct/cime_config/namelist_definition_drv.xml +M src/drivers/mct/main/seq_flux_mct.F90 +M src/drivers/mct/shr/seq_infodata_mod.F90 +M src/share/util/shr_flux_mod.F90 +M tools/cprnc/README +M tools/cprnc/compare_vars_mod.F90.in +M tools/cprnc/cprnc.F90 +M tools/cprnc/filestruct.F90 +M tools/cprnc/run_tests +M tools/cprnc/test_inputs/README +A tools/cprnc/test_inputs/multipleTimes_someTimeless_extra_and_missing.nc +A tools/cprnc/test_inputs/noTime_extra_and_missing.nc +M tools/mapping/gen_domain_files/README +M tools/mapping/gen_domain_files/src/gen_domain.F90 +M tools/mapping/gen_mapping_files/runoff_to_ocn/src/Makefile + +====================================================================== + + +====================================================================== + Originator: Chris Fischer Date: 03-12-2019 Tag: cime5.8.0 diff --git a/config/cesm/config_grids.xml b/config/cesm/config_grids.xml index b82159221d67..5e7d79f02448 100644 --- a/config/cesm/config_grids.xml +++ b/config/cesm/config_grids.xml @@ -121,6 +121,16 @@ null + + + 0.125nldas2 + 0.125nldas2 + 0.125nldas2 + 0.125nldas2 + nldas2 + + 360x720cru 360x720cru @@ -1106,6 +1116,14 @@ 5x5 Amazon regional case -- only valid for DATM/CLM compset + + + 464 224 + $DIN_LOC_ROOT/share/domains/domain.clm/domain.lnd.0.125nldas2_0.125nldas2.190410.nc + $DIN_LOC_ROOT/share/domains/domain.clm/domain.ocn.0.125nldas2.190410.nc + Regional NLDAS-2 grid over the U.S. (0.125 degree resolution; 25-53N, 235-293E) + + @@ -1380,8 +1398,8 @@ 174098 1 - $DIN_LOC_ROOT/share/domains/domain.lnd.ne0CONUSne30x8_gx1v7.190304.nc - $DIN_LOC_ROOT/share/domains/domain.ocn.ne0CONUSne30x8_gx1v7.190304.nc + $DIN_LOC_ROOT/share/domains/domain.lnd.ne0CONUSne30x8_gx1v7.190322.nc + $DIN_LOC_ROOT/share/domains/domain.ocn.ne0CONUSne30x8_gx1v7.190322.nc ne0np4CONUS.ne30x8 is a Spectral Elem 1-deg grid with a 1/8 deg refined region over the continental United States: Test support only diff --git a/config/cesm/config_grids_common.xml b/config/cesm/config_grids_common.xml index ff3e2595a1d8..2f41b5b07333 100644 --- a/config/cesm/config_grids_common.xml +++ b/config/cesm/config_grids_common.xml @@ -32,8 +32,8 @@ - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_0.5x0.5_nomask_aave.190227.nc - cpl/gridmaps/ne0np4CONUS.ne30x8/map_0.5x0.5_nomask_TO_ne0CONUSne30x8_aave.190227.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_0.5x0.5_nomask_aave.190322.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_0.5x0.5_nomask_TO_ne0CONUSne30x8_aave.190322.nc @@ -288,10 +288,10 @@ - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gland4km_aave.190227.nc - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gland4km_blin.190227.nc - cpl/gridmaps/gland4km/map_gland4km_TO_ne0CONUSne30x8_aave.190227.nc - cpl/gridmaps/gland4km/map_gland4km_TO_ne0CONUSne30x8_aave.190227.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gland4km_aave.190322.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gland4km_blin.190322.nc + cpl/gridmaps/gland4km/map_gland4km_TO_ne0CONUSne30x8_aave.190322.nc + cpl/gridmaps/gland4km/map_gland4km_TO_ne0CONUSne30x8_aave.190322.nc diff --git a/config/cesm/config_grids_mct.xml b/config/cesm/config_grids_mct.xml index b5ed729b98f9..6066cd95e402 100644 --- a/config/cesm/config_grids_mct.xml +++ b/config/cesm/config_grids_mct.xml @@ -208,15 +208,15 @@ - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gx1v7_aave.190227.nc - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gx1v7_blin.190227.nc - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gx1v7_patc.190227.nc - cpl/gridmaps/gx1v7/map_gx1v7_TO_ne0CONUSne30x8_aave.190227.nc - cpl/gridmaps/gx1v7/map_gx1v7_TO_ne0CONUSne30x8_aave.190227.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gx1v7_aave.190322.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gx1v7_blin.190322.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_gx1v7_patc.190322.nc + cpl/gridmaps/gx1v7/map_gx1v7_TO_ne0CONUSne30x8_aave.190322.nc + cpl/gridmaps/gx1v7/map_gx1v7_TO_ne0CONUSne30x8_aave.190322.nc - cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_ww3a_blin.190213.nc + cpl/gridmaps/ne0np4CONUS.ne30x8/map_ne0CONUSne30x8_TO_ww3a_blin.190322.nc diff --git a/config/cesm/machines/config_batch.xml b/config/cesm/machines/config_batch.xml index 46d7f94c4dd3..4fac63301ee3 100644 --- a/config/cesm/machines/config_batch.xml +++ b/config/cesm/machines/config_batch.xml @@ -402,6 +402,7 @@ ssh izumi cd $CASEROOT ; qsub + (\d+.izumi.unified.ucar.edu)$ -l nodes={{ num_nodes }}:ppn={{ tasks_per_node }} -S {{ shell }} diff --git a/config/cesm/machines/config_compilers.xml b/config/cesm/machines/config_compilers.xml index 9e61d46eb7f6..826466cb5554 100644 --- a/config/cesm/machines/config_compilers.xml +++ b/config/cesm/machines/config_compilers.xml @@ -320,8 +320,16 @@ using a fortran linker. mpif90 gcc nagfor + + + -lpthread + + + FCLIBS="-Wl,--as-needed,--allow-shlib-undefined -L$(COMPILER_PATH)/lib/NAG_Fortran -lf62rts" + + -gopt -time @@ -902,19 +910,6 @@ using a fortran linker. /fs/cgd/csm/tools/pFUnit/pFUnit3.2.8_hobart_Intel15.0.2_noMPI_noOpenMP - - - - -DNO_C_SIZEOF - - - -lpthread - - - -L/usr/local/nag/lib/NAG_Fortran - - - -O0 diff --git a/config/cesm/machines/config_machines.xml b/config/cesm/machines/config_machines.xml index f286db15470e..d14640afb560 100644 --- a/config/cesm/machines/config_machines.xml +++ b/config/cesm/machines/config_machines.xml @@ -353,25 +353,12 @@ This allows using a different mpirun command to launch unit tests intel/19.0.2 - + esmf_libs mkl pgi/17.9 - gnu/7.3.0 openblas/0.2.20 @@ -400,12 +387,12 @@ This allows using a different mpirun command to launch unit tests netcdf/4.6.1 + + netcdf/4.6.1 + netcdf/4.4.1.1 - - netcdf/4.5.0 - 256M @@ -414,8 +401,13 @@ This allows using a different mpirun command to launch unit tests 1 - + + /glade/u/home/dunlap/ESMF-INSTALL/intel19/8.0.0bs32/lib/libO/Linux.intel.64.mpt.default/esmf.mk + + /glade/u/home/dunlap/ESMF-INSTALL/intel19/8.0.0bs32/lib/libg/Linux.intel.64.mpt.default/esmf.mk + + ON SUMMARY /glade/work/turuncu/FV3GFS/benchmark-inputs/2012010100/gfs/fcst @@ -940,7 +932,7 @@ This allows using a different mpirun command to launch unit tests /global/project/projectdirs/ccsm1/modulefiles/edison - esmf/6.3.0rp1-defio-intel17.0-mpi-O + esmf/7.1.0r-defio-intel18.0.1.163-mpi-O esmf/6.3.0rp1-defio-intel17.0-mpiuni-O @@ -2429,7 +2421,7 @@ This allows using a different mpirun command to launch unit tests /scratch4/NCEPDEV/nems/noscrub/Rocky.Dunlap/INPUTDATA/benchmark-inputs/2012040100/gfs/fcst /scratch4/NCEPDEV/nems/noscrub/Rocky.Dunlap/INPUTDATA/fix_am /scratch4/NCEPDEV/nems/noscrub/Rocky.Dunlap/INPUTDATA/addon - + diff --git a/config/e3sm/allactive/config_compsets.xml b/config/e3sm/allactive/config_compsets.xml index b172cfa43c8f..118beecef09d 100644 --- a/config/e3sm/allactive/config_compsets.xml +++ b/config/e3sm/allactive/config_compsets.xml @@ -16,7 +16,7 @@ TIME = Time period (e.g. 2000, HIST, RCP8...) ATM = [CAM4, CAM5, SATM] LND = [CLM45, SLND] - ICE = [MPASCICE, CICE, DICE, SICE] + ICE = [MPASSI, CICE, DICE, SICE] OCN = [MPASO, DOCN, SOCN] ROF = [MOSART, SROF] GLC = [MALI, SGLC] @@ -41,217 +41,217 @@ A_WCYCL1850S_CMIP6 - 1850_CAM5%CMIP6_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1850_CAM5%CMIP6_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL20TRS_CMIP6 - 20TR_CAM5%CMIP6_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 20TR_CAM5%CMIP6_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL1950S_CMIP6_LR - 1950_CAM5%CMIP6-LR_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1950_CAM5%CMIP6-LR_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL1950S_CMIP6_HR - 1950_CAM5%CMIP6-HR_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1950_CAM5%CMIP6-HR_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL1950S_CMIP6_LRtunedHR - 1950_CAM5%CMIP6-LRtunedHR_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1950_CAM5%CMIP6-LRtunedHR_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL2000 - 2000_CAM5%AV1C-L_CLM45%SPBC_MPASCICE_MPASO_MOSART_SGLC_SWAV + 2000_CAM5%AV1C-L_CLM45%SPBC_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL2000S - 2000_CAM5%AV1C-L_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 2000_CAM5%AV1C-L_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL1850 - 1850_CAM5%AV1C-L_CLM45%SPBC_MPASCICE_MPASO_MOSART_SGLC_SWAV + 1850_CAM5%AV1C-L_CLM45%SPBC_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL1850S - 1850_CAM5%AV1C-L_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1850_CAM5%AV1C-L_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL20TR - 20TR_CAM5%AV1C-L_CLM45%SPBC_MPASCICE_MPASO_MOSART_SGLC_SWAV + 20TR_CAM5%AV1C-L_CLM45%SPBC_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL20TRS - 20TR_CAM5%AV1C-L_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 20TR_CAM5%AV1C-L_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_CRYO - 2000_CAM5%AV1C-L_CLM45%SPBC_MPASCICE_MPASO_MOSART_MALI_SWAV + 2000_CAM5%AV1C-L_CLM45%SPBC_MPASSI_MPASO_MOSART_MALI_SWAV A_WCYCL2000_H01A - 2000_CAM5%AV1C-H01A_CLM45%SPBC_MPASCICE_MPASO_MOSART_SGLC_SWAV + 2000_CAM5%AV1C-H01A_CLM45%SPBC_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL2000_H01AS - 2000_CAM5%AV1C-H01A_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 2000_CAM5%AV1C-H01A_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL1850_H01A - 1850_CAM5%AV1C-H01A_CLM45%SPBC_MPASCICE_MPASO_MOSART_SGLC_SWAV + 1850_CAM5%AV1C-H01A_CLM45%SPBC_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL1850_H01AS - 1850_CAM5%AV1C-H01A_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1850_CAM5%AV1C-H01A_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL20TR_H01A - 20TR_CAM5%AV1C-H01A_CLM45%SPBC_MPASCICE_MPASO_MOSART_SGLC_SWAV + 20TR_CAM5%AV1C-H01A_CLM45%SPBC_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL20TR_H01AS - 20TR_CAM5%AV1C-H01A_CLM45%SPBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 20TR_CAM5%AV1C-H01A_CLM45%SPBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV BGCEXP_BCRC_CNPRDCTC_1850 - 1850_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC + 1850_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC BGCEXP_BCRC_CNPRDCTC_1850S - 1850_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BCRC + 1850_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BCRC BGCEXP_BCRC_CNPRDCTC_20TR - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC BGCEXP_BCRC_CNPRDCTC_20TRS - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BCRC + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BCRC BGCEXP_BCRD_CNPRDCTC_20TR - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRD + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRD BGCEXP_BCRD_CNPRDCTC_20TRS - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BCRD + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BCRD BGCEXP_BDRC_CNPRDCTC_20TR - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRC + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRC BGCEXP_BDRC_CNPRDCTC_20TRS - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BDRC + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BDRC BGCEXP_BDRD_CNPRDCTC_20TR - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRD + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRD BGCEXP_BDRD_CNPRDCTC_20TRS - 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BDRD + 20TR_CAM5%CMIP6_CLM45%CNPRDCTCBC_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV_BGC%BDRD BGCEXP_BCRC_CNPECACNT_1850 - 1850_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC + 1850_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC BGCEXP_BCRC_CNPECACNT_20TR - 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC + 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRC BGCEXP_BCRD_CNPECACNT_20TR - 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRD + 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BCRD BGCEXP_BDRC_CNPECACNT_20TR - 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRC + 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRC BGCEXP_BDRD_CNPECACNT_20TR - 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASCICE%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRD + 20TR_CAM5%CMIP6_CLM45%CNPECACNTBC_MPASSI%BGC_MPASO%OIECOOIDMS_MOSART_SGLC_SWAV_BGC%BDRD A_WCYCL1850-DIB - 1850_CAM5%AV1C-L_CLM45%SPBC_MPASCICE%DIB_MPASO%IB_MOSART_SGLC_SWAV + 1850_CAM5%AV1C-L_CLM45%SPBC_MPASSI%DIB_MPASO%IB_MOSART_SGLC_SWAV A_WCYCL1850-DIB-ISMF - 1850_CAM5%AV1C-L_CLM45%SPBC_MPASCICE%DIB_MPASO%IBISMF_MOSART_SGLC_SWAV + 1850_CAM5%AV1C-L_CLM45%SPBC_MPASSI%DIB_MPASO%IBISMF_MOSART_SGLC_SWAV A_WCYCL1850-DIB_CMIP6 - 1850_CAM5%CMIP6_CLM45%SPBC_MPASCICE%DIB_MPASO%IB_MOSART_SGLC_SWAV + 1850_CAM5%CMIP6_CLM45%SPBC_MPASSI%DIB_MPASO%IB_MOSART_SGLC_SWAV A_WCYCL1850-DIB-ISMF_CMIP6 - 1850_CAM5%CMIP6_CLM45%SPBC_MPASCICE%DIB_MPASO%IBISMF_MOSART_SGLC_SWAV + 1850_CAM5%CMIP6_CLM45%SPBC_MPASSI%DIB_MPASO%IBISMF_MOSART_SGLC_SWAV A_WCYCL1850_v0atm - 1850_CAM5_CLM45%SP_MPASCICE_MPASO_MOSART_SGLC_SWAV + 1850_CAM5_CLM45%SP_MPASSI_MPASO_MOSART_SGLC_SWAV A_WCYCL2000_v0atm - 2000_CAM5_CLM45%SP_MPASCICE_MPASO_MOSART_SGLC_SWAVi + 2000_CAM5_CLM45%SP_MPASSI_MPASO_MOSART_SGLC_SWAVi A_WCYCL1850S_v0atm - 1850_CAM5_CLM45%SP_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV + 1850_CAM5_CLM45%SP_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAV A_WCYCL2000S_v0atm - 2000_CAM5_CLM45%SP_MPASCICE%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAVi + 2000_CAM5_CLM45%SP_MPASSI%SPUNUP_MPASO%SPUNUP_MOSART_SGLC_SWAVi @@ -259,13 +259,13 @@ A_BG1850CN - 1850_CAM5_CLM45%CN_MPASCICE_MPASO_MOSART_MALI%SIA_SWAV + 1850_CAM5_CLM45%CN_MPASSI_MPASO_MOSART_MALI%SIA_SWAV MPAS_LISIO_TEST - 2000_DATM%NYF_SLND_MPASCICE_MPASO_DROF%NYF_MALI%SIA_SWAV + 2000_DATM%NYF_SLND_MPASSI_MPASO_DROF%NYF_MALI%SIA_SWAV diff --git a/config/e3sm/allactive/config_pesall.xml b/config/e3sm/allactive/config_pesall.xml index 86739a4f92dc..52a3d285dc9b 100644 --- a/config/e3sm/allactive/config_pesall.xml +++ b/config/e3sm/allactive/config_pesall.xml @@ -1237,7 +1237,7 @@ - + none @@ -4552,7 +4552,7 @@ - + ne30_ne30 grid on 40 nodes 36 ppn pure-MPI 1350 @@ -4585,7 +4585,7 @@ 0 - + 77x36x1 2700 @@ -4618,7 +4618,7 @@ 0 - + 152x36x1 5400 @@ -4656,16 +4656,16 @@ - default,20nodes*36tasks*1threads + default,4nodes*36tasks*1threads - 720 - 720 - 720 - 720 - 720 - 720 - 720 - 720 + 144 + 144 + 144 + 144 + 144 + 144 + 144 + 144 1 @@ -6030,7 +6030,7 @@ - + "133 node version gets 6 SYPD. This will be the default and M size" 2700 @@ -6067,7 +6067,7 @@ - + "39 node version gets 2.1 SYPD." 675 @@ -6104,7 +6104,7 @@ - + "285 node version gets 11.5 SYPD" 5400 @@ -6141,7 +6141,7 @@ - + "185 nodes, 32x1, ~5sypd (wmod185)" 5400 @@ -6174,7 +6174,7 @@ 0 - + "15 nodes, 32x1, ~.5sypd (wmod015)" 288 @@ -6211,7 +6211,7 @@ - + "cori-knl ne30 coupled compest on 120 nodes, 64x1 (2 threads CPL/OCN/ICE), (kmod125) sypd=4.1" 64 128 @@ -6246,7 +6246,7 @@ 0 - + "cori-knl ne30 coupled compest on 60 nodes, 67x2, (kmod060b) sypd=2.86" 67 268 @@ -6281,7 +6281,7 @@ 0 - + "cori-knl ne30 coupled compest on 31 nodes, 67x2, (kmod031b) sypd=1.71" 67 134 @@ -6316,7 +6316,7 @@ 0 - + "cori-knl ne30 coupled compest on 17 nodes, 67x4, (kmod017) sypd=1.12" 67 268 @@ -6455,7 +6455,7 @@ - + none 675 @@ -6492,7 +6492,7 @@ - + none 1024 @@ -6566,7 +6566,7 @@ - + none 9600 @@ -6603,7 +6603,7 @@ - + none 9600 @@ -6640,7 +6640,7 @@ - + ne120 coupled-compset on 1024 nodes 2700 @@ -6673,7 +6673,7 @@ 0 - + ne120 coupled-compset on 2048 nodes 5400 @@ -6706,7 +6706,7 @@ 0 - + ne120 coupled-compset on 4096 nodes 10800 @@ -6916,7 +6916,7 @@ 0 - + ne120-wcycl on 145 nodes, MPI-only 64 64 @@ -6951,7 +6951,7 @@ 0 - + ne120-wcycl on 145 nodes, threaded 256 64 @@ -6986,7 +6986,7 @@ 0 - + ne120 coupled-compset on 466 nodes 64 64 @@ -7021,7 +7021,7 @@ 0 - + ne120-wcycl on 863 nodes, MPI-only 64 64 @@ -7056,7 +7056,7 @@ 0 - + ne120-wcycl on 863 nodes, threaded 128 64 @@ -7091,7 +7091,7 @@ 0 - + ne120-wcycl on 825 nodes, threaded, 32 tasks/node 128 32 @@ -7126,7 +7126,7 @@ 0 - + ne120-wcycl on 800 nodes, threaded, 32 tasks/node 128 32 @@ -7163,7 +7163,7 @@ - + cori-knl ne120 coupled compset on 1025 nodes, 33x8, (hmod1025vc) s=1.0 33 264 @@ -7198,7 +7198,7 @@ 0 - + cori-knl ne120 coupled-compset on 448 nodes, 33x8, (hmod448b) sypd=0.69 wcosplite s=0.54 33 264 @@ -7233,7 +7233,7 @@ 0 - + cori-knl ne120 coupled-compset on 207 nodes, 33x8, (hmod207) sypd=0.37 33 264 @@ -7268,7 +7268,7 @@ 0 - + cori-knl ne120 coupled-compset on 131 nodes, 33x8, (hmod131) sypd=0.25 33 264 @@ -7506,7 +7506,7 @@ - + -compset A_WCYCL* -res ne30_oEC* on 32 nodes pure-MPI 675 @@ -7539,7 +7539,7 @@ 0 - + -compset A_WCYCL* -res ne30_oEC* on 54 nodes pure-MPI 1350 @@ -7572,7 +7572,7 @@ 0 - + -compset A_WCYCL* -res ne30_oEC* on 105 nodes pure-MPI 2700 @@ -7607,7 +7607,7 @@ - + ne30-wcycl on 8 nodes 128 64 @@ -7642,7 +7642,7 @@ 0 - + ne30-wcycl on 128 nodes 128 64 @@ -7817,7 +7817,7 @@ 0 - + none 96 @@ -7850,7 +7850,7 @@ 0 - + none 96 @@ -7988,7 +7988,7 @@ - + "cori-knl ne4 coupled compest on 6 nodes, sypd=22.9" 67 134 @@ -8075,7 +8075,7 @@ - + "edison ne4 coupled compest on 6 nodes, OCN by itself on 2 nodes sypd=45.2" 96 @@ -8135,7 +8135,7 @@ - + 30to10-gmpas on 128 nodes 128 64 @@ -8172,7 +8172,7 @@ - + cori-knl G 30to10 on 52 nodes, 64x2 64 128 @@ -8209,7 +8209,7 @@ - + cori-haswell G 30to10 on 48 nodes 512 @@ -8244,7 +8244,7 @@ - + cori-knl G 30to10 on 128 nodes 1024 @@ -8279,7 +8279,7 @@ - + 30to10-gmpas on 32 nodes 16 16 @@ -8390,7 +8390,7 @@ - + cori-knl, hires (18to6) G case on 150 nodes, 64x2, sypd=0.5 64 128 @@ -8419,7 +8419,7 @@ - + cori-knl, lowres (60to30) G case on 16 nodes, 64x2, sypd=2.42 64 128 diff --git a/config/e3sm/config_archive.xml b/config/e3sm/config_archive.xml index 9832355e6f10..afe05a45aa0d 100644 --- a/config/e3sm/config_archive.xml +++ b/config/e3sm/config_archive.xml @@ -74,7 +74,7 @@ - + rst rst.am.timeSeriesStatsMonthly hist @@ -85,10 +85,10 @@ rpointer.ice - mpascice.rst.1976-01-01_00000.nc - mpascice.rst.am.timeSeriesStatsMonthly.1976-01-01_00000.nc - mpascice.hist.1976-01-01_00000.nc - mpascice.hist.am.regionalStatistics.0001.01.nc + mpassi.rst.1976-01-01_00000.nc + mpassi.rst.am.timeSeriesStatsMonthly.1976-01-01_00000.nc + mpassi.hist.1976-01-01_00000.nc + mpassi.hist.am.regionalStatistics.0001.01.nc diff --git a/config/e3sm/machines/config_batch.xml b/config/e3sm/machines/config_batch.xml index a5cf2c330a96..1967d14de665 100644 --- a/config/e3sm/machines/config_batch.xml +++ b/config/e3sm/machines/config_batch.xml @@ -265,7 +265,6 @@ - -A {{ PROJECT }} @@ -277,12 +276,7 @@ - - - - -A {{ PROJECT }} - -l nodes={{ num_nodes }}:ppn={{ tasks_per_node }} - + acme @@ -296,7 +290,6 @@ - -A {{ project }} @@ -393,6 +386,16 @@ + + + --output=slurm.out + --error=slurm.err + + + slurm + + + --ntasks-per-node={{ tasks_per_node }} diff --git a/config/e3sm/machines/config_compilers.xml b/config/e3sm/machines/config_compilers.xml index 6bc3cdc6b63e..4e27b7ebf97b 100644 --- a/config/e3sm/machines/config_compilers.xml +++ b/config/e3sm/machines/config_compilers.xml @@ -260,7 +260,8 @@ for mct, etc. -O0 -g - -std=c++11 -fp-model source -qopenmp + -std=c++11 -fp-model source + -qopenmp -O0 -g -O2 @@ -716,11 +717,12 @@ for mct, etc. - -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY + -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY gpfs - $SHELL{$ENV{NETCDF_PATH}/bin/nf-config --flibs} -llapack -lblas + $SHELL{$ENV{NETCDF_FORTRAN_PATH}/bin/nf-config --flibs} -L$ENV{MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl + $SHELL{$ENV{NETCDF_C_PATH}/bin/nc-config --libs} @@ -745,7 +747,8 @@ for mct, etc. gpfs - $SHELL{$ENV{NETCDF_PATH}/bin/nf-config --flibs} -Wl,-rpath -Wl,$ENV{NETCDF_PATH}/lib + $SHELL{$ENV{NETCDF_FORTRAN_PATH}/bin/nf-config --flibs} + $SHELL{$ENV{NETCDF_C_PATH}/bin/nc-config --libs} -mkl @@ -1050,6 +1053,50 @@ for mct, etc. + + + -O2 + + + --host=Linux + + + -DLINUX + + + -O2 + -g -traceback -O0 -fpe0 -check all -check noarg_temp_created -ftrapuv -init=snan + + $ENV{NETCDF_HOME} + $ENV{PNETCDF_HOME} + lustre + + -lpmi -L$NETCDF_PATH/lib -lnetcdf -lnetcdff -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt $ENV{PNETCDF_LIBRARIES} + + + + + + -O2 + + + --host=Linux + + + -DLINUX + + + -O2 + -C -Mbounds -traceback -Mchkfpstk -Mchkstk -Mdalign -Mdepchk -Mextend -Miomutex -Mrecursive -Ktrap=fp -O0 -g -byteswapio -Meh_frame + + $ENV{NETCDF_HOME} + lustre + $ENV{PNETCDF_HOME} + + -lpmi -L$NETCDF_PATH/lib -lnetcdf -lnetcdff -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt $ENV{PNETCDF_LIBRARIES} + + + --host=Linux @@ -1801,12 +1848,12 @@ ntel/x86_64/2013/composer_xe_2013/composer_xe_2013_sp1.3.174/mkl/include -L$ENV{PNETCDF_PATH}/lib -lpnetcdf -L$ENV{HDF5_PATH}/lib -lhdf5_hl -lhdf5 -Wl,--relax -Wl,--allow-multiple-definition - mpixlc - mpixlC - mpixlf + mpicc + mpicxx + mpif90 gpfs xlc_r - xlf_r + xlf90_r diff --git a/config/e3sm/machines/config_machines.xml b/config/e3sm/machines/config_machines.xml index 5addae9e9316..7fe582ac5e09 100644 --- a/config/e3sm/machines/config_machines.xml +++ b/config/e3sm/machines/config_machines.xml @@ -1126,11 +1126,11 @@ ANL/LCRC Linux Cluster - blogin.*.lcrc.anl.gov + blueslogin.*.lcrc.anl.gov LINUX - intel,gnu,pgi + intel,gnu mvapich,openmpi - ACME + condo /lcrc/group/acme .* /lcrc/group/acme/$USER/acme_scratch/anvil @@ -1138,109 +1138,91 @@ /home/ccsm-data/inputdata/atm/datm7 /lcrc/group/acme/$USER/archive/$CASE /lcrc/group/acme/acme_baselines/$COMPILER - /home/ccsm-data/tools/cprnc + /lcrc/group/acme/tools/cprnc/cprnc 8 e3sm_integration - pbs + slurm E3SM 36 36 FALSE - - mpiexec - - -n {{ total_tasks }} - --map-by ppr:{{ tasks_per_numa }}:socket:PE=$ENV{OMP_NUM_THREADS} --bind-to core - - - - - mpiexec + + srun - -l - -n {{ total_tasks }} + -l -n {{ total_tasks }} - - /etc/profile.d/a_softenv.csh - /etc/profile.d/a_softenv.sh - soft - soft + + /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/sh;export MODULEPATH=/blues/gpfs/software/centos7/spack-0.12.1/share/spack/lmod/linux-centos7-x86_64/Core + /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/csh;setenv MODULEPATH /blues/gpfs/software/centos7/spack-0.12.1/share/spack/lmod/linux-centos7-x86_64/Core + /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/env_modules_python.py + export MODULEPATH=/blues/gpfs/software/centos7/spack-0.12.1/share/spack/lmod/linux-centos7-x86_64/Core;/home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/libexec/lmod python + module + module - +cmake-2.8.12 - +python-2.7 - - - +intel-17.0.0 - +netcdf-c-4.4.1-f77-4.4.4-intel-17.0.0-serial + - +mvapich2-2.2-intel-17.0.0-acme - +pnetcdf-1.7.0-intel-17.0.0-mvapich2-2.2-acme + intel/17.0.4-74uvhji + intel-mkl/2017.3.196-v7uuj6z + netcdf/4.4.1-magkugi + netcdf-fortran/4.4.4-7obsouy + mvapich2/2.2-verbs-lxc4y7i + cmake - +openmpi-2.0.1-intel-17.0.0-acme - +pnetcdf-1.7.0-intel-17.0.0-openmpi-2.0.1-acme + intel/17.0.0-yil23id + intel-mkl/2017.0.098-gqttdpp + netcdf/4.4.1-qy35uvc + netcdf-fortran/4.4.4-2jrvsdv + openmpi/2.0.1-verbs-id2i464 + cmake/3.14.1-ymmizo4 - +gcc-5.3.0 - +netcdf-c-4.4.0-f77-4.4.3-gcc-5.3.0-serial + gcc/8.2.0-g7hppkz + intel-mkl/2018.4.274-2amycpi + hdf5/1.8.16-mz7lmxh + netcdf/4.4.1-xkjcghm + netcdf-cxx/4.2-kyva3os + netcdf-fortran/4.4.4-mpstomu - +mvapich2-2.2b-gcc-5.3.0-acme - +pnetcdf-1.6.1-gcc-5.3.0-mvapich2-2.2b-acme + mvapich2/2.3.1-verbs-wcfqbl5 - +openmpi-1.10.2-gcc-5.3.0-acme - +pnetcdf-1.6.1-gcc-5.3.0-openmpi-1.10.2-acme - - - +pgi-16.3 - +netcdf-c-4.4.0-f77-4.4.3-pgi-16.3-serial - - - +mvapich2-2.2b-pgi-16.3-acme - +pnetcdf-1.6.1-pgi-16.3-mvapich2-2.2b-acme - - - +openmpi-1.10.2-pgi-16.3-acme - +pnetcdf-1.6.1-pgi-16.3-openmpi-1.10.2-acme + openmpi/3.1.3-verbs-q4swt25 $CIME_OUTPUT_ROOT/$CASE/run $CIME_OUTPUT_ROOT/$CASE/bld + 0.1 + 1000 - $SHELL{which nf-config | xargs dirname | xargs dirname} + $SHELL{which nc-config | xargs dirname | xargs dirname} + $SHELL{which nf-config | xargs dirname | xargs dirname} + /lcrc/group/acme/soft/perl/5.26.0/bin:$ENV{PATH} - - $SHELL{which pnetcdf_version | xargs dirname | xargs dirname} + + /blues/gpfs/home/software/climate/pnetcdf/1.6.1/intel-17.0.4/mvapich2-2.2-verbs + + + 1 + 1 + 2 64M - 1 - - - scatter - - - verbose,scatter - verbose - - 1 - 1 - 1 - - - - $SHELL{t=$ENV{OMP_NUM_THREADS};b=0;r=$[36/$t];while [ $r -gt 0 ];do printf "$b-$[$b+$t-1]:";((r--));((b=b+t));done;} + + granularity=thread,scatter + 1 - - 1 + + spread + threads @@ -1276,9 +1258,7 @@ /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/sh /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/csh - /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/perl /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/init/env_modules_python.py - /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/libexec/lmod perl /home/software/spack-0.10.1/opt/spack/linux-centos7-x86_64/gcc-4.8.5/lmod-7.4.9-ic63herzfgw5u3na5mdtvp3nwxy6oj2z/lmod/lmod/libexec/lmod python module module @@ -1292,17 +1272,19 @@ gcc/7.1.0-4bgguyp - + intel-mpi/2017.3-dfphq6k + parallel-netcdf/1.6.1 + + + mvapich2/2.2-n6lclff + parallel-netcdf/1.6.1-mvapich2.2 cmake netcdf/4.4.1.1-prsuusl netcdf-fortran/4.4.4-ojwazvy - - parallel-netcdf/1.6.1 - $CIME_OUTPUT_ROOT/$CASE/run $CIME_OUTPUT_ROOT/$CASE/bld @@ -1422,8 +1404,10 @@ python git - intel - mvapich2 + intel/18.0.1 + pnetcdf/1.9.0 + mvapich2 + mvapich2/2.2 netcdf-fortran/4.4.4 pnetcdf/1.9.0 @@ -1432,6 +1416,7 @@ /p/lscratchh/$CCSMUSER/$CASE/bld /usr/tce/packages/netcdf-fortran/netcdf-fortran-4.4.4-intel-18.0.1/ + /usr/tce/packages/netcdf-fortran/netcdf-fortran-4.4.4-intel-18.0.1/ /usr/tce/packages/pnetcdf/pnetcdf-1.9.0-intel-18.0.1-mvapich2-2.2/ @@ -1472,8 +1457,10 @@ python git - intel - mvapich2 + intel/18.0.1 + pnetcdf/1.9.0 + mvapich2 + mvapich2/2.2 netcdf-fortran/4.4.4 pnetcdf/1.9.0 @@ -1482,6 +1469,7 @@ /p/lscratchh/$CCSMUSER/$CASE/bld /usr/tce/packages/netcdf-fortran/netcdf-fortran-4.4.4-intel-18.0.1/ + /usr/tce/packages/netcdf-fortran/netcdf-fortran-4.4.4-intel-18.0.1/ /usr/tce/packages/pnetcdf/pnetcdf-1.9.0-intel-18.0.1-mvapich2-2.2/ @@ -1992,6 +1980,73 @@ + + PNL E3SM Intel Xeon Gold 6148(Skylake) nodes, OS is Linux, SLURM + compy + LINUX + intel,pgi + mvapich2 + /compyfs/$USER/e3sm_scratch + /compyfs/inputdata + /compyfs/inputdata/atm/datm7 + /compyfs/$USER/e3sm_scratch/archive/$CASE + /compyfs/e3sm_baselines/$COMPILER + /compyfs/e3sm_baselines/cprnc/cprnc + 8 + slurm + bibi.mathew -at- pnnl.gov + 40 + 40 + TRUE + + + + + srun + + --mpi=none + --ntasks={{ total_tasks }} + --cpu_bind=sockets --cpu_bind=verbose + --kill-on-bad-exit + + + + /share/apps/modules/init/perl.pm + /share/apps/modules/init/python.py + /etc/profile.d/modules.csh + /etc/profile.d/modules.sh + /share/apps/modules/bin/modulecmd perl + /share/apps/modules/bin/modulecmd python + module + module + + + + + intel/19.0.3 + + + pgi/18.10 + + + mvapich2/2.3.1 + + + netcdf/4.6.3 + pnetcdf/1.9.0 + mkl/2019u3 + + + $CIME_OUTPUT_ROOT/$CASE/run + $CIME_OUTPUT_ROOT/$CASE/bld + + 64M + $ENV{NETCDF_ROOT}/ + + + $ENV{MKLROOT} + + ORNL XK6, os is Linux, 32 pes/node, batch system is PBS @@ -3029,8 +3084,8 @@ python/3.5.2 subversion/1.9.3 git/2.13.0 - cmake/3.9.2 - essl/6.1.0-20180406 + cmake/3.13.4 + essl/6.1.0-2 netlib-lapack/3.8.0 @@ -3051,13 +3106,13 @@ - spectrum-mpi/10.2.0.10-20181214 + spectrum-mpi/10.2.0.11-20190201 - spectrum-mpi/10.2.0.10-20181214 + spectrum-mpi/10.2.0.11-20190201 - spectrum-mpi/10.2.0.10-20181214 + spectrum-mpi/10.2.0.11-20190201 @@ -3097,6 +3152,8 @@ $ENV{OLCF_HDF5_ROOT} + + romio314 $ENV{OLCF_PARALLEL_NETCDF_ROOT} diff --git a/config/e3sm/machines/config_pio.xml b/config/e3sm/machines/config_pio.xml index 65f503aeada2..566a889c0c93 100644 --- a/config/e3sm/machines/config_pio.xml +++ b/config/e3sm/machines/config_pio.xml @@ -61,6 +61,7 @@ netcdf netcdf netcdf + netcdf diff --git a/config/e3sm/machines/syslog.anvil b/config/e3sm/machines/syslog.anvil index d387b975cf9b..c342495f20df 100755 --- a/config/e3sm/machines/syslog.anvil +++ b/config/e3sm/machines/syslog.anvil @@ -8,28 +8,54 @@ set lid = $3 set run = $4 set timing = $5 set dir = $6 -set ncores = 0 # Wait until job task-to-node mapping information is output before saving output file. # Target length was determined empirically (maximum number of lines before job mapping # information starts + number of nodes), and it may need to be adjusted in the future. # (Note that calling script 'touch'es the e3sm log file before spawning this script, so that 'wc' does not fail.) -set nnodes = `qstat -f $jid | grep -F Resource_List.nodes | sed 's/ *Resource_List.nodes = *\([0-9]*\):ppn=*\([0-9]*\) */\1/' ` -@ target_lines = 25 + $nnodes +set nnodes = `squeue --noheader -o '%D' --job $jid | sed 's/^0*\([0-9]*\)/\1/' ` +if ("X$nnodes" == "X") set nnodes = 0 +@ target_lines = 150 + $nnodes sleep 10 set outlth = `wc \-l $run/e3sm.log.$lid | sed 's/ *\([0-9]*\) *.*/\1/' ` while ($outlth < $target_lines) sleep 60 set outlth = `wc \-l $run/e3sm.log.$lid | sed 's/ *\([0-9]*\) *.*/\1/' ` end -set remaining = `qstat -f $jid | grep -F Walltime.Remaining | sed 's/ *Walltime.Remaining = *\([0-9]*\) */\1/' ` + +set TimeLeft = `squeue --noheader -O 'timeleft' --job $jid ` +set TimeLeftwday = `echo $TimeLeft | grep '-' ` +if ("X$TimeLeftwday" == "X") then + set left_days = 0 + set TimeLeftwhour = `echo $TimeLeft | grep '.*:.*:.*' ` + if ("X$TimeLeftwhour" == "X") then + set left_hours = 0 + set left_mins = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\)/\1/' ` + set left_secs = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\)/\2/' ` + else + set left_hours = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\1/' ` + set left_mins = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\2/' ` + set left_secs = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\3/' ` + endif +else + set left_days = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\1/' ` + set left_hours = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\2/' ` + set left_mins = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\3/' ` + set left_secs = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\4/' ` +endif + +if ("X$left_days" == "X") set left_days = 0 +if ("X$left_hours" == "X") set left_hours = 0 +if ("X$left_mins" == "X") set left_mins = 0 +if ("X$left_secs" == "X") set left_secs = 0 +@ remaining = 86400 * $left_days + 3600 * $left_hours + 60 * $left_mins + $left_secs cat > $run/Walltime.Remaining < $dir/qstatr.$lid.$remaining - qstat -1 -n acme > $dir/qstatn.$lid.$remaining + squeue -t R -o "%.10i %.10P %.15u %.20a %.2t %.6D %.8C %.12M %.12l %j" > $dir/squeuef.$lid.$remaining + squeue -s | grep -v -F extern > $dir/squeues.$lid.$remaining endif while ($remaining > 0) @@ -47,8 +73,8 @@ while ($remaining > 0) echo "Wallclock time remaining: $remaining" >> $dir/cpl.log.$lid.step tail -n 4 $dir/cpl.log.$lid.step-all >> $dir/cpl.log.$lid.step /bin/cp --preserve=timestamps -u $timing/* $dir - qstat -r acme > $dir/qstatr.$lid.$remaining - qstat -1 -n acme > $dir/qstatn.$lid.$remaining + squeue -t R -o "%.10i %.10P %.15u %.20a %.2t %.6D %.8C %.12M %.12l %j" > $dir/squeuef.$lid.$remaining + squeue -s | grep -v -F extern > $dir/squeues.$lid.$remaining chmod a+r $dir/* # sleep $sample_interval set sleep_remaining = $sample_interval @@ -57,11 +83,34 @@ while ($remaining > 0) @ sleep_remaining = $sleep_remaining - 120 end sleep $sleep_remaining - set remaining = `qstat -f $jid | grep -F Walltime.Remaining | sed 's/ *Walltime.Remaining = *\([0-9]*\) */\1/' ` - if ("X$remaining" == "X") set remaining = 0 + # query remaining time + set TimeLeft = `squeue --noheader -O 'timeleft' --job $jid ` + set TimeLeftwday = `echo $TimeLeft | grep '-' ` + if ("X$TimeLeftwday" == "X") then + set left_days = 0 + set TimeLeftwhour = `echo $TimeLeft | grep '.*:.*:.*' ` + if ("X$TimeLeftwhour" == "X") then + set left_hours = 0 + set left_mins = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\)/\1/' ` + set left_secs = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\)/\2/' ` + else + set left_hours = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\1/' ` + set left_mins = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\2/' ` + set left_secs = `echo $TimeLeft | sed 's/^0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\3/' ` + endif + else + set left_days = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\1/' ` + set left_hours = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\2/' ` + set left_mins = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\3/' ` + set left_secs = `echo $TimeLeft | sed 's/^0*\([0-9]*\)-0*\([0-9]*\):0*\([0-9]*\):0*\([0-9]*\)/\4/' ` + endif + if ("X$left_days" == "X") set left_days = 0 + if ("X$left_hours" == "X") set left_hours = 0 + if ("X$left_mins" == "X") set left_mins = 0 + if ("X$left_secs" == "X") set left_secs = 0 + @ remaining = 86400 * $left_days + 3600 * $left_hours + 60 * $left_mins + $left_secs cat > $run/Walltime.Remaining << EOF2 $remaining $sample_interval EOF2 end - diff --git a/config/e3sm/tests.py b/config/e3sm/tests.py index 6f15715f2764..320bf0a7341c 100644 --- a/config/e3sm/tests.py +++ b/config/e3sm/tests.py @@ -48,8 +48,8 @@ "e3sm_atm_integration" : { "tests" : ( - "ERP_Ln9.ne4_ne4.FC5AV1C-L-AQUAP", - "SMS_Ld1.ne4_ne4.FC5AV1C-L-AQUAP.cam-clubb_only", + "ERP_Ln9.ne4_ne4.F-EAMv1-AQP1", + "SMS_Ld1.ne4_ne4.F-EAMv1-AQP1.cam-clubb_only", "PET_Ln5.ne4_ne4.FC5AV1C-L.allactive-mach-pet", "PEM_Ln5.ne4_ne4.FC5AV1C-L", "SMS_D_Ln5.ne4_ne4.FC5AV1C-L.cam-cosplite_nhtfrq5", @@ -113,7 +113,7 @@ "SMS.T62_oQU120_ais20.MPAS_LISIO_TEST", "SMS.f09_g16_a.IGCLM45_MLI", "SMS_P12x2.ne4_oQU240.A_WCYCL1850.allactive-mach_mods", - "SMS_B.ne4_ne4.FC5AV1C-L-AQUAP.cam-hommexx", + "SMS_B.ne4_ne4.F-EAMv1-AQP1.cam-hommexx", ) }, diff --git a/scripts/Tools/Makefile b/scripts/Tools/Makefile index 4c43c45d4066..da90013b0f0f 100644 --- a/scripts/Tools/Makefile +++ b/scripts/Tools/Makefile @@ -91,7 +91,10 @@ include $(CASEROOT)/Macros.make # Unless DEBUG mode is enabled, use NDEBUG to turn off assert statements. ifeq ($(strip $(DEBUG)),TRUE) - CPPDEFS += -DDEBUG + # e3sm still has components that cannot build with -DDEBUG + ifeq ($(CIME_MODEL),cesm) + CPPDEFS += -DDEBUG + endif else CPPDEFS += -DNDEBUG endif @@ -284,7 +287,6 @@ ifeq ($(strip $(USE_FMS)), TRUE) SLIBS += -lfms endif - # Set MOAB info if it is being used ifeq ($(strip $(USE_MOAB)), TRUE) ifdef MOAB_PATH @@ -439,32 +441,8 @@ endif ifeq ($(MODEL),driver) INCLDIR += -I$(EXEROOT)/atm/obj -I$(EXEROOT)/ice/obj -I$(EXEROOT)/ocn/obj -I$(EXEROOT)/glc/obj -I$(EXEROOT)/rof/obj -I$(EXEROOT)/wav/obj -I$(EXEROOT)/esp/obj -I$(EXEROOT)/iac/obj -# nagfor and gcc have incompatible LDFLAGS. -# nagfor requires the weird "-Wl,-Wl,," syntax. -# If done in config_compilers.xml, we break MCT. - ifeq ($(strip $(COMPILER)),nag) - ifeq ($(NETCDF_SEPARATE), FALSE) - SLIBS += -Wl,-Wl,,-rpath=$(LIB_NETCDF) - else ifeq ($(NETCDF_SEPARATE), TRUE) - SLIBS += -Wl,-Wl,,-rpath=$(LIB_NETCDF_C) - SLIBS += -Wl,-Wl,,-rpath=$(LIB_NETCDF_FORTRAN) - endif - endif -else - ifeq ($(strip $(COMPILER)),nag) - ifeq ($(DEBUG), TRUE) - ifeq ($(strip $(MACH)),hobart) - # GCC needs to be able to link to - # nagfor runtime to get autoconf - # tests to work. - CFLAGS += -Wl,--as-needed,--allow-shlib-undefined - SLIBS += -L$(COMPILER_PATH)/lib/NAG_Fortran -lf62rts - endif - endif - endif endif - ifndef MCT_LIBDIR MCT_LIBDIR=$(INSTALL_SHAREDPATH)/lib endif @@ -514,15 +492,9 @@ else ifeq ($(NETCDF_SEPARATE), TRUE) CONFIG_ARGS += NETCDF_PATH=$(NETCDF_C_PATH) endif -ifeq ($(COMPILER),nag) - CONFIG_ARGS += LIBS="$(SLIBS)" -endif - FFLAGS += $(FPPDEFS) FFLAGS_NOOPT += $(FPPDEFS) - - ifeq ($(findstring -cosp,$(CAM_CONFIG_OPTS)),-cosp) # The following is for the COSP simulator code: COSP_LIBDIR:=$(abspath $(EXEROOT)/atm/obj/cosp) diff --git a/scripts/lib/CIME/Servers/wget.py b/scripts/lib/CIME/Servers/wget.py index eb6857918845..a045676b901a 100644 --- a/scripts/lib/CIME/Servers/wget.py +++ b/scripts/lib/CIME/Servers/wget.py @@ -15,9 +15,9 @@ def __init__(self, address, user='', passwd=''): self._args += "--password {} ".format(passwd) self._server_loc = address - err = run_cmd("wget {} --spider {}".format(self._args, address))[0] - expect(err == 0,"Could not connect to repo '{0}'\nThis is most likely either a proxy, or network issue .") - + cmd = "wget {} --no-check-certificate --spider {}".format(self._args, address) + err, output, _ = run_cmd(cmd, combine_output=True) + expect(err == 0,"Could not connect to repo via '{}'\nThis is most likely either a proxy, or network issue.\nOutput:\n{}".format(cmd, output.encode('utf-8'))) def fileexists(self, rel_path): full_url = os.path.join(self._server_loc, rel_path) @@ -30,9 +30,9 @@ def fileexists(self, rel_path): def getfile(self, rel_path, full_path): full_url = os.path.join(self._server_loc, rel_path) stat, output, errput = \ - run_cmd("wget {} {} -nc --output-document {}".format(self._args, full_url, full_path)) + run_cmd("wget {} {} -nc --no-check-certificate --output-document {}".format(self._args, full_url, full_path)) if (stat != 0): - logging.warning("wget failed with output: {} and errput {}\n".format(output, errput)) + logging.warning("wget failed with output: {} and errput {}\n".format(output.encode('utf-8'), errput.encode('utf-8'))) # wget puts an empty file if it fails. try: os.remove(full_path) @@ -46,7 +46,7 @@ def getfile(self, rel_path, full_path): def getdirectory(self, rel_path, full_path): full_url = os.path.join(self._server_loc, rel_path) stat, output, errput = \ - run_cmd("wget {} {} -r -N --no-directories ".format(self._args, full_url+os.sep), from_dir=full_path) + run_cmd("wget {} {} -r -N --no-check-certificate --no-directories ".format(self._args, full_url+os.sep), from_dir=full_path) logger.debug(output) logger.debug(errput) if (stat != 0): diff --git a/scripts/lib/CIME/SystemTests/system_tests_common.py b/scripts/lib/CIME/SystemTests/system_tests_common.py index ea5f29114b42..cb375ec7c43d 100644 --- a/scripts/lib/CIME/SystemTests/system_tests_common.py +++ b/scripts/lib/CIME/SystemTests/system_tests_common.py @@ -263,13 +263,20 @@ def _component_compare_copy(self, suffix): comments = copy(self._case, suffix) append_testlog(comments) - def _component_compare_test(self, suffix1, suffix2, success_change=False): + def _component_compare_test(self, suffix1, suffix2, + success_change=False, + ignore_fieldlist_diffs=False): """ Return value is not generally checked, but is provided in case a custom run case needs indirection based on success. - If success_change is True, success requires some files to be different - """ - success, comments = self._do_compare_test(suffix1, suffix2) + If success_change is True, success requires some files to be different. + If ignore_fieldlist_diffs is True, then: If the two cases differ only in their + field lists (i.e., all shared fields are bit-for-bit, but one case has some + diagnostic fields that are missing from the other case), treat the two cases + as identical. + """ + success, comments = self._do_compare_test(suffix1, suffix2, + ignore_fieldlist_diffs=ignore_fieldlist_diffs) if success_change: success = not success @@ -279,12 +286,13 @@ def _component_compare_test(self, suffix1, suffix2, success_change=False): self._test_status.set_status("{}_{}_{}".format(COMPARE_PHASE, suffix1, suffix2), status) return success - def _do_compare_test(self, suffix1, suffix2): + def _do_compare_test(self, suffix1, suffix2, ignore_fieldlist_diffs=False): """ Wraps the call to compare_test to facilitate replacement in unit tests """ - return compare_test(self._case, suffix1, suffix2) + return compare_test(self._case, suffix1, suffix2, + ignore_fieldlist_diffs=ignore_fieldlist_diffs) def _st_archive_case_test(self): result = self._case.test_env_archive() diff --git a/scripts/lib/CIME/SystemTests/system_tests_compare_two.py b/scripts/lib/CIME/SystemTests/system_tests_compare_two.py index 80ac99ca2c53..6958cf818240 100644 --- a/scripts/lib/CIME/SystemTests/system_tests_compare_two.py +++ b/scripts/lib/CIME/SystemTests/system_tests_compare_two.py @@ -52,7 +52,8 @@ def __init__(self, run_two_suffix = 'test', run_one_description = '', run_two_description = '', - multisubmit = False): + multisubmit = False, + ignore_fieldlist_diffs = False): """ Initialize a SystemTestsCompareTwo object. Individual test cases that inherit from SystemTestsCompareTwo MUST call this __init__ method. @@ -71,10 +72,16 @@ def __init__(self, when starting the second run. Defaults to ''. multisubmit (bool): Do first and second runs as different submissions. Designed for tests with RESUBMIT=1 + ignore_fieldlist_diffs (bool): If True, then: If the two cases differ only in + their field lists (i.e., all shared fields are bit-for-bit, but one case + has some diagnostic fields that are missing from the other case), treat + the two cases as identical. (This is needed for tests where one case + exercises an option that produces extra diagnostic fields.) """ SystemTestsCommon.__init__(self, case) self._separate_builds = separate_builds + self._ignore_fieldlist_diffs = ignore_fieldlist_diffs # run_one_suffix is just used as the suffix for the netcdf files # produced by the first case; we may eventually remove this, but for now @@ -250,7 +257,9 @@ def run_phase(self, success_change=False): # pylint: disable=arguments-differ # Case1 is the "main" case, and we need to do the comparisons from there self._activate_case1() self._link_to_case2_output() - self._component_compare_test(self._run_one_suffix, self._run_two_suffix, success_change=success_change) + self._component_compare_test(self._run_one_suffix, self._run_two_suffix, + success_change=success_change, + ignore_fieldlist_diffs=self._ignore_fieldlist_diffs) def copy_case1_restarts_to_case2(self): """ diff --git a/scripts/lib/CIME/hist_utils.py b/scripts/lib/CIME/hist_utils.py index fdc3c280da56..235555d4ccc8 100644 --- a/scripts/lib/CIME/hist_utils.py +++ b/scripts/lib/CIME/hist_utils.py @@ -237,7 +237,8 @@ def _hists_match(model, hists1, hists2, suffix1="", suffix2=""): return one_not_two, two_not_one, match_ups -def _compare_hists(case, from_dir1, from_dir2, suffix1="", suffix2="", outfile_suffix=""): +def _compare_hists(case, from_dir1, from_dir2, suffix1="", suffix2="", outfile_suffix="", + ignore_fieldlist_diffs=False): if from_dir1 == from_dir2: expect(suffix1 != suffix2, "Comparing files to themselves?") @@ -278,7 +279,8 @@ def _compare_hists(case, from_dir1, from_dir2, suffix1="", suffix2="", outfile_s for hist1, hist2 in match_ups: success, cprnc_log_file, cprnc_comment = cprnc(model, hist1, hist2, case, from_dir1, multiinst_driver_compare=multiinst_driver_compare, - outfile_suffix=outfile_suffix) + outfile_suffix=outfile_suffix, + ignore_fieldlist_diffs=ignore_fieldlist_diffs) if success: comments += " {} matched {}\n".format(hist1, hist2) else: @@ -304,21 +306,27 @@ def _compare_hists(case, from_dir1, from_dir2, suffix1="", suffix2="", outfile_s return all_success, comments -def compare_test(case, suffix1, suffix2): +def compare_test(case, suffix1, suffix2, ignore_fieldlist_diffs=False): """ Compares two sets of component history files in the testcase directory case - The case containing the hist files to compare suffix1 - The suffix that identifies the first batch of hist files suffix1 - The suffix that identifies the second batch of hist files + ignore_fieldlist_diffs (bool): If True, then: If the two cases differ only in their + field lists (i.e., all shared fields are bit-for-bit, but one case has some + diagnostic fields that are missing from the other case), treat the two cases as + identical. returns (SUCCESS, comments) """ rundir = case.get_value("RUNDIR") - return _compare_hists(case, rundir, rundir, suffix1, suffix2) + return _compare_hists(case, rundir, rundir, suffix1, suffix2, + ignore_fieldlist_diffs=ignore_fieldlist_diffs) -def cprnc(model, file1, file2, case, rundir, multiinst_driver_compare=False, outfile_suffix=""): +def cprnc(model, file1, file2, case, rundir, multiinst_driver_compare=False, outfile_suffix="", + ignore_fieldlist_diffs=False): """ Run cprnc to compare two individual nc files @@ -329,6 +337,10 @@ def cprnc(model, file1, file2, case, rundir, multiinst_driver_compare=False, out outfile_suffix - if non-blank, then the output file name ends with this suffix (with a '.' added before the given suffix). Use None to avoid permissions issues in the case dir. + ignore_fieldlist_diffs (bool): If True, then: If the two cases differ only in their + field lists (i.e., all shared fields are bit-for-bit, but one case has some + diagnostic fields that are missing from the other case), treat the two cases as + identical. returns (True if the files matched, log_name, comment) where 'comment' is either an empty string or one of the module-level constants @@ -376,8 +388,11 @@ def cprnc(model, file1, file2, case, rundir, multiinst_driver_compare=False, out elif "the two files seem to be DIFFERENT" in out: files_match = False elif "the two files DIFFER only in their field lists" in out: - files_match = False - comment = CPRNC_FIELDLISTS_DIFFER + if ignore_fieldlist_diffs: + files_match = True + else: + files_match = False + comment = CPRNC_FIELDLISTS_DIFFER else: expect(False, "Did not find an expected summary string in cprnc output") else: diff --git a/scripts/lib/CIME/provenance.py b/scripts/lib/CIME/provenance.py index 742b456be9e7..8d80a73f8302 100644 --- a/scripts/lib/CIME/provenance.py +++ b/scripts/lib/CIME/provenance.py @@ -17,9 +17,9 @@ def _get_batch_job_id_for_syslog(case): """ mach = case.get_value("MACH") try: - if mach in ['anvil', 'titan']: + if mach in ['titan']: return os.environ["PBS_JOBID"] - elif mach in ['edison', 'cori-haswell', 'cori-knl']: + elif mach in ['anvil', 'edison', 'cori-haswell', 'cori-knl']: return os.environ["SLURM_JOB_ID"] elif mach in ['mira', 'theta']: return os.environ["COBALT_JOBID"] @@ -186,17 +186,14 @@ def _save_prerun_timing_e3sm(case, lid): full_cmd = cmd + " " + filename run_cmd_no_fail(full_cmd + "." + lid, from_dir=full_timing_dir) gzip_existing_file(os.path.join(full_timing_dir, filename + "." + lid)) - - # mdiag_reduce = os.path.join(full_timing_dir, "mdiag_reduce." + lid) - # run_cmd_no_fail("./mdiag_reduce.csh", arg_stdout=mdiag_reduce, from_dir=os.path.join(caseroot, "Tools")) - # gzip_existing_file(mdiag_reduce) elif mach == "anvil": - for cmd, filename in [("qstat -f -1 acme >", "qstatf"), - ("qstat -f %s >" % job_id, "qstatf_jobid"), - ("qstat -r acme >", "qstatr")]: - full_cmd = cmd + " " + filename - run_cmd_no_fail(full_cmd + "." + lid, from_dir=full_timing_dir) - gzip_existing_file(os.path.join(full_timing_dir, filename + "." + lid)) + for cmd, filename in [("sinfo -l", "sinfol"), + ("squeue -o '%all' --job {}".format(job_id), "squeueall_jobid"), + ("squeue -o '%.10i %.10P %.15u %.20a %.2t %.6D %.8C %.12M %.12l %.20S %.20V %j'", "squeuef"), + ("squeue -t R -o '%.10i %R'", "squeues")]: + filename = "%s.%s" % (filename, lid) + run_cmd_no_fail(cmd, arg_stdout=filename, from_dir=full_timing_dir) + gzip_existing_file(os.path.join(full_timing_dir, filename)) elif mach == "summit": for cmd, filename in [("bjobs -u all >", "bjobsu_all"), ("bjobs -r -u all -o 'jobid slots exec_host' >", "bjobsru_allo"), @@ -362,7 +359,7 @@ def _save_postrun_timing_e3sm(case, lid): if mach == "titan": globs_to_copy.append("%s*OU" % job_id) elif mach == "anvil": - globs_to_copy.append("/home/%s/%s*OU" % (getpass.getuser(), job_id)) + globs_to_copy.append("%s*run*%s" % (case.get_value("CASE"), job_id)) elif mach in ["mira", "theta"]: globs_to_copy.append("%s*error" % job_id) globs_to_copy.append("%s*output" % job_id) diff --git a/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py b/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py index 694e586e0d99..d9757bb37061 100644 --- a/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py +++ b/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py @@ -179,7 +179,7 @@ def run_indv(self, suffix="base", st_archive=False): if caseroot not in self.run_pass_caseroot: raise RuntimeError('caseroot not in run_pass_caseroot') - def _do_compare_test(self, suffix1, suffix2): + def _do_compare_test(self, suffix1, suffix2, ignore_fieldlist_diffs=False): """ This fake implementation allows controlling whether compare_test passes or fails diff --git a/src/components/data_comps/datm/cime_config/config_component.xml b/src/components/data_comps/datm/cime_config/config_component.xml index 11ef218e9a0e..04c94974219f 100644 --- a/src/components/data_comps/datm/cime_config/config_component.xml +++ b/src/components/data_comps/datm/cime_config/config_component.xml @@ -10,12 +10,13 @@ This file may have atm desc entries. --> - Data driven ATM + Data driven ATM QIAN data set QIAN with water isotopes CRUNCEP data set CLM CRU NCEP v7 data set GSWP3v1 data set + NLDAS2 regional 0.125 degree data set over the U.S. (25-53N, 235-293E). WARNING: Garbage data will be produced for runs extending beyond this regional domain. Coupler hist data set (in this mode, it is strongly recommended that the model domain and the coupler history forcing are on the same domain) single point tower site data set COREv2 normal year forcing @@ -34,13 +35,14 @@ char - CORE2_NYF,CORE2_IAF,CLM_QIAN,CLM_QIAN_WISO,CLM1PT,CLMCRUNCEP,CLMCRUNCEPv7,CLMGSWP3v1,CPLHIST,CORE_IAF_JRA + CORE2_NYF,CORE2_IAF,CLM_QIAN,CLM_QIAN_WISO,CLM1PT,CLMCRUNCEP,CLMCRUNCEPv7,CLMGSWP3v1,CLMNLDAS2,CPLHIST,CORE_IAF_JRA CORE2_NYF run_component_datm env_run.xml Mode for data atmosphere component. CORE2_NYF (CORE2 normal year forcing) are modes used in forcing prognostic ocean/sea-ice components. - CLM_QIAN, CLMCRUNCEP, CLMCRUNCEPv7, CLMGSWP3v1 and CLM1PT are modes using observational data for forcing prognostic land components. + CLM_QIAN, CLMCRUNCEP, CLMCRUNCEPv7, CLMGSWP3v1, CLMNLDAS2 and CLM1PT are modes using observational data for forcing prognostic land components. + WARNING for CLMNLDAS2: This is a regional forcing dataset over the U.S. (25-53N, 235-293E). Garbage data will be produced for runs extending beyond this regional domain. CORE2_NYF CORE2_IAF @@ -50,6 +52,7 @@ CLMCRUNCEP CLMCRUNCEPv7 CLMGSWP3v1 + CLMNLDAS2 CLM1PT CPLHIST @@ -187,30 +190,27 @@ 1 - 1 1 1 1 - 1 + 1 1895 1901 1901 + $DATM_CLMNCEP_YR_START 1895 1901 1901 - 1 + $DATM_CLMNCEP_YR_START 2004 2005 2005 - 1 1 - 1 - 1 - 1 1 - 1 - 1 - 1 + $DATM_CLMNCEP_YR_START + $DATM_CLMNCEP_YR_START + $DATM_CLMNCEP_YR_START + $DATM_CLMNCEP_YR_START run_component_datm env_run.xml @@ -226,14 +226,17 @@ 1948 1901 1901 + 0 2000 1972 1948 1901 1901 + 0 1948 1901 1901 + 0 1948 1972 1991 @@ -247,6 +250,9 @@ 1991 2005 2002 + 1980 + 2005 + 2002 run_component_datm env_run.xml @@ -262,14 +268,17 @@ 1972 1920 1920 + -1 2004 2004 1972 1920 1920 + -1 1972 1920 1920 + -1 2004 2004 2010 @@ -283,6 +292,9 @@ 2010 2014 2003 + 2018 + 2014 + 2003 run_component_datm env_run.xml diff --git a/src/components/data_comps/datm/cime_config/namelist_definition_datm.xml b/src/components/data_comps/datm/cime_config/namelist_definition_datm.xml index 6c9d79c95944..a502d81ce66d 100644 --- a/src/components/data_comps/datm/cime_config/namelist_definition_datm.xml +++ b/src/components/data_comps/datm/cime_config/namelist_definition_datm.xml @@ -36,6 +36,7 @@ CLMCRUNCEP = Run with the CLM CRU NCEP V4 ( default ) forcing valid from 1900 to 2010 (force CLM) CLMCRUNCEPv7 = Run with the CLM CRU NCEP V7 forcing valid from 1900 to 2010 (force CLM) CLMGSWP3v1 = Run with the CLM GSWP3 V1 forcing (force CLM) + CLMNLDAS2 = Run with the CLM NLDAS2 regional forcing valid from 1980 to 2018 (force CLM) CLM1PT = Run with supplied single point data (force CLM) CORE2_NYF = CORE2 normal year forcing (for forcing POP and CICE) CORE2_IAF = CORE2 intra-annual year forcing (for forcing POP and CICE) @@ -96,6 +97,10 @@ CLMGSWP3v1.Precip CLMGSWP3v1.TPQW + CLMNLDAS2.Solar + CLMNLDAS2.Precip + CLMNLDAS2.TPQW + co2tseries.20tr co2tseries.20tr.latbnd co2tseries.rcp2.6 @@ -171,6 +176,7 @@ CLMCRUNCEP.Solar,CLMCRUNCEP.Precip,CLMCRUNCEP.TPQW CLMCRUNCEPv7.Solar,CLMCRUNCEPv7.Precip,CLMCRUNCEPv7.TPQW CLMGSWP3v1.Solar,CLMGSWP3v1.Precip,CLMGSWP3v1.TPQW + CLMNLDAS2.Solar,CLMNLDAS2.Precip,CLMNLDAS2.TPQW CORE2_NYF.GISS,CORE2_NYF.GXGXS,CORE2_NYF.NCEP CORE2_IAF.GCGCS.PREC,CORE2_IAF.GISS.LWDN,CORE2_IAF.GISS.SWDN,CORE2_IAF.GISS.SWUP,CORE2_IAF.NCEP.DN10,CORE2_IAF.NCEP.Q_10,CORE2_IAF.NCEP.SLP_,CORE2_IAF.NCEP.T_10,CORE2_IAF.NCEP.U_10,CORE2_IAF.NCEP.V_10,CORE2_IAF.CORE2.ArcFactor CORE_IAF_JRA.PREC,CORE_IAF_JRA.LWDN,CORE_IAF_JRA.SWDN,CORE_IAF_JRA.Q_10,CORE_IAF_JRA.SLP_,CORE_IAF_JRA.T_10,CORE_IAF_JRA.U_10,CORE_IAF_JRA.V_10,CORE_IAF_JRA.CORE2.ArcFactor @@ -196,6 +202,7 @@ $DIN_LOC_ROOT/share/domains/domain.clm $DIN_LOC_ROOT_CLMFORC/atm_forcing.datm7.cruncep_qianFill.0.5d.V5.c140715 $DIN_LOC_ROOT_CLMFORC/atm_forcing.datm7.GSWP3.0.5d.v1.c170516 + $DIN_LOC_ROOT/share/domains/domain.clm $DIN_LOC_ROOT/atm/datm7/NYF $DIN_LOC_ROOT/atm/datm7/CORE2 $DIN_LOC_ROOT/share/domains @@ -261,6 +268,7 @@ domain.lnd.360x720.130305.nc domain.lnd.360x720_gswp3.0v1.c170606.nc domain.lnd.360x720_gswp3.0v1.c170606.nc + domain.lnd.0.125nldas2_0.125nldas2.190410.nc nyf.giss.T62.051007.nc nyf.gxgxs.T62.051007.nc nyf.ncep.T62.050923.nc @@ -412,6 +420,9 @@ $DIN_LOC_ROOT_CLMFORC/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/Solar3Hrly $DIN_LOC_ROOT_CLMFORC/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/Precip3Hrly $DIN_LOC_ROOT_CLMFORC/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/TPHWL3Hrly + $DIN_LOC_ROOT/atm/datm7/atm_forcing.datm7.NLDAS2.0.125d.v1/Solar + $DIN_LOC_ROOT/atm/datm7/atm_forcing.datm7.NLDAS2.0.125d.v1/Precip + $DIN_LOC_ROOT/atm/datm7/atm_forcing.datm7.NLDAS2.0.125d.v1/TPQWL $DIN_LOC_ROOT/atm/datm7/NYF $DIN_LOC_ROOT/atm/datm7/CORE2 $DIN_LOC_ROOT/ocn/iaf @@ -485,6 +496,9 @@ clmforc.GSWP3.c2011.0.5x0.5.Solr.%ym.nc clmforc.GSWP3.c2011.0.5x0.5.Prec.%ym.nc clmforc.GSWP3.c2011.0.5x0.5.TPQWL.%ym.nc + ctsmforc.NLDAS2.0.125d.v1.Solr.%ym.nc + ctsmforc.NLDAS2.0.125d.v1.Prec.%ym.nc + ctsmforc.NLDAS2.0.125d.v1.TPQWL.%ym.nc nyf.giss.T62.051007.nc nyf.gxgxs.T62.051007.nc nyf.ncep.T62.050923.nc @@ -1810,6 +1824,19 @@ PSRF pbot FLDS lwdn + + FSDS swdn + + + PRECTmms precn + + + TBOT tbot + WIND wind + QBOT shum + PSRF pbot + FLDS lwdn + lwdn lwdn swdn swdn @@ -2017,6 +2044,7 @@ $DATM_CLMNCEP_YR_ALIGN $DATM_CLMNCEP_YR_ALIGN $DATM_CLMNCEP_YR_ALIGN + $DATM_CLMNCEP_YR_ALIGN 1 1 1 @@ -2057,6 +2085,7 @@ $DATM_CLMNCEP_YR_START $DATM_CLMNCEP_YR_START $DATM_CLMNCEP_YR_START + $DATM_CLMNCEP_YR_START 1 2010 2010 @@ -2123,6 +2152,7 @@ $DATM_CLMNCEP_YR_END $DATM_CLMNCEP_YR_END $DATM_CLMNCEP_YR_END + $DATM_CLMNCEP_YR_END 1 2011 2011 @@ -2371,6 +2401,7 @@ nn copy copy + copy nn @@ -2442,6 +2473,8 @@ nearest coszen nearest + coszen + nearest nearest nearest nearest diff --git a/src/components/xcpl_comps/xshare/mct/dead_mod.F90 b/src/components/xcpl_comps/xshare/mct/dead_mod.F90 index c1cd1748c4eb..a0724fd27834 100644 --- a/src/components/xcpl_comps/xshare/mct/dead_mod.F90 +++ b/src/components/xcpl_comps/xshare/mct/dead_mod.F90 @@ -47,6 +47,7 @@ subroutine dead_read_inparms(model, mpicom, my_task, master_task, & !--- formats --- character(*), parameter :: F00 = "('(dead_read_inparms) ',8a)" character(*), parameter :: F01 = "('(dead_read_inparms) ',a,a,4i8)" + character(*), parameter :: F02 = "('(dead_read_inparms) ',a,L2)" character(*), parameter :: F03 = "('(dead_read_inparms) ',a,a,i8,a)" character(*), parameter :: subName = "(dead_read_inpamrs) " !------------------------------------------------------------------------------- @@ -95,7 +96,7 @@ subroutine dead_read_inparms(model, mpicom, my_task, master_task, & write(logunit,F00) model,' inst_name : ',trim(inst_name) write(logunit,F00) model,' inst_suffix : ',trim(inst_suffix) if (model.eq.'rof') then - write(logunit,F01) ' Flood mode : ',flood + write(logunit,F02) ' Flood mode : ',flood endif write(logunit,F00) model call shr_sys_flush(logunit) diff --git a/src/drivers/mct/cime_config/config_component_e3sm.xml b/src/drivers/mct/cime_config/config_component_e3sm.xml index 57bb4cd7b32b..7da2b682fc0d 100644 --- a/src/drivers/mct/cime_config/config_component_e3sm.xml +++ b/src/drivers/mct/cime_config/config_component_e3sm.xml @@ -168,7 +168,7 @@ CESM1_MOD CESM1_MOD CESM1_MOD - RASM_OPTION1 + RASM_OPTION1 run_coupling env_run.xml @@ -202,16 +202,16 @@ CO2A CO2A CO2A - CO2A_OI - CO2A_OI - CO2C - CO2C - CO2C - CO2C - CO2C_OI - CO2C_OI - CO2C_OI - CO2C_OI + CO2A_OI + CO2A_OI + CO2C + CO2C + CO2C + CO2C + CO2C_OI + CO2C_OI + CO2C_OI + CO2C_OI run_coupling env_run.xml diff --git a/src/share/streams/shr_strdata_mod.F90 b/src/share/streams/shr_strdata_mod.F90 index 4903e4fde07e..ba170dddc63a 100644 --- a/src/share/streams/shr_strdata_mod.F90 +++ b/src/share/streams/shr_strdata_mod.F90 @@ -381,7 +381,7 @@ subroutine shr_strdata_init_model_domain(SDAT, mpicom, compid, my_task, & if (present(reset_domain_mask)) then if (reset_domain_mask) then - write(logunit,F00) ' Resetting the component domain mask and frac to 1' + if (my_task == master_task) write(logunit,F00) ' Resetting the component domain mask and frac to 1' kmask = mct_aVect_indexRA(SDAT%grid%data,'mask') SDAT%grid%data%rattr(kmask,:) = 1 diff --git a/src/share/util/shr_pio_mod.F90 b/src/share/util/shr_pio_mod.F90 index 855e715682bd..04461903423b 100644 --- a/src/share/util/shr_pio_mod.F90 +++ b/src/share/util/shr_pio_mod.F90 @@ -233,7 +233,7 @@ subroutine shr_pio_init2(comp_id, comp_name, comp_iamin, comp_comm, comp_comm_ia end do end if do i=1,total_comps - if(comp_iamin(i)) then + if(comp_iamin(i) .and. (comp_comm_iam(i) == 0)) then write(shr_log_unit,*) io_compname(i),' : pio_numiotasks = ',pio_comp_settings(i)%pio_numiotasks write(shr_log_unit,*) io_compname(i),' : pio_stride = ',pio_comp_settings(i)%pio_stride write(shr_log_unit,*) io_compname(i),' : pio_rearranger = ',pio_comp_settings(i)%pio_rearranger