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

Running SCAM on casper

trude

Trude Eidhammer
New Member
I am trying to run SCAM on Casper. I am using a cam_dev version. I have updated the config_machines.xml file to make all paths point to the new location of CESMDATAROOT on glade/campaign. However, the software_environment is still pointing many of the paths to /glade/p. For example the LD_LIBRARY_PATH=/glade/p/cesmdata/cseg/PROGS/esmf

How do I set the correct software environment to run on casper?

Thanks,
Trude
 

dbailey

CSEG and Liaisons
Staff member
Everything under /glade/p/cesmdata should be under:

/glade/campaign/cesm/cesmdata

Dave
 

trude

Trude Eidhammer
New Member
If I did not change the path in the config_machines.xml file, the build stage crashed earlier. With the updated path, I get further in the build stage, but it still crashes. Now I get this error message in the pio file
"/glade/u/home/trude/src/CAM_BOSS3/PUMASDev_CAM_Sandbox/libraries/parallelio/src/clib/pio_nc4.c", line 1340: error: identifier "i" is undefined
for(i=0; i<nparams; i++)

So perhaps at this stage it is not the /glade/p path that is the problem. I am digging into this error message, but if someone have a working update for running SCAM on casper (after the switch to derecho) I would appreciate to learn what changes I need to make
 

jet

Member
This looks like an error in the pio library not SCAM. I will create an issue if there isn't one there yet. Until this is fixed you can modify the problem line to define i.

Modify the following line from:

for(i=0; i<nparams; i++)

to:

for(int i=0; i<nparams; i++)

You will need to clean and rebuild your case after making this change.

case.build --clean-all
case.build

Alternatively you could create your case without debug but you will most likely need that at some time if you run into another error.

John
 

jet

Member
After checking into this it seems this bug was fixed last in January although there is not a new PIO tag yet that includes that fix. The full fix requires modifying 2 lines instead of the one which was initially flagged by the compiler. The full fix is:

OLD:
Code:
for(i=0; i<nparams; i++)
        PLOG(1, "  param %d %d\n",i, params[i]);

NEW: (includes int on line 1 and extra set of parentheses following PLOG on line 2.

Code:
for(int i=0; i<nparams; i++)
        PLOG((1, "  param %d %d\n",i, params[i]));

I'll check on when the next PIO tag will be made.
 
Top