tMakefile - cngf-pf-exp1 - experiments for first paper with continuum granular model
 (HTM) git clone git://src.adamsgaard.dk/manus_continuum_granular1_exp
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
       tMakefile (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