7 !! Initialisations for SICOPOLIS.
11 !! Copyright 2009-2013 Ralf Greve, Thorben Dunse
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
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 real(dp) :: delta_ts, glac_index
56 real(dp) :: sum_accum, mean_accum, mean_accum_inv
57 real(dp) :: dtime0, dtime_temp0, dtime_wss0, dtime_out0, dtime_ser0
58 real(dp) :: dtime, dtime_temp, dtime_wss, dtime_out, dtime_ser
59 real(dp) :: time_init0, time_end0, time_output0(100)
60 real(dp) :: time, time_init, time_end, time_output(100)
61 real(dp) :: dxi, deta, dzeta_c, dzeta_t, dzeta_r
62 real(dp) :: z_sl, dzsl_dtau, z_mar
64 character (len=100) :: runname, anfdatname
65 character (len=256) :: shell_command
67 logical :: flag_3d_output
72 #if (CALCZS==4 || MARGIN==3)
75 call lis_initialize(ierr)
85 if ( trim(version) /= trim(sico_version) ) &
86 stop
' sico_init: SICOPOLIS version not compatible with header file!'
91 #if (GRID==0 || GRID==1)
93 if (abs(dx-4.0_dp).lt.eps)
then
95 if ((imax /= 34).or.(jmax /= 33))
then
96 stop
' sico_init: IMAX and/or JMAX wrong!'
99 else if (abs(dx-2.0_dp).lt.eps)
then
101 if ((imax /= 68).or.(jmax /= 66))
then
102 stop
' sico_init: IMAX and/or JMAX wrong!'
105 else if (abs(dx-1.0_dp).lt.eps)
then
107 if ((imax /= 136).or.(jmax /= 132))
then
108 stop
' sico_init: IMAX and/or JMAX wrong!'
112 stop
' sico_init: DX wrong!'
117 stop
' sico_init: GRID==2 not allowed for this application!'
125 #if ((TSURFACE == 5) && (ACCSURFACE != 5))
126 stop
' sico_init: Options TSURFACE==5 and ACCSURFACE==5 must be used together!'
129 #if ((TSURFACE != 5) && (ACCSURFACE == 5))
130 stop
' sico_init: Options TSURFACE==5 and ACCSURFACE==5 must be used together!'
137 stop
' sico_init: Option ADV_HOR==1 (central differences) not defined!'
140 #if ((ADV_HOR == 3) && (ADV_VERT != 3))
141 stop
' sico_init: Options ADV_HOR==3 and ADV_VERT==3 must be used together!'
144 #if ((ADV_HOR != 3) && (ADV_VERT == 3))
145 stop
' sico_init: Options ADV_HOR==3 and ADV_VERT==3 must be used together!'
154 #elif (TSURFACE == 5)
163 dtime_temp0 = dtime_temp0
165 dtime_wss0 = dtime_wss0
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.le.imax).and.(j.le.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,1000)
'Computational domain:'
255 write(10,1000)
'Antarctica'
257 write(10,1000)
'Austfonna'
259 write(10,1000)
'Greenland'
261 write(10,1000)
'Scandinavia and Eurasia'
263 write(10,1000)
'Northern hemisphere'
265 write(10,1000)
'Tibet'
266 #elif defined(EMTP2SGE)
267 write(10,1000)
'EISMINT Phase 2 Simplified Geometry Experiment'
269 write(10,1000)
'North polar cap of Mars'
271 write(10,1000)
'South polar cap of Mars'
273 stop
' sico_init: No valid domain specified!'
277 write(10,1001)
'imax =', imax
278 write(10,1001)
'jmax =', jmax
279 write(10,1001)
'kcmax =', kcmax
280 write(10,1001)
'ktmax =', ktmax
281 write(10,1001)
'krmax =', krmax
284 write(10,1002)
'a =', deform
287 #if (GRID==0 || GRID==1)
288 write(10,1002)
'x0 =', x0
289 write(10,1002)
'y0 =', y0
290 write(10,1002)
'dx =', dx
292 stop
' sico_init: GRID==2 not allowed for this application!'
296 write(10,1002)
'year_zero =', year_zero
297 write(10,1002)
'time_init =', time_init0
298 write(10,1002)
'time_end =', time_end0
299 write(10,1002)
'dtime =', dtime0
300 write(10,1002)
'dtime_temp =', dtime_temp0
302 write(10,1002)
'dtime_wss =', dtime_wss0
304 #if ( OUTPUT==1 || OUTPUT==3 )
305 write(10,1002)
'dtime_out =', dtime_out0
307 write(10,1002)
'dtime_ser =', dtime_ser0
310 write(10,1000)
'zs_present file = '//zs_present_file
312 write(10,1000)
'zl_present file = '//zl_present_file
314 write(10,1000)
'zl0 file = '//zl0_file
315 write(10,1000)
'mask_present file = '//mask_present_file
318 write(10,1000)
'Physical-parameter file = '//phys_para_file
321 #if (CALCZS==3 || CALCZS==4)
322 write(10,1002)
'ovi_weight =', ovi_weight
324 write(10,1002)
'omega_sor =', omega_sor
329 write(10,1000)
'temp_mm_present file = '//temp_mm_present_file
331 write(10,1002)
'delta_ts0 =', delta_ts0
332 write(10,1000)
'temp_ma file = '//temp_ma_present_file
333 write(10,1002)
'temp_ma fact = ', temp_ma_present_fact
335 write(10,1002)
'sine_amplit =', sine_amplit
336 write(10,1002)
'sine_period =', sine_period
338 write(10,1000)
'GRIP file = '//grip_temp_file
339 write(10,1002)
'grip_temp_fact =', grip_temp_fact
341 write(10,1000)
'Glacial-index file = '//glac_ind_file
342 write(10,1000)
'temp_mm_anom file = '//temp_mm_anom_file
343 write(10,1002)
'temp_mm_anom fact = ', temp_mm_anom_fact
346 write(10,1000)
'precip_mm_present file = '//precip_mm_present_file
348 write(10,1002)
'accfact =', accfact
349 #elif ( ACCSURFACE==2 || ACCSURFACE==3 )
350 write(10,1002)
'gamma_s =', gamma_s
351 #elif ( ACCSURFACE==5 )
352 write(10,1000)
'precip_mm_anom file = '//precip_mm_anom_file
353 write(10,1002)
'precip_mm_anom fact = ', precip_mm_anom_fact
355 #if (ACCSURFACE <= 3)
356 write(10,1001)
'ELEV_DESERT =', elev_desert
357 #if (ELEV_DESERT == 1)
358 write(10,1002)
'gamma_p =', gamma_p
359 write(10,1002)
'zs_thresh =', zs_thresh
364 write(10,1002)
'lambda_lti =', lambda_lti
365 write(10,1002)
'temp_lti =', temp_lti
369 write(10,1002)
'z_sl0 =', z_sl0
371 write(10,1000)
'sea-level file = '//sea_level_file
376 #if ( MARINE_ICE_CALVING==2 || MARINE_ICE_CALVING==3 )
377 write(10,1002)
'z_mar =', z_mar
379 #elif ( MARINE_ICE_CALVING==4 || MARINE_ICE_CALVING==5 \
380 || marine_ice_calving==6 || marine_ice_calving==7 )
381 write(10,1002)
'fact_z_mar =', fact_z_mar
383 #elif ( ( MARINE_ICE_FORMATION==2 ) && ( MARINE_ICE_CALVING==9 ) )
384 write(10,1002)
'calv_uw_coeff =', calv_uw_coeff
385 write(10,1002)
'r1_calv_uw =', r1_calv_uw
386 write(10,1002)
'r2_calv_uw =', r2_calv_uw
390 #if ICE_SHELF_CALVING==2
391 write(10,1002)
'H_calv =', h_calv
396 write(10,1002)
'c_slide =', c_slide
397 write(10,1002)
'smw_coeff =', smw_coeff
398 write(10,1002)
'gamma_slide =', gamma_slide
399 write(10,1001)
'p_weert =', p_weert
400 write(10,1001)
'q_weert =', q_weert
402 write(10,1002)
'red_pres_limit_fact =', red_pres_limit_fact
407 write(10,1000)
'Sediment-mask file = '//mask_sedi_file
410 write(10,1002)
'c_slide_sedi =', c_slide_sedi
411 write(10,1002)
'smw_coeff_sedi =', smw_coeff_sedi
412 write(10,1002)
'gamma_slide_sedi =', gamma_slide_sedi
413 write(10,1001)
'p_weert_sedi =', p_weert_sedi
414 write(10,1001)
'q_weert_sedi =', q_weert_sedi
419 write(10,1002)
'q_geo =', q_geo
421 write(10,1000)
'q_geo file = '//q_geo_file
425 #if defined(MARINE_ICE_BASAL_MELTING)
426 write(10,1001)
'MARINE_ICE_BASAL_MELTING =', marine_ice_basal_melting
427 #if ( MARINE_ICE_BASAL_MELTING==2 || MARINE_ICE_BASAL_MELTING==3 )
428 write(10,1002)
'qbm_marine =', qbm_marine
434 write(10,1002)
'frac_llra =', frac_llra
439 write(10,1002)
'gr_size =', gr_size
443 write(10,1002)
'sigma_res =', sigma_res
447 write(10,1001)
'ENHMOD =', enhmod
448 write(10,1002)
'enh_fact =', enh_fact
449 #if ( ENHMOD==2 || ENHMOD==3 )
450 write(10,1002)
'enh_intg =', enh_intg
453 write(10,1002)
'age_trans =', age_trans_0
456 write(10,1002)
'date_trans1 =', date_trans1_0
457 write(10,1002)
'date_trans2 =', date_trans2_0
458 write(10,1002)
'date_trans3 =', date_trans3_0
461 write(10,1002)
'enh_shelf =', enh_shelf
465 write(10,1002)
'numdiff_zs =', numdiff_zs
466 write(10,1002)
'numdiff_H_t =', numdiff_h_t
467 write(10,1002)
'tau_cts =', tau_cts
468 write(10,1002)
'H_min =', h_min
469 write(10,1002)
'vh_max =', vh_max
470 write(10,1002)
'hd_min =', hd_min
471 write(10,1002)
'hd_max =', hd_max
473 write(10,1002)
'qbm_min =', qbm_min
474 #elif defined(QB_MIN) /* obsolete */
475 write(10,1002)
'qb_min =', qb_min
478 write(10,1002)
'qbm_max =', qbm_max
479 #elif defined(QB_MAX) /* obsolete */
480 write(10,1002)
'qb_max =', qb_max
482 write(10,1002)
'age_min =', age_min
483 write(10,1002)
'age_max =', age_max
484 write(10,1002)
'mean_accum =', mean_accum
486 write(10,1002)
'age_diff =', agediff
487 write(10,1002)
'm_age =', m_age
491 write(10,1001)
'GRID =', grid
492 write(10,1001)
'CALCMOD =', calcmod
493 write(10,1001)
'FLOW_LAW =', flow_law
494 write(10,1001)
'FIN_VISC =', fin_visc
495 write(10,1001)
'MARGIN =', margin
497 write(10,1001)
'MARINE_ICE_FORMATION =', marine_ice_formation
498 write(10,1001)
'MARINE_ICE_CALVING =', marine_ice_calving
500 write(10,1001)
'ICE_SHELF_CALVING =', ice_shelf_calving
502 write(10,1001)
'ANF_DAT =', anf_dat
503 write(10,1001)
'REBOUND =', rebound
504 write(10,1001)
'Q_LITHO =', q_litho
505 write(10,1001)
'ZS_EVOL =', zs_evol
506 write(10,1001)
'CALCZS =', calczs
507 write(10,1001)
'ADV_HOR =', adv_hor
508 write(10,1001)
'ADV_VERT =', adv_vert
509 write(10,1001)
'TOPOGRAD =', topograd
510 write(10,1001)
'TSURFACE =', tsurface
511 write(10,1001)
'ACCSURFACE =', accsurface
513 write(10,1001)
'PRECIP_ANOM_INTERPOL =', precip_anom_interpol
515 write(10,1001)
'SOLID_PRECIP =', solid_precip
516 write(10,1001)
'ABLSURFACE =', ablsurface
517 write(10,1001)
'SEA_LEVEL =', sea_level
518 write(10,1001)
'SLIDE_LAW =', slide_law
519 write(10,1001)
'ICE_STREAM =', ice_stream
520 write(10,1001)
'Q_GEO_MOD =', q_geo_mod
523 #if defined(OUT_TIMES)
524 write(10,1001)
'OUT_TIMES =', out_times
526 write(10,1001)
'OUTPUT =', output
527 write(10,1001)
'OUTSER =', outser
528 #if defined(OUTSER_V_A)
529 write(10,1001)
'OUTSER_V_A =', outser_v_a
531 #if ( OUTPUT==1 || OUTPUT==2 )
532 write(10,1001)
'ERGDAT =', ergdat
534 write(10,1001)
'NETCDF =', netcdf
536 #if ( OUTPUT==2 || OUTPUT==3 )
537 write(10,1001)
'n_output =', n_output
539 write(10,1002)
'time_output =', time_output0(n)
544 write(10,1000)
'Program version and date: '//version//
' / '//date
548 1002 format(a,es12.4)
550 close(10, status=
'keep')
554 year_zero = year_zero*year_sec
555 time_init = time_init0*year_sec
556 time_end = time_end0*year_sec
557 dtime = dtime0*year_sec
558 dtime_temp = dtime_temp0*year_sec
560 dtime_wss = dtime_wss0*year_sec
562 dtime_ser = dtime_ser0*year_sec
563 #if ( OUTPUT==1 || OUTPUT==3 )
564 dtime_out = dtime_out0*year_sec
566 #if ( OUTPUT==2 || OUTPUT==3 )
568 time_output(n) = time_output0(n)*year_sec
572 if (abs(dtime_temp/dtime-nint(dtime_temp/dtime)) > eps) &
573 stop
' sico_init: dtime_temp must be a multiple of dtime!'
576 if (abs(dtime_wss/dtime-nint(dtime_wss/dtime)) > eps) &
577 stop
' sico_init: dtime_wss must be a multiple of dtime!'
582 #if (GRID==0 || GRID==1)
584 open(21, iostat=ios, &
585 file=inpath//
'/asf/'//precip_mm_present_file, &
586 recl=8192, status=
'old')
590 stop
' sico_init: GRID==2 not allowed for Austfonna application!'
594 if (ios /= 0) stop
' sico_init: Error when opening the precip file!'
596 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
599 do m=1, 3;
read(21,
'(a)') ch_dummy;
end do
601 read(21,*) (precip_present(j,i,n), i=0,imax)
605 close(21, status=
'keep')
609 precip_present = precip_present *(1.0e-03_dp/year_sec)*(rho_w/rho)
616 #if (GRID==0 || GRID==1)
618 open(21, iostat=ios, &
619 file=inpath//
'/asf/'//precip_anom_mm_file, &
620 recl=8192, status=
'old')
624 if (ios /= 0) stop
' sico_init: Error when opening the precip anomaly file!'
626 do m=1, 6;
read(21,
'(a)') ch_dummy;
end do
629 do m=1, 3;
read(21,
'(a)') ch_dummy;
end do
631 read(21,*) (precip_lgm_anom(j,i,n), i=0,imax)
635 close(21, status=
'keep')
637 precip_lgm_anom = precip_lgm_anom * precip_mm_anom_fact
642 #if (PRECIP_ANOM_INTERPOL==1)
644 gamma_precip_lgm_anom(j,i,n) = 0.0_dp
646 #elif (PRECIP_ANOM_INTERPOL==2)
648 gamma_precip_lgm_anom(j,i,n) = -log(precip_lgm_anom(j,i,n))
651 stop
' sico_init: Wrong value of switch PRECIP_ANOM_INTERPOL!'
661 mean_accum = mean_accum*(1.0e-03_dp/year_sec)*(rho_w/rho)
664 mean_accum_inv = 1.0_dp/mean_accum
668 #if (GRID==0 || GRID==1)
670 open(24, iostat=ios, &
671 file=inpath//
'/asf/'//mask_present_file, &
672 recl=1024, status=
'old')
676 stop
' sico_init: GRID==2 not allowed for this application!'
680 if (ios /= 0) stop
' sico_init: Error when opening the mask file!'
682 do n=1, 6;
read(24,
'(a)') ch_dummy;
end do
685 read(24,2300) (maske_help(j,i), i=0,imax)
688 close(24, status=
'keep')
690 2300 format(imax(i1),i1)
696 open(24, iostat=ios, &
697 file=inpath//
'/asf/'//mask_sedi_file, &
698 recl=8192, status=
'old')
700 if (ios /= 0) stop
' sico_init: Error when opening the rock/sediment mask file!'
702 do n=1, 6;
read(24,
'(a)') ch_dummy;
end do
705 read(24,2300) (maske_sedi(j,i), i=0,imax)
708 close(24, status=
'keep')
714 #if (GRID==0 || GRID==1)
716 open(21, iostat=ios, &
717 file=inpath//
'/asf/'//temp_mm_present_file, &
718 recl=16384, status=
'old')
722 stop
' sico_init: GRID==2 not allowed for the Austfonna application!'
726 if (ios /= 0) stop
' sico_init: Error when opening the temperature file!'
728 do m=1, 6;
read(21,
'(a)') ch_dummy;
end do
731 do m=1, 3;
read(21,
'(a)') ch_dummy;
end do
733 read(21,*) (temp_mm_present(j,i,n), i=0,imax)
737 close(21, status=
'keep')
743 #if (GRID==0 || GRID==1)
745 open(21, iostat=ios, &
746 file=inpath//
'/asf/'//temp_mm_anom_file, &
747 recl=16384, status=
'old')
751 if (ios /= 0) stop
' sico_init: Error when opening the temperature anomaly file!'
753 do m=1, 6;
read(21,
'(a)') ch_dummy;
end do
756 do m=1, 3;
read(21,
'(a)') ch_dummy;
end do
758 read(21,*) (temp_mm_lgm_anom(j,i,n), i=0,imax)
762 close(21, status=
'keep')
764 temp_mm_lgm_anom = temp_mm_lgm_anom * temp_mm_anom_fact
772 #if (GRID==0 || GRID==1)
774 open(21, iostat=ios, &
775 file=inpath//
'/asf/'//zs_present_file, &
776 recl=16384, status=
'old')
780 stop
' sico_init: GRID==2 not allowed for the Austfonna application!'
784 if (ios /= 0) stop
' sico_init: Error when opening the zs file!'
786 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
789 read(21,*) (zs_ref(j,i), i=0,imax)
792 close(21, status=
'keep')
799 if (maske_help(j,i) >= 2) zs_ref(j,i) = 0.0_dp
808 #if (GRID==0 || GRID==1)
810 open(21, iostat=ios, &
811 file=inpath//
'/asf/'//temp_ma_present_file, &
812 recl=8192, status=
'old')
816 if (ios /= 0) stop
' sico_init: Error when opening the temp_ma_present file!'
818 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
821 read(21,*) (temp_ma_present(j,i), i=0,imax)
824 close(21, status=
'keep')
826 temp_ma_present = temp_ma_present * temp_ma_present_fact
834 open(21, iostat=ios, &
835 file=inpath//
'/general/'//grip_temp_file, &
838 stop
' sico_init: Error when opening the data file for delta_ts!'
840 read(21,*) ch_dummy, grip_time_min, grip_time_stp, grip_time_max
842 if (ch_dummy /=
'#')
then
843 write(6,*)
' sico_init: grip_time_min, grip_time_stp, grip_time_max'
844 write(6,*)
' not defined indata file for delta_ts!'
848 ndata_grip = (grip_time_max-grip_time_min)/grip_time_stp
850 allocate(griptemp(0:ndata_grip))
853 read(21,*) d_dummy, griptemp(n)
856 close(21, status=
'keep')
864 open(21, iostat=ios, &
865 file=inpath//
'/general/'//glac_ind_file, status=
'old')
866 if (ios /= 0) stop
' sico_init: Error when opening the glacial-index file!'
868 read(21,*) ch_dummy, gi_time_min, gi_time_stp, gi_time_max
870 if (ch_dummy /=
'#')
then
871 write(6,*)
' sico_init: gi_time_min, gi_time_stp, gi_time_max'
872 write(6,*)
' not defined inglacial-index file!'
876 ndata_gi = (gi_time_max-gi_time_min)/gi_time_stp
878 allocate(glacial_index(0:ndata_gi))
881 read(21,*) d_dummy, glacial_index(n)
884 close(21, status=
'keep')
892 open(21, iostat=ios, &
893 file=inpath//
'/general/'//sea_level_file, &
896 stop
' sico_init: Error when opening the data file for z_sl!'
898 read(21,*) ch_dummy, specmap_time_min, specmap_time_stp, specmap_time_max
900 if (ch_dummy /=
'#')
then
901 write(6,*)
' sico_init: specmap_time_min, specmap_time_stp, specmap_time_max'
902 write(6,*)
' not defined in data file for z_sl!'
906 ndata_specmap = (specmap_time_max-specmap_time_min)/specmap_time_stp
908 allocate(specmap_zsl(0:ndata_specmap))
910 do n=0, ndata_specmap
911 read(21,*) d_dummy, specmap_zsl(n)
914 close(21, status=
'keep')
926 q_geo(j,i) = q_geo *1.0e-03_dp
934 open(21, iostat=ios, &
935 file=inpath//
'/asf/'//q_geo_file, &
936 recl=8192, status=
'old')
938 if (ios /= 0) stop
' sico_init: Error when opening the qgeo file!'
940 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
943 read(21,*) (q_geo(j,i), i=0,imax)
946 close(21, status=
'keep')
950 q_geo(j,i) = q_geo(j,i) *1.0e-03_dp
958 #if (REBOUND==0 || REBOUND==1)
960 kei = 0.0_dp; n_data_kei = 0; kei_r_max = 0.0_dp; kei_r_incr = 0.0_dp
978 call
boundary(time_init, dtime, dxi, deta, &
979 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
989 zeta_c(kc) = kc*dzeta_c
990 eaz_c(kc) = exp(deform*zeta_c(kc))
991 eaz_c_quotient(kc) = (eaz_c(kc)-1.0_dp)/(ea-1.0_dp)
1001 q_b_tot(j,i) = 0.0_dp
1017 temp_c(kc,j,i) = temp_ma_present(j,i) + q_geo(j,i)/2.072_dp*h_c(j,i)*(1.0_dp-eaz_c_quotient(kc))
1019 if (temp_c(kc,j,i).gt.-beta*h_c(j,i))
then
1020 temp_c(kc,j,i) = -beta*h_c(j,i)
1023 age_c(kc,j,i) = 3500.0_dp*year_sec
1027 omega_t(kt,j,i) = 0.0_dp
1028 age_t(kt,j,i) = 3500.0_dp*year_sec
1032 temp_r(kr,j,i) = temp_c(0,j,i)+q_geo(j,i)*h_r/kappa_r &
1034 *(1.0_dp-
real(kr,dp)/
real(krmax,dp))
1052 call
boundary(time_init, dtime, dxi, deta, &
1053 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
1060 q_b_tot(j,i) = 0.0_dp
1066 temp_c(kc,j,i) = temp_s(j,i)
1067 age_c(kc,j,i) = 15000.0_dp*year_sec
1071 omega_t(kt,j,i) = 0.0_dp
1072 age_t(kt,j,i) = 15000.0_dp*year_sec
1076 temp_r(kr,j,i) = temp_s(j,i)+q_geo(j,i)*h_r/kappa_r &
1077 *(1.0_dp-
real(kr,dp)/
real(krmax,dp))
1096 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
1099 call
boundary(time_init, dtime, dxi, deta, &
1100 delta_ts, glac_index, z_sl, dzsl_dtau, z_mar)
1102 q_b_tot = q_bm + q_tld
1110 #if (GRID==0 || GRID==1)
1114 dist_dxdy(jr,ir) = sqrt( (
real(ir,dp)*dxi)**2 + (
real(jr,dp)*deta)**2 )
1126 zeta_c(kc) = kc*dzeta_c
1127 eaz_c(kc) = exp(deform*zeta_c(kc))
1128 eaz_c_quotient(kc) = (eaz_c(kc)-1.0_dp)/(ea-1.0_dp)
1132 zeta_t(kt) = kt*dzeta_t
1143 call
calc_vxy_ssa(z_sl, dxi, deta, dzeta_c, ii, jj, nn)
1156 open(12, iostat=ios, &
1157 file=outpath//
'/'//trim(runname)//
'.ser', &
1160 stop
' sico_init: Error when opening the ser file!'
1162 if (forcing_flag == 1)
then
1167 #if ( !defined(OUTSER_V_A) || OUTSER_V_A==1 )
1169 1102 format(
' t(a) D_Ts(deg C) z_sl(m)',/, &
1170 ' H_max(m) zs_max(m) V_g(m^3)', &
1171 ' V_t(m^3) V_fw(m^3/a) V_sle(m)',/, &
1172 ' A_g(m^2) A_t(m^2) V_bm(m^3/a)', &
1173 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
1174 1103 format(
'----------------------------------------------------', &
1175 '---------------------------------------')
1179 1102 format(
' t(a) D_Ts(deg C) z_sl(m)',/, &
1180 ' V(m^3) V_g(m^3) V_f(m^3)', &
1181 ' A(m^2) A_g(m^2) A_f(m^2)',/, &
1182 ' H_max(k) zs_max(m)', &
1183 ' V_t(m^3) V_fw(m^3/a) V_sle(m)',/, &
1184 ' A_t(m^2) V_bm(m^3/a)', &
1185 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
1186 1103 format(
'----------------------------------------------------', &
1187 '---------------------------------------')
1190 stop
' sico_init: OUTSER_V_A must be either 1 or 2!'
1193 else if (forcing_flag == 2)
then
1198 #if ( !defined(OUTSER_V_A) || OUTSER_V_A==1 )
1200 1112 format(
' t(a) glac_ind(1) z_sl(m)',/, &
1201 ' H_max(m) zs_max(m) V_g(m^3)', &
1202 ' V_t(m^3) V_fw(m^3/a) V_sle(m)',/, &
1203 ' A_g(m^2) A_t(m^2) V_bm(m^3/a)', &
1204 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
1205 1113 format(
'----------------------------------------------------', &
1206 '---------------------------------------')
1210 1112 format(
' t(a) glac_ind(1) z_sl(m)',/, &
1211 ' V(m^3) V_g(m^3) V_f(m^3)', &
1212 ' A(m^2) A_g(m^2) A_f(m^2)',/, &
1213 ' H_max(m) zs_max(m)', &
1214 ' V_t(m^3) V_fw(m^3/a) V_sle(m)',/, &
1215 ' A_t(m^2) V_bm(m^3/a)', &
1216 ' V_tld(m^3/a) H_t_max(m) vs_max(m/a)')
1217 1113 format(
'----------------------------------------------------', &
1218 '---------------------------------------')
1221 stop
' sico_init: OUTSER_V_A must be either 1 or 2!'
1230 open(13, iostat=ios, &
1231 file=outpath//
'/'//trim(runname)//
'.thk', &
1233 if (ios /= 0) stop
' sico_init: Error when opening the thk file!'
1235 if (forcing_flag == 1)
then
1240 1104 format(
'% t(a) D_Ts(deg C) z_sl(m)',/, &
1241 ' H(m): JMAX+1 records [j = JMAX (-1) 0] with',/, &
1242 ' IMAX+1 values [i = 0 (1) IMAX] in each record')
1243 1105 format(
'%----------------------------------------------------')
1245 else if (forcing_flag == 2)
then
1250 1114 format(
'% t(a) glac_ind(1) z_sl(m)',/, &
1251 ' H(m): JMAX+1 records [j = JMAX (-1) 0] with',/, &
1252 ' IMAX+1 values [i = 0 (1) IMAX] in each record')
1253 1115 format(
'%----------------------------------------------------')
1265 allocate(lambda_core(n_core), phi_core(n_core), &
1266 x_core(n_core), y_core(n_core))
1268 phi_core(1) = 72.58722_dp *pi_180
1269 lambda_core(1) = -37.64222_dp *pi_180
1270 call
num_coord(lambda_core(1), phi_core(1), x_core(1), y_core(1))
1272 phi_core(2) = 72.58833_dp *pi_180
1273 lambda_core(2) = -38.45750_dp *pi_180
1274 call
num_coord(lambda_core(2), phi_core(2), x_core(2), y_core(2))
1276 phi_core(3) = 65.15139_dp *pi_180
1277 lambda_core(3) = -43.81722_dp *pi_180
1278 call
num_coord(lambda_core(3), phi_core(3), x_core(3), y_core(3))
1280 phi_core(4) = 77.17970_dp *pi_180
1281 lambda_core(4) = -61.10975_dp *pi_180
1282 call
num_coord(lambda_core(4), phi_core(4), x_core(4), y_core(4))
1284 phi_core(5) = 75.09694_dp *pi_180
1285 lambda_core(5) = -42.31956_dp *pi_180
1286 call
num_coord(lambda_core(5), phi_core(5), x_core(5), y_core(5))
1288 phi_core(6) = 77.5_dp *pi_180
1289 lambda_core(6) = -50.9_dp *pi_180
1290 call
num_coord(lambda_core(6), phi_core(6), x_core(6), y_core(6))
1292 open(14, iostat=ios, &
1293 file=outpath//
'/'//trim(runname)//
'.core', &
1295 if (ios /= 0) stop
' sico_init: Error when opening the core file!'
1297 if (forcing_flag == 1)
then
1302 1106 format(
'% t(a) D_Ts(C) z_sl(m)',/, &
1303 ' H_GR(m) H_G2(m) H_D3(m)', &
1304 ' H_CC(m) H_NG(m) H_NE(m)',/, &
1305 ' v_GR(m/a) v_G2(m/a) v_D3(m/a)', &
1306 ' v_CC(m/a) v_NG(m/a) v_NE(m/a)',/, &
1307 ' T_GR(C) T_G2(C) T_D3(C)', &
1308 ' T_CC(C) T_NG(C) T_NE(C)',/, &
1309 ' Rb_GR(W/m2) Rb_G2(W/m2) Rb_D3(W/m2)', &
1310 ' Rb_CC(W/m2) Rb_NG(W/m2) Rb_NE(W/m2)')
1311 1107 format(
'%----------------------------------------------------', &
1312 '---------------------------------------')
1314 else if (forcing_flag == 2)
then
1319 1116 format(
'% t(a) glac_ind(1) z_sl(m)',/, &
1320 ' H_GR(m) H_G2(m) H_D3(m)', &
1321 ' H_CC(m) H_NG(m) H_NE(m)',/, &
1322 ' v_GR(m/a) v_G2(m/a) v_D3(m/a)', &
1323 ' v_CC(m/a) v_NG(m/a) v_NE(m/a)',/, &
1324 ' T_GR(C) T_G2(C) T_D3(C)', &
1325 ' T_CC(C) T_NG(C) T_NE(C)',/, &
1326 ' Rb_GR(W/m2) Rb_G2(W/m2) Rb_D3(W/m2)', &
1327 ' Rb_CC(W/m2) Rb_NG(W/m2) Rb_NE(W/m2)')
1328 1117 format(
'%----------------------------------------------------', &
1329 '---------------------------------------')
1343 allocate(lambda_surf(n_surf), phi_surf(n_surf), &
1344 x_surf(n_surf), y_surf(n_surf))
1348 phi_surf(1) = 79.8322_dp *pi_180
1349 lambda_surf(1) = 24.0043_dp *pi_180
1351 call
num_coord(lambda_surf(1), phi_surf(1), x_surf(1), y_surf(1))
1353 phi_surf(2) = 79.3613_dp *pi_180
1354 lambda_surf(2) = 23.5622_dp *pi_180
1356 call
num_coord(lambda_surf(2), phi_surf(2), x_surf(2), y_surf(2))
1358 phi_surf(3) = 79.4497_dp *pi_180
1359 lambda_surf(3) = 23.6620_dp *pi_180
1361 call
num_coord(lambda_surf(3), phi_surf(3), x_surf(3), y_surf(3))
1363 phi_surf(4) = 79.5388_dp *pi_180
1364 lambda_surf(4) = 23.7644_dp *pi_180
1366 call
num_coord(lambda_surf(4), phi_surf(4), x_surf(4), y_surf(4))
1368 phi_surf(5) = 79.6421_dp *pi_180
1369 lambda_surf(5) = 23.8834_dp *pi_180
1371 call
num_coord(lambda_surf(5), phi_surf(5), x_surf(5), y_surf(5))
1373 phi_surf(6) = 79.7302_dp *pi_180
1374 lambda_surf(6) = 23.9872_dp *pi_180
1376 call
num_coord(lambda_surf(6), phi_surf(6), x_surf(6), y_surf(6))
1378 phi_surf(7) = 79.5829_dp *pi_180
1379 lambda_surf(7) = 24.6716_dp *pi_180
1381 call
num_coord(lambda_surf(7), phi_surf(7), x_surf(7), y_surf(7))
1383 phi_surf(8) = 79.7171_dp *pi_180
1384 lambda_surf(8) = 22.1832_dp *pi_180
1386 call
num_coord(lambda_surf(8), phi_surf(8), x_surf(8), y_surf(8))
1388 phi_surf(9) = 79.7335_dp *pi_180
1389 lambda_surf(9) = 22.4169_dp *pi_180
1391 call
num_coord(lambda_surf(9), phi_surf(9), x_surf(9), y_surf(9))
1393 phi_surf(10) = 79.7519_dp *pi_180
1394 lambda_surf(10) = 22.6407_dp *pi_180
1396 call
num_coord(lambda_surf(10), phi_surf(10), x_surf(10), y_surf(10))
1398 phi_surf(11) = 79.7670_dp *pi_180
1399 lambda_surf(11) = 22.8271_dp *pi_180
1401 call
num_coord(lambda_surf(11), phi_surf(11), x_surf(11), y_surf(11))
1403 phi_surf(12) = 79.7827_dp *pi_180
1404 lambda_surf(12) = 23.1220_dp *pi_180
1406 call
num_coord(lambda_surf(12), phi_surf(12), x_surf(12), y_surf(12))
1408 phi_surf(13) = 79.5884_dp *pi_180
1409 lambda_surf(13) = 25.5511_dp *pi_180
1411 call
num_coord(lambda_surf(13), phi_surf(13), x_surf(13), y_surf(13))
1413 phi_surf(14) = 79.6363_dp *pi_180
1414 lambda_surf(14) = 25.3582_dp *pi_180
1416 call
num_coord(lambda_surf(14), phi_surf(14), x_surf(14), y_surf(14))
1418 phi_surf(15) = 80.0638_dp *pi_180
1419 lambda_surf(15) = 24.2605_dp *pi_180
1421 call
num_coord(lambda_surf(15), phi_surf(15), x_surf(15), y_surf(15))
1423 phi_surf(16) = 79.9426_dp *pi_180
1424 lambda_surf(16) = 24.2433_dp *pi_180
1426 call
num_coord(lambda_surf(16), phi_surf(16), x_surf(16), y_surf(16))
1428 phi_surf(17) = 79.8498_dp *pi_180
1429 lambda_surf(17) = 26.6449_dp *pi_180
1431 call
num_coord(lambda_surf(17), phi_surf(17), x_surf(17), y_surf(17))
1433 phi_surf(18) = 79.8499_dp *pi_180
1434 lambda_surf(18) = 26.1354_dp *pi_180
1436 call
num_coord(lambda_surf(18), phi_surf(18), x_surf(18), y_surf(18))
1438 phi_surf(19) = 79.8499_dp *pi_180
1439 lambda_surf(19) = 25.7261_dp *pi_180
1441 call
num_coord(lambda_surf(19), phi_surf(19), x_surf(19), y_surf(19))
1445 phi_surf(20) = 79.833333_dp *pi_180
1446 lambda_surf(20) = 24.935833_dp *pi_180
1448 call
num_coord(lambda_surf(20), phi_surf(20), x_surf(20), y_surf(20))
1451 phi_surf(21) = 79.783333_dp *pi_180
1452 lambda_surf(21) = 25.400000_dp *pi_180
1454 call
num_coord(lambda_surf(21), phi_surf(21), x_surf(21), y_surf(21))
1457 phi_surf(22) = 79.750000_dp *pi_180
1458 lambda_surf(22) = 23.866667_dp *pi_180
1460 call
num_coord(lambda_surf(22), phi_surf(22), x_surf(22), y_surf(22))
1463 phi_surf(23) = 79.615000_dp *pi_180
1464 lambda_surf(23) = 23.490556_dp *pi_180
1466 call
num_coord(lambda_surf(23), phi_surf(23), x_surf(23), y_surf(23))
1469 phi_surf(24) = 79.797778_dp *pi_180
1470 lambda_surf(24) = 23.997500_dp *pi_180
1472 call
num_coord(lambda_surf(24), phi_surf(24), x_surf(24), y_surf(24))
1475 phi_surf(25) = 79.765000_dp *pi_180
1476 lambda_surf(25) = 24.809722_dp *pi_180
1478 call
num_coord(lambda_surf(25), phi_surf(25), x_surf(25), y_surf(25))
1481 phi_surf(26) = 79.874722_dp *pi_180
1482 lambda_surf(26) = 23.541667_dp *pi_180
1484 call
num_coord(lambda_surf(26), phi_surf(26), x_surf(26), y_surf(26))
1487 phi_surf(27) = 79.697778_dp *pi_180
1488 lambda_surf(27) = 25.096111_dp *pi_180
1490 call
num_coord(lambda_surf(27), phi_surf(27), x_surf(27), y_surf(27))
1492 phi_surf(28) = 79.897500_dp *pi_180
1493 lambda_surf(28) = 23.230278_dp *pi_180
1495 call
num_coord(lambda_surf(28), phi_surf(28), x_surf(28), y_surf(28))
1498 phi_surf(29) = 79.874444_dp *pi_180
1499 lambda_surf(29) = 24.046111_dp *pi_180
1501 call
num_coord(lambda_surf(29), phi_surf(29), x_surf(29), y_surf(29))
1504 phi_surf(30) = 79.962500_dp *pi_180
1505 lambda_surf(30) = 24.169722_dp *pi_180
1507 call
num_coord(lambda_surf(30), phi_surf(30), x_surf(30), y_surf(30))
1510 phi_surf(31) = 79.664444_dp *pi_180
1511 lambda_surf(31) = 25.235833_dp *pi_180
1513 call
num_coord(lambda_surf(31), phi_surf(31), x_surf(31), y_surf(31))
1516 phi_surf(32) = 79.681111_dp *pi_180
1517 lambda_surf(32) = 23.713056_dp *pi_180
1519 call
num_coord(lambda_surf(32), phi_surf(32), x_surf(32), y_surf(32))
1522 phi_surf(33) = 79.554167_dp *pi_180
1523 lambda_surf(33) = 23.796944_dp *pi_180
1525 call
num_coord(lambda_surf(33), phi_surf(33), x_surf(33), y_surf(33))
1528 phi_surf(34) = 79.511667_dp *pi_180
1529 lambda_surf(34) = 24.032778_dp *pi_180
1531 call
num_coord(lambda_surf(34), phi_surf(34), x_surf(34), y_surf(34))
1534 phi_surf(35) = 79.552222_dp *pi_180
1535 lambda_surf(35) = 22.799167_dp *pi_180
1537 call
num_coord(lambda_surf(35), phi_surf(35), x_surf(35), y_surf(35))
1540 phi_surf(36) = 79.847778_dp *pi_180
1541 lambda_surf(36) = 25.788611_dp *pi_180
1543 call
num_coord(lambda_surf(36), phi_surf(36), x_surf(36), y_surf(36))
1546 phi_surf(37) = 79.830000_dp *pi_180
1547 lambda_surf(37) = 24.001389_dp *pi_180
1549 call
num_coord(lambda_surf(37), phi_surf(37), x_surf(37), y_surf(37))
1554 phi_surf(38) = 80.1427268586056_dp *pi_180
1555 lambda_surf(38) = 23.9534492294493_dp *pi_180
1557 call
num_coord(lambda_surf(38), phi_surf(38), x_surf(38), y_surf(38))
1560 phi_surf(39) = 80.1124108950185_dp *pi_180
1561 lambda_surf(39) = 24.0629399381155_dp *pi_180
1563 call
num_coord(lambda_surf(39), phi_surf(39), x_surf(39), y_surf(39))
1566 phi_surf(40) = 80.0765637664780_dp *pi_180
1567 lambda_surf(40) = 24.0481674197519_dp *pi_180
1569 call
num_coord(lambda_surf(40), phi_surf(40), x_surf(40), y_surf(40))
1572 phi_surf(41) = 80.0409891299823_dp *pi_180
1573 lambda_surf(41) = 24.0074110976581_dp *pi_180
1575 call
num_coord(lambda_surf(41), phi_surf(41), x_surf(41), y_surf(41))
1578 phi_surf(42) = 80.0049393359201_dp *pi_180
1579 lambda_surf(42) = 23.9894145095442_dp *pi_180
1581 call
num_coord(lambda_surf(42), phi_surf(42), x_surf(42), y_surf(42))
1584 phi_surf(43) = 79.4994665039616_dp *pi_180
1585 lambda_surf(43) = 25.4790616341716_dp *pi_180
1587 call
num_coord(lambda_surf(43), phi_surf(43), x_surf(43), y_surf(43))
1590 phi_surf(44) = 79.4973763443781_dp *pi_180
1591 lambda_surf(44) = 25.2826485444194_dp *pi_180
1593 call
num_coord(lambda_surf(44), phi_surf(44), x_surf(44), y_surf(44))
1596 phi_surf(45) = 79.5028080484427_dp *pi_180
1597 lambda_surf(45) = 25.0844021770897_dp *pi_180
1599 call
num_coord(lambda_surf(45), phi_surf(45), x_surf(45), y_surf(45))
1602 phi_surf(46) = 79.5131051861579_dp *pi_180
1603 lambda_surf(46) = 24.8934874838598_dp *pi_180
1605 call
num_coord(lambda_surf(46), phi_surf(46), x_surf(46), y_surf(46))
1608 phi_surf(47) = 79.5275754154375_dp *pi_180
1609 lambda_surf(47) = 24.7125320718015_dp *pi_180
1611 call
num_coord(lambda_surf(47), phi_surf(47), x_surf(47), y_surf(47))
1616 phi_surf(48) = 79.6232572730302_dp *pi_180
1617 lambda_surf(48) = 22.4297425686265_dp *pi_180
1619 call
num_coord(lambda_surf(48), phi_surf(48), x_surf(48), y_surf(48))
1622 phi_surf(49) = 79.6355048663362_dp *pi_180
1623 lambda_surf(49) = 22.5023513660534_dp *pi_180
1625 call
num_coord(lambda_surf(49), phi_surf(49), x_surf(49), y_surf(49))
1628 phi_surf(50) = 79.6477359930900_dp *pi_180
1629 lambda_surf(50) = 22.5751300038166_dp *pi_180
1631 call
num_coord(lambda_surf(50), phi_surf(50), x_surf(50), y_surf(50))
1634 phi_surf(51) = 79.6599505942585_dp *pi_180
1635 lambda_surf(51) = 22.6480788556811_dp *pi_180
1637 call
num_coord(lambda_surf(51), phi_surf(51), x_surf(51), y_surf(51))
1640 phi_surf(52) = 79.6730674725108_dp *pi_180
1641 lambda_surf(52) = 22.7116449352996_dp *pi_180
1643 call
num_coord(lambda_surf(52), phi_surf(52), x_surf(52), y_surf(52))
1646 phi_surf(53) = 79.6907455504277_dp *pi_180
1647 lambda_surf(53) = 22.7278148586532_dp *pi_180
1649 call
num_coord(lambda_surf(53), phi_surf(53), x_surf(53), y_surf(53))
1652 phi_surf(54) = 79.7084227767215_dp *pi_180
1653 lambda_surf(54) = 22.7440404597164_dp *pi_180
1655 call
num_coord(lambda_surf(54), phi_surf(54), x_surf(54), y_surf(54))
1658 phi_surf(55) = 79.7260991471427_dp *pi_180
1659 lambda_surf(55) = 22.7603220234687_dp *pi_180
1661 call
num_coord(lambda_surf(55), phi_surf(55), x_surf(55), y_surf(55))
1664 phi_surf(56) = 79.7437746574126_dp *pi_180
1665 lambda_surf(56) = 22.7766598368173_dp *pi_180
1667 call
num_coord(lambda_surf(56), phi_surf(56), x_surf(56), y_surf(56))
1670 phi_surf(57) = 79.7615003936967_dp *pi_180
1671 lambda_surf(57) = 22.7895141723757_dp *pi_180
1673 call
num_coord(lambda_surf(57), phi_surf(57), x_surf(57), y_surf(57))
1676 phi_surf(58) = 79.7794141201101_dp *pi_180
1677 lambda_surf(58) = 22.7893415392149_dp *pi_180
1679 call
num_coord(lambda_surf(58), phi_surf(58), x_surf(58), y_surf(58))
1682 phi_surf(59) = 79.7973278451020_dp *pi_180
1683 lambda_surf(59) = 22.7891690597211_dp *pi_180
1685 call
num_coord(lambda_surf(59), phi_surf(59), x_surf(59), y_surf(59))
1688 phi_surf(60) = 79.8152415686728_dp *pi_180
1689 lambda_surf(60) = 22.7889967333372_dp *pi_180
1691 call
num_coord(lambda_surf(60), phi_surf(60), x_surf(60), y_surf(60))
1694 phi_surf(61) = 79.8331552908230_dp *pi_180
1695 lambda_surf(61) = 22.7888245595023_dp *pi_180
1697 call
num_coord(lambda_surf(61), phi_surf(61), x_surf(61), y_surf(61))
1700 phi_surf(62) = 79.8504448969531_dp *pi_180
1701 lambda_surf(62) = 22.8027142916594_dp *pi_180
1703 call
num_coord(lambda_surf(62), phi_surf(62), x_surf(62), y_surf(62))
1706 phi_surf(63) = 79.8662041154283_dp *pi_180
1707 lambda_surf(63) = 22.8510765245997_dp *pi_180
1709 call
num_coord(lambda_surf(63), phi_surf(63), x_surf(63), y_surf(63))
1712 phi_surf(64) = 79.8819561232071_dp *pi_180
1713 lambda_surf(64) = 22.8995882814793_dp *pi_180
1715 call
num_coord(lambda_surf(64), phi_surf(64), x_surf(64), y_surf(64))
1718 phi_surf(65) = 79.8977008864609_dp *pi_180
1719 lambda_surf(65) = 22.9482501953580_dp *pi_180
1721 call
num_coord(lambda_surf(65), phi_surf(65), x_surf(65), y_surf(65))
1724 phi_surf(66) = 79.9134383711667_dp *pi_180
1725 lambda_surf(66) = 22.9970629023954_dp *pi_180
1727 call
num_coord(lambda_surf(66), phi_surf(66), x_surf(66), y_surf(66))
1730 phi_surf(67) = 79.9291685431056_dp *pi_180
1731 lambda_surf(67) = 23.0460270418662_dp *pi_180
1733 call
num_coord(lambda_surf(67), phi_surf(67), x_surf(67), y_surf(67))
1736 phi_surf(68) = 79.9448913678619_dp *pi_180
1737 lambda_surf(68) = 23.0951432561750_dp *pi_180
1739 call
num_coord(lambda_surf(68), phi_surf(68), x_surf(68), y_surf(68))
1742 phi_surf(69) = 79.9606068108212_dp *pi_180
1743 lambda_surf(69) = 23.1444121908719_dp *pi_180
1745 call
num_coord(lambda_surf(69), phi_surf(69), x_surf(69), y_surf(69))
1748 phi_surf(70) = 79.9741572381786_dp *pi_180
1749 lambda_surf(70) = 23.2092211687201_dp *pi_180
1751 call
num_coord(lambda_surf(70), phi_surf(70), x_surf(70), y_surf(70))
1754 phi_surf(71) = 79.9859141894524_dp *pi_180
1755 lambda_surf(71) = 23.2868821248161_dp *pi_180
1757 call
num_coord(lambda_surf(71), phi_surf(71), x_surf(71), y_surf(71))
1760 phi_surf(72) = 79.9976529206869_dp *pi_180
1761 lambda_surf(72) = 23.3647236505600_dp *pi_180
1763 call
num_coord(lambda_surf(72), phi_surf(72), x_surf(72), y_surf(72))
1765 phi_surf(73) = 80.0093733670701_dp *pi_180
1766 lambda_surf(73) = 23.4427461021207_dp *pi_180
1768 call
num_coord(lambda_surf(73), phi_surf(73), x_surf(73), y_surf(73))
1771 phi_surf(74) = 80.0201320622880_dp *pi_180
1772 lambda_surf(74) = 23.5253067161782_dp *pi_180
1774 call
num_coord(lambda_surf(74), phi_surf(74), x_surf(74), y_surf(74))
1777 phi_surf(75) = 80.0308022109253_dp *pi_180
1778 lambda_surf(75) = 23.6083570802514_dp *pi_180
1780 call
num_coord(lambda_surf(75), phi_surf(75), x_surf(75), y_surf(75))
1782 phi_surf(76) = 80.0414516357850_dp *pi_180
1783 lambda_surf(76) = 23.6915833394057_dp *pi_180
1785 call
num_coord(lambda_surf(76), phi_surf(76), x_surf(76), y_surf(76))
1788 phi_surf(77) = 80.0520802696857_dp *pi_180
1789 lambda_surf(77) = 23.7749857156754_dp *pi_180
1791 call
num_coord(lambda_surf(77), phi_surf(77), x_surf(77), y_surf(77))
1794 phi_surf(78) = 80.0547633949370_dp *pi_180
1795 lambda_surf(78) = 23.8736736708044_dp *pi_180
1797 call
num_coord(lambda_surf(78), phi_surf(78), x_surf(78), y_surf(78))
1800 phi_surf(79) = 80.0548013447126_dp *pi_180
1801 lambda_surf(79) = 23.9773687987851_dp *pi_180
1803 call
num_coord(lambda_surf(79), phi_surf(79), x_surf(79), y_surf(79))
1806 phi_surf(80) = 80.0548073397268_dp *pi_180
1807 lambda_surf(80) = 24.0810636270044_dp *pi_180
1809 call
num_coord(lambda_surf(80), phi_surf(80), x_surf(80), y_surf(80))
1812 phi_surf(81) = 80.0547813803758_dp *pi_180
1813 lambda_surf(81) = 24.1847574925018_dp *pi_180
1815 call
num_coord(lambda_surf(81), phi_surf(81), x_surf(81), y_surf(81))
1818 phi_surf(82) = 80.0646160588300_dp *pi_180
1819 lambda_surf(82) = 24.2700368789878_dp *pi_180
1821 call
num_coord(lambda_surf(82), phi_surf(82), x_surf(82), y_surf(82))
1824 phi_surf(83) = 80.0750999374003_dp *pi_180
1825 lambda_surf(83) = 24.3542380951582_dp *pi_180
1827 call
num_coord(lambda_surf(83), phi_surf(83), x_surf(83), y_surf(83))
1830 phi_surf(84) = 80.0846920877530_dp *pi_180
1831 lambda_surf(84) = 24.4407004402100_dp *pi_180
1833 call
num_coord(lambda_surf(84), phi_surf(84), x_surf(84), y_surf(84))
1836 phi_surf(85) = 80.0875193831616_dp *pi_180
1837 lambda_surf(85) = 24.5434121380084_dp *pi_180
1839 call
num_coord(lambda_surf(85), phi_surf(85), x_surf(85), y_surf(85))
1842 phi_surf(86) = 80.0903153574351_dp *pi_180
1843 lambda_surf(86) = 24.6461808494348_dp *pi_180
1845 call
num_coord(lambda_surf(86), phi_surf(86), x_surf(86), y_surf(86))
1848 phi_surf(87) = 80.0924166470023_dp *pi_180
1849 lambda_surf(87) = 24.7486469216956_dp *pi_180
1851 call
num_coord(lambda_surf(87), phi_surf(87), x_surf(87), y_surf(87))
1854 phi_surf(88) = 80.0864319373603_dp *pi_180
1855 lambda_surf(88) = 24.8467147281595_dp *pi_180
1857 call
num_coord(lambda_surf(88), phi_surf(88), x_surf(88), y_surf(88))
1860 phi_surf(89) = 80.0804188683848_dp *pi_180
1861 lambda_surf(89) = 24.9446644540260_dp *pi_180
1863 call
num_coord(lambda_surf(89), phi_surf(89), x_surf(89), y_surf(89))
1866 phi_surf(90) = 80.0743774931913_dp *pi_180
1867 lambda_surf(90) = 25.0424957604751_dp *pi_180
1869 call
num_coord(lambda_surf(90), phi_surf(90), x_surf(90), y_surf(90))
1872 phi_surf(91) = 80.0713340422000_dp *pi_180
1873 lambda_surf(91) = 25.1439126047994_dp *pi_180
1875 call
num_coord(lambda_surf(91), phi_surf(91), x_surf(91), y_surf(91))
1878 phi_surf(92) = 80.0700730909331_dp *pi_180
1879 lambda_surf(92) = 25.2475056357563_dp *pi_180
1881 call
num_coord(lambda_surf(92), phi_surf(92), x_surf(92), y_surf(92))
1884 phi_surf(93) = 80.0687803205250_dp *pi_180
1885 lambda_surf(93) = 25.3510715226335_dp *pi_180
1887 call
num_coord(lambda_surf(93), phi_surf(93), x_surf(93), y_surf(93))
1890 phi_surf(94) = 80.0647501708291_dp *pi_180
1891 lambda_surf(94) = 25.4519066363393_dp *pi_180
1893 call
num_coord(lambda_surf(94), phi_surf(94), x_surf(94), y_surf(94))
1895 phi_surf(95) = 80.0595181102431_dp *pi_180
1896 lambda_surf(95) = 25.5506489732496_dp *pi_180
1898 call
num_coord(lambda_surf(95), phi_surf(95), x_surf(95), y_surf(95))
1900 phi_surf(96) = 80.0494857323914_dp *pi_180
1901 lambda_surf(96) = 25.6365356440635_dp *pi_180
1903 call
num_coord(lambda_surf(96), phi_surf(96), x_surf(96), y_surf(96))
1906 phi_surf(97) = 80.0394316265850_dp *pi_180
1907 lambda_surf(97) = 25.7222505219501_dp *pi_180
1909 call
num_coord(lambda_surf(97), phi_surf(97), x_surf(97), y_surf(97))
1912 phi_surf(98) = 80.0293558606091_dp *pi_180
1913 lambda_surf(98) = 25.8077937609009_dp *pi_180
1915 call
num_coord(lambda_surf(98), phi_surf(98), x_surf(98), y_surf(98))
1918 phi_surf(99) = 80.0192585021221_dp *pi_180
1919 lambda_surf(99) = 25.8931655175225_dp *pi_180
1921 call
num_coord(lambda_surf(99), phi_surf(99), x_surf(99), y_surf(99))
1924 phi_surf(100) = 80.0091396186553_dp *pi_180
1925 lambda_surf(100) = 25.9783659510134_dp *pi_180
1927 call
num_coord(lambda_surf(100), phi_surf(100), x_surf(100), y_surf(100))
1930 phi_surf(101) = 79.9989992776120_dp *pi_180
1931 lambda_surf(101) = 26.0633952231408_dp *pi_180
1933 call
num_coord(lambda_surf(101), phi_surf(101), x_surf(101), y_surf(101))
1936 phi_surf(102) = 79.9888375462661_dp *pi_180
1937 lambda_surf(102) = 26.1482534982178_dp *pi_180
1939 call
num_coord(lambda_surf(102), phi_surf(102), x_surf(102), y_surf(102))
1942 phi_surf(103) = 79.9786544917617_dp *pi_180
1943 lambda_surf(103) = 26.2329409430807_dp *pi_180
1945 call
num_coord(lambda_surf(103), phi_surf(103), x_surf(103), y_surf(103))
1948 phi_surf(104) = 79.9683923353960_dp *pi_180
1949 lambda_surf(104) = 26.3172101192864_dp *pi_180
1951 call
num_coord(lambda_surf(104), phi_surf(104), x_surf(104), y_surf(104))
1953 phi_surf(105) = 80.0241705082505_dp *pi_180
1954 lambda_surf(105) = 26.7558248932553_dp *pi_180
1956 call
num_coord(lambda_surf(105), phi_surf(105), x_surf(105), y_surf(105))
1959 phi_surf(106) = 80.0069243536208_dp *pi_180
1960 lambda_surf(106) = 26.7836310921011_dp *pi_180
1962 call
num_coord(lambda_surf(106), phi_surf(106), x_surf(106), y_surf(106))
1965 phi_surf(107) = 79.9896760170551_dp *pi_180
1966 lambda_surf(107) = 26.8113433337043_dp *pi_180
1968 call
num_coord(lambda_surf(107), phi_surf(107), x_surf(107), y_surf(107))
1971 phi_surf(108) = 79.9723667157507_dp *pi_180
1972 lambda_surf(108) = 26.8350524380302_dp *pi_180
1974 call
num_coord(lambda_surf(108), phi_surf(108), x_surf(108), y_surf(108))
1977 phi_surf(109) = 79.9545472297622_dp *pi_180
1978 lambda_surf(109) = 26.8248911276131_dp *pi_180
1980 call
num_coord(lambda_surf(109), phi_surf(109), x_surf(109), y_surf(109))
1983 phi_surf(110) = 79.9367274171506_dp *pi_180
1984 lambda_surf(110) = 26.8147665774914_dp *pi_180
1986 call
num_coord(lambda_surf(110), phi_surf(110), x_surf(110), y_surf(110))
1989 phi_surf(111) = 79.9189072796258_dp *pi_180
1990 lambda_surf(111) = 26.8046785944172_dp *pi_180
1992 call
num_coord(lambda_surf(111), phi_surf(111), x_surf(111), y_surf(111))
1995 phi_surf(112) = 79.9009446914988_dp *pi_180
1996 lambda_surf(112) = 26.7957185084455_dp *pi_180
1998 call
num_coord(lambda_surf(112), phi_surf(112), x_surf(112), y_surf(112))
2001 phi_surf(113) = 79.8843576455373_dp *pi_180
2002 lambda_surf(113) = 26.7616970403497_dp *pi_180
2004 call
num_coord(lambda_surf(113), phi_surf(113), x_surf(113), y_surf(113))
2007 phi_surf(114) = 79.8676428266616_dp *pi_180
2008 lambda_surf(114) = 26.7251472990965_dp *pi_180
2010 call
num_coord(lambda_surf(114), phi_surf(114), x_surf(114), y_surf(114))
2013 phi_surf(115) = 79.8509238637717_dp *pi_180
2014 lambda_surf(115) = 26.6887177159393_dp *pi_180
2016 call
num_coord(lambda_surf(115), phi_surf(115), x_surf(115), y_surf(115))
2019 phi_surf(116) = 79.8342007771708_dp *pi_180
2020 lambda_surf(116) = 26.6524077251556_dp *pi_180
2022 call
num_coord(lambda_surf(116), phi_surf(116), x_surf(116), y_surf(116))
2025 phi_surf(117) = 79.8189961177120_dp *pi_180
2026 lambda_surf(117) = 26.6017802396904_dp *pi_180
2028 call
num_coord(lambda_surf(117), phi_surf(117), x_surf(117), y_surf(117))
2031 phi_surf(118) = 79.8054200039019_dp *pi_180
2032 lambda_surf(118) = 26.5357666498664_dp *pi_180
2034 call
num_coord(lambda_surf(118), phi_surf(118), x_surf(118), y_surf(118))
2037 phi_surf(119) = 79.7918304753589_dp *pi_180
2038 lambda_surf(119) = 26.4699273874801_dp *pi_180
2040 call
num_coord(lambda_surf(119), phi_surf(119), x_surf(119), y_surf(119))
2043 phi_surf(120) = 79.7782275858515_dp *pi_180
2044 lambda_surf(120) = 26.4042619219016_dp *pi_180
2046 call
num_coord(lambda_surf(120), phi_surf(120), x_surf(120), y_surf(120))
2049 phi_surf(121) = 79.7646113889145_dp *pi_180
2050 lambda_surf(121) = 26.3387697236600_dp *pi_180
2052 call
num_coord(lambda_surf(121), phi_surf(121), x_surf(121), y_surf(121))
2055 phi_surf(122) = 79.7518386380187_dp *pi_180
2056 lambda_surf(122) = 26.2683717557144_dp *pi_180
2058 call
num_coord(lambda_surf(122), phi_surf(122), x_surf(122), y_surf(122))
2061 phi_surf(123) = 79.7395107596368_dp *pi_180
2062 lambda_surf(123) = 26.1954158840248_dp *pi_180
2064 call
num_coord(lambda_surf(123), phi_surf(123), x_surf(123), y_surf(123))
2067 phi_surf(124) = 79.7271664326874_dp *pi_180
2068 lambda_surf(124) = 26.1226336416600_dp *pi_180
2070 call
num_coord(lambda_surf(124), phi_surf(124), x_surf(124), y_surf(124))
2073 phi_surf(125) = 79.7148057168060_dp *pi_180
2074 lambda_surf(125) = 26.0500246274899_dp *pi_180
2076 call
num_coord(lambda_surf(125), phi_surf(125), x_surf(125), y_surf(125))
2079 phi_surf(126) = 79.7024286714212_dp *pi_180
2080 lambda_surf(126) = 25.9775884402940_dp *pi_180
2082 call
num_coord(lambda_surf(126), phi_surf(126), x_surf(126), y_surf(126))
2085 phi_surf(127) = 79.6900353557545_dp *pi_180
2086 lambda_surf(127) = 25.9053246787703_dp *pi_180
2088 call
num_coord(lambda_surf(127), phi_surf(127), x_surf(127), y_surf(127))
2091 phi_surf(128) = 79.6776258288211_dp *pi_180
2092 lambda_surf(128) = 25.8332329415456_dp *pi_180
2094 call
num_coord(lambda_surf(128), phi_surf(128), x_surf(128), y_surf(128))
2097 phi_surf(129) = 79.6652001494302_dp *pi_180
2098 lambda_surf(129) = 25.7613128271851_dp *pi_180
2100 call
num_coord(lambda_surf(129), phi_surf(129), x_surf(129), y_surf(129))
2103 phi_surf(130) = 79.6527583761852_dp *pi_180
2104 lambda_surf(130) = 25.6895639342015_dp *pi_180
2106 call
num_coord(lambda_surf(130), phi_surf(130), x_surf(130), y_surf(130))
2109 phi_surf(131) = 79.6403005674845_dp *pi_180
2110 lambda_surf(131) = 25.6179858610658_dp *pi_180
2112 call
num_coord(lambda_surf(131), phi_surf(131), x_surf(131), y_surf(131))
2115 phi_surf(132) = 79.6272788783125_dp *pi_180
2116 lambda_surf(132) = 25.5497696493382_dp *pi_180
2118 call
num_coord(lambda_surf(132), phi_surf(132), x_surf(132), y_surf(132))
2121 phi_surf(133) = 79.6138476738577_dp *pi_180
2122 lambda_surf(133) = 25.4840259325117_dp *pi_180
2124 call
num_coord(lambda_surf(133), phi_surf(133), x_surf(133), y_surf(133))
2127 phi_surf(134) = 79.6004029370116_dp *pi_180
2128 lambda_surf(134) = 25.4184506246986_dp *pi_180
2130 call
num_coord(lambda_surf(134), phi_surf(134), x_surf(134), y_surf(134))
2133 phi_surf(135) = 79.5869447205062_dp *pi_180
2134 lambda_surf(135) = 25.3530432378053_dp *pi_180
2136 call
num_coord(lambda_surf(135), phi_surf(135), x_surf(135), y_surf(135))
2139 phi_surf(136) = 79.5734730768545_dp *pi_180
2140 lambda_surf(136) = 25.2878032846200_dp *pi_180
2142 call
num_coord(lambda_surf(136), phi_surf(136), x_surf(136), y_surf(136))
2145 phi_surf(137) = 79.5599880583521_dp *pi_180
2146 lambda_surf(137) = 25.2227302788170_dp *pi_180
2148 call
num_coord(lambda_surf(137), phi_surf(137), x_surf(137), y_surf(137))
2151 phi_surf(138) = 79.5464897170775_dp *pi_180
2152 lambda_surf(138) = 25.1578237349623_dp *pi_180
2154 call
num_coord(lambda_surf(138), phi_surf(138), x_surf(138), y_surf(138))
2157 phi_surf(139) = 79.5340825476013_dp *pi_180
2158 lambda_surf(139) = 25.0873713598923_dp *pi_180
2160 call
num_coord(lambda_surf(139), phi_surf(139), x_surf(139), y_surf(139))
2163 phi_surf(140) = 79.5231871974923_dp *pi_180
2164 lambda_surf(140) = 25.0091720580033_dp *pi_180
2166 call
num_coord(lambda_surf(140), phi_surf(140), x_surf(140), y_surf(140))
2169 phi_surf(141) = 79.5122726145574_dp *pi_180
2170 lambda_surf(141) = 24.9311335486110_dp *pi_180
2172 call
num_coord(lambda_surf(141), phi_surf(141), x_surf(141), y_surf(141))
2175 phi_surf(142) = 79.5013388593293_dp *pi_180
2176 lambda_surf(142) = 24.8532556096146_dp *pi_180
2178 call
num_coord(lambda_surf(142), phi_surf(142), x_surf(142), y_surf(142))
2181 phi_surf(143) = 79.4881304535468_dp *pi_180
2182 lambda_surf(143) = 24.7885573077964_dp *pi_180
2184 call
num_coord(lambda_surf(143), phi_surf(143), x_surf(143), y_surf(143))
2187 phi_surf(144) = 79.4734132097634_dp *pi_180
2188 lambda_surf(144) = 24.7326565135170_dp *pi_180
2190 call
num_coord(lambda_surf(144), phi_surf(144), x_surf(144), y_surf(144))
2193 phi_surf(145) = 79.4586860312332_dp *pi_180
2194 lambda_surf(145) = 24.6769105936574_dp *pi_180
2196 call
num_coord(lambda_surf(145), phi_surf(145), x_surf(145), y_surf(145))
2199 phi_surf(146) = 79.4439489597131_dp *pi_180
2200 lambda_surf(146) = 24.6213190006049_dp *pi_180
2202 call
num_coord(lambda_surf(146), phi_surf(146), x_surf(146), y_surf(146))
2205 phi_surf(147) = 79.4321693404700_dp *pi_180
2206 lambda_surf(147) = 24.5500779464491_dp *pi_180
2208 call
num_coord(lambda_surf(147), phi_surf(147), x_surf(147), y_surf(147))
2211 phi_surf(148) = 79.4223453273505_dp *pi_180
2212 lambda_surf(148) = 24.4684716320257_dp *pi_180
2214 call
num_coord(lambda_surf(148), phi_surf(148), x_surf(148), y_surf(148))
2217 phi_surf(149) = 79.4125002037095_dp *pi_180
2218 lambda_surf(149) = 24.3870150299917_dp *pi_180
2220 call
num_coord(lambda_surf(149), phi_surf(149), x_surf(149), y_surf(149))
2223 phi_surf(150) = 79.4026340289842_dp *pi_180
2224 lambda_surf(150) = 24.3057080421768_dp *pi_180
2226 call
num_coord(lambda_surf(150), phi_surf(150), x_surf(150), y_surf(150))
2229 phi_surf(151) = 79.3927468625203_dp *pi_180
2230 lambda_surf(151) = 24.2245505685362_dp *pi_180
2232 call
num_coord(lambda_surf(151), phi_surf(151), x_surf(151), y_surf(151))
2235 phi_surf(152) = 79.3909641358607_dp *pi_180
2236 lambda_surf(152) = 24.1356247611452_dp *pi_180
2238 call
num_coord(lambda_surf(152), phi_surf(152), x_surf(152), y_surf(152))
2241 phi_surf(153) = 79.3950618239069_dp *pi_180
2242 lambda_surf(153) = 24.0409163942958_dp *pi_180
2244 call
num_coord(lambda_surf(153), phi_surf(153), x_surf(153), y_surf(153))
2247 phi_surf(154) = 79.3991312122811_dp *pi_180
2248 lambda_surf(154) = 23.9461351693152_dp *pi_180
2250 call
num_coord(lambda_surf(154), phi_surf(154), x_surf(154), y_surf(154))
2253 phi_surf(155) = 79.4031722671433_dp *pi_180
2254 lambda_surf(155) = 23.8512815066396_dp *pi_180
2256 call
num_coord(lambda_surf(155), phi_surf(155), x_surf(155), y_surf(155))
2259 phi_surf(156) = 79.4071849548373_dp *pi_180
2260 lambda_surf(156) = 23.7563558291274_dp *pi_180
2262 call
num_coord(lambda_surf(156), phi_surf(156), x_surf(156), y_surf(156))
2265 phi_surf(157) = 79.4111692418918_dp *pi_180
2266 lambda_surf(157) = 23.6613585620463_dp *pi_180
2268 call
num_coord(lambda_surf(157), phi_surf(157), x_surf(157), y_surf(157))
2271 phi_surf(158) = 79.4127149901435_dp *pi_180
2272 lambda_surf(158) = 23.5647431017868_dp *pi_180
2274 call
num_coord(lambda_surf(158), phi_surf(158), x_surf(158), y_surf(158))
2277 phi_surf(159) = 79.4129320057492_dp *pi_180
2278 lambda_surf(159) = 23.4672773246991_dp *pi_180
2280 call
num_coord(lambda_surf(159), phi_surf(159), x_surf(159), y_surf(159))
2283 phi_surf(160) = 79.4131190508990_dp *pi_180
2284 lambda_surf(160) = 23.3698071241014_dp *pi_180
2286 call
num_coord(lambda_surf(160), phi_surf(160), x_surf(160), y_surf(160))
2289 phi_surf(161) = 79.4132761235192_dp *pi_180
2290 lambda_surf(161) = 23.2723330506382_dp *pi_180
2292 call
num_coord(lambda_surf(161), phi_surf(161), x_surf(161), y_surf(161))
2294 phi_surf(162) = 79.4134032217989_dp *pi_180
2295 lambda_surf(162) = 23.1748556552727_dp *pi_180
2297 call
num_coord(lambda_surf(162), phi_surf(162), x_surf(162), y_surf(162))
2300 phi_surf(163) = 79.4135003441905_dp *pi_180
2301 lambda_surf(163) = 23.0773754892604_dp *pi_180
2303 call
num_coord(lambda_surf(163), phi_surf(163), x_surf(163), y_surf(163))
2308 open(41, iostat=ios, &
2309 file=outpath//
'/'//trim(runname)//
'_zb.dat', &
2311 if (ios /= 0) stop
' sico_init: Error when opening the _zb file!'
2316 4001 format(
'%Time series of the bedrock for 163 surface points')
2317 4002 format(
'%------------------------------------------------')
2319 open(42, iostat=ios, &
2320 file=outpath//
'/'//trim(runname)//
'_zs.dat', &
2322 if (ios /= 0) stop
' sico_init: Error when opening the _zs file!'
2327 4011 format(
'%Time series of the surface for 163 surface points')
2329 open(43, iostat=ios, &
2330 file=outpath//
'/'//trim(runname)//
'_accum.dat', &
2332 if (ios /= 0) stop
' sico_init: Error when opening the _accum file!'
2337 4021 format(
'%Time series of the accumulation for 163 surface points')
2339 open(44, iostat=ios, &
2340 file=outpath//
'/'//trim(runname)//
'_as_perp.dat', &
2342 if (ios /= 0) stop
' sico_init: Error when opening the _as_perp file!'
2347 4031 format(
'%Time series of the as_perp for 163 surface points')
2349 open(45, iostat=ios, &
2350 file=outpath//
'/'//trim(runname)//
'_snowfall.dat', &
2352 if (ios /= 0) stop
' sico_init: Error when opening the _snowfall file!'
2357 4041 format(
'%Time series of the snowfall for 163 surface points')
2359 open(46, iostat=ios, &
2360 file=outpath//
'/'//trim(runname)//
'_rainfall.dat', &
2362 if (ios /= 0) stop
' sico_init: Error when opening the _rainfall file!'
2367 4051 format(
'%Time series of the rainfall for 163 surface points')
2369 open(47, iostat=ios, &
2370 file=outpath//
'/'//trim(runname)//
'_runoff.dat', &
2372 if (ios /= 0) stop
' sico_init: Error when opening the _runoff file!'
2377 4061 format(
'%Time series of the runoff for 163 surface points')
2379 open(48, iostat=ios, &
2380 file=outpath//
'/'//trim(runname)//
'_vx_s.dat', &
2382 if (ios /= 0) stop
' sico_init: Error when opening the _vx_s file!'
2387 4071 format(
'%Time series of the x-component of the horizontal surface velocity for 163 surface points')
2389 open(49, iostat=ios, &
2390 file=outpath//
'/'//trim(runname)//
'_vy_s.dat', &
2392 if (ios /= 0) stop
' sico_init: Error when opening the _vy_s file!'
2397 4081 format(
'%Time series of the y-component of the horizontal surface velocity for 163 surface points')
2400 open(50, iostat=ios, &
2401 file=outpath//
'/'//trim(runname)//
'_vz_s.dat', &
2403 if (ios /= 0) stop
' sico_init: Error when opening the _vz_s file!'
2408 4091 format(
'%Time series of the vertical surface velocity component for 163 surface points')
2410 open(51, iostat=ios, &
2411 file=outpath//
'/'//trim(runname)//
'_vx_b.dat', &
2413 if (ios /= 0) stop
' sico_init: Error when opening the _vx_b file!'
2418 4101 format(
'%Time series of the x-component of the horizontal basal velocity for 163 surface points')
2420 open(52, iostat=ios, &
2421 file=outpath//
'/'//trim(runname)//
'_vy_b.dat', &
2423 if (ios /= 0) stop
' sico_init: Error when opening the _vy_b file!'
2428 4111 format(
'%Time series of the y-component of the horizontal basal velocity for 163 surface points')
2431 open(53, iostat=ios, &
2432 file=outpath//
'/'//trim(runname)//
'_vz_b.dat', &
2434 if (ios /= 0) stop
' sico_init: Error when opening the _vz_b file!'
2439 4121 format(
'%Time series of the vertical basal velocity component for 163 surface points')
2442 open(54, iostat=ios, &
2443 file=outpath//
'/'//trim(runname)//
'_temph_b.dat', &
2445 if (ios /= 0) stop
' sico_init: Error when opening the _temph_b file!'
2450 4131 format(
'%Time series of the basal temperature relative to pressure melting point for 163 surface points')
2459 flag_3d_output = .false.
2461 flag_3d_output = .true.
2463 stop
' sico_init: ERGDAT must be either 0 or 1!'
2467 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
2468 flag_3d_output, ndat2d, ndat3d)
2470 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
2471 flag_3d_output, ndat2d, ndat3d)
2473 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
2478 if (time_output(1) <= time_init+eps)
then
2481 flag_3d_output = .false.
2483 flag_3d_output = .true.
2485 stop
' sico_init: ERGDAT must be either 0 or 1!'
2489 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
2490 flag_3d_output, ndat2d, ndat3d)
2492 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
2493 flag_3d_output, ndat2d, ndat3d)
2495 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
2502 flag_3d_output = .false.
2505 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
2506 flag_3d_output, ndat2d, ndat3d)
2508 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
2509 flag_3d_output, ndat2d, ndat3d)
2511 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
2514 if (time_output(1) <= time_init+eps)
then
2516 flag_3d_output = .true.
2519 call
output1(runname, time_init, delta_ts, glac_index, z_sl, &
2520 flag_3d_output, ndat2d, ndat3d)
2522 call
output_nc(runname, time_init, delta_ts, glac_index, z_sl, &
2523 flag_3d_output, ndat2d, ndat3d)
2525 stop
' sico_init: Parameter NETCDF must be either 1 or 2!'
2531 stop
' sico_init: OUTPUT must be either 1, 2 or 3!'
2534 call
output2(time_init, dxi, deta, delta_ts, glac_index, z_sl)
2536 call
output3(time_init, delta_ts, glac_index, z_sl)
2539 call
output4(time_init, dxi, deta, delta_ts, glac_index, z_sl)
2542 call
output5(time, dxi, deta, delta_ts, glac_index, z_sl)