ESCOMP / CTSM

Community Terrestrial Systems Model (includes the Community Land Model of CESM)
http://www.cesm.ucar.edu/models/cesm2.0/land/
Other
296 stars 301 forks source link

long parameter file path string in fates seed dispersal test #2322

Open rgknox opened 6 months ago

rgknox commented 6 months ago

In PR #2265 we attempted to update python test scripting that auto-generates a fates parameter file (nc) by modifying the default file and putting the result in the case directory. The scripting is doing things as intended, but for the FATES PEM seed-dispersal test, the path length to the new file is incredibly long.

Test: PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu

Resulting file name on derecho: '/glade/derecho/scratch/rgknox/tests_0116-120553de/PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu/case2/PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu/fates_params_seeddisp_4x5.nc'

Error:


ERROR: Command /glade/u/home/rgknox/ctsm/bld/build-namelist failed rc=255 out= err=ERROR : CLM build-namelist::CLMBuildNamelist::process_namelist_commandline_infile() : Invalid namelist variable in '-infile' /glade/derecho/scratch/rgknox/tests_0116-120553de/PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu/case2/PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu/Buildconf/clmconf/namelist. ERROR: in validate_variable_value (package Build::Namelist): Variable name fates_paramfile has a string element that is too long: '/glade/derecho/scratch/rgknox/tests_0116-120553de/PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu/case2/PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu/fates_params_seeddisp_4x5.nc'


When @glemieux first implemented this test, he put the auto-generated file in the srcdir. This works, and we are just reverting to that method in #2265. Ideally we want this file to not be in the source code tree, and somewhere in the caseroot.

Potential solutions are to 1) find ways to reduce the file path length, or 2) to increase the allowable string size.

My current take is that creating the folder "PEM_D_Ld15.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp.GC.0116-120553de_gnu" after folder "case2" (which is the second instance of the run when the PE layout changes) is redundant and should be removed if possible.

ekluzek commented 5 months ago

Talking about this morning we wondered if you could put this under the test root rather than the CASEROOT?

Also the structure of the test with $CASEROOT/case2/$CASEROOT is something that cime does for us. So we can maybe suggest simplifying that, but getting that change into cime would likely be a bigger lift.