39 real(c_double) ,
intent(inout) :: hofx(:)
41 character(len=*),
parameter :: myname_=
"ufo_seasurfacetemp_simobs" 42 character(max_string) :: err_msg
48 character(len=120) :: filename=
"sst_obs-2018-04-15_geovals.nc" 49 integer(kind=4) :: incid
50 integer(kind=4) :: idimstation_id, idimlev_id
51 integer(kind=4) :: ivarlev_id, ivargom_id
57 if (geovals%nobs /=
size(hofx,1))
then 58 write(err_msg,*) myname_,
' error: nobs inconsistent!' 59 call abor1_ftn(err_msg)
66 filename=
'sst-test.nc' 67 call sst_out%init(
size(hofx,1),filename)
70 do iobs = 1,
size(hofx,1)
71 hofx(iobs) = geoval_sst%vals(1,iobs)
74 sst_out%diag(iobs)%Station_ID = 9999
75 sst_out%diag(iobs)%Observation_Type = 999.9
76 sst_out%diag(iobs)%Latitude = 999.9
77 sst_out%diag(iobs)%Longitude = 999.9
78 sst_out%diag(iobs)%Depth = 999.9
79 sst_out%diag(iobs)%Time = 999.9
80 sst_out%diag(iobs)%Observation = 999.9
81 sst_out%diag(iobs)%Obs_Minus_Forecast = 999.9
84 call sst_out%write_diag()
86 call sst_out%finalize()
character(len=maxvarlen), public var_ocn_sst
Fortran module to handle temperature profile observations.
Fortran module to handle ice concentration observations.
subroutine, public ufo_geovals_get_var(self, varname, geoval, status)
integer, parameter max_string
type to hold interpolated fields required by the obs operators
subroutine, public ufo_seasurfacetemp_simobs(self, geovals, hofx)
Fortran derived type for sea surface temperature observation operator.
type to hold interpolated field for one variable, one observation