[Dart-dev] [5761] DART/branches/development/models/clm:

nancy at ucar.edu nancy at ucar.edu
Tue Jun 12 11:33:16 MDT 2012


Revision: 5761
Author:   thoar
Date:     2012-06-12 11:33:16 -0600 (Tue, 12 Jun 2012)
Log Message:
-----------

This version assimilates the flux tower observations using the
forward operator that reads the ob value from the CLM history file.

The observation paths, the data locations, etc. are changed from
the previous (modis snowcover) case.

The biogeochemistry option uses the same env_conf.xml variable at the
river transport model. To turn off the rtm and leave the bgc on require
the following:

xmlchange -file env_conf.xml -id CLM_CONFIG_OPTS -val '-rtm off -bgc cn'

Added a obs_def_tower_nml block to input.nml to indicate the location
of the CLM history files and casename. Couldn't figure out a way to
automatically detect that.

Modified Paths:
--------------
    DART/branches/development/models/clm/shell_scripts/CESM_setup_bluefire.csh
    DART/branches/development/models/clm/shell_scripts/assimilate.csh
    DART/branches/development/models/clm/work/input.nml

-------------- next part --------------
Modified: DART/branches/development/models/clm/shell_scripts/CESM_setup_bluefire.csh
===================================================================
--- DART/branches/development/models/clm/shell_scripts/CESM_setup_bluefire.csh	2012-06-12 17:24:22 UTC (rev 5760)
+++ DART/branches/development/models/clm/shell_scripts/CESM_setup_bluefire.csh	2012-06-12 17:33:16 UTC (rev 5761)
@@ -15,7 +15,6 @@
 # and will use DART to assimilate observations at regular intervals.
 # This script does not build DART.
 
-
 # ---------------------
 # How to set up the script
 # ---------------------
@@ -84,13 +83,12 @@
 #    false; Remove $caseroot and $exeroot and rebuild
 #    true;  configure -cleannamelist
 
-setenv case                 clm_datm_norestart
 setenv case                 clm_tim
 setenv compset              I_2000_CN
 setenv cesmtag              cesm1_1_beta08
 setenv resolution           f19_f19
 setenv num_instances        4
-setenv reuse_existing_case  false
+setenv reuse_existing_case  true
 
 # ====================================================================
 # define machines and directories
@@ -100,7 +98,7 @@
 # cesmroot        Location of the cesm code base
 #                 For cesm1_1_beta04 on bluefire, MUST use 'thoar' value provided.
 # DARTroot        Location of DART code tree.
-#                    Executables, scripts and input in $DARTroot/models/clm/...
+#                    Executables, scripts and input in $DARTroot/models/dev/...
 # caseroot        Your (future) cesm case directory, where this CESM+DART will be built.
 #                    Preferably not a frequently scrubbed location.
 #                 caseroot will be deleted if reuse_existing_case is false (below)
@@ -114,7 +112,7 @@
 setenv cesm_datadir /glade/proj3/cseg/inputdata
 setenv cesmroot     /glade/home/thoar/${cesmtag}
 
-setenv DARTroot     /glade/home/${USER}/svn/DART/clm
+setenv DARTroot     /glade/home/${USER}/svn/DART/dev
 
 setenv caseroot     /glade/user/${USER}/cases/${case}
 setenv exeroot      /ptmp/${USER}/${case}
@@ -124,9 +122,9 @@
 # configure settings
 # ====================================================================
 
-setenv refyear 2002
-setenv refmon  11
-setenv refday  01
+setenv refyear 2000
+setenv refmon  01
+setenv refday  31
 setenv run_refdate $refyear-$refmon-$refday
 setenv run_reftod  00000
 
@@ -138,7 +136,7 @@
 # stop_n        Number of time units in the forecast
 # ====================================================================
 
-setenv resubmit      40
+setenv resubmit      0
 setenv stop_option   nhours
 setenv stop_n        24
 
@@ -152,7 +150,7 @@
 # ====================================================================
 
 setenv proj         93300315
-setenv timewall     0:45
+setenv timewall     0:29
 setenv queue        premium
 
 # ====================================================================
@@ -313,15 +311,17 @@
 ./xmlchange -file env_conf.xml -id DATM_CPL_YR_START       -val $refyear
 ./xmlchange -file env_conf.xml -id DATM_CPL_YR_END         -val $refyear
 ./xmlchange -file env_conf.xml -id DATM_CPL_YR_ALIGN       -val $refyear
-./xmlchange -file env_conf.xml -id CLM_CONFIG_OPTS         -val '-rtm off'
+./xmlchange -file env_conf.xml -id CLM_CONFIG_OPTS         -val '-rtm off -bgc cn'
 # The river transport model ON is useful only when using an active ocean or
-# land surface diagnostics.
+# land surface diagnostics. The biogeochemistry should then also be turned (back) on.
+# If you have 'CN' in the compset name, CLM_CONFIG_OPTS will default to the right thing.
+# since we are turning off the RTM, we need to turn back on "the right thing".
 
 # Substantial archiving changes exist in the Tools/st_archive.sh script.
 # DOUT_S     is to turn on/off the short-term archiving
 # DOUT_L_MS  is to store to the HPSS (formerly "MSS")
 
-#./xmlchange -file env_run.xml -id CONTINUE_RUN               -val TRUE
+./xmlchange -file env_run.xml -id CONTINUE_RUN               -val FALSE
 ./xmlchange -file env_run.xml -id RESUBMIT                   -val $resubmit
 ./xmlchange -file env_run.xml -id STOP_OPTION                -val $stop_option
 ./xmlchange -file env_run.xml -id STOP_N                     -val $stop_n
@@ -351,10 +351,10 @@
 cat <<EOF >! user_nl_clm
 &clm_inparm
  hist_empty_htapes = .true.
- hist_fincl1 = 'TG',
- hist_nhtfrq = -$stop_n,
- hist_mfilt  =  1,
- hist_avgflag_pertape = 'I'
+ hist_fincl1 = 'NEP'
+ hist_nhtfrq = 1,
+ hist_mfilt  = 48
+ hist_avgflag_pertape = 'A'
 /
 EOF
 
@@ -530,7 +530,7 @@
 set stagedir = /ptmp/afox/MD_40_PME/run
 
 # 20021101 ... /ptmp/yfzhang/inputdata_cam/lnd/clm2/initdata
-set stagedir = /ptmp/yfzhang/inputdata_cam/lnd/clm2/initdata
+# set stagedir = /ptmp/yfzhang/inputdata_cam/lnd/clm2/initdata
 
 echo ''
 echo "Copying the restart files from ${stagedir}"
@@ -541,7 +541,8 @@
 
    echo "Staging restarts for instance $n of $num_instances"
 
-   set LANDFILE = `printf ${stagedir}/init1998.clm2_%04d.r.2002-11-01-00000.nc $n`
+#  set LANDFILE = `printf ${stagedir}/init1998.clm2_%04d.r.2002-11-01-00000.nc $n`
+   set LANDFILE = `printf ${stagedir}/MD_40_PME.clm2_%04d.r.2000-01-31-00000.nc $n`
    set LND_RESTART_FILENAME = `printf "${case}.clm2_%04d.r.%04d-%02d-%02d-%05d.nc" $n $refyear $refmon $refday $run_reftod`
 
    ${COPY} ${LANDFILE} ${exeroot}/run/${LND_RESTART_FILENAME}

Modified: DART/branches/development/models/clm/shell_scripts/assimilate.csh
===================================================================
--- DART/branches/development/models/clm/shell_scripts/assimilate.csh	2012-06-12 17:24:22 UTC (rev 5760)
+++ DART/branches/development/models/clm/shell_scripts/assimilate.csh	2012-06-12 17:33:16 UTC (rev 5761)
@@ -22,7 +22,7 @@
       set   LINK = '/usr/local/bin/ln -fvs'
       set REMOVE = '/usr/local/bin/rm -fr'
 
-      set BASEOBSDIR = /glade/proj3/image/Observations/land
+      set BASEOBSDIR = /glade/proj3/image/Observations/FluxTower
       set DARTDIR    = ${HOME}/svn/DART/dev
       set LAUNCHCMD  = mpirun.lsf
    breaksw
@@ -70,11 +70,15 @@
 
 #-----------------------------------------------------------------------------
 # Get observation sequence file ... or die right away. Cannot specify -f on
-# the link command and still check status.
+# the link command and still check status. The observation file names have
+# a time that matches the stopping time of CLM. The contents of the file
+# must match the history file contents if one is using the obs_def_tower_mod
+# or could be the 'traditional' +/- 12Z ... or both. Since the history file
+# contains the previous days' history ... so must the obs file.
 #-----------------------------------------------------------------------------
 
 set OBSDIR   = ${BASEOBSDIR}/${MODEL_YEAR}${MODEL_MONTH}
-set OBSFNAME = obs_seq.0Z.${MODEL_YEAR}${MODEL_MONTH}${MODEL_DAY}
+set OBSFNAME = obs_seq.daybefore.${MODEL_YEAR}${MODEL_MONTH}${MODEL_DAY}
 set OBS_FILE = ${OBSDIR}/${OBSFNAME}
 
 \rm -f              obs_seq.out

Modified: DART/branches/development/models/clm/work/input.nml
===================================================================
--- DART/branches/development/models/clm/work/input.nml	2012-06-12 17:24:22 UTC (rev 5760)
+++ DART/branches/development/models/clm/work/input.nml	2012-06-12 17:33:16 UTC (rev 5761)
@@ -132,7 +132,8 @@
 
 
 &obs_kind_nml
-   assimilate_these_obs_types = 'MODIS_SNOWCOVER_FRAC',
+   assimilate_these_obs_types = 'TOWER_NETC_ECO_EXCHANGE',
+                                'MODIS_SNOWCOVER_FRAC',
    evaluate_these_obs_types   = 'null'
    /
 
@@ -152,20 +153,38 @@
    clm_restart_filename         = 'clm_restart.nc',
    clm_history_filename         = 'clm_history.nc',
    assimilation_period_days     = 2,
-   assimilation_period_seconds  = 0,
+   assimilation_period_seconds  = 3600,
    model_perturbation_amplitude = 0.2,
    output_state_vector          = .false.,
    calendar                     = 'Gregorian',
    debug                        = 0,
    clm_state_variables          = 'frac_sno',    'KIND_SNOWCOVER_FRAC',
                                   'H2OSNO',      'KIND_SNOW_WATER',
-                                  'SNOWDP',      'KIND_SNOW_THICKNESS',
                                   'H2OSOI_LIQ',  'KIND_LIQUID_WATER',
                                   'H2OSOI_ICE',  'KIND_ICE',
                                   'T_SOISNO',    'KIND_SOIL_TEMPERATURE',
+                                  'frootc',      'KIND_ROOT_CARBON',
+                                  'livecrootc',  'KIND_ROOT_CARBON',
+                                  'deadcrootc',  'KIND_ROOT_CARBON',
+                                  'livestemc',   'KIND_STEM_CARBON',
+                                  'deadstemc',   'KIND_STEM_CARBON',
+                                  'leafc',       'KIND_LEAF_CARBON',
+                                  'cpool',       'KIND_CARBON',
+                                  'frootn',      'KIND_ROOT_NITROGEN',
+                                  'livecrootn',  'KIND_ROOT_NITROGEN',
+                                  'deadcrootn',  'KIND_ROOT_NITROGEN',
+                                  'livestemn',   'KIND_STEM_NITROGEN',
+                                  'deadstemn',   'KIND_STEM_NITROGEN',
+                                  'leafn',       'KIND_LEAF_NITROGEN',
+                                  'litr1c',      'KIND_LEAF_CARBON',
+                                  'litr2c',      'KIND_LEAF_CARBON',
+                                  'litr3c',      'KIND_LEAF_CARBON',
+                                  'soil1c',      'KIND_SOIL_CARBON',
+                                  'soil2c',      'KIND_SOIL_CARBON',
+                                  'soil3c',      'KIND_SOIL_CARBON',
+                                  'soil4c',      'KIND_SOIL_CARBON',
    /
 
-                                  'leafc',       'KIND_LEAF_CARBON'
   frac_sno  is needed for the forward operator
   H2OSNO is updated by the filter,
   update_snow() takes H2OSNO* and updates the four following:


More information about the Dart-dev mailing list