CTSM icon indicating copy to clipboard operation
CTSM copied to clipboard

FATES seed dispersal test not setting fates_seed_dispersal_max_dist

Open rgknox opened this issue 1 year ago • 0 comments

The follwing test sometimes generates a run fail:

ERS_D_Ld15.f10_f10_mg37.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp

It is a graceful fail, and aborts when FATES does a check on the seed dispersal parameter ranges.

This test runs the following shell commands:

SRCDIR=`./xmlquery SRCROOT --value`
CASEDIR=`./xmlquery CASEROOT --value`
FATESDIR=$SRCDIR/src/fates/
FATESPARAMFILE=$SRCDIR/fates_params_seeddisp_4x5.nc

ncgen -o $FATESPARAMFILE $FATESDIR/parameter_files/fates_params_default.cdl

$FATESDIR/tools/modify_fates_paramfile.py --O --fin $FATESPARAMFILE --fout $FATESPARAMFILE --var fates_seed_dispersal_fraction --val 0.\
2 --allpfts
$FATESDIR/tools/modify_fates_paramfile.py --O --fin $FATESPARAMFILE --fout $FATESPARAMFILE --var fates_seed_dispersal_max_dist --val 25\
00000 --allpfts
$FATESDIR/tools/modify_fates_paramfile.py --O --fin $FATESPARAMFILE --fout $FATESPARAMFILE --var fates_seed_dispersal_pdf_scale --val 1\
e-05 --allpfts
$FATESDIR/tools/modify_fates_paramfile.py --O --fin $FATESPARAMFILE --fout $FATESPARAMFILE --var fates_seed_dispersal_pdf_shape --val 0\
.1 --allpfts

When I look at the contents of the parameter file, the log is strange, and contains 3 of the 4 parameters, and one duplicate:

// global attributes:
                :history = "This file was generated by BatchPatchParams.py:\n",
                        "CDL Base File = archive/api24.1.0_101722_fates_params_default.cdl\n",
                        "XML patch file = archive/api24.1.0_101722_patch_params.xml\n",
                        " Thu Apr 25 2024, 18:51:04: modify_fates_paramfile.py --O --fin /glade/u/home/rgknox/ctsm/fates_params_seeddis\
p_4x5.nc --fout /glade/u/home/rgknox/ctsm/fates_params_seeddisp_4x5.nc --var fates_seed_dispersal_fraction --val 0.2 --allpfts\n",
                        " Thu Apr 25 2024, 18:51:04: modify_fates_paramfile.py --O --fin /glade/u/home/rgknox/ctsm/fates_params_seeddis\
p_4x5.nc --fout /glade/u/home/rgknox/ctsm/fates_params_seeddisp_4x5.nc --var fates_seed_dispersal_pdf_shape --val 0.1 --allpfts\n",
                        " Thu Apr 25 2024, 18:51:05: modify_fates_paramfile.py --O --fin /glade/u/home/rgknox/ctsm/fates_params_seeddis\
p_4x5.nc --fout /glade/u/home/rgknox/ctsm/fates_params_seeddisp_4x5.nc --var fates_seed_dispersal_pdf_scale --val 1e-05 --allpfts\n",
                        " Thu Apr 25 2024, 18:51:05: modify_fates_paramfile.py --O --fin /glade/u/home/rgknox/ctsm/fates_params_seeddis\
p_4x5.nc --fout /glade/u/home/rgknox/ctsm/fates_params_seeddisp_4x5.nc --var fates_seed_dispersal_pdf_shape --val 0.1 --allpfts" ;
data:

One problem is that there are more than one FatesColdSeedDisp test (at least in the fates test suite), see; PEM_D_Ld15.f10_f10_mg37.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp which also fails), and these tests all try to generate the same parameter file. I wonder if sometimes we get unlucky and two tests are trying to read and write to the same file simultaneously?

rgknox avatar Apr 26 '24 04:04 rgknox