[Dart-dev] DART/branches Revision: 12677

dart at ucar.edu dart at ucar.edu
Mon Jun 18 11:38:14 MDT 2018


nancy at ucar.edu
2018-06-18 11:38:14 -0600 (Mon, 18 Jun 2018)
4253
merging kevin's updates to the shell scripts directory
to support the release of CESM 2.0.  the full update info:


Based on the code reviews of setup_hybrid, setup_advanced,
DART_config.template (new name), and [no_]assimilate.csh.template
(new names), this commitment encodes clarification of the roles
and use of setup_hybrid and setup_advanced.  It also includes
many small improvements and simplifications.

Setup_hybrid is now a purely CAM oriented script.
DART_config must be run separately, in the $CASEROOT,
to enable assimilation.  DART_config is no longer created
by setup_hybrid, since DART_config gets all of its input
from the user and from the copy of setup_hybrid in $CASEROOT.

Setup_advanced is designed to be used when the user is
confident in the ability to define and build an assimilation
without intermediate checking and testing.  It runs DART_config
by default, which turns on the assimilation in CESM.
It still provides access to specialized capabilities,
such as high resolution sea surface temperatures and WACCM(-X).

The notable changes to the scripts include the following.

All
+ Instructions and internal documentation have been updated.
+ Defining standard system commands (rm, cp, ...) has been made
  simpler, but less automatic.
+ New variables have been introduced to deal with some *nix
  systems not supporting the -v option to some variables.
  These variables are used to control echoing of commands.
+ Removed code that dealt with CISM, glacier, and land ice,
  since that component cannot work with DART due to a calendar
  conflict.  The exception is code that sets CISM_RESTART to FALSE,
  which was (is?) necessary even when the stub version is used.
+ Adopted the strategy of keeping
  DART_config.template in shell_scripts/cesm2_0, instead of
  DART_config          in shell_scripts.
  Then sed (or cp + editing) converts it into a usable DART_config
  in $CASEROOT.
+ Similarly for [no_]assimilate.csh; add .template to names and put in cesm2_0.

setup_hybrid
+ Running it on 2 tasks speeds up the build by ~30%.
+ Environment variables have been removed,
  since setup_hybrid no longer calls DART_config.
  - dartroot
  - baseobsdir
  - save_every_Mth_restart_set
  - CAM_DYCORE
  - CLM_CONFIG_OPTS
  - ptile replaced by use_tasks_per_node
+ DART_config and `xmlchange DATA_ASSIMILATION_*` are no longer called.
+ Removed code which assisted with setting up WACCM.
  That code is still in setup_advanced.
+ Removed duplicated modification of case.st_archive header.
+ The CAM forecast job QUEUE and WALLCLOCK_TIME are now set
  by arguments to create_newcase, instead of xmlchange commands.
+ Simplify the flag to turn on CLM's interpolation of initial restart files.
  Default is now 'true'.
+ Removed vestiges of using non-default forcing files (GHG, aerosols, ...)
  until we figure out suitable options.

stage_cesm_files
+ Replaced outdated cpl.r references with drv_####.r,
  since the multi-driver mode is the default for CAM+DART.
+ Use num_drivers to control the CESM file name formats used
  to fill rpointer files.

setup_advanced
+ Most changes to setup_hybrid also appear in setup_advanced.

DART_config.template
+ Added a section of environment variables, which will be filled by
  the user after running setup_hybrid (and checking the CAM forecasts),
  or be filled by setup_advanced.
+ Imported the xmlchange DATA_ASSIMILATION* commands from setup_*.
+ Num_instances is harvested from the setup script, since it cannot come
  from CESM when the multi-driver mode is used; each driver has 1 instance,
  and the total instances is not in the xml files.
+ Updated location of sampling error correction file.

assimilate.csh.template
+ Making $archive/esp/hist is now done by DART_config.
+ Moved sampling error correction file acquisition to DART_config.
+ Removed the inflation cookie mechanism in favor of using fill_inflation_restart.
+ Require that output_file_list = input_file_list.

no_assimilate.csh.template
+ Removed variables that are unneeded because of how no_assimilate.csh
  is created by DART_config.
+ Removed unnecessary purging of unneeded restart sets.
  No_assimilation runs will either have large ensemble restart sets and be short,
  or small sets and may be long.




Index: DART/branches/rma_trunk/models/cam-fv/shell_scripts
===================================================================
--- DART/branches/rma_trunk/models/cam-fv/shell_scripts	2018-06-18 17:26:33 UTC (rev 12676)
+++ DART/branches/rma_trunk/models/cam-fv/shell_scripts	2018-06-18 17:38:14 UTC (rev 12677)

Property changes on: DART/branches/rma_trunk/models/cam-fv/shell_scripts
___________________________________________________________________
Added: svn:mergeinfo
## -0,0 +1,56 ##
+/DART/branches/CM1/models/cam-fv/shell_scripts:8569-10316
+/DART/branches/bgrid_sprint/models/cam-fv/shell_scripts:8188-8237
+/DART/branches/bgrid_sprint_state_reorder/models/cam-fv/shell_scripts:8208-8250
+/DART/branches/development/models/cam-fv/shell_scripts:4674-6249
+/DART/branches/gitm/models/cam-fv/shell_scripts:5137-6209
+/DART/branches/gitm_lanai/models/cam-fv/shell_scripts:6565-6646
+/DART/branches/helen/models/cam-fv/shell_scripts:5989-6155
+/DART/branches/mmc/models/cam-fv/shell_scripts:12038-12269
+/DART/branches/model_mod_changes/models/cam-fv/shell_scripts:11403-11604
+/DART/branches/qc8/models/cam-fv/shell_scripts:12643-12657
+/DART/branches/recam/models/cam-fv/shell_scripts:12028-12676
+/DART/branches/rma_array_nml/models/cam-fv/shell_scripts:11814-11839
+/DART/branches/rma_cam_fv/models/cam-fv/shell_scripts:9552-9728
+/DART/branches/rma_cf_conventions/models/cam-fv/shell_scripts:9727-10086
+/DART/branches/rma_cice/models/cam-fv/shell_scripts:10649-10852
+/DART/branches/rma_clm/models/cam-fv/shell_scripts:8905-9126
+/DART/branches/rma_closest_member_tool/models/cam-fv/shell_scripts:12576-12617
+/DART/branches/rma_diag/models/cam-fv/shell_scripts:9623-9737
+/DART/branches/rma_fill_inf/models/cam-fv/shell_scripts:12517-12656
+/DART/branches/rma_fix_clm_restarts/models/cam-fv/shell_scripts:9634-11919
+/DART/branches/rma_fixed_filenames/models/cam-fv/shell_scripts:10702-10895
+/DART/branches/rma_kinds_to_state_structure/models/cam-fv/shell_scripts:8952-9431
+/DART/branches/rma_kinds_to_state_strucutre/models/cam-fv/shell_scripts:8903-8951
+/DART/branches/rma_mmc/models/cam-fv/shell_scripts:11725-11731,11735-11751
+/DART/branches/rma_model_mod_check/models/cam-fv/shell_scripts:8959-9172
+/DART/branches/rma_mpas_fold_mean_fwd/models/cam-fv/shell_scripts:9342-9452
+/DART/branches/rma_mpas_get_state_meta_data/models/cam-fv/shell_scripts:8865-8884
+/DART/branches/rma_netcdf_utils/models/cam-fv/shell_scripts:12424-12448
+/DART/branches/rma_obs_defs/models/cam-fv/shell_scripts:8917-9061
+/DART/branches/rma_output_files/models/cam-fv/shell_scripts:11441-11538
+/DART/branches/rma_par_msg/models/cam-fv/shell_scripts:9466-9505
+/DART/branches/rma_par_single_file/models/cam-fv/shell_scripts:11679-11731,11735-11773
+/DART/branches/rma_pop_variable_namelist/models/cam-fv/shell_scripts:8818-9150
+/DART/branches/rma_qc_fwd_op/models/cam-fv/shell_scripts:9644-9717
+/DART/branches/rma_refac_io/models/cam-fv/shell_scripts:9117-9540
+/DART/branches/rma_remove_groups_from_transpose/models/cam-fv/shell_scripts:9321-9449
+/DART/branches/rma_roms/models/cam-fv/shell_scripts:10151-10375
+/DART/branches/rma_set_filenames/models/cam-fv/shell_scripts:8379-8385
+/DART/branches/rma_single_file/models/cam-fv/shell_scripts:10898-11107
+/DART/branches/rma_sprint/models/cam-fv/shell_scripts:8095-8166
+/DART/branches/rma_state_structure_test_dir/models/cam-fv/shell_scripts:9472-9676
+/DART/branches/rma_state_structure_unit_test/models/cam-fv/shell_scripts:9691-10268
+/DART/branches/rma_trunk_clamping/models/cam-fv/shell_scripts:8786-8801
+/DART/branches/rma_trunk_filename/models/cam-fv/shell_scripts:8011-8157
+/DART/branches/rma_trunk_get_state_fun/models/cam-fv/shell_scripts:8568-8596
+/DART/branches/rma_trunk_mean_ens/models/cam-fv/shell_scripts:8516-8528
+/DART/branches/rma_trunk_mmc_fix/models/cam-fv/shell_scripts:9320-9337
+/DART/branches/rma_trunk_mpi_get_in_utils/models/cam-fv/shell_scripts:8561-8817
+/DART/branches/rma_trunk_pathnames/models/cam-fv/shell_scripts:8015-8028
+/DART/branches/rma_trunk_posterior/models/cam-fv/shell_scripts:9768-9781
+/DART/branches/rma_trunk_read_transpose/models/cam-fv/shell_scripts:9208-9250
+/DART/branches/rma_trunk_vert_loc/models/cam-fv/shell_scripts:8532-8537
+/DART/branches/rma_types_kinds/models/cam-fv/shell_scripts:11202-11236
+/DART/branches/rma_updates_nancy/models/cam-fv/shell_scripts:11615-11676
+/DART/branches/trunk_with_cam_style/models/cam-fv/shell_scripts:9467-9534
+/DART/trunk/models/cam-fv/shell_scripts:6306-9550
\ No newline at end of property
Deleted: DART/branches/rma_trunk/models/cam-fv/shell_scripts/DART_config
===================================================================
--- DART/branches/rma_trunk/models/cam-fv/shell_scripts/DART_config	2018-06-18 17:26:33 UTC (rev 12676)
+++ DART/branches/rma_trunk/models/cam-fv/shell_scripts/DART_config	2018-06-18 17:38:14 UTC (rev 12677)
@@ -1,372 +0,0 @@
-#!/bin/csh
-#
-# DART software - Copyright UCAR. This open source software is provided
-# by UCAR, "as is", without charge, subject to all terms of use at
-# http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# DART $Id$
-
-# ---------------------
-# Purpose
-# ---------------------
-#
-# This script integrates DART with a pre-existing CESM multi-instance case.
-# It must be run from a valid CASEROOT directory and some environment variables
-# must be set (as in CESM#_#_setup_YYY). If the case was created
-# using one of the DART scripts, this script should be staged in the
-# CASEROOT directory automatically, and DARTROOT is set at that time.
-#
-# CAM is the only active model component.
-# CESM starts and stops to allow for CAM to assimilate every 6 hours.
-#
-# This script will build the DART executables if they are not found.
-#
-# There are many CESM binary files in big-endian format, and DART reads
-# some of them, so you MUST compile DART accordingly e.g.,
-# ifort -convert big_endian
-# Contact dart at ucar.edu if you want to use another compiler.
-#
-# ---------------------
-# How to set up the script


More information about the Dart-dev mailing list