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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name_cons | |||
| character(len=*), | intent(in) | :: | name_prim | |||
| integer, | intent(in), | optional | :: | ix |
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