ESCOMP / CMEPS

NUOPC Community Mediator for Earth Prediction Systems
https://escomp.github.io/CMEPS/
24 stars 79 forks source link

Standalone build and ESMX compatibility ... #402

Open uturuncoglu opened 1 year ago

uturuncoglu commented 1 year ago

I am trying to build CMEPS outside of the CIME but I have some issues with standalone build. It seems that building CESM version of CMEPS with standalone mode is not working. The standalone build assumes that it is build for UFS, which I think it is not the generic approach for standalone build.

Here is my command to build standalone version at this point,

FC=mpiifort cmake -DCMAKE_INSTALL_PREFIX=../install -DPIO_C_LIBRARY=/zeus/opt/impi20.1/parallelio/2.5.9/lib -DPIO_C_INCLUDE_DIR=/zeus/opt/impi20.1/parallelio/2.5.9/include -DPIO_Fortran_LIBRARY=/zeus/opt/impi20.1/parallelio/2.5.9/lib -DPIO_Fortran_INCLUDE_DIR=/zeus/opt/impi20.1/parallelio/2.5.9/include -DCMAKE_Fortran_FLAGS="-free -DCPRINTEL -I/work/opa/ut11823/CDEPS/build/share" ../

So, i am using some shared code from CDEPS to satisfy CMEPS but I think it is not enough. I did some work to add CMakeLists.txt file to flux_atmocn and nuopc_cap_share folders and make minor mod in top level CMake file but the build complains about water_isotopes. Then, I realized that the file is in the following repo, https://github.com/ESCOMP/CESM_share/tree/main/src

So, at this point, I am lost about shared code (it think it is normal to lost for the regular users too). Which shared code needs to be used to compile CMEPS. Only the one found in the CESM_share repo? If so, why we have nuopc_cap_share directory under CMEPS. Do we still need to have flux_atmocn? (I think so since I could not see the same file in the CESM_shared). Anyway, I think that enabling standalone build for CESM configuration would be great. At this point, I am not interested in using CESM driver since I am plaining to use ESMX. Anyway, let me know what you think?