subject

Now it’s time to generate some weather! Imagine you are a farmer. Does knowing the number of wet or dry days tell the whole story? Would the pattern
be important? If so, what pattern would you like to see? How would you measure this pattern?

The transition probabilities that we have used for Norman, OK are based on historical data, and you might
use them to get a sense for the likelihood certain weather phenomena in the near future. For instance, a
farmer might want to run many, many simulations to get an idea of the likelihood of going 20 or more days
without rain, and the results might influence the crops that he or she plants.

Just as we can base the transition probabilities on historical data, we can also base them on future predictions.
For instance, the National Center for Atmospheric Research (NCAR) simulates weather as it responds to assumptions
about how various “forcings” (e. g, greenhouse gasses) will evolve in the future. Typically, these models couple
an atmospheric model with an ocean model, but more recent versions, the so-called Earth system models, incorporate
more components including land use, sea and land ice, etc. The models can be used to predict future precipitation
patterns and transition probabilities that are based on these forecasts, rather than past data.

The weather generator methods you will be writing for this assignment will:

predict future precipitation pattern for one month: oneMonthGenerator
find the number of wet or dry days in a given month’s forecast: numberOfWetDryDays
find the longest wet or dry spell in a given month’s forecast:

Future transition probability table as a 2D array

The oneMonthGenerator method receives as arguments the transition probability tables (dry to wet, and wet to wet) as 2D arrays.
Each table row corresponds to a location (longitude, latitude) in the USA and contains the transition probabilities
for each month of the year.

Longitude Latitude January February March April May June July August September October November December
-97.58 26.02 0.76 0.75 0.77 0.74 0.80 0.86 0.94 0.97 0.89 0.77 0.74 0.77

Following are the methods to be completed in WeatherGenerator. java:

public class WeatherGenerator {

/* Given a location (longitude, latitude) in the USA and a month of the year, the method
* returns the forecast for the month based on the drywet and wetwet transition
* probabilities tables.
*
* month will be a value between 2 and 13: 2 corresponds to January, 3 corresponds to February
* and so on. These are the column indexes of each month in the transition probabilities tables.
*
* The first day of the month has a 50% chance to be a wet day, 0-0.49 (wet), 0.50-0.99 (dry)
*
* Use StdRandom. uniform() to generate a real number uniformly in [0,1)
*/
int[] oneMonthGenerator(double longitute, double latitude, int month, double[][] drywet, double[][] wetwet)

// Returns the longest number of consecutive mode (WET or DRY) days in forecast.
int numberOfWetDryDays (int[] forecast, int mode)

/*
* Analyzes the forecast array and returns the longest number of
* consecutive mode (which can be WET or DRY) days in forecast.
*/
int (int[] forecast, int mode)
}

Use the main method as a driver to test your methods. To generate the weather for location at longitude -98.76 and latitude 26.70 for the month of February do:

java WeatherGenerator111 -98.76 26.70 3

public static void main (String[] args) {

int numberOfRows = 4001; // Total number of locations
int numberOfColumns = 14; // Total number of 14 columns in file
// File format: longitude, latitude, 12 months of transition probabilities

// Allocate and populate arrays that hold the transition probabilities
double[][] drywet = new double[numberOfRows][numberOfColumn s];
double[][] wetwet = new double[numberOfRows][numberOfColumn s];
(drywet, wetwet, numberOfRows);

/*** WRITE YOUR CODE BELLOW THIS LINE. DO NOT erase any of the lines above. ***/

// Read command line inputs
double longitute = Double. parseDouble(args[0]);
double latitude = Double. parseDouble(args[1]);
int month = Integer. parseInt(args[2]);

int[] forecast = oneMonthGenerator(longitute, latitude, month, drywet, wetwet);
int drySpell = lengthOfLongestSpell(forecast, DRY);
int wetSpell = lengthOfLongestSpell(forecast, WET);

StdOut. println("There are " + forecast. length + " days in the forecast for month " + month);
StdOut. println(drySpell + " days of dry spell.");

for ( int i = 0; i < forecast. length; i++ ) {

// This is the ternary operator. (conditional) ? executed if true : executed if false
String weather = (forecast[i] == WET) ? "Wet" : "Dry";
StdOut. println("Day " + (i+1) + " is forecasted to be " + weather);
}
}

ansver
Answers: 1

Other questions on the subject: Computers and Technology

image
Computers and Technology, 22.06.2019 19:50, rosyposy43
Write a car class having two private member variables called tank and speed. write public methods called pumpgas and gofast. the method pumpgas gets an integer for gas that must be pumped. that value needs to be added to tank (no more than 20 gallons). it must return the amount of gas that is purchased ($4 per gallon). the method gofast should increase the speed by 5 each time it is called. write a constructor for the above class that initialized both variables to zero. write a tostring to display both the tank and speed when the car is printed. modify the car class to implement the interface comparable and an interface called carinter having the public methods in carinter. write the main program to create an array of size 5 of type car. create 5 car objects having each location of the array to refer to one of the cars. test the pumpgas, gofast, equals method on the array items. write an enhanced loop to print all the car values (using a tostring written last time).write a generic method to find the minimum of four items. pass int, double, char, string and car objects to test this method.
Answers: 1
image
Computers and Technology, 23.06.2019 04:31, hargunk329
Q13 what function does a security certificate perform? a. creates user accounts b. scrambles data c. identifies users d. creates password policies e. provides file access
Answers: 1
image
Computers and Technology, 23.06.2019 10:00, karissanichole18
Install and use wireshark program ( send back screen shots and other vital information) case project 3-2: decode a tcp segment in a wireshark capture in this chapter, you walked through tcp segment to interpret the data included in its header. in this project, you use wireshark to capture your own http messafes, examine the tcp headers, and practice interpreting the data you'll find there. 1. open wireshark and snap the window to one side of your screen. open a browser and snap that window to the other side of your screen so you can see both windows.
Answers: 2
image
Computers and Technology, 23.06.2019 17:10, madams4450
Ac++an of of pi. in , pi is by : pi = 4 – 4/3 + 4/5 – 4/7 + 4/9 - 4/11 + 4/13 - 4/15 + 4/17 . ., to pi (9 ). , if 5 to pi, be as : pi = 4 - 4/3 + 4/5 - 4/7 + 4/9 = 4 – 1. + 0.8 - 0. + 0. = 3.. atoofbe to pi?
Answers: 2
You know the right answer?
Now it’s time to generate some weather! Imagine you are a farmer. Does knowing the number of wet or...

Questions in other subjects:

Konu
History, 16.10.2019 19:30