What month has most rain?
Step 1: import the chirps data
Step 2: Set the date variables
// set start and end year var startyear = 2000; var endyear = 2014; // make a date object var startdate = ee.Date.fromYMD(startyear, 1, 1); var enddate = ee.Date.fromYMD(endyear + 1, 1, 1); // make a list with years var years = ee.List.sequence(startyear, endyear); // make a list with months var months = ee.List.sequence(1, 12);
Step 3: Set the geography
// Specify Country names var country_names = ['Indonesia']; // Get the country boundaries var countries = ee.FeatureCollection('ft:1tdSwUL7MVpOauSgRzqVTOwdfy17KDbw-1d9omPw'); // Filter for country var Indonesia = countries.filter(ee.Filter.inList('Country', country_names)); // Get the geometry var Indonesia = Indonesia.geometry();
Step 4: Calculate monthly precipitation
var monthlyPrecip = ee.ImageCollection.fromImages( years.map(function (y) { return months.map(function(m) { var w = chirps.filter(ee.Filter.calendarRange(y, y, 'year')) .filter(ee.Filter.calendarRange(m, m, 'month')) .sum(); return w.set('year', y) .set('month', m) .set('system:time_start', ee.Date.fromYMD(y, m, 1)); }); }).flatten() );
Step 5: Calculate monthly precipitation
var meanMonthlyP = ee.ImageCollection.fromImages( months.map(function (m) { var w = monthlyPrecip.filter(ee.Filter.eq('month', m)).mean(); return w.set('month', m) .set('system:time_start',ee.Date.fromYMD(1, m, 1)); }).flatten() );
Step 5: Calculate monthly precipitation
var meanMonthlyP = ee.ImageCollection.fromImages( months.map(function (m) { var w = monthlyPrecip.filter(ee.Filter.eq('month', m)).mean(); return w.set('month', m) .set('system:time_start',ee.Date.fromYMD(1, m, 1)); }).flatten() );
Step 6: Create and plot the chart
var title = { title: 'Monthly precipitation', hAxis: {title: 'Time'}, vAxis: {title: 'Precipitation (mm)'}, }; var chartMonthly = ui.Chart.image.seriesByRegion({ imageCollection: meanMonthlyP, regions: Indonesia, reducer: ee.Reducer.mean(), band: 'precipitation', scale: 2500, xProperty: 'system:time_start', seriesProperty: 'SITE' }).setOptions(title) .setChartType('ColumnChart'); print(chartMonthly);
See an example here
It seems the x axis or years are 1901 onwards though the datasets are from 2000 onwards, am I missing something here?
Its monthly rainfall related to the period 2000 – 2014.
the statement in step 5 results in the startdate of 1901 (.set(‘system:time_start’,ee.Date.fromYMD(1, m, 1));)
you e.g. change it to the year 2000: (.set(‘system:time_start’,ee.Date.fromYMD(2000, m, 1));)
Hello sir,
After I change from 1 to 2000,2001,2002…. but the results are always the same. I have something wrong?
Thank a lot sir
can you share ur code?
mine also shows same result for different year generated same .
that is correct. You can filter by year to get montly rainfall for a specific month within a year..
Hi, do you have any example on how to do monthly rainfall anomaly calculation using chirps daily data?
Lets say the step to be done is below:
– Calculate monthly long-term average (LTA) using data from 1981 – 2017 as base period
– Calculate monthly accumulation for Jan 2018 (example)
– Calculate rainfall anomaly for Jan 2018 by dividing Rainfall Jan 2018 with LTA Jan
I run the example code but it appears: Error generating chart: Collection.loadTable: Collection asset ‘ft:1tdSwUL7MVpOauSgRzqVTOwdfy17KDbw-1d9omPw’ not found. What’s wrong? Can anyone tell me please
ft:1tdSwUL7MVpOauSgRzqVTOwdfy17KDbw-1d9omPw not work any more
yes. fusion tables are not supported anymore
Is there a script for monthly windspeed data as well?
I would really appreciate that.
Am developing a model that requires mean monthly wind speed data.