; --------------------------------------------------------------------------- ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Program Name: interpolation.ncl ; ; ; ; National Water Model (NWM) WRF-hydro forcing engine is developed by ; ; National Center for Atmospheric Research (NCAR), under the sponsorship ; ; of National Water Center (NWC). ; ; ; ; Team Members: ; ; NCAR Staff: Linlin Pan, Wei Yu, and David Gochis ; ; NWC/OWP Staff: Brian Cosgrove, Zhengtao Cui, Cham Pham, and James Taft ; ; ; ; This is a ncl program to perform interpolation ; ; ; ; Input: source file1, source file2, output file1, output file2 ; ; ; ; Output: interpolated files ; ; ; ; For non-fatal errors output is witten to $DATA/logs ; ; ; ; Author(s)/Contact(s): Linlin Pan, lpan@ucar.edu ; ; Origination june, 2015 ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;---------------------------------------------------------------------- begin inputFile1 = getenv("inputFile1") ; GFS data inputFile2 = getenv("inputFile2") ; GFS data outFile1 = getenv("outFile1") ; outFile data outFile2 = getenv("outFile2") ; outFile data f1 = addfile(inputFile1,"r") f2 = addfile(inputFile2,"r") fout1 = addfile(outFile1,"w") fout2 = addfile(outFile2,"w") V2D1 = f1->T2D V2D2 = f2->T2D T2D=(V2D1*2.+V2D2)/3. fout1->T2D = T2D delete(T2D) T2D=(V2D1+V2D2*2.)/3. fout2->T2D = T2D delete(T2D) delete(V2D1) delete(V2D2) ; LWDOWN1 = f1->LWDOWN LWDOWN2 = f2->LWDOWN LWDOWN = (LWDOWN1*2.+LWDOWN2)/3. fout1->LWDOWN = LWDOWN delete(LWDOWN) LWDOWN = (LWDOWN1+LWDOWN2*2.)/3. fout2->LWDOWN = LWDOWN delete(LWDOWN) delete(LWDOWN1) delete(LWDOWN2) ; V2D1 = f1->Q2D V2D2 = f2->Q2D Q2D = ( V2D1*2. + V2D2 )/3. fout1->Q2D = Q2D delete(Q2D) Q2D = ( V2D1 + V2D2*2. )/3. fout2->Q2D = Q2D delete(Q2D) delete(V2D1) delete(V2D2) ; V2D1 = f1->V2D V2D2 = f2->V2D V2D = ( V2D1*2. + V2D2 )/3. fout1->V2D = V2D delete(V2D) V2D = ( V2D1 + V2D2*2. )/3. fout2->V2D = V2D delete(V2D) delete(V2D1) delete(V2D2) ; V2D1 = f1->U2D V2D2 = f2->U2D U2D = ( V2D1*2. + V2D2 )/3. fout1->U2D = U2D delete(U2D) U2D = ( V2D1 + V2D2*2. )/3. fout2->U2D = U2D delete(U2D) delete(V2D1) delete(V2D2) ; V2D1 = f1->PSFC V2D2 = f2->PSFC PSFC = ( V2D1*2. + V2D2 )/3. fout1->PSFC = PSFC delete(PSFC) PSFC = ( V2D1 + V2D2*2. )/3. fout2->PSFC = PSFC delete(PSFC) delete(V2D1) delete(V2D2) ; V2D1 = f1->RAINRATE V2D2 = f2->RAINRATE RAINRATE = ( V2D1*2. + V2D2 )/3. fout1->RAINRATE = RAINRATE delete(RAINRATE) RAINRATE = ( V2D1 + V2D2*2. )/3. fout2->RAINRATE = RAINRATE delete(RAINRATE) delete(V2D1) delete(V2D2) ; V2D1 = f1->SWDOWN V2D2 = f2->SWDOWN SWDOWN = (V2D1*2. + V2D2 )/3. fout1->SWDOWN = SWDOWN delete(SWDOWN) SWDOWN = (V2D1 + V2D2*2. )/3. fout2->SWDOWN = SWDOWN delete(SWDOWN) delete(V2D1) delete(V2D2) ; V2D1 = f1->WEASD V2D2 = f2->WEASD WEASD = (V2D1*2. + V2D2 )/3. fout1->WEASD = WEASD delete(WEASD) WEASD = (V2D1 + V2D2*2. )/3. fout2->WEASD = WEASD delete(WEASD) delete(V2D1) delete(V2D2) ; end