Up to Installation and compilation
Dear Laure, Sophie, We are trying to couple an external model with CESM 1.2, where MCT is already included. I noticed that in PSMILE the MCT routines from OASIS-MCT are renamed by including an oas_ prefix (e.g., mct_avect_init -> oas_mct_avect_init). Is it sufficient to simply rename the libmct.a and libmpeu.a in OASIS3-MCT, to, for example, libmct_oas.a and libmpeu_oas.a to avoid the namespace conflict? Many thanks! Kind regards, Guowei HE
Hello Guowei, as you said, MCT routines have to be renamed. But their call, on MCT and PSMILE libraries have to take into account this name change. See the script below. Best regards, Eric ------------------------------------------#!/bin/bash # # Modify MCT libraries # echo echo Modify MCT libraries echo cd lib/mct for direc in mct mpeu do if [ ! -d ${direc}_release ]; then mkdir ${direc}_release cp -f ${direc}/* ${direc}_release else cp -f ${direc}_release/* ${direc} fi cd ${direc} for file in *90 do chmod u+w $file echo $file sed -e s/'use *m_[A-Za-z0-9 _\t]*$/&egard'/ -e s/'use *m_[A-Za-z0-9 _\t]*\,/&eperdu'/ -e s/'use *m_[A-Za-z0-9 _\t]*\!/&voltige'/ -e s/'[ \t]*\,eperdu/_oasis\,'/ -e s/'[ \t]*'egard/_oasis/ -e s/'[ \t]*\!voltige/_oasis \!'/ $file > toto sed -e s/' *module *m[A-Za-z0-9_\t]*/&_oasis'/ toto > $file done rm -f toto cd .. done # # Modify psmile library # echo echo Modify psmile library echo cd ../psmile if [ ! -d src_release ]; then mkdir src_release cp -f src/* src_release else cp -f src_release/* src fi cd src for file in *90 do echo $file sed s/mct_mod/mct_mod_oasis/ $file > toto mv toto $file done
Thank you Eric and Laure!