var_set_extravar Function

public function var_set_extravar(name_cons, name_prim, ix) result(iw)

Set extra variable in w, which is not advected and has no boundary conditions. This has to be done after defining flux variables and auxiliary variables.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name_cons
character(len=*), intent(in) :: name_prim
integer, intent(in), optional :: ix

Return Value integer


Calls

proc~~var_set_extravar~~CallsGraph proc~var_set_extravar var_set_extravar proc~errormsg errormsg proc~var_set_extravar->proc~errormsg

Called by

proc~~var_set_extravar~~CalledByGraph proc~var_set_extravar var_set_extravar proc~phys_init~3 phys_init proc~phys_init~3->proc~var_set_extravar proc~phys_activate~3 phys_activate proc~phys_activate~3->proc~phys_init~3

Source Code

  function var_set_extravar(name_cons, name_prim, ix) result(iw)
    character(len=*), intent(in)  :: name_cons, name_prim
    integer, intent(in), optional :: ix
    integer                       :: iw

    nwextra = nwextra + 1
    nw      = nw + 1
    iw      = nw
    if (nwextra > max_nw) then
      call errormsg("var_set_extravar: nwextra exceeds max_nw; raise max_nw &
         &in mod_variables")
    else
      iw_extra(nwextra) = iw
    end if

    if (.not. present(ix)) then
      prim_wnames(iw) = name_cons
      cons_wnames(iw) = name_prim
    else
      write(cons_wnames(iw),"(A,I0)") name_cons, ix
      write(prim_wnames(iw),"(A,I0)") name_prim, ix
   end if
   
  end function var_set_extravar