22 use mo_kind,
only : i4, dp
24 use mo_netcdf,
only : ncdataset, ncvariable
30 use mo_string_utils,
only : num2str
51 integer(i4),
intent(in) :: idomain
52 logical,
intent(in),
pointer,
dimension(:, :) :: mask
56 integer(i4) :: ii, ncells
58 character(16),
dimension(3) :: dims
59 type(
outputvariable),
dimension(size(outputFlxState_mrm)) :: tmpvars
71 ncells =
level11(idomain)%nCells
87 allocate(out%vars(ii))
88 out%vars = tmpvars(1:ii)
120 real(dp),
intent(in),
dimension(:) :: L11_Qmod
121 real(dp),
intent(in),
dimension(:),
optional :: L11_riv_temp
132 call vars(ii)%updateVariable(l11_qmod)
137 call vars(ii)%updateVariable(l11_riv_temp)
152 integer(i4),
intent(in) :: idomain
153 logical,
intent(in),
target,
dimension(:, :) :: mask
157 integer(i4) :: ncells
158 character(3) :: dtype
159 character(16),
dimension(3) :: dims
164 file_name=
'mRM_riverhead_' // trim(num2str(idomain,
'(i3.3)')) //
'.nc', &
165 double_precision=output_double_precision_mrm, &
166 outputs_frequence=timestep_model_outputs_mrm, &
167 time_reference=output_time_reference_mrm &
169 dtype =
data_dtype(output_double_precision_mrm)
171 ncells =
level0(idomain)%nCells
173 allocate(out%vars(1))
174 out%vars(1) =
outputvariable(out%nc,
"riverhead", dtype, dims, ncells, mask, output_deflate_level_mrm, .true.)
175 call set_attributes(out%vars(1)%nc,
"simulated riverhead at each node at level 0",
"m", output_double_precision_mrm)
191 real(dp),
intent(in),
dimension(:) :: L0_river_head
196 call vars(1)%updateVariable(l0_river_head)
Provides constants commonly used by mHM, mRM and MPR.
real(dp), parameter, public nodata_dp
Provides structures needed by mHM, mRM and/or mpr.
integer(i4), public timestep
Provides structures needed by mHM, mRM and/or mpr.
integer(i4), public iflag_cordinate_sys
type(grid), dimension(:), allocatable, target, public level0
Provides file names and units for mRM.
character(len=*), parameter file_mrm_output
file containing mrm output
Global variables for mRM only.
logical output_double_precision_mrm
float precision in output nc files
type(riv_temp_type), public riv_temp_pcs
This is a container for the river temperature routing process (pcs)
integer(i4) output_time_reference_mrm
time reference point location in output nc files
logical, dimension(noutflxstate) outputflxstate_mrm
Define model outputs see "mhm_outputs.nml".
type(grid), dimension(:), allocatable, target, public level11
integer(i4) timestep_model_outputs_mrm
timestep for writing model outputs
integer(i4) output_deflate_level_mrm
compression of output nc files
Creates NetCDF output for different fluxes and state variables of mHM.
subroutine mrm_updatedataset(nc_mrm, l11_qmod, l11_riv_temp)
Update all variables.
type(outputdataset) function gw_outputdataset(idomain, mask)
Initialize groundwater coupling OutputDataset.
subroutine gw_updatedataset(nc_gw, l0_river_head)
Update riverhead.
type(outputdataset) function mrm_outputdataset(idomain, mask)
Initialize mRM OutputDataset.
Creates NetCDF output for different fluxes and state variables of mHM.
character(16) function, dimension(3), public data_dims()
Output variable dimension names.
character(3) function, public data_dtype(double_precision)
Output variable dtype for single or double precision.
subroutine, public set_attributes(var, long_name, unit, double_precision, add_coords, standard_name, axis, bounds)
Write output variable attributes.