def test_convert_file_to_be_cf_compliant_new_format_comid_lat_lon_z(): """ Test Convert RAPID Output to be CF Compliant for new format with COMID_LAT_LON_Z """ print( "TEST 8: TEST CONVERT RAPID OUTPUT TO CF COMPLIANT (COMID_LAT_LON_Z)") input_qout_file = os.path.join(COMPARE_DATA_PATH, 'Qout_nasa_lis_3hr_20020830.nc') temp_qout_file = os.path.join( OUTPUT_DATA_PATH, 'Qout_nasa_lis_3hr_20020830_test_cf_lat_lon_z.nc') copy(input_qout_file, temp_qout_file) rapid_manager = RAPID(rapid_executable_location=RAPID_EXE_PATH, cygwin_bin_location=CYGWIN_BIN_PATH, Qout_file=temp_qout_file, rapid_connect_file=os.path.join( INPUT_DATA_PATH, 'rapid_connect.csv'), ZS_TauR=3 * 3600) rapid_manager.make_output_cf_compliant( simulation_start_datetime=datetime(2002, 8, 30), comid_lat_lon_z_file=os.path.join(INPUT_DATA_PATH, 'comid_lat_lon_z.csv'), project_name= "ERA Interim (T511 Grid) 3 Hourly Runoff Based Historical flows by US Army ERDC" ) cf_qout_file_solution = os.path.join(COMPARE_DATA_PATH, 'Qout_nasa_lis_3hr_20020830_CF.nc') #check Qout assert (compare_qout_files(temp_qout_file, cf_qout_file_solution)) #check other info in netcdf file d1 = Dataset(temp_qout_file) d2 = Dataset(cf_qout_file_solution) # MPG: new dimensions have been introduced in RAPID. We only test for those # included in the original benchmarks. for dim in ['time', 'rivid']: assert (dim in d1.dimensions.keys()) # MPG: new variables have been introduced in RAPID. We only test for those # included in the original benchmarks. for v in [u'Qout', u'rivid', u'time', u'lon', u'lat', u'crs']: assert (v in d1.variables.keys()) assert ((d1.variables['time'][:] == d2.variables['time'][:]).all()) assert ((d1.variables['rivid'][:] == d2.variables['rivid'][:]).all()) assert ((d1.variables['lat'][:] == d2.variables['lat'][:]).all()) assert ((d1.variables['lon'][:] == d2.variables['lon'][:]).all()) d1.close() d2.close() remove_files(temp_qout_file)
def test_convert_file_to_be_cf_compliant_original_format(): """ Test Convert RAPID Output to be CF Compliant for original format """ print( "TEST 10: TEST CONVERT RAPID OUTPUT TO CF COMPLIANT - ORIGINAL (COMID_LAT_LON_Z)" ) input_qout_file = os.path.join(COMPARE_DATA_PATH, 'Qout_nasa_lis_3hr_20020830_original.nc') temp_qout_file = os.path.join( OUTPUT_DATA_PATH, 'Qout_nasa_lis_3hr_20020830_original_test_cf.nc') copy(input_qout_file, temp_qout_file) rapid_manager = RAPID(rapid_executable_location=RAPID_EXE_PATH, cygwin_bin_location=CYGWIN_BIN_PATH, Qout_file=temp_qout_file, rapid_connect_file=os.path.join( INPUT_DATA_PATH, 'rapid_connect.csv'), ZS_TauR=3 * 3600) rapid_manager.make_output_cf_compliant( simulation_start_datetime=datetime(2002, 8, 30), comid_lat_lon_z_file=os.path.join(INPUT_DATA_PATH, 'comid_lat_lon_z.csv'), project_name= "ERA Interim (T511 Grid) 3 Hourly Runoff Based Historical flows by US Army ERDC" ) cf_qout_file_solution = os.path.join(COMPARE_DATA_PATH, 'Qout_nasa_lis_3hr_20020830_CF.nc') #check Qout assert (compare_qout_files(temp_qout_file, cf_qout_file_solution)) #check other info in netcdf file d1 = Dataset(temp_qout_file) d2 = Dataset(cf_qout_file_solution) assert (d1.dimensions.keys() == d2.dimensions.keys()) assert (d1.variables.keys() == d2.variables.keys()) assert ((d1.variables['time'][:] == d2.variables['time'][:]).all()) assert ((d1.variables['rivid'][:] == d2.variables['rivid'][:]).all()) assert ((d1.variables['lat'][:] == d2.variables['lat'][:]).all()) assert ((d1.variables['lon'][:] == d2.variables['lon'][:]).all()) d1.close() d2.close() remove_files(temp_qout_file)