$CTSMROOT/bld/README                            Jun/08/2018 

CLM build and configure directory and scripts. Scripts to help
you prepare to build CLM as a component within CESM, and setup
a namelist for it.

Important files/directories:

--------- Configure and build scripts
--------- (These scripts are also used by the cesm/cime scripts)

configure ---------------- Configure script -- sets up the CPP Macro's needed to be
                           defined to build CLM (only actively used for clm4_0)
  ----- configure --help - Configure help mode -- sends information on all configure options
config_files/clm_phys_vers.pm ------------- Perl module to handle different CLM versions
config_files/config_defaults.xml ---------- XML file of defaults for CLM
config_files/config_defaults_*.xml -------- XML file of defaults for CLM for a specific site
config_files/config_definition_clm4_0.xml - XML file definining all CLM4.0 configuration items
config_files/config_definition_clm4_5.xml - XML file definining all CLM5.5/CLM5.0 configuration items

--------- Scripts to build the namelists
--------- (These scripts are also used by the cesm/cime scripts)
build-namelist --- Build the namelists needed


env_run.xml --- Sample case runtime environment variables, so build-namelist can run outside of a case directory.

--------- Scripts to query namelist defaults
listDefaultNamelist.pl -- List the files needed, for a list of resolutions,
                          to run CLM that are currently NOT on your machine.
                          This file can then be used by 
                            cime/scripts/Tools/check_input_data
                          to retreive them from the inputdata repository.
                          Setting up cases with create_newcase also does
                          this -- but only for the exact configuration
                          given. This tries to get all the files need
                          for several different resolutions and configurations
                          at once.
queryDefaultNamelist.pl - Query default namelist for settings of variables
queryDefaultXML.pm ------ Subroutines needed by queryDefaultNamelist.pl script


--------- Test scripts directory
unit_testers --- Directory of scripts to test scipts in this directory
                 (most notably build-namelist and possibly configure)

---------- XML Files describing namelists in namelist_files
namelist_files/namelist_defaults_clm4_0.xml ------- List of default values for the clm4_0 namelist
namelist_files/namelist_defaults_clm4_5.xml ------- List of default values for the clm4_5 namelist
namelist_files/namelist_defaults_clm4_5_tools.xml - List of default values for the clm4_5 tools.
namelist_files/namelist_defaults_overall.xml ------ List of default values for overall settings
namelist_files/namelist_defaults_usr_files.xml ---- List of default values for the user-files
namelist_files/namelist_definition_clm4_0.xml ----- Definition of all namelist items for clm4_0
namelist_files/namelist_definition_clm4_5.xml ----- Definition of all namelist items for clm4_5
namelist_files/namelist_definition.xsl ------------ Describes how to view the xml file as html
namelist_files/namelist_defaults_drydep.xml ------- List of default values for the dry deposition module.
namelist_files/use_cases -------------------------- Specific configurations that build-namelist uses
namelist_files/use_cases/README ------------------- File explaining the naming convention for use_cases

---------- Driver namelist files, duplicated information from cime/driver/cime_config
namelist_files/namelist_defaults_drv.xml ---------- List of default values for driver namelist defaults
namelist_files/namelist_defaults_drydep.xml ------- List of default values for dry deposition fields 
namelist_files/namelist_defaults_fire_emis.xml ---- List of default values for fire emission fields
namelist_files/namelist_definition_drv.xml -------- Definition of all driver namelist items
namelist_files/namelist_definition_drv_flds.xml --- Definition of add driver fieldsnamelist items


---------- XML helper files
namelist_files/LogMessages.pm  ---- Perl module to handle log output
namelist_files/checkmapfiles.ncl -- NCL script to check that all of the mapping files are valid
namelist_files/createMapEntry.pl -- Perl script to create a map entry for the 
namelist_files/history_fields.xsl - Style sheet for history fields as created by script that lists all of the
                                    history fields from the source files (../src/main/findHistFields.pl)
