var dateStr = '2023010100'; var velocity = ee.Image('HYCOM/sea_water_velocity/' + dateStr);
// var projection = velocity.select('velocity_u_0').projection(); // var nominalScale = projection.nominalScale();
// print('Nominal scale (in meters):', nominalScale);
// 1. 加载指定日期的速度数据 // var date = '2023-01-01'; // var velocity = ee.Image('HYCOM/sea_water_velocity/' + date).divide(1000);
// 2. 提取 u 和 v 的分量 var u = velocity.select('velocity_u_0'); var v = velocity.select('velocity_v_0');
// 3. 计算偏导数 var dudx = u.gradient().select('x'); var dvdx = v.gradient().select('x'); var dudy = u.gradient().select('y'); var dvdy = v.gradient().select('y');
// 4. 使用上述的旋度公式 var vorticity = dvdx.subtract(dudy);
// 定义2023年1月的日期范围 var startDate = ee.Date('2023-01-01'); var endDate = ee.Date('2023-01-7');
// 从HYCOM数据集中加载2023年1月份的所有数据 var januaryCollection = ee.ImageCollection('HYCOM/sea_water_velocity') .filterDate(startDate, endDate);
// 使用map函数计算每天的涡度(Enstrophy) var enstrophyCollection = januaryCollection.map(function(image) { var u = image.select('velocity_u_0'); var v = image.select('velocity_v_0'); var dudx = u.gradient().select('x'); var dvdx = v.gradient().select('x'); var dudy = u.gradient().select('y'); var dvdy = v.gradient().select('y'); var vorticity = dvdx.subtract(dudy); return vorticity.pow(2).multiply(0.5); });
// 计算2023年1月份的涡度(Enstrophy)均值 var meanEnstrophy = enstrophyCollection.mean();
// 对均值进行对数变换,避免对数0的情况,通常会加上一个小的值 var logMeanEnstrophy = meanEnstrophy.add(1e-10).log();
// 定义2023年1月的日期范围 var startDate = '2023-01-01'; var endDate = '2023-01-31';
// 获取该日期范围内的速度数据集 var velocityCollection = ee.ImageCollection('HYCOM/sea_water_velocity') .filterDate(startDate, endDate);
// 使用map函数来为每一天计算动能 (KE) var keCollection = velocityCollection.map(function(image) { var u = image.select('velocity_u_0'); var v = image.select('velocity_v_0');
// 计算 KE return u.pow(2).add(v.pow(2)).multiply(0.5); });
// 计算整月的KE均值 var monthlyMeanKE = keCollection.mean();
// 定义要计算均值的区域,例如全球范围 var globalRegion = ee.Geometry.Rectangle([-180, -90, 180, 90]);
// 打印统计信息 print('Global Average KE for January 2023:', globalAverageKE);
// 在地图上显示月均值的KE var logmonthlyMeanKE = monthlyMeanKE.add(1e-10).log(); var keViz = {min: 10, max: 15, palette: ['blue', 'green', 'red']}; Map.addLayer(logmonthlyMeanKE, keViz, 'Monthly Mean KE January 2023');