[R-sig-Geo] Plotting x and y values using data from two separate netCDF files in R

r@i@1290 m@iii@g oii @im@com r@i@1290 m@iii@g oii @im@com
Tue Mar 26 19:29:18 CET 2019


Hi there,
I am currently trying to plot precipitation data (y-axis values) with cumulative emissions data (x-axis) using R. Both of these data are found on two separate netCDF files that I have already read into R. Ultimately, What I would like to do is plot precipitation as a function of cumulative emissions for a selected location (as shown below in the following code). I have, so far, used the following code (with "#" to highlight each step):     library(raster)
    library(ncdf4)
    library(maps)
    library(maptools)
    library(rasterVis)
    library(ggplot2)
    library(rgdal)
    library(sp)    #Geting cumulative emissions data for x-axis       ncfname<-"cumulative_emissions_1pctCO2.nc"
    Model1<-nc_open(ncfname)
    print(Model1)
    get<-ncvar_get(Model1, "cum_co2_emi-CanESM2") #units of terratones of   
    carbon (TtC) for x-axis (140 values)
    print(get)
    Year<-ncvar_get(Model1, "time") #140 years
 #Getting Model data for extreme precipitation (units of millimeters/day) for y-axis       ncfname1<-"MaxPrecCCCMACanESM21pctCO2.nc"
    Model2<-nc_open(ncfname1)
    print(Model2)
    get1<-ncvar_get(Model2, "onedaymax") #units of millimeters/day
    print(get1)
    #Reading in latitude, longitude and time from this file:
        latitude<-ncvar_get(Model2, "lat") #64 degrees latitude
    longitude<-ncvar_get(Model2, "lon") #128 degrees longitude
    Year1<-ncvar_get(Model2, "Year") #140 years
    #Plotting attempt        randompointlon<-30 #selecting a longitude
    randompointlat<--5 #selecting a latitude
    Hope<-extract(r_brick, 
    SpatialPoints(cbind(randompointlon,randompointlat)),method='simple')
    df<-data.frame(cumulativeemissions=seq(from=1, to=140, by=1),   
    Precipitation=t(Hope))
    ggplot(data=df, aes(x=get, y=Precipitation, 
    group=1))+geom_line()+ggtitle("One-day maximum precipitation (mm/day)   
    for random location for CanESM2 1pctCO2 as a function of cumulative 
    emissions")
print(Model1) yields the following (I read in variable #2 for now):
File cumulative_emissions_1pctCO2.nc (NC_FORMAT_NETCDF4):
14 variables (excluding dimension variables):
                float cum_co2_emi-BNU-ESM[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for BNU-ESM
            units: Tt C
        float cum_co2_emi-CanESM2[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for CanESM2
            units: Tt C
        float cum_co2_emi-CESM1-BGC[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for CESM1-BGC
            units: Tt C
        float cum_co2_emi-HadGEM2-ES[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for HadGEM2-ES
            units: Tt C
        float cum_co2_emi-inmcm4[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for inmcm4
            units: Tt C
        float cum_co2_emi-IPSL-CM5A-LR[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for IPSL-CM5A-LR
            units: Tt C
        float cum_co2_emi-IPSL-CM5A-MR[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for IPSL-CM5A-MR
            units: Tt C
        float cum_co2_emi-IPSL-CM5B-LR[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for IPSL-CM5B-LR
            units: Tt C
        float cum_co2_emi-MIROC-ESM[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for MIROC-ESM
            units: Tt C
        float cum_co2_emi-MPI-ESM-LR[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for MPI-ESM-LR
            units: Tt C
        float cum_co2_emi-MPI-ESM-MR[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for MPI-ESM-MR
            units: Tt C
        float cum_co2_emi-NorESM1-ME[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for NorESM1-ME
            units: Tt C
        float cum_co2_emi-GFDL-ESM2G[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for GFDL-ESM2G
            units: Tt C
        float cum_co2_emi-GFDL-ESM2M[time]   (Contiguous storage)  
            long_name: Cumulative carbon emissions for GFDL-ESM2M
            units: Tt C     1 dimensions:
        time  Size:140
            units: years since 0-1-1 0:0:0
            long_name: time
            standard_name: time
            calender: noleap   4 global attributes:
        description: Cumulative carbon emissions for the 1pctCO2 scenario from the CMIP5 dataset.
        history: Created Fri Jul 21 14:50:39 2017
        source: CMIP5 archieve
        
print(Model2) yields the following:File MaxPrecCCCMACanESM21pctCO2.nc (NC_FORMAT_NETCDF4):     3 variables (excluding dimension variables):
        double onedaymax[lon,lat,time]   (Contiguous storage)  
            units: mm/day
        double fivedaymax[lon,lat,time]   (Contiguous storage)  
            units: mm/day
        short Year[time]   (Contiguous storage)       3 dimensions:
        time  Size:140
        lat  Size:64
            units: degree North
        lon  Size:128
            units: degree East      3 global attributes:
        description: Annual global maximum precipitation from the CanESM2 1pctCO2 scenario
        history: Created Mon Jun  4 11:24:02 2018
        contact: rain1290 using aim.com
So, in general, this is what I am trying to achieve, but I am not sure if what I am doing in the ggplot function is the right approach for this. 
Any assistance with this would be greatly appreciated!
Thanks,
	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list