Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Error when creating new case: Could not find machine match for

xcj

xcj
New Member
Hello, when trying to create a new case using the following command:

"create_newcase --case cesm2_test --compset B1850 --res f19_g17"

I get the error: "Could not find machine match for...

"ERROR: Could not initialize machine object..."


I have attached the config files to this message and the machine name appears to match in the config files. Help diagnosing the issue would be greatly appreciated.

Thank you.
 

Attachments

  • config_compilers.xml.txt
    2.2 KB · Views: 25
  • config_machines.xml.txt
    9.9 KB · Views: 34

jedwards

CSEG and Liaisons
Staff member
You can use the command line option --machine beluga

If you want autorecognition of your machine you need to add the field

Code:
<NODENAME_REGEX></NODENAME_REGEX>

with a REGEX pattern that will match the hostname of your system.
 

xcj

xcj
New Member
Hello, thanks for your reply. I tried it and now get the following error:

ERROR: No machine beluga found

My config_mcahinces.xml file is attached.
 

Attachments

  • config_machines.xml.txt
    12.8 KB · Views: 36

jedwards

CSEG and Liaisons
Staff member
You are supposed to provide a REGEX field to fill in that data structure. Look for examples in
cime/config/cesm/machines/config_machines.xml
 

xcj

xcj
New Member
I looked for an example in cime/config/cesm/machines/config_machines.xml and found:


<NODENAME_REGEX>.*eth\d</NODENAME_REGEX>


I inserted that and got the original error:


"Could not find machine match for .." once again.
 

jedwards

CSEG and Liaisons
Staff member
So the REGEX expression that you use should be a pattern based on your local hostname that will match on the login nodes as well as the compute nodes of your system but still be unique enough not to match on any other system. You may want to consult with your local system administrators for help to pick a good one.
 

xcj

xcj
New Member
I asked my local system administrations and they recommended *.ets1.calculquebec.ca, however, I am still getting the same error. I used the following syntax:

<NODENAME_REGEX>*.ets1.calculquebec.ca\d</NODENAME_REGEX>

<OS>LINUX</OS>
 

xcj

xcj
New Member
I am still getting the "Could not find machine match for ..." error. I tried typing:

create_newcase --case cesm2_test --compset B1850 --res f19_g17

and

create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga


and I still get an error that says that the machine can't be found or that there's no match. Please let me know if there's anything else I can do to help diagnose the error.
 

jedwards

CSEG and Liaisons
Staff member
Try setting CIME_MODEL=cesm in the environment. Where did you put the config_machines.xml with beluga defined?
 

xcj

xcj
New Member
Should I insert "CIME_MODEL=cesm" after

"<!-- environment variables, a blank entry will unset a variable -->
<environment_variables>"


in config_machines.xml? I put config_machines.xml in ~/.cime.
 

jedwards

CSEG and Liaisons
Staff member
No you should set CIME_MODEL=cesm in the environment - do this:
CIME_MODEL=cesm create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga
 

xcj

xcj
New Member
I typed in the command "CIME_MODEL=cesm create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga"

and got the same error:
ERROR: No machine beluga found

I checked other config files and they all contain MACH="beluga". Is this correct? Any other suggestions?
 

jedwards

CSEG and Liaisons
Staff member
I'm not sure what the problem is, are there other errors in the create_newcase output that occur earlier and perhaps you are overlooking?
I guess the next thing to try is to add your machine definition directly to the config_machines.xml file in cime/config/cesm/machines
 

xcj

xcj
New Member
I have attached the config_machines.xml file in cime/config/cesm/machines.

After I type "CIME_MODEL=cesm create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga", I get:


CIME_MODEL=cesm create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga


Compset longname is 1850_CAM60_CLM50%BGC-CROP_CICE_POP2%ECO%ABIO-DIC_MOSART_CISM2%NOEVOLVE_WW3_BGC%BDRD


Compset specification file is /cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/cime/../cime_config/config_compsets.xml


Compset forcing is 1850


Com forcing is Biogeochemistry intercomponent with diagnostic CO2


ATM component is CAM cam6 physics:


LND component is clm5.0:BGC (vert. resol. CN and methane) with prognostic crop:


ICE component is Sea ICE (cice) model version 5


OCN component is POP2 EcosystemAbiotic DIC/DIC14


ROF component is MOSART: MOdel for Scale Adaptive River Transport


GLC component is cism2 (default, higher-order, can run in parallel):cism ice evolution turned off (this is the standard configuration unless you're explicitly interested in ice evolution):


WAV component is Wave Watch


ESP component is


Pes specification file is /cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/cime/../cime_config/config_pes.xml


Compset specific settings: name is RUN_STARTDATE and value is 0001-01-01


Compset specific settings: name is RUN_REFDATE and value is 0301-01-01


Compset specific settings: name is RUN_TYPE and value is hybrid


Compset specific settings: name is RUN_REFCASE and value is b.e20.B1850.f19_g17.release_cesm2_1_0.020


Compset specific settings: name is CLM_NAMELIST_OPTS and value is use_init_interp=.true.


ERROR: No machine beluga found






 

Attachments

  • config_machines.xml.txt
    106.4 KB · Views: 15

jedwards

CSEG and Liaisons
Staff member
I see beluga twice and in nether case does it have the REGEX that we discussed. Is the full path to this file
/cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/cime/config/cesm/machines/config_machines.xml ?
 

xcj

xcj
New Member
I have a copy of config_machines.xml in ~/.cime and also in cime/config/cesm/machines. I had changed the REGEX and beluga in the ~/.cime directory but not in the latter directory that was attached in my last message. I had just tried changing it in the latter directory but still get the same error.

The file /cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/cime/config/cesm/machines/config_machines.xml appears to be another file that I cannot edit (I do not have permission to edit it it seems). It seems that I was editing a file that was not being read. The content in this file is below. How do I get it to point to the correct config_machines.xml file?




<machine MACH="computecanada">


<DESC>Compute Canada clusters - Intel and openmpi with slurm</DESC> <!-- can be anything -->


<OS>LINUX</OS> <!-- LINUX,Darwin,CNL,AIX,BGL,BGP -->


<COMPILERS>intel</COMPILERS> <!-- intel,ibm,pgi,pathscale,gnu,cray,lahey -->



<MPILIBS>openmpi</MPILIBS> <!-- openmpi, mpich, ibm, mpi-serial -->


<CESMSCRATCHROOT>/home/$CCSMUSER/scratch</CESMSCRATCHROOT> <!-- complete path to the 'scratch' directory -->



<RUNDIR>/home/$CCSMUSER/scratch/$CASE</RUNDIR> <!-- complete path to the run directory -->


<EXEROOT>/home/$CCSMUSER/scratch/ccsm/$CASE</EXEROOT> <!-- complete path to the build directory -->


<DIN_LOC_ROOT>/home/$CCSMUSER/scratch/ccsm/inputdata</DIN_LOC_ROOT> <!-- complete path to the inputdata directory -->


<DIN_LOC_ROOT_CLMFORC></DIN_LOC_ROOT_CLMFORC> <!-- path to the optional forcing data for CLM (for CRUNCEP forcing) -->


<DOUT_S>FALSE</DOUT_S> <!-- logical for short term archiving -->



<DOUT_S_ROOT>/home/$CCSMUSER/scratch/ccsm/archive/$CASE</DOUT_S_ROOT> <!-- complete path to a short term archiving directory -->


<DOUT_L_MSROOT>/home/$CCSMUSER/scratch/ccsm/archive/$CASE</DOUT_L_MSROOT> <!-- complete path to a long term archiving directory -->


<CCSM_BASELINE>/home/$CCSMUSER/scratch/ccsm</CCSM_BASELINE> <!-- where the cesm testing scripts write and read baseline results -->


<CCSM_CPRNC>/cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/ccsm/4_0_a02/models/atm/cam/tools/cprnc/cprnc</CCSM_CPRNC> <!-- path to the cprnc tool used to compare netcdf history files in testing -->



<BATCHQUERY>squeue</BATCHQUERY>


<BATCHSUBMIT>sbatch</BATCHSUBMIT>


<SUPPORTED_BY>USERDEFINED_optional</SUPPORTED_BY>


<GMAKE_J>1</GMAKE_J>


<MAX_TASKS_PER_NODE>48</MAX_TASKS_PER_NODE>


</machine>
 

jedwards

CSEG and Liaisons
Staff member
Where are you running create_newcase from? What directory? It should be cime/scripts in the cesm source tree you want to use.
Try `type create_newcase` is it pointing to the one you want to use? You may need to specify ./create_newcase instead of just create_newcase

You don't seem to be using the cesm source that you think you are using.
 

xcj

xcj
New Member
I typed in "type create_newcase" and got the following:

create_newcase is hashed (/cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/cime/scripts/create_newcase)

I then did:

cd /cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/cime/scripts

and retried both

./create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga


and


create_newcase --case cesm2_test --compset B1850 --res f19_g17 --machine beluga




but got the same error:

ERROR: No machine beluga found
 

jedwards

CSEG and Liaisons
Staff member
It doesn't appear to be finding the file in $HOME/.cime/config_machines.xml
If you can't write to /cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/
perhaps you should download and work with your own copy of the cesm source - or contact the owner
of /cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/cesm/2.1.1/ for help.
 
Top