10 use fckit_configuration_module,
only: fckit_configuration
18 use missing_values_mod
41 type(fckit_configuration),
intent(in) :: f_conf
59 real(kind_real),
intent(inout) :: hofx(:)
60 type(c_ptr),
value,
intent(in) :: obss
62 character(len=*),
parameter :: myname_=
"ufo_coolskin_simobs"
63 character(max_string) :: err_msg
64 type(
ufo_geoval),
pointer :: S_ns,H_I,H_s,R_nl,Td,u
67 real(c_double) :: missing
68 real(kind_real) :: dTc
71 missing = missing_value(missing)
74 obss_nlocs = obsspace_get_nlocs(obss)
77 if (geovals%nlocs /=
size(hofx,1))
then
78 write(err_msg,*) myname_,
' error: nobs inconsistent!'
79 call abor1_ftn(err_msg)
92 do iobs = 1, obss_nlocs
Fortran coolskin module for observation operator.
subroutine ufo_coolskin_delete(self)
subroutine ufo_coolskin_setup(self, f_conf)
subroutine ufo_coolskin_simobs(self, geovals, hofx, obss)
integer, parameter max_string
subroutine, public ufo_coolskin_sim(Ts, dTc, S_ns, H_I, H_s, R_nl, Tdc, u0)
subroutine, public ufo_geovals_get_var(self, varname, geoval)
character(len=maxvarlen), public var_sens_heat
character(len=maxvarlen), public var_latent_heat
character(len=maxvarlen), public var_lw_rad
character(len=maxvarlen), public var_sw_rad
character(len=maxvarlen), public var_ocn_sst
character(len=maxvarlen), parameter, public var_sea_fric_vel
Fortran derived type for the observation type.
type to hold interpolated field for one variable, one observation
type to hold interpolated fields required by the obs operators