#============# Contents#============* CMEM GRIBAPI I/O* GRIBAPI* Input - Input - Contain required forcing for CMEM - Main (soil moisuture, soil temperature) - Soil Condition - Vegetation - 2m air temperature - Vegetation LAI - Atmospheric optical thickness and TB - Snow (single-layer) - Snow (multi-layer) - Incident Angle* Output - Output - Output: Level-1 - Output: Level-2 - Output: Level-3 - Output: Level-4
#====================# CMEM GRIBAPI I/O#====================input config : input # configuration of namelistsinput files : [elem].griboutput files : out*.grib
put option CFINOUT='gribapi' in file 'input'.
#===========# GRIBAPI#===========* GRIBAPI programs developed for encoding and decoding WMO FM-92 GRIB edition 1 and edition 2 messages* To use GRIBAPI, which is the default of CMEM, you need to install GRIBAPI
https://confluence.ecmwf.int/display/ECC/What+is+ecCodes
* When using the GRIBAPI option, CMEM needs to have a template file to write the outputs. e.g. For sample data, to this end you need to copy SWVL1.grib into SWVL1.tmpl
$ cp SWVL1.grib SWVL1.tmpl
* When using the GRIBAPI option, CMEM needs environment variable GRIB_TEMPLATES_PATH. Before running cmem, do e.g. template file: /home/user/wk/SWVL1.tmpl
$ export GRIB_TEMPLATES_PATH=/home/user/wk # for ksh or bash
#=========# Input#=========* Prepare the forcing file according to your run config. Here GRIB input required* forcing files must be consistent in terms of grid size (checked in rdcmemgribapiinfo.F90)
#=================================================# Input: Main (soil moisuture, soil temperature)#==================================================* required for any option* defalt: number of soil layer (NLAY_SOIL_LS) = 3
STL1.grib # Soil temperature level 1 (K) STL2.grib # Soil temperature level 2 (K) STL3.grib # Soil temperature level 3 (K) TSKIN.grib # Skin temperature (K) SWVL1.grib # Volumetric soil moisture level1 (m3/m3) SWVL2.grib # Volumetric soil moisture level2 (m3/m3) SWVL3.grib # Volumetric soil moisture level3 (m3/m3) SWVL1.tmpl # copy of SWVL1.grib to be used as template for the output (only required if gribapi is used)
#=========================# Input: Soil condition #=========================* required for any option
Z.grib # Geopotential at surface (m2/s2)sand.grib # Fraction of sandy textured soil (%) range 0-100clay.grib # Fraction of clay textured soil (%) range 0-100
#=====================# Input: Vegetation #=====================* required file depends on options CIVEG:
#-------------------------- # if CIVEG = 'Ecoclimap' #-------------------------- ECOCVL.grib # fraction of low veg (-) ECOCVH.grib # fraction of high veg (-) # These fractions are such as their sum is the complement to one of the bare soil fraction: # bare soil frac = 1- cvh+cvl ECOTVL.grib # low veg type ECOTVH.grib # high veg type ECOWAT.grib # water fraction (-)
#------------------------------------ # if CIVEG = 'Tessel' or 'HTessel' #------------------------------------ CVL.grib # fraction of low veg (-) CVH.grib # fraction of high veg (-) # Appart for desert areas these fractions are such as their sum is 1 # Accordingly a weigting function is applied to these fractions to compute bare soil TVL.grib # low veg type TVH.grib # high veg type LSM.grib # land fraction (water fraction is set = 1-LSM) (-)
#----------------------- # Useful information: #----------------------- ECOCLIMAP types are: No vegetation: 0 High vegetation: 1 Decidious forests; 2 Coniferous forests; 3 Rain forests Low vegetation: 4 C3 Grasslands; 5 C4 Grasslands; 6 C3 Crops; 7 C4 Crops
TESSEL types are: High vegetation: 3 Evergreen Needleleaf Trees; 4 Deciduous Needleleaf Trees; 5 eciduous Broadleaf Trees; 6 Evergreen Broadleaf Trees; 18 Mixed Forest/woodland; 19 Interrupted Forest Low vegetation: 1 Crops, Mixed Farming; 2 Short Grass; 7 Tall Grass; 9 Tundra; 10 Irrigated Crops; 11 Semidesert; 13 Bogs and Marshes; 16 Evergreen Shrubs; 17 Deciduous Shrubs; 20 Water and Land Mixtures
Vegetation tables are provided in vegtable.F90
#=============================# Input: 2m air temperature #=============================* required if (CITVEG = 'Tair' or 'Da_dual_all' or 'Ds_dual_onlysnow') or (CIATM = 'Pellarin' or 'Ulaby' or 'Input')
2T.grib # 2m air temperature (K)
#=========================# Input: Vegetation LAI #=========================* required if CIDVEG = 'HTessel' or 'Ecoclimap'* required file depends on options CIVEG:
#-------------------------- # if CIVEG = 'Ecoclimap' #-------------------------- ECOLAIL.grib # LAI of low veg for each pixel
#------------------------ # if CIVEG = 'HTessel' #------------------------ LAIL.grib # LAI of low veg for each pixel
#===============================================# Input: Atmospheric optical thickness and TB#===============================================* required if CIATM = 'Input'
TAU_ATM.grib # optical thickness of atmosphere (zenith opacity / cos(angle)) TB_AU.grib # upward atmospheric radiation (TB) (K) TB_AD.grib # downward atmospheric radiation (TB) (K)
#==============================# Input: Snow (single-layer)#==============================* required if CISNOWSET = 'Single'
#------------------------------------------------- # Snow depth in water equivalent (single-layer) #------------------------------------------------- * required if CISNOWSET = 'Single'
SD.grib # snow depth in water equivalent (m)
#------------------------------- # Snow density (single-layer) #------------------------------- * required if CISNOWSET = 'Single'
RSN.grib # snow density (kg/m3)
#----------------------------------- # Snow temperature (single-layer) #----------------------------------- * required if CISNOWSET = 'Single' and CISNOWTEMP = 'Snowtemp'
TSNOW.grib # snow temperature (K)
#-------------------------------------------- # Snow liquid water content (single-layer) #-------------------------------------------- * required if CISNOWSET = 'Single' and CISNOWMV = 'Input'
SLW.grib # snow liquid water content (kg/m2)
#===========================# Input: Multi-layer Snow#===========================* required if CISNOWSET = 'Multi'* NLAY_SNOW: number of snow layers
#------------------- # Layer structure #-------------------
AIR ---------------------------------- snow layer 1 (top layer) ---------------------------------- snow layer 2 ---------------------------------- ... ---------------------------------- snow layer NLAY_SNOW (bottom) ================================== SOIL
(Note: see 'Ignored data' and 'Ignored layer')
#-------------------------------------------------------------- # Snow depth (WEQ): multi-layer # Take care that this is in [kg/m2] for multi-layer input, # while [m] are used for single-layer input SD.grib #-------------------------------------------------------------- * required if CISNOWSET = 'Multi'
SDWEQ_1.grib # snow water equivalent (kg/m2) : layer 1 (top) SDWEQ_2.grib # snow water equivalent (kg/m2) : layer 2 ... # snow water equivalent (kg/m2) : layer ... SDWEQ_$NLAY_SNOW.grib # snow water equivalent (kg/m2) : layer NLAY_SNOW (bottom)
#------------------------------------------ # Snow liquid water content: multi-layer #------------------------------------------ * required if CISNOWSET = 'Multi'
SLW_1.grib # snow liquid water content (kg/m2) : layer 1 (top) SLW_2.grib # snow liquid water content (kg/m2) : layer 2 ... # snow liquid water content (kg/m2) : layer ... SLW_$NLAY_SNOW.grib # snow liquid water content (kg/m2) : layer NLAY_SNOW (bottom)
#----------------------------- # Snow density: multi-layer #----------------------------- * required if CISNOWSET = 'Multi'
RSN_1.grib # snow density (kg/m3) : layer 1 (top) RSN_2.grib # snow density (kg/m3) : layer 2 ... # snow density (kg/m3) : layer ... RSN_$NLAY_SNOW.grib # snow density (kg/m3) : layer NLAY_SNOW (bottom)
#--------------------------------- # Snow temperature: multi-layer #--------------------------------- * required if CISNOWSET = 'Multi'
TSNOW_1.grib # snow temperature (K) : layer 1 (top) TSNOW_2.grib # snow temperature (K) : layer 2 ... # snow temperature (K) : layer ... TSNOW_$NLAY_SNOW.grib # snow temperature (K) : layer NLAY_SNOW (bottom)
#---------------------- # NOTE: Ignored data #---------------------- * if total snow water equivalent < 0.01 (m), the point is treated as without snow.
#----------------------- # NOTE: Ignored layer #----------------------- * if snow depth (WEQ) >= 9999 or <= 0, the layer (about snow_weq, snow_lwc, snow_dense, snow_t) is ignored at the point. * if snow liquid water content >= 9999 or <= 0, the layer (about snow_weq, snow_lwc, snow_dense, snow_t) is ignored at the point.
#=========================# Input: Incident Angle#=========================* required if LTHETA_CONST = .False.
ANGLE.grib # Incident angle (degrees)
#==========# Output #==========* option JPHISTLEV in file 'input' defines levels of outputs* variables in output filename
$CNAMEID : Summarize of options # e.g. WaWiFrWiWiPeTsHTTeWaNoNoHsSiTsCoEf $FREQ : frequency [0.1GHz] # e.g. 0014 (1.4[GHz]) $ANGLE : Incident angle [degree] # e.g. 040 (40[degree])
* details of $CNAMEID
Option CNAMEIDTYPE in file 'input' defines the length of $CNAMEID
if CNAMEIDTYPE = 'CI-0'
$CNAMEID = ''
if CNAMEIDTYPE = 'CI-8' # as CMEM.v5.1
$CNAMEID = CIDIEL(1:2) # first and second characters about option CIDIEL (e.g. 'Wa' if CIDIEL='Wang') + CITEFF(1:2) # same as above + CISMR (1:2) # same as above + CIRGHR(1:2) # same as above + CIVEG (1:2) # same as above + CIATM (1:2) # same as above + CITVEG(1:2) # same as above + CIDVEG(1:2) # same as above
if CNAMEIDTYPE = 'CI-ALL'
$CNAMEID = CIDIEL (1:2) # same as above + CITEFF (1:2) + CISMR (1:2) + CIRGHR (1:2) + CIVEG (1:2) + CIATM (1:2) + CITVEG (1:2) + CIDVEG (1:2) + CITDIEL (1:2) + CIVEGDW (1:2) + CIVEGDI (1:2) + CIDESERT (1:2) + CISNOW (1:2) + CISNOWSET (1:2) + CISNOWTEMP(1:2) + CISNOWMV (1:2) + CIOTEFF (1:2)
#====================================# Output: Level-1 (JPHISTLEV >= 1)#====================================
out_tbtoaH_$OPTID_$FREQ_$ANGLE.grib # simulated brightness temperature (H-pol) [K] out_tbtoaV_$OPTID_$FREQ_$ANGLE.grib # simulated brightness temperature (V-pol) [K] out_tmpeff_$OPTID_$FREQ_$ANGLE.grib # effective temperature (H-pol) [K]
#====================================# Output: Level-2 (JPHISTLEV >= 2)#====================================
out_VWCsum_$OPTID_$FREQ_$ANGLE.grib # total vegetation water content [kg/m2] out_frbare_$OPTID_$FREQ_$ANGLE.grib # total bare soil fraction [-] out_tau_at_$OPTID_$FREQ_$ANGLE.grib # atmospheric optical depth out_tauvgH_$OPTID_$FREQ_$ANGLE.grib # effective vegetation opacity (H-pol) [-] out_tauvgV_$OPTID_$FREQ_$ANGLE.grib # effective vegetation opacity (V-pol) [-] out_tb_adw_$OPTID_$FREQ_$ANGLE.grib # atmospheric TB (downward) [K] out_tb_aup_$OPTID_$FREQ_$ANGLE.grib # atmospheric TB (upward) [K]
#====================================# Output: Level-3 (JPHISTLEV >= 3)#====================================
out_Bpa_HI_$OPTID_$FREQ_$ANGLE.grib # high vegetation b parameter (if CIVEG=Jackson) out_Bpa_LO_$OPTID_$FREQ_$ANGLE.grib # low vegetation b parameter (if CIVEG=Jackson) out_VWC_HI_$OPTID_$FREQ_$ANGLE.grib # high vegetation water content [kg/m2] out_VWC_HI_$OPTID_$FREQ_$ANGLE.grib # low vegetation water content [kg/m2] out_WP_par_$OPTID_$FREQ_$ANGLE.grib # wilting point soil moisture [cm3/cm3] out_emHeff_$OPTID_$FREQ_$ANGLE.grib # effective emissivity (H-pol) [-] out_emVeff_$OPTID_$FREQ_$ANGLE.grib # effective emissivity (V-pol) [-] out_emissH_$OPTID_$FREQ_$ANGLE.grib # soil surface emissivity (H-pol) [-] out_emissV_$OPTID_$FREQ_$ANGLE.grib # soil surface emissivity (V-pol) [-] out_ffrac1_$OPTID_$FREQ_$ANGLE.grib # pure (no snow) bare soil fraction [-] out_ffrac3_$OPTID_$FREQ_$ANGLE.grib # pure (no snow) low vegetation fraction [-] out_ffvegh_$OPTID_$FREQ_$ANGLE.grib # high vegetation fraction (snow + no snow) [-] out_ffvegl_$OPTID_$FREQ_$ANGLE.grib # low vegetation fraction (snow + no snow) [-] out_fh_par_$OPTID_$FREQ_$ANGLE.grib # roughness parameter out_fracfr_$OPTID_$FREQ_$ANGLE.grib # frozen soil fraction [-] out_fracsn_$OPTID_$FREQ_$ANGLE.grib # snow cover fraction [-] out_frclay_$OPTID_$FREQ_$ANGLE.grib # cray fraction [%] out_frsand_$OPTID_$FREQ_$ANGLE.grib # sand fraction [%] out_swmvmx_$OPTID_$FREQ_$ANGLE.grib # volume fraction of liquid water (maximum value in snowlayers at the point) [-] out_tbsoiH_$OPTID_$FREQ_$ANGLE.grib # soil TB (H-pol) [K] out_tbsoiV_$OPTID_$FREQ_$ANGLE.grib # soil TB (V-pol) [K] out_tbvegH_$OPTID_$FREQ_$ANGLE.grib # vegetation TB (H-pol) [K] out_tbvegV_$OPTID_$FREQ_$ANGLE.grib # vegetation TB (V-pol) [K] out_teff_C_$OPTID_$FREQ_$ANGLE.grib # C parameter used for effective temperature out_teff_o_$OPTID_$FREQ_$ANGLE.grib # effective temperature used for calculating effective emissivity [K] #====================================# Output: Level-4 (JPHISTLEV >= 4)#====================================* LEVEL-4 outputs are ignored in GRIBAPI I/O