;===================================================================== ; Assume variables T, PS exist and that they have coordinate variables ; T is four dimensional: T(time,lev,lat,lon) ; PS is three dimensional: PS(time,lat,lon) ; ; Assume that ORO exists. ORO is two dimensional but it does not have any ; meta data associated with it. These must be explicitly assigned. Assume the ; lat/lon coordinate arrays can be taken from variable T. ; Note that the variable name on the output file does not ; have to be same as variable name in the code. ;===================================================================== load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" load "/home/arhoades/plots/latlonplots/shapefile/shapefile_mask_data.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/cd_string.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRF_contributed.ncl" begin setvalues NhlGetWorkspaceObjectId() "wsMaximumSize" : 300000000 end setvalues system("/bin/rm -f SN_mask_HISTandRCP85.nc") ; remove any pre-existing file ncdf = addfile("SN_mask_HISTandRCP85.nc" ,"c") ; open output netCDF file ;------------------------------------------------------ ; ADD CLIMATE AVERAGE MODEL DATA ;------------------------------------------------------ ;UNIGRID 28 - rough topo (HIST) fils_HIST_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_HIST/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_HIST_UNI28rough = addfiles(fils_HIST_UNI28rough,"r") lat_HIST_UNIGRID28_rough = fspan(20,50,240) lon_HIST_UNIGRID28_rough = fspan(-130,-100,240) HIST_SWE_UNIGRID28_rough = f_HIST_UNI28rough[:]->H2OSNO ; 1 kg/m2 = 1 mm ; HIST_SWE_UNIGRID28_rough = HIST_SWE_UNIGRID28_rough-0.1 HIST_SWE_UNIGRID28_rough!0 = "time" HIST_SWE_UNIGRID28_rough!1 = "lat" HIST_SWE_UNIGRID28_rough!2 = "lon" HIST_SWE_UNIGRID28_rough&lat = lat_HIST_UNIGRID28_rough HIST_SWE_UNIGRID28_rough&lon = lon_HIST_UNIGRID28_rough HIST_SWE_UNIGRID28_rough&lat@units = "degrees_north" HIST_SWE_UNIGRID28_rough&lon@units = "degrees_east" dsizes_HIST_SWE_UNIGRID28_rough = dimsizes(HIST_SWE_UNIGRID28_rough) nt_HIST_SWE_UNIGRID28_rough = dsizes_HIST_SWE_UNIGRID28_rough(0) ny_HIST_SWE_UNIGRID28_rough = dsizes_HIST_SWE_UNIGRID28_rough(1) nx_HIST_SWE_UNIGRID28_rough = dsizes_HIST_SWE_UNIGRID28_rough(2) printVarSummary(HIST_SWE_UNIGRID28_rough) print ("Minimum="+min(HIST_SWE_UNIGRID28_rough) +" Maximum="+max(HIST_SWE_UNIGRID28_rough)) fils_HIST_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_HIST/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_HIST_UNI28rough = addfiles(fils_HIST_UNI28rough,"r") lat_HIST_UNIGRID28_rough = fspan(20,50,240) lon_HIST_UNIGRID28_rough = fspan(-130,-100,240) HIST_SNOWC_UNIGRID28_rough = f_HIST_UNI28rough[:]->FSNO ; 1 kg/m2 = 1 mm ; HIST_SNOWC_UNIGRID28_rough = HIST_SNOWC_UNIGRID28_rough-0.001 HIST_SNOWC_UNIGRID28_rough = HIST_SNOWC_UNIGRID28_rough*100 HIST_SNOWC_UNIGRID28_rough!0 = "time" HIST_SNOWC_UNIGRID28_rough!1 = "lat" HIST_SNOWC_UNIGRID28_rough!2 = "lon" HIST_SNOWC_UNIGRID28_rough&lat = lat_HIST_UNIGRID28_rough HIST_SNOWC_UNIGRID28_rough&lon = lon_HIST_UNIGRID28_rough HIST_SNOWC_UNIGRID28_rough&lat@units = "degrees_north" HIST_SNOWC_UNIGRID28_rough&lon@units = "degrees_east" dsizes_HIST_SNOWC_UNIGRID28_rough = dimsizes(HIST_SNOWC_UNIGRID28_rough) nt_HIST_SNOWC_UNIGRID28_rough = dsizes_HIST_SNOWC_UNIGRID28_rough(0) ny_HIST_SNOWC_UNIGRID28_rough = dsizes_HIST_SNOWC_UNIGRID28_rough(1) nx_HIST_SNOWC_UNIGRID28_rough = dsizes_HIST_SNOWC_UNIGRID28_rough(2) printVarSummary(HIST_SNOWC_UNIGRID28_rough) print ("Minimum="+min(HIST_SNOWC_UNIGRID28_rough) +" Maximum="+max(HIST_SNOWC_UNIGRID28_rough)) fils_HIST_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_HIST/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_HIST_UNI28rough = addfiles(fils_HIST_UNI28rough,"r") lat_HIST_UNIGRID28_rough = fspan(20,50,240) lon_HIST_UNIGRID28_rough = fspan(-130,-100,240) HIST_2mST_UNIGRID28_rough = f_HIST_UNI28rough[:]->TSA ; 1 kg/m2 = 1 mm HIST_2mST_UNIGRID28_rough!0 = "time" HIST_2mST_UNIGRID28_rough!1 = "lat" HIST_2mST_UNIGRID28_rough!2 = "lon" HIST_2mST_UNIGRID28_rough&lat = lat_HIST_UNIGRID28_rough HIST_2mST_UNIGRID28_rough&lon = lon_HIST_UNIGRID28_rough HIST_2mST_UNIGRID28_rough&lat@units = "degrees_north" HIST_2mST_UNIGRID28_rough&lon@units = "degrees_east" dsizes_HIST_2mST_UNIGRID28_rough = dimsizes(HIST_2mST_UNIGRID28_rough) nt_HIST_2mST_UNIGRID28_rough = dsizes_HIST_2mST_UNIGRID28_rough(0) ny_HIST_2mST_UNIGRID28_rough = dsizes_HIST_2mST_UNIGRID28_rough(1) nx_HIST_2mST_UNIGRID28_rough = dsizes_HIST_2mST_UNIGRID28_rough(2) printVarSummary(HIST_2mST_UNIGRID28_rough) print ("Minimum="+min(HIST_2mST_UNIGRID28_rough) +" Maximum="+max(HIST_2mST_UNIGRID28_rough)) fils_HIST_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_HIST/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_HIST_UNI28rough = addfiles(fils_HIST_UNI28rough,"r") lat_HIST_UNIGRID28_rough = fspan(20,50,240) lon_HIST_UNIGRID28_rough = fspan(-130,-100,240) HIST_SNOWFALL_UNIGRID28_rough = f_HIST_UNI28rough[:]->SNOW ; 1 kg/m2 = 1 mm HIST_SNOWFALL_UNIGRID28_rough = HIST_SNOWFALL_UNIGRID28_rough*86400 ; change from mm/s to mm/day HIST_SNOWFALL_UNIGRID28_rough!0 = "time" HIST_SNOWFALL_UNIGRID28_rough!1 = "lat" HIST_SNOWFALL_UNIGRID28_rough!2 = "lon" HIST_SNOWFALL_UNIGRID28_rough&lat = lat_HIST_UNIGRID28_rough HIST_SNOWFALL_UNIGRID28_rough&lon = lon_HIST_UNIGRID28_rough HIST_SNOWFALL_UNIGRID28_rough&lat@units = "degrees_north" HIST_SNOWFALL_UNIGRID28_rough&lon@units = "degrees_east" dsizes_HIST_SNOWFALL_UNIGRID28_rough = dimsizes(HIST_SNOWFALL_UNIGRID28_rough) nt_HIST_SNOWFALL_UNIGRID28_rough = dsizes_HIST_SNOWFALL_UNIGRID28_rough(0) ny_HIST_SNOWFALL_UNIGRID28_rough = dsizes_HIST_SNOWFALL_UNIGRID28_rough(1) nx_HIST_SNOWFALL_UNIGRID28_rough = dsizes_HIST_SNOWFALL_UNIGRID28_rough(2) printVarSummary(HIST_SNOWFALL_UNIGRID28_rough) print ("Minimum="+min(HIST_SNOWFALL_UNIGRID28_rough) +" Maximum="+max(HIST_SNOWFALL_UNIGRID28_rough)) ;UNIGRID 28 - rough topo (RCP_BEGCENT8.5 - BEGCENT) fils_RCP85_BEGCENT_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_RCP8.5/pre-process/2025-2050/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_BEGCENT_UNI28rough = addfiles(fils_RCP85_BEGCENT_UNI28rough,"r") lat_RCP85_BEGCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_BEGCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_BEGCENT_SWE_UNIGRID28_rough = f_RCP85_BEGCENT_UNI28rough[:]->H2OSNO ; 1 kg/m2 = 1 mm ; RCP85_BEGCENT_SWE_UNIGRID28_rough = RCP85_BEGCENT_SWE_UNIGRID28_rough-0.1 RCP85_BEGCENT_SWE_UNIGRID28_rough!0 = "time" RCP85_BEGCENT_SWE_UNIGRID28_rough!1 = "lat" RCP85_BEGCENT_SWE_UNIGRID28_rough!2 = "lon" RCP85_BEGCENT_SWE_UNIGRID28_rough&lat = lat_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_SWE_UNIGRID28_rough&lon = lon_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_SWE_UNIGRID28_rough&lat@units = "degrees_north" RCP85_BEGCENT_SWE_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_BEGCENT_SWE_UNIGRID28_rough = dimsizes(RCP85_BEGCENT_SWE_UNIGRID28_rough) nt_RCP85_BEGCENT_SWE_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SWE_UNIGRID28_rough(0) ny_RCP85_BEGCENT_SWE_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SWE_UNIGRID28_rough(1) nx_RCP85_BEGCENT_SWE_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SWE_UNIGRID28_rough(2) printVarSummary(RCP85_BEGCENT_SWE_UNIGRID28_rough) print ("Minimum="+min(RCP85_BEGCENT_SWE_UNIGRID28_rough) +" Maximum="+max(RCP85_BEGCENT_SWE_UNIGRID28_rough)) fils_RCP85_BEGCENT_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_RCP8.5/pre-process/2025-2050/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_BEGCENT_UNI28rough = addfiles(fils_RCP85_BEGCENT_UNI28rough,"r") lat_RCP85_BEGCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_BEGCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_BEGCENT_SNOWC_UNIGRID28_rough = f_RCP85_BEGCENT_UNI28rough[:]->FSNO ; 1 kg/m2 = 1 mm ; RCP85_BEGCENT_SNOWC_UNIGRID28_rough = RCP85_BEGCENT_SNOWC_UNIGRID28_rough-0.001 RCP85_BEGCENT_SNOWC_UNIGRID28_rough = RCP85_BEGCENT_SNOWC_UNIGRID28_rough*100 RCP85_BEGCENT_SNOWC_UNIGRID28_rough!0 = "time" RCP85_BEGCENT_SNOWC_UNIGRID28_rough!1 = "lat" RCP85_BEGCENT_SNOWC_UNIGRID28_rough!2 = "lon" RCP85_BEGCENT_SNOWC_UNIGRID28_rough&lat = lat_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_SNOWC_UNIGRID28_rough&lon = lon_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_SNOWC_UNIGRID28_rough&lat@units = "degrees_north" RCP85_BEGCENT_SNOWC_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_BEGCENT_SNOWC_UNIGRID28_rough = dimsizes(RCP85_BEGCENT_SNOWC_UNIGRID28_rough) nt_RCP85_BEGCENT_SNOWC_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SNOWC_UNIGRID28_rough(0) ny_RCP85_BEGCENT_SNOWC_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SNOWC_UNIGRID28_rough(1) nx_RCP85_BEGCENT_SNOWC_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SNOWC_UNIGRID28_rough(2) printVarSummary(RCP85_BEGCENT_SNOWC_UNIGRID28_rough) print ("Minimum="+min(RCP85_BEGCENT_SNOWC_UNIGRID28_rough) +" Maximum="+max(RCP85_BEGCENT_SNOWC_UNIGRID28_rough)) fils_RCP85_BEGCENT_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_RCP8.5/pre-process/2025-2050/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_BEGCENT_UNI28rough = addfiles(fils_RCP85_BEGCENT_UNI28rough,"r") lat_RCP85_BEGCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_BEGCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_BEGCENT_2mST_UNIGRID28_rough = f_RCP85_BEGCENT_UNI28rough[:]->TSA ; 1 kg/m2 = 1 mm RCP85_BEGCENT_2mST_UNIGRID28_rough!0 = "time" RCP85_BEGCENT_2mST_UNIGRID28_rough!1 = "lat" RCP85_BEGCENT_2mST_UNIGRID28_rough!2 = "lon" RCP85_BEGCENT_2mST_UNIGRID28_rough&lat = lat_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_2mST_UNIGRID28_rough&lon = lon_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_2mST_UNIGRID28_rough&lat@units = "degrees_north" RCP85_BEGCENT_2mST_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_BEGCENT_2mST_UNIGRID28_rough = dimsizes(RCP85_BEGCENT_2mST_UNIGRID28_rough) nt_RCP85_BEGCENT_2mST_UNIGRID28_rough = dsizes_RCP85_BEGCENT_2mST_UNIGRID28_rough(0) ny_RCP85_BEGCENT_2mST_UNIGRID28_rough = dsizes_RCP85_BEGCENT_2mST_UNIGRID28_rough(1) nx_RCP85_BEGCENT_2mST_UNIGRID28_rough = dsizes_RCP85_BEGCENT_2mST_UNIGRID28_rough(2) printVarSummary(RCP85_BEGCENT_2mST_UNIGRID28_rough) fils_RCP85_BEGCENT_UNI28rough = systemfunc("ls /group/paullricgrp3/VR-CESM_0.25_RCP8.5/pre-process/2025-2050/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_BEGCENT_UNI28rough = addfiles(fils_RCP85_BEGCENT_UNI28rough,"r") lat_RCP85_BEGCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_BEGCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = f_RCP85_BEGCENT_UNI28rough[:]->SNOW ; 1 kg/m2 = 1 mm RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough*86400 ; change from mm/s to mm/day RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough!0 = "time" RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough!1 = "lat" RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough!2 = "lon" RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough&lat = lat_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough&lon = lon_RCP85_BEGCENT_UNIGRID28_rough RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough&lat@units = "degrees_north" RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = dimsizes(RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough) nt_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough(0) ny_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough(1) nx_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = dsizes_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough(2) printVarSummary(RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough) ;UNIGRID 28 - rough topo (RCP_ENDCENT8.5 - ENDCENT) fils_RCP85_ENDCENT_UNI28rough = systemfunc("ls /group/paullricgrp2/VR-CESM_0.25_RCP85_ENDCENT/pre-process/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_ENDCENT_UNI28rough = addfiles(fils_RCP85_ENDCENT_UNI28rough,"r") lat_RCP85_ENDCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_ENDCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_ENDCENT_SWE_UNIGRID28_rough = f_RCP85_ENDCENT_UNI28rough[:]->H2OSNO ; 1 kg/m2 = 1 mm ; RCP85_ENDCENT_SWE_UNIGRID28_rough = RCP85_ENDCENT_SWE_UNIGRID28_rough-0.1 RCP85_ENDCENT_SWE_UNIGRID28_rough!0 = "time" RCP85_ENDCENT_SWE_UNIGRID28_rough!1 = "lat" RCP85_ENDCENT_SWE_UNIGRID28_rough!2 = "lon" RCP85_ENDCENT_SWE_UNIGRID28_rough&lat = lat_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_SWE_UNIGRID28_rough&lon = lon_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_SWE_UNIGRID28_rough&lat@units = "degrees_north" RCP85_ENDCENT_SWE_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_ENDCENT_SWE_UNIGRID28_rough = dimsizes(RCP85_ENDCENT_SWE_UNIGRID28_rough) nt_RCP85_ENDCENT_SWE_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SWE_UNIGRID28_rough(0) ny_RCP85_ENDCENT_SWE_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SWE_UNIGRID28_rough(1) nx_RCP85_ENDCENT_SWE_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SWE_UNIGRID28_rough(2) printVarSummary(RCP85_ENDCENT_SWE_UNIGRID28_rough) print ("Minimum="+min(RCP85_ENDCENT_SWE_UNIGRID28_rough) +" Maximum="+max(RCP85_ENDCENT_SWE_UNIGRID28_rough)) fils_RCP85_ENDCENT_UNI28rough = systemfunc("ls /group/paullricgrp2/VR-CESM_0.25_RCP85_ENDCENT/pre-process/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_ENDCENT_UNI28rough = addfiles(fils_RCP85_ENDCENT_UNI28rough,"r") lat_RCP85_ENDCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_ENDCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_ENDCENT_SNOWC_UNIGRID28_rough = f_RCP85_ENDCENT_UNI28rough[:]->FSNO ; 1 kg/m2 = 1 mm ; RCP85_ENDCENT_SNOWC_UNIGRID28_rough = RCP85_ENDCENT_SNOWC_UNIGRID28_rough-0.001 RCP85_ENDCENT_SNOWC_UNIGRID28_rough = RCP85_ENDCENT_SNOWC_UNIGRID28_rough*100 RCP85_ENDCENT_SNOWC_UNIGRID28_rough!0 = "time" RCP85_ENDCENT_SNOWC_UNIGRID28_rough!1 = "lat" RCP85_ENDCENT_SNOWC_UNIGRID28_rough!2 = "lon" RCP85_ENDCENT_SNOWC_UNIGRID28_rough&lat = lat_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_SNOWC_UNIGRID28_rough&lon = lon_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_SNOWC_UNIGRID28_rough&lat@units = "degrees_north" RCP85_ENDCENT_SNOWC_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_ENDCENT_SNOWC_UNIGRID28_rough = dimsizes(RCP85_ENDCENT_SNOWC_UNIGRID28_rough) nt_RCP85_ENDCENT_SNOWC_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SNOWC_UNIGRID28_rough(0) ny_RCP85_ENDCENT_SNOWC_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SNOWC_UNIGRID28_rough(1) nx_RCP85_ENDCENT_SNOWC_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SNOWC_UNIGRID28_rough(2) printVarSummary(RCP85_ENDCENT_SNOWC_UNIGRID28_rough) print ("Minimum="+min(RCP85_ENDCENT_SNOWC_UNIGRID28_rough) +" Maximum="+max(RCP85_ENDCENT_SNOWC_UNIGRID28_rough)) fils_RCP85_ENDCENT_UNI28rough = systemfunc("ls /group/paullricgrp2/VR-CESM_0.25_RCP85_ENDCENT/pre-process/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_ENDCENT_UNI28rough = addfiles(fils_RCP85_ENDCENT_UNI28rough,"r") lat_RCP85_ENDCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_ENDCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_ENDCENT_2mST_UNIGRID28_rough = f_RCP85_ENDCENT_UNI28rough[:]->TSA ; 1 kg/m2 = 1 mm RCP85_ENDCENT_2mST_UNIGRID28_rough!0 = "time" RCP85_ENDCENT_2mST_UNIGRID28_rough!1 = "lat" RCP85_ENDCENT_2mST_UNIGRID28_rough!2 = "lon" RCP85_ENDCENT_2mST_UNIGRID28_rough&lat = lat_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_2mST_UNIGRID28_rough&lon = lon_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_2mST_UNIGRID28_rough&lat@units = "degrees_north" RCP85_ENDCENT_2mST_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_ENDCENT_2mST_UNIGRID28_rough = dimsizes(RCP85_ENDCENT_2mST_UNIGRID28_rough) nt_RCP85_ENDCENT_2mST_UNIGRID28_rough = dsizes_RCP85_ENDCENT_2mST_UNIGRID28_rough(0) ny_RCP85_ENDCENT_2mST_UNIGRID28_rough = dsizes_RCP85_ENDCENT_2mST_UNIGRID28_rough(1) nx_RCP85_ENDCENT_2mST_UNIGRID28_rough = dsizes_RCP85_ENDCENT_2mST_UNIGRID28_rough(2) printVarSummary(RCP85_ENDCENT_2mST_UNIGRID28_rough) print ("Minimum="+min(RCP85_ENDCENT_2mST_UNIGRID28_rough) +" Maximum="+max(RCP85_ENDCENT_2mST_UNIGRID28_rough)) fils_RCP85_ENDCENT_UNI28rough = systemfunc("ls /group/paullricgrp2/VR-CESM_0.25_RCP85_ENDCENT/pre-process/lnd/DJFavg/REGRID/*.avgDJF.box.nc") f_RCP85_ENDCENT_UNI28rough = addfiles(fils_RCP85_ENDCENT_UNI28rough,"r") lat_RCP85_ENDCENT_UNIGRID28_rough = fspan(20,50,240) lon_RCP85_ENDCENT_UNIGRID28_rough = fspan(-130,-100,240) RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = f_RCP85_ENDCENT_UNI28rough[:]->SNOW ; 1 kg/m2 = 1 mm RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough*86400 ; change from mm/s to mm/day RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough!0 = "time" RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough!1 = "lat" RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough!2 = "lon" RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough&lat = lat_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough&lon = lon_RCP85_ENDCENT_UNIGRID28_rough RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough&lat@units = "degrees_north" RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough&lon@units = "degrees_east" dsizes_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = dimsizes(RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough) nt_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough(0) ny_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough(1) nx_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = dsizes_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough(2) printVarSummary(RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough) print ("Minimum="+min(RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough) +" Maximum="+max(RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough)) ;------------------------------------------------------ ; ADD SHAPEFILE ;------------------------------------------------------ ; shp_file = "/home/arhoades/monthlydata/SHAPEFILES/Basin_California-Nevada/" ; Open shapefile ; shp_file_name = shp_file + "b_cnrfc.shp" shp_file = "/home/arhoades/monthlydata/SHAPEFILES/Ecoregions_NorthAmerica_Level3/SierraNevada/" ; Open shapefile shp_file_name = shp_file + "sierranevadatest.shp" ;------------------------------------------------------ ; MASK DATA WITH SHAPE FILE ;------------------------------------------------------ SN_mask_HIST_SWE_UNIGRID28_rough = new((/nt_HIST_SWE_UNIGRID28_rough,ny_HIST_SWE_UNIGRID28_rough,nx_HIST_SWE_UNIGRID28_rough/),float) do i=0,nt_HIST_SWE_UNIGRID28_rough-1 print(i) SN_mask_HIST_SWE_UNIGRID28_rough(i,:,:) = shapefile_mask_data(HIST_SWE_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_HIST_SWE_UNIGRID28_rough) printMinMax(SN_mask_HIST_SWE_UNIGRID28_rough,True) end do SN_mask_HIST_SNOWC_UNIGRID28_rough = new((/nt_HIST_SNOWC_UNIGRID28_rough,ny_HIST_SNOWC_UNIGRID28_rough,nx_HIST_SNOWC_UNIGRID28_rough/),float) do i=0,nt_HIST_SNOWC_UNIGRID28_rough-1 print(i) SN_mask_HIST_SNOWC_UNIGRID28_rough(i,:,:) = shapefile_mask_data(HIST_SNOWC_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_HIST_SNOWC_UNIGRID28_rough) printMinMax(SN_mask_HIST_SNOWC_UNIGRID28_rough,True) end do SN_mask_HIST_2mST_UNIGRID28_rough = new((/nt_HIST_2mST_UNIGRID28_rough,ny_HIST_2mST_UNIGRID28_rough,nx_HIST_2mST_UNIGRID28_rough/),float) do i=0,nt_HIST_2mST_UNIGRID28_rough-1 print(i) SN_mask_HIST_2mST_UNIGRID28_rough(i,:,:) = shapefile_mask_data(HIST_2mST_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_HIST_2mST_UNIGRID28_rough) printMinMax(SN_mask_HIST_2mST_UNIGRID28_rough,True) end do SN_mask_HIST_SNOWFALL_UNIGRID28_rough = new((/nt_HIST_SNOWFALL_UNIGRID28_rough,ny_HIST_SNOWFALL_UNIGRID28_rough,nx_HIST_SNOWFALL_UNIGRID28_rough/),float) do i=0,nt_HIST_SNOWFALL_UNIGRID28_rough-1 print(i) SN_mask_HIST_SNOWFALL_UNIGRID28_rough(i,:,:) = shapefile_mask_data(HIST_SNOWFALL_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_HIST_SNOWFALL_UNIGRID28_rough) printMinMax(SN_mask_HIST_SNOWFALL_UNIGRID28_rough,True) end do SN_mask_RCP85_BEGCENT_SWE_UNIGRID28_rough = new((/nt_RCP85_BEGCENT_SWE_UNIGRID28_rough,ny_RCP85_BEGCENT_SWE_UNIGRID28_rough,nx_RCP85_BEGCENT_SWE_UNIGRID28_rough/),float) do i=0,nt_RCP85_BEGCENT_SWE_UNIGRID28_rough-1 print(i) SN_mask_RCP85_BEGCENT_SWE_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_BEGCENT_SWE_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_BEGCENT_SWE_UNIGRID28_rough) printMinMax(SN_mask_RCP85_BEGCENT_SWE_UNIGRID28_rough,True) end do SN_mask_RCP85_BEGCENT_SNOWC_UNIGRID28_rough = new((/nt_RCP85_BEGCENT_SNOWC_UNIGRID28_rough,ny_RCP85_BEGCENT_SNOWC_UNIGRID28_rough,nx_RCP85_BEGCENT_SNOWC_UNIGRID28_rough/),float) do i=0,nt_RCP85_BEGCENT_SNOWC_UNIGRID28_rough-1 print(i) SN_mask_RCP85_BEGCENT_SNOWC_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_BEGCENT_SNOWC_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_BEGCENT_SNOWC_UNIGRID28_rough) printMinMax(SN_mask_RCP85_BEGCENT_SNOWC_UNIGRID28_rough,True) end do SN_mask_RCP85_BEGCENT_2mST_UNIGRID28_rough = new((/nt_RCP85_BEGCENT_2mST_UNIGRID28_rough,ny_RCP85_BEGCENT_2mST_UNIGRID28_rough,nx_RCP85_BEGCENT_2mST_UNIGRID28_rough/),float) do i=0,nt_RCP85_BEGCENT_2mST_UNIGRID28_rough-1 print(i) SN_mask_RCP85_BEGCENT_2mST_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_BEGCENT_2mST_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_BEGCENT_2mST_UNIGRID28_rough) printMinMax(SN_mask_RCP85_BEGCENT_2mST_UNIGRID28_rough,True) end do SN_mask_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough = new((/nt_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough,ny_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough,nx_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough/),float) do i=0,nt_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough-1 print(i) SN_mask_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough) printMinMax(SN_mask_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough,True) end do SN_mask_RCP85_ENDCENT_SWE_UNIGRID28_rough = new((/nt_RCP85_ENDCENT_SWE_UNIGRID28_rough,ny_RCP85_ENDCENT_SWE_UNIGRID28_rough,nx_RCP85_ENDCENT_SWE_UNIGRID28_rough/),float) do i=0,nt_RCP85_ENDCENT_SWE_UNIGRID28_rough-1 print(i) SN_mask_RCP85_ENDCENT_SWE_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_ENDCENT_SWE_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_ENDCENT_SWE_UNIGRID28_rough) printMinMax(SN_mask_RCP85_ENDCENT_SWE_UNIGRID28_rough,True) end do SN_mask_RCP85_ENDCENT_SNOWC_UNIGRID28_rough = new((/nt_RCP85_ENDCENT_SNOWC_UNIGRID28_rough,ny_RCP85_ENDCENT_SNOWC_UNIGRID28_rough,nx_RCP85_ENDCENT_SNOWC_UNIGRID28_rough/),float) do i=0,nt_RCP85_ENDCENT_SNOWC_UNIGRID28_rough-1 print(i) SN_mask_RCP85_ENDCENT_SNOWC_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_ENDCENT_SNOWC_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_ENDCENT_SNOWC_UNIGRID28_rough) printMinMax(SN_mask_RCP85_ENDCENT_SNOWC_UNIGRID28_rough,True) end do SN_mask_RCP85_ENDCENT_2mST_UNIGRID28_rough = new((/nt_RCP85_ENDCENT_2mST_UNIGRID28_rough,ny_RCP85_ENDCENT_2mST_UNIGRID28_rough,nx_RCP85_ENDCENT_2mST_UNIGRID28_rough/),float) do i=0,nt_RCP85_ENDCENT_2mST_UNIGRID28_rough-1 print(i) SN_mask_RCP85_ENDCENT_2mST_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_ENDCENT_2mST_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_ENDCENT_2mST_UNIGRID28_rough) printMinMax(SN_mask_RCP85_ENDCENT_2mST_UNIGRID28_rough,True) end do SN_mask_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough = new((/nt_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough,ny_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough,nx_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough/),float) do i=0,nt_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough-1 print(i) SN_mask_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough(i,:,:) = shapefile_mask_data(RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough(i,:,:),shp_file_name,True) printVarSummary(SN_mask_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough) printMinMax(SN_mask_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough,True) end do ;----------------------------------------------------------------------- ;=================================================================== ; create global attributes of the file (optional) ;=================================================================== fAtt = True ; assign file attributes fAtt@title = "NCL Simple Approach to netCDF Creation" fAtt@source_file = "" fAtt@Conventions = "None" fAtt@creation_date = systemfunc ("date") fileattdef( ncdf, fAtt ) ; copy file attributes ;=================================================================== ; make time an UNLIMITED dimension; recommended for most applications ;=================================================================== filedimdef(ncdf,"time",-1,True) ;=================================================================== ; output variables directly; NCL will call appropriate functions ; to write the meta data associated with each variable ;=================================================================== ; 1980-2005 ncdf->DJF_SWE_HIST = (/SN_mask_HIST_SWE_UNIGRID28_rough/) ncdf->DJF_SNOWC_HIST = (/SN_mask_HIST_SNOWC_UNIGRID28_rough/) ncdf->DJF_2mST_HIST = (/SN_mask_HIST_2mST_UNIGRID28_rough/) ncdf->DJF_SNOWFALL_HIST = (/SN_mask_HIST_SNOWFALL_UNIGRID28_rough/) ; 2025-2050 ncdf->DJF_SWE_RCP85_MIDCENT = (/SN_mask_RCP85_BEGCENT_SWE_UNIGRID28_rough/) ncdf->DJF_SNOWC_RCP85_MIDCENT = (/SN_mask_RCP85_BEGCENT_SNOWC_UNIGRID28_rough/) ncdf->DJF_2mST_RCP85_MIDCENT = (/SN_mask_RCP85_BEGCENT_2mST_UNIGRID28_rough/) ncdf->DJF_SNOWFALL_RCP85_MIDCENT = (/SN_mask_RCP85_BEGCENT_SNOWFALL_UNIGRID28_rough/) ; 2075-2100 ncdf->DJF_SWE_RCP85_ENDCENT = (/SN_mask_RCP85_ENDCENT_SWE_UNIGRID28_rough/) ncdf->DJF_SNOWC_RCP85_ENDCENT = (/SN_mask_RCP85_ENDCENT_SNOWC_UNIGRID28_rough/) ncdf->DJF_2mST_RCP85_ENDCENT = (/SN_mask_RCP85_ENDCENT_2mST_UNIGRID28_rough/) ncdf->DJF_SNOWFALL_RCP85_ENDCENT = (/SN_mask_RCP85_ENDCENT_SNOWFALL_UNIGRID28_rough/) end