NOAH land surface model: Supporting files
Rafael Rosolem (08/21/2012)
rosolem@email.arizona.edu

This document describes the necesary files needed to run NOAH HRLDAS for a single-point.
We provide the DART-NOAH user with some template files that can be easily changed to accommodate
specific needs. For now, we are assuming the user will run NOAH with hourly timesteps. There are
three files in this directory:

[1] namelist.hrldas.template
This is the namelist file used by NOAH. There are only a few things the user needs to pay attention
to in this file:
   (a) HRLDAS_CONSTANTS_FILE: Need to point where the file 'wrfinput' is located for the simulation
   (b) INDIR: Need to point where the directory containing the forcing files is located for the
       simulation
   (c) OUTDIR: Similar to INDIR but for the output and restart files generated by NOAH
   (d) START_{YEAR,MONTH,DAY,HOUR,MIN} is only used if you are running for the very first time. Here
       we are assuming a restart file is available (see next item), so the time information will be
       retrieve from that file
   (e) RESTART_FILENAME_REQUESTED: Comment if you would like to run for the very first time (we are not
       doing this here). We will always assume there is a restart file available for the first step in
       the simulation, hence the complete path to the file needs to be included in here
   (f) KDAY and KHOUR: We are assuming simulations are going to be for hourly timesteps, so KDAY = 0 and
       KHOUR = 1
   (g) FORCING_TIMESTEP, NOAH_TIMESTEP, OUTPUT_TIMESTEP: We assume FORCING_TIMESTEP = 3600 seconds (i.e.,
       hourly) and that model timestep follows forcing exactly (handling frequent restarts in NOAH when
       NOAH_TIMESTEP is multiple of FORCING_TIMESTEP is difficult and cumbersome). If you running NOAH
       coupled to DART, the OUTPUT files (LDASOUT) are not really used but for consistency we output
       them at the same time interval as the forcing   
   (h) RESTART_FREQUENCY_HOURS: For NOAH-DART, this is currently set to 3600 seconds (i.e., hourly) but
       if you run standalone NOAH, you might want to set it to a different value to better accomodate your
       needs (e.g., spin-up)
   (i) SPLIT_OUTPUT_COUNT: If you are running standalone NOAH, you might want to set a large number so all
        output are copied to a single file.
   (j) ZLVL and ZLVL_WIND: Measurement height and wind measurement height. Need to change this based on 
       specific site
   (k) UPDATE_SNOW_FROM_FORCING: Unless you have snow data that can actually force NOAH, you should make
       sure this options is always set to '.FALSE.'

[2] wrfinput.template
This file contains some information about the location and look-up tables for soil and vegetation parameters.
The final file needs to be generated as NetCDF by invoking the following command:
ncgen -o ncfile wrfinput.template.ascii, where ncfile is any name given to the file (e.g., wrfinput). You can
check whether the file has been properly created by using ncdump.
   (a) global attributes: There are many attributes that we don't change because they appear to be specific to
       NOAH-WRF runs. The ones I am currently changing are:
       (i) CEN_LAT, CEN_LON, TRUELAT1, TRUELAT2, MOAD_CEN_LAT, STAND_LON --> with site specific informaiton
       (ii) I am not sure at the moment whether the following attributes need to be chnaged to site-specifc
            values (GMT, JULYR, JULDAY) [NEED TO CONTACT MICHAEL BARLAGE]
   (b) IVGTYP: Check VEGPARM.TBL for a list of vegetation types (notice that MODIFIED_IGBP_MODIS_NOAH) is being
       used
   (c) ISLTYP: Check SOILPARM.TBL for a list of soil types (STATS is the done used here)
   (d) HGT: Site-specific elevation
   (e) XLAT and XLON: Site-specific latitude (-90,90) and longitude (-180,180)
   (f) TMN: Deep soil temperature (constant): A comment in the code mentions that annual average surface temperature
       can be used for this variable

[3] RESTART.YYYYMMDDHH_DOMAIN1.template.ascii
This is the RESTART file for NOAH. It carries other than state variables, so in principle, you need to change
only these state variables. The final file needs to be generated as NetCDF by invoking the following command:
ncgen -o ncfile RESTART.YYYYMMDDHH_DOMAIN1.template.ascii, where ncfile is any name given to the file (e.g., 
RESTART.2009010100_DOMAIN1). You can check whether the file has been properly created by using ncdump.
The list of variables to be changed are as follows:
    (a) Times: Make sure the date matches with the date you would like the model to restart from
    (b) SOIL_T: Soil temperature (K) (originally for four layers)
    (c) SOIL_M: Volumetric soil moisture content (m3/m3) (originally for four layers)
    (d) SOIL_W: Liquid water content (volumetric) (m3/m3) (originally for four layers)
    (e) SNODEP: Snow depth (m)
    (f) WEASD: Water equivalent snow depth (m)
    (g) SKINTEMP: Skin temperature (K)
    (h) CANWAT: Canopy water content (mm)
    (i) CH and CHX: Surface exchange coefficient for heat(-) (same value)
    (j) CMX: Surface exchange coefficient for momentum (-)
    (k) ALBED: Surface albedo including snow effect (fraction)

