TRIP2
  1. Notice
  2. What is TRIP2?
  3. Download TRIP2
  4. Install TRIP2
  5. Prepare the input runoff data
  6. Prepare the maps required by TRIP2
  7. Edit run script
  8. Launch simulation


The input runoff fields contain two variables: surface runoff [mm/day] and sub-surface runoff [mm/day].

The input runoff data should be prepared in netCDF format. The current configuration of TRIP2 is for daily input runoff. If you want to run simulations for other time resolutions such as: monthly, 6-hourly, hourly, etc., please modify >TRIP2/bin/MAIN_day.f by yourself to meet your requirements.

The input runoff file name can be like this: FILE_YYYYMMDD.nc where YYYY is YEAR, MM is MONTH, DD is DAY.

Exemple:

Mult_B0_19951231.nc is a surface runoff input file I had created based on the GSWP-2 runoff product.

Use the ncdump comment, we have:

  • [thanh@shui sfcroff]$ ncdump -h Mult_B0_19951231.nc
netcdf Mult_B0_19951231 {
dimensions:
lon = 360 ;
lat = 180 ;
time = UNLIMITED ; // (1 currently)
variables:
float lon(lon) ;
lon:units = "degrees_east" ;
lon:valid_min = -180.f ;
lon:valid_max = 180.f ;
lon:long_name = "Longitude" ;
float lat(lat) ;
lat:units = "degrees_north" ;
lat:valid_min = -90.f ;
lat:valid_max = 90.f ;
lat:long_name = "Latitude" ;
float time(time) ;
time:title = "Time" ;
time:long_name = "Time axis" ;
float sfcroff(time, lat, lon) ;
sfcroff:missing_value = -9999f ;
}


Note: From the output of the "ncdump -h" command, we know that our input runoff file has a longitude dimension of 360 and a latitude dimension of 180. The variable sfcroff has 3 dimensions: time, lat, lon, where time coordinate has only one step. The missing value is -9999f.

  • [thanh@shui sfcroff]$ ncdump -v lon Mult_B0_19951231.nc
netcdf Mult_B0_19951231 {
dimensions:
lon = 360 ;
lat = 180 ;
time = UNLIMITED ; // (1 currently)
variables:
float lon(lon) ;
lon:units = "degrees_east" ;
lon:valid_min = -180.f ;
lon:valid_max = 180.f ;
lon:long_name = "Longitude" ;
float lat(lat) ;
lat:units = "degrees_north" ;
lat:valid_min = -90.f ;
lat:valid_max = 90.f ;
lat:long_name = "Latitude" ;
float time(time) ;
time:title = "Time" ;
time:long_name = "Time axis" ;
float sfcroff(time, lat, lon) ;
sfcroff:missing_value = -9999f ;
data:
lon = -179.5, -178.5, -177.5, -176.5, -175.5, -174.5, -173.5, -172.5, -171.5, -170.5, -169.5, -168.5, -167.5, -166.5, -165.5, -164.5, -163.5, -162.5, -161.5, -160.5, -159.5, -158.5, -157.5, -156.5, -155.5, -154.5, -153.5, -152.5, -151.5, -150.5, -149.5, -148.5, -147.5, -146.5, -145.5, -144.5, -143.5, -142.5, -141.5, -140.5, -139.5, -138.5, -137.5, -136.5, -135.5, -134.5, -133.5, -132.5, -131.5, -130.5, -129.5, -128.5, -127.5, -126.5, -125.5, -124.5, -123.5, -122.5, -121.5, -120.5, -119.5, -118.5, -117.5, -116.5, -115.5, -114.5, -113.5, -112.5, -111.5, -110.5, -109.5, -108.5, -107.5, -106.5, -105.5, -104.5, -103.5, -102.5, -101.5, -100.5, -99.5, -98.5, -97.5, -96.5, -95.5, -94.5, -93.5, -92.5, -91.5, -90.5, -89.5, -88.5, -87.5, -86.5, -85.5, -84.5, -83.5, -82.5, -81.5, -80.5, -79.5, -78.5, -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, -71.5, -70.5, -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, -63.5, -62.5, -61.5, -60.5, -59.5, -58.5, -57.5, -56.5, -55.5, -54.5, -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, -47.5, -46.5, -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, -31.5, -30.5, -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, -21.5, -20.5, -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, -13.5, -12.5, -11.5, -10.5, -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5, 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5, 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, 70.5, 71.5, 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, 94.5, 95.5, 96.5, 97.5, 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, 104.5, 105.5, 106.5, 107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, 114.5, 115.5, 116.5, 117.5, 118.5, 119.5, 120.5, 121.5, 122.5, 123.5, 124.5, 125.5, 126.5, 127.5, 128.5, 129.5, 130.5, 131.5, 132.5, 133.5, 134.5, 135.5, 136.5, 137.5, 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, 144.5, 145.5, 146.5, 147.5, 148.5, 149.5, 150.5, 151.5, 152.5, 153.5, 154.5, 155.5, 156.5, 157.5, 158.5, 159.5, 160.5, 161.5, 162.5, 163.5, 164.5, 165.5, 166.5, 167.5, 168.5, 169.5, 170.5, 171.5, 172.5, 173.5, 174.5, 175.5, 176.5, 177.5, 178.5, 179.5 ;
}


Note: The command "ncdump -v lon FILENAME.nc" outputs the longitude values. We can see that our runoff file has 1 degree resolution in longitude. The longitude values were saved from small to big (-179.5 to 179.5). When you prepare your input runoff data, you should also keep the "small to big" order for the longitude dimension.

  • [thanh@shui sfcroff]$ ncdump -v lat Mult_B0_19951231.nc
netcdf Mult_B0_19951231 {
dimensions:
lon = 360 ;
lat = 180 ;
time = UNLIMITED ; // (1 currently)
variables:
float lon(lon) ;
lon:units = "degrees_east" ;
lon:valid_min = -180.f ;
lon:valid_max = 180.f ;
lon:long_name = "Longitude" ;
float lat(lat) ;
lat:units = "degrees_north" ;
lat:valid_min = -90.f ;
lat:valid_max = 90.f ;
lat:long_name = "Latitude" ;
float time(time) ;
time:title = "Time" ;
time:long_name = "Time axis" ;
float sfcroff(time, lat, lon) ;
sfcroff:missing_value = -9999f ;
data:
lat = 89.5, 88.5, 87.5, 86.5, 85.5, 84.5, 83.5, 82.5, 81.5, 80.5, 79.5, 78.5, 77.5, 76.5, 75.5, 74.5, 73.5, 72.5, 71.5, 70.5, 69.5, 68.5, 67.5, 66.5, 65.5, 64.5, 63.5, 62.5, 61.5, 60.5, 59.5, 58.5, 57.5, 56.5, 55.5, 54.5, 53.5, 52.5, 51.5, 50.5, 49.5, 48.5, 47.5, 46.5, 45.5, 44.5, 43.5, 42.5, 41.5, 40.5, 39.5, 38.5, 37.5, 36.5, 35.5, 34.5, 33.5, 32.5, 31.5, 30.5, 29.5, 28.5, 27.5, 26.5, 25.5, 24.5, 23.5, 22.5, 21.5, 20.5, 19.5, 18.5, 17.5, 16.5, 15.5, 14.5, 13.5, 12.5, 11.5, 10.5, 9.5, 8.5, 7.5, 6.5, 5.5, 4.5, 3.5, 2.5, 1.5, 0.5, -0.5, -1.5, -2.5, -3.5, -4.5, -5.5, -6.5, -7.5, -8.5, -9.5, -10.5, -11.5, -12.5, -13.5, -14.5, -15.5, -16.5, -17.5, -18.5, -19.5, -20.5, -21.5, -22.5, -23.5, -24.5, -25.5, -26.5, -27.5, -28.5, -29.5, -30.5, -31.5, -32.5, -33.5, -34.5, -35.5, -36.5, -37.5, -38.5, -39.5, -40.5, -41.5, -42.5, -43.5, -44.5, -45.5, -46.5, -47.5, -48.5, -49.5, -50.5, -51.5, -52.5, -53.5, -54.5, -55.5, -56.5, -57.5, -58.5, -59.5, -60.5, -61.5, -62.5, -63.5, -64.5, -65.5, -66.5, -67.5, -68.5, -69.5, -70.5, -71.5, -72.5, -73.5, -74.5, -75.5, -76.5, -77.5, -78.5, -79.5, -80.5, -81.5, -82.5, -83.5, -84.5, -85.5, -86.5, -87.5, -88.5, -89.5 ;
}


Note: The command "ncdump -v lat FILENAME.nc" outputs the latitude values. We can see that our runoff file has 1 degree resolution in latitude. The latitude values were saved from big to small (89.5 to -89.5). When you prepare your input runoff data, you should also keep the "big to small" order for the latitude dimension.


Work-memo


Links


edit SideBar

Blix theme, powered by PmWiki