Unipost strange high, mid, low cloud cover output

All other topics about postprocessing model data (GrADS and other software), about other numerical weather prediction software (including WRF-NMM and WRF-ARW discussion unrelated to UEMS/WRF EMS), and general meteorology talk go in this forum.
oib
Posts: 118
Joined: Mon Jan 31, 2011 3:29 pm

Re: Unipost strange high, mid, low cloud cover output

Post by oib » Tue Oct 14, 2014 6:41 am

meteoadriatic wrote:
oib wrote: Is there anyone willing to download one of my WRF V3.{4,5,6} ARW wrf_out_* file, to process it with UPP V2.{0,1,2} and then to send the resulting GRIB file or to show here the resulting GrADS plot for one of HCDChcl, MCDCmcl, LCDClcl? :oops:
Sure no problem, give me the link.
I run a 0-78 hours simulation over your region (north Adriatic Sea) with WRFV3.6.1 on ARW core, 4Km grid size, 45 levels, Lambert projection, initialized on GFS 2014-10-13 06Z.

I have uploaded on the web the wrf.exe output file, NetCDF format, at 2014-10-16 00:00:00 (+66h). The file size is 50 MB.

If you can, please take a look and try to put into unipost, then plot L,M,H cloud fraction with GrADS.

My GrADS plots of these variables show a very poor resolution compared to the resolution of the grid, so I would like to know if this is a unipost bug or there is some problem with my build of unipost or elsewhere in my system.

Thanks a lot !!!

meteoadriatic
Posts: 1584
Joined: Wed Aug 19, 2009 10:05 am

Re: Unipost strange high, mid, low cloud cover output

Post by meteoadriatic » Thu Oct 16, 2014 12:55 pm

Will try today. I'm testing UPP 2.2 also right now.

meteoadriatic
Posts: 1584
Joined: Wed Aug 19, 2009 10:05 am

Re: Unipost strange high, mid, low cloud cover output

Post by meteoadriatic » Thu Oct 16, 2014 1:47 pm

Hi,

here are results:

Total:
Image

High:
Image

Mid:
Image

Low:
Image

Grib, ctl, idx are also here:
http://meteoadriatic.net/pub/wrf/oib/

oib
Posts: 118
Joined: Mon Jan 31, 2011 3:29 pm

Re: Unipost strange high, mid, low cloud cover output

Post by oib » Thu Oct 16, 2014 4:41 pm

meteoadriatic wrote:Hi,
here are results:
Grib, ctl, idx are also here:
http://meteoadriatic.net/pub/wrf/oib/
Super!!!
Tomorrow I will investigate your results and compare with mine.
Thanks a lot! ;)
Last edited by oib on Fri Oct 17, 2014 11:57 am, edited 1 time in total.

oib
Posts: 118
Joined: Mon Jan 31, 2011 3:29 pm

Re: Unipost strange high, mid, low cloud cover output

Post by oib » Fri Oct 17, 2014 10:42 am

That's "low cloud level Low level cloud cover" GrADS plot from my GRIB file produced with UPPV2.2 .

Image

Very bad compared to your plot :?

So we started from the same wrf_out file but we arrived at different file after having processed the file with unipost.

Thank's to you now I know that the problem is something inside my unipost.

And now the hard part, I have to investigate why my plot is so bad...

Did you use UPP Version 2.2 ?

Maybe the problem is from some compilation flag I've used in building UPP from source?

That's the way I built UPPV2.2:
Intel(R) Fortran Compiler XE 14.0 Update 3 for Linux
Intel(R) C++ Compiler XE 14.0 Update 3 for Linux

--
mpich-3.1.2
netcdf-4.1.1
zlib-1.2.8
libpng-1.6.10
jasper-1.900.1

--
This is my configure.upp (Linux x86_64, Intel compiler (dmpar)).

Code: Select all

# configure.upp
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults then rerun configure.
#

SHELL           	=       /bin/sh

LDFLAGS_MPI             =     # to be overridden later

#### Architecture specific settings ####


WRF_LIB_EXTRA = -L$(WRF_DIR)/external/RSL_LITE -lrsl_lite

# Settings for Linux x86_64, Intel compiler	 (dmpar)#
SFC     = ifort
SF90    = ifort -free
SCC     = icc

DM_FC  = mpif90 
DM_F90 = mpif90 -free 
DM_CC  = mpicc 

FC      = $(DM_FC)
F90     = $(DM_F90)
CC      = $(DM_CC)
CPP     = /lib/cpp

LINUX_OBJ     =
BYTE_ORDER    = UPPLITTLEENDIAN
SIZE_I8R8   = -r8 -i8
SIZE_I4R8   = -r8 -i4
SIZE_I4R4   = -r4 -i4
SIZE        =

PPDEFINE   = -DCOMMCODE -DLINUX -D$(BYTE_ORDER)
FPPDEFINE  = $(PPDEFINE)

FDEBUG  = -O0 -g -traceback -check all -ftrapuv -fpe0
CRTMDBUG= -O0 -g -traceback -check all -ftrapuv -fpe0
CDEBUG  = -O0 -g -traceback -debug all -Wall -check-uninit

FOPT    = -O3 
CRTMOPT = -O3
COPT    = -O3

CPP_FLAGS = -C -P $(FPPDEFINE)
INC_FLAGS =
LDFLAGS   = -Wl,-noinhibit-exec 
FFLAGS    = -fp-model source -ftz -assume byterecl -convert big_endian \
            -heap-arrays $(SIZE) $(FPPDEFINE) $(FOPT)
CFLAGS    = $(PPDEFINE) $(COPT)
ARFLAGS   =

FFLAGS_CRTM  = -c -fp-model source -ftz  -assume byterecl -convert big_endian \
               $(SIZE) $(FOPT)
#FFLAGS_CRTM = -c -checkbound -convert big_endian -e03 -free -assume byterecl -fp-stack-check -mieee-fp
FL_CRTM     = 

###########################################################
#
#	Macros, these should be generic for all machines
LN		=   ln -sf
MAKE  =   make
RM		=   /bin/rm -f
CP		=   /bin/cp
MV              =   /bin/mv
AR		=   ar ru

WRF_DIR         =    /usr/Build_WRF/WRFV3.6.1/ARW/WRFV3
WRF_LIB2 = -L$(WRF_DIR)/external/io_grib2 -lio_grib2 -L/usr/Build_WRF/LIBRARIES/jasper-1.900.1/lib -L/usr/Build_WRF/LIBRARIES/zlib-1.2.8/lib -L/usr/Build_WRF/LIBRARIES/libpng-1.6.10/lib -lpng -lz -ljasper
NETCDFPATH      =    /usr/Build_WRF/LIBRARIES/netcdf-4.1.1
NETCDFLIBS      =     -lnetcdf

COMMS_ADD_OBJ   =    
COMMS_ADD_OBJST =    
COMMS_LIB       =    

SERIAL_MPI_STUB =    
SERIAL_MPI_LIB  =    

GRIB2SUPT_LIB   =    -L/usr/Build_WRF/LIBRARIES/jasper-1.900.1/lib -L/usr/Build_WRF/LIBRARIES/zlib-1.2.8/lib -L/usr/Build_WRF/LIBRARIES/libpng-1.6.10/lib -lpng -lz -ljasper
GRIB2SUPT_INC   =    -I/usr/Build_WRF/LIBRARIES/jasper-1.900.1/include -I/usr/Build_WRF/LIBRARIES/zlib-1.2.8/include -I/usr/Build_WRF/LIBRARIES/libpng-1.6.10/include

BINDIR          =    /usr/Build_WRF/WRFV3.6.1/ARW/UPPV2.2/bin
INCMOD          =    /usr/Build_WRF/WRFV3.6.1/ARW/UPPV2.2/include
LIBDIR          =    /usr/Build_WRF/WRFV3.6.1/ARW/UPPV2.2/lib

WRF_INCLUDE     = -I$(WRF_DIR)/frame

WRF_LIB         = -L$(WRF_DIR)/main  -lwrflib \
                  -L$(WRF_DIR)/external/io_int -lwrfio_int \
                  -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
                  -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
                  -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
                  -L$(WRF_DIR)/external/esmf_time_f90 -lesmf_time \
                  -L$(WRF_DIR)/external/fftpack/fftpack5 -lfftpack

WRF_MODS        = $(WRF_DIR)/frame/module_internal_header_util.o \
                  $(WRF_DIR)/frame/pack_utils.o \
                  $(WRF_DIR)/frame/module_machine.o \
		  $(WRF_DIR)/frame/module_wrf_error.o \
		  $(WRF_DIR)/frame/wrf_debug.o

#
# These files may be changed to enable other files with the same 
# functions definitions, but different logic.  This is typically
# how backward compatibilty is achieved for the community code.
INITPOST_NMM_BIN_MPIIO = INITPOST_NMM_BIN_MPIIO_IJK.f
GRIBIT = GRIBIT.f
CALRAD = CALRAD_WCLOUD_crtm.f

# There is probably no reason to modify these rules
.SUFFIXES : .c .f .f90
.c.o:
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS)  $<

.f.o:
	$(FC) $(FFLAGS) $(EXTRA_FFLAGS) $<

.f90.o :
	$(F90) $(FFLAGS) $(EXTRA_FFLAGS) $<

.F.o:
	$(CPP) $(CPP_FLAGS) $< > $*.f
	$(FC) $(FFLAGS) $(EXTRA_FFLAGS) $<

.F90.o:
	$(CPP) $(CPP_FLAGS) $< > $*.f90
	$(F90) $(FFLAGS) $(EXTRA_FFLAGS) $<
Note: as you can see, I have replaced the default “-fp-model precise” with “-fp-model source” in the FFLAGS (Fortran flag), because the default cause of lot of annoying warnings in the compile output log:
"ifort: command line warning #10212: -fp-model precise evaluates in source precision with Fortran."
And in Intel Fortran Compiler Reference Options Description they say "Note that option fp-model precise is converted to fp-model source.".
However I can't guess if there is a reason why WRF programmer put "-fp-model precise" instead "-fp-model source"...

And that's the way I did post-processing with UPPV2.2:

+ Made links in the working folder:
nam_micro_lookup.dat -> <WRFV3.6.1 path>/run/ETAMPNEW_DATA
hires_micro_lookup.dat -> <WRFV3.6.1 path>/run/ETAMPNEW_DATA.expanded_rain

+ Put in the working folder the file wrf_cntr.parm that contains the following entries for cloud fractions:

Code: Select all

L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LOW CLOUD FRACTION  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MID CLOUD FRACTION  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (HIGH CLOUD FRACTION ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVG TOTAL CLD FRAC  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
And that is my complete wrf_cntrl.parm file:

Code: Select all

    KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID******
    IMDLTY     *I5*      :(00125)
    DATSET     *A6*      :(WRFPRS)
 (PRESS ON MDL SFCS   ) SCAL=( 3.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (HEIGHT ON MDL SFCS  ) SCAL=( 6.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TEMP ON MDL SFCS    ) SCAL=( 4.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (POT TEMP ON MDL SFCS) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (DWPT TEMP ON MDL SFC) SCAL=( 5.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SPEC HUM ON MDL SFCS) SCAL=( 3.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (REL HUM ON MDL SFCS ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MST CNVG ON MDL SFCS) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U WIND ON MDL SFCS  ) SCAL=( 4.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V WIND ON MDL SFCS  ) SCAL=( 4.0)
 L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (OMEGA ON MDL SFCS   ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ABS VORT ON MDL SFCS) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (STRMFUNC ON MDL SFCS) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TRBLNT KE ON MDL SFC) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RCHDSN NO ON MDL SFC) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RAIN ON MDL SFCS    ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SNOW ON MDL SFCS    ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (F_RimeF ON MDL SFCS ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CONDENSATE MDL SFCS ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RADAR REFL MDL SFCS ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLD WTR ON MDL SFCS ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLD ICE ON MDL SFCS ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GRAUPEL ON MDL SFCS ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLD FRAC ON MDL SFCS) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MASTER LENGTH SCALE ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ASYMPT MSTR LEN SCL ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (HEIGHT OF PRESS SFCS) SCAL=( 6.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (TEMP ON PRESS SFCS  ) SCAL=( 4.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (POT TEMP ON P SFCS  ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (DWPT TEMP ON P SFCS ) SCAL=( 4.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (SPEC HUM ON P SFCS  ) SCAL=( 4.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (REL HUMID ON P SFCS ) SCAL=( 4.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (MST CNVG ON P SFCS  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U WIND ON PRESS SFCS) SCAL=( 4.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (V WIND ON PRESS SFCS) SCAL=( 4.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (OMEGA ON PRESS SFCS ) SCAL=( 5.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (ABS VORT ON P SFCS  ) SCAL=( 3.0)
 L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000)
 (STRMFUNC ON P SFCS  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TRBLNT KE ON P SFCS ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD ICE ON P SFCS ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD WATR ON P SFCS) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RAIN ON P SFCS      ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SNOW ON P SFCS      ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (F_RimeF ON P SFCS   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RADAR REFL ON P SFCS) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GRAUPEL ON P SFCS   ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAPS SLP            ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MESINGER MEAN SLP   ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHUELL MEAN SLP     ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHELTER PRESSURE    ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHELTER TEMPERATURE ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHELTER SPEC HUMID  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHELTER DEWPOINT    ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHELTER REL HUMID   ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHELTER MIX RATIO   ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U WIND AT ANEMOM HT ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V WIND AT ANEMOM HT ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (POT TEMP AT 10 M    ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SPEC HUM AT 10 M    ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SURFACE PRESSURE    ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SURFACE HEIGHT      ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SURFACE POT TEMP    ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SURFACE SPEC HUMID  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SURFACE DEWPOINT    ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SURFACE REL HUMID   ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC (SKIN) TEMPRATUR) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BOTTOM SOIL TEMP    ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL TEMPERATURE    ) SCAL=( 3.0)
 L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL MOISTURE       ) SCAL=( 3.0)
 L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LIQUID SOIL MOISTURE) SCAL=( 3.0)
 L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL SOIL MOISTURE ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (PLANT CANOPY SFC WTR) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SNOW WATER EQUIVALNT) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (PERCENT SNOW COVER  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC EXCHANGE COEF   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GREEN VEG COVER     ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (VEGETATION TYPE     ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL TYPE           ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SLOPE TYPE          ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SNOW FREE ALBEDO    ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAXIMUM SNOW ALBEDO ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CANOPY CONDUCTANCE  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CANOPY COND SOLAR   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CANOPY COND TEMP    ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CANOPY COND HUMID   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CANOPY COND SOILM   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL MOIST REFERENCE) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL MOIST POROSITY ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (NO OF ROOT LAYERS   ) SCAL=( 1.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MIN STOMATAL RESIST ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SNOW DEPTH          ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AIR DRY SOIL MOIST  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL MOIST WILT PT  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SOIL MOISTURE AVAIL ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INST GROUND HEAT FLX) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LIFTED INDEX--SURFCE) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LIFTED INDEX--BEST  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LIFTED INDEX--BNDLYR) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CNVCT AVBL POT ENRGY) SCAL=( 3.0)
 L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CNVCT INHIBITION    ) SCAL=( 3.0)
 L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (PRECIPITABLE WATER  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (STORM REL HELICITY  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM TOTAL PRECIP    ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM CONVCTIVE PRECIP) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM GRD SCALE PRECIP) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM GRD SCALE SW ICE) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM SNOWFALL        ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BUCKET SNOW  PRECIP ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BUCKET TOTAL PRECIP ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BUCKET CONV PRECIP  ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BUCKET GRDSCALE PRCP) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM SNOW TOTAL/MELT ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM STORM SFC RNOFF ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACM BSFL-GDWR RNOFF ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTANT PRECIP TYPE ) SCAL=( 1.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GSD PRECIP TYPE     ) SCAL=( 1.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTANT PRECIP RATE ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CONV PRECIP RATE    ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (FROZEN FRAC CLD SCHM) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SEA SFC TEMPERATURE ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
[b] (LOW CLOUD FRACTION  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)[/b]
[b] (MID CLOUD FRACTION  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)[/b]
[b] (HIGH CLOUD FRACTION ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)[/b]
[b] (AVG TOTAL CLD FRAC  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)[/b]
 (AVG STRAT CLD FRAC  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVG CNVCT CLD FRAC  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GSD CLD BOT HEIGHT  ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GSD CLD TOP HEIGHT  ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD BOT PRESSURE  ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD TOP PRESSURE  ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD TOP TEMPS     ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD BOTTOM HEIGHT ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CLOUD TOP HEIGHT    ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CONV CLOUD BOT PRESS) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CONV CLOUD TOP PRESS) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHAL CU CLD BOT PRES) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHAL CU CLD TOP PRES) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (DEEP CU CLD BOT PRES) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (DEEP CU CLD TOP PRES) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GRID CLOUD BOT PRESS) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GRID CLOUD TOP PRESS) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CONV CLOUD FRACTION ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX WIND PRESS LEVEL) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX WIND HGHT LEVEL ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U COMP MAX WIND     ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V COMP MAX WIND     ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (PBL HEIGHT          ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (COMPOSITE RADAR REFL) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RADAR REFL AGL      ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (VISIBILITY          ) SCAL=( 2.7)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GSD VISIBILITY      ) SCAL=( 2.7)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LCL AGL HEIGHT      ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LCL PRESSURE        ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE GRDSCL RN TMPTDY) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE CNVCT RN TMPTDY ) SCAL=( 2.7)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (RADFLX CNVG TMP TNDY) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SW RAD TEMP TNDY    ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LW RAD TEMP TNDY    ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTN OUT SFC SW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTN OUT SFC LW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE INCMG SFC SW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE INCMG SFC LW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE OUTGO SFC SW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE OUTGO SFC LW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BRIGHTNESS TEMP     ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (BRIGHTNESS TEMP NCAR) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTN INC SFC SW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTN INC SFC LW RAD) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTN CLR INC SFC SW) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ROUGHNESS LENGTH    ) SCAL=( 2.7)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (FRICTION VELOCITY   ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC DRAG COEFFICIENT) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC U WIND STRESS   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC V WIND STRESS   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE SFC SENHEAT FX  ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE GROUND HEAT FX  ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE SNO PHSCNG HT FX) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE SFC LATHEAT FX  ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE SFC MOMENTUM FX ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACC SFC EVAPORATION ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (ACC POT EVAPORATION ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INST SFC SENHEAT FX ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INST GROUND HEAT FLX) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INST SFC LATHEAT FX ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LATITUDE            ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LONGITUDE           ) SCAL=( 4.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LAND/SEA MASK       ) SCAL=( 1.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SEA ICE MASK        ) SCAL=( 1.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC MIDDAY ALBEDO   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LIFT PCL LVL PRESS  ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (PRESS AT TROPOPAUSE ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (HEIGHT AT TROPOPAUSE) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TEMP AT TROPOPAUSE  ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (POTENTL TEMP AT TROP) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U WIND AT TROPOPAUSE) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V WIND AT TROPOPAUSE) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SHEAR AT TROPOPAUSE ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SPE HUM AT FD HEIGHT) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TEMP AT FD HEIGHTS  ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U WIND AT FD HEIGHTS) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V WIND AT FD HEIGHTS) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (HEIGHT OF FRZ LVL   ) SCAL=( 6.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (REL HUMID AT FRZ LVL) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (HIGHEST FREEZE LVL  ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (PRESS IN BNDRY LYR  ) SCAL=( 6.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TEMP IN BNDRY LYR   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (POT TMP IN BNDRY LYR) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (DWPT IN BNDRY LYR   ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SPC HUM IN BNDRY LYR) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (REL HUM IN BNDRY LYR) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MST CNV IN BNDRY LYR) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (P WATER IN BNDRY LYR) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U WIND IN BNDRY LYR ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V WIND IN BNDRY LYR ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (OMEGA IN BNDRY LYR  ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX 10m WIND SPEED  ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX UPDRAFT VERT VEL) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX DNDRAFT VERT VEL) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX 1km REFLECTIVITY) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX UPDRAFT HELICITY) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MEAN VERT VEL       ) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (MAX VERT INTEG GRAUP) SCAL=( 3.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (LCL AGL HEIGHT      ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U COMP STORM MOTION ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V COMP STORM MOTION ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U COMP 0-1 KM SHEAR ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V COMP 0-1 KM SHEAR ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (U COMP 0-6 KM SHEAR ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (V COMP 0-6 KM SHEAR ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (SFC WIND GUST       ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE OUTGO TOA SW RAD) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (AVE OUTGO TOA LW RAD) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (INSTN OUT TOA LW RAD) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL CLD FRACTION  ) SCAL=( 3.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL COLUMN CLD WTR) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL COLUMN CLD ICE) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL COLUMN RAIN   ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL COLUMN SNOW   ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL COL CONDENSATE) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL COLD LIQUID   ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (TOTAL MELTING ICE   ) SCAL=( 5.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (CEILING             ) SCAL=( 5.0)
 L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (EMISSIVITY          ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GOES TB - CH 2      ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GOES TB - CH 3      ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GOES TB - CH 4      ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
 (GOES TB - CH 5      ) SCAL=( 4.0)
 L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)
***DONE WITH THIS GRID***
+ Also made links to a lot of files contained in the folder <UPPV2.2 path>/src/lib/crtm2/src/fix", that are the coefficients for crtm2 (simulated GOES).
+ Filled itag
+ Made a link fort.14 to file wrf_cntrl.parm
+ Executed parallel unipost.exe - > output grib file

Before uising GrADS:
+ Created grib.ctl file with command grib2ctl.pl -verf -ts1hr grib grib.idx > grib.ctl
+ Created grib.idx file with command gribmap -q -e -i grib.ctl
Last edited by oib on Fri Oct 17, 2014 1:13 pm, edited 6 times in total.

meteoadriatic
Posts: 1584
Joined: Wed Aug 19, 2009 10:05 am

Re: Unipost strange high, mid, low cloud cover output

Post by meteoadriatic » Fri Oct 17, 2014 1:02 pm

Hi, yes your output if far from looking good.

I created grib file with UPP 2.1 but with 2.2 should be pretty much the same, I checked for major differences between v2.1 and v2.2 yesterday and there was nothing different in outputs of cloud cover I could spot. I didn't compared your data though but my own run. It will be no problem to check with 2.2 also if needed.

I compiled UPP 2.1 with Intel compiler from Studio 2013, I think this was update 2, but I compiled also UPP 2.2 with update 3 and there is no difference so I believe your compiler choice should be OK.

Code: Select all

$ icc --version
icc (ICC) 14.0.3 20140422
The major difference I can see is that I use netcdf-3.6.3 instead of v4.x. I also used mpich v1.4 for UPP 2.1 and v3.1.3 now for UPP 2.2 so this should not be a problem.

I use png, jasper and zlib all from Centos 6 repository. None of those three was compiled myself. netcdf and mpich are compiled with mentioned Intel compiler.

wrf_cntr.parm should not be a problem either.

And lastly, I use run_unipost script provided in unipost tarball to automate unipost job.

configure.upp (v2.2):
Note - I didn't changed anything from default in configure.upp! Maybe you should try to revert to defaults?

Code: Select all

# configure.upp
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults then rerun configure.
#

SHELL           	=       /bin/sh

LDFLAGS_MPI             =     # to be overridden later

#### Architecture specific settings ####


WRF_LIB_EXTRA = -L$(WRF_DIR)/external/RSL_LITE -lrsl_lite

# Settings for Linux x86_64, Intel compiler	 (dmpar)#
SFC     = ifort
SF90    = ifort -free
SCC     = icc

DM_FC  = mpif90 
DM_F90 = mpif90 -free 
DM_CC  = mpicc 

FC      = $(DM_FC)
F90     = $(DM_F90)
CC      = $(DM_CC)
CPP     = /lib/cpp

LINUX_OBJ     =
BYTE_ORDER    = UPPLITTLEENDIAN
SIZE_I8R8   = -r8 -i8
SIZE_I4R8   = -r8 -i4
SIZE_I4R4   = -r4 -i4
SIZE        =

PPDEFINE   = -DCOMMCODE -DLINUX -D$(BYTE_ORDER)
FPPDEFINE  = $(PPDEFINE)

FDEBUG  = -O0 -g -traceback -check all -ftrapuv -fpe0
CRTMDBUG= -O0 -g -traceback -check all -ftrapuv -fpe0
CDEBUG  = -O0 -g -traceback -debug all -Wall -check-uninit

FOPT    = -O3 
CRTMOPT = -O3
COPT    = -O3

CPP_FLAGS = -C -P $(FPPDEFINE)
INC_FLAGS =
LDFLAGS   = -Wl,-noinhibit-exec 
FFLAGS    = -fp-model precise -ftz -assume byterecl -convert big_endian \
            -heap-arrays $(SIZE) $(FPPDEFINE) $(FOPT)
CFLAGS    = $(PPDEFINE) $(COPT)
ARFLAGS   =

FFLAGS_CRTM  = -c -fp-model precise -ftz  -assume byterecl -convert big_endian \
               $(SIZE) $(FOPT)
#FFLAGS_CRTM = -c -checkbound -convert big_endian -e03 -free -assume byterecl -fp-stack-check -mieee-fp
FL_CRTM     = 

###########################################################
#
#	Macros, these should be generic for all machines
LN		=   ln -sf
MAKE  =   make
RM		=   /bin/rm -f
CP		=   /bin/cp
MV              =   /bin/mv
AR		=   ar ru

WRF_DIR         =    /home/intel/src/UPPV2.2/../WRFV3
WRF_LIB2        =    
NETCDFPATH      =    /home/intel/netcdf/netcdf-3.6.3_intel
NETCDFLIBS      =     -lnetcdf

COMMS_ADD_OBJ   =    
COMMS_ADD_OBJST =    
COMMS_LIB       =    

SERIAL_MPI_STUB =    
SERIAL_MPI_LIB  =    

GRIB2SUPT_LIB   =    -L/usr/lib64 -lpng -lz -ljasper
GRIB2SUPT_INC   =    -I/usr/include/jasper

BINDIR          =    /home/intel/src/UPPV2.2/bin
INCMOD          =    /home/intel/src/UPPV2.2/include
LIBDIR          =    /home/intel/src/UPPV2.2/lib

WRF_INCLUDE     = -I$(WRF_DIR)/frame

WRF_LIB         = -L$(WRF_DIR)/main  -lwrflib \
                  -L$(WRF_DIR)/external/io_int -lwrfio_int \
                  -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
                  -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
                  -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
                  -L$(WRF_DIR)/external/esmf_time_f90 -lesmf_time \
                  -L$(WRF_DIR)/external/fftpack/fftpack5 -lfftpack

WRF_MODS        = $(WRF_DIR)/frame/module_internal_header_util.o \
                  $(WRF_DIR)/frame/pack_utils.o \
                  $(WRF_DIR)/frame/module_machine.o \
		  $(WRF_DIR)/frame/module_wrf_error.o \
		  $(WRF_DIR)/frame/wrf_debug.o

#
# These files may be changed to enable other files with the same 
# functions definitions, but different logic.  This is typically
# how backward compatibilty is achieved for the community code.
INITPOST_NMM_BIN_MPIIO = INITPOST_NMM_BIN_MPIIO_IJK.f
GRIBIT = GRIBIT.f
CALRAD = CALRAD_WCLOUD_crtm.f

# There is probably no reason to modify these rules
.SUFFIXES : .c .f .f90
.c.o:
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS)  $<

.f.o:
	$(FC) $(FFLAGS) $(EXTRA_FFLAGS) $<

.f90.o :
	$(F90) $(FFLAGS) $(EXTRA_FFLAGS) $<

.F.o:
	$(CPP) $(CPP_FLAGS) $< > $*.f
	$(FC) $(FFLAGS) $(EXTRA_FFLAGS) $<

.F90.o:
	$(CPP) $(CPP_FLAGS) $< > $*.f90
	$(F90) $(FFLAGS) $(EXTRA_FFLAGS) $<
configure.wrf (v3.6.1):

Code: Select all

# configure.wrf
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults then rerun configure.
#
SHELL           =       /bin/sh
DEVTOP          =       `pwd`
LIBINCLUDE      =       .
.SUFFIXES: .F .i .o .f90 .c

#### Get core settings from environment (set in compile script)
#### Note to add a core, this has to be added to.

COREDEFS = -DEM_CORE=$(WRF_EM_CORE) \
           -DNMM_CORE=$(WRF_NMM_CORE) -DNMM_MAX_DIM=2600 \
	   -DCOAMPS_CORE=$(WRF_COAMPS_CORE) \
	   -DDA_CORE=$(WRF_DA_CORE) \
           -DEXP_CORE=$(WRF_EXP_CORE)

#### Single location for defining total number of domains.  You need
#### at least 1 + 2*(number of total nests).  For example, 1 coarse
#### grid + three fine grids = 1 + 2(3) = 7, so MAX_DOMAINS=7.

MAX_DOMAINS	=	7

#### DM buffer length for the configuration flags.

CONFIG_BUF_LEN	=	65536

#### Size of bitmasks (in 4byte integers) of stream masks for WRF I/O

MAX_HISTORY = 25

IWORDSIZE = 4
DWORDSIZE = 8
LWORDSIZE = 4

##############################################################################
#### The settings in this section are defaults that may be overridden by the 
#### architecture-specific settings in the next section.  
##############################################################################

##############################################################################
#### NOTE:  Do not modify these default values here.  To override these 
####        values, make changes after "Architecture specific settings".  
##############################################################################

#### Native size (in bytes) of Fortran REAL data type on this architecture ####
#### Note:  to change real wordsize (for example, to promote REALs from 
####        4-byte to 8-byte), modify the definition of RWORDSIZE in the 
####        section following "Architecture specific settings".  Do not 
####        change NATIVE_RWORDSIZE as is it architecture-specific.  
NATIVE_RWORDSIZE = 4

#### Default sed command and script for Fortran source files ####
#SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/standard.sed
SED_FTN = $(WRF_SRC_ROOT_DIR)/tools/standard.exe

# Hack to work around $(PWD) not changing during OSF1 build.  
# $(IO_GRIB_SHARE_DIR) is reset during the OSF1 build only.  
IO_GRIB_SHARE_DIR = 

#### ESMF switches                 ####
#### These are set up by Config.pl ####
# switch to use separately installed ESMF library for coupling:  1==true
ESMF_COUPLING       = 0
# select dependences on module_utility.o
ESMF_MOD_DEPENDENCE = $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/module_utility.o
# select -I options for external/io_esmf vs. external/esmf_time_f90
ESMF_IO_INC         = -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
# select -I options for separately installed ESMF library, if present
ESMF_MOD_INC        =  $(ESMF_IO_INC)
# select cpp token for external/io_esmf vs. external/esmf_time_f90
ESMF_IO_DEFS        = 
# select build target for external/io_esmf vs. external/esmf_time_f90
ESMF_TARGET         = esmf_time

# ESMFINCLUDEGOESHERE


#### NETCDF4 pieces

NETCDF4_IO_OPTS = -DUSE_NETCDF4_FEATURES -DWRFIO_NCD_LARGE_FILE_SUPPORT
GPFS            =
CURL            =
HDF5            =
ZLIB            =
DEP_LIB_PATH    = 
NETCDF4_DEP_LIB = $(DEP_LIB_PATH) $(HDF5) $(ZLIB) $(GPFS) $(CURL)

# NETCDF4INCLUDEGOESHERE


##############################################################################

LIBWRFLIB = libwrflib.a


#### Architecture specific settings ####

# Settings for Linux x86_64 i486 i586 i686, Xeon (SNB with AVX mods) ifort compiler with icc  (dm+sm)
#

DMPARALLEL      =        1
OMPCPP          =        #-D_OPENMP
OMP             =        #-openmp -fpp -auto
OMPCC           =        #-openmp -fpp -auto
SFC             =       ifort 
SCC             =       icc 
CCOMP           =       icc 
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC) -DMPI2_SUPPORT -DMPI2_THREAD_SUPPORT
FC              =       $(DM_FC)
CC              =       $(DM_CC) -DFSEEKO64_OK 
LD              =       $(FC)
RWORDSIZE       =       $(NATIVE_RWORDSIZE)
PROMOTION       =       -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DCHUNK=64 -DXEON_OPTIMIZED_WSM5 -DOPTIMIZE_CFL_TEST -DWRF_USE_CLM -DNO_IEEE_MODULE
OPTNOSIMD       =
OPTAVX          =       -xAVX
CFLAGS_LOCAL    =       -w -O3 $(OPTAVX)
LDFLAGS_LOCAL   =       $(OPTAVX)
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 $(OPTAVX)
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -fno-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check all -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
FCBASEOPTS_NO_G =       -w $(OMP) -auto -ftz -fno-alias -fp-model fast=1 -no-prec-div -no-prec-sqrt $(FORMAT_FREE) $(BYTESWAPIO) -auto -align array64byte #-vec-report6
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
CC_TOOLS        =      gcc

###########################################################
######################
# POSTAMBLE

FGREP = fgrep -iq

ARCHFLAGS       =    $(COREDEFS) -DIWORDSIZE=$(IWORDSIZE) -DDWORDSIZE=$(DWORDSIZE) -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=$(LWORDSIZE) \
                     $(ARCH_LOCAL) \
                     $(DA_ARCHFLAGS) \
                      -DDM_PARALLEL \
                       \
                      -DNETCDF \
                       \
                       \
                       \
                       \
                       \
                       \
                       \
                       \
                      -DUSE_ALLOCATABLES \
                      -DGRIB1 \
                      -DINTIO \
                      -DLIMIT_ARGS \
                      -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
                      -DMAX_DOMAINS_F=$(MAX_DOMAINS) \
                      -DMAX_HISTORY=$(MAX_HISTORY) \
		      -DNMM_NEST=$(WRF_NMM_NEST)
CFLAGS          =    $(CFLAGS_LOCAL) -DDM_PARALLEL  \
                      -DMAX_HISTORY=$(MAX_HISTORY) -DNMM_CORE=$(WRF_NMM_CORE)
FCFLAGS         =    $(FCOPTIM) $(FCBASEOPTS)
ESMF_LIB_FLAGS  =    
# ESMF 5 -- these are defined in esmf.mk, included above
 ESMF_IO_LIB     =    -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
ESMF_IO_LIB_EXT =    -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
INCLUDE_MODULES =    $(MODULE_SRCH_FLAG) \
                     $(ESMF_MOD_INC) $(ESMF_LIB_FLAGS) \
                      -I$(WRF_SRC_ROOT_DIR)/main \
                      -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf \
                      -I$(WRF_SRC_ROOT_DIR)/external/io_int \
                      -I$(WRF_SRC_ROOT_DIR)/frame \
                      -I$(WRF_SRC_ROOT_DIR)/share \
                      -I$(WRF_SRC_ROOT_DIR)/phys \
                      -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \
                      -I$(NETCDFPATH)/include \
                      
REGISTRY        =    Registry
CC_TOOLS_CFLAGS = -DNMM_CORE=$(WRF_NMM_CORE)

 LIB_BUNDLED     = \
                      $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5/libfftpack.a \
                      $(WRF_SRC_ROOT_DIR)/external/io_grib1/libio_grib1.a \
                      $(WRF_SRC_ROOT_DIR)/external/io_grib_share/libio_grib_share.a \
                      $(WRF_SRC_ROOT_DIR)/external/io_int/libwrfio_int.a \
                      $(ESMF_IO_LIB) \
                      $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a \
                      $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \
                      $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o 

 LIB_EXTERNAL    = \
                      -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf -L/home/intel/netcdf/netcdf-3.6.3_intel/lib  -lnetcdf    

LIB             =    $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) $(LIB_WRF_HYDRO)
LDFLAGS         =    $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL) 
ENVCOMPDEFS     =    
WRF_CHEM	=	0 
CPPFLAGS        =    $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) 
NETCDFPATH      =    /home/intel/netcdf/netcdf-3.6.3_intel
PNETCDFPATH     =    

bundled:  io_only 
external: io_only $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms_rsllite module_dm_rsllite $(ESMF_TARGET)
io_only:  esmf_time wrfio_nf   \
	  wrf_ioapi_includes wrfio_grib_share wrfio_grib1 wrfio_int fftpack


######################
externals: io_only bundled external

gen_comms_serial :
	( /bin/rm -f $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )

module_dm_serial :
	( if [ ! -e module_dm.F ] ; then /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ; fi )

gen_comms_rsllite :
	( if [ ! -e $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ] ; then \
          /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; fi )

module_dm_rsllite :
	( if [ ! -e module_dm.F ] ; then /bin/cp module_dm_warning module_dm.F ; \
          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F ; fi )

wrfio_nf : 
	( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
          make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
          CC="$(SCC)" CFLAGS="$(CFLAGS)" \
          FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

wrfio_pnf : 
	( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \
          make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \
          FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

wrfio_grib_share :
	( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
          make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
          FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" archive) 

wrfio_grib1 :
	( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
          make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
          FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" archive)

wrfio_grib2 :
	( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
          make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" \
          CPP="$(CPP)" \
          FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="-traditional" AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
          FIXED="$(FORMAT_FIXED)" archive)

wrfio_int : 
	( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
          make $(J) CC="$(CC)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
          FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(OMP)" FGREP="$(FGREP)" \
          TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ARCHFLAGS="$(ARCHFLAGS)" all )

esmf_time : 
	( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
          make $(J) FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \
          CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(ARCHFLAGS) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

fftpack :
	( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
          make $(J) FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" AR="$(AR)" \
          ARFLAGS="$(ARFLAGS)" CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" RM="$(RM)" )

atm_ocn :
	( cd $(WRF_SRC_ROOT_DIR)/external/atm_ocn ; \
          make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" \
          CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" \
          FC="$(DM_FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="-traditional" AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
          FIXED="$(FORMAT_FIXED)" )

$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
	( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make $(J) CC="$(CC) $(CFLAGS)" \
          FC="$(FC) $(FCFLAGS) $(OMP) $(PROMOTION) $(BYTESWAPIO)" \
          CPP="$(CPP) -I. $(ARCHFLAGS) $(OMPCPP) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ;\
          $(RANLIB) $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a )

######################
#	Macros, these should be generic for all machines

LN	=	ln -sf
MAKE	=	make -i -r
RM	= 	rm -f


# These sub-directory builds are identical across all architectures

wrf_ioapi_includes :
	( cd $(WRF_SRC_ROOT_DIR)/external/ioapi_share ; \
          $(MAKE) NATIVE_RWORDSIZE="$(NATIVE_RWORDSIZE)" RWORDSIZE="$(RWORDSIZE)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

wrfio_esmf :
	( cd $(WRF_SRC_ROOT_DIR)/external/io_esmf ; \
          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" \
          RANLIB="$(RANLIB)" CPP="$(CPP) $(POUND_DEF) " AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

#	There is probably no reason to modify these rules

.F.i:
	$(RM) $@
	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $@
	mv $*.i $(DEVTOP)/pick/$*.f90
	cp $*.F $(DEVTOP)/pick

.F.o:
	$(RM) $@
	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.F  > $*.bb
	$(SED_FTN) $*.bb | $(CPP) $(TRADFLAG) > $*.f90
	$(RM) $*.b $*.bb
	@ if echo $(ARCHFLAGS) | $(FGREP) 'DVAR4D'; then \
          echo COMPILING $*.F for 4DVAR ; \
          $(WRF_SRC_ROOT_DIR)/var/build/da_name_space.pl $*.f90 > $*.f90.tmp ; \
          mv $*.f90.tmp $*.f90 ; \
        fi
	$(FC) -o $@ -c $(FCFLAGS) $(OMP) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90
        

.F.f90:
	$(RM) $@
	$(SED_FTN) $*.F > $*.b 
	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $@
	$(RM) $*.b

.f90.o:
	$(RM) $@
	$(FC) -o $@ -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90

setfeenv.o : setfeenv.c
	$(RM) $@
	$(CCOMP) -o $@ -c $(CFLAGS) $(OMPCC) $*.c

.c.o:
	$(RM) $@
	$(CC) -o $@ -c $(CFLAGS) $*.c

# A little more adventurous.  Allow full opt on 
# mediation_integrate.o \
# shift_domain_em.o \
# solve_em.o  <-- gets a little kick from SOLVE_EM_SPECIAL too, if defined
# mediation_feedback_domain.o : mediation_feedback_domain.F
# mediation_force_domain.o : mediation_force_domain.F
# mediation_interp_domain.o : mediation_interp_domain.F

# compile these without high optimization to speed compile
mediation_integrate.o : mediation_integrate.F
track_driver.o : track_driver.F
convert_nmm.o : convert_nmm.F
init_modules_em.o : init_modules_em.F
input_wrf.o : input_wrf.F
module_io.o : module_io.F
module_comm_dm.o : module_comm_dm.F
module_comm_dm_0.o : module_comm_dm_0.F
module_comm_dm_1.o : module_comm_dm_1.F
module_comm_dm_2.o : module_comm_dm_2.F
module_comm_dm_3.o : module_comm_dm_3.F
module_comm_nesting_dm.o : module_comm_nesting_dm.F
module_configure.o : module_configure.F
module_dm.o : module_dm.F
module_domain.o : module_domain.F
module_domain_type.o : module_domain_type.F
module_alloc_space_0.o : module_alloc_space_0.F
module_alloc_space_1.o : module_alloc_space_1.F
module_alloc_space_2.o : module_alloc_space_2.F
module_alloc_space_3.o : module_alloc_space_3.F
module_alloc_space_4.o : module_alloc_space_4.F
module_alloc_space_5.o : module_alloc_space_5.F
module_alloc_space_6.o : module_alloc_space_6.F
module_alloc_space_7.o : module_alloc_space_7.F
module_alloc_space_8.o : module_alloc_space_8.F
module_alloc_space_9.o : module_alloc_space_9.F
module_tiles.o : module_tiles.F
module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
module_initialize.o : module_initialize.F
module_physics_init.o : module_physics_init.F 
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_real.o : module_initialize_real.F
module_initialize_real.o: module_initialize_real.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_scm_xy.o : module_initialize_scm_xy.F
module_integrate.o : module_integrate.F
module_io_mm5.o : module_io_mm5.F
module_io_wrf.o : module_io_wrf.F
module_si_io.o : module_si_io.F
module_wps_io_arw.o : module_wps_io_arw.F
module_state_description.o : module_state_description.F 
output_wrf.o : output_wrf.F
solve_interface.o : solve_interface.F
start_domain.o : start_domain.F
start_em.o : start_em.F
wrf_bdyin.o : wrf_bdyin.F
wrf_bdyout.o : wrf_bdyout.F
wrf_ext_read_field.o : wrf_ext_read_field.F
wrf_ext_write_field.o : wrf_ext_write_field.F
wrf_fddaobs_in.o : wrf_fddaobs_in.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_restartin.o : wrf_restartin.F
wrf_restartout.o : wrf_restartout.F
wrf_tsin.o : wrf_tsin.F
nl_get_0_routines.o : nl_get_0_routines.F
nl_get_1_routines.o : nl_get_1_routines.F
nl_set_0_routines.o : nl_set_0_routines.F
nl_set_1_routines.o : nl_set_1_routines.F

mediation_integrate.o \
track_driver.o \
convert_nmm.o \
init_modules_em.o \
module_dm.o \
module_fddaobs_rtfdda.o \
module_initialize.o \
module_initialize_b_wave.o \
module_initialize_hill2d_x.o \
module_initialize_quarter_ss.o \
module_initialize_real.o \
module_initialize_squall2d_x.o \
module_initialize_squall2d_y.o \
module_initialize_scm_xy.o \
module_integrate.o \
module_io_mm5.o \
module_io_wrf.o \
module_si_io.o \
module_wps_io_arw.o \
module_tiles.o \
output_wrf.o \
solve_interface.o \
start_domain.o \
start_em.o \
wrf_fddaobs_in.o \
wrf_tsin.o :
	$(RM) $@
	$(SED_FTN) $*.F > $*.b 
	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
	$(RM) $*.b
	@ if echo $(ARCHFLAGS) | $(FGREP) 'DVAR4D'; then \
          echo COMPILING $*.F for 4DVAR ; \
          $(WRF_SRC_ROOT_DIR)/var/build/da_name_space.pl $*.f90 > $*.f90.tmp ; \
          mv $*.f90.tmp $*.f90 ; \
        fi
	if $(FGREP) '!$$OMP' $*.f90 ; then \
          if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITH OMP ; fi ; \
	  $(FC) -c $(PROMOTION) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $(OMP) $*.f90 ; \
        else \
          if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITHOUT OMP ; fi ; \
	  $(FC) -c $(PROMOTION) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ; \
        fi

#solve_em.o :
#	$(RM) $@
#	$(SED_FTN) $*.F > $*.b 
#	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
#	$(RM) $*.b
#	$(FC) -o $@ -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $(SOLVE_EM_SPECIAL) $(OMP) $*.f90

module_sf_ruclsm.o : module_sf_ruclsm.F

module_sf_ruclsm.o :
	$(RM) $@
	$(SED_FTN) $*.F > $*.b 
	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
	$(RM) $*.b
	if $(FGREP) '!$$OMP' $*.f90 ; then \
          echo COMPILING $*.F WITH OMP ; \
          if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITH OMP ; fi ; \
	  $(FC) -c $(PROMOTION) $(FCREDUCEDOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $(OMP) $*.f90 ; \
        else \
          if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITHOUT OMP ; fi ; \
	  $(FC) -c $(PROMOTION) $(FCREDUCEDOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ; \
        fi

# compile without OMP
input_wrf.o \
module_domain.o \
module_domain_type.o \
module_physics_init.o \
module_io.o \
wrf_bdyin.o \
wrf_bdyout.o \
wrf_ext_read_field.o \
wrf_ext_write_field.o \
wrf_histin.o \
wrf_histout.o \
wrf_inputin.o \
wrf_inputout.o \
wrf_restartin.o \
wrf_restartout.o \
module_state_description.o \
module_alloc_space.o \
module_alloc_space_0.o \
module_alloc_space_1.o \
module_alloc_space_2.o \
module_alloc_space_3.o \
module_alloc_space_4.o \
module_alloc_space_5.o \
module_alloc_space_6.o \
module_alloc_space_7.o \
module_alloc_space_8.o \
module_alloc_space_9.o \
module_comm_dm.o \
module_comm_dm_0.o \
module_comm_dm_1.o \
module_comm_dm_2.o \
module_comm_dm_3.o \
module_comm_nesting_dm.o \
module_configure.o :
	$(RM) $@
	$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.F  > $*.bb
	$(SED_FTN) $*.bb | $(CPP) $(TRADFLAG) > $*.f90
	@ if echo $(ARCHFLAGS) | $(FGREP) 'DVAR4D'; then \
          echo COMPILING $*.F for 4DVAR ; \
          $(WRF_SRC_ROOT_DIR)/var/build/da_name_space.pl $*.f90 > $*.f90.tmp ; \
          mv $*.f90.tmp $*.f90 ; \
        fi
	$(RM) $*.b $*.bb
	$(FC) -c $(PROMOTION) $(FCSUFFIX) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
run_unipost (modified by myself to fix some bugs and to adapt it to my wrfems 3.1 environment):

Code: Select all

#!/bin/ksh
#
# set -x

echo " "
echo "  Welcome to MeteoAdriatic UPP script!"
echo "       www.meteoadriatic.net"
echo " "

if [[ $# -ne 7 ]];then
  print "  This script expect 7 (seven) arguments like: run_unipost CORE DomainDir Domain StartDate FirstHour LastHour IncrementHour"
  print "  Arguments formatting example:"
  print "                                  run_unipost ARW MyDomain d01 2013030400 03 18 01"
  print "  FIX SCRIPT ARGUMENTS, EXITING!"
  exit
fi

#
# 20101227 - changed typeset for post output for new format 
#
# August 2005: Hui-Ya Chuang, NCEP: This script uses 
# NCEP's Unipost to post processes WRF native model 
# output, and uses copygb to horizontally interpolate posted 
# output from native A-E to a regular projection grid. 
#
# July 2006: Meral Demirtas, NCAR/DTC: Added new "copygb" 
# options and revised some parts for clarity. 
#
#--------------------------------------------------------
# This script performs 2 jobs:
#
# 1. Run Unipost
# 2. Run copygb to horizontally interpolate output from 
#    native A-E to a regular projection grid
#--------------------------------------------------------

#--- EDIT HERE --------------------------------------------------------
# TOP_DIR - where you put the UPP build directory
# DOMAINPATH - where do you want me to do my work
# WRFPATH - Where do you have a version of WRF compiled
# *** Datafile is entered below - it may reference these variables
# dyncore - set to the model used 
#----------------------------------------------------------------------
export TOP_DIR=/home/wrf/wrfems/util
export DOMAINPATH=/home/wrf/wrfems/runs/$2
export UNIPOST_HOME=${TOP_DIR}/upp
export WRFPATH=${UNIPOST_HOME}/wrfmptables
export POSTEXEC=${UNIPOST_HOME}/bin
export NPNMM=6
export NPARW=6

# How much hours NMM domain delays after parent domain?
export delay=6

#Specify Dyn Core (ARW or NMM in upper case)
dyncore=$1

if [ $dyncore = "NMM" ]; then
   export tag=NMM
   export NP=$NPNMM
elif [ $dyncore = "ARW" ]; then
   export tag=NCAR
   export NP=$NPARW
else
    echo "${dyncore} is not supported. Edit script to choose ARW or NMM dyncore."
    exit
fi

#--- EDIT HERE --------------------------------------------------------
# startdate = Forecast start date
# fhr =  first forecast hour to be post-processed
# lastfhr = last forecast hour to be post-processed
# incrementhr = the incement (in hours) between forecast files
#----------------------------------------------------------------------

export startdate=$4

export fhr=$5
export lastfhr=$6
export incrementhr=$7

# cd to working directory
mkdir -p ${DOMAINPATH}/emsprd/$3
cd ${DOMAINPATH}/emsprd/$3

echo "  We want clean room to work, do we? Let's clean up stuff here if someone left something behind..."
rm -f * 2> /dev/null

# Link microphysic's tables - code will use based on mp_physics option
# found in data
ln -fs ${WRFPATH}/ETAMPNEW_DATA nam_micro_lookup.dat
ln -fs ${WRFPATH}/ETAMPNEW_DATA.expanded_rain hires_micro_lookup.dat

# Get local copy of parm file
# For GRIB1 the code uses wrf_cntrl.parm to select variables for output
#   the available fields are set at compilation
# For GRIB2 the code uses postcntrl.xml to select variables for output
#   the available fields are defined in post_avlbflds.xml -- while we
#   set a link to this file for reading during runtime it is not typical
#   for one to update this file, therefore the link goes back to the
#   program directory - this is true for params_grib2_tbl_new also - a
#   file which defines the GRIB2 table values
ln -fs ../../static/wrf_cntrl.parm wrf_cntrl.parm
ln -fs ${UNIPOST_HOME}/parm/post_avblflds.xml post_avblflds.xml
ln -fs ../../static/postcntrl.xml postcntrl.xml
ln -fs ${UNIPOST_HOME}/g2tmpl/params_grib2_tbl_new params_grib2_tbl_new

# link coefficients for crtm2 (simulated GOES)
CRTMDIR=${UNIPOST_HOME}/fix
ln -fs $CRTMDIR/EmisCoeff/Big_Endian/EmisCoeff.bin           ./
ln -fs $CRTMDIR/AerosolCoeff/Big_Endian/AerosolCoeff.bin     ./
ln -fs $CRTMDIR/CloudCoeff/Big_Endian/CloudCoeff.bin         ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_g12.SpcCoeff.bin    ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_g12.TauCoeff.bin    ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_g11.SpcCoeff.bin    ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_g11.TauCoeff.bin    ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/amsre_aqua.SpcCoeff.bin  ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/amsre_aqua.TauCoeff.bin  ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/tmi_trmm.SpcCoeff.bin    ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/tmi_trmm.TauCoeff.bin    ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmi_f15.SpcCoeff.bin    ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmi_f15.TauCoeff.bin    ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f20.SpcCoeff.bin   ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f20.TauCoeff.bin   ./
ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f17.SpcCoeff.bin   ./
ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f17.TauCoeff.bin   ./

#---EDIT HERE --------------------------------------------------------
# tmmark is an variable used as the file extention of the output
#    filename .GrbF is used if this variable is not set
# COMSP is a variable used as the initial string of the output filename
#----------------------------------------------------------------------
export tmmark=tm00
export MP_SHARED_MEMORY=yes
export MP_LABELIO=yes

#######################################################
# 1. Run Unipost
#
# The Unipost is used to read native WRF model 
# output and put out isobaric state fields and derived fields.
#######################################################

export NEWDATE=$startdate

echo " "
echo "  Running unipost on ${NP} threads... might take a while..."
echo " "

while [ $((10#${fhr})) -le $((10#${lastfhr})) ] ; do

# Formatted fhr for filenames
fhr=`printf "%02i" ${fhr}`

NEWDATE=`${POSTEXEC}/ndate.exe +$((10#${fhr})) $startdate`

YY=`echo $NEWDATE | cut -c1-4`
MM=`echo $NEWDATE | cut -c5-6`
DD=`echo $NEWDATE | cut -c7-8`
HH=`echo $NEWDATE | cut -c9-10`

#echo 'NEWDATE' $NEWDATE
#echo 'YY' $YY



#--- EDIT HERE --------------------------------------------------------
# Update domains
# ie. for domain in d01 d02 d03
for domain in $3
do

#--- EDIT HERE --------------------------------------------------------
# Create input file for Unipost 
#   First line is where your wrfout data is
#   Second line is the format
#   ** FOR GRIB2 the thrid line is "grib2" and the next 2 lines move down **
#   ** DO NOT SET TO "grib" or "grib1" or code will crash **
#   Third line is the time for this process file
#   Forth line is a tag identifing the model
#----------------------------------------------------------------------
cat > itag <<EOF
../../wrfprd/wrfout_${domain}_${YY}-${MM}-${DD}_${HH}:00:00
netcdf
${YY}-${MM}-${DD}_${HH}:00:00
${tag}
EOF

#-----------------------------------------------------------------------
#   Run unipost.
#-----------------------------------------------------------------------
rm -f fort.*

ln -sf wrf_cntrl.parm fort.14

#--- EDIT HERE --------------------------------------------------------
# Uncomment one
#   mpirun for MPI dmpar compile -- UPDATE FOR YOUR SYSTEM!!! ** FOR
#      now there are two environment variables tmmark and COMSP
#   unipost.exe for serial compile
#----------------------------------------------------------------------
# dmpar runs
  mpirun -np ${NP} ${POSTEXEC}/unipost.exe > unipost_${domain}.${fhr}.out 2>&1

# Serial run command
#  ${POSTEXEC}/unipost.exe > unipost_${domain}.${fhr}.out 2>&1

# debugger runs - enter your debugger and hour of error
#if [[ $((10#${fhr})) -eq 3 ]]; then
#  mpirun.dbg.totalview -progname ${POSTEXEC}/unipost.exe > unipost_${domain}.${fhr}.out 2>&1
#else
#  mpirun -np 1 ${POSTEXEC}/unipost.exe > unipost_${domain}.${fhr}.out 2>&1
#fi
#

# Fix for bug with forecast hour in filename when postprocessing NMM domain 2:
if [ $dyncore = "NMM"  ] && [ $3 != "d01" ] && [ $delay -ne 0 ] ; then
    let "fhrFix = 10#${fhr} - ${delay}"
    if [ ${fhrFix} -lt 10 ] ; then
	mv WRFPRS0${fhrFix}.${tmmark} WRFPRS${fhr}.${tmmark}
    else
	mv WRFPRS${fhrFix}.${tmmark} WRFPRS${fhr}.${tmmark}
    fi
fi

# This prefix was given in the wrf_cntl.parm file
mv WRFPRS${fhr}.${tmmark} WRFPRS_${domain}.${fhr}

#
#----------------------------------------------------------------------
#   End of unipost job
#----------------------------------------------------------------------

ls -l WRFPRS_${domain}.${fhr}
err1=$?

if test "$err1" -ne 0
then

echo '  UNIPOST FAILED, EXITTING'
exit

fi

if [ $dyncore = "NMM" ]; then

#######################################################################
# 2. Run copygb
# 
# Copygb interpolates Unipost output from its native 
# grid to a regular projection grid. The package copygb 
# is used to horizontally interpolate from one domain 
# to another, it is necessary to run this step for wrf-nmm 
# (but not for wrf-arw) because wrf-nmm's computational 
# domain is on rotated Arakawa-E grid
#
# Copygb can be run in 3 ways as explained below. 
# Uncomment the preferable one.
#
#----------------------------------------------------------------------
#
# Option 1: 
# Copygb is run with a pre-defined AWIPS grid 
# (variable $gridno, see below) Specify the grid to 
# interpolate the forecast onto. To use standard AWIPS grids 
# (list in  http://wwwt.emc.ncep.noaa.gov/mmb/namgrids/ or 
# or http://www.nco.ncep.noaa.gov/pmb/docs/on388/tableb.html),
# set the number of the grid in variable gridno below.
# To use a user defined grid, see explanation above copygb command.
#
# export gridno=212
#
#${POSTEXEC}/copygb.exe -xg${gridno} WRFPRS_${domain}.${fhr} wrfprs_${domain}.${fhr}
#
#----------------------------------------------------------------------
#
#  Option 2: 
#  Copygb ingests a kgds definition on the command line.
#${POSTEXEC}/copygb.exe -xg"255 3 109 91 37748 -77613 8 -71000 10379 9900 0 64 42000 42000" WRFPRS_${domain}.${fhr} wrfprs_${domain}.${fhr}
#
#----------------------------------------------------------------------
#
#  Option 3: 
#  Copygb can ingests contents of files too. For example:
#     copygb_gridnav.txt or copygb_hwrf.txt through variable $nav.
# 
#  Option -3.1:
#    To run for "Lambert Comformal map projection" uncomment the following line
#
 read nav < 'copygb_gridnav.txt'
#
#  Option -3.2:
#    To run for "lat-lon" uncomment the following line 
#
#read nav < 'copygb_hwrf.txt'
#
export nav
#
${POSTEXEC}/copygb.exe -xg"${nav}" WRFPRS_${domain}.${fhr} wrfprs_${domain}.${fhr}
#
# (For more info on "copygb" see WRF-NMM User's Guide, Chapter-7.)
#----------------------------------------------------------------------

# Check to see whether "copygb" created the requested file.

ls -l wrfprs_${domain}.${fhr}
err1=$?

if test "$err1" -ne 0
then

echo '  copygb FAILED, EXITTING'
exit

fi

#----------------------------------------------------------------------
#   End of copygb job
#----------------------------------------------------------------------

elif [ $dyncore = "ARW" ]; then
    ln -s WRFPRS_${domain}.${fhr} wrfprs_${domain}.${fhr}
fi

done

fhr=$((10#${fhr}+$((${incrementhr}))))

NEWDATE=`${POSTEXEC}/ndate.exe +$((10#${fhr})) $startdate`

done

date
echo " "
echo "  Converting netcdf into grib1 finished."
echo " "

echo "  Combining grib1 files into single grib..."
if [ $dyncore = "NMM" ]; then
cat wrfprs_${domain}.* > wrf_${domain}.grib1
else
cat WRFPRS_${domain}.* > wrf_${domain}.grib1
fi

echo " "
echo "  Creating GrADS .ctl and .idx files..."
grib2ctl.pl -verf wrf_${domain}.grib1 > wrf_${domain}.ctl
gribmap -q -big -i wrf_${domain}.ctl

echo " "
echo "  Cleaning old GrADS files if they exist..."
rm -f grads/wrf_${domain}.grib1
rm -f grads/wrf_${domain}.ctl
rm -f grads/wrf_${domain}.grib1.idx

echo " "
echo "  Moving grads files into grads subdirectory..."
mkdir -p ../grads
mv wrf_${domain}.grib1 ../grads
mv wrf_${domain}.ctl ../grads
mv wrf_${domain}.grib1.idx ../grads

#echo "  Copying stuff into /var/wrf/prd..."
#yes | cp -rf ../grads/wrf_${domain}.grib1 /var/wrf/prd
#yes | cp -rf ../grads/wrf_${domain}.ctl /var/wrf/prd
#yes | cp -rf ../grads/wrf_${domain}.grib1.idx /var/wrf/prd

echo " "
echo "  Cleaning work directory..."
rm -f * 2> /dev/null

echo " "
echo "  All done. Bye!"
echo " "

exit

oib
Posts: 118
Joined: Mon Jan 31, 2011 3:29 pm

Re: Unipost strange high, mid, low cloud cover output

Post by oib » Fri Oct 17, 2014 2:12 pm

meteoadriatic wrote: The major difference I can see is that I use netcdf-3.6.3 instead of v4.x.
Thanks for the time you are dedicating me to solve this issue, I'm infinitely grateful :)

I will follow you suggestion trying to re-build everything on netcdf-3.6.3.

Thanks a lot also for sharing the script run_unipost.sh, that sure could be very useful to a lot of people.
That BASH code is practically the same as what I wrote in PHP code, so the problem is not here.
PHP could sound as a pretty strange choice, I admit, but that is :) ... I fell at home with this one and I control all of the libraries/WRF model/utils build and simulation chain (from GFS download to graphic outputs) through PHP.

Let you know tomorrow how things went...

Have a nice evening.

meteoadriatic
Posts: 1584
Joined: Wed Aug 19, 2009 10:05 am

Re: Unipost strange high, mid, low cloud cover output

Post by meteoadriatic » Fri Oct 17, 2014 5:42 pm

oib wrote:Thanks for the time you are dedicating me to solve this issue, I'm infinitely grateful :)
I will follow you suggestion trying to re-build everything on netcdf-3.6.3.
Well downgrading netcdf is not really a big suggestion but you can try :mrgreen: Of course if you need any netcdf-4 feature you will lose it. I don't so I'm happy with v3 and it builds with fever prerequisites than v4.

What actually is a suggestion, if you work on Centos6, that you try to use zlib, png and jasper from distribution instead of compiling them. Install those prerequisites with yum, then change environment variables to point to new locations. I have those installed with yum:
libpng
libpng-devel
zlib-devel
jasper
jasper-libs
jasper-devel

And those are locations for jasper environment variables (needed for configure script for WRF)
JASPERLIB=/usr/lib64
JASPERINC=/usr/include/jasper

If that does not help with your issue, it just might help someone to avoid compiling all those manually, I see no point doing that.

But, it is important to recompile WRF after those changes before UPP, because WRF directory tree has libraries that UPP uses during compile time.

If that all still doesn't help, and you work on Centos6, we can try exchange unipost.exe to find out if the problem is inside or outside it.

oib
Posts: 118
Joined: Mon Jan 31, 2011 3:29 pm

Re: Unipost strange high, mid, low cloud cover output

Post by oib » Mon Oct 20, 2014 9:02 am

meteoadriatic wrote:
oib wrote:Thanks for the time you are dedicating me to solve this issue, I'm infinitely grateful :)
I will follow you suggestion trying to re-build everything on netcdf-3.6.3.
Well downgrading netcdf is not really a big suggestion but you can try :mrgreen: Of course if you need any netcdf-4 feature you will lose it. I don't so I'm happy with v3 and it builds with fever prerequisites than v4.

What actually is a suggestion, if you work on Centos6, that you try to use zlib, png and jasper from distribution instead of compiling them. Install those prerequisites with yum, then change environment variables to point to new locations. I have those installed with yum:
libpng
libpng-devel
zlib-devel
jasper
jasper-libs
jasper-devel

And those are locations for jasper environment variables (needed for configure script for WRF)
JASPERLIB=/usr/lib64
JASPERINC=/usr/include/jasper

If that does not help with your issue, it just might help someone to avoid compiling all those manually, I see no point doing that.

But, it is important to recompile WRF after those changes before UPP, because WRF directory tree has libraries that UPP uses during compile time.

If that all still doesn't help, and you work on Centos6, we can try exchange unipost.exe to find out if the problem is inside or outside it.
All re-built with netcdf-3.6.3, but my problem NOT solved :cry:

However wrf.exe from netcdf-3.6.3 seems a little faster (1%) than wrf.exe from netcdf-4.1.1.
And I don't need netcdf-4 additional features, so I think I will stay on netcdf-3.6.3 ;)

Today I will try rebuid everything using libpng, zlib and jasper libraries from Centos repositories:

libpng-1.2.49
zlib-1.2.3
jasper-1.900.1

I'm also using CentOS6

Code: Select all

cat /etc/centos-release
CentOS release 6.5 (Final)
And if also this will not work, yes, we can exchange our unipost.exe ;)

surgeon
Posts: 46
Joined: Wed Dec 08, 2010 1:34 pm
Location: Poland
Contact:

Re: Unipost strange high, mid, low cloud cover output

Post by surgeon » Mon Oct 20, 2014 12:03 pm

oib wrote: However wrf.exe from netcdf-3.6.3 seems a little faster (1%) than wrf.exe from netcdf-4.1.1.
This is interesting. :)

Post Reply