modmet_c_bindings Module


Uses

  • module~~modmet_c_bindings~~UsesGraph module~modmet_c_bindings modmet_c_bindings iso_c_binding iso_c_binding module~modmet_c_bindings->iso_c_binding module~m_modmet_flxln2 m_modmet_flxln2 module~modmet_c_bindings->module~m_modmet_flxln2 module~m_modmet_fpsim m_modmet_fpsim module~modmet_c_bindings->module~m_modmet_fpsim module~m_modmet_lusthov m_modmet_lusthov module~modmet_c_bindings->module~m_modmet_lusthov module~m_modmet_tst m_modmet_tst module~modmet_c_bindings->module~m_modmet_tst module~m_modnet_z0corr m_modnet_z0corr module~modmet_c_bindings->module~m_modnet_z0corr module~modmet modmet module~modmet_c_bindings->module~modmet module~m_modmet_flxln2->module~m_modmet_fpsim module~m_modmet_flxln2->module~m_modmet_tst module~m_modmet_find_zero m_modmet_find_zero module~m_modmet_flxln2->module~m_modmet_find_zero module~m_modmet_helpers m_modmet_helpers module~m_modmet_flxln2->module~m_modmet_helpers module~m_modmet_obuk m_modmet_obuk module~m_modmet_flxln2->module~m_modmet_obuk module~m_modmet_radiat m_modmet_radiat module~m_modmet_flxln2->module~m_modmet_radiat module~modmet_constants modmet_constants module~m_modmet_flxln2->module~modmet_constants module~m_modmet_fpsim->module~modmet_constants module~m_modmet_lusthov->module~m_modmet_flxln2 module~m_modmet_lusthov->module~m_modmet_helpers module~m_modmet_sunhgh m_modmet_sunhgh module~m_modmet_lusthov->module~m_modmet_sunhgh module~m_modmet_lusthov->module~modmet_constants module~m_modmet_tst->module~modmet_constants module~m_modnet_z0corr->module~m_modmet_fpsim module~m_modnet_z0corr->module~m_modmet_find_zero module~m_modnet_z0corr->module~modmet_constants module~modmet->module~m_modmet_flxln2 module~modmet->module~m_modmet_fpsim module~modmet->module~m_modmet_lusthov module~modmet->module~m_modmet_tst module~m_modmet_cloud_fraction m_modmet_cloud_fraction module~modmet->module~m_modmet_cloud_fraction module~modmet->module~m_modmet_find_zero module~modmet->module~m_modmet_helpers module~modmet->module~m_modmet_obuk module~modmet->module~m_modmet_radiat module~modmet->module~m_modmet_sunhgh module~modmet->module~modmet_constants module~modmet_version modmet_version module~modmet->module~modmet_version module~m_modmet_cloud_fraction->module~modmet_constants module~m_modmet_find_zero->module~modmet_constants module~m_modmet_helpers->module~modmet_constants module~m_modmet_obuk->module~modmet_constants module~m_modmet_radiat->module~m_modmet_helpers module~m_modmet_radiat->module~modmet_constants module~m_modmet_sunhgh->module~modmet_constants iso_fortran_env iso_fortran_env module~modmet_constants->iso_fortran_env

Functions

public function modmet_obuk_c(ust, tst) result(ol) bind(C, name="modmet_obuk_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: ust
real(kind=c_double), intent(in), value :: tst

Return Value real(kind=c_double)

public function modmet_sunhgh_c(lat, lon, mt, dy, hr, mn) result(sinphi) bind(C, name="modmet_sunhgh_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: lat
real(kind=c_double), intent(in), value :: lon
integer(kind=c_int), intent(in), value :: mt
integer(kind=c_int), intent(in), value :: dy
integer(kind=c_int), intent(in), value :: hr
integer(kind=c_int), intent(in), value :: mn

Return Value real(kind=c_double)

public function modmet_cloud_fraction_c(lat, lon, jcm2, mt, dy, hr) result(cloud_fraction) bind(C, name="modmet_cloud_fraction_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: lat
real(kind=c_double), intent(in), value :: lon
real(kind=c_double), intent(in), value :: jcm2
integer(kind=c_int), intent(in), value :: mt
integer(kind=c_int), intent(in), value :: dy
integer(kind=c_int), intent(in), value :: hr

Return Value real(kind=c_double)

public function modmet_fpsim_c(eta) result(fpsim_value) bind(C, name="modmet_fpsim_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: eta

Return Value real(kind=c_double)

public function modmet_fpsim_holtslag_c(z, ol) result(fpsim_value) bind(C, name="modmet_fpsim_holtslag_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: z
real(kind=c_double), intent(in), value :: ol

Return Value real(kind=c_double)


Subroutines

public subroutine modmet_version_c(buffer, buffer_len, out_len) bind(C, name="modmet_version_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: buffer
integer(kind=c_int), intent(in), value :: buffer_len
integer(kind=c_int), intent(out) :: out_len

public subroutine modmet_tst_c(ust, t, qsti, tst, qst) bind(C, name="modmet_tst_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: ust
real(kind=c_double), intent(in), value :: t
real(kind=c_double), intent(in), value :: qsti
real(kind=c_double), intent(out) :: tst
real(kind=c_double), intent(out) :: qst

public subroutine modmet_flxln2_c(u1, u2, zu1, zu2, t, cloud_fraction, sinphi, kin, ust, ol, kin_out, tau, h, le) bind(C, name="modmet_flxln2_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: u1
real(kind=c_double), intent(in), value :: u2
real(kind=c_double), intent(in), value :: zu1
real(kind=c_double), intent(in), value :: zu2
real(kind=c_double), intent(in), value :: t
real(kind=c_double), intent(in), value :: cloud_fraction
real(kind=c_double), intent(in), value :: sinphi
real(kind=c_double), intent(in), value :: kin
real(kind=c_double), intent(out) :: ust
real(kind=c_double), intent(out) :: ol
real(kind=c_double), intent(out) :: kin_out
real(kind=c_double), intent(out) :: tau
real(kind=c_double), intent(out) :: h
real(kind=c_double), intent(out) :: le

public subroutine modmet_lusthov_c(mt, dy, hr, mn, lat, lon, kin, z0, zra, u_zra, t, cloud_fraction, ust, ol, kin_out, h, evap, tst, qst) bind(C, name="modmet_lusthov_c")

Arguments

Type IntentOptional Attributes Name
integer(kind=c_int), intent(in), value :: mt
integer(kind=c_int), intent(in), value :: dy
integer(kind=c_int), intent(in), value :: hr
integer(kind=c_int), intent(in), value :: mn
real(kind=c_double), intent(in), value :: lat
real(kind=c_double), intent(in), value :: lon
real(kind=c_double), intent(in), value :: kin
real(kind=c_double), intent(in), value :: z0
real(kind=c_double), intent(in), value :: zra
real(kind=c_double), intent(in), value :: u_zra
real(kind=c_double), intent(in), value :: t
real(kind=c_double), intent(in), value :: cloud_fraction
real(kind=c_double), intent(out) :: ust
real(kind=c_double), intent(out) :: ol
real(kind=c_double), intent(out) :: kin_out
real(kind=c_double), intent(out) :: h
real(kind=c_double), intent(out) :: evap
real(kind=c_double), intent(out) :: tst
real(kind=c_double), intent(out) :: qst

public subroutine modmet_solve_z0_corr_c(z0_in, z0_lu, ol_old, ust_old, max_iter, tol, min_change, ol_new, ust_new) bind(C, name="modmet_solve_z0_corr_c")

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in), value :: z0_in
real(kind=c_double), intent(in), value :: z0_lu
real(kind=c_double), intent(in), value :: ol_old
real(kind=c_double), intent(in), value :: ust_old
integer(kind=c_int), intent(in), value :: max_iter
real(kind=c_double), intent(in), value :: tol
real(kind=c_double), intent(in), value :: min_change
real(kind=c_double), intent(out) :: ol_new
real(kind=c_double), intent(out) :: ust_new