Skip to content
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

Add explicit layerThicknessEdge variables #12

Commits on Feb 4, 2022

  1. Configuration menu
    Copy the full SHA
    3e1b219 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2022

  1. HOMME: pre-processor mods to handle SCREAM macro

    In a few places, we trigger the same behavior as for the CAM macro.
    bartgol committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    f6a6685 View commit details
    Browse the repository at this point in the history
  2. HOMME: use shr_file_mod [get|free]unit functions rather than EAM's

    EAM's functions are just wrapping share_file_mod's ones, without adding
    any logic. This way, we can use the module even if EAM is not used
    (e.g., for SCREAM builds).
    
    Also, fixed indentation of some if blocks in namelist_mod.F90
    bartgol committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    010222a View commit details
    Browse the repository at this point in the history
  3. HOMME: allow nsplit<1 in CXX initialization if SCREAM is defined

    This can happen for SCREAM, where dt is not known at the place
    where the initialization happen. It will instead be known
    only when timestepping is performed.
    
    To be safe, add a check at the beginning of prim_run_subcycle,
    to ensure nsplit has been set to a value>=1.
    bartgol committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    6367221 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f60bf0d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    674a056 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8d3f99c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    40af526 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c5c16ad View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5211435 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2022

  1. Upgrading to the new YAKL. There was an issue with FFTs. I had to add…

    … a noinline clause to the FFT init to fix it.
    mrnorman committed Feb 18, 2022
    Configuration menu
    Copy the full SHA
    082cd9e View commit details
    Browse the repository at this point in the history
  2. New YAKL

    mrnorman committed Feb 18, 2022
    Configuration menu
    Copy the full SHA
    7220dc4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a89589c View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2022

  1. fix typo

    oksanaguba committed Feb 25, 2022
    Configuration menu
    Copy the full SHA
    cd27000 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2022

  1. Configuration menu
    Copy the full SHA
    9590c42 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2022

  1. bug fix for ESMT FFT init

    whannah1 committed Mar 1, 2022
    Configuration menu
    Copy the full SHA
    a9e23a9 View commit details
    Browse the repository at this point in the history
  2. Add flags for GNU builds to allow using GNU v10 and higher versions.

    Add -fallow-argument-mismatch for all GNU builds (including gnugpu).
    
    Only add -fallow-invalid-boz for 2 specific files for gnu/gnugpu builds.
    
    This PR adds Depends.gnugpu.cmake which is similar to Depends.gnu.cmake
    
    [bfb]
    ndkeen committed Mar 1, 2022
    Configuration menu
    Copy the full SHA
    27666da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fff7a58 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2022

  1. Final version of ELM-Erosion v2

    Change the implementation of glacier factor
    
    Fix the soil texture type bug
    
    1) change the equation of snow cover effect on soil erosion; 2) use Manning's coefficient from MOSART
    
    revert to the vegetation-based Manning coefficient method
    
    Add ftillage_tc and flitho into the calculation of Tc
    
    Add the reference to ELM-Erosion v2
    tanzeli1982 committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    63d6fe3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a891c17 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ac2ad82 View commit details
    Browse the repository at this point in the history
  4. Update the code

    tanzeli1982 committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    f40b219 View commit details
    Browse the repository at this point in the history
  5. Update SedYieldMod.F90

    tktesfa2014 authored and tanzeli1982 committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    50bd4da View commit details
    Browse the repository at this point in the history
  6. Address review comments

    tanzeli1982 committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    af74cd6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    391f812 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    23ec351 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2022

  1. Merge branch E3SM-Project/ndk/machinefiles/gnuv10-flag-updateb (PR E3…

    …SM-Project#4822)
    
    Add flags for GNU builds to allow using GNU v10 and higher versions
    ndkeen authored Mar 4, 2022
    Configuration menu
    Copy the full SHA
    7a9174f View commit details
    Browse the repository at this point in the history
  2. Merge branch E3SM-Project/ndk/machinefiles/perlmutter-update-modules …

    …(PR E3SM-Project#4818)
    
    Update module versions on Perlmutter (including to gnu v10)
    ndkeen authored Mar 4, 2022
    Configuration menu
    Copy the full SHA
    1783b57 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'bartgol/homme/scream-ifdefs-and-nml-cleanup' (PR E3SM-P…

    …roject#4788)
    
    I added some ifdefs handling the SCREAM macro, mostly in namelist_mod (plus a couple occurrences in prim_[cxx]_driver_base.F90 init routines). These are needed in order for SCREAM to use the readnl subroutine in Homme (rather than dangerously rolling its own namelist parsing, which is what it was doing before).
    
    In addition, there are two cleanups:
    
        remove some warnings (unused vars, initialization order, inconsistent tabs);
        removed a few namelist options that were never used, either in components/homme or components/eam. By that I mean that no F90 module or C/CXX file was ever using, save for their appearance in control_mod and namelist_mod (which was just parsing them from nl file, and setting them in control_mod).
    
    Notes:
    
        The ifdef logics should not change anything for both EAM and standalone Homme.
        @oksanaguba @mt5555 I split the removal of the namelist options into separate commits, so that if one of them is indeed to be kept, I can simply revert that single commit.
        The PR changes 190 files, but most of them are homme namelists, where the purged namelist options have been removed.
        I added the 'HOMME' label (rather than 'HOMME standalone'), since this PR also touches the eam/bld folder, in order to remove a couple of the purged namelist options from namelist_definition.xml.
    
    Results from homme and hommebfb tests run by @oksanaguba:
    [ac.onguba@chrlogin2 ~]$ ~/ess/cs.status.20220228_121931_1jups0 | grep -i fail
      REP_Ln5.ne4_oQU240.F2010.chrysalis_intel (Overall: FAIL) details:
        FAIL REP_Ln5.ne4_oQU240.F2010.chrysalis_intel RUN time=1948
    [ac.onguba@chrlogin2 ~]$ ~/ess/cs.status.20220228_153258_5qqo8a | grep -i fail
        FAIL ERS.f19_g16.I1850GSWCNPECACNTBC.chrysalis_intel.elm-eca_f19_g16_I1850GSWCNPECACNTBC TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL ERS_Ln9.ne4pg2_oQU480.F20TR-MMFXX.chrysalis_intel.eam-mmf_use_VT TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL PET.f19_g16.X.chrysalis_intel.allactive-mach-pet MEMCOMP Error: Memory usage increase >5% from baseline's 1529.550000 to 1529.550000
        FAIL PET.f19_g16.X.chrysalis_intel.allactive-mach-pet TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL PET_Ln5.ne4_oQU240.F2010.chrysalis_intel.allactive-mach-pet TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL SMS.f09_g16_a.IGELM_MLI.chrysalis_intel TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL SMS_Ld20.f45_f45.IELMFATES.chrysalis_intel.elm-fates_rd TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL SMS.MOS_USRDAT.RMOSGPCC.chrysalis_intel.mosart-unstructure TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL SMS.ne30_f19_g16_rx1.A.chrysalis_intel TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
        FAIL SMS.ne4_oQU240.F2010.chrysalis_intel.eam-cosplite TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
    
    [BFB]
    AaronDonahue committed Mar 4, 2022
    Configuration menu
    Copy the full SHA
    2d2b723 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'azamat/elm/share-land-dev-test-exe' (PR E3SM-Project#4776)

    Reduce ELM test build times with shared executables.
    On Chrysalis,
    * before: 74 mins
    * after: 17 mins (4x faster)
    
    [BFB]
    amametjanov committed Mar 4, 2022
    Configuration menu
    Copy the full SHA
    cfd7ac4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    51b9c89 View commit details
    Browse the repository at this point in the history
  6. This should work around the lbounds and strides linking bugs in IBM a…

    …nd PGI compilers, but more testing is needed before merging to next again
    mrnorman committed Mar 4, 2022
    Configuration menu
    Copy the full SHA
    2a49fb4 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2022

  1. Upgrading YAKL again to enable __host__ __device__ atomics, which rem…

    …oves the need for usin gYAKL_DEVICE_LAMBDA
    mrnorman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    5ec41aa View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2022

  1. Merge branch 'azamat/chrys/update-openmpi-4.1.2' (PR E3SM-Project#4823)

    Update OpenMPI on Chrysalis.
    
    Addresses E3SM-Project#4819
    
    [BFB]
    sarich committed Mar 8, 2022
    Configuration menu
    Copy the full SHA
    28390a3 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2022

  1. Fix non-standard declarations of 8-byte integers in ESMF

    see MPAS-Dev/MPAS-Model#959
    
    This PR fixes non-standard declarations of 8-byte integers in ESMF_BaseMod.F90.
    
    The ESMF_BaseMod module contains several non-standard declarations of 8-byte
    integer variables. These were identified using the GNU compiler:
    
       ESMF_BaseMod.F90:75:20:
    
          75 |           integer*8 :: ptr
             |                    1
       Error: GNU Extension: Nonstandard type declaration INTEGER*8 at (1)
    
    and also using the NAG compiler:
    
       Error: ESMF_BaseMod.F90, line 75: KIND value (8) does not specify a valid representation method
       Error: ESMF_BaseMod.F90, line 163: KIND value (8) does not specify a valid representation method
    
    Since the ESMF_BaseMod module already defines a parameter for selecting 8-byte
    integers, namely, ESMF_KIND_I8, all that is needed is to move the definition of
    this (and related) parameters to appear earlier in the module and to then use
    
       integer(kind=ESMF_KIND_I8)
    
    rather than
    
       integer(kind=8)
    mark-petersen committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    d20e5ce View commit details
    Browse the repository at this point in the history
  2. Merge branch 'tanzeli/lnd/elm-erosion-v3' (PR E3SM-Project#4807)

    The new features added in this PR have been described and well validated in Tan et al. (2022). The new features include
    the impact of irrigation, conservation agriculture, crop residue, glacier and lithology on soil erosion and sediment yield. As
    the current ELM-Erosion, the model can be turned on by `use_erosion = .true.` and the erosion-bgc feedback can be
    turned on by `ero_ccycle = .true.`. I will create a new test to cover the new features later.
    
    Tan, Z., Leung, L. R., Li, H.-Y., & Cohen, S. (2022). Representing global soil erosion and sediment flux in Earth System
    Models. Journal of Advances in Modeling Earth Systems, 14, e2021MS002756. https://doi.org/10.1029/2021MS002756
    
    [BFB]
    bishtgautam committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    1036268 View commit details
    Browse the repository at this point in the history
  3. Removing deepcopy and nollvm from Makefile options for PGI OpenACC

    Adding new scalar type to pointer retrievals so that messy code does
       not need to be added for OpenACC modifications
    Removing unneeded use module statements in EOS routines
    Robert Robey authored and mark-petersen committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    7c29ca8 View commit details
    Browse the repository at this point in the history
  4. Revert "Removing deepcopy and nollvm from Makefile options for PGI Op…

    …enACC"
    
    This reverts commit c77d2a8.
    brobey authored and mark-petersen committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    0fcc348 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'mrnorman/new-yakl-2022-02-18' (E3SM-Project#4804)

    Upgrading to the latest YAKL. Includes performance improvements for CUDA and HIP as well as a bug (memory leak) fix for the pool allocator. The new YAKL also has a fully functioning SYCL backend for Intel GPUs.
    
    CUDA has what appears to be a compiler bug in the FFT routines. These have been worked around in the new YAKL. The FFT API changed by no longer requiring a parameter to init(). This has been reflected in pressure.cpp and crm_variance_transport.cpp
    
    An issue with the standalone samxx has been fixed, and new machine files have been added.
    
    This PR passes ./create_test SMS_Ld10_P6x7.ne4pg2_ne4pg2.F-MMFXX.summit_gnugpu.eam-rrtmgpxx
    
    [BFB]
    brhillman committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    2c69bef View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2022

  1. Extending OpenACC diagnostics up to time integration

    This is a combination of 17 commits.
    
        OpenACC changes for time integration
    
        Changing pgi-summit compile flags for OpenACC
        Adding scalar get_config routines to simplify OpenACC changes
        Adding GPU vector reconstruct routines
        Adding varinp_ scalar names as alternative to config_ input variable pointer names
        Cleaning up unused use statements in EOS
        Changing input coeff in EOS from pointer to scalar
    
        Starting to pull openacc directives out of diagnostics into time integration routines
    
        Changing diagnostics variables to create rather than copyin
        Moving some data movement out of diagnostics
    
    Moving more openacc data movement directives out of diagnositics routine
    
    Moving more OpenACC data movement directives out of diagnostics
    
    Moving rest of OpenACC copyins out of diagnostics
    
    Moving OpenACC data copyout movement directives out of diagnostic routine
    
    Moving more OpenACC data movement out of diagnostics
    
    Moving more OpenACC data movement directives out of diagnostic solve
    
    Moving more OpenACC data movement directives out of diagnostic solve
    
    Moving more OpenACC data movement directives out of diagnostic solve
    
    Adding use of varinp scalar variable in diagnostics routine to simplify OpenACC mods
    
    Extending out OpenACC region in time integration
    
    Extending OpenACC region in time integration routines
    
    Extending OpenACC region to include normal Barotropic/Baroclinic Velocity calcs
    
    Extending OpenACC region above Freq calcs
    
    Moving more OpenACC data directives out of diagnostics
    
    Moving remaining copyouts/updates out of diagnositic solve
    brobey committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    f5bb31e View commit details
    Browse the repository at this point in the history
  2. Merge branch 'mark-petersen/ocn/fortran-2008-compliance' (PR E3SM-Pro…

    …ject#4825)
    
    Fix non-standard declarations of 8-byte integers in ESMF in MPAS-Framework
    
    This PR fixes non-standard declarations of 8-byte integers in
    ESMF_BaseMod.F90. See the original PR for MPAS at
    MPAS-Dev/MPAS-Model#959. The ESMF_BaseMod module contains several non-
    standard declarations of 8-byte integer variables. These were identified
    using the GNU and NAG compilers.
    
    [BFB]
    jonbob committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    3af35f3 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2022

  1. Add gnu compiler support on Crusher.

    Changes:
    * add crusher node in config_machines.xml, config_batch.xml
    * create gnu_crusher.cmake
    * for testing amdclang and crayclang, cmake configurations for the compilers are also added
    * add CPRAMD macro in shr_infnan_mod.F90.in to use ieee arithmetic
    Youngsung Kim committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    d64cee6 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'ykim/crusher/gnupr' (PR E3SM-Project#4830)

    Add gnu compiler support on Crusher and AMD.
    
    Changes:
    
        add crusher configuration in config_machines.xml, config_batch.xml
        create gnu_crusher.cmake
        for testing amdclang and crayclang, cmake configurations for the compilers are also added
        add CPRAMD macro in shr_infnan_mod.F90.in to use ieee arithmetic
    
    [BFB]
    minxu74 authored Mar 11, 2022
    Configuration menu
    Copy the full SHA
    0dbafb0 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2022

  1. Merge branch 'brobey/mpas-ocean/openacc-split' (PR E3SM-Project#4813)

    Extending OpenACC diagnostics up to time integration
    
    Pulling OpenACC data movement directives up into top-level time
    integration routines and extending OpenACC region by:
    * Changing diagnostics variables to create rather than copyin
    * Changing pgi-summit compile flags for OpenACC
    * Adding scalar get_config routines to simplify OpenACC changes
    * Adding GPU vector reconstruct routines
    * Adding varinp_ scalar names as alternative to config_ input variable
      pointer names
    * Cleaning up unused use statements in EOS
    * Changing input coeff in EOS from pointer to scalar
    
    [BFB]
    jonbob committed Mar 14, 2022
    Configuration menu
    Copy the full SHA
    5bb7de1 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2022

  1. Configuration menu
    Copy the full SHA
    cc3f102 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6420d90 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bb4b24f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7383f5b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    70d28b9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    77fb3eb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6280f61 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    034b20f View commit details
    Browse the repository at this point in the history