1) Baseline data
2) Historical data
3) Future climate data
4) Paleoclimate data
5) How to add climate data from additional GCMs
1) Annual variables
2) Seasonal variables
3) Monthly variables
1) To use the program interactively
2) For multi-location process
3) For Time Series
4) Read and output raster map files
5) Process the raster output files
6) Command-line operations
7) To call command line operations in R
6) Tutorial videos
About the package
ClimateNA is a standalone MS Windows software application (Wang et al. 2016) that extracts and downscales gridded (4 x 4 km) monthly climate data for the reference normal period (1961-1990) from PRISM (Daly et al. 2008) and WorldClim (Hijmans et al. 2005) to scale-free point locations. It also calculates many (>200) monthly, seasonal and annual climate variables. The downscaling is achieved through a combination of bilinear interpolation and dynamic local elevational adjustment. ClimateNA also uses the scale-free data as a baseline to downscale historical and future climate variables for individual years and periods between 1901 and 2100. A time-series function is available to generate climate variables for multiple locations and multiple years.
The program can read and output comma-delimitated spreadsheet (CSV) files. The new version (v6.00) can also directly read digital elevation model (DEM) raster (ASC) files and output climate variables in raster format for mapping. The spatial resolution of the raster files is up to user’s preference. The coverage of the program is shown in Figure 1.
Figure 1. The coverage of ClimateNA. The extent of the coverage: longitude = -179.167 ~ -52.625°; latitude = 14.453 ~ 83.203°.
The monthly baseline data for 1961-1990 normals were compiled from the following sources and unified at 4 x 4 km spatial resolution:
British Columbia: PRISM at 800 x 800 m from Pacific Climate Impact Consortium;
Parries provinces: PRISM at 4 x 4 km from the PRISM Climate Group (http://www.prism.oregonstate.edu/);
United States: PRISM at 800 x 800 m from the PRISM Climate Group (Daly et al. 2008);
The rest: WorldClim (Hijmans et al. 2005);
The monthly solar radiation data (1948-2010) were provided by Dr. Robbie Hember at University of British Columbia.
Historical monthly data were developed by ourselves and replaced the data from Climate Research Unit (CRU ts4.01), which were used in previous versions, for improved accuracies. The data are at the spatial resolution is 0.5 x 0.5°.
The climate data for future periods, including 2020s (2010-2039), 2050s (2040-69) and 2080s (2070-2100), were from General Circulation Models (GCMs) of the Coupled Model Intercomparison Project (CMIP5) included in the IPCC Fifth Assessment Report (IPCC 2014). Fifteen GCMs were selected for three greenhouse gas emission scenarios (RCP 2.6, RCP 4.5 and RCP 8.5) except two GCMs that do not have data for RCP 2.6. When multiple ensembles are available for each GCM, an average was taken over the available (up to five) ensembles. Ensembles among the 15 GCMs are also available. Time-series of monthly projections are provided for the years between 2011-2100 for RCP 4.5 and RCP 8.5 of six GCMs.
Monthly paleoclimate data were from four GCMs of the CMIP5. The paleo periods covered: 1) Last Millennium or past 1000 years, starting on January 01, 0850; 2) MidHolocene (6,000 years ago); and 3) Last Glacial Maximum (21,000 kyrs ago). Monthly averages were taken over the first 50 years of each period, which is the minimum period available in among the four GCMs.
The coordinate file “ClimateNA_GCM_coord_vID.csv” included in the “Reference” folder can be used as a template to add additional GCM data to the package by users. After the monthly climate data are added to the template, remove the first three columns and save it to the GCMdat folder with the extension name “.gcm”. This applies to GCM time series data as well.
Directly calculated annual variables:
MAT mean annual temperature (°C),
MWMT mean warmest month temperature (°C),
MCMT mean coldest month temperature (°C),
TD temperature difference between MWMT and MCMT, or continentality (°C),
MAP mean annual precipitation (mm),
MSP May to September precipitation (mm),
AHM annual heat-moisture index (MAT+10)/(MAP/1000))
SHM summer heat-moisture index ((MWMT)/(MSP/1000))
Derived annual variables:
DD<0 degree-days below 0°C, chilling degree-days
DD>5 degree-days above 5°C, growing degree-days
DD<18 degree-days below 18°C, heating degree-days
DD>18 degree-days above 18°C, cooling degree-days
NFFD the number of frost-free days
FFP frost-free period
bFFP the day of the year on which FFP begins
eFFP the day of the year on which FFP ends
PAS precipitation as snow (mm). For individual years, it covers the period between August in the previous year and July in the current year.
EMT extreme minimum temperature over 30 years
EXT extreme maximum temperature over 30 years
Eref Hargreaves reference evaporation (mm)
CMD Hargreaves climatic moisture deficit (mm)
MAR mean annual solar radiation (MJ m‐2 d‐1)
RH mean annual relative humidity (%)
CMI Hogg’s climate moisture index (mm)
DD1040 Degree-days above 10°C and below 40°C
Winter (_wt): Dec (prev. yr for an individual year) - Feb for annual, Jan, Feb, Dec for normals
Spring (_sp): March, April and May
Summer (_sm): June, July and August
Autumn (_at): September, October and November
Directly calculated seasonal variables:
Tave_wt winter mean temperature (°C)
Tave_sp spring mean temperature (°C)
Tave_sm summer mean temperature (°C)
Tave_at autumn mean temperature (°C)
Tmax_wt winter mean maximum temperature (°C)
Tmax_sp spring mean maximum temperature (°C)
Tmax_sm summer mean maximum temperature (°C)
Tmax_at autumn mean maximum temperature (°C)
Tmin_wt winter mean minimum temperature (°C)
Tmin_sp spring mean minimum temperature (°C)
Tmin_sm summer mean minimum temperature (°C)
Tmin_at autumn mean minimum temperature (°C)
PPT_wt winter precipitation (mm)
PPT_sp spring precipitation (mm)
PPT_sm summer precipitation (mm)
PPT_at autumn precipitation (mm)
RAD_wt winter solar radiation (MJ m-2 d-1)
RAD_sp spring solar radiation (MJ m-2 d-1)
RAD_sm summer solar radiation (MJ m-2 d-1)
RAD_at autumn solar radiation (MJ m-2 d-1)
Derived seasonal variables:
DD_0_wt winter degree-days below 0°C
DD_0_sp spring degree-days below 0°C
DD_0_sm summer degree-days below 0°C
DD_0_at autumn degree-days below 0°C
DD5_wt winter degree-days above 5°C
DD5_sp spring degree-days above 5°C
DD5_sm summer degree-days above 5°C
DD5_at autumn degree-days above 5°C
DD_18_wt winter degree-days below 18°C
DD_18_sp spring degree-days below 18°C
DD_18_sm summer degree-days below 18°C
DD_18_at autumn degree-days below 18°C
DD18_wt winter degree-days above 18°C
DD18_sp spring degree-days above 18°C
DD18_sm summer degree-days above 18°C
DD18_at autumn degree-days above 18°C
NFFD_wt winter number of frost-free days
NFFD_sp spring number of frost-free days
NFFD_sm summer number of frost-free days
NFFD_at autumn number of frost-free days
PAS_wt winter precipitation as snow (mm)
PAS_sp spring precipitation as snow (mm)
PAS_sm summer precipitation as snow (mm)
PAS_at autumn precipitation as snow (mm)
Eref_wt winter Hargreaves reference evaporation (mm)
Eref_sp spring Hargreaves reference evaporation (mm)
Eref_sm summer Hargreaves reference evaporation (mm)
Eref_at autumn Hargreaves reference evaporation (mm)
CMD_wt winter Hargreaves climatic moisture deficit (mm)
CMD_sp spring Hargreaves climatic moisture deficit (mm)
CMD_sm summer Hargreaves climatic moisture deficit (mm)
CMD_at autumn Hargreaves climatic moisture deficit (mm)
RH_wt winter relative humidity (%)
RH_sp winter relative humidity (%)
RH_sm winter relative humidity (%)
RH_at winter relative humidity (%)
CMI_wt winter Hogg’s climate moisture index (mm)
CMI_sp spring Hogg’s climate moisture index (mm)
CMI_sm summer Hogg’s climate moisture index (mm)
CMI_at autumn Hogg’s climate moisture index (mm)
Primary monthly variables:
Tave01 – Tave12 January - December mean temperatures (°C)
TMX01 – TMX12 January - December maximum mean temperatures (°C)
TMN01 – TMN12 January - December minimum mean temperatures (°C)
PPT01 – PPT12 January - December precipitation (mm)
RAD01 – RAD12 January - December solar radiation (MJ m‐2 d‐1)
Derived monthly variables:
DD_0_01 – DD_0_12 January - December degree-days below 0°C
DD5_01 – DD5_12 January - December degree-days above 5°C
DD_18_01 – DD_18_12 January - December degree-days below 18°C
DD18_01 – DD18_12 January - December degree-days above 18°C
NFFD01 – NFFD12 January - December number of frost-free days
PAS01 – PAS12 January – December precipitation as snow (mm)
Eref01 – Eref12 January – December Hargreaves reference evaporation (mm)
CMD01 – CMD12 January – December Hargreaves climatic moisture deficit (mm)
RH01 – RH12 January – December relative humidity (%)
CMI01 – CMI12 January – December Hogg’s climate moisture index (mm)
- To download the package for free, please click here to register and obtain a download link. The size of the package is about 620 MB.
No installation is required. Simply unzip all the files and subfolders into a folder on your hard disk and double-click the file ClimateNA _v6.**.exe”. The program does not on network drives.
The program runs on all Windows. It can also run on Linux, Unix and Mac systems with the free software Wine or MacPorts/Wine.
Latitude and longitude can be entered in either decimal degrees (e.g. Lat: 51.542, Long: 129.333) or degree, minute and second (e.g., 51°30’15”N, 129°15’30’W). Longitude information is accepted either in positive or negative values. Elevation has to be entered in meters, or empty if no elevation data are available. If "Monthly variables", "Seasonal variables" or "All variables" output variables was selected, an additional output sheet appears and annual climate variables are still calculated.
Output data can be saved as a text file and imported to spreadsheet file using space-delimitated option.
2) For multi-location process
Most users will have their sample data information in an Excel spreadsheet or in a text file. To make it possible for the program to read this data it must first be modified to a standard format.
Create a spreadsheet with the headers “ID1, ID2, lat, long, el” as shown in the example below. ID1 and ID2 can be “Location”, “Region” or whatever. The file must have the title row and all variables in the same order as shown. If you don’t have elevation information or a second ID, you have to put in “.” in the columns. If you have more information columns in your original file, you have to remove them.
If you use a GPS or GIS software to obtain your location information for many samples latitude values in the western hemisphere will be negative. For convenience, you can use either positive or negative values, and the program will automatically convert the data.
After the spreadsheet is prepared as shown, save it as “comma delimited text file” by choosing “Save as …” from the file menu, and then specifying (*.csv) from the “Save as type …” drop-down menu.
You can also directly create a comma delimited text file in any text editor such as Notepad. If there is a missing value, you need to enter a “.” between two commas.
Save this text file with a .csv extension by writing out the full file name with extension in parenthesis when saving, e. g. “test.csv” instead of test.csv or test.
Now you are ready for processing: Click on to read your spreadsheet and on to specify your output file folder and file. Then, click the button. Climate variable information will be appended as additional columns to your input file. If elevation information is provided the climate variables will be elevation adjusted.
Time Series function works only for the multi-location process. To process a single location, you need to have the location in your input file. Here are the steps to follow:
- Select “Time Series” (for historical years) or a future time series in the period section drop box;
- Select a variable category (monthly, seasonal, annual or all variables);
- Input the starting and ending years in the pop-up boxes;
- Specify input and output files, and click the “Calculate TS” button.
- Have a DEM raster file (*.asc) for the area of interest at the resolution you want. The raster file is required to be in a latitude-longitude projection, prepared in ArcGIS or in R (QGIS format is not supported). Here is the R code to convert a raster in TIF to ASC:
tif <- raster('C:/data/dem.tif')
NAvalue(tif)] <- -9999
- Click the “Select input file” button and a file open box will show up;
Navigate to the folder containing the raster file;
Select the File type: “asc” as shown in the following screenshot and only asc raster files will show up:
Select an asc input file and click “Open” button;
Click the “Specify output file” button, and a default folder will show up;
Click the “Save” button;
Click the “Start” button, and climate variables in ASCII raster format will be generated;
Projection: geographic coordinate system, GCS_WGS_1984.
Data format: the following variables are multiplied by 10
· Annual: MAT, MWMT, MCMT, TD, AHM, SHM, EMT, EXT and MAR;
· Seasonal: Tmax, Tmin, Tave and Rad;
· Monthly: Tmax, Tmin, Tave and Rad.
All CMI values are multiplied by 100.
The output asc raster files can be directly imported (drag/drop) to ArcGIS or other GIS programs to generate maps. They can also be directly used in R to plot maps using the following code as an example:
mat <- raster('C:/data/mat.asc')
In CMD prompt, navigate to the directory of the program, and type:
ClimateBC_v7.20.exe /Y /Normal_1961_1990.nrm /1_test.csv /test_normal.csv
“/Y” is for annual variables, “/S” for seasonal, “/M” for seasonal, and “/YSM” for all variables.
“/Normal_1961_1990.nrm” is for period. It can be “/CanESM5_ssp126_2011-2040.gcm” for a future period. “/Year_1901.ann” for historical year, or “/13GCMs_ensemble_ssp126@2011.gcm” for a future year.
“/1_test.csv” is an example of an input file.
“/test_normal.csv” is an example of an output file.
7) To call command line operations in R
Here is an R code example to call the program in R:
# it must be the home directory of ClimateNA
exe <- "ClimateBC_v7.20.exe"
inputFile = '/C:\\ClimateBC_data\\test.csv'
outputFile = '/C:\\ ClimateBC_data \\test_normal.csv'
yearPeriod = '/Normal_1961_1990.nrm'
system2(exe,args= c('/Y', yearPeriod, inputFile, outputFile))
dat <- read.csv(' C:/ClimateBC_data/test_normal.csv'); head(dat)
#for raster data ---
inputFile = '/C:\\ClimateBC_data\\test.asc'
outputDir = '/C:\\ ClimateBC_data \\test\'
yearPeriod = '/Normal_1961_1990.nrm'
system2(exe,args= c('/Y', yearPeriod, inputFile, outputDir))