diff --git a/data/3deg/blue_water_available_pseudoCRU_rcp8p5_2004_2013_grid_allhdyro_mm_3deg.txt b/data/3deg/blue_water_available_pseudoCRU_rcp8p5_2004_2013_grid_allhdyro_mm_3deg.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10335dde9c3d5a8f0a71af98245e408d86d9910b
--- /dev/null
+++ b/data/3deg/blue_water_available_pseudoCRU_rcp8p5_2004_2013_grid_allhdyro_mm_3deg.txt
@@ -0,0 +1,2189 @@
+Lon   Lat   Max_irr_water
+-180.00   63.00  100.850
+-180.00   66.00  100.850
+-180.00   69.00  100.850
+-177.00   63.00  100.850
+-177.00   66.00  100.850
+-174.00   63.00  100.850
+-174.00   66.00  100.850
+-171.00   51.00  263.190
+-171.00   63.00  182.020
+-171.00   66.00  100.850
+-168.00   51.00  263.190
+-168.00   60.00  263.190
+-168.00   63.00  263.190
+-168.00   66.00  263.190
+-165.00   54.00  263.190
+-165.00   60.00  263.190
+-165.00   63.00  263.190
+-165.00   66.00  263.190
+-165.00   69.00  263.190
+-162.00   54.00  263.190
+-162.00   57.00  263.190
+-162.00   60.00  263.190
+-162.00   63.00  263.190
+-162.00   66.00  263.190
+-162.00   69.00  263.190
+-159.00   18.00   96.040
+-159.00   54.00  263.190
+-159.00   57.00  263.190
+-159.00   60.00  263.190
+-159.00   63.00  263.190
+-159.00   66.00  263.190
+-159.00   69.00  263.190
+-156.00   18.00   96.040
+-156.00   57.00  263.190
+-156.00   60.00  263.190
+-156.00   63.00  263.190
+-156.00   66.00  263.190
+-156.00   69.00  263.190
+-153.00   57.00  263.190
+-153.00   60.00  263.190
+-153.00   63.00  263.190
+-153.00   66.00  263.190
+-153.00   69.00  263.190
+-150.00   57.00  263.190
+-150.00   60.00  263.190
+-150.00   63.00  263.190
+-150.00   66.00  263.190
+-150.00   69.00  263.190
+-147.00   60.00  263.190
+-147.00   63.00  263.190
+-147.00   66.00  263.190
+-147.00   69.00  263.190
+-144.00   60.00  263.190
+-144.00   63.00  263.190
+-144.00   66.00  263.190
+-144.00   69.00  263.190
+-141.00   57.00  263.190
+-141.00   60.00  263.190
+-141.00   63.00  217.802
+-141.00   66.00  263.190
+-141.00   69.00  263.190
+-138.00   57.00  263.190
+-138.00   60.00  263.190
+-138.00   63.00  172.415
+-138.00   66.00  202.673
+-138.00   69.00   81.640
+-135.00   51.00  263.190
+-135.00   54.00  263.190
+-135.00   57.00  263.190
+-135.00   60.00  263.190
+-135.00   63.00  172.415
+-135.00   66.00   81.640
+-135.00   69.00   81.640
+-132.00   51.00  263.190
+-132.00   54.00  263.190
+-132.00   57.00  217.802
+-132.00   60.00  167.372
+-132.00   63.00  137.114
+-132.00   66.00   94.259
+-132.00   69.00   81.640
+-129.00   48.00  263.190
+-129.00   51.00  263.190
+-129.00   54.00  237.975
+-129.00   57.00  127.028
+-129.00   60.00   81.640
+-129.00   63.00   81.640
+-129.00   66.00  121.301
+-129.00   69.00  146.540
+-126.00   36.00   96.040
+-126.00   39.00   96.040
+-126.00   42.00  148.374
+-126.00   45.00  225.339
+-126.00   48.00  263.190
+-126.00   51.00  263.190
+-126.00   54.00  157.286
+-126.00   57.00   81.640
+-126.00   60.00   81.640
+-126.00   63.00   88.851
+-126.00   66.00  144.737
+-126.00   69.00  146.540
+-126.00   72.00  146.540
+-123.00   33.00   96.040
+-123.00   36.00   96.040
+-123.00   39.00   86.323
+-123.00   42.00  117.227
+-123.00   45.00  160.150
+-123.00   48.00  230.499
+-123.00   51.00  263.190
+-123.00   54.00  106.855
+-123.00   57.00   81.640
+-123.00   60.00   81.640
+-123.00   63.00   81.640
+-123.00   66.00  146.540
+-123.00   69.00  146.540
+-123.00   72.00  146.540
+-123.00   75.00  146.540
+-120.00   30.00   96.040
+-120.00   33.00   93.449
+-120.00   36.00   56.693
+-120.00   39.00   30.930
+-120.00   42.00  129.747
+-120.00   45.00  130.710
+-120.00   48.00  112.016
+-120.00   51.00  125.189
+-120.00   54.00   81.640
+-120.00   57.00   81.640
+-120.00   60.00   81.640
+-120.00   63.00  132.118
+-120.00   66.00  146.540
+-120.00   69.00  146.540
+-120.00   72.00  146.540
+-120.00   75.00  146.540
+-117.00   27.00   23.160
+-117.00   30.00   30.908
+-117.00   33.00   54.551
+-117.00   36.00   19.833
+-117.00   39.00   40.372
+-117.00   42.00  130.710
+-117.00   45.00  130.710
+-117.00   48.00   86.951
+-117.00   51.00   68.412
+-117.00   54.00   81.640
+-117.00   57.00   81.640
+-117.00   60.00  102.501
+-117.00   63.00  146.540
+-117.00   66.00  146.540
+-117.00   69.00  146.540
+-117.00   72.00  146.540
+-117.00   75.00  146.540
+-114.00   24.00   23.160
+-114.00   27.00   23.160
+-114.00   30.00   20.387
+-114.00   33.00   17.430
+-114.00   36.00   19.592
+-114.00   39.00   25.359
+-114.00   42.00  102.986
+-114.00   45.00   66.425
+-114.00   48.00   61.869
+-114.00   51.00   66.020
+-114.00   54.00   81.206
+-114.00   57.00   81.640
+-114.00   60.00  109.173
+-114.00   63.00  146.540
+-114.00   66.00  146.540
+-114.00   69.00  146.540
+-114.00   72.00  146.540
+-114.00   75.00  146.540
+-114.00   78.00  146.540
+-111.00   21.00   23.160
+-111.00   24.00   23.160
+-111.00   27.00   23.160
+-111.00   30.00   20.295
+-111.00   33.00   17.632
+-111.00   36.00   17.430
+-111.00   39.00   17.430
+-111.00   42.00   45.244
+-111.00   45.00   38.140
+-111.00   48.00   56.727
+-111.00   51.00   66.888
+-111.00   54.00   81.640
+-111.00   57.00   81.640
+-111.00   60.00   99.668
+-111.00   63.00  146.540
+-111.00   66.00  146.540
+-111.00   69.00  146.540
+-111.00   72.00  146.540
+-111.00   75.00  146.540
+-111.00   78.00  146.540
+-108.00   18.00   62.490
+-108.00   21.00   32.993
+-108.00   24.00   33.375
+-108.00   27.00   17.200
+-108.00   30.00   19.525
+-108.00   33.00   19.478
+-108.00   36.00   20.542
+-108.00   39.00   29.511
+-108.00   42.00   37.565
+-108.00   45.00   38.140
+-108.00   48.00   56.727
+-108.00   51.00   67.756
+-108.00   54.00   81.640
+-108.00   57.00   85.246
+-108.00   60.00  144.737
+-108.00   63.00  146.540
+-108.00   66.00  146.540
+-108.00   69.00  146.540
+-108.00   72.00  146.540
+-108.00   75.00  146.540
+-108.00   78.00  146.540
+-105.00   18.00   62.490
+-105.00   21.00   58.120
+-105.00   24.00   54.942
+-105.00   27.00   27.126
+-105.00   30.00   28.598
+-105.00   33.00   40.033
+-105.00   36.00   27.747
+-105.00   39.00   37.843
+-105.00   42.00   38.140
+-105.00   45.00   38.140
+-105.00   48.00   54.044
+-105.00   51.00   66.020
+-105.00   54.00   81.707
+-105.00   57.00   91.473
+-105.00   60.00  146.540
+-105.00   63.00  146.540
+-105.00   66.00  146.540
+-105.00   69.00  146.540
+-105.00   72.00  146.540
+-105.00   75.00  146.540
+-105.00   78.00  146.540
+-102.00   15.00  194.483
+-102.00   18.00   62.490
+-102.00   21.00   62.490
+-102.00   24.00   31.651
+-102.00   27.00   16.456
+-102.00   30.00   65.992
+-102.00   33.00   47.404
+-102.00   36.00   29.232
+-102.00   39.00   38.140
+-102.00   42.00   38.140
+-102.00   45.00   35.458
+-102.00   48.00   48.680
+-102.00   51.00   66.020
+-102.00   54.00   99.570
+-102.00   57.00  137.526
+-102.00   60.00  146.540
+-102.00   63.00  146.540
+-102.00   66.00  146.540
+-102.00   69.00  146.540
+-102.00   72.00  146.540
+-102.00   75.00  146.540
+-102.00   78.00  146.540
+ -99.00   15.00  228.802
+ -99.00   18.00  186.234
+ -99.00   21.00   87.239
+ -99.00   24.00   40.949
+ -99.00   27.00   52.904
+ -99.00   30.00   75.340
+ -99.00   33.00   35.432
+ -99.00   36.00   29.232
+ -99.00   39.00   38.140
+ -99.00   42.00   36.128
+ -99.00   45.00   20.035
+ -99.00   48.00   48.185
+ -99.00   51.00   69.117
+ -99.00   54.00   81.677
+ -99.00   57.00  146.540
+ -99.00   60.00  146.540
+ -99.00   63.00  146.540
+ -99.00   66.00  146.540
+ -99.00   69.00  146.540
+ -99.00   72.00  146.540
+ -99.00   75.00  146.540
+ -99.00   78.00  146.540
+ -96.00   15.00  260.480
+ -96.00   18.00  260.480
+ -96.00   27.00  131.967
+ -96.00   30.00   80.185
+ -96.00   33.00   39.849
+ -96.00   36.00   74.244
+ -96.00   39.00  111.145
+ -96.00   42.00  199.768
+ -96.00   45.00  233.556
+ -96.00   48.00   57.549
+ -96.00   51.00  106.280
+ -96.00   54.00  112.990
+ -96.00   57.00  143.558
+ -96.00   60.00  146.540
+ -96.00   63.00  146.540
+ -96.00   66.00  146.540
+ -96.00   69.00  146.540
+ -96.00   72.00  146.540
+ -96.00   75.00  146.540
+ -96.00   78.00  146.540
+ -96.00   81.00  146.540
+ -93.00   -3.00  270.180
+ -93.00   12.00  411.267
+ -93.00   15.00  271.184
+ -93.00   18.00  260.480
+ -93.00   27.00  330.160
+ -93.00   30.00  205.707
+ -93.00   33.00  237.665
+ -93.00   36.00  232.820
+ -93.00   39.00  305.825
+ -93.00   42.00  330.160
+ -93.00   45.00  222.478
+ -93.00   48.00  130.344
+ -93.00   51.00  146.540
+ -93.00   54.00  146.540
+ -93.00   57.00  146.540
+ -93.00   60.00  146.540
+ -93.00   63.00  146.540
+ -93.00   66.00  146.540
+ -93.00   69.00  146.540
+ -93.00   72.00  146.540
+ -93.00   75.00  146.540
+ -93.00   78.00  146.540
+ -93.00   81.00  146.540
+ -90.00   12.00  472.350
+ -90.00   15.00  361.528
+ -90.00   18.00  260.880
+ -90.00   21.00  260.480
+ -90.00   27.00  330.160
+ -90.00   30.00  188.860
+ -90.00   33.00  209.990
+ -90.00   36.00  177.173
+ -90.00   39.00  271.735
+ -90.00   42.00  250.873
+ -90.00   45.00  257.454
+ -90.00   48.00  151.870
+ -90.00   51.00  146.540
+ -90.00   54.00  146.540
+ -90.00   63.00  146.540
+ -90.00   66.00  146.540
+ -90.00   69.00  146.540
+ -90.00   72.00  146.540
+ -90.00   75.00  146.540
+ -90.00   78.00  146.540
+ -87.00    9.00  472.350
+ -87.00   12.00  472.350
+ -87.00   15.00  472.350
+ -87.00   21.00  201.180
+ -87.00   27.00  188.860
+ -87.00   30.00  188.860
+ -87.00   33.00  149.669
+ -87.00   36.00  100.680
+ -87.00   39.00  120.814
+ -87.00   42.00  121.130
+ -87.00   45.00  142.467
+ -87.00   48.00  149.048
+ -87.00   51.00  146.688
+ -87.00   54.00  146.540
+ -87.00   63.00  146.540
+ -87.00   66.00  146.540
+ -87.00   69.00  146.540
+ -87.00   72.00  146.540
+ -87.00   75.00  146.540
+ -87.00   78.00  146.540
+ -87.00   81.00  146.540
+ -84.00   -6.00   23.580
+ -84.00    6.00  472.350
+ -84.00    9.00  472.350
+ -84.00   12.00  472.350
+ -84.00   15.00  472.350
+ -84.00   21.00  141.880
+ -84.00   24.00  188.860
+ -84.00   27.00  188.860
+ -84.00   30.00  188.860
+ -84.00   33.00  179.062
+ -84.00   36.00  103.129
+ -84.00   39.00  108.116
+ -84.00   42.00  135.219
+ -84.00   45.00  148.955
+ -84.00   48.00  146.540
+ -84.00   51.00  146.540
+ -84.00   54.00  146.540
+ -84.00   60.00  146.540
+ -84.00   63.00  146.540
+ -84.00   66.00  146.540
+ -84.00   69.00  146.540
+ -84.00   72.00  146.540
+ -84.00   75.00  146.540
+ -84.00   78.00  146.540
+ -84.00   81.00  146.540
+ -81.00  -12.00   23.580
+ -81.00   -9.00   43.064
+ -81.00   -6.00   89.838
+ -81.00   -3.00  192.732
+ -81.00    0.00  392.712
+ -81.00    6.00  472.350
+ -81.00    9.00  472.350
+ -81.00   21.00  141.880
+ -81.00   24.00  182.988
+ -81.00   27.00  188.860
+ -81.00   30.00  188.860
+ -81.00   33.00  188.860
+ -81.00   36.00  179.306
+ -81.00   39.00  141.520
+ -81.00   42.00  142.991
+ -81.00   45.00  151.870
+ -81.00   48.00  146.836
+ -81.00   51.00  146.540
+ -81.00   54.00  146.540
+ -81.00   57.00  146.540
+ -81.00   60.00  146.540
+ -81.00   63.00  146.540
+ -81.00   69.00  146.540
+ -81.00   72.00  146.540
+ -81.00   75.00  146.540
+ -78.00  -51.00  280.160
+ -78.00  -48.00  280.160
+ -78.00  -18.00   23.580
+ -78.00  -15.00   40.772
+ -78.00  -12.00   89.482
+ -78.00   -9.00  121.000
+ -78.00   -6.00  121.000
+ -78.00   -3.00   57.868
+ -78.00    0.00  370.614
+ -78.00    3.00  668.410
+ -78.00    6.00  643.902
+ -78.00    9.00  668.410
+ -78.00   18.00  163.349
+ -78.00   21.00  141.880
+ -78.00   33.00  188.860
+ -78.00   36.00  210.855
+ -78.00   39.00  214.680
+ -78.00   42.00  138.018
+ -78.00   45.00  148.613
+ -78.00   48.00  146.540
+ -78.00   51.00  146.540
+ -78.00   54.00  146.540
+ -78.00   57.00  146.540
+ -78.00   60.00  146.540
+ -78.00   63.00  146.540
+ -78.00   66.00  146.540
+ -78.00   69.00  146.540
+ -78.00   72.00  146.540
+ -75.00  -57.00  280.160
+ -75.00  -54.00  271.090
+ -75.00  -51.00  191.724
+ -75.00  -48.00  272.299
+ -75.00  -45.00  280.160
+ -75.00  -42.00  280.160
+ -75.00  -39.00  280.160
+ -75.00  -36.00  280.160
+ -75.00  -18.00   23.580
+ -75.00  -15.00  107.469
+ -75.00  -12.00  148.994
+ -75.00   -9.00  372.945
+ -75.00   -6.00  176.988
+ -75.00   -3.00  141.528
+ -75.00    0.00  175.689
+ -75.00    3.00  358.271
+ -75.00    6.00  539.079
+ -75.00    9.00  594.480
+ -75.00   18.00  150.405
+ -75.00   39.00  214.680
+ -75.00   42.00  204.286
+ -75.00   45.00  146.688
+ -75.00   48.00  146.540
+ -75.00   51.00  146.540
+ -75.00   54.00  146.540
+ -75.00   57.00  146.540
+ -75.00   60.00  146.540
+ -75.00   63.00  146.540
+ -75.00   66.00  146.540
+ -75.00   69.00  146.540
+ -75.00   78.00  139.456
+ -72.00  -57.00  280.160
+ -72.00  -54.00  189.990
+ -72.00  -51.00   44.330
+ -72.00  -48.00   63.982
+ -72.00  -45.00   63.982
+ -72.00  -42.00   58.111
+ -72.00  -39.00  123.619
+ -72.00  -36.00  175.151
+ -72.00  -33.00  153.698
+ -72.00  -30.00  227.656
+ -72.00  -27.00  280.160
+ -72.00  -24.00  280.160
+ -72.00  -21.00  263.055
+ -72.00  -18.00   70.807
+ -72.00  -15.00  119.087
+ -72.00  -12.00  357.035
+ -72.00   -9.00  624.890
+ -72.00   -6.00  486.973
+ -72.00   -3.00  244.638
+ -72.00    0.00  245.863
+ -72.00    3.00  221.810
+ -72.00    6.00  397.632
+ -72.00    9.00  464.400
+ -72.00   12.00  668.410
+ -72.00   18.00  151.180
+ -72.00   39.00  214.680
+ -72.00   42.00  214.680
+ -72.00   45.00  171.146
+ -72.00   48.00  146.540
+ -72.00   51.00  146.540
+ -72.00   54.00  146.540
+ -72.00   57.00  146.540
+ -72.00   60.00  146.540
+ -72.00   63.00  146.540
+ -72.00   66.00  146.540
+ -72.00   69.00  146.540
+ -72.00   75.00  114.660
+ -72.00   78.00  118.202
+ -69.00  -57.00   87.208
+ -69.00  -54.00  145.400
+ -69.00  -51.00   44.330
+ -69.00  -48.00   44.330
+ -69.00  -45.00   44.330
+ -69.00  -42.00   41.267
+ -69.00  -39.00   35.608
+ -69.00  -36.00   37.482
+ -69.00  -33.00   43.570
+ -69.00  -30.00   48.253
+ -69.00  -27.00  160.648
+ -69.00  -24.00  203.187
+ -69.00  -21.00   86.327
+ -69.00  -18.00   52.130
+ -69.00  -15.00   52.130
+ -69.00  -12.00  338.510
+ -69.00   -9.00  624.890
+ -69.00   -6.00  624.890
+ -69.00   -3.00  624.890
+ -69.00    0.00  491.380
+ -69.00    3.00  358.561
+ -69.00    6.00  449.728
+ -69.00    9.00  456.240
+ -69.00   18.00  205.714
+ -69.00   42.00  214.680
+ -69.00   45.00  167.361
+ -69.00   48.00  146.540
+ -69.00   51.00  146.540
+ -69.00   54.00  146.540
+ -69.00   57.00  146.540
+ -69.00   60.00  146.540
+ -69.00   63.00  146.540
+ -69.00   66.00  146.540
+ -69.00   69.00  146.540
+ -69.00   75.00  114.660
+ -69.00   78.00  123.769
+ -66.00  -57.00   44.330
+ -66.00  -48.00   44.330
+ -66.00  -45.00   44.330
+ -66.00  -42.00   38.422
+ -66.00  -39.00   44.038
+ -66.00  -36.00   64.857
+ -66.00  -33.00   96.998
+ -66.00  -30.00   90.570
+ -66.00  -27.00  225.565
+ -66.00  -24.00  228.694
+ -66.00  -21.00   80.925
+ -66.00  -18.00   52.130
+ -66.00  -15.00   99.860
+ -66.00  -12.00  545.340
+ -66.00   -9.00  624.890
+ -66.00   -6.00  624.890
+ -66.00   -3.00  624.890
+ -66.00    0.00  554.619
+ -66.00    3.00  479.664
+ -66.00    6.00  456.240
+ -66.00    9.00  456.240
+ -66.00   18.00  242.070
+ -66.00   42.00  146.540
+ -66.00   45.00  146.540
+ -66.00   48.00  146.540
+ -66.00   51.00  146.540
+ -66.00   54.00  146.540
+ -66.00   57.00  146.540
+ -66.00   60.00  146.540
+ -66.00   63.00  146.540
+ -66.00   66.00  146.540
+ -66.00   78.00  114.660
+ -66.00   81.00  143.352
+ -63.00  -54.00   44.330
+ -63.00  -42.00   37.247
+ -63.00  -39.00   52.000
+ -63.00  -36.00  135.568
+ -63.00  -33.00  212.708
+ -63.00  -30.00  276.992
+ -63.00  -27.00  283.420
+ -63.00  -24.00  173.967
+ -63.00  -21.00   96.430
+ -63.00  -18.00   68.040
+ -63.00  -15.00  354.420
+ -63.00  -12.00  624.890
+ -63.00   -9.00  624.890
+ -63.00   -6.00  624.890
+ -63.00   -3.00  624.890
+ -63.00    0.00  624.890
+ -63.00    3.00  522.992
+ -63.00    6.00  401.654
+ -63.00    9.00  456.240
+ -63.00   42.00  146.540
+ -63.00   45.00  146.540
+ -63.00   48.00  146.540
+ -63.00   51.00  146.540
+ -63.00   54.00  146.540
+ -63.00   57.00  146.540
+ -63.00   63.00  146.540
+ -63.00   66.00  146.540
+ -63.00   81.00  128.323
+ -60.00  -54.00   44.330
+ -60.00  -39.00   52.000
+ -60.00  -36.00  213.107
+ -60.00  -33.00  265.111
+ -60.00  -30.00  270.791
+ -60.00  -27.00  216.064
+ -60.00  -24.00  126.251
+ -60.00  -21.00  117.823
+ -60.00  -18.00  146.076
+ -60.00  -15.00  549.391
+ -60.00  -12.00  624.890
+ -60.00   -9.00  624.890
+ -60.00   -6.00  624.890
+ -60.00   -3.00  624.890
+ -60.00    0.00  515.566
+ -60.00    3.00  392.576
+ -60.00    6.00  378.910
+ -60.00   45.00  146.540
+ -60.00   48.00  146.540
+ -60.00   51.00  146.540
+ -60.00   54.00  146.540
+ -60.00   81.00  114.660
+ -57.00  -39.00   52.000
+ -57.00  -36.00  223.500
+ -57.00  -33.00  223.373
+ -57.00  -30.00  237.291
+ -57.00  -27.00  144.495
+ -57.00  -24.00   96.752
+ -57.00  -21.00   81.300
+ -57.00  -18.00   99.783
+ -57.00  -15.00  534.292
+ -57.00  -12.00  624.890
+ -57.00   -9.00  624.890
+ -57.00   -6.00  624.890
+ -57.00   -3.00  624.890
+ -57.00    0.00  563.395
+ -57.00    3.00  378.910
+ -57.00   45.00  146.540
+ -57.00   48.00  146.540
+ -57.00   51.00  146.540
+ -57.00   69.00  114.660
+ -57.00   72.00  114.660
+ -57.00   81.00  114.660
+ -54.00  -36.00  223.348
+ -54.00  -33.00  223.148
+ -54.00  -30.00  223.120
+ -54.00  -27.00  112.226
+ -54.00  -24.00   81.300
+ -54.00  -21.00   81.300
+ -54.00  -18.00  241.482
+ -54.00  -15.00  481.868
+ -54.00  -12.00  562.318
+ -54.00   -9.00  607.012
+ -54.00   -6.00  615.951
+ -54.00   -3.00  624.890
+ -54.00    0.00  604.392
+ -54.00    3.00  418.267
+ -54.00   45.00  146.540
+ -54.00   48.00  146.540
+ -54.00   63.00  114.660
+ -54.00   66.00  114.660
+ -54.00   69.00  114.660
+ -54.00   81.00  114.660
+ -51.00  -33.00  131.460
+ -51.00  -30.00  158.194
+ -51.00  -27.00  111.438
+ -51.00  -24.00   81.300
+ -51.00  -21.00   81.300
+ -51.00  -18.00  161.391
+ -51.00  -15.00  303.090
+ -51.00  -12.00  303.090
+ -51.00   -9.00  320.968
+ -51.00   -6.00  356.723
+ -51.00   -3.00  526.467
+ -51.00    0.00  624.890
+ -51.00   60.00  114.660
+ -51.00   63.00  114.660
+ -51.00   66.00  114.660
+ -51.00   69.00  114.660
+ -51.00   81.00  114.660
+ -48.00  -27.00  131.460
+ -48.00  -24.00   97.065
+ -48.00  -21.00  102.200
+ -48.00  -18.00  129.848
+ -48.00  -15.00  226.810
+ -48.00  -12.00  226.924
+ -48.00   -9.00  221.069
+ -48.00   -6.00  192.541
+ -48.00   -3.00  200.386
+ -48.00   60.00  114.660
+ -48.00   81.00  114.660
+ -45.00  -24.00  123.434
+ -45.00  -21.00  130.067
+ -45.00  -18.00  131.460
+ -45.00  -15.00  131.460
+ -45.00  -12.00  142.273
+ -45.00   -9.00  174.710
+ -45.00   -6.00  174.710
+ -45.00   -3.00  174.710
+ -45.00   60.00  114.660
+ -45.00   81.00  114.660
+ -42.00  -24.00  131.460
+ -42.00  -21.00  131.460
+ -42.00  -18.00  131.460
+ -42.00  -15.00  131.460
+ -42.00  -12.00  131.460
+ -42.00   -9.00  159.092
+ -42.00   -6.00  174.710
+ -39.00  -57.00   44.330
+ -39.00  -15.00  131.460
+ -39.00  -12.00  135.934
+ -39.00   -9.00  163.898
+ -39.00   -6.00  174.710
+ -36.00  -12.00  174.710
+ -36.00   -9.00  174.710
+ -36.00   -6.00  174.710
+ -27.00   69.00  114.660
+ -27.00   72.00  114.660
+ -27.00   78.00  114.660
+ -24.00   63.00  365.230
+ -24.00   66.00  365.230
+ -24.00   69.00  129.399
+ -24.00   72.00  114.660
+ -24.00   75.00  114.660
+ -24.00   78.00  114.660
+ -24.00   81.00  114.660
+ -21.00   63.00  365.230
+ -21.00   72.00  114.660
+ -21.00   75.00  114.660
+ -18.00    9.00  426.910
+ -18.00   12.00  147.231
+ -18.00   15.00   35.377
+ -18.00   18.00    3.510
+ -18.00   21.00    2.934
+ -18.00   24.00    2.780
+ -18.00   27.00    2.780
+ -18.00   63.00  365.230
+ -18.00   66.00  365.230
+ -15.00    6.00  885.080
+ -15.00    9.00  433.885
+ -15.00   12.00  121.526
+ -15.00   15.00   32.686
+ -15.00   18.00    3.860
+ -15.00   21.00    2.674
+ -15.00   24.00    2.780
+ -15.00   27.00   14.388
+ -15.00   63.00  365.230
+ -12.00    3.00  782.760
+ -12.00    6.00  716.845
+ -12.00    9.00  225.468
+ -12.00   12.00   54.795
+ -12.00   15.00   30.485
+ -12.00   18.00    7.335
+ -12.00   21.00    2.030
+ -12.00   24.00    2.280
+ -12.00   27.00   25.351
+ -12.00   30.00   31.800
+ -12.00   36.00  115.530
+ -12.00   39.00  115.530
+ -12.00   51.00  317.290
+ -12.00   54.00  317.290
+  -9.00    3.00  557.320
+  -9.00    6.00  319.475
+  -9.00    9.00   83.200
+  -9.00   12.00   54.017
+  -9.00   15.00   16.338
+  -9.00   18.00    3.798
+  -9.00   21.00    1.927
+  -9.00   24.00    1.923
+  -9.00   27.00    9.834
+  -9.00   30.00   31.800
+  -9.00   33.00   31.800
+  -9.00   36.00  115.530
+  -9.00   39.00  115.530
+  -9.00   42.00  115.530
+  -9.00   51.00  317.290
+  -9.00   54.00  317.290
+  -9.00   57.00  255.180
+  -6.00    3.00  222.913
+  -6.00    6.00  172.970
+  -6.00    9.00   79.448
+  -6.00   12.00   50.127
+  -6.00   15.00   70.670
+  -6.00   18.00   33.142
+  -6.00   21.00    1.100
+  -6.00   24.00    1.318
+  -6.00   27.00    1.330
+  -6.00   30.00    9.041
+  -6.00   33.00   31.800
+  -6.00   36.00  115.530
+  -6.00   39.00  115.530
+  -6.00   42.00  115.530
+  -6.00   45.00  187.220
+  -6.00   48.00  224.289
+  -6.00   51.00  255.180
+  -6.00   54.00  259.616
+  -6.00   57.00  255.180
+  -3.00    3.00  189.970
+  -3.00    6.00  188.773
+  -3.00    9.00  132.338
+  -3.00   12.00   20.669
+  -3.00   15.00   78.000
+  -3.00   18.00   18.189
+  -3.00   21.00    1.189
+  -3.00   24.00    1.330
+  -3.00   27.00    1.330
+  -3.00   30.00    2.424
+  -3.00   33.00   28.951
+  -3.00   36.00  115.530
+  -3.00   39.00   96.667
+  -3.00   42.00  130.740
+  -3.00   45.00  187.220
+  -3.00   48.00  207.608
+  -3.00   51.00  255.180
+  -3.00   54.00  255.180
+  -3.00   57.00  255.180
+   0.00    3.00  189.970
+   0.00    6.00  167.941
+   0.00    9.00  104.830
+   0.00   12.00   27.770
+   0.00   15.00   74.495
+   0.00   18.00   26.765
+   0.00   21.00    1.317
+   0.00   24.00    1.330
+   0.00   27.00    1.330
+   0.00   30.00    1.330
+   0.00   33.00   22.178
+   0.00   36.00   27.210
+   0.00   39.00   79.790
+   0.00   42.00  166.331
+   0.00   45.00  187.220
+   0.00   48.00  163.479
+   0.00   51.00  255.180
+   3.00    3.00  613.930
+   3.00    6.00  498.926
+   3.00    9.00  132.838
+   3.00   12.00   79.107
+   3.00   15.00   46.906
+   3.00   18.00   14.255
+   3.00   21.00    1.330
+   3.00   24.00    1.330
+   3.00   27.00    1.330
+   3.00   30.00    1.330
+   3.00   33.00   22.897
+   3.00   36.00   27.210
+   3.00   39.00   79.790
+   3.00   42.00  227.390
+   3.00   45.00  215.542
+   3.00   48.00  135.757
+   3.00   51.00  357.988
+   3.00   57.00  382.460
+   3.00   60.00  382.460
+   6.00    3.00  599.841
+   6.00    6.00  388.964
+   6.00    9.00  127.983
+   6.00   12.00   71.092
+   6.00   15.00   23.680
+   6.00   18.00    2.046
+   6.00   21.00    1.367
+   6.00   24.00    1.330
+   6.00   27.00    1.330
+   6.00   30.00    2.010
+   6.00   33.00   26.740
+   6.00   36.00   26.975
+   6.00   39.00  154.030
+   6.00   42.00  201.155
+   6.00   45.00  172.752
+   6.00   48.00  217.336
+   6.00   51.00  254.383
+   6.00   54.00  157.293
+   6.00   57.00  382.460
+   6.00   60.00  382.460
+   6.00   63.00  382.460
+   9.00  -18.00   39.690
+   9.00   -6.00  626.495
+   9.00   -3.00  967.152
+   9.00    0.00  827.864
+   9.00    3.00  360.330
+   9.00    6.00  167.109
+   9.00    9.00   93.310
+   9.00   12.00   58.998
+   9.00   15.00    7.473
+   9.00   18.00    2.898
+   9.00   21.00    1.697
+   9.00   24.00    0.640
+   9.00   27.00    0.580
+   9.00   30.00   14.190
+   9.00   33.00   25.800
+   9.00   36.00   25.800
+   9.00   39.00  154.030
+   9.00   42.00  154.030
+   9.00   45.00  130.781
+   9.00   48.00  151.381
+   9.00   51.00  185.349
+   9.00   54.00  161.324
+   9.00   57.00  310.491
+   9.00   60.00  382.460
+   9.00   63.00  382.460
+  12.00  -27.00    3.910
+  12.00  -24.00    3.910
+  12.00  -21.00    7.330
+  12.00  -18.00   60.240
+  12.00  -15.00   75.470
+  12.00  -12.00   75.470
+  12.00   -9.00   79.988
+  12.00   -6.00  292.572
+  12.00   -3.00  777.174
+  12.00    0.00  694.534
+  12.00    3.00  334.277
+  12.00    6.00  201.182
+  12.00    9.00   74.182
+  12.00   12.00   80.766
+  12.00   15.00   15.387
+  12.00   18.00    4.195
+  12.00   21.00    1.458
+  12.00   24.00    0.250
+  12.00   27.00    4.164
+  12.00   30.00   12.306
+  12.00   36.00  154.030
+  12.00   39.00  154.030
+  12.00   42.00  154.030
+  12.00   45.00  115.374
+  12.00   48.00  127.449
+  12.00   51.00  119.038
+  12.00   54.00  145.235
+  12.00   57.00  155.380
+  12.00   60.00  186.919
+  12.00   63.00  272.164
+  12.00   66.00  382.460
+  12.00   75.00  382.460
+  15.00  -33.00   40.620
+  15.00  -30.00   18.037
+  15.00  -27.00    9.904
+  15.00  -24.00    7.092
+  15.00  -21.00   17.316
+  15.00  -18.00   66.735
+  15.00  -15.00   75.470
+  15.00  -12.00   78.733
+  15.00   -9.00  144.602
+  15.00   -6.00  371.787
+  15.00   -3.00  478.880
+  15.00    0.00  540.186
+  15.00    3.00  120.005
+  15.00    6.00  113.273
+  15.00    9.00  149.278
+  15.00   12.00  131.738
+  15.00   15.00   41.189
+  15.00   18.00   11.391
+  15.00   21.00    9.238
+  15.00   24.00    0.250
+  15.00   27.00    1.318
+  15.00   30.00   11.637
+  15.00   36.00  154.030
+  15.00   39.00  154.030
+  15.00   42.00  166.450
+  15.00   45.00  139.121
+  15.00   48.00  127.695
+  15.00   51.00  106.890
+  15.00   54.00  129.270
+  15.00   57.00  155.380
+  15.00   60.00  155.380
+  15.00   63.00  155.380
+  15.00   66.00  287.843
+  15.00   69.00  382.460
+  15.00   75.00  382.460
+  15.00   78.00  382.460
+  18.00  -36.00   40.620
+  18.00  -33.00   40.620
+  18.00  -30.00   20.329
+  18.00  -27.00   10.841
+  18.00  -24.00    7.853
+  18.00  -21.00   20.191
+  18.00  -18.00   50.279
+  18.00  -15.00   31.377
+  18.00  -12.00   90.193
+  18.00   -9.00  222.120
+  18.00   -6.00  338.320
+  18.00   -3.00  338.320
+  18.00    0.00  346.093
+  18.00    3.00  224.970
+  18.00    6.00   66.154
+  18.00    9.00  153.023
+  18.00   12.00   34.018
+  18.00   15.00   25.875
+  18.00   18.00   13.660
+  18.00   21.00    3.603
+  18.00   24.00    0.250
+  18.00   27.00    2.741
+  18.00   30.00   13.060
+  18.00   39.00  165.674
+  18.00   42.00  166.450
+  18.00   45.00  156.047
+  18.00   48.00  130.418
+  18.00   51.00  106.890
+  18.00   54.00  136.839
+  18.00   57.00  155.380
+  18.00   60.00  155.380
+  18.00   63.00  155.380
+  18.00   66.00  186.919
+  18.00   69.00  382.460
+  21.00  -36.00   40.620
+  21.00  -33.00   31.002
+  21.00  -30.00   13.761
+  21.00  -27.00   12.047
+  21.00  -24.00   15.430
+  21.00  -21.00   17.138
+  21.00  -18.00   38.199
+  21.00  -15.00   41.015
+  21.00  -12.00  173.541
+  21.00   -9.00  297.308
+  21.00   -6.00  338.320
+  21.00   -3.00  338.320
+  21.00    0.00  338.320
+  21.00    3.00  212.375
+  21.00    6.00   76.465
+  21.00    9.00   90.527
+  21.00   12.00   38.041
+  21.00   15.00   13.484
+  21.00   18.00   10.308
+  21.00   21.00    0.250
+  21.00   24.00    0.250
+  21.00   27.00    3.453
+  21.00   30.00   13.060
+  21.00   33.00  166.450
+  21.00   36.00  166.450
+  21.00   39.00  165.484
+  21.00   42.00  158.544
+  21.00   45.00  151.470
+  21.00   48.00  111.523
+  21.00   51.00  103.411
+  21.00   54.00  140.146
+  21.00   57.00  127.020
+  21.00   60.00  121.580
+  21.00   63.00  137.486
+  21.00   66.00  159.546
+  21.00   69.00  369.416
+  24.00  -36.00   40.620
+  24.00  -33.00   32.204
+  24.00  -30.00   18.980
+  24.00  -27.00   14.516
+  24.00  -24.00   15.968
+  24.00  -21.00   23.896
+  24.00  -18.00   58.089
+  24.00  -15.00   60.300
+  24.00  -12.00  307.429
+  24.00   -9.00  338.320
+  24.00   -6.00  338.320
+  24.00   -3.00  338.320
+  24.00    0.00  338.320
+  24.00    3.00  261.354
+  24.00    6.00   84.178
+  24.00    9.00   82.570
+  24.00   12.00   20.501
+  24.00   15.00   12.492
+  24.00   18.00    9.352
+  24.00   21.00    2.441
+  24.00   24.00    0.175
+  24.00   27.00    1.604
+  24.00   30.00    5.632
+  24.00   33.00  136.510
+  24.00   36.00  136.510
+  24.00   39.00  134.881
+  24.00   42.00  151.470
+  24.00   45.00  151.470
+  24.00   48.00   92.748
+  24.00   51.00   82.521
+  24.00   54.00  127.020
+  24.00   57.00  127.020
+  24.00   60.00  121.580
+  24.00   63.00  122.604
+  24.00   66.00  128.827
+  24.00   69.00  328.110
+  27.00  -36.00   40.620
+  27.00  -33.00   36.307
+  27.00  -30.00   20.844
+  27.00  -27.00   17.300
+  27.00  -24.00   16.640
+  27.00  -21.00   50.823
+  27.00  -18.00   65.865
+  27.00  -15.00   62.954
+  27.00  -12.00   96.120
+  27.00   -9.00  115.388
+  27.00   -6.00  205.841
+  27.00   -3.00  215.576
+  27.00    0.00  331.454
+  27.00    3.00  217.656
+  27.00    6.00   78.566
+  27.00    9.00   38.521
+  27.00   12.00   32.514
+  27.00   15.00   64.550
+  27.00   18.00   16.497
+  27.00   21.00    5.539
+  27.00   24.00   31.863
+  27.00   27.00   49.830
+  27.00   30.00    0.990
+  27.00   36.00  106.570
+  27.00   39.00  105.473
+  27.00   42.00  151.470
+  27.00   45.00  130.478
+  27.00   48.00   94.426
+  27.00   51.00   46.265
+  27.00   54.00  149.816
+  27.00   57.00  225.769
+  27.00   60.00  131.696
+  27.00   63.00  122.160
+  27.00   66.00  126.797
+  27.00   69.00  285.500
+  30.00  -33.00   40.620
+  30.00  -30.00   41.861
+  30.00  -27.00   48.888
+  30.00  -24.00   64.218
+  30.00  -21.00   46.259
+  30.00  -18.00  156.834
+  30.00  -15.00   94.813
+  30.00  -12.00   61.621
+  30.00   -9.00   91.868
+  30.00   -6.00   63.580
+  30.00   -3.00   37.860
+  30.00    0.00   99.033
+  30.00    3.00   98.669
+  30.00    6.00   80.568
+  30.00    9.00   68.554
+  30.00   12.00   60.546
+  30.00   15.00   82.570
+  30.00   18.00   82.570
+  30.00   21.00   81.153
+  30.00   24.00  116.404
+  30.00   27.00  152.016
+  30.00   30.00  111.103
+  30.00   33.00   57.790
+  30.00   36.00   97.855
+  30.00   39.00  104.080
+  30.00   45.00   91.070
+  30.00   48.00   91.070
+  30.00   51.00   48.258
+  30.00   54.00   76.202
+  30.00   57.00  128.492
+  30.00   60.00  163.358
+  30.00   63.00  140.131
+  30.00   66.00  142.450
+  30.00   69.00  197.837
+  33.00  -27.00   82.850
+  33.00  -24.00  121.805
+  33.00  -21.00  300.999
+  33.00  -18.00  246.861
+  33.00  -15.00  137.023
+  33.00  -12.00   97.486
+  33.00   -9.00   73.370
+  33.00   -6.00   67.810
+  33.00   -3.00   61.604
+  33.00    0.00   40.977
+  33.00    3.00   67.151
+  33.00    6.00   49.801
+  33.00    9.00   56.215
+  33.00   12.00   81.106
+  33.00   15.00   82.570
+  33.00   18.00   82.570
+  33.00   21.00  133.209
+  33.00   24.00  160.830
+  33.00   27.00   25.431
+  33.00   30.00   25.274
+  33.00   33.00   75.446
+  33.00   36.00   71.710
+  33.00   39.00   66.471
+  33.00   42.00   91.070
+  33.00   45.00   91.070
+  33.00   48.00   88.790
+  33.00   51.00   49.909
+  33.00   54.00   68.532
+  33.00   57.00  115.428
+  33.00   60.00  140.425
+  33.00   63.00  142.450
+  33.00   66.00  142.450
+  33.00   69.00  142.450
+  36.00  -21.00  258.183
+  36.00  -18.00  156.970
+  36.00  -15.00  156.970
+  36.00  -12.00  106.884
+  36.00   -9.00   67.810
+  36.00   -6.00   65.397
+  36.00   -3.00   54.134
+  36.00    0.00   53.330
+  36.00    3.00   66.130
+  36.00    6.00   67.789
+  36.00    9.00   32.231
+  36.00   12.00   32.772
+  36.00   15.00   43.844
+  36.00   18.00   82.570
+  36.00   21.00   71.490
+  36.00   24.00    4.660
+  36.00   27.00    4.752
+  36.00   30.00   10.636
+  36.00   33.00   51.080
+  36.00   36.00   64.212
+  36.00   39.00   95.941
+  36.00   42.00   88.260
+  36.00   45.00   89.717
+  36.00   48.00   58.453
+  36.00   51.00   83.886
+  36.00   54.00  109.803
+  36.00   57.00  113.685
+  36.00   60.00  142.450
+  36.00   63.00  142.450
+  36.00   66.00  142.450
+  39.00  -18.00  156.970
+  39.00  -15.00  156.970
+  39.00  -12.00  123.646
+  39.00   -9.00   67.810
+  39.00   -6.00   55.743
+  39.00   -3.00   50.985
+  39.00    0.00   48.640
+  39.00    3.00   66.415
+  39.00    6.00   72.530
+  39.00    9.00   66.604
+  39.00   12.00   28.246
+  39.00   15.00   19.200
+  39.00   18.00    4.660
+  39.00   21.00    4.660
+  39.00   24.00    4.660
+  39.00   27.00    4.660
+  39.00   30.00   10.904
+  39.00   33.00   70.501
+  39.00   36.00   41.573
+  39.00   39.00   97.753
+  39.00   42.00  102.410
+  39.00   45.00   88.260
+  39.00   48.00   77.048
+  39.00   51.00   93.963
+  39.00   54.00  110.436
+  39.00   57.00  120.658
+  39.00   60.00  142.450
+  39.00   63.00  142.450
+  39.00   66.00  142.450
+  42.00  -27.00  292.610
+  42.00  -24.00  292.610
+  42.00  -21.00  292.610
+  42.00  -18.00  292.610
+  42.00   -3.00   39.260
+  42.00    0.00   39.260
+  42.00    3.00   54.047
+  42.00    6.00   72.530
+  42.00    9.00   46.657
+  42.00   12.00   10.818
+  42.00   15.00    7.559
+  42.00   18.00    4.660
+  42.00   21.00    4.660
+  42.00   24.00    4.660
+  42.00   27.00    7.557
+  42.00   30.00   28.008
+  42.00   33.00   88.880
+  42.00   36.00   55.367
+  42.00   39.00   96.141
+  42.00   42.00  102.410
+  42.00   45.00   90.161
+  42.00   48.00   91.428
+  42.00   51.00   92.695
+  42.00   54.00  111.070
+  42.00   57.00  117.172
+  42.00   60.00  142.450
+  42.00   63.00  142.450
+  42.00   66.00  142.450
+  45.00  -27.00  292.610
+  45.00  -24.00  292.610
+  45.00  -21.00  292.610
+  45.00  -18.00  292.610
+  45.00  -15.00  292.610
+  45.00    0.00   39.260
+  45.00    3.00   41.276
+  45.00    6.00   54.971
+  45.00    9.00   39.260
+  45.00   12.00    8.940
+  45.00   15.00    6.800
+  45.00   18.00    4.660
+  45.00   21.00    4.660
+  45.00   24.00    4.660
+  45.00   27.00   15.707
+  45.00   30.00   83.263
+  45.00   33.00   54.263
+  45.00   36.00   23.274
+  45.00   39.00  133.284
+  45.00   42.00   92.033
+  45.00   45.00  104.553
+  45.00   48.00   85.909
+  45.00   51.00  110.436
+  45.00   54.00  111.070
+  45.00   57.00  114.557
+  45.00   60.00  142.450
+  45.00   63.00  142.450
+  45.00   66.00  142.450
+  48.00  -24.00  292.610
+  48.00  -21.00  292.610
+  48.00  -18.00  292.610
+  48.00  -15.00  292.610
+  48.00    3.00   39.260
+  48.00    6.00   39.260
+  48.00    9.00   39.260
+  48.00   12.00    8.940
+  48.00   15.00    8.940
+  48.00   18.00    5.017
+  48.00   21.00    4.660
+  48.00   24.00    4.725
+  48.00   27.00   11.504
+  48.00   30.00   36.359
+  48.00   33.00   21.400
+  48.00   36.00   32.136
+  48.00   39.00  141.531
+  48.00   42.00   19.320
+  48.00   45.00   40.430
+  48.00   48.00   32.198
+  48.00   51.00  103.891
+  48.00   54.00  111.070
+  48.00   57.00  113.685
+  48.00   60.00  142.450
+  48.00   63.00  142.450
+  48.00   66.00  142.450
+  48.00   69.00  142.450
+  51.00   15.00    7.047
+  51.00   18.00    4.399
+  51.00   21.00    6.029
+  51.00   24.00    9.930
+  51.00   27.00   21.400
+  51.00   30.00   21.400
+  51.00   33.00   21.400
+  51.00   36.00   21.400
+  51.00   39.00   11.290
+  51.00   42.00   19.043
+  51.00   45.00   19.770
+  51.00   48.00   19.320
+  51.00   51.00   75.318
+  51.00   54.00  111.070
+  51.00   57.00  111.070
+  51.00   60.00  131.118
+  51.00   63.00  142.450
+  51.00   66.00  142.450
+  51.00   69.00  100.850
+  51.00   72.00  100.850
+  54.00  -24.00  292.610
+  54.00   15.00    2.450
+  54.00   18.00    2.584
+  54.00   21.00    4.912
+  54.00   24.00   10.163
+  54.00   27.00   21.400
+  54.00   30.00   21.400
+  54.00   33.00   21.400
+  54.00   36.00   19.428
+  54.00   39.00   18.898
+  54.00   42.00   23.077
+  54.00   45.00   19.320
+  54.00   48.00   19.871
+  54.00   51.00   63.330
+  54.00   54.00  111.070
+  54.00   57.00  111.070
+  54.00   60.00  131.990
+  54.00   63.00  142.450
+  54.00   66.00  142.450
+  54.00   69.00  100.850
+  54.00   72.00  100.850
+  54.00   75.00  100.850
+  57.00  -21.00  292.610
+  57.00   18.00    2.450
+  57.00   21.00    2.450
+  57.00   24.00   21.400
+  57.00   27.00   21.400
+  57.00   30.00   21.400
+  57.00   33.00   21.400
+  57.00   36.00   19.006
+  57.00   39.00   47.297
+  57.00   42.00   35.886
+  57.00   45.00   20.475
+  57.00   48.00   19.871
+  57.00   51.00   47.096
+  57.00   54.00  106.096
+  57.00   57.00  109.680
+  57.00   60.00  123.076
+  57.00   63.00  135.600
+  57.00   66.00  142.450
+  57.00   69.00  142.450
+  57.00   72.00  100.850
+  60.00   24.00   17.087
+  60.00   27.00   18.120
+  60.00   30.00   16.404
+  60.00   33.00   15.981
+  60.00   36.00   20.792
+  60.00   39.00   38.293
+  60.00   42.00   30.727
+  60.00   45.00   26.274
+  60.00   48.00   19.595
+  60.00   51.00   47.980
+  60.00   54.00  107.327
+  60.00   57.00  107.220
+  60.00   60.00  107.220
+  60.00   63.00  113.092
+  60.00   66.00  142.450
+  60.00   69.00  142.450
+  63.00   24.00    9.000
+  63.00   27.00    9.763
+  63.00   30.00   13.580
+  63.00   33.00   13.824
+  63.00   36.00   32.748
+  63.00   39.00   29.277
+  63.00   42.00   30.531
+  63.00   45.00   32.864
+  63.00   48.00   19.320
+  63.00   51.00   22.962
+  63.00   54.00   98.424
+  63.00   57.00  107.220
+  63.00   60.00  107.220
+  63.00   63.00  107.220
+  63.00   66.00  133.642
+  63.00   69.00  142.450
+  66.00  -51.00  292.610
+  66.00   21.00   42.900
+  66.00   24.00  126.729
+  66.00   27.00  118.008
+  66.00   30.00   26.333
+  66.00   33.00   17.965
+  66.00   36.00   28.267
+  66.00   39.00   27.934
+  66.00   42.00   38.500
+  66.00   45.00   29.256
+  66.00   48.00   24.351
+  66.00   51.00   27.917
+  66.00   54.00   83.032
+  66.00   57.00  107.220
+  66.00   60.00  107.372
+  66.00   63.00  108.132
+  66.00   66.00  120.031
+  66.00   69.00  112.690
+  66.00   72.00  112.690
+  66.00   75.00  100.850
+  69.00  -51.00  292.610
+  69.00   18.00   59.830
+  69.00   21.00   49.672
+  69.00   24.00   87.512
+  69.00   27.00  105.257
+  69.00   30.00   55.241
+  69.00   33.00   39.119
+  69.00   36.00   27.840
+  69.00   39.00   18.787
+  69.00   42.00   26.777
+  69.00   45.00   22.900
+  69.00   48.00   22.900
+  69.00   51.00   28.060
+  69.00   54.00   80.833
+  69.00   57.00  107.220
+  69.00   60.00  108.132
+  69.00   63.00  111.019
+  69.00   66.00  116.141
+  69.00   69.00  112.690
+  69.00   72.00  112.690
+  72.00   12.00  607.250
+  72.00   15.00  355.113
+  72.00   18.00  316.437
+  72.00   21.00  202.458
+  72.00   24.00   66.885
+  72.00   27.00   49.197
+  72.00   30.00   61.081
+  72.00   33.00   61.708
+  72.00   36.00   35.810
+  72.00   39.00    8.660
+  72.00   42.00   20.726
+  72.00   45.00   23.515
+  72.00   48.00   23.187
+  72.00   51.00   30.021
+  72.00   54.00  107.220
+  72.00   57.00  107.220
+  72.00   60.00  107.828
+  72.00   63.00  112.690
+  72.00   66.00  112.462
+  72.00   69.00  112.690
+  72.00   72.00  112.690
+  75.00    6.00  607.250
+  75.00    9.00  436.299
+  75.00   12.00  175.603
+  75.00   15.00  133.726
+  75.00   18.00  221.651
+  75.00   21.00  161.426
+  75.00   24.00   53.940
+  75.00   27.00  132.516
+  75.00   30.00   68.446
+  75.00   33.00   40.807
+  75.00   36.00    4.940
+  75.00   39.00    6.182
+  75.00   42.00   24.146
+  75.00   45.00   23.651
+  75.00   48.00   24.763
+  75.00   51.00   31.024
+  75.00   54.00  105.021
+  75.00   57.00  107.220
+  75.00   60.00  109.803
+  75.00   63.00  112.690
+  75.00   66.00  112.690
+  75.00   69.00  112.690
+  75.00   72.00  112.690
+  78.00    6.00  321.700
+  78.00    9.00  383.863
+  78.00   12.00  140.541
+  78.00   15.00  152.348
+  78.00   18.00  230.150
+  78.00   21.00  204.389
+  78.00   24.00  135.582
+  78.00   27.00  204.734
+  78.00   30.00  103.312
+  78.00   33.00   29.772
+  78.00   36.00    4.940
+  78.00   39.00    5.062
+  78.00   42.00   22.049
+  78.00   45.00   25.153
+  78.00   48.00   27.057
+  78.00   51.00   85.231
+  78.00   54.00  107.220
+  78.00   57.00  107.220
+  78.00   60.00  111.778
+  78.00   63.00  112.690
+  78.00   66.00  112.690
+  78.00   69.00  112.690
+  78.00   72.00  109.307
+  81.00    6.00  321.700
+  81.00   15.00  216.836
+  81.00   18.00  260.146
+  81.00   21.00  268.682
+  81.00   24.00  250.127
+  81.00   27.00  109.302
+  81.00   30.00   47.741
+  81.00   33.00   20.283
+  81.00   36.00    4.940
+  81.00   39.00    4.940
+  81.00   42.00    4.940
+  81.00   45.00   20.671
+  81.00   48.00   30.259
+  81.00   51.00  107.220
+  81.00   54.00  107.220
+  81.00   57.00  107.372
+  81.00   60.00  112.690
+  81.00   63.00  112.690
+  81.00   66.00  112.690
+  81.00   69.00  111.645
+  81.00   72.00  100.850
+  84.00   18.00  261.013
+  84.00   21.00  290.768
+  84.00   24.00  687.294
+  84.00   27.00   82.100
+  84.00   30.00   53.568
+  84.00   33.00   26.517
+  84.00   36.00    4.940
+  84.00   39.00    4.940
+  84.00   42.00    4.940
+  84.00   45.00    8.743
+  84.00   48.00   58.446
+  84.00   51.00  107.220
+  84.00   54.00  107.220
+  84.00   57.00  107.676
+  84.00   60.00  112.538
+  84.00   63.00  112.690
+  84.00   66.00  112.690
+  84.00   69.00  108.086
+  84.00   72.00  100.850
+  87.00   21.00  973.079
+  87.00   24.00  956.648
+  87.00   27.00  117.337
+  87.00   30.00   53.568
+  87.00   33.00   14.804
+  87.00   36.00    4.940
+  87.00   39.00    4.940
+  87.00   42.00    4.940
+  87.00   45.00    4.767
+  87.00   48.00   59.150
+  87.00   51.00  109.499
+  87.00   54.00  107.220
+  87.00   57.00  108.132
+  87.00   60.00  112.690
+  87.00   63.00  112.690
+  87.00   66.00  111.703
+  87.00   69.00  100.850
+  87.00   72.00  100.850
+  87.00   75.00  100.850
+  90.00   12.00  626.550
+  90.00   18.00  626.550
+  90.00   21.00 1094.069
+  90.00   24.00  730.515
+  90.00   27.00  130.600
+  90.00   30.00   59.276
+  90.00   33.00   64.450
+  90.00   36.00    4.940
+  90.00   39.00    4.940
+  90.00   42.00    4.940
+  90.00   45.00    5.144
+  90.00   48.00   27.276
+  90.00   51.00  112.386
+  90.00   54.00  107.828
+  90.00   57.00  110.867
+  90.00   60.00  112.690
+  90.00   63.00  112.690
+  90.00   66.00  111.046
+  90.00   69.00  100.850
+  90.00   72.00  100.850
+  90.00   75.00  100.850
+  93.00    3.00  603.770
+  93.00   15.00  626.550
+  93.00   18.00  626.550
+  93.00   21.00  618.573
+  93.00   24.00  538.801
+  93.00   27.00  338.223
+  93.00   30.00   62.897
+  93.00   33.00   75.073
+  93.00   36.00    4.940
+  93.00   39.00    4.940
+  93.00   42.00    5.006
+  93.00   45.00    5.280
+  93.00   48.00   32.757
+  93.00   51.00  111.778
+  93.00   54.00  111.778
+  93.00   57.00  112.690
+  93.00   60.00  112.690
+  93.00   63.00  112.690
+  93.00   66.00  111.703
+  93.00   69.00  100.850
+  93.00   72.00  100.850
+  93.00   75.00  100.850
+  96.00   -3.00  603.770
+  96.00    0.00  603.770
+  96.00    3.00  603.770
+  96.00    6.00  481.180
+  96.00    9.00  553.865
+  96.00   12.00  594.246
+  96.00   15.00  537.765
+  96.00   18.00  521.227
+  96.00   21.00  626.550
+  96.00   24.00  466.667
+  96.00   27.00  274.303
+  96.00   30.00   70.251
+  96.00   33.00   46.320
+  96.00   36.00    6.830
+  96.00   39.00    5.398
+  96.00   42.00    5.362
+  96.00   45.00    5.343
+  96.00   48.00   30.836
+  96.00   51.00  103.623
+  96.00   54.00  112.690
+  96.00   57.00  112.690
+  96.00   60.00  112.690
+  96.00   63.00  112.690
+  96.00   66.00  108.086
+  96.00   69.00  100.850
+  96.00   72.00  100.850
+  96.00   75.00  100.850
+  99.00   -6.00  603.770
+  99.00   -3.00  603.770
+  99.00    0.00  602.388
+  99.00    3.00  566.057
+  99.00    6.00  490.888
+  99.00    9.00  522.714
+  99.00   12.00  304.332
+  99.00   15.00  209.580
+  99.00   18.00  272.729
+  99.00   21.00  161.857
+  99.00   24.00   73.231
+  99.00   27.00   97.796
+  99.00   30.00  100.550
+  99.00   33.00   27.987
+  99.00   36.00   16.007
+  99.00   39.00    5.690
+  99.00   42.00    5.348
+  99.00   45.00    6.030
+  99.00   48.00    7.530
+  99.00   51.00   86.361
+  99.00   54.00  112.690
+  99.00   57.00  112.690
+  99.00   60.00  112.690
+  99.00   63.00  112.690
+  99.00   66.00  102.166
+  99.00   69.00  100.850
+  99.00   72.00  100.850
+  99.00   75.00  100.850
+  99.00   78.00  100.850
+ 102.00   -6.00  603.770
+ 102.00   -3.00  603.770
+ 102.00    0.00  572.771
+ 102.00    3.00  563.700
+ 102.00    9.00  370.868
+ 102.00   12.00  308.947
+ 102.00   15.00  209.580
+ 102.00   18.00  365.586
+ 102.00   21.00  271.784
+ 102.00   24.00  160.609
+ 102.00   27.00  100.550
+ 102.00   30.00   93.953
+ 102.00   33.00   45.578
+ 102.00   36.00   13.976
+ 102.00   39.00    6.551
+ 102.00   42.00    5.280
+ 102.00   45.00    6.343
+ 102.00   48.00   10.493
+ 102.00   51.00  100.850
+ 102.00   54.00  107.099
+ 102.00   57.00  112.690
+ 102.00   60.00  112.690
+ 102.00   63.00  110.059
+ 102.00   66.00  100.850
+ 102.00   69.00  100.850
+ 102.00   72.00  100.850
+ 102.00   75.00  100.850
+ 102.00   78.00  100.850
+ 105.00   -9.00  415.670
+ 105.00   -6.00  603.770
+ 105.00   -3.00  603.770
+ 105.00    9.00  463.804
+ 105.00   12.00  379.984
+ 105.00   15.00  390.731
+ 105.00   18.00  474.162
+ 105.00   21.00  345.045
+ 105.00   24.00  194.678
+ 105.00   27.00  100.550
+ 105.00   30.00  114.720
+ 105.00   33.00  101.515
+ 105.00   36.00   22.934
+ 105.00   39.00   17.017
+ 105.00   42.00    5.314
+ 105.00   45.00    5.968
+ 105.00   48.00   10.917
+ 105.00   51.00   71.570
+ 105.00   54.00  100.850
+ 105.00   57.00  110.717
+ 105.00   60.00  112.690
+ 105.00   63.00  106.441
+ 105.00   66.00  100.850
+ 105.00   69.00  100.850
+ 105.00   72.00  100.850
+ 105.00   75.00  100.850
+ 108.00   -9.00  415.670
+ 108.00   -3.00  676.050
+ 108.00    0.00  696.186
+ 108.00    3.00  676.050
+ 108.00    9.00  481.720
+ 108.00   12.00  481.720
+ 108.00   15.00  481.720
+ 108.00   18.00  229.950
+ 108.00   21.00  236.882
+ 108.00   24.00  164.231
+ 108.00   27.00   93.830
+ 108.00   30.00  206.825
+ 108.00   33.00  150.551
+ 108.00   36.00   43.776
+ 108.00   39.00   19.981
+ 108.00   42.00    5.360
+ 108.00   45.00    5.280
+ 108.00   48.00   23.430
+ 108.00   51.00   48.797
+ 108.00   54.00  100.850
+ 108.00   57.00  102.166
+ 108.00   60.00  103.481
+ 108.00   63.00  101.179
+ 108.00   66.00  100.850
+ 108.00   69.00  100.850
+ 108.00   72.00  100.850
+ 108.00   75.00  100.850
+ 111.00  -27.00   16.410
+ 111.00  -24.00   16.410
+ 111.00   -9.00  415.670
+ 111.00   -6.00  676.050
+ 111.00   -3.00  676.050
+ 111.00    0.00  717.041
+ 111.00    3.00  751.560
+ 111.00   21.00  327.385
+ 111.00   24.00  158.739
+ 111.00   27.00  127.794
+ 111.00   30.00  275.464
+ 111.00   33.00  106.462
+ 111.00   36.00   40.556
+ 111.00   39.00   26.996
+ 111.00   42.00    5.644
+ 111.00   45.00    5.280
+ 111.00   48.00   57.031
+ 111.00   51.00   71.945
+ 111.00   54.00  100.850
+ 111.00   57.00  100.850
+ 111.00   60.00  100.850
+ 111.00   63.00  100.850
+ 111.00   66.00  100.850
+ 111.00   69.00  100.850
+ 111.00   72.00  100.850
+ 111.00   75.00  100.850
+ 114.00  -36.00   16.410
+ 114.00  -33.00   16.410
+ 114.00  -30.00   16.410
+ 114.00  -27.00   16.410
+ 114.00  -24.00   16.410
+ 114.00  -21.00   16.410
+ 114.00   -9.00  415.670
+ 114.00   -6.00  676.050
+ 114.00   -3.00  676.050
+ 114.00    0.00  686.837
+ 114.00    3.00  759.282
+ 114.00    6.00  751.560
+ 114.00   21.00  344.330
+ 114.00   24.00  349.657
+ 114.00   27.00  355.610
+ 114.00   30.00  206.993
+ 114.00   33.00   66.348
+ 114.00   36.00   38.977
+ 114.00   39.00   31.332
+ 114.00   42.00    8.707
+ 114.00   45.00    5.371
+ 114.00   48.00   54.461
+ 114.00   51.00  117.662
+ 114.00   54.00  101.430
+ 114.00   57.00  100.850
+ 114.00   60.00  100.850
+ 114.00   63.00  100.850
+ 114.00   66.00  100.850
+ 114.00   69.00  100.850
+ 114.00   72.00  100.850
+ 117.00  -36.00   16.410
+ 117.00  -33.00   16.410
+ 117.00  -30.00   16.410
+ 117.00  -27.00   17.299
+ 117.00  -24.00   16.410
+ 117.00  -21.00   19.967
+ 117.00  -12.00  415.670
+ 117.00   -9.00  415.670
+ 117.00   -6.00  597.310
+ 117.00   -3.00  611.626
+ 117.00    0.00  676.050
+ 117.00    3.00  737.402
+ 117.00    6.00  686.740
+ 117.00    9.00  492.280
+ 117.00   21.00  344.330
+ 117.00   24.00  346.065
+ 117.00   27.00  353.103
+ 117.00   30.00  300.856
+ 117.00   33.00   71.828
+ 117.00   36.00   50.658
+ 117.00   39.00   34.062
+ 117.00   42.00   34.669
+ 117.00   45.00   27.404
+ 117.00   48.00   81.393
+ 117.00   51.00  121.140
+ 117.00   54.00  102.589
+ 117.00   57.00  100.850
+ 117.00   60.00  100.850
+ 117.00   63.00  100.850
+ 117.00   66.00  100.850
+ 117.00   69.00  100.850
+ 117.00   72.00  100.850
+ 120.00  -36.00   16.410
+ 120.00  -33.00   16.410
+ 120.00  -30.00   19.967
+ 120.00  -27.00   43.085
+ 120.00  -24.00   36.861
+ 120.00  -21.00   45.859
+ 120.00  -18.00   48.420
+ 120.00  -12.00  415.670
+ 120.00   -9.00  415.670
+ 120.00   -6.00  597.310
+ 120.00   -3.00  597.310
+ 120.00    0.00  597.310
+ 120.00    6.00  492.280
+ 120.00    9.00  492.280
+ 120.00   12.00  492.280
+ 120.00   15.00  492.280
+ 120.00   18.00  492.280
+ 120.00   21.00  475.250
+ 120.00   24.00  475.250
+ 120.00   27.00  355.610
+ 120.00   30.00  246.103
+ 120.00   33.00   74.020
+ 120.00   36.00   49.180
+ 120.00   39.00   36.480
+ 120.00   42.00   38.627
+ 120.00   45.00   40.618
+ 120.00   48.00   48.022
+ 120.00   51.00   76.133
+ 120.00   54.00  104.328
+ 120.00   57.00  100.850
+ 120.00   60.00  100.850
+ 120.00   63.00  100.850
+ 120.00   66.00  100.850
+ 120.00   69.00  100.850
+ 120.00   72.00  100.850
+ 123.00  -36.00   16.410
+ 123.00  -33.00   30.532
+ 123.00  -30.00   46.642
+ 123.00  -27.00   48.420
+ 123.00  -24.00   48.420
+ 123.00  -21.00   48.420
+ 123.00  -18.00   48.420
+ 123.00  -15.00   48.420
+ 123.00  -12.00  415.670
+ 123.00   -9.00  415.670
+ 123.00   -3.00  597.310
+ 123.00    0.00  597.310
+ 123.00    3.00  492.280
+ 123.00    6.00  492.280
+ 123.00    9.00  492.280
+ 123.00   12.00  492.280
+ 123.00   36.00  179.300
+ 123.00   39.00   78.109
+ 123.00   42.00   39.560
+ 123.00   45.00   39.560
+ 123.00   48.00   39.560
+ 123.00   51.00   71.207
+ 123.00   54.00  111.865
+ 123.00   57.00  100.850
+ 123.00   60.00  100.850
+ 123.00   63.00  100.850
+ 123.00   66.00  100.850
+ 123.00   69.00  100.850
+ 123.00   72.00  100.850
+ 126.00  -33.00   48.420
+ 126.00  -30.00   48.420
+ 126.00  -27.00   48.420
+ 126.00  -24.00   48.420
+ 126.00  -21.00   48.420
+ 126.00  -18.00   48.420
+ 126.00  -15.00   48.420
+ 126.00   -9.00  415.670
+ 126.00   -6.00  597.310
+ 126.00   -3.00  597.310
+ 126.00    0.00  597.310
+ 126.00    6.00  492.280
+ 126.00   33.00  265.810
+ 126.00   36.00  243.485
+ 126.00   39.00  156.010
+ 126.00   42.00   45.378
+ 126.00   45.00   40.618
+ 126.00   48.00   71.373
+ 126.00   51.00  114.707
+ 126.00   54.00  114.763
+ 126.00   57.00  100.850
+ 126.00   60.00  100.850
+ 126.00   63.00  100.850
+ 126.00   66.00  100.850
+ 126.00   69.00  100.850
+ 126.00   72.00  100.850
+ 129.00  -33.00   48.420
+ 129.00  -30.00   48.420
+ 129.00  -27.00   48.420
+ 129.00  -24.00   48.420
+ 129.00  -21.00   48.420
+ 129.00  -18.00   48.420
+ 129.00  -15.00   48.420
+ 129.00  -12.00   48.420
+ 129.00   -9.00  597.310
+ 129.00   -6.00  597.310
+ 129.00   -3.00  597.310
+ 129.00   30.00  455.040
+ 129.00   33.00  420.635
+ 129.00   36.00  265.810
+ 129.00   39.00  179.300
+ 129.00   42.00   93.412
+ 129.00   45.00   62.107
+ 129.00   48.00  109.447
+ 129.00   51.00  121.720
+ 129.00   54.00  114.763
+ 129.00   57.00  100.850
+ 129.00   60.00  100.850
+ 129.00   63.00  100.850
+ 129.00   66.00  100.850
+ 129.00   69.00  100.850
+ 132.00  -36.00   48.420
+ 132.00  -33.00   48.420
+ 132.00  -30.00   48.420
+ 132.00  -27.00   48.420
+ 132.00  -24.00   48.420
+ 132.00  -21.00   48.420
+ 132.00  -18.00   48.420
+ 132.00  -15.00   48.420
+ 132.00  -12.00   48.420
+ 132.00   -9.00  597.310
+ 132.00   -6.00  597.310
+ 132.00   -3.00  597.310
+ 132.00   30.00  455.040
+ 132.00   33.00  455.040
+ 132.00   42.00  121.720
+ 132.00   45.00   84.900
+ 132.00   48.00  119.967
+ 132.00   51.00  121.720
+ 132.00   54.00  113.024
+ 132.00   57.00  100.850
+ 132.00   60.00  100.850
+ 132.00   63.00  100.850
+ 132.00   66.00  100.850
+ 132.00   69.00  100.850
+ 135.00  -36.00   48.420
+ 135.00  -33.00   48.420
+ 135.00  -30.00   48.420
+ 135.00  -27.00   48.420
+ 135.00  -24.00   48.420
+ 135.00  -21.00   48.420
+ 135.00  -18.00   48.420
+ 135.00  -15.00   48.420
+ 135.00   -6.00  597.310
+ 135.00   -3.00  597.310
+ 135.00   33.00  455.040
+ 135.00   36.00  455.040
+ 135.00   42.00  121.720
+ 135.00   45.00  121.720
+ 135.00   48.00  121.720
+ 135.00   51.00  121.720
+ 135.00   54.00  106.067
+ 135.00   57.00  100.850
+ 135.00   60.00  100.850
+ 135.00   63.00  100.850
+ 135.00   66.00  100.850
+ 135.00   69.00  100.850
+ 135.00   75.00  100.850
+ 138.00  -39.00   99.530
+ 138.00  -36.00   31.264
+ 138.00  -33.00   46.173
+ 138.00  -30.00   48.420
+ 138.00  -27.00   48.420
+ 138.00  -24.00   48.420
+ 138.00  -21.00   48.420
+ 138.00  -18.00   48.420
+ 138.00   -9.00  597.310
+ 138.00   -6.00  597.310
+ 138.00   -3.00  597.310
+ 138.00   33.00  455.040
+ 138.00   36.00  455.040
+ 138.00   39.00  425.378
+ 138.00   42.00  306.730
+ 138.00   45.00  121.720
+ 138.00   48.00  121.720
+ 138.00   51.00  121.720
+ 138.00   54.00  114.763
+ 138.00   57.00  100.850
+ 138.00   60.00  100.850
+ 138.00   63.00  100.850
+ 138.00   66.00  100.850
+ 138.00   69.00  100.850
+ 138.00   72.00  100.850
+ 138.00   75.00  100.850
+ 141.00  -39.00   66.094
+ 141.00  -36.00   28.200
+ 141.00  -33.00   33.817
+ 141.00  -30.00   47.297
+ 141.00  -27.00   48.420
+ 141.00  -24.00   48.420
+ 141.00  -21.00   48.420
+ 141.00  -18.00   48.420
+ 141.00  -15.00   48.420
+ 141.00  -12.00  363.579
+ 141.00   -9.00  783.790
+ 141.00   -6.00  783.790
+ 141.00   -3.00  783.790
+ 141.00   36.00  455.040
+ 141.00   39.00  455.040
+ 141.00   42.00  306.730
+ 141.00   45.00  146.601
+ 141.00   48.00  100.850
+ 141.00   51.00  104.145
+ 141.00   54.00  100.850
+ 141.00   57.00  100.850
+ 141.00   60.00  100.850
+ 141.00   63.00  100.850
+ 141.00   66.00  100.850
+ 141.00   69.00  100.850
+ 141.00   72.00  100.850
+ 141.00   75.00  100.850
+ 144.00  -45.00  248.790
+ 144.00  -42.00  248.790
+ 144.00  -39.00   61.636
+ 144.00  -36.00   28.200
+ 144.00  -33.00   28.200
+ 144.00  -30.00   29.323
+ 144.00  -27.00   40.896
+ 144.00  -24.00   56.220
+ 144.00  -21.00   60.652
+ 144.00  -18.00   49.256
+ 144.00  -15.00   48.420
+ 144.00   -9.00  783.790
+ 144.00   -6.00  783.790
+ 144.00   42.00  306.730
+ 144.00   48.00  100.850
+ 144.00   57.00  100.850
+ 144.00   60.00  100.850
+ 144.00   63.00  100.850
+ 144.00   66.00  100.850
+ 144.00   69.00  100.850
+ 144.00   72.00  100.850
+ 144.00   75.00  100.850
+ 147.00  -45.00  248.790
+ 147.00  -42.00  248.790
+ 147.00  -39.00   85.264
+ 147.00  -36.00   42.070
+ 147.00  -33.00   32.396
+ 147.00  -30.00   28.200
+ 147.00  -27.00   52.331
+ 147.00  -24.00   65.970
+ 147.00  -21.00   65.970
+ 147.00  -12.00  783.790
+ 147.00   -9.00  783.790
+ 147.00   -6.00  783.790
+ 147.00   45.00  306.730
+ 147.00   57.00  100.850
+ 147.00   60.00  100.850
+ 147.00   63.00  100.850
+ 147.00   66.00  100.850
+ 147.00   69.00  100.850
+ 147.00   72.00  100.850
+ 147.00   75.00  100.850
+ 150.00  -36.00   99.530
+ 150.00  -33.00   77.915
+ 150.00  -30.00   50.463
+ 150.00  -27.00   63.681
+ 150.00  -24.00   65.970
+ 150.00  -12.00  783.790
+ 150.00   -9.00  783.790
+ 150.00   -6.00  783.790
+ 150.00   57.00  100.850
+ 150.00   60.00  100.850
+ 150.00   63.00  100.850
+ 150.00   66.00  100.850
+ 150.00   69.00  100.850
+ 153.00  -33.00   99.530
+ 153.00  -30.00   86.106
+ 153.00  -27.00   65.970
+ 153.00   -9.00  783.790
+ 153.00   -6.00  783.790
+ 153.00   48.00  100.850
+ 153.00   54.00  100.850
+ 153.00   57.00  100.850
+ 153.00   60.00  100.850
+ 153.00   63.00  100.850
+ 153.00   66.00  100.850
+ 153.00   69.00  100.850
+ 156.00   -9.00  482.750
+ 156.00   51.00  100.850
+ 156.00   54.00  100.850
+ 156.00   57.00  100.850
+ 156.00   60.00  100.850
+ 156.00   63.00  100.850
+ 156.00   66.00  100.850
+ 156.00   69.00  100.850
+ 159.00  -12.00  482.750
+ 159.00   -9.00  482.750
+ 159.00   51.00  100.850
+ 159.00   54.00  100.850
+ 159.00   57.00  100.850
+ 159.00   60.00  100.850
+ 159.00   63.00  100.850
+ 159.00   66.00  100.850
+ 159.00   69.00  100.850
+ 162.00  -21.00  482.750
+ 162.00   54.00  100.850
+ 162.00   57.00  100.850
+ 162.00   60.00  100.850
+ 162.00   63.00  100.850
+ 162.00   66.00  100.850
+ 162.00   69.00  100.850
+ 165.00  -48.00  382.330
+ 165.00  -45.00  382.330
+ 165.00  -24.00  482.750
+ 165.00  -18.00  482.750
+ 165.00   60.00  100.850
+ 165.00   63.00  100.850
+ 165.00   66.00  100.850
+ 165.00   69.00  100.850
+ 168.00  -48.00  382.330
+ 168.00  -45.00  382.330
+ 168.00   60.00  100.850
+ 168.00   63.00  100.850
+ 168.00   66.00  100.850
+ 168.00   69.00  100.850
+ 171.00  -45.00  382.330
+ 171.00  -42.00  382.330
+ 171.00  -36.00  382.330
+ 171.00   60.00  100.850
+ 171.00   63.00  100.850
+ 171.00   66.00  100.850
+ 171.00   69.00  100.850
+ 174.00  -42.00  382.330
+ 174.00  -39.00  382.330
+ 174.00  -36.00  382.330
+ 174.00   60.00  100.850
+ 174.00   63.00  100.850
+ 174.00   66.00  100.850
+ 174.00   69.00  100.850
+ 177.00  -39.00  382.330
+ 177.00  -21.00  482.750
+ 177.00  -18.00  482.750
+ 177.00   60.00  100.850
+ 177.00   63.00  100.850
+ 177.00   66.00  100.850
+ 177.00   69.00  100.850
diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java
index 344e9e74c46ba49fcff2fdbeb36b6b7a1a809db4..2e1a43b06db655d73fb66930e258fb1f7311cfa1 100644
--- a/src/ac/ed/lurg/ModelConfig.java
+++ b/src/ac/ed/lurg/ModelConfig.java
@@ -111,8 +111,10 @@ public class ModelConfig {
 	public static final String SPATIAL_DATA_DIR = getProperty("SPATIAL_DATA_DIR", DATA_DIR + File.separator + SPATIAL_DIR_NAME);
 	public static final String INITAL_LAND_COVER_FILE = SPATIAL_DATA_DIR + File.separator + "netfract_hurtt_2000.txt";
 	public static final String COUNTRY_BOUNDARY_FILE = SPATIAL_DATA_DIR + File.separator + "country_boundaries.asc";
-	public static final String IRRIGATION_COST_FILE = SPATIAL_DATA_DIR + File.separator + "irrigation_cost.asc";;
-	
+	public static final String IRRIGATION_COST_FILE = SPATIAL_DATA_DIR + File.separator + "irrigation_cost.asc";
+	public static final String IRRIGATION_CONSTRAINT_FILE = SPATIAL_DATA_DIR + File.separator + "blue_water_available_pseudoCRU_rcp8p5_2004_2013_grid_allhdyro_mm_3deg.txt";
+	public static final String IRRIG_MAX_WATER_FILE = YIELD_DIR + File.separator + "max_irrig_water.out";
+
 	// Output
 	public static final String TOTAL_LAND_COVER_FILE = OUTPUT_DIR + File.separator + "total_lc.txt";
 	public static final boolean OUTPUT_FOR_LPJG = getBooleanProperty("OUTPUT_FOR_LPJG", true);
diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java
index 6af6aa816df39a7311fb094f8975deaf032f5b2c..6991c744ae186a8b03d216e1df443d604c9973c3 100644
--- a/src/ac/ed/lurg/ModelMain.java
+++ b/src/ac/ed/lurg/ModelMain.java
@@ -22,7 +22,9 @@ import ac.ed.lurg.landuse.AreasItem;
 import ac.ed.lurg.landuse.CropUsageData;
 import ac.ed.lurg.landuse.CropUsageReader;
 import ac.ed.lurg.landuse.IntensitiesItem;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationConstraintReader;
+import ac.ed.lurg.landuse.IrrigationItem;
+import ac.ed.lurg.landuse.IrrigationMaxAmountReader;
 import ac.ed.lurg.landuse.IrrigiationCostReader;
 import ac.ed.lurg.landuse.LandCoverItem;
 import ac.ed.lurg.landuse.LandCoverReader;
@@ -208,7 +210,7 @@ public class ModelMain {
 
 	private void writeMarketFile(Timestep timestep, RasterSet<IntensitiesItem> intensityRaster, RasterSet<AreasItem> cropAreaRaster) {
 		try {
-			StringBuffer sbHeadings = new StringBuffer("Year, Cropland (Mha), Pasture (Mha), Natural (Mha), Fert crop (Gt), Fert pasture (Gt)");
+			StringBuffer sbHeadings = new StringBuffer("Year, Cropland (Mha), Pasture (Mha), Natural (Mha), Fert crop (Mt), Fert pasture (Mt), Fert crop (M litre), Fert pasture (M litre)");
 			for (CropType crop : CropType.getImportedTypes())
 				sbHeadings.append(",Px_" + crop.getGamsName());
 
@@ -224,6 +226,9 @@ public class ModelMain {
 			sbData.append(String.format(", %.1f", IntensitiesItem.getFertiliserTotal(intensityRaster.values(), CropType.getCropsLessPasture())/1000));
 			sbData.append(String.format(", %.1f", IntensitiesItem.getFertiliserTotal(intensityRaster.values(), CropType.PASTURE)/1000));
 			
+			sbData.append(String.format(", %.1f", IntensitiesItem.getIrrigationTotal(intensityRaster.values(), CropType.getCropsLessPasture())));
+			sbData.append(String.format(", %.1f", IntensitiesItem.getIrrigationTotal(intensityRaster.values(), CropType.PASTURE)));
+
 			for (CropType crop : CropType.getImportedTypes() )
 				sbData.append(String.format(", %.3f", prevWorldPrices.get(crop)));
 
@@ -294,7 +299,7 @@ public class ModelMain {
 		Collection<CountryAgent> countryAgents = new HashSet<CountryAgent>();
 
 		RasterSet<LandCoverItem> initLC = getInitialLandCover();
-		RasterSet<IrrigationCostItem> allIrrigationCosts = getIrrigationCosts();
+		RasterSet<IrrigationItem> allIrrigationCosts = getIrrigationCosts();
 		Map<CompositeCountry, Map<CropType, CropUsageData>> cropUsageDataMap = new CropUsageReader(compositeCountryManager).getCommodityData();
 
 		for (CompositeCountry cc : countryGrouping) {
@@ -308,7 +313,7 @@ public class ModelMain {
 
 			List<RasterKey> keys = countryBoundaryRaster.getKeysFor(cc);
 			RasterSet<LandCoverItem> initCountryLC = initLC.popSubsetForKeys(new RasterSet<LandCoverItem>(initLC.getHeaderDetails()), keys);
-			RasterSet<IrrigationCostItem> irrigationCosts = allIrrigationCosts.popSubsetForKeys(new RasterSet<IrrigationCostItem>(allIrrigationCosts.getHeaderDetails()), keys);
+			RasterSet<IrrigationItem> irrigationCosts = allIrrigationCosts.popSubsetForKeys(new RasterSet<IrrigationItem>(allIrrigationCosts.getHeaderDetails()), keys);
 			Map<CropType, CropUsageData> countryCommodityData = cropUsageDataMap.get(cc);
 
 			if (countryCommodityData == null) {
@@ -338,17 +343,20 @@ public class ModelMain {
 		return yieldReader.getRasterData(timestep); 
 	}
 
-	private RasterSet<IrrigationCostItem> getIrrigationCosts() {
-		RasterSet<IrrigationCostItem> irigCosts = new RasterSet<IrrigationCostItem>(desiredProjection) {
+	private RasterSet<IrrigationItem> getIrrigationCosts() {
+		RasterSet<IrrigationItem> irigCosts = new RasterSet<IrrigationItem>(desiredProjection) {
 			private static final long serialVersionUID = 8393130687550888654L;
 
-			protected IrrigationCostItem createRasterData() {
-				return new IrrigationCostItem();
+			protected IrrigationItem createRasterData() {
+				return new IrrigationItem();
 			}
 		};
 
-		IrrigiationCostReader irigCostReader = new IrrigiationCostReader(irigCosts);
-		irigCostReader.getRasterDataFromFile(ModelConfig.IRRIGATION_COST_FILE); 
+		new IrrigiationCostReader(irigCosts).getRasterDataFromFile(ModelConfig.IRRIGATION_COST_FILE); 
+		new IrrigationConstraintReader(irigCosts).getRasterDataFromFile(ModelConfig.IRRIGATION_CONSTRAINT_FILE); 
+		new IrrigationMaxAmountReader(irigCosts).getRasterDataFromFile(ModelConfig.IRRIG_MAX_WATER_FILE);
+
+		
 		return irigCosts;
 	}
 }
\ No newline at end of file
diff --git a/src/ac/ed/lurg/country/CountryAgent.java b/src/ac/ed/lurg/country/CountryAgent.java
index 550a05c433694657140fa6c79ba2432ab44fffa0..e81e6aab2aeaa89516f53bf304a2933567859871 100644
--- a/src/ac/ed/lurg/country/CountryAgent.java
+++ b/src/ac/ed/lurg/country/CountryAgent.java
@@ -11,7 +11,7 @@ import ac.ed.lurg.country.gams.GamsRasterOutput;
 import ac.ed.lurg.demand.DemandManager;
 import ac.ed.lurg.landuse.AreasItem;
 import ac.ed.lurg.landuse.CropUsageData;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.landuse.LandCoverItem;
 import ac.ed.lurg.types.CommodityType;
 import ac.ed.lurg.types.CropType;
@@ -29,10 +29,10 @@ public class CountryAgent {
 
 	private Timestep currentTimestep;
 	private YieldRaster countryYieldSurfaces;
-	private RasterSet<IrrigationCostItem> irrigationCostRaster;
+	private RasterSet<IrrigationItem> irrigationCostRaster;
 
 	public CountryAgent(DemandManager demandManager, CompositeCountry country, RasterSet<LandCoverItem> initialLC,
-			RasterSet<IrrigationCostItem> irrigationCostRaster, Map<CropType, CropUsageData> cropUsageData) {
+			RasterSet<IrrigationItem> irrigationCostRaster, Map<CropType, CropUsageData> cropUsageData) {
 		
 		this.demandManager = demandManager;
 		this.country = country;
diff --git a/src/ac/ed/lurg/country/gams/GamsLocationInput.java b/src/ac/ed/lurg/country/gams/GamsLocationInput.java
index f780d39a714d235aa24b7445998c8c13bad46b20..5ec01267f01396bb6948ee17c2624e7c5fee9c09 100644
--- a/src/ac/ed/lurg/country/gams/GamsLocationInput.java
+++ b/src/ac/ed/lurg/country/gams/GamsLocationInput.java
@@ -4,7 +4,7 @@ import java.util.Map;
 
 import ac.ed.lurg.Timestep;
 import ac.ed.lurg.landuse.AreasItem;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.types.CropType;
 import ac.ed.lurg.yield.YieldResponsesItem;
 
@@ -13,11 +13,11 @@ public class GamsLocationInput {
 	private Timestep timestep;
 	private Map<Integer, ? extends YieldResponsesItem> yields;
 	private Map<Integer, ? extends AreasItem> previousAreas;
-	private Map<Integer, ? extends IrrigationCostItem> irrigationCosts;
+	private Map<Integer, ? extends IrrigationItem> irrigationCosts;
 	private GamsCountryInput countryInput;
 	
 	public GamsLocationInput(Timestep timestep, Map<Integer, ? extends YieldResponsesItem> yields, Map<Integer, ? extends AreasItem> previousAreas,
-			Map<Integer, ? extends IrrigationCostItem> irrigationCosts, GamsCountryInput countryInput) {
+			Map<Integer, ? extends IrrigationItem> irrigationCosts, GamsCountryInput countryInput) {
 		super();
 		this.timestep = timestep;
 		this.yields = yields;
@@ -39,7 +39,7 @@ public class GamsLocationInput {
 		return previousAreas;
 	}
 	
-	public Map<Integer, ? extends IrrigationCostItem> getIrrigationCosts() {
+	public Map<Integer, ? extends IrrigationItem> getIrrigationCosts() {
 		return irrigationCosts;
 	}
 	
diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
index 9e83aea186b0d8dcaa20f97311f87110f4f18930..2bb0e6b8f39e34677dd3a4e43e1ea256028d166e 100644
--- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
+++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
@@ -11,7 +11,7 @@ import ac.ed.lurg.landuse.AreasItem;
 import ac.ed.lurg.landuse.CropUsageData;
 import ac.ed.lurg.landuse.IntensitiesItem;
 import ac.ed.lurg.landuse.Intensity;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.types.CommodityType;
 import ac.ed.lurg.types.CropType;
 import ac.ed.lurg.types.LandCoverType;
@@ -118,9 +118,9 @@ public class GamsLocationOptimiser {
 
 		if (DEBUG) LogWriter.println("\nIrrigation cost");
 		GAMSParameter irrigCostP = inDB.addParameter("irrigCost", 1);
-		for (Entry<Integer, ? extends IrrigationCostItem> entry : inputData.getIrrigationCosts().entrySet()) {
+		for (Entry<Integer, ? extends IrrigationItem> entry : inputData.getIrrigationCosts().entrySet()) {
 			Integer locationId = entry.getKey();
-			IrrigationCostItem irrigCostItem = entry.getValue();
+			IrrigationItem irrigCostItem = entry.getValue();
 			double irrigCost = irrigCostItem.getIrrigCost();
 			if (DEBUG) LogWriter.println(String.format("  %d   %15s,\t %.1f", locationId, "irrigCost", irrigCost));
 			irrigCostP.addRecord(Integer.toString(locationId)).setValue(irrigCost);
diff --git a/src/ac/ed/lurg/country/gams/GamsLocationTest.java b/src/ac/ed/lurg/country/gams/GamsLocationTest.java
index 74e8e5f7a2c35437f92d957fd89bf84cdee7a00c..b47779cdd47e1b7408491fde0a04733970993f60 100644
--- a/src/ac/ed/lurg/country/gams/GamsLocationTest.java
+++ b/src/ac/ed/lurg/country/gams/GamsLocationTest.java
@@ -6,7 +6,7 @@ import java.util.Map;
 import ac.ed.lurg.Timestep;
 import ac.ed.lurg.country.CompositeCountry;
 import ac.ed.lurg.landuse.AreasItem;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.types.CommodityType;
 import ac.ed.lurg.types.CropType;
 import ac.ed.lurg.types.LandCoverType;
@@ -70,11 +70,11 @@ public class GamsLocationTest {
 		return yresp;
 	}
 
-	private Map<Integer, IrrigationCostItem> getIrrigationCosts() {
-		Map<Integer, IrrigationCostItem> returnMap = new HashMap<Integer, IrrigationCostItem>();
+	private Map<Integer, IrrigationItem> getIrrigationCosts() {
+		Map<Integer, IrrigationItem> returnMap = new HashMap<Integer, IrrigationItem>();
 		
 		for (int i= 1; i<=NUM_LOCATIONS_PER_COUNTRY; i++) {
-			IrrigationCostItem dummyIrrigCost = new IrrigationCostItem();
+			IrrigationItem dummyIrrigCost = new IrrigationItem();
 			dummyIrrigCost.setIrrigCost(Math.random());
 			returnMap.put(i, dummyIrrigCost);
 		}
diff --git a/src/ac/ed/lurg/country/gams/GamsRasterInput.java b/src/ac/ed/lurg/country/gams/GamsRasterInput.java
index 1ce9f44963d932291d98b6562b38458656748591..af3d8d073dd2b919cef22f5774a0a8695aa6f18b 100644
--- a/src/ac/ed/lurg/country/gams/GamsRasterInput.java
+++ b/src/ac/ed/lurg/country/gams/GamsRasterInput.java
@@ -2,7 +2,7 @@ package ac.ed.lurg.country.gams;
 
 import ac.ed.lurg.Timestep;
 import ac.ed.lurg.landuse.AreasItem;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.yield.YieldRaster;
 import ac.sac.raster.RasterSet;
 
@@ -11,11 +11,11 @@ public class GamsRasterInput {
 	private Timestep timestep;
 	private YieldRaster yields;
 	private RasterSet<AreasItem> previousAreas;
-	private RasterSet<IrrigationCostItem> irrigationCost;
+	private RasterSet<IrrigationItem> irrigationCost;
 	private GamsCountryInput countryInput;
 
 	public GamsRasterInput(Timestep timestep, YieldRaster yields, RasterSet<AreasItem> previousAreas, 
-			RasterSet<IrrigationCostItem> irrigationCost, GamsCountryInput countryInput) {
+			RasterSet<IrrigationItem> irrigationCost, GamsCountryInput countryInput) {
 		super();
 		this.timestep = timestep;
 		this.yields = yields;
@@ -32,7 +32,7 @@ public class GamsRasterInput {
 		return previousAreas;
 	}
 	
-	public RasterSet<IrrigationCostItem> getIrrigationCost() {
+	public RasterSet<IrrigationItem> getIrrigationCost() {
 		return irrigationCost;
 	}
 	
diff --git a/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java b/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java
index 963dcd1460319cb71901932410ab14121088b7fe..19d76b6f9e44510821c00d070f65253d05e9352c 100644
--- a/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java
+++ b/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java
@@ -12,7 +12,7 @@ import java.util.Set;
 import ac.ed.lurg.ModelConfig;
 import ac.ed.lurg.landuse.AreasItem;
 import ac.ed.lurg.landuse.IntensitiesItem;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.types.CropType;
 import ac.ed.lurg.types.LandCoverType;
 import ac.ed.lurg.types.YieldType;
@@ -285,7 +285,7 @@ public class GamsRasterOptimiser {
 		}.writeOutput(true); */
 
 
-		RasterSet<IrrigationCostItem> irrigCostRaster = rasterInputData.getIrrigationCost();
+		RasterSet<IrrigationItem> irrigCostRaster = rasterInputData.getIrrigationCost();
 
 		{
 			//	YieldResponsesItem yresp = yieldRaster.get(new RasterKey(40,38));//getFromCoordinates(-118.0, -33.0);
@@ -322,8 +322,8 @@ public class GamsRasterOptimiser {
 		LazyTreeMap<Integer, AreasItem> aggregatedAreas = new LazyTreeMap<Integer, AreasItem>() { 
 			protected AreasItem createValue() { return new AreasItem(); }
 		};
-		LazyTreeMap<Integer, IrrigationCostItem> aggregatedIrrigCosts = new LazyTreeMap<Integer, IrrigationCostItem>() { 
-			protected IrrigationCostItem createValue() { return new IrrigationCostItem(); }
+		LazyTreeMap<Integer, IrrigationItem> aggregatedIrrigCosts = new LazyTreeMap<Integer, IrrigationItem>() { 
+			protected IrrigationItem createValue() { return new IrrigationItem(); }
 		};
 		mapping = new LazyTreeMap<Integer, Set<RasterKey>>() { 
 			protected Set<RasterKey> createValue() { return new HashSet<RasterKey>(); }
@@ -351,7 +351,7 @@ public class GamsRasterOptimiser {
 					continue;
 				}
 
-				IrrigationCostItem irrigCost = irrigCostRaster.get(key);
+				IrrigationItem irrigCost = irrigCostRaster.get(key);
 
 				int cerealCat = findCategory(wheatlDivisions, yresp.getYieldNone(CropType.WHEAT) + yresp.getYieldMax(CropType.WHEAT));
 				int pastureCat = findCategory(pastureDivisions, yresp.getYieldNone(CropType.PASTURE) + yresp.getYieldMax(CropType.PASTURE));
@@ -359,7 +359,7 @@ public class GamsRasterOptimiser {
 
 				AveragingYieldResponsesItem avgYResp = aggregatedYields.lazyGet(id);
 				AreasItem aggAreas = aggregatedAreas.lazyGet(id);
-				IrrigationCostItem avgIrigCost = aggregatedIrrigCosts.lazyGet(id);
+				IrrigationItem avgIrigCost = aggregatedIrrigCosts.lazyGet(id);
 				mapping.lazyGet(id).add(key); 
 
 				// Irrigation cost
diff --git a/src/ac/ed/lurg/country/gams/GamsRasterTest.java b/src/ac/ed/lurg/country/gams/GamsRasterTest.java
index e4968ef61d07a7705b91dacf7a8b983795f1d730..ec5c5e048934d7b3caf0339b59c597f06056a310 100644
--- a/src/ac/ed/lurg/country/gams/GamsRasterTest.java
+++ b/src/ac/ed/lurg/country/gams/GamsRasterTest.java
@@ -3,7 +3,7 @@ package ac.ed.lurg.country.gams;
 import ac.ed.lurg.Timestep;
 import ac.ed.lurg.country.CompositeCountry;
 import ac.ed.lurg.landuse.AreasItem;
-import ac.ed.lurg.landuse.IrrigationCostItem;
+import ac.ed.lurg.landuse.IrrigationItem;
 import ac.ed.lurg.utils.LogWriter;
 import ac.ed.lurg.yield.YieldRaster;
 import ac.ed.lurg.yield.YieldResponsesItem;
@@ -47,13 +47,13 @@ public class GamsRasterTest extends GamsLocationTest {
 		return testYieldRaster;
 	}
 	
-	public RasterSet<IrrigationCostItem> getIrrigationCost() {
-		RasterSet<IrrigationCostItem> testIrrigationCostRaster= new RasterSet<IrrigationCostItem>(null);
+	public RasterSet<IrrigationItem> getIrrigationCost() {
+		RasterSet<IrrigationItem> testIrrigationCostRaster= new RasterSet<IrrigationItem>(null);
 		
 		for (int i = 0; i<X_RANGE; i++) {
 			for (int j = 0; j<Y_RANGE; j++) {
 				RasterKey key = new RasterKey(i,j);
-				IrrigationCostItem item = new IrrigationCostItem();
+				IrrigationItem item = new IrrigationItem();
 				item.setIrrigCost(1.0/(1+i));
 				testIrrigationCostRaster.put(key, item);
 			}
diff --git a/src/ac/ed/lurg/landuse/IntensitiesItem.java b/src/ac/ed/lurg/landuse/IntensitiesItem.java
index 2ae1b17474f87360f3c3f20c689d919f636e8216..37ec5897af921908ffa350523889cb7d62cd597b 100644
--- a/src/ac/ed/lurg/landuse/IntensitiesItem.java
+++ b/src/ac/ed/lurg/landuse/IntensitiesItem.java
@@ -24,12 +24,13 @@ public class IntensitiesItem implements RasterItem {
 		intensityMap.put(crop, intensityData);
 	}
 	
-	
+	/** Fertiliser rate in kg/ha */
 	public double getFertiliserRate(CropType crop) {
 		Intensity i = getIntensity(crop);
 		return (i == null) ? 0 : i.getFertiliserAmount();
 	}
-		
+	
+	/** Fertiliser amount in kt (1000 tonnes), for this location */
 	public double getFertiliserAmount(CropType c) {
 		double rate = getFertiliserRate(c);
 		double area = areaItem.getCropArea(c);
@@ -65,4 +66,47 @@ public class IntensitiesItem implements RasterItem {
 	public static double getFertiliserTotal(Collection<? extends IntensitiesItem> items, Collection<CropType> crops) {
 		return getFertiliserTotal(items, crops.toArray(new CropType[crops.size()]));
 	}
+
+	/** Irrigation rate in litre/ha */
+	public double getIrrigationRate(CropType crop) {
+		Intensity i = getIntensity(crop);
+		
+		return (i == null) ? 0 : i.getIrrigationRate(999);
+	}
+
+	/** Irrigation amount in M litres, for this location */
+	public double getIrrigationAmount(CropType c) {
+		double rate = getIrrigationRate(c);
+		double area = areaItem.getCropArea(c);
+		return rate * area;
+	}
+
+	public double getIrrigationAverageRate(CropType... crops) {
+		double irrigTotal = 0;
+		double areaTotal = 0;
+		
+		for (CropType c : crops) {
+			irrigTotal += getIrrigationAmount(c);
+			areaTotal = areaItem.getCropArea(c);
+		}
+		
+		return areaTotal > 0 ? irrigTotal / areaTotal : 0;
+	}
+	
+	public static double getIrrigationTotal(Collection<? extends IntensitiesItem> items, CropType... crops) {			
+		double total = 0;
+		for (IntensitiesItem a : items) {
+			if (a == null)
+				continue;
+			
+			for (CropType c : crops)
+				total += a.getIrrigationAmount(c);
+		}
+			
+		return total;
+	}
+
+	public static double getIrrigationTotal(Collection<? extends IntensitiesItem> items, Collection<CropType> crops) {
+		return getIrrigationTotal(items, crops.toArray(new CropType[crops.size()]));
+	}
 }
diff --git a/src/ac/ed/lurg/landuse/Intensity.java b/src/ac/ed/lurg/landuse/Intensity.java
index 71a9a22a23a14df17985b1b24e81c784b0a78f49..bd5f83ccadc11fe6885ac475af76d62357ecd5fd 100644
--- a/src/ac/ed/lurg/landuse/Intensity.java
+++ b/src/ac/ed/lurg/landuse/Intensity.java
@@ -41,4 +41,8 @@ public class Intensity {
 	public double getUnitEnergy() {
 		return unitEnergy;
 	}
+
+	public double getIrrigationRate(double maxIrrigAmount) {
+		return maxIrrigAmount * irrigationIntensity;
+	}
 }
diff --git a/src/ac/ed/lurg/landuse/IrrigationConstraintReader.java b/src/ac/ed/lurg/landuse/IrrigationConstraintReader.java
new file mode 100644
index 0000000000000000000000000000000000000000..bed7e35e875272440beea46be290090a74b8416f
--- /dev/null
+++ b/src/ac/ed/lurg/landuse/IrrigationConstraintReader.java
@@ -0,0 +1,24 @@
+package ac.ed.lurg.landuse;
+
+import java.util.Map;
+
+import ac.ed.lurg.ModelConfig;
+import ac.sac.raster.AbstractTabularRasterReader;
+import ac.sac.raster.RasterKey;
+import ac.sac.raster.RasterSet;
+
+public class IrrigationConstraintReader extends AbstractTabularRasterReader<IrrigationItem> {	
+
+	private static final int MIN_COLS = 3;
+
+	public IrrigationConstraintReader(RasterSet<IrrigationItem> irigCosts) {
+		super(" +", MIN_COLS, irigCosts);
+	}
+		
+	@Override
+	protected void setData(RasterKey key, IrrigationItem item, Map<String, Double> rowValues) {
+		
+		item.setIrrigConstraint(getValueForCol(rowValues, "Max_irr_water") * ModelConfig.IRRIG_COST_SCALE_FACTOR);
+		
+	}
+}
diff --git a/src/ac/ed/lurg/landuse/IrrigationCostItem.java b/src/ac/ed/lurg/landuse/IrrigationCostItem.java
deleted file mode 100644
index 468247c906807a5133e13ad5166083cca5875140..0000000000000000000000000000000000000000
--- a/src/ac/ed/lurg/landuse/IrrigationCostItem.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package ac.ed.lurg.landuse;
-
-import ac.sac.raster.RasterItem;
-
-public class IrrigationCostItem implements RasterItem {
-	// we have gone from CGIAR Aridity Index to an aridity cost by doing the following:  1 - log10(aridityIndex+1)/5
-	// when is the limited to be >= 0 (only Greenland had negative values)
-	// this gives a value from 1 to 0, with 1 being the most costly and 0 the least.
-	
-	private double irrigationCost;
-	
-	public double getIrrigCost() {
-		return irrigationCost;
-	}
-	
-	public void setIrrigCost(double aridityIndex) {
-		this.irrigationCost = aridityIndex;
-	}
-}
diff --git a/src/ac/ed/lurg/landuse/IrrigationItem.java b/src/ac/ed/lurg/landuse/IrrigationItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..72a76779e93989afa05f6c2f38924a4921faa06c
--- /dev/null
+++ b/src/ac/ed/lurg/landuse/IrrigationItem.java
@@ -0,0 +1,42 @@
+package ac.ed.lurg.landuse;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import ac.ed.lurg.types.CropType;
+import ac.sac.raster.RasterItem;
+
+public class IrrigationItem implements RasterItem {
+	// we have gone from CGIAR Aridity Index to an aridity cost by doing the following:  1 - log10(aridityIndex+1)/5
+	// when is the limited to be >= 0 (only Greenland had negative values)
+	// this gives a value from 1 to 0, with 1 being the most costly and 0 the least.
+	
+	private double irrigationCost; // cost per ? of irrigation
+	private double irrigConstraint;  // mm of water available
+	private Map<CropType, Double> maxIrrigAmounts = new HashMap<CropType, Double>(); // amount of water (litres/ha) used at maximum irrigation, i.e. to achieve no water stress
+
+	public double getIrrigCost() {
+		return irrigationCost;
+	}
+	
+	public void setIrrigCost(double aridityIndex) {
+		this.irrigationCost = aridityIndex;
+	}
+	
+	public double getMaxIrrigAmount(CropType c) {
+		Double d = maxIrrigAmounts.get(c);
+		return c==null ? Double.NaN : d.doubleValue();
+	}
+	
+	public void setMaxIrrigAmount(CropType c, double maxIrrig) {
+		maxIrrigAmounts.put(c, maxIrrig);
+	}
+	
+	public double getIrrigConstraint() {
+		return irrigConstraint;
+	}
+	
+	public void setIrrigConstraint(double irrigConstraint) {
+		this.irrigConstraint = irrigConstraint;
+	}
+}
diff --git a/src/ac/ed/lurg/landuse/IrrigationMaxAmountReader.java b/src/ac/ed/lurg/landuse/IrrigationMaxAmountReader.java
new file mode 100644
index 0000000000000000000000000000000000000000..6f0d6ed30666266cd05a96c0a4309286c194de98
--- /dev/null
+++ b/src/ac/ed/lurg/landuse/IrrigationMaxAmountReader.java
@@ -0,0 +1,28 @@
+package ac.ed.lurg.landuse;
+
+import java.util.Map;
+
+import ac.ed.lurg.types.CropType;
+import ac.sac.raster.AbstractTabularRasterReader;
+import ac.sac.raster.RasterKey;
+import ac.sac.raster.RasterSet;
+
+public class IrrigationMaxAmountReader extends AbstractTabularRasterReader<IrrigationItem> {	
+
+	private static final int MIN_COLS = 6;
+
+	public IrrigationMaxAmountReader(RasterSet<IrrigationItem> irigCosts) {
+		super(" +", MIN_COLS, irigCosts);
+	}
+		
+	@Override
+	protected void setData(RasterKey key, IrrigationItem item, Map<String, Double> rowValues) {
+		
+		item.setMaxIrrigAmount(CropType.WHEAT, getValueForCol(rowValues, "TeWW"));
+		item.setMaxIrrigAmount(CropType.MAIZE, getValueForCol(rowValues, "TeCo"));
+		item.setMaxIrrigAmount(CropType.RICE, getValueForCol(rowValues, "TrRi"));
+		item.setMaxIrrigAmount(CropType.OILCROPS, getValueForCol(rowValues, "TeWW"));
+		item.setMaxIrrigAmount(CropType.PULSES, getValueForCol(rowValues, "TeSW"));
+		item.setMaxIrrigAmount(CropType.STARCHY_ROOTS, getValueForCol(rowValues, "TeSW"));
+	}
+}
diff --git a/src/ac/ed/lurg/landuse/IrrigiationCostReader.java b/src/ac/ed/lurg/landuse/IrrigiationCostReader.java
index d3a0d5888e24291dd55dcd6a16703d653e8ed763..598acaf9dbdef8e485eed4d287a03e31b8b84f1a 100644
--- a/src/ac/ed/lurg/landuse/IrrigiationCostReader.java
+++ b/src/ac/ed/lurg/landuse/IrrigiationCostReader.java
@@ -4,14 +4,14 @@ import ac.ed.lurg.ModelConfig;
 import ac.sac.raster.AbstractRasterReader;
 import ac.sac.raster.RasterSet;
 
-public class IrrigiationCostReader extends AbstractRasterReader<IrrigationCostItem> {	
+public class IrrigiationCostReader extends AbstractRasterReader<IrrigationItem> {	
 	
-	public IrrigiationCostReader (RasterSet<IrrigationCostItem> dataset) {
+	public IrrigiationCostReader (RasterSet<IrrigationItem> dataset) {
 		super(dataset);
 	}
 
 	@Override
-	public void setData(IrrigationCostItem item, String token) {
+	public void setData(IrrigationItem item, String token) {
 		if (!"nan".equals(token)) {	
 			double irrigCost = Double.parseDouble(token);
 			item.setIrrigCost(irrigCost * ModelConfig.IRRIG_COST_SCALE_FACTOR);
diff --git a/src/ac/ed/lurg/output/LpjgOutputer.java b/src/ac/ed/lurg/output/LpjgOutputer.java
index fbb15be83e2f9b82e65006088bd4d7f16710469b..27e6290d3c0f227e9509d1ed35d974259cc00913 100644
--- a/src/ac/ed/lurg/output/LpjgOutputer.java
+++ b/src/ac/ed/lurg/output/LpjgOutputer.java
@@ -71,18 +71,16 @@ public class LpjgOutputer {
 				
 				double lat = cropAreaRaster.getXCoordin(key);
 				double lon = cropAreaRaster.getYCoordin(key);
-								
-	/*			double crop = item.getLandCoverArea(LandCoverType.CROPLAND);
-				double pasture = item.getLandCoverArea(LandCoverType.PASTURE);
-				double forest = item.getLandCoverArea(LandCoverType.FOREST);
-				double otherNatural = item.getLandCoverArea(LandCoverType.OTHER_NATURAL);
-				double barren = item.getLandCoverArea(LandCoverType.BARREN);
-				irrigWriter.write(String.format("%.2f %.2f %d %.14f %.14f %.14f %.14f", lat, lon, year, crop/area, pasture/area, (forest+otherNatural)/area, barren/area));
-				irrigWriter.newLine();
-
-	*/
 				boolean isSpringWheat = isSpringWheat(key);
 
+				double winterWheatIrrig = item.getIrrigationAverageRate(CropType.OILCROPS, isSpringWheat ? null : CropType.WHEAT);
+				double springWheatIrrig = item.getIrrigationAverageRate(CropType.PULSES, CropType.STARCHY_ROOTS, isSpringWheat ? CropType.WHEAT : null);
+				double cornIrrig = item.getIrrigationAverageRate(CropType.MAIZE);
+				double riceIrrig = item.getIrrigationAverageRate(CropType.RICE);
+				double pastureIrrig = item.getIrrigationAverageRate(CropType.PASTURE);
+				irrigWriter.write(String.format("%.2f %.2f %d %.14f %.14f %.14f %.14f", lat, lon, year, winterWheatIrrig, springWheatIrrig, cornIrrig, riceIrrig, pastureIrrig));
+				irrigWriter.newLine();
+
 				double winterWheatFert = item.getFertiliserAverageRate(CropType.OILCROPS, isSpringWheat ? null : CropType.WHEAT);
 				double springWheatFert = item.getFertiliserAverageRate(CropType.PULSES, CropType.STARCHY_ROOTS, isSpringWheat ? CropType.WHEAT : null);
 				double cornFert = item.getFertiliserAverageRate(CropType.MAIZE);
diff --git a/src/ac/sac/raster/AbstractTabularRasterReader.java b/src/ac/sac/raster/AbstractTabularRasterReader.java
index 03988c244788a6d24476e62cb207e58e5c189f25..dd3fdb47660c9365916afa97724752bce9d717f7 100644
--- a/src/ac/sac/raster/AbstractTabularRasterReader.java
+++ b/src/ac/sac/raster/AbstractTabularRasterReader.java
@@ -23,6 +23,11 @@ public abstract class AbstractTabularRasterReader<D extends RasterItem> {
 		this.minColNum = minColNum;
 	}
 	
+	public AbstractTabularRasterReader (String delimiterRegex, int minColNum, RasterSet<D> dataset) {
+		this(delimiterRegex, minColNum);
+		this.dataset = dataset;
+	}
+	
 	private String[] parseLine(String line) {
 		return line.trim().split(delimiterRegex);
 	}
@@ -30,6 +35,7 @@ public abstract class AbstractTabularRasterReader<D extends RasterItem> {
 	private String[] handleHeader(String[] headertokens) {
 		if (headertokens.length < minColNum) {
 			LogWriter.printlnError("Too few columns");
+			throw new RuntimeException("Too few columns in tablular raster file");
 		}
 		//	List<String> colNames = new ArrayList<String>(Arrays.asList(headertokens));