SAMSIM
Functions/Subroutines
mo_output Module Reference

All things output. More...

Functions/Subroutines

subroutine, public output_settings (description, testcase, N_top, N_bottom, Nlayer, fl_q_bottom, T_bottom, S_bu_bottom, thick_0, time_out, time_total, dt, boundflux_flag, atmoflux_flag, albedo_flag, grav_flag, flush_flag, flood_flag, grav_heat_flag, flush_heat_flag, harmonic_flag, prescribe_flag, salt_flag, turb_flag, bottom_flag, tank_flag, precip_flag, bgc_flag, N_bgc, k_snow_flush)
 Settings output. More...
 
subroutine, public output (Nlayer, T, psi_s, psi_l, thick, S_bu, ray, format_T, format_psi, format_thick, format_snow, freeboard, thick_snow, T_snow, psi_l_snow, psi_s_snow, energy_stored, freshwater, total_resist, thickness, bulk_salin, grav_drain, grav_salt, grav_temp, T2m, T_top, perm, format_perm, flush_v, flush_h, psi_g, melt_thick_output, format_melt)
 Standard output. More...
 
subroutine, public output_bgc (Nlayer, N_active, bgc_bottom, N_bgc, bgc_abs, psi_l, thick, m, format_bgc)
 Standard bgc output. More...
 
subroutine, public output_raw (Nlayer, N_active, time, T, thick, S_bu, psi_s, psi_l, psi_g)
 Output for debugging purposes. More...
 
subroutine, public output_raw_snow (time, T_snow, thick_snow, S_abs_snow, m_snow, psi_s_snow, psi_l_snow, psi_g_snow)
 Output for debugging purposes. More...
 
subroutine, public output_raw_lay (Nlayer, N_active, H_abs, m, S_abs, thick, string)
 Output for debugging layer dynamics.. More...
 
subroutine, public output_begin (Nlayer, debug_flag, format_T, format_psi, format_thick, format_snow, format_T2m_top, format_perm, format_melt)
 Output files are opened and format strings are created. More...
 
subroutine, public output_begin_bgc (Nlayer, N_bgc, format_bgc)
 Output files for bgc are opened and format strings are created. More...
 

Detailed Description

All things output.

Used to clean up root.f90 and make it easier to implement changes to the output.

Author
Philipp Griewank

COPYRIGHT

This file is part of SAMSIM.

SAMSIM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SAMSIM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SAMSIM. If not, see http://www.gnu.org/licenses/.

Function/Subroutine Documentation

subroutine, public mo_output::output ( integer, intent(in)  Nlayer,
real(wp), dimension(nlayer), intent(in)  T,
real(wp), dimension(nlayer), intent(in)  psi_s,
real(wp), dimension(nlayer), intent(in)  psi_l,
real(wp), dimension(nlayer), intent(in)  thick,
real(wp), dimension(nlayer), intent(in)  S_bu,
real(wp), dimension(nlayer-1), intent(in)  ray,
character*12000, intent(in)  format_T,
character*12000, intent(in)  format_psi,
character*12000, intent(in)  format_thick,
character*12000, intent(in)  format_snow,
real(wp), intent(in)  freeboard,
real(wp), intent(in)  thick_snow,
real(wp), intent(in)  T_snow,
real(wp), intent(in)  psi_l_snow,
real(wp), intent(in)  psi_s_snow,
real(wp), intent(in)  energy_stored,
real(wp), intent(in)  freshwater,
real(wp), intent(in)  total_resist,
real(wp), intent(in)  thickness,
real(wp), intent(in)  bulk_salin,
real(wp), intent(in)  grav_drain,
real(wp), intent(in)  grav_salt,
real(wp), intent(in)  grav_temp,
real(wp), intent(in)  T2m,
real(wp), intent(in)  T_top,
real(wp), dimension(nlayer), intent(in)  perm,
character*12000, intent(in)  format_perm,
real(wp), dimension(nlayer), intent(in)  flush_v,
real(wp), dimension(nlayer), intent(in)  flush_h,
real(wp), dimension(nlayer), intent(in)  psi_g,
real(wp), dimension(3), intent(in)  melt_thick_output,
character*12000, intent(in)  format_melt 
)

Standard output.

For time=n*time_out data is exported.

Revision History
created by Philipp Griewank, IMPRS (2010-10-11)
Parameters
[in]melt_thick_outputNiels, 2017: 1: accumulated melt_thick, 2: accumulated melt_thick_snow, 3: accumulated top ice thickness variations (recheck 3: in mo_layer_dynamics)
[in]format_meltNiels, 2017 add: output permeability
[in]format_meltNiels, 2017 add: output vertical flushing
[in]format_meltNiels, 2017 add: output horizontal flushing
[in]format_meltNiels, 2017 add: output gas fraction !OBS: not simulated physically in SAMSIM
[in]format_meltNiels, 2017
subroutine, public mo_output::output_begin ( integer, intent(in)  Nlayer,
integer, intent(in)  debug_flag,
character*12000, intent(out)  format_T,
character*12000, intent(out)  format_psi,
character*12000, intent(out)  format_thick,
character*12000, intent(out)  format_snow,
character*12000, intent(out)  format_T2m_top,
character*12000, intent(out)  format_perm,
character*12000, intent(out)  format_melt 
)

Output files are opened and format strings are created.

Format strings are defined according to the number of layers used which define the output format. Files are opened.

Revision History
created by Philipp Griewank, IMPRS (2010-10-11) moved by Philipp Griewank, IMPRS (2011-03-09)
subroutine, public mo_output::output_begin_bgc ( integer, intent(in)  Nlayer,
integer, intent(in)  N_bgc,
character*12000, intent(out)  format_bgc 
)

Output files for bgc are opened and format strings are created.

Same thing as out_begin but for bgc Each tracer is outputted in bulk and in brine concentration in a separate file. Added ADJUSTL to the output strings because they got wierd

Revision History
created by Dr. Philipp Griewank, MPI (2014-02-07) fix by Dr. Philipp Griewank, UniK (2018-05-18)
subroutine, public mo_output::output_bgc ( integer, intent(in)  Nlayer,
integer, intent(in)  N_active,
real(wp), dimension(n_bgc), intent(in)  bgc_bottom,
integer, intent(in)  N_bgc,
real(wp), dimension(nlayer,n_bgc), intent(in)  bgc_abs,
real(wp), dimension(nlayer), intent(in)  psi_l,
real(wp), dimension(nlayer), intent(in)  thick,
real(wp), dimension(nlayer), intent(in)  m,
character*12000, intent(in)  format_bgc 
)

Standard bgc output.

For time=n*time_out data is exported.

Revision History
created by Philipp Griewank, IMPRS (2014-02-06)
subroutine, public mo_output::output_raw ( integer, intent(in)  Nlayer,
integer, intent(in)  N_active,
real(wp), intent(in)  time,
real(wp), dimension(nlayer), intent(in)  T,
real(wp), dimension(nlayer), intent(in)  thick,
real(wp), dimension(nlayer), intent(in)  S_bu,
real(wp), dimension(nlayer), intent(in)  psi_s,
real(wp), dimension(nlayer), intent(in)  psi_l,
real(wp), dimension(nlayer), intent(in)  psi_g 
)

Output for debugging purposes.

Data for each layer is written out each time step to aid in finding errors or understanding model behavior.

Revision History
created by Philipp Griewank, IMPRS (2010-10-11)
subroutine, public mo_output::output_raw_lay ( integer, intent(in)  Nlayer,
integer, intent(in)  N_active,
real(wp), dimension(nlayer), intent(in)  H_abs,
real(wp), dimension(nlayer), intent(in)  m,
real(wp), dimension(nlayer), intent(in)  S_abs,
real(wp), dimension(nlayer), intent(in)  thick,
character*6, intent(in)  string 
)

Output for debugging layer dynamics..

Is used when debug_flag = 2 to track when which layer dynamics occur (see mo_layer_dynamics).

subroutine, public mo_output::output_raw_snow ( real(wp), intent(in)  time,
real(wp), intent(in)  T_snow,
real(wp), intent(in)  thick_snow,
real(wp), intent(in)  S_abs_snow,
real(wp), intent(in)  m_snow,
real(wp), intent(in)  psi_s_snow,
real(wp), intent(in)  psi_l_snow,
real(wp), intent(in)  psi_g_snow 
)

Output for debugging purposes.

Data of snow layer is written out at each time step to aid in finding errors or understanding model behavior.

Revision History
created by Philipp Griewank, IMPRS (2010-10-11)
subroutine, public mo_output::output_settings ( character*12000, intent(in)  description,
integer, intent(in)  testcase,
integer, intent(in)  N_top,
integer, intent(in)  N_bottom,
integer, intent(in)  Nlayer,
real(wp), intent(in)  fl_q_bottom,
real(wp), intent(in)  T_bottom,
real(wp), intent(in)  S_bu_bottom,
real(wp), intent(in)  thick_0,
real(wp), intent(in)  time_out,
real(wp), intent(in)  time_total,
real(wp), intent(in)  dt,
integer, intent(in)  boundflux_flag,
integer, intent(in)  atmoflux_flag,
integer, intent(in)  albedo_flag,
integer, intent(in)  grav_flag,
integer, intent(in)  flush_flag,
integer, intent(in)  flood_flag,
integer, intent(in)  grav_heat_flag,
integer, intent(in)  flush_heat_flag,
integer, intent(in)  harmonic_flag,
integer, intent(in)  prescribe_flag,
integer, intent(in)  salt_flag,
integer, intent(in)  turb_flag,
integer, intent(in)  bottom_flag,
integer, intent(in)  tank_flag,
integer, intent(in)  precip_flag,
integer, intent(in)  bgc_flag,
integer, intent(in)  N_bgc,
real(wp), intent(in)  k_snow_flush 
)

Settings output.

Writes important values to latter identify run.

Revision History
created by Philipp Griewank, IMPRS (2011-02-12)
Parameters
[in]descriptionNiels, 2017