source: LMDZ6/branches/cirrus/libf/phylmd/ecrad/driver/Makefile @ 4945

Last change on this file since 4945 was 4853, checked in by idelkadi, 9 months ago

Ecrad update in LMDZ / Implementation of Ecrad double call in LMDZ

  • version 1.6.1 (commit 210d7911380f53a788c3cad73b3cf9b4e022ef87)
  • interface routines between lmdz and ecrad grouped in a new "lmdz" directory
  • double call method redesigned so as to go through the Ecrad initialization and configuration part only once for the entire simulation
  • clean-up in the read.F routine: delete unitules arguments
  • modification of default gas model in namelist (default: ECCKD)
File size: 1.8 KB
Line 
1TEST_PROGRAMS = test_cloud_generator test_spartacus_math \
2        test_aerosol_optics_description test_random_number_generator \
3        test_fast_expm
4
5# In dependency order:
6SOURCES = ecrad_driver_read_input.F90 \
7        ecrad_driver_config.F90
8
9OBJECTS := $(SOURCES:.F90=.o)
10EXECUTABLE = ../bin/ecrad
11IFS_EXECUTABLE = ../bin/ecrad_ifs
12IFS_BLOCKED_EXECUTABLE = ../bin/ecrad_ifs_blocked
13
14all: driver ifs_driver test_programs
15
16driver: $(EXECUTABLE)
17
18ifs_driver: $(IFS_EXECUTABLE) $(IFS_BLOCKED_EXECUTABLE)
19
20test_programs: $(TEST_PROGRAMS)
21
22# Link ecrad executable; add "-lifs" if you want to use the "satur"
23# routine in ecrad_driver.F90
24$(EXECUTABLE): $(OBJECTS) ../lib/*.a ecrad_driver.o
25        $(FC) $(FCFLAGS) ecrad_driver.o $(OBJECTS) $(LIBS) -o $(EXECUTABLE)
26
27$(IFS_EXECUTABLE): $(OBJECTS) ../lib/*.a ecrad_ifs_driver.o
28        $(FC) $(FCFLAGS) ecrad_ifs_driver.o $(OBJECTS) -lifs $(LIBS) -o $(IFS_EXECUTABLE)
29
30$(IFS_BLOCKED_EXECUTABLE): $(OBJECTS) ../lib/*.a ecrad_ifs_driver_blocked.o
31        $(FC) $(FCFLAGS) ifs_blocking.o ecrad_ifs_driver_blocked.o $(OBJECTS) -lifs $(LIBS) -o $(IFS_BLOCKED_EXECUTABLE)
32
33test_%: test_%.F90 ../lib/*.a
34        $(FC) $(FCFLAGS) $< $(LIBS) -o $@
35
36#$(TEST): $(TEST).F90 ../lib/*.a
37#       $(FC) $(FCFLAGS) $(TEST).F90 $(LIBS) -o $(TEST)
38
39# Note that the dependence on mod files can mean that rerunning "make"
40# recreates the executable
41%.o: %.F90 ../lib/*.a
42        $(FC) $(FCFLAGS) -c $<
43
44clean:
45        rm -f *.o $(EXECUTABLE) $(IFS_EXECUTABLE) $(IFS_BLOCKED_EXECUTABLE) \
46                $(TEST_PROGRAMS)
47
48ecrad_driver.o: ecrad_driver_config.o ecrad_driver_read_input.o
49ecrad_ifs_driver.o: ecrad_driver_config.o ecrad_driver_read_input.o
50ecrad_ifs_driver_blocked.o: ecrad_driver_config.o ecrad_driver_read_input.o ifs_blocking.o
51ecrad_driver_read_input.o ifs_blocking.o: ecrad_driver_config.o
52
53.PHONY: driver ifs_driver test_programs all
Note: See TracBrowser for help on using the repository browser.