@@ -2156,19 +2156,20 @@ subroutine read_obs_sm_CYGNSS( &
21562156
21572157 !- --------------------------------------------------------------------
21582158 !
2159- ! Routine to read in CYGNSS soil moisture obs from netCDF files and apply mask.
2159+ ! Routine to read CYGNSS soil moisture obs from netCDF file and apply mask.
21602160 ! https://podaac.jpl.nasa.gov/dataset/CYGNSS_L3_SOIL_MOISTURE_V3.2
2161- ! CYGNSS soil moisture obs are in volumetric units (m3 m-3) with a spatial
2162- ! resolution of 0.3 Decimal Degrees x 0.37 Decimal Degrees.
2163- ! They are daily files containing daily (obs_param_nml(.)%descr = CYGNSS_SM_daily)
2164- ! and subdaily SM estimates (obs_param_nml(.)%descr = CYGNSS_SM_6hr). The
2165- ! subdaily values are for 6 hr time intervals, 0-6hr, 6-12hr, 12-18hr, 18-24hr.
2166- ! The subdaily values are assimilated at 3z, 9z, 15z, 21z. If the assimilation
2167- ! window is more than 6 hr the code will error out. The daily values are assimilated
2168- ! at 12z. The assumption is that either the daily or subdaily values are assimilated,
2169- ! but the code will assimilate both if in the nml.
2170- !
2171- ! A. Fox, Jan 2025
2161+ ! CYGNSS soil moisture obs are in volumetric units (m3 m-3) on the
2162+ ! 36-km EASEv2 global cylindrical grid.
2163+ ! Obs are in files containing daily (obs_param_nml(.)%descr = CYGNSS_SM_daily)
2164+ ! and subdaily SM estimates (obs_param_nml(.)%descr = CYGNSS_SM_6hr).
2165+ ! Daily values are for 0-24z and assimilated at 12z.
2166+ ! Subdaily values are for 6 hr time intervals, 0-6z, 6-12z, 12-18z, and 18-24z
2167+ ! and assimilated at 3z, 9z, 15z, 21z.
2168+ ! Assimilation window must not be longer than 6 hours.
2169+ ! Subroutine read_ens_upd_inputs() ensures that only daily *or* subdaily
2170+ ! obs are assimilated.
2171+ !
2172+ ! A. Fox, reichle, Jan 2025
21722173 !
21732174 ! --------------------------------------------------------------------
21742175
@@ -2265,6 +2266,13 @@ subroutine read_obs_sm_CYGNSS( &
22652266 if ( datetime_lt_refdatetime(date_time, date_time_obs_beg) .or. &
22662267 datetime_lt_refdatetime(date_time_obs_end, date_time) ) return
22672268
2269+ ! make sure assimilation window is no longer than 6 hours
2270+
2271+ if (dtstep_assim> 6 * 60 * 60 ) then
2272+ err_msg = ' dtstep_assim too long for CYGNSS soil moisture obs'
2273+ call ldas_abort(LDAS_GENERIC_ERROR, Iam, err_msg)
2274+ end if
2275+
22682276 ! determine if reading daily or subdaily obs
22692277
22702278 if (trim (this_obs_param% descr) == ' CYGNSS_SM_daily' ) then
0 commit comments