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

Test compiler changeable at build time

crooney@pdx_edu

New Member
I am attempting to port CESM to our HPC for a user. Currently scripts_regression_tests.py still produces 13 failures and 4 errors.
Hopefully someone here is more experienced with CESM and can identify where I have gone wrong with porting more quickly than I have been able to.

Our cluster uses SLURM and I am attempting to use gcc 6.3.0, mvapich2 2.2, and Python 2.7.13.

I have edited config_machines.xml, and config_batch.xml. I have not edited config_compilers.xml. All three xml files validate when tested with xmllint.All of the failures are in the phase SHAREDLIB_BUILD


I have attached the output of scripts_regression_tests, and both edited xml files. The machine I have added is called 'coeus'. The variable CESMDATAROOT=/scratch/cesm is set. If the logs of individual tests are needed I can provide those, or any other necessary information.


Thank you to anyone who is able to help.

___________________________________________________________________________________________________________________________________________________


UPDATE:After updating the config_machines and config_compilers xml files my previous errors have resolved. Netcdf was not being properly located or linked. I needed to add NETCDF_PATH to and the shared library -L${NETCDF_PATH}/lib config_compilers.xml, I am attaching the updated files in case someone else is experiencing similar issues.

Unfortunately I am now running into more errors. One of the output files makes it seem like a fortran file is being read like a bash script:

/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 1: program: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 2: use: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 3: use: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 4: use: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 6: use: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 8: implicit: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 10: integer: command not found
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 11: syntax error near unexpected token `len=1024'
/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90: line 11: `  character(len=1024) :: arg = ''                     ! cmd-line argument'


I will attach one of the TestStatus.log files in full, this is the very end of that file which led me to the above output file:

/scratch/cesm/crooney/scripts_regression_test.20190203_184904/DAE.f19_f19.A.coeus_gnu.fake_testing_only_20190203_191205/run/DAE.f19_f19.A.coeus_gnu.fake_testing_only_20190203_191205.cpl.hi.0001-01-05-00000.nc.base did NOT match /scratch/cesm/crooney/scripts_regression_test.20190203_184904/DAE.f19_f19.A.coeus_gnu.fake_testing_only_20190203_191205/run/DAE.f19_f19.A.coeus_gnu.fake_testing_only_20190203_191205.cpl.hi.0001-01-05-00000.nc.da
   cat /scratch/cesm/crooney/scripts_regression_test.20190203_184904/DAE.f19_f19.A.coeus_gnu.fake_testing_only_20190203_191205/run/DAE.f19_f19.A.coeus_gnu.fake_testing_only_20190203_191205.cpl.hi.0001-01-05-00000.nc.base.cprnc.out


___________________________________________________________________________________________________________________________________________________
UPDATE:


jedward's response solved the above issue. I built cprnc and edited config_machines.xml to contain the path to the executable:/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc
I am now encountering the error "Test compiler changeable at build time". If I gain any insight on why this error is happening I will post it here, but for now I plan on alerting users that they should create a new case if they have to switch compilers so that the use of this feature is avoided.

-Colleen
 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

jedwards

CSEG and Liaisons
Staff member
This in config_machines.xml/vol/apps/hpc/src/cesm-2.1.0/cime/tools/cprnc/cprnc.F90is intended to be the path to the executable that you get when you build the cprnc tool.Instructions for building that tool can be found in the Readme in that directory.  It is not intended that you locate the executable in the source tree.  

 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 

crooney@pdx_edu

New Member
Thank you! That solved the error I was encountering.

The regression tests script still has 2 failures but they look unrelated. I am about to start looking into what is causing them. The output is:
======================================================================
FAIL: test_compiler_changeable_at_build_time (__main__.H_TestMakeMacros)
The macro writer writes information for multiple compilers.
----------------------------------------------------------------------
Traceback (most recent call last):
File "./scripts_regression_tests.py", line 2458, in test_compiler_changeable_at_build_time
tester.assert_variable_equals("SUPPORTS_CXX", "FALSE")
File "./scripts_regression_tests.py", line 2190, in assert_variable_equals
self.parent.assertEqual(self.query_var(var_name, env, var), value)
AssertionError: 'TRUE' != 'FALSE'There is the same failure for __main__.I_TestCMakeMacros as well.
 
Top