ESMCI / ccs_config_cesm

CESM CIME Case Control System configuration files
3 stars 46 forks source link

config_machines.xml fails to validate in ccs_config_cesm0.0.87 with cime6.0.193 -- what version of cime needs to be used with it? #138

Closed ekluzek closed 10 months ago

ekluzek commented 11 months ago

I'm not sure what version of cime to use with ccs_config0.0.87 for a set of externals that will work together.

Wwith: ccs_config_cesm0.0.87 and latest master of cime (cime6.0.194-16-g102d408fb), but also in cime6.0.193. I don't see an update to the XSD file in cime, for a long time. I also don't see an issue or PR in cime about this as well.

It looks like the idea is to have NODENAME_REGEX set for all machines in the main config_machines.xml, and then each machine have a subdirectory for it with what's needed for just that machine. This is a great refactoring to do, just looks like some coordination needs to happen in cime.

./create_test SMS_Lm13.1x1_brazil.I2000Clm50FatesCruRsGs.casper_intel.clm-FatesCold -r . --no-build
ERROR: Command: '/usr/bin/xmllint --xinclude --noout --schema /glade/work/erik/ctsm_worktrees/external_updates/cime/CIME/data/config/xml_schemas/config_machines.xsd /glade/work/erik/ctsm_worktrees/external_updates/ccs_config/machines/config_machines.xml' failed with error '/glade/work/erik/ctsm_worktrees/external_updates/ccs_config/machines/config_machines.xml:52: element NODENAME_REGEX: Schemas validity error : Element 'NODENAME_REGEX': This element is not expected. Expected is ( machine ).
/glade/work/erik/ctsm_worktrees/external_updates/ccs_config/machines/config_machines.xml fails to validate' from dir '/glade/work/erik/ctsm_worktrees/external_updates/cime/scripts'
(ctsm_pylib) casper-login2 cime/scripts> /usr/bin/xmllint --xinclude --noout --schema /glade/work/erik/ctsm_worktrees/external_updates/cime/CIME/data/config/xml_schemas/config_machines.xsd /glade/work/erik/ctsm_worktrees/external_updates/ccs_config/machines/config_machines.xml
/glade/work/erik/ctsm_worktrees/external_updates/ccs_config/machines/config_machines.xml:52: element NODENAME_REGEX: Schemas validity error : Element 'NODENAME_REGEX': This element is not expected. Expected is ( machine ).
fischer-ncar commented 11 months ago

@ekluzek try cime6.0.196, it was commited a little bit ago.

ekluzek commented 11 months ago

Thanks @fischer-ncar, it does get further. The create_test works, but it fails on the build step, making namelists, missing a XML/LibXML.pm perl module.

Here's that error...

Calling /glade/work/erik/ctsm_worktrees/external_updates/components/cdeps/datm/cime_config/buildnml
2023-12-15 13:21:04 lnd
Create namelist for component clm
Calling /glade/work/erik/ctsm_worktrees/external_updates/cime_config/buildnml
WARNING: CLM is starting up from a cold state
ERROR: Command /glade/work/erik/ctsm_worktrees/external_updates/bld/build-namelist failed rc=2
out=
err=Can't locate XML/LibXML.pm in @INC (you may need to install the XML::LibXML module) (@INC entries checked: /glade/work/erik/ctsm_worktrees/external_updates/bld /glade/work/erik/ctsm_worktrees/external_updates/bld /glade/work/erik/ctsm_worktrees/external_updates/cime/utils/perl5lib /glade/work/erik/ctsm_worktrees/external_updates/bld /glade/u/apps/casper/23.10/opt/perl/lib/perl5/x86_64-linux-thread-multi /glade/u/apps/casper/23.10/opt/perl/lib/perl5 ///////////////////////////////////////////////////////////////////////////////////////glade/u/apps/casper/23.10/spack/opt/spack/perl/5.38.0/gcc/7.5.0/nbvg/lib/perl5 ///////////////////////////////////////////////////////////////////////////////////////glade/u/apps/casper/23.10/spack/opt/spack/perl/5.38.0/gcc/7.5.0/nbvg/lib/site_perl/5.38.0/x86_64-linux-thread-multi ///////////////////////////////////////////////////////////////////////////////////////glade/u/apps/casper/23.10/spack/opt/spack/perl/5.38.0/gcc/7.5.0/nbvg/lib/site_perl/5.38.0 ///////////////////////////////////////////////////////////////////////////////////////glade/u/apps/casper/23.10/spack/opt/spack/perl/5.38.0/gcc/7.5.0/nbvg/lib/5.38.0/x86_64-linux-thread-multi ///////////////////////////////////////////////////////////////////////////////////////glade/u/apps/casper/23.10/spack/opt/spack/perl/5.38.0/gcc/7.5.0/nbvg/lib/5.38.0) at /glade/work/erik/ctsm_worktrees/external_updates/cime/utils/perl5lib/Config/SetupTools.pm line 5.
BEGIN failed--compilation aborted at /glade/work/erik/ctsm_worktrees/external_updates/cime/utils/perl5lib/Config/SetupTools.pm line 5.
Compilation failed in require at /glade/work/erik/ctsm_worktrees/external_updates/bld/CLMBuildNamelist.pm line 421.

Just running preview_namelists (whether or not I source .env_mach_specific.csh), I see this..

./preview_namelists 
ERROR: module command /glade/u/apps/casper/23.10/spack/opt/spack/lmod/8.7.24/gcc/7.5.0/m4jx/lmod/lmod/libexec/lmod python load ncarenv/23.10 cmake/3.26.3 intel/2023.2.1 mkl/2023.2.0 openmpi/4.1.6 netcdf-mpi/4.9.2 parallel-netcdf/1.12.3 failed with message:
Lmod has detected the following error: The following module(s) are unknown: "intel/2023.2.1" "ncarenv/23.10" "cmake/3.26.3"

Please check the spelling or version number. Also try "module spider ..."
It is also possible your cache file is out-of-date; it may help to try:
  $ module --ignore_cache load "intel/2023.2.1" "ncarenv/23.10" "cmake/3.26.3"

Also make sure that all modulefiles written in TCL start with the string #%Module
lizziel commented 11 months ago

I ran into this problem as well. I fixed it by checkout cesm2_3_alpha16h instead. The configuration of externals in that version work.

jedwards4b commented 10 months ago

@ekluzek It seems like you've conflated two or more issues here. Please edit the issue name and indicate the problem you are currently trying to solve.

ekluzek commented 10 months ago

@jedwards4b OK I edited the introduction and the title.

Really what I want to know is what set of externals do I need to use with ccs_config0.0.87? The version I tried originally failed with the original message, and the suggested one failed in a different way. I don't see these as conflating separate issues because I get one failure with one version of cime and a different failure with a different version of cime. The question is what version of cime do I need to use to work for this version of ccs_config?

Normally, I can use CESM planned tags to see what externals should be used together, but in this case there aren't any planned tags that cover ccs_config that far out.

jedwards4b commented 10 months ago

ccs_config0.0.87 requires cime6.0.198 or newer - cime6.0.200 recommended it also requires cmeps0.14.47

ekluzek commented 10 months ago

@jedwards4b awesome, that is working for me, so closing.