Skip to content
Draft
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
0aa4ae7
fates json file handling and argument passing
rgknox Dec 17, 2025
f9ea743
build updates for eddi
rgknox Jan 23, 2026
d43471a
machine configs for eddi
rgknox Jan 23, 2026
578d646
re-ordering of the canopy flux process
rgknox Feb 9, 2026
c5830fe
added fates conditional to OMP directive, started to split out photos…
rgknox Feb 9, 2026
ae4d659
more refactors to canopy flux
rgknox Feb 10, 2026
d9bfc1c
fixed bsun/bsha argument passing
rgknox Feb 10, 2026
92814ac
removed print that was creatinng nan fail
rgknox Feb 10, 2026
6fc0daa
added leaf convergence counter
rgknox Feb 10, 2026
e2d0faf
set flag for completion of photosynthesis in FATES
rgknox Feb 11, 2026
e586191
Added fates_pproc, which is an alternative to clump_pproc when fates …
rgknox Feb 5, 2026
628427f
fates patch parallel
rgknox Feb 11, 2026
7368928
typo fix
rgknox Feb 6, 2026
62fbe00
updated controls for shared memory parallelism
rgknox Feb 12, 2026
54519d6
updates on shared memory controls
rgknox Feb 12, 2026
744a130
Working towards purifying routines out of canopy fluxes
rgknox Feb 15, 2026
89de915
removed unnecessary save attributes
rgknox Feb 15, 2026
68e8694
refactor to canopyflux private indices; changed OMP parallels in elm …
rgknox Feb 15, 2026
0a700e2
mocked out patch parallel calls to fates radiation, added timers for …
rgknox Feb 16, 2026
d738f6f
Added update of zenith angle of fates
rgknox Feb 18, 2026
ef95668
Merge branch 'master' into patch-parallel-v1-merged
rgknox Feb 18, 2026
1fd6cd2
added notes to patch parallel
rgknox Feb 18, 2026
41eae31
first pass at patch paralell load balancing
rgknox Feb 19, 2026
cfde371
more patch parallelism
rgknox Feb 20, 2026
778aa92
changed thread affinity on eddi machine
rgknox Feb 22, 2026
2b874ed
patch-level parallelism for fates radiation
rgknox Feb 22, 2026
2c51a11
patch parallel surface albedo
rgknox Feb 22, 2026
672a5ab
Trying a relative threshold for conductance convergence
rgknox Feb 24, 2026
65d0b1c
Merge branch 'master' into patch-parallel-v1lb
rgknox Feb 24, 2026
ca02e26
removed commented out lines
rgknox Feb 26, 2026
0b89a79
fates patch-parallelism updates
rgknox Mar 4, 2026
89da64c
removed some incorrect checks in fates interface
rgknox Mar 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions cime_config/machines/cmake_macros/gnu_eddi.cmake
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
string(APPEND CMAKE_CXX_FLAGS " -fpermissive")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_VPRINTF -DHAVE_GETTIMEOFDAY -DHAVE_BACKTRACE")
string(APPEND CPPDEFS " -DHAVE_VPRINTF -DHAVE_TIMES -DHAVE_GETTIMEOFDAY -DHAVE_BACKTRACE")
endif()
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -fno-unsafe-math-optimizations ")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -g -fbacktrace -fbounds-check -ffpe-trap=invalid,zero,overflow -Wall")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -g -fbacktrace -fbounds-check -ffpe-trap=invalid,zero,overflow -Wsurprising -finit-real=snan") #-fsanitize=thread")
string(APPEND CMAKE_EXE_LINKER_FLAGS " -lcurl")
if (MPILIB STREQUAL mpi-serial)
set(SCC "gcc")
endif()
if (MPILIB STREQUAL mpi-serial)
set(SFC "gfortran")
endif()

19 changes: 10 additions & 9 deletions cime_config/machines/config_machines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4939,15 +4939,16 @@

<machine MACH="eddi">
<DESC>small developer workhorse at lbl climate sciences</DESC>
<NODENAME_REGEX>eddi</NODENAME_REGEX>
<OS>LINUX</OS>
<COMPILERS>gnu</COMPILERS>
<MPILIBS>openmpi</MPILIBS>
<PROJECT>ngeet</PROJECT>
<CIME_OUTPUT_ROOT>/raid1/lbleco/e3sm/</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/home/rgknox/Models/InputDatasets/cesm_input_data/</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/home/rgknox/Models/InputDatasets/cesm_input_data/atm/datm7/</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/home/rgknox/Models//cesm_archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/home/rgknox/Models//cesm_baselines/$COMPILER</BASELINE_ROOT>
<CIME_OUTPUT_ROOT>/home/rgknox/Models/cime_output</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/home/rgknox/Models/InputDatasets/e3sm_input_datasets/</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/home/rgknox/Models/InputDatasets/e3sm_input_datasets/atm/datm7/</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/home/rgknox/LandRuns/E3SM/e3sm_archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/home/rgknox/LandRuns/E3SM/e3sm_baselines/$COMPILER</BASELINE_ROOT>
<CCSM_CPRNC>/raid1/lbleco/cesm/cesm_tools/cprnc/cprnc</CCSM_CPRNC>
<GMAKE_J>1</GMAKE_J>
<BATCH_SYSTEM>none</BATCH_SYSTEM>
Expand All @@ -4961,14 +4962,14 @@
<mpirun mpilib="openmpi">
<executable>mpirun</executable>
<arguments>
<arg name="num_tasks">-np {{ total_tasks }}</arg>
<arg name="tasks_per_node"> -npernode $MAX_MPITASKS_PER_NODE</arg>
<arg name="num_tasks"> -np {{ total_tasks }}</arg>
<arg name="tasks_per_node"> --map-by ppr:{{ tasks_per_node }}:socket:PE=$ENV{OMP_NUM_THREADS} --bind-to core</arg>
</arguments>
</mpirun>
<module_system type="none"/>
<environment_variables compiler="gnu" >
<env name="CMAKE_ROOT">/usr/local/share/cmake-3.21/</env>
<env name="NETCDF_PATH">$ENV{NETCDF_HOME}</env>
<env name="NETCDF_C_PATH">$SHELL{nc-config --prefix}</env>
<env name="NETCDF_FORTRAN_PATH">$SHELL{nf-config --prefix}</env>
</environment_variables>
</machine>

Expand Down
2 changes: 1 addition & 1 deletion cime_config/machines/config_pio.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<value mach="oic5">netcdf</value>
<value mach="lawrencium-lr3">netcdf</value>
<value mach="lawrencium-lr6">netcdf</value>
<value mach="eddi">netcdf</value>
<value mach="eddi">netcdf</value>
<value mach="cades">netcdf</value>
<value mach="cades-baseline">netcdf</value>
<value mach="chicoma-cpu">netcdf</value>
Expand Down
7 changes: 5 additions & 2 deletions components/data_comps/datm/src/datm_comp_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1081,8 +1081,11 @@ subroutine datm_comp_run(EClock, x2a, a2x, &
rtmp = maxval(avstrm%rAttr(stdew,:))
call shr_mpi_max(rtmp,tdewmax,mpicom,'datm_tdew',all=.true.)
endif
if (my_task == master_task) &
write(logunit,*) trim(subname),' max values = ',tbotmax,tdewmax,anidrmax
if (my_task == master_task) then
write(logunit,*) trim(subname),' tbotmax: ',tbotmax
!write(logunit,*) trim(subname), 'tdewmax: ',tdewmax,stdew
write(logunit,*) trim(subname), 'anidrmax: ',anidrmax
end if
endif
lsize = mct_avect_lsize(a2x)
do n = 1,lsize
Expand Down
30 changes: 18 additions & 12 deletions components/elm/bld/ELMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -3764,20 +3764,26 @@ sub add_default {

# query the definition to find out if the variable is an input pathname
my $is_input_pathname = $definition->is_input_pathname($var);


# The default values for input pathnames are relative. If the namelist
# variable is defined to be an absolute pathname, then prepend
# the E3SM inputdata root directory.
if (not defined $settings{'no_abspath'}) {
if (defined $settings{'set_abspath'}) {
$val = set_abs_filepath($val, $settings{'set_abspath'});
} else {
if ($is_input_pathname eq 'abs') {
$val = set_abs_filepath($val, $inputdata_rootdir);
}
}
if ($is_input_pathname eq 'landroot') {
my $landroot = abs_path("$ProgDir/..");
$val = set_abs_filepath($val,$landroot);
} else {
# The default values for input pathnames are relative. If the namelist
# variable is defined to be an absolute pathname, then prepend
# the E3SM inputdata root directory.
if (not defined $settings{'no_abspath'}) {
if (defined $settings{'set_abspath'}) {
$val = set_abs_filepath($val, $settings{'set_abspath'});
} else {
if ($is_input_pathname eq 'abs') {
$val = set_abs_filepath($val, $inputdata_rootdir);
}
}
}
}

# query the definition to find out if the variable takes a string value.
# The returned string length will be >0 if $var is a string, and 0 if not.
my $str_len = $definition->get_str_len($var);
Expand Down
8 changes: 4 additions & 4 deletions components/elm/bld/namelist_files/namelist_defaults.xml
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<paramfile nu_com="RD" use_crop=".false." >lnd/clm2/paramdata/clm_params_c180524_phs.nc</paramfile>


<!-- ================================================================== -->
<!-- FATES default parameter file -->
<!-- ================================================================== -->
<fates_paramfile >lnd/clm2/paramdata/fates_params_api.41.0.0_14pft_c250813.nc</fates_paramfile>
<!-- ======================================================================== -->
<!-- FATES default parameter file (path relative to E3SM/components/elm/) -->
<!-- ======================================================================== -->
<fates_paramfile >src/external_models/fates/parameter_files/fates_params_default.json</fates_paramfile>

<!-- soil order related parameters (relative to {csmdata}) -->
<fsoilordercon >lnd/clm2/paramdata/CNP_parameters_c131108.nc</fsoilordercon>
Expand Down
2 changes: 1 addition & 1 deletion components/elm/bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -531,7 +531,7 @@ constants for biogeochem modules
</entry>

<entry id="fates_paramfile" type="char*256" category="datasets"
input_pathname="abs" group="elm_inparm" valid_values="" >
input_pathname="landroot" group="elm_inparm" valid_values="" >
Full pathname datafile with fates parameters
</entry>

Expand Down
Loading