#  Republican River Settlement Model Version 12p
#  This makefile compiles all the codes and
#  makes all the runs.  Data dependencies are
#  listed explicitly in the rules.

#  FORTRAN programs that must be compiled
EXE = mkgw mksw rrpp mklk acct
#  Files needed by MODFLOW for all runs
MFCOMMON   = 12p.bas 12p.lpf 12p.dis 11.oc 12p.pcg 12.str 11.drn 12p.evt 12.hyd 02.ibound 12p.shead 12.top 12.bot 12.ss 12p.k
#  Files needed by RRPP for all runs
RRPPCOMMON = co12b ks12b ne12b 02.ibound ppt-data/loc.dat ppt-data/ppt.dat soil.12o terrain.flg terrain.12p states.flg

#  The final answer is the accounting table
12p.htm: acct acct.par 12p.sfi 12p1.sfi 12p2.sfi 12p3.sfi 12p4.sfi
	acct acct.par 12p.sfi 12p1.sfi 12p2.sfi 12p3.sfi 12p4.sfi 12p > 12p.htm

#  Historic run
12p.sfi: 12p.nam 12p.rch 12p.wel $(MFCOMMON)
	mf2k 12p.nam

#  No Colorado pumping impact run
12p1.sfi: 12p1.nam 12p1.rch 12p1.wel $(MFCOMMON)
	mf2k 12p1.nam

#  No Kansas pumping impact run
12p2.sfi: 12p2.nam 12p2.rch 12p2.wel $(MFCOMMON)
	mf2k 12p2.nam

#  No Nebraska pumping impact run
12p3.sfi: 12p3.nam 12p3.rch 12p3.wel $(MFCOMMON)
	mf2k 12p3.nam

#  No Mound Imports impact run
12p4.sfi: 12p4.nam 12p4.rch 12p4.wel $(MFCOMMON)
	mf2k 12p4.nam

#  Recharge and well pumping input files
12p.rch  12p.wel:  rrpp 12p.par  $(RRPPCOMMON)
	mkdir -p ppt12p
	rrpp 12p.par
12p1.rch 12p1.wel: rrpp 12p1.par $(RRPPCOMMON)
	rrpp 12p1.par
12p2.rch 12p2.wel: rrpp 12p2.par $(RRPPCOMMON)
	rrpp 12p2.par
12p3.rch 12p3.wel: rrpp 12p3.par $(RRPPCOMMON)
	rrpp 12p3.par
12p4.rch 12p4.wel: rrpp 12p4.par $(RRPPCOMMON)
	rrpp 12p4.par

#  Colorado pumping, recharge and surface water returns
co12b: cpmi municipal mkgw co12b.gw.par 02.ibound co-data/pumping.dat co-data/returns.dat co-data/nohipl.dat mksw co12b.sw.par co-data/laird.dat co-data/pioneer.dat co-data/hale.dat co-data/surf.dat
	mkdir -p co12b
	cpmi co12b
	mkgw co12b.gw.par
	mksw co12b.sw.par

#  Kansas pumping, recharge and surface water returns
ks12b: cpmi mkgw ks12b.gw.par 02.ibound ks-data/kmthdist.dat ks-data/kspump.dat ks-data/ksrech.dat ks-data/kswells.dat ks12b.mi.par ks-data/ksmipump.dat  ks-data/ksmiwells.dat mksw ks12b.sw.par ks-data/almena.dat ks-data/surf.dat
	mkdir -p ks12b
	mkgw ks12b.mi.par
	mkgw ks12b.gw.par
	mksw ks12b.sw.par

#  Nebraska pumping, recharge, surface water returns and canal leakage
ne12b: cpmi municipal mknedat ne-data/GWOnlyWells_Export.dbf ne-data/CoWell_Export.dbf ne-data/SWexLand_Revised.dbf ne-data/SWcoLand_Revised.dbf ne-data/RiverPumpers_NE_061003.dbf ne-data/PrivateCanalLosses_to_Fields_NE_061003.dbf mknecanal ne-data/canal
	mkdir -p ne12b
	cpmi ne12b
	mknedat
	mknecanal

#  Create hydraulic conductivity array
12p.k: mklk k12p.par 02.ibound k12p.fix
	mklk k12p.par

#  Create evapotranspiration package
12p.evt: et/mket et/basinfactors12p.dbf et/monet.dbf et/basin.flg et/etarea.dat 11.etsurf
	(cd et;mket basinfactors12p.dbf 2.0 ../12p.evt)

#  Create stream package
12.str: str/mkstr str/reservoir.dbf ground/11.str
	(cd str;mkstr)

#  Ground surface for streams and ET
ground/11.str 11.etsurf: ground/mkstret 02.ibound ground/07.str ground/ground.min.64 ground/ground.avg.64
	(cd ground;mkstret)

#  Programs
mkgw: mkgw.f utl.f
	g77 -O -Wall -omkgw mkgw.f utl.f

mksw: mksw.f utl.f
	g77 -O -Wall -omksw mksw.f utl.f

rrpp: rrpp.f rrpp.ins krige.f utl.f
	g77 -O -Wall -orrpp rrpp.f krige.f utl.f

mklk: mklk.f krige.f utl.f
	g77 -O -Wall -omklk mklk.f krige.f utl.f

acct: acct.f utl.f
	g77 -O -Wall -oacct acct.f utl.f

#  Start over
clean:
	rm -Rf $(EXE) *.o *.htm *.head *.sfi *.out *.?cf *.rch *.wel *.str *.evt ground/11.str 11.etsurf 12p.k ppt12p co12b ks12b ne12b
