36 mean_accum, mean_accum_inv, &
37 dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser, &
38 time, time_init, time_end, time_output, &
39 dxi, deta, dzeta_c, dzeta_t, dzeta_r, &
40 z_sl, dzsl_dtau, z_mar, &
42 ndat2d, ndat3d, n_output, &
50 integer(i4b),
intent(out) :: ii((imax+1)*(jmax+1)), &
51 jj((imax+1)*(jmax+1)), &
53 integer(i4b),
intent(out) :: ndat2d, ndat3d
54 integer(i4b),
intent(out) :: n_output
55 real(dp),
intent(out) :: delta_ts, glac_index
56 real(dp),
intent(out) :: mean_accum, mean_accum_inv
57 real(dp),
intent(out) :: dtime, dtime_temp, dtime_wss, &
59 real(dp),
intent(out) :: time, time_init, time_end, time_output(100)
60 real(dp),
intent(out) :: dxi, deta, dzeta_c, dzeta_t, dzeta_r
61 real(dp),
intent(out) :: z_sl, dzsl_dtau, z_mar
62 character(len=100),
intent(out) :: runname
64 integer(i4b) :: i, j, kc, kt, kr, m, n, ir, jr
65 integer(i4b) :: ios, ios1, ios2, ios3, ios4
67 real(dp) :: dtime0, dtime_temp0, dtime_wss0, dtime_out0, dtime_ser0
68 real(dp) :: time_init0, time_end0, time_output0(100)
70 character (len=100) :: anfdatname
71 character (len=256) :: shell_command
73 logical :: flag_3d_output
75 character(len=64),
parameter :: fmt1 =
'(a)', &
97 #if (CALCZS==4 || MARGIN==3)
100 call lis_initialize(ierr)
109 s_t = s_t *1.0e-03_dp
110 x_hat = x_hat *1.0e+03_dp
111 y_hat = y_hat *1.0e+03_dp
112 b_max = b_max /year_sec
113 s_b = s_b *1.0e-03_dp/year_sec
114 eld = eld *1.0e+03_dp
118 if ( trim(version) /= trim(sico_version) ) &
119 stop
' sico_init: SICOPOLIS version not compatible with header file!'
126 if (abs(dx-25.0_dp) < eps)
then
128 if ((imax /= 60).or.(jmax /= 60))
then
129 stop
' sico_init: IMAX and/or JMAX wrong!'
132 else if (abs(dx-75.0_dp) < eps)
then
134 if ((imax /= 20).or.(jmax /= 20))
then
135 stop
' sico_init: IMAX and/or JMAX wrong!'
139 stop
' sico_init: DX wrong!'
144 stop
' sico_init: GRID==1 not allowed for this application!'
148 stop
' sico_init: GRID==2 not allowed for this application!'
156 stop
' sico_init: Option ADV_HOR==1 (central differences) not defined!'
166 dtime_temp0 = dtime_temp0
170 dzeta_c = 1.0_dp/
real(kcmax,dp)
171 dzeta_t = 1.0_dp/
real(ktmax,dp)
172 dzeta_r = 1.0_dp/
real(krmax,dp)
185 if ((i <= imax).and.(j <= jmax))
then
197 anfdatname = anfdatname
199 #if defined(YEAR_ZERO)
200 year_zero = year_zero
202 year_zero = 2000.0_dp
205 time_init0 = time_init0
206 time_end0 = time_end0
207 dtime_ser0 = dtime_ser0
209 #if ( OUTPUT==1 || OUTPUT==3 )
210 dtime_out0 = dtime_out0
213 #if ( OUTPUT==2 || OUTPUT==3 )
215 time_output0( 1) = time_out0_01
216 time_output0( 2) = time_out0_02
217 time_output0( 3) = time_out0_03
218 time_output0( 4) = time_out0_04
219 time_output0( 5) = time_out0_05
220 time_output0( 6) = time_out0_06
221 time_output0( 7) = time_out0_07
222 time_output0( 8) = time_out0_08
223 time_output0( 9) = time_out0_09
224 time_output0(10) = time_out0_10
225 time_output0(11) = time_out0_11
226 time_output0(12) = time_out0_12
227 time_output0(13) = time_out0_13
228 time_output0(14) = time_out0_14
229 time_output0(15) = time_out0_15
230 time_output0(16) = time_out0_16
231 time_output0(17) = time_out0_17
232 time_output0(18) = time_out0_18
233 time_output0(19) = time_out0_19
234 time_output0(20) = time_out0_20
239 shell_command =
'if [ ! -d'
240 shell_command = trim(shell_command)//
' '//outpath
241 shell_command = trim(shell_command)//
' '//
'] ; then mkdir'
242 shell_command = trim(shell_command)//
' '//outpath
243 shell_command = trim(shell_command)//
' '//
'; fi'
244 call system(trim(shell_command))
247 open(10, iostat=ios, &
248 file=outpath//
'/'//trim(runname)//
'.log', &
251 stop
' sico_init: Error when opening the log file!'
253 write(10, fmt=trim(fmt1))
'Computational domain:'
255 write(10, fmt=trim(fmt1))
'Antarctica'
257 write(10, fmt=trim(fmt1))
'Greenland'
259 write(10, fmt=trim(fmt1))
'Scandinavia and Eurasia'
261 write(10, fmt=trim(fmt1))
'Northern hemisphere'
262 #elif defined(EMTP2SGE)
263 write(10, fmt=trim(fmt1))
'EISMINT Phase 2 Simplified Geometry Experiment'
265 write(10, fmt=trim(fmt1))
'North polar cap of Mars'
267 write(10, fmt=trim(fmt1))
'South polar cap of Mars'
269 stop
' sico_init: No valid domain specified!'
271 write(10, fmt=trim(fmt1))
' '
273 write(10, fmt=trim(fmt2))
'imax =', imax
274 write(10, fmt=trim(fmt2))
'jmax =', jmax
275 write(10, fmt=trim(fmt2))
'kcmax =', kcmax
276 write(10, fmt=trim(fmt2))
'ktmax =', ktmax
277 write(10, fmt=trim(fmt2))
'krmax =', krmax
278 write(10, fmt=trim(fmt1))
' '
280 write(10, fmt=trim(fmt3))
'a =', deform
281 write(10, fmt=trim(fmt1))
' '
283 #if (GRID==0 || GRID==1)
284 write(10, fmt=trim(fmt3))
'x0 =', x0
285 write(10, fmt=trim(fmt3))
'y0 =', y0
286 write(10, fmt=trim(fmt3))
'dx =', dx
288 write(10, fmt=trim(fmt3))
'dlambda =', dlambda
289 write(10, fmt=trim(fmt3))
'dphi =', dphi
291 write(10, fmt=trim(fmt1))
' '
293 write(10, fmt=trim(fmt3))
'year_zero =', year_zero
294 write(10, fmt=trim(fmt3))
'time_init =', time_init0
295 write(10, fmt=trim(fmt3))
'time_end =', time_end0
296 write(10, fmt=trim(fmt3))
'dtime =', dtime0
297 write(10, fmt=trim(fmt3))
'dtime_temp =', dtime_temp0
298 #if ( OUTPUT==1 || OUTPUT==3 )
299 write(10, fmt=trim(fmt3))
'dtime_out =', dtime_out0
301 write(10, fmt=trim(fmt3))
'dtime_ser =', dtime_ser0
302 write(10, fmt=trim(fmt1))
' '
304 write(10, fmt=trim(fmt1))
'Physical-parameter file = '//phys_para_file
305 write(10, fmt=trim(fmt1))
' '
307 #if (CALCZS==3 || CALCZS==4)
308 write(10, fmt=trim(fmt3))
'ovi_weight =', ovi_weight
310 write(10, fmt=trim(fmt3))
'omega_sor =', omega_sor
312 write(10, fmt=trim(fmt1))
' '
315 write(10, fmt=trim(fmt3))
'temp_min =', temp_min
316 write(10, fmt=trim(fmt3))
's_t =', s_t
317 write(10, fmt=trim(fmt3))
'x_hat =', x_hat
318 write(10, fmt=trim(fmt3))
'y_hat =', y_hat
319 write(10, fmt=trim(fmt3))
'b_max =', b_max
320 write(10, fmt=trim(fmt3))
's_b =', s_b
321 write(10, fmt=trim(fmt3))
'eld =', eld
322 write(10, fmt=trim(fmt1))
' '
325 write(10, fmt=trim(fmt3))
'delta_ts0 =', delta_ts0
327 write(10, fmt=trim(fmt3))
'sine_amplit =', sine_amplit
328 write(10, fmt=trim(fmt3))
'sine_period =', sine_period
330 write(10, fmt=trim(fmt1))
'GRIP file = '//grip_temp_file
331 write(10, fmt=trim(fmt3))
'grip_temp_fact =', grip_temp_fact
335 write(10, fmt=trim(fmt3))
'z_sl0 =', z_sl0
337 write(10, fmt=trim(fmt1))
'sea-level file = '//sea_level_file
339 write(10, fmt=trim(fmt1))
' '
342 #if ( MARINE_ICE_CALVING==2 || MARINE_ICE_CALVING==3 )
343 write(10, fmt=trim(fmt3))
'z_mar =', z_mar
344 write(10, fmt=trim(fmt1))
' '
345 #elif ( MARINE_ICE_CALVING==4 || MARINE_ICE_CALVING==5 \
346 || marine_ice_calving==6 || marine_ice_calving==7 )
347 write(10, fmt=trim(fmt3))
'fact_z_mar =', fact_z_mar
348 write(10, fmt=trim(fmt1))
' '
349 #elif ( ( MARINE_ICE_FORMATION==2 ) && ( MARINE_ICE_CALVING==9 ) )
350 write(10, fmt=trim(fmt3))
'calv_uw_coeff =', calv_uw_coeff
351 write(10, fmt=trim(fmt3))
'r1_calv_uw =', r1_calv_uw
352 write(10, fmt=trim(fmt3))
'r2_calv_uw =', r2_calv_uw
353 write(10, fmt=trim(fmt1))
' '
356 #if ICE_SHELF_CALVING==2
357 write(10, fmt=trim(fmt3))
'H_calv =', h_calv
358 write(10, fmt=trim(fmt1))
' '
362 write(10, fmt=trim(fmt3))
'c_slide =', c_slide
363 write(10, fmt=trim(fmt3))
'gamma_slide =', gamma_slide
364 write(10, fmt=trim(fmt2))
'p_weert =', p_weert
365 write(10, fmt=trim(fmt2))
'q_weert =', q_weert
367 write(10, fmt=trim(fmt3))
'red_pres_limit_fact =', red_pres_limit_fact
369 write(10, fmt=trim(fmt1))
' '
372 write(10, fmt=trim(fmt3))
'q_geo =', q_geo
373 write(10, fmt=trim(fmt1))
' '
377 write(10, fmt=trim(fmt3))
'frac_llra =', frac_llra
378 write(10, fmt=trim(fmt1))
' '
382 write(10, fmt=trim(fmt3))
'gr_size =', gr_size
383 write(10, fmt=trim(fmt1))
' '
386 write(10, fmt=trim(fmt3))
'sigma_res =', sigma_res
387 write(10, fmt=trim(fmt1))
' '
390 write(10, fmt=trim(fmt2))
'ENHMOD =', enhmod
391 write(10, fmt=trim(fmt3))
'enh_fact =', enh_fact
392 #if ( ENHMOD==2 || ENHMOD==3 )
393 write(10, fmt=trim(fmt3))
'enh_intg =', enh_intg
396 write(10, fmt=trim(fmt3))
'age_trans =', age_trans_0
399 write(10, fmt=trim(fmt3))
'date_trans1 =', date_trans1_0
400 write(10, fmt=trim(fmt3))
'date_trans2 =', date_trans2_0
401 write(10, fmt=trim(fmt3))
'date_trans3 =', date_trans3_0
404 write(10, fmt=trim(fmt3))
'enh_shelf =', enh_shelf
406 write(10, fmt=trim(fmt1))
' '
408 write(10, fmt=trim(fmt3))
'numdiff_H_t =', numdiff_h_t
409 write(10, fmt=trim(fmt3))
'tau_cts =', tau_cts
410 write(10, fmt=trim(fmt3))
'H_min =', h_min
411 write(10, fmt=trim(fmt3))
'vh_max =', vh_max
412 write(10, fmt=trim(fmt3))
'hd_min =', hd_min
413 write(10, fmt=trim(fmt3))
'hd_max =', hd_max
415 write(10, fmt=trim(fmt3))
'qbm_min =', qbm_min
416 #elif defined(QB_MIN) /* obsolete */
417 write(10, fmt=trim(fmt3))
'qb_min =', qb_min
420 write(10, fmt=trim(fmt3))
'qbm_max =', qbm_max
421 #elif defined(QB_MAX) /* obsolete */
422 write(10, fmt=trim(fmt3))
'qb_max =', qb_max
424 write(10, fmt=trim(fmt3))
'age_min =', age_min
425 write(10, fmt=trim(fmt3))
'age_max =', age_max
426 write(10, fmt=trim(fmt3))
'mean_accum =', mean_accum
428 write(10, fmt=trim(fmt3))
'age_diff =', agediff
430 write(10, fmt=trim(fmt1))
' '
432 write(10, fmt=trim(fmt2))
'GRID =', grid
433 write(10, fmt=trim(fmt2))
'CALCMOD =', calcmod
434 write(10, fmt=trim(fmt2))
'FLOW_LAW =', flow_law
435 write(10, fmt=trim(fmt2))
'FIN_VISC =', fin_visc
436 write(10, fmt=trim(fmt2))
'MARGIN =', margin
438 write(10, fmt=trim(fmt2))
'MARINE_ICE_FORMATION =', marine_ice_formation
439 write(10, fmt=trim(fmt2))
'MARINE_ICE_CALVING =', marine_ice_calving
441 write(10, fmt=trim(fmt2))
'ICE_SHELF_CALVING =', ice_shelf_calving
443 write(10, fmt=trim(fmt2))
'ANF_DAT =', anf_dat
444 write(10, fmt=trim(fmt2))
'REBOUND =', rebound
445 write(10, fmt=trim(fmt2))
'Q_LITHO =', q_litho
446 write(10, fmt=trim(fmt2))
'ZS_EVOL =', zs_evol
447 write(10, fmt=trim(fmt2))
'CALCZS =', calczs
448 write(10, fmt=trim(fmt2))
'ADV_HOR =', adv_hor
449 write(10, fmt=trim(fmt2))
'ADV_VERT =', adv_vert
450 write(10, fmt=trim(fmt2))
'TOPOGRAD =', topograd
451 write(10, fmt=trim(fmt2))
'TSURFACE =', tsurface
452 write(10, fmt=trim(fmt2))
'SEA_LEVEL =', sea_level
453 write(10, fmt=trim(fmt2))
'SLIDE_LAW =', slide_law
454 write(10, fmt=trim(fmt2))
'Q_GEO_MOD =', q_geo_mod
455 write(10, fmt=trim(fmt1))
' '
457 #if defined(OUT_TIMES)
458 write(10, fmt=trim(fmt2))
'OUT_TIMES =', out_times
460 write(10, fmt=trim(fmt2))
'OUTPUT =', output
461 write(10, fmt=trim(fmt2))
'OUTSER =', outser
462 #if defined(OUTSER_V_A)
463 write(10, fmt=trim(fmt2))
'OUTSER_V_A =', outser_v_a
465 #if ( OUTPUT==1 || OUTPUT==2 )
466 write(10, fmt=trim(fmt2))
'ERGDAT =', ergdat
468 write(10, fmt=trim(fmt2))
'NETCDF =', netcdf
469 write(10, fmt=trim(fmt1))
' '
470 #if ( OUTPUT==2 || OUTPUT==3 )
471 write(10, fmt=trim(fmt2))
'n_output =', n_output
473 write(10, fmt=trim(fmt3))
'time_output =', time_output0(n)
475 write(10, fmt=trim(fmt1))
' '
478 write(10, fmt=trim(fmt1))
'Program version and date: '//version//
' / '//date
480 close(10, status=
'keep')
484 year_zero = year_zero*year_sec
485 time_init = time_init0*year_sec
486 time_end = time_end0*year_sec
487 dtime = dtime0*year_sec
488 dtime_temp = dtime_temp0*year_sec
489 dtime_ser = dtime_ser0*year_sec
490 #if ( OUTPUT==1 || OUTPUT==3 )
491 dtime_out = dtime_out0*year_sec
493 #if ( OUTPUT==2 || OUTPUT==3 )
495 time_output(n) = time_output0(n)*year_sec
499 if (abs(dtime_temp/dtime-nint(dtime_temp/dtime)) > eps) &
500 stop
' sico_init: dtime_temp must be a multiple of dtime!'
506 mean_accum = mean_accum*(1.0e-03_dp/year_sec)*(rho_w/rho)
509 mean_accum_inv = 1.0_dp/mean_accum
516 maske_help(jmax,:) = 2
519 maske_help(:,imax) = 2
525 open(21, iostat=ios, &
526 file=inpath//
'/general/'//grip_temp_file, &
529 stop
' sico_init: Error when opening the data file for delta_ts!'
531 read(21, fmt=*) ch_dummy, grip_time_min, grip_time_stp, grip_time_max
533 if (ch_dummy /=
'#')
then
534 write(6, fmt=*)
' sico_init: grip_time_min, grip_time_stp, grip_time_max'
535 write(6, fmt=*)
' not defined in data file for delta_ts!'
539 ndata_grip = (grip_time_max-grip_time_min)/grip_time_stp
541 allocate(griptemp(0:ndata_grip))
544 read(21, fmt=*) d_dummy, griptemp(n)
547 close(21, status=
'keep')
555 open(21, iostat=ios, &
556 file=inpath//
'/general/'//sea_level_file, &
559 stop
' sico_init: Error when opening the data file for z_sl!'
561 read(21, fmt=*) ch_dummy, specmap_time_min, specmap_time_stp, specmap_time_max
563 if (ch_dummy /=
'#')
then
564 write(6, fmt=*)
' sico_init: specmap_time_min, specmap_time_stp, specmap_time_max'
565 write(6, fmt=*)
' not defined in data file for z_sl!'
569 ndata_specmap = (specmap_time_max-specmap_time_min)/specmap_time_stp
571 allocate(specmap_zsl(0:ndata_specmap))
573 do n=0, ndata_specmap
574 read(21, fmt=*) d_dummy, specmap_zsl(n)
577 close(21, status=
'keep')
589 q_geo(j,i) = q_geo *1.0e-03_dp
595 stop
' sico_init: Option Q_GEO_MOD==2 not available for this application!'
605 stop
' sico_init: ANF_DAT==1 not allowed for this application!'
615 call
boundary(time_init, dtime, dxi, deta, &
616 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
623 q_b_tot(j,i) = 0.0_dp
629 temp_c(kc,j,i) = temp_s(j,i)
630 age_c(kc,j,i) = 15000.0_dp*year_sec
634 omega_t(kt,j,i) = 0.0_dp
635 age_t(kt,j,i) = 15000.0_dp*year_sec
639 temp_r(kr,j,i) = temp_s(j,i)+q_geo(j,i)*h_r/kappa_r &
640 *(1.0_dp-
real(kr,dp)/
real(krmax,dp))
659 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
662 call
boundary(time_init, dtime, dxi, deta, &
663 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
665 q_b_tot = q_bm + q_tld
673 #if (GRID==0 || GRID==1)
677 dist_dxdy(jr,ir) = sqrt( (
real(ir,dp)*dxi)**2 + (
real(jr,dp)*deta)**2 )
689 zeta_c(kc) = kc*dzeta_c
690 eaz_c(kc) = exp(deform*zeta_c(kc))
691 eaz_c_quotient(kc) = (eaz_c(kc)-1.0_dp)/(ea-1.0_dp)
695 zeta_t(kt) = kt*dzeta_t
719 open(12, iostat=ios, &
720 file=outpath//
'/'//trim(runname)//
'.ser', &
723 stop
' sico_init: Error when opening the ser file!'
728 #if ( !defined(OUTSER_V_A) || OUTSER_V_A==1 )
730 1102
format(
' t(a) D_Ts(deg C) z_sl(m)',/, &
731 ' H_max(m) zs_max(m) V_g(m^3)', &
732 ' V_t(m^3) V_fw(m^3/a) V_sle(m)',/, &
733 ' A_g(m^2) A_t(m^2) V_bm(m^3/a)', &
734 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
735 1103
format(
'----------------------------------------------------', &
736 '---------------------------------------')
740 1102
format(
' t(a) D_Ts(deg C) z_sl(m)',/, &
741 ' V(m^3) V_g(m^3) V_f(m^3)', &
742 ' A(m^2) A_g(m^2) A_f(m^2)',/, &
743 ' H_max(m) zs_max(m)', &
744 ' V_t(m^3) V_fw(m^3/a) V_sle(m)',/, &
745 ' A_t(m^2) V_bm(m^3/a)', &
746 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
747 1103
format(
'----------------------------------------------------', &
748 '---------------------------------------')
751 stop
' sico_init: OUTSER_V_A must be either 1 or 2!'
758 open(13, iostat=ios, &
759 file=outpath//
'/'//trim(runname)//
'.thk', &
761 if (ios /= 0) stop
' sico_init: Error when opening the thk file!'
766 1104
format(
' t(a) D_Ts(deg C) z_sl(m)',/, &
767 ' H(m): JMAX+1 records [j = JMAX (-1) 0] with',/, &
768 ' IMAX+1 values [i = 0 (1) IMAX] in each record')
769 1105
format(
'----------------------------------------------------')
779 allocate(lambda_core(n_core), phi_core(n_core), &
780 x_core(n_core), y_core(n_core))
782 lambda_core(1) = 0.0_dp
784 x_core(1) = 750.0_dp *1.0e+03_dp
785 y_core(1) = 750.0_dp *1.0e+03_dp
788 lambda_core(2) = 0.0_dp
790 x_core(2) = 750.0_dp *1.0e+03_dp
791 y_core(2) = 1125.0_dp *1.0e+03_dp
794 open(14, iostat=ios, &
795 file=outpath//
'/'//trim(runname)//
'.core', &
797 if (ios /= 0) stop
' sico_init: Error when opening the core file!'
799 if (forcing_flag == 1)
then
804 1106
format(
' t(a) D_Ts(C) z_sl(m)',/, &
805 ' H_P1(m) H_P2(m)',/, &
806 ' v_P1(m/a) v_P2(m/a)',/, &
807 ' T_P1(C) T_P2(C)',/, &
808 ' Rb_P1(W/m2) Rb_P2(W/m2)')
809 1107
format(
'---------------------------------------')
820 flag_3d_output = .false.
822 flag_3d_output = .true.
824 stop
' sico_init: ERGDAT must be either 0 or 1!'
828 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
829 flag_3d_output, ndat2d, ndat3d)
831 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
832 flag_3d_output, ndat2d, ndat3d)
834 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
839 if (time_output(1) <= time_init+eps)
then
842 flag_3d_output = .false.
844 flag_3d_output = .true.
846 stop
' sico_init: ERGDAT must be either 0 or 1!'
850 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
851 flag_3d_output, ndat2d, ndat3d)
853 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
854 flag_3d_output, ndat2d, ndat3d)
856 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
863 flag_3d_output = .false.
866 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
867 flag_3d_output, ndat2d, ndat3d)
869 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
870 flag_3d_output, ndat2d, ndat3d)
872 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
875 if (time_output(1) <= time_init+eps)
then
877 flag_3d_output = .true.
880 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
881 flag_3d_output, ndat2d, ndat3d)
883 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
884 flag_3d_output, ndat2d, ndat3d)
886 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
892 stop
' sico_init: OUTPUT must be either 1, 2 or 3!'
895 call
output2(time_init, dxi, deta, delta_ts, glac_index, z_sl)
897 call
output3(time_init, delta_ts, glac_index, z_sl)
900 call
output4(time_init, dxi, deta, delta_ts, glac_index, z_sl)