# Default compilation option for DYNAMICO_LMDZ configuration 
all:
	(cd ../../modeles/ICOSA_LMDZ/; ./make_icosa_lmdz -prod -parallel mpi -p lmd -arch ${FCM_ARCH} -arch_path ../ARCH -job 8 ; mv bin/icosa_lmdz.exe ../../bin/. ; mv ../XIOS/bin/xios_server.exe ../../bin/.)


# Target to force full recompilation of all components
full:
	(cd ../../modeles/ICOSA_LMDZ/; ./make_icosa_lmdz -prod -parallel mpi -p lmd -arch ${FCM_ARCH} -arch_path ../ARCH -job 8 -full ; mv bin/icosa_lmdz.exe ../../bin/. ; mv ../XIOS/bin/xios_server.exe ../../bin/.)


# Target to compile all components in debug mode
debug:
	(cd ../../modeles/ICOSA_LMDZ/; ./make_icosa_lmdz -debug -parallel mpi -p lmd -arch ${FCM_ARCH} -arch_path ../ARCH -job 8 ; mv bin/icosa_lmdz.exe ../../bin/. ; mv ../XIOS/bin/xios_server.exe ../../bin/.)


# Target to compile LMDZ on latatitude-longitude grid (without DYNAMICO)
# Default resolution 144x142x79 is compiled
lmdz_latlon:
	(cd ../../modeles/IOIPSL ; ./makeioipsl_fcm -prod -parallel -arch ${FCM_ARCH} -arch_path ../ARCH -j 8)
	(cd ../../modeles/XIOS ; ./make_xios --prod --arch ${FCM_ARCH} --arch_path ../ARCH --job 8 ; mv bin/xios_server.exe ../../bin/.)  
	(cd ../../modeles/LMDZ5/; ./makelmdz_fcm -prod -d 144x142x79 -parallel mpi -mem -p lmd -arch ${FCM_ARCH} -arch_path ../ARCH -job 8  -io xios -v false -rrtm true gcm ; mv bin/gcm_144x142x79_phylmd_para_mem.e ../../bin/gcm.e) ; 
	(echo "noORCAxLMD144142-L79" >.resol)
	(echo "RESOL_ATM_3D=144x142x79" >>.resol)


# Target to remove everything created during compilation
clean:
	(rm -rf ../../modeles/IOIPSL/inc ../../modeles/IOIPSL/obj ../../modeles/IOIPSL/lib ../../modeles/IOIPSL/fcm.bld.lock )
	(rm -rf ../../modeles/XIOS/bin/ ../../modeles/XIOS/inc ../../modeles/XIOS/obj ../../modeles/XIOS/lib )
	(rm -rf ../../modeles/LMDZ/libo/* ../../modeles/LMDZ/.lock )
	(cd ../../modeles/ICOSAGCM ; ./clean)
	(cd ../../modeles/ICOSA_LMDZ ; ./clean)
	(rm -f ../../bin/icosa_lmdz.exe ../../bin/xios_server.exe)

