

FC  =  ifort # gfortran # pgf90
Inc = "/work/apps/intel_2016/netcdf/4.3.3.1/"
#Inc = "/work/apps/intel_2016/netcdf/4.6.1/"

.SUFFIXES: .f90 .o

.f90.o:
	$(FC) -c $*.f90
###############################################################################
# Su dung 1982-2020 Mem-1 traning; 2011-2020 Mem-1 - Mem-6 testing:

21: BC_ANN_1982-2020.f90
	$(FC) -o 1.exe BC_ANN_1982-2020.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
22: BC_ANN_2011-2020_test.f90
	$(FC) -o 1.exe BC_ANN_2011-2020_test.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
c1: Outputs_for_Dr_1982-2020.f90 
	$(FC) -o 1.exe Outputs_for_Dr_1982-2020.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
o1: BC_ANN_Ope.f90
	$(FC) -o 1.exe BC_ANN_Ope.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
co: Combine_for_Ope.f90
	$(FC) -o 1.exe Combine_for_Ope.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

# ----- New test with anomaly:

bc0: BC_ANN_1982-2020_Feb_2024.f90
	$(FC) -o 1.exe BC_ANN_1982-2020_Feb_2024.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

###############################################################################
# Use V3 but 3-month moving values of Pr and T 

701: BC_ANN_Training_new_V7_1.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V7_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
702: BC_ANN_ens_test_new_V7_1.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V7_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

###############################################################################
# 6 variables x Ngrd = inputs, Ngrd outputs:

601: BC_ANN_Training_new_V6.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V6.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
602: BC_ANN_ens_test_new_V6.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V6.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
 
###############################################################################
# 18 variables, standardization data with Max,Min, entire timeseries at gridpoints:

501: BC_ANN_Training_new_V5.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V5.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ 
502: BC_ANN_ens_test_new_V5.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V5.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
###############################################################################
# 18 variables, standardization data, 12 months:

401: BC_ANN_Training_new_V4.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V4.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ 
402: BC_ANN_ens_test_new_V4.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V4.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
###############################################################################
# 18 variables, standardization data with Max and Min, 12 months:

411: BC_ANN_Training_new_V4_1.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V4_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
412: BC_ANN_ens_test_new_V4_1.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V4_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

# Same as above, except entire timeseries:
421: BC_ANN_Training_new_V4_2.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V4_2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
422: BC_ANN_ens_test_new_V4_2.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V4_2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
###############################################################################

# MLR+ANN+Cli:

911: BC_MLR_ANN_Training_new_V2.f90
	$(FC) -o 1.exe BC_MLR_ANN_Training_new_V2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ 

912: BC_MLR_ANN_ens_test_new_V2.f90
	$(FC) -o 1.exe BC_MLR_ANN_ens_test_new_V2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

###############################################################################

0: test.f90 
	$(FC) -o 1.exe test.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

1: BC_ANN_Training.f90 
	$(FC) -o 1.exe BC_ANN_Training.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
2: BC_ANN_test.f90
	$(FC) -o 1.exe BC_ANN_test.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
3: BC_ANN_ens_test.f90
	$(FC) -o 1.exe BC_ANN_ens_test.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

11: BC_ANN_Training_new.f90
	$(FC) -o 1.exe BC_ANN_Training_new.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
12: BC_ANN_ens_test_new.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

111: BC_ANN_Training_new_V1.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
112: BC_ANN_ens_test_new_V1.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

# 6 variables, no stadardization:
121: BC_ANN_Training_new_V2.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
122: BC_ANN_ens_test_new_V2.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

###############################################################################
# Using standardization data, 12 months:

211: BC_ANN_Training_new_V2_1.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V2_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ 
212: BC_ANN_ens_test_new_V2_1.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V2_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
        
###############################################################################
# Using standardization data with Max, Min, 12 months:

221: BC_ANN_Training_new_V2_2.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V2_2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ 
222: BC_ANN_ens_test_new_V2_2.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V2_2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

# 18 variables, no stadardization:
131: BC_ANN_Training_new_V3.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V3.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
132: BC_ANN_ens_test_new_V3.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V3.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

# 18 variables, stadardization using Max, Min, 12 months:
231: BC_ANN_Training_new_V3_1.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V3_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
232: BC_ANN_ens_test_new_V3_1.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V3_1.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

# 18 variables, Rescale/Standardize/Anomaly (3 options with Trans), 12 months:
241: BC_ANN_Training_new_V3_2.f90
	$(FC) -o 1.exe BC_ANN_Training_new_V3_2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
242: BC_ANN_ens_test_new_V3_2.f90
	$(FC) -o 1.exe BC_ANN_ens_test_new_V3_2.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

###################################################

n4: Verify_1982-2020.f90
	$(FC) -o 1.exe Verify_1982-2020.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

4: Verify_Training.f90
	$(FC) -o 1.exe Verify_Training.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
5: Verify_testing.f90
	$(FC) -o 1.exe Verify_testing.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

6: Combine_for_Dr.f90
	$(FC) -o 1.exe Combine_for_Dr.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/
7: Combine_for_Dr_Ens.f90
	$(FC) -o 1.exe Combine_for_Dr_Ens.f90 -L ${Inc}lib/ -lnetcdff -I ${Inc}include/

clean:
	rm *.exe  # *.o  *.mod

