7 !! Initialisations for SICOPOLIS.
11 !! Copyright 2009-2013 Ralf Greve
15 !! This file is part of SICOPOLIS.
17 !! SICOPOLIS is free software: you can redistribute it and/or modify
18 !! it under the terms of the GNU General Public License as published by
19 !! the Free Software Foundation, either version 3 of the License, or
20 !! (at your option) any later version.
22 !! SICOPOLIS is distributed in the hope that it will be useful,
23 !! but WITHOUT ANY WARRANTY; without even the implied warranty of
24 !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 !! GNU General Public License for more details.
27 !! You should have received a copy of the GNU General Public License
28 !! along with SICOPOLIS. If not, see <http://www.gnu.org/licenses/>.
30 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33 !> Initialisations for SICOPOLIS.
34 !<------------------------------------------------------------------------------
36 sum_accum, 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, &
49 integer(i4b) :: i, j, kc, kt, kr, m, n, ir, jr
50 integer(i4b) :: ios, ios1, ios2, ios3, ios4
51 integer(i4b) :: ndat2d, ndat3d
52 integer(i4b) :: n_output
54 integer(i4b) :: ii((imax+1)*(jmax+1)), jj((imax+1)*(jmax+1)), nn(0:jmax,0:imax)
55 integer(i4b) :: ndata_insol
56 real(dp) :: delta_ts, glac_index
57 real(dp) :: sum_accum, mean_accum, mean_accum_inv
58 real(dp) :: dtime0, dtime_temp0, dtime_wss0, dtime_out0, dtime_ser0
59 real(dp) :: dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser
60 real(dp) :: time_init0, time_end0, time_output0(100)
61 real(dp) :: time_chasm_init0, time_chasm_end0
62 real(dp) :: time, time_init, time_end, time_output(100)
63 real(dp) :: dxi, deta, dzeta_c, dzeta_t, dzeta_r
64 real(dp) :: z_sl, dzsl_dtau, z_mar
66 character (len=100) :: runname, anfdatname
67 character (len=256) :: shell_command
69 logical :: flag_3d_output
74 #if (CALCZS==4 || MARGIN==3)
77 call lis_initialize(ierr)
87 rho = (1.0_dp-frac_dust)*rho_i + frac_dust*rho_c
93 if ( trim(version) /= trim(sico_version) ) &
94 stop
' sico_init: SICOPOLIS version not compatible with header file!'
99 #if (GRID==0 || GRID==1)
101 if (abs(dx-20.0_dp) < eps)
then
103 if ((imax /= 90).or.(jmax /= 90))
then
104 stop
' sico_init: Wrong values for IMAX and JMAX!'
107 else if (abs(dx-10.0_dp) < eps)
then
109 if ((imax /= 180).or.(jmax /= 180))
then
110 stop
' sico_init: Wrong values for IMAX and JMAX!'
113 else if (abs(dx-5.0_dp) < eps)
then
115 if ((imax /= 360).or.(jmax /= 360))
then
116 stop
' sico_init: Wrong values for IMAX and JMAX!'
120 stop
' sico_init: Wrong value for DX!'
125 stop
' sico_init: GRID==2 not allowed for nmars application!'
133 stop
' sico_init: Option ADV_HOR==1 (central differences) not defined!'
136 #if ((ADV_HOR == 3) && (ADV_VERT != 3))
137 stop
' sico_init: Options ADV_HOR==3 and ADV_VERT==3 must be used together!'
140 #if ((ADV_HOR != 3) && (ADV_VERT == 3))
141 stop
' sico_init: Options ADV_HOR==3 and ADV_VERT==3 must be used together!'
151 dtime_temp0 = dtime_temp0
153 dtime_wss0 = dtime_wss0
158 dzeta_c = 1.0_dp/
real(kcmax,dp)
159 dzeta_t = 1.0_dp/
real(ktmax,dp)
160 dzeta_r = 1.0_dp/
real(krmax,dp)
173 if ((i.le.imax).and.(j.le.jmax))
then
185 anfdatname = anfdatname
187 #if defined(YEAR_ZERO)
188 year_zero = year_zero
190 year_zero = 2000.0_dp
193 time_init0 = time_init0
194 time_end0 = time_end0
195 dtime_ser0 = dtime_ser0
198 time_chasm_init0 = time_chasm_init0
199 time_chasm_end0 = time_chasm_end0
202 #if ( OUTPUT==1 || OUTPUT==3 )
203 dtime_out0 = dtime_out0
206 #if ( OUTPUT==2 || OUTPUT==3 )
208 time_output0( 1) = time_out0_01
209 time_output0( 2) = time_out0_02
210 time_output0( 3) = time_out0_03
211 time_output0( 4) = time_out0_04
212 time_output0( 5) = time_out0_05
213 time_output0( 6) = time_out0_06
214 time_output0( 7) = time_out0_07
215 time_output0( 8) = time_out0_08
216 time_output0( 9) = time_out0_09
217 time_output0(10) = time_out0_10
218 time_output0(11) = time_out0_11
219 time_output0(12) = time_out0_12
220 time_output0(13) = time_out0_13
221 time_output0(14) = time_out0_14
222 time_output0(15) = time_out0_15
223 time_output0(16) = time_out0_16
224 time_output0(17) = time_out0_17
225 time_output0(18) = time_out0_18
226 time_output0(19) = time_out0_19
227 time_output0(20) = time_out0_20
232 shell_command =
'if [ ! -d'
233 shell_command = trim(shell_command)//
' '//outpath
234 shell_command = trim(shell_command)//
' '//
'] ; then mkdir'
235 shell_command = trim(shell_command)//
' '//outpath
236 shell_command = trim(shell_command)//
' '//
'; fi'
237 call system(trim(shell_command))
240 open(10, iostat=ios, &
241 file=outpath//
'/'//trim(runname)//
'.log', &
244 stop
' sico_init: Error when opening the log file!'
246 write(10,1000)
'Computational domain:'
248 write(10,1000)
'Antarctica'
250 write(10,1000)
'Greenland'
252 write(10,1000)
'Scandinavia and Eurasia'
254 write(10,1000)
'Northern hemisphere'
255 #elif defined(EMTP2SGE)
256 write(10,1000)
'EISMINT Phase 2 Simplified Geometry Experiment'
258 write(10,1000)
'North polar cap of Mars'
260 write(10,1000)
'South polar cap of Mars'
262 stop
' sico_init: No valid domain specified!'
266 write(10,1001)
'imax =', imax
267 write(10,1001)
'jmax =', jmax
268 write(10,1001)
'kcmax =', kcmax
269 write(10,1001)
'ktmax =', ktmax
270 write(10,1001)
'krmax =', krmax
273 write(10,1002)
'a =', deform
276 write(10,1002)
'x0 =', x0
277 write(10,1002)
'y0 =', y0
278 write(10,1002)
'dx =', dx
281 write(10,1002)
'year_zero =', year_zero
282 write(10,1002)
'time_init =', time_init0
283 write(10,1002)
'time_end =', time_end0
284 write(10,1002)
'dtime =', dtime0
285 write(10,1002)
'dtime_temp =', dtime_temp0
287 write(10,1002)
'dtime_wss =', dtime_wss0
289 #if ( OUTPUT==1 || OUTPUT==3 )
290 write(10,1002)
'dtime_out =', dtime_out0
292 write(10,1002)
'dtime_ser =', dtime_ser0
295 write(10,1000)
'zs_present file = '//zs_present_file
297 write(10,1000)
'zl_present file = '//zl_present_file
299 write(10,1000)
'zl0 file = '//zl0_file
300 write(10,1000)
'mask_present file = '//mask_present_file
303 write(10,1000)
'Physical-parameter file = '//phys_para_file
306 #if (CALCZS==3 || CALCZS==4)
307 write(10,1002)
'ovi_weight =', ovi_weight
309 write(10,1002)
'omega_sor =', omega_sor
314 #if (TSURFACE==1 || TSURFACE==6)
315 write(10,1002)
'delta_ts0 =', delta_ts0
317 write(10,1002)
'sine_amplit =', sine_amplit
318 write(10,1002)
'sine_period =', sine_period
320 #if (TSURFACE==1 || TSURFACE==2 || TSURFACE==3)
321 write(10,1002)
'temp0_ma_90N =', temp0_ma_90n
323 #if (TSURFACE==1 || TSURFACE==2 || TSURFACE==3 || TSURFACE==4 || TSURFACE==5)
324 write(10,1002)
'c_ma =', c_ma
325 write(10,1002)
'gamma_ma =', gamma_ma
328 write(10,1000)
'Insolation file = '//insol_ma_90n_file
330 #if (TSURFACE==4 || TSURFACE==5 || TSURFACE==6)
331 write(10,1002)
'albedo =', albedo
335 write(10,1002)
'acc_present_val =', acc_present_val
338 #if ( ACCSURFACE==1 || ACCSURFACE==2 )
339 write(10,1002)
'gamma_s =', gamma_s
342 #if ( ABLSURFACE==1 || ABLSURFACE==2 )
343 write(10,1002)
'eld_0 =', eld_0
344 write(10,1002)
'g_mb_0 =', g_0
345 write(10,1002)
'gamma_eld =', gamma_eld
346 write(10,1002)
'gamma_g =', gamma_g
350 write(10,1002)
'z_sl0 =', z_sl0
352 write(10,1000)
'sea-level file = '//sea_level_file
357 #if ( MARINE_ICE_CALVING==2 || MARINE_ICE_CALVING==3 )
358 write(10,1002)
'z_mar =', z_mar
360 #elif ( MARINE_ICE_CALVING==4 || MARINE_ICE_CALVING==5 \
361 || marine_ice_calving==6 || marine_ice_calving==7 )
362 write(10,1002)
'fact_z_mar =', fact_z_mar
364 #elif ( ( MARINE_ICE_FORMATION==2 ) && ( MARINE_ICE_CALVING==9 ) )
365 write(10,1002)
'calv_uw_coeff =', calv_uw_coeff
366 write(10,1002)
'r1_calv_uw =', r1_calv_uw
367 write(10,1002)
'r2_calv_uw =', r2_calv_uw
371 #if ICE_SHELF_CALVING==2
372 write(10,1002)
'H_calv =', h_calv
377 write(10,1002)
'c_slide =', c_slide
378 write(10,1002)
'gamma_slide =', gamma_slide
379 write(10,1001)
'p_weert =', p_weert
380 write(10,1001)
'q_weert =', q_weert
382 write(10,1002)
'red_pres_limit_fact =', red_pres_limit_fact
387 write(10,1002)
'q_geo =', q_geo
389 write(10,1000)
'q_geo file = '//q_geo_file
394 write(10,1002)
'frac_llra =', frac_llra
399 write(10,1002)
'gr_size =', gr_size
403 write(10,1002)
'sigma_res =', sigma_res
406 write(10,1002)
'frac_dust =', frac_dust
409 write(10,1001)
'ENHMOD =', enhmod
410 write(10,1002)
'enh_fact =', enh_fact
411 #if ( ENHMOD==2 || ENHMOD==3 )
412 write(10,1002)
'enh_intg =', enh_intg
415 write(10,1002)
'age_trans =', age_trans_0
418 write(10,1002)
'date_trans1 =', date_trans1_0
419 write(10,1002)
'date_trans2 =', date_trans2_0
420 write(10,1002)
'date_trans3 =', date_trans3_0
423 write(10,1002)
'enh_shelf =', enh_shelf
428 write(10,1000)
'mask_chasm file = '//mask_chasm_file
429 write(10,1002)
'time_chasm_init =', time_chasm_init0
430 write(10,1002)
'time_chasm_end =', time_chasm_end0
431 write(10,1002)
'q_geo_chasm =', q_geo_chasm
432 write(10,1002)
'erosion_chasm =', erosion_chasm
436 write(10,1002)
'numdiff_H_t =', numdiff_h_t
437 write(10,1002)
'tau_cts =', tau_cts
438 write(10,1002)
'H_min =', h_min
439 write(10,1002)
'vh_max =', vh_max
440 write(10,1002)
'hd_min =', hd_min
441 write(10,1002)
'hd_max =', hd_max
443 write(10,1002)
'qbm_min =', qbm_min
444 #elif defined(QB_MIN) /* obsolete */
445 write(10,1002)
'qb_min =', qb_min
448 write(10,1002)
'qbm_max =', qbm_max
449 #elif defined(QB_MAX) /* obsolete */
450 write(10,1002)
'qb_max =', qb_max
452 write(10,1002)
'age_min =', age_min
453 write(10,1002)
'age_max =', age_max
454 write(10,1002)
'mean_accum =', mean_accum
456 write(10,1002)
'age_diff =', agediff
457 write(10,1002)
'm_age =', m_age
461 write(10,1001)
'GRID =', grid
462 write(10,1001)
'CALCMOD =', calcmod
463 write(10,1001)
'FLOW_LAW =', flow_law
464 write(10,1001)
'FIN_VISC =', fin_visc
465 write(10,1001)
'MARGIN =', margin
467 write(10,1001)
'MARINE_ICE_FORMATION =', marine_ice_formation
468 write(10,1001)
'MARINE_ICE_CALVING =', marine_ice_calving
470 write(10,1001)
'ICE_SHELF_CALVING =', ice_shelf_calving
472 write(10,1001)
'ANF_DAT =', anf_dat
473 write(10,1001)
'REBOUND =', rebound
474 write(10,1001)
'Q_LITHO =', q_litho
475 write(10,1001)
'ZS_EVOL =', zs_evol
476 write(10,1001)
'CALCZS =', calczs
477 write(10,1001)
'ADV_HOR =', adv_hor
478 write(10,1001)
'ADV_VERT =', adv_vert
479 write(10,1001)
'TOPOGRAD =', topograd
480 write(10,1001)
'TSURFACE =', tsurface
481 write(10,1001)
'ACC_UNIT =', acc_unit
482 write(10,1001)
'ACC_PRESENT=', acc_present
483 write(10,1001)
'ACCSURFACE =', accsurface
484 write(10,1001)
'ABLSURFACE =', ablsurface
485 write(10,1001)
'SEA_LEVEL =', sea_level
486 write(10,1001)
'SLIDE_LAW =', slide_law
487 write(10,1001)
'Q_GEO_MOD =', q_geo_mod
488 write(10,1001)
'CHASM =', chasm
491 #if defined(OUT_TIMES)
492 write(10,1001)
'OUT_TIMES =', out_times
494 write(10,1001)
'OUTPUT =', output
495 write(10,1001)
'OUTSER =', outser
496 #if ( OUTPUT==1 || OUTPUT==2 )
497 write(10,1001)
'ERGDAT =', ergdat
499 write(10,1001)
'NETCDF =', netcdf
501 #if ( OUTPUT==2 || OUTPUT==3 )
502 write(10,1001)
'n_output =', n_output
504 write(10,1002)
'time_output =', time_output0(n)
509 write(10,1000)
'Program version and date: '//version//
' / '//date
513 1002 format(a,es12.4)
515 close(10, status=
'keep')
519 year_zero = year_zero*year_sec
520 time_init = time_init0*year_sec
521 time_end = time_end0*year_sec
522 dtime = dtime0*year_sec
523 dtime_temp = dtime_temp0*year_sec
525 dtime_wss = dtime_wss0*year_sec
528 time_chasm_init = time_chasm_init0 *year_sec
529 time_chasm_end = time_chasm_end0 *year_sec
531 dtime_ser = dtime_ser0*year_sec
532 #if ( OUTPUT==1 || OUTPUT==3 )
533 dtime_out = dtime_out0*year_sec
535 #if ( OUTPUT==2 || OUTPUT==3 )
537 time_output(n) = time_output0(n)*year_sec
541 if (abs(dtime_temp/dtime-nint(dtime_temp/dtime)).gt.eps) &
542 stop
' sico_init: dtime_temp must be a multiple of dtime!'
545 if (abs(dtime_wss/dtime-nint(dtime_wss/dtime)) > eps) &
546 stop
' sico_init: dtime_wss must be a multiple of dtime!'
555 accum_present(j,i) = acc_present_val
569 accum_present(j,i) = accum_present(j,i) &
570 *(1.0e-03_dp/year_sec)*(rho_w/rho_i) &
571 *(1.0_dp/(1.0_dp-frac_dust))
575 accum_present(j,i) = accum_present(j,i)*(1.0e-03_dp/year_sec)
586 mean_accum = mean_accum*(1.0e-03_dp/year_sec)*(rho_w/rho_i) &
587 *(1.0_dp/(1.0_dp-frac_dust))
592 mean_accum = mean_accum*(1.0e-03_dp/year_sec)
597 mean_accum_inv = 1.0_dp/mean_accum
601 open(24, iostat=ios, &
602 file=inpath//
'/nmars/'//mask_present_file, &
603 recl=1024, status=
'old')
606 stop
' sico_init: Error when opening the mask file!'
608 do n=1, 6;
read(24,
'(a)') ch_dummy;
end do
611 read(24,2300) (maske_help(j,i), i=0,imax)
614 close(24, status=
'keep')
616 2300 format(imax(i1),i1)
622 open(24, iostat=ios, &
623 file=inpath//
'/nmars/'//mask_chasm_file, &
624 recl=1024, status=
'old')
626 if (ios /= 0) stop
' sico_init: Error when opening the chasm mask file!'
628 do n=1, 6;
read(24,
'(a)') ch_dummy;
end do
631 read(24,2300) (maske_chasm(j,i), i=0,imax)
634 close(24, status=
'keep')
642 stop
' sico_init: SEA_LEVEL==3 not allowed for nmars application!'
654 #if ( TSURFACE==5 || TSURFACE==6 )
656 open(21, iostat=ios, &
657 file=inpath//
'/nmars/'//insol_ma_90n_file, &
659 if (ios /= 0) stop
' sico_init: Error when opening the insolation-data file!'
661 read(21,*) ch_dummy, insol_time_min, insol_time_stp, insol_time_max
663 if (ch_dummy /=
'#')
then
664 write(6,*)
' sico_init: insol_time_min, insol_time_stp, insol_time_max'
665 write(6,*)
' not defined in insolation-data file!'
669 ndata_insol = (insol_time_max-insol_time_min)/insol_time_stp
671 if (ndata_insol.gt.100000) &
672 stop
' sico_init: Too many data in insolation-data file!'
675 read(21,*) d_dummy, ecc_data(n), obl_data(n), cp_data(n), ave_data(n), insol_ma_90(n)
676 obl_data(n) = obl_data(n) *pi_180
677 ave_data(n) = ave_data(n) *pi_180
680 close(21, status=
'keep')
693 q_geo_normal(j,i) = q_geo *1.0e-03_dp
701 open(21, iostat=ios, &
702 file=inpath//
'/nmars/'//q_geo_file, &
703 recl=8192, status=
'old')
705 if (ios /= 0) stop
' sico_init: Error when opening the qgeo file!'
707 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
710 read(21,*) (q_geo_normal(j,i), i=0,imax)
713 close(21, status=
'keep')
717 q_geo_normal(j,i) = q_geo_normal(j,i) *1.0e-03_dp
725 #if (REBOUND==0 || REBOUND==1)
727 kei = 0.0_dp; n_data_kei = 0; kei_r_max = 0.0_dp; kei_r_incr = 0.0_dp
745 call
boundary(time_init, dtime, dxi, deta, &
746 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
753 q_b_tot(j,i) = 0.0_dp
759 temp_c(kc,j,i) = temp_s(j,i)
760 age_c(kc,j,i) = 15000.0_dp*year_sec
764 omega_t(kt,j,i) = 0.0_dp
765 age_t(kt,j,i) = 15000.0_dp*year_sec
769 temp_r(kr,j,i) = temp_s(j,i)+q_geo(j,i)*h_r/kappa_r &
770 *(1.0_dp-
real(kr,dp)/
real(krmax,dp))
788 call
boundary(time_init, dtime, dxi, deta, &
789 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
796 q_b_tot(j,i) = 0.0_dp
802 temp_c(kc,j,i) = temp_s(j,i)
803 age_c(kc,j,i) = 15000.0_dp*year_sec
807 omega_t(kt,j,i) = 0.0_dp
808 age_t(kt,j,i) = 15000.0_dp*year_sec
812 temp_r(kr,j,i) = temp_s(j,i)+q_geo(j,i)*h_r/kappa_r &
813 *(1.0_dp-
real(kr,dp)/
real(krmax,dp))
832 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
835 call
boundary(time_init, dtime, dxi, deta, &
836 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
838 q_b_tot = q_bm + q_tld
846 #if (GRID==0 || GRID==1)
850 dist_dxdy(jr,ir) = sqrt( (
real(ir,dp)*dxi)**2 + (
real(jr,dp)*deta)**2 )
862 zeta_c(kc) = kc*dzeta_c
863 eaz_c(kc) = exp(deform*zeta_c(kc))
864 eaz_c_quotient(kc) = (eaz_c(kc)-1.0_dp)/(ea-1.0_dp)
868 zeta_t(kt) = kt*dzeta_t
892 open(12, iostat=ios, &
893 file=outpath//
'/'//trim(runname)//
'.ser', &
896 stop
' sico_init: Error when opening the ser file!'
901 1102 format(
' t(a) D_Ts(C) z_sl(m)',/, &
902 ' H_max(m) zs_max(m) V(m^3)', &
903 ' V_t(m^3) V_fw(m^3/a) Tbh_max(C)',/, &
904 ' A(m^2) A_t(m^2) V_bm(m^3/a)', &
905 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
906 1103 format(
'----------------------------------------------------', &
907 '---------------------------------------')
913 open(13, iostat=ios, &
914 file=outpath//
'/'//trim(runname)//
'.thk', &
916 if (ios /= 0) stop
' sico_init: Error when opening the thk file!'
921 1104 format(
' t(a) D_Ts(deg C) z_sl(m)',/, &
922 ' H(m): JMAX+1 records [j = JMAX (-1) 0] with',/, &
923 ' IMAX+1 values [i = 0 (1) IMAX] in each record')
924 1105 format(
'----------------------------------------------------')
934 allocate(lambda_core(n_core), phi_core(n_core), &
935 x_core(n_core), y_core(n_core))
937 lambda_core(1) = 0.0_dp
939 x_core(1) = 0.0_dp *1.0e+03_dp
940 y_core(1) = 0.0_dp *1.0e+03_dp
942 lambda_core(2) = 0.0_dp
944 x_core(2) = -150.0_dp *1.0e+03_dp
945 y_core(2) = -290.0_dp *1.0e+03_dp
947 lambda_core(3) = 0.0_dp
949 x_core(3) = -300.0_dp *1.0e+03_dp
950 y_core(3) = -280.0_dp *1.0e+03_dp
952 open(14, iostat=ios, &
953 file=outpath//
'/'//trim(runname)//
'.core', &
955 if (ios /= 0) stop
' sico_init: Error when opening the core file!'
957 if (forcing_flag == 1)
then
962 1106 format(
' t(a) D_Ts(C) z_sl(m)',/, &
963 ' H_NP(m) H_C1(m) H_C2(m)',/, &
964 ' v_NP(m/a) v_C1(m/a) v_C2(m/a)',/, &
965 ' T_NP(C) T_C1(C) T_C2(C)',/, &
966 ' Rb_NP(W/m2) Rb_C1(W/m2) Rb_C2(W/m2)')
967 1107 format(
'----------------------------------------------------')
978 flag_3d_output = .false.
980 flag_3d_output = .true.
982 stop
' sico_init: ERGDAT must be either 0 or 1!'
986 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
987 flag_3d_output, ndat2d, ndat3d)
989 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
990 flag_3d_output, ndat2d, ndat3d)
992 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
997 if (time_output(1) <= time_init+eps)
then
1000 flag_3d_output = .false.
1002 flag_3d_output = .true.
1004 stop
' sico_init: ERGDAT must be either 0 or 1!'
1008 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
1009 flag_3d_output, ndat2d, ndat3d)
1011 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
1012 flag_3d_output, ndat2d, ndat3d)
1014 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
1021 flag_3d_output = .false.
1024 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
1025 flag_3d_output, ndat2d, ndat3d)
1027 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
1028 flag_3d_output, ndat2d, ndat3d)
1030 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
1033 if (time_output(1) <= time_init+eps)
then
1035 flag_3d_output = .true.
1038 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
1039 flag_3d_output, ndat2d, ndat3d)
1041 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
1042 flag_3d_output, ndat2d, ndat3d)
1044 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
1050 stop
' sico_init: OUTPUT must be either 1, 2 or 3!'
1053 call
output2(time_init, dxi, deta, delta_ts, glac_index, z_sl)
1055 call
output3(time_init, delta_ts, glac_index, z_sl)
1058 call
output4(time_init, dxi, deta, delta_ts, glac_index, z_sl)