manus_continuum_granular1_exp

experiments for first paper with continuum granular model
git clone git://src.adamsgaard.dk/manus_continuum_granular1_exp
Log | Files | Refs | Submodules | README | LICENSE Back to index

Makefile (4174B)


      1 BIN = ../1d_fd_simple_shear/1d_fd_simple_shear
      2 SHEARFLUX = ../1d_fd_simple_shear/shear_flux
      3 MAXDEPTH = ../1d_fd_simple_shear/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