[Dart-dev] DART/branches Revision: 11183

dart at ucar.edu dart at ucar.edu
Thu Mar 2 09:30:42 MST 2017


nancy at ucar.edu
2017-03-02 09:30:41 -0700 (Thu, 02 Mar 2017)
303
the quickbuild in this directory didn't compile filter
as an mpi job.  i'm going ahead and using the updated
quickbuild.csh script that i want to install in all
the work directories.  this has been reviewed by tim
and i'm just trying to find the time to do the rest.
so this is just the first of many.




Modified: DART/branches/rma_trunk/models/cam-fv/work/quickbuild.csh
===================================================================
--- DART/branches/rma_trunk/models/cam-fv/work/quickbuild.csh	2017-03-02 15:54:11 UTC (rev 11182)
+++ DART/branches/rma_trunk/models/cam-fv/work/quickbuild.csh	2017-03-02 16:30:41 UTC (rev 11183)
@@ -1,104 +1,137 @@
-#!/bin/csh
+#!/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$
+
+#----------------------------------------------------------------------
+# compile all programs in the current directory with a mkmf_xxx file.
 #
-# Script to manage the compilation of all components for this model;
-# executes a known "perfect model" experiment using an existing
-# observation sequence file (obs_seq.in) and initial conditions appropriate 
-# for both 'perfect_model_obs' (perfect_ics) and 'filter' (filter_ics).
-# There are enough initial conditions for 80 ensemble members in filter.
-# Use ens_size = 81 and it WILL bomb. Guaranteed.
-# The 'input.nml' file controls all facets of this execution.
-#
-# 'create_obs_sequence' and 'create_fixed_network_sequence' were used to
-# create the observation sequence file 'obs_seq.in' - this defines 
-# what/where/when we want observations. This script does not run these 
-# programs - intentionally. 
-#
-# 'perfect_model_obs' results in a True_State.nc file that contains 
-# the true state, and obs_seq.out - a file that contains the "observations"
-# that will be assimilated by 'filter'.
-#
-# 'filter' results in three files (at least): Prior_Diag.nc - the state 
-# of all ensemble members prior to the assimilation (i.e. the forecast), 
-# Posterior_Diag.nc - the state of all ensemble members after the 
-# assimilation (i.e. the analysis), and obs_seq.final - the ensemble 
-# members' estimate of what the observations should have been.
-#
-# Once 'perfect_model_obs' has advanced the model and harvested the 
-# observations for the assimilation experiment, 'filter' may be run 
-# over and over by simply changing the namelist parameters in input.nml.
-#
-# The result of each assimilation can be explored in model-space with
-# matlab scripts that directly read the netCDF output, or in observation-space.
-# 'obs_diag' is a program that will create observation-space diagnostics
-# for any result of 'filter' and results in a couple data files that can
-# be explored with yet more matlab scripts.
+# usage: [ -mpi | -nompi ]
+#----------------------------------------------------------------------
 
+# this model name:
+set MODEL = "cam-fv"
+
+# programs which have the option of building with MPI:
+set MPI_TARGETS = "filter model_mod_check perfect_model_obs wakeup_filter"
+
+# this model defaults to building filter and other programs WITH mpi
+set with_mpi = 1
+
+
+# ---------------
+# shouldn't have to modify this script below here.
+
+if ( $#argv >= 1 ) then
+   if ( "$1" == "-mpi" ) then
+      set with_mpi = 1 
+   else if ( "$1" == "-nompi" ) then
+      set with_mpi = 0
+   else
+      echo usage: $0 '[ -mpi | -nompi ]'
+      exit 0
+   endif
+endif
+
+set preprocess_done = 0
+set debug = 0
+
+# set this to 1 in the environment to have the script remove
+# all .o and module files between executable builds.  this helps
+# catch path_names files which are missing required modules.
+
+if ( $?QUICKBUILD_DEBUG ) then
+   set debug = $QUICKBUILD_DEBUG
+endif
+
+@ n = 0
+
 #----------------------------------------------------------------------
-# 'preprocess' is a program that culls the appropriate sections of the
-# observation module for the observations types in 'input.nml'; the 
-# resulting source file is used by all the remaining programs, 
-# so this MUST be run first.
+# Build all the single-threaded targets
 #----------------------------------------------------------------------
 
-\rm -f preprocess *.o *.mod
-\rm -f ../../../obs_def/obs_def_mod.f90
-\rm -f ../../../obs_kind/obs_kind_mod.f90
+foreach TARGET ( mkmf_preprocess mkmf_* )


More information about the Dart-dev mailing list