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

CIME models require NETCDF in PIO build

Shruti

Shruti Joshi
Member
CIME models require NETCDF in PIO build

buildlib.pio is failing with the below error :
Error : CIME models require NETCDF in PIO build


Tried building CESM with both versions of PIO- 1 and 2.
Both resulted in the same error as mentioned above.
Please find attached the error log files for PIO v1 and v2.

Please find the environment details as below :
CESM version - 2.1.2
NetCDF C version - 4.7.1
NetCDF Fortran version - 4.5.2
PNetCDF version - 1.12.1
GCC version - 7.4.0 and 9.2.0. (Tried with 2 versions)

Tried installing netcdf C and Fortran binaries in the same folder, but it didn't help.

Can anyone please let me know the solution for the above mentioned error?
Also which version of PIO is to be used? According to CESM Models | PIO , PIO1 is no longer supported.



Thanks and Regards,
Shruti Joshi
 

Attachments

  • pio_bldlog_ver1.txt
    2.1 KB · Views: 15
  • pio_bldlog_ver2.txt
    5.9 KB · Views: 7

Shruti

Shruti Joshi
Member
Hello,

Presently I am trying to build with PIO2 version.
I have tried setting NETCDF in the environment.
I have even added it as a field in the environment variables section under "homebrew" (modified contents under this machine) in config_machines.xml.
Added similarly in config_compiler.xml file too.

The error still remains as
CIME models require NETCDF in PIO build

Attaching the PIO build log.
Please can you let me know what other approach should i consider?
 

Attachments

  • pio.bldlog.200303-164130.txt
    4.1 KB · Views: 23

jedwards

CSEG and Liaisons
Staff member
Can you attach the Macros.make file from your case? Also it seems like this build log was from a second attempt, please try again after removing the bld directory.
 

Shruti

Shruti Joshi
Member
Hello,

PFA the Macros.make file from the latest build.

>> Also it seems like this build log was from a second attempt, please try again after removing the bld directory.
- Yes, that is the case. The issue is that some files are missing for the building of MCT and PIO.
Details are in another query posted in the below link.

https://xenforo.cgd.ucar.edu/cesm/threads/mct-build-fail.5062/

I am placing the missing files for MCT and PIO (eg: Makefile, Makefile2, config.h etc) in the bld directory at the respective path.
Hence i cannot have a fresh build, as these folder structure for MCT and PIO gets created after the ./case.build gets failed in 1st attempt.

I am doing ./case.build --clean before every build though.

Also PFA the latest PIO build log.
 

Attachments

  • pio.bldlog.200304-122651.txt
    4.1 KB · Views: 9
  • Macros_make.txt
    1.2 KB · Views: 18

jedwards

CSEG and Liaisons
Staff member
Those files in pio and mct should not be missing - rather than placing them by hand we need to go back and figure out why mct won't build.
 

Shruti

Shruti Joshi
Member
Hello,

I was able to resolve the issue.
I have attached a file which lists all the changes i made in config_machine.xml and config_compiler.xml.
As of now ./case.build gets executed successfully.

Thank you for the help :)

P.S. - The attached file lists various environment variables.
I still need to refine the list of variables which actually are responsible for working of the code.
Will update on the same once i finish with bringing up the application.
 

Attachments

  • CESM_changes.txt
    2.5 KB · Views: 128

jedwards

CSEG and Liaisons
Staff member
You can create a custom configuration for your machine by copying the homebrew section and giving it a different name.
It seems that you removed the OS and COMPILERS settings completely? This doesn't make any sense to me. You can put multiple environment variables in a single environment_variables section:
```
<environment_variables>
<env name="NETCDF_PATH"> -- Path to Netcdf --- </env>
<env name="HDF5_PATH">-- Path to HDF5 ---0</env>
</environment_variables>
 

Shruti

Shruti Joshi
Member
Hello,
As of now, I was just trying to get the build to be successful, so made the required changes within the homebrew section
Thank you for the suggestion will do the changes accordingly.
 
Top