Makefile (4130B)
1 BIN = ../cngf-pf/cngf-pf 2 SHEARFLUX = ../cngf-pf/shear_flux 3 MAXDEPTH = ../cngf-pf/max_depth_simple_shear 4 5 # grounding-line width [m] 6 WIDTH = 100e3 7 8 # average ice-flow velocity [m/s] 9 VEL != echo 1000.0/365.0/24.0/3600.0 | bc -l 10 11 POROSITY = 0.35 12 DIFFUSIVITY = 1e-8 13 FREQ_DAILY != echo 1.0/3600.0/24.0 | bc -l 14 FREQ_WEEKLY != echo 1.0/3600.0/24.0/7.0 | bc -l 15 FREQ_MONTHLY != echo 1.0/3600.0/24.0/30.0 | bc -l 16 FREQ_YEARLY != echo 1.0/3600.0/24.0/365.0 | bc -l 17 FREQ_DECADAL != echo 1.0/3600.0/24.0/365.0/10.0 | bc -l 18 FREQ_CENTENNIAL != echo 1.0/3600.0/24.0/365.0/100.0 | bc -l 19 FREQ=$(FREQ_WEEKLY) 20 T_END != echo 3600.0*24.0*14.0 | bc -l 21 FLAGS = -m 0.45 -c 3e3 -n 100e3 -d 1e-3 -s $(VEL) -L 4.0 -p $(POROSITY) -D $(DIFFUSIVITY) -q $(FREQ) -I 1800.0 22 23 TARGET_VOL = 5.34e11 24 25 default: \ 26 steady_flux \ 27 def_depth 28 29 steady.txt: 30 $(BIN) $(FLAGS) > $@ 31 32 def_depth: 33 for q in $(FREQ_DAILY) $(FREQ_WEEKLY) $(FREQ_MONTHLY) $(FREQ_YEARLY) $(FREQ_DECADAL) $(FREQ_CENTENNIAL); do \ 34 printf '%s\t' "$$q"; \ 35 $(MAXDEPTH) -p $(POROSITY) -D $(DIFFUSIVITY) -q $$q -a 50e3;\ 36 done 37 38 steady_flux: steady.txt 39 # steady-state hydrology 40 @avg_spec_flux=$$($(SHEARFLUX) steady.txt) && \ 41 avg_flux=$$(awk -v avg_spec_flux="$$avg_spec_flux" "BEGIN { print $(WIDTH)*avg_spec_flux }" ) && \ 42 yearly_volume=$$(awk -v avg_flux="$$avg_flux" "BEGIN { print avg_flux*3600.0*24.0*365.0 }" ) && \ 43 duration=$$(awk -v target_vol=$(TARGET_VOL) -v yearly_volume="$$yearly_volume" "BEGIN { print target_vol/yearly_volume }" ) && \ 44 printf 'Specific flux: %.5g m^2/s\n' "$$avg_spec_flux" && \ 45 printf ' %.5g m^2/a\n' "$$(awk -v q="$$avg_spec_flux" 'BEGIN {print q*3600.0*24.0*365.0}')" && \ 46 printf 'Avg. flux: %.5g m^3/s\n' "$$avg_flux" && \ 47 printf 'Yearly volume: %.5g m^3/a\n' "$$yearly_volume" && \ 48 printf 'Duration: %.5g a\n' "$$duration" 49 50 variable.output00095.txt: 51 $(BIN) $(FLAGS) \ 52 -F -a 10e3 \ 53 -e $(T_END) \ 54 variable 55 56 variable_flux: variable.output00095.txt 57 # variable water-pressure, low amplitude 58 @avg_spec_flux=$$($(SHEARFLUX) variable.output*.txt | awk '{sum+=$$1} END{print sum/NR}') && \ 59 avg_flux=$$(awk -v avg_spec_flux="$$avg_spec_flux" "BEGIN { print $(WIDTH)*avg_spec_flux }" ) && \ 60 yearly_volume=$$(awk -v avg_flux="$$avg_flux" "BEGIN { print avg_flux*3600.0*24.0*365.0 }" ) && \ 61 duration=$$(awk -v target_vol=$(TARGET_VOL) -v yearly_volume="$$yearly_volume" "BEGIN { print target_vol/yearly_volume }" ) && \ 62 printf 'Specific flux: %.5g m^2/s\n' "$$avg_spec_flux" && \ 63 printf ' %.5g m^2/a\n' "$$(awk -v q="$$avg_spec_flux" 'BEGIN {print q*3600.0*24.0*365.0}')" && \ 64 printf 'Avg. flux: %.5g m^3/s\n' "$$avg_flux" && \ 65 printf 'Yearly volume: %.5g m^3/a\n' "$$yearly_volume" && \ 66 printf 'Duration: %.5g a\n' "$$duration" 67 68 69 # -a 50e3 is now 79 m^2/a 70 # -a 99e3 is now 102 m^2/a 71 variable_hi.output00095.txt: 72 $(BIN) $(FLAGS) \ 73 -F -a 50e3 \ 74 -e $(T_END) \ 75 variable_hi 76 77 variable_flux_hi: variable_hi.output00095.txt 78 # variable water-pressure, high amplitude 79 @avg_spec_flux=$$($(SHEARFLUX) variable_hi.output*.txt | awk '{sum+=$$1} END{print sum/NR}') && \ 80 avg_flux=$$(awk -v avg_spec_flux="$$avg_spec_flux" "BEGIN { print $(WIDTH)*avg_spec_flux }" ) && \ 81 yearly_volume=$$(awk -v avg_flux="$$avg_flux" "BEGIN { print avg_flux*3600.0*24.0*365.0 }" ) && \ 82 duration=$$(awk -v target_vol=$(TARGET_VOL) -v yearly_volume="$$yearly_volume" "BEGIN { print target_vol/yearly_volume }" ) && \ 83 printf 'Specific flux: %.5g m^2/s\n' "$$avg_spec_flux" && \ 84 printf ' %.5g m^2/a\n' "$$(awk -v q="$$avg_spec_flux" 'BEGIN {print q*3600.0*24.0*365.0}')" && \ 85 printf 'Avg. flux: %.5g m^3/s\n' "$$avg_flux" && \ 86 printf 'Yearly volume: %.5g m^3/a\n' "$$yearly_volume" && \ 87 printf 'Duration: %.5g a\n' "$$duration" 88 89 90 truffer_comparison: 91 for A in 10e3 20e3 40e3 80e3 160e3 320e3 640e3 1000e3; do \ 92 printf '%s\t' "$$A"; \ 93 $(MAXDEPTH) -D 1.5e-5 -a $$A -q $(FREQ_YEARLY); \ 94 done 95 96 clean: 97 rm -f steady.txt 98 find . -type f -name 'variable*.output*.txt' -delete 99 100 .PHONY: default clean steady_flux variable_flux variable_flux_hi amplitude_dependence truffer_comparison