35 subroutine output4(time, dxi, deta, delta_ts, glac_index, z_sl)
42 real(dp),
intent(in) :: time, dxi, deta, delta_ts, glac_index, z_sl
44 integer(i4b) :: i, j, n
46 real(dp),
dimension(0:JMAX,0:IMAX) :: field
47 real(dp),
dimension(:),
allocatable :: h_core, temp_core, &
48 vx_core, vy_core, v_core, &
49 rbx_core, rby_core, rb_core
51 allocate(h_core(n_core), temp_core(n_core), &
52 vx_core(n_core), vy_core(n_core), v_core(n_core), &
53 rbx_core(n_core), rby_core(n_core), rb_core(n_core))
62 call
borehole(field, x_core(n), y_core(n), dxi, deta,
'grid', h_core(n))
68 field(j,i) = vx_c(kcmax,j,i)
72 call
borehole(field, x_core(n), y_core(n), dxi, deta,
'sg_x', vx_core(n))
76 field(j,i) = vy_c(kcmax,j,i)
80 call
borehole(field, x_core(n), y_core(n), dxi, deta,
'sg_y', vy_core(n))
82 v_core(n) = sqrt(vx_core(n)**2+vy_core(n)**2)
88 field(j,i) = temp_r(krmax,j,i)
92 call
borehole(field, x_core(n), y_core(n), dxi, deta,
'grid', temp_core(n))
98 field(j,i) = vx_t(0,j,i)*txz_t(0,j,i)
102 call
borehole(field, x_core(n), y_core(n), dxi, deta,
'sg_x', rbx_core(n))
106 field(j,i) = vy_t(0,j,i)*tyz_t(0,j,i)
110 call
borehole(field, x_core(n), y_core(n), dxi, deta,
'sg_y', rby_core(n))
112 rb_core(n) = rbx_core(n) + rby_core(n)
118 #if ( !defined(OUT_TIMES) || OUT_TIMES==1 )
119 time_val = time /year_sec
121 time_val = (time+year_zero) /year_sec
123 stop
' output4: OUT_TIMES must be either 1 or 2!'
127 v_core(n) = v_core(n) *year_sec
132 if (forcing_flag == 1)
then
133 write(unit=14, fmt=
'(1pe13.6,2(1pe13.4))') time_val, delta_ts, z_sl
134 else if (forcing_flag == 2)
then
135 write(unit=14, fmt=
'(1pe13.6,2(1pe13.4))') time_val, glac_index, z_sl
136 else if (forcing_flag == 3)
then
137 write(unit=14, fmt=
'(1pe13.6,2(1pe13.4))') time_val, 1.11e+11_dp, z_sl
141 write(unit=14, fmt=
'(13x,1pe13.4)', advance=
'no') h_core(n)
143 write(unit=14, fmt=
'(1pe13.4)', advance=
'no') h_core(n)
146 write(unit=14, fmt=
'(1pe13.4)') h_core(n)
149 write(unit=14, fmt=
'(13x,1pe13.4)', advance=
'no') v_core(n)
151 write(unit=14, fmt=
'(1pe13.4)', advance=
'no') v_core(n)
154 write(unit=14, fmt=
'(1pe13.4)') v_core(n)
157 write(unit=14, fmt=
'(13x,1pe13.4)', advance=
'no') temp_core(n)
159 write(unit=14, fmt=
'(1pe13.4)', advance=
'no') temp_core(n)
162 write(unit=14, fmt=
'(1pe13.4)') temp_core(n)
165 write(unit=14, fmt=
'(13x,1pe13.4)', advance=
'no') rb_core(n)
167 write(unit=14, fmt=
'(1pe13.4)', advance=
'no') rb_core(n)
170 write(unit=14, fmt=
'(1pe13.4,/)') rb_core(n)
172 deallocate(h_core, vx_core, vy_core, v_core, temp_core, &
173 rbx_core, rby_core, rb_core)
subroutine borehole(field, x_pos, y_pos, dxi, deta, ch_grid, field_val)
Computation of an arbitrary field quantity for a given borehole position x_pos, y_pos by weighed aver...
Declarations of kind types for SICOPOLIS.
Declarations of global variables for SICOPOLIS (for the ANT domain).
subroutine output4(time, dxi, deta, delta_ts, glac_index, z_sl)
Writing of time-series data of the deep ice cores on file in ASCII format.
Declarations of global variables for SICOPOLIS.