User-supplied subroutine for evaluating the model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
integer, | intent(in) | :: | m | |||
integer, | intent(in) | :: | q | |||
integer, | intent(in) | :: | np | |||
integer, | intent(in) | :: | ldifx | |||
real(kind=dp), | intent(in) | :: | beta(np) | |||
real(kind=dp), | intent(in) | :: | xplusd(n,m) | |||
integer, | intent(in) | :: | ifixb(np) | |||
integer, | intent(in) | :: | ifixx(ldifx,m) | |||
integer, | intent(in) | :: | ideval | |||
real(kind=dp), | intent(out) | :: | f(n,q) | |||
real(kind=dp), | intent(out) | :: | fjacb(n,np,q) | |||
real(kind=dp), | intent(out) | :: | fjacd(n,m,q) | |||
integer, | intent(out) | :: | istop | |||
type(c_ptr), | intent(in), | value | :: | data |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public | :: | uout | ||||
integer, | public | :: | i |
pure subroutine fcn( & n, m, q, np, ldifx, beta, xplusd, ifixb, ifixx, ideval, f, fjacb, fjacd, istop, data) !! User-supplied subroutine for evaluating the model. integer, intent(in) :: n, m, q, np, ldifx, ideval, ifixb(np), ifixx(ldifx, m) real(dp), intent(in) :: beta(np), xplusd(n, m) real(dp), intent(out) :: f(n, q), fjacb(n, np, q), fjacd(n, m, q) integer, intent(out) :: istop type(c_ptr), intent(in), value :: data ! Local variables real(dp) :: uout integer :: i istop = 0 fjacb = zero fjacd = zero if (mod(ideval, 10) > 0) then do i = 1, ubound(f, 1) f(i, 1) = 1440.0_dp call mpf(uout, xplusd(i, 1), beta(1), beta(2), beta(3), zero, f(i, 1), xplusd(i, 1)/2) end do end if end subroutine fcn