[Dart-dev] DART/branches Revision: 11724

dart at ucar.edu dart at ucar.edu
Tue Jun 13 17:00:37 MDT 2017


nancy at ucar.edu
2017-06-13 17:00:36 -0600 (Tue, 13 Jun 2017)
163
am using PMO to test compiling model_mod.f90 (which still
doesn't quite compile).  the mkmf didn't have an mpi vs non-mpi
option so i copied the one from cam-fv.




Modified: DART/branches/coamps/models/coamps_nest/work/mkmf_perfect_model_obs
===================================================================
--- DART/branches/coamps/models/coamps_nest/work/mkmf_perfect_model_obs	2017-06-13 22:49:25 UTC (rev 11723)
+++ DART/branches/coamps/models/coamps_nest/work/mkmf_perfect_model_obs	2017-06-13 23:00:36 UTC (rev 11724)
@@ -1,13 +1,69 @@
 #!/bin/csh
 #
-# DART software - Copyright 2004 - 2011 UCAR. This open source software is
-# provided by UCAR, "as is", without charge, subject to all terms of use at
+# 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
 #
-# $Id$
+# DART $Id$
+#
+# usage: mkmf_perfect_model_obs [ -mpi | -nompi ]
+#
+# without any args, builds perfect_model_obs without mpi libraries, and it will run
+# as a normal executable. if -mpi is given, it will be compiled with the mpi
+# libraries and can run with multiple cooperating processes.
 
+if ( $#argv > 0 ) then
+  if ("$argv[1]" == "-mpi") then
+    setenv usingmpi 1
+  else if ("$argv[1]" == "-nompi") then
+    setenv usingmpi 0
+  else
+    echo "Unrecognized argument to mkmf_perfect_model_obs: $argv[1]"
+    echo "Usage: mkmf_perfect_model_obs [ -mpi | -nompi ]"
+    echo " default is to generate a Makefile without MPI support."
+    exit -1
+  endif
+else
+  setenv usingmpi 0
+endif
+
+
+# make a backup copy of the path_names file, and then use
+# sed to make sure it includes either the non-mpi subroutines,
+# or the subroutines which really call mpi.
+cp -f path_names_perfect_model_obs path_names_perfect_model_obs.back
+
+if ( $usingmpi ) then
+
+  echo "Making Makefile with MPI"
+  touch using_mpi_for_perfect_model_obs
+  sed -e 's#/null_mpi_util#/mpi_util#' \
+      -e 's#/null_win_mod#/no_cray_win_mod#' path_names_perfect_model_obs.back >! path_names_perfect_model_obs
+
+  setenv wrapper_arg -w
+
+else
+
+  echo "Making Makefile without MPI"
+  rm -f using_mpi_for_perfect_model_obs
+  sed -e 's#/mpi_util#/null_mpi_util#' \
+      -e '\#no_cray_win_mod.f90#d' \
+      -e '\#cray_win_mod.f90#d' path_names_perfect_model_obs.back >! path_names_perfect_model_obs
+
+  set p=`grep null_win_mod.f90 path_names_perfect_model_obs | wc -w`
+  if ( $p == 0) then
+     echo assimilation_code/modules/utilities/null_win_mod.f90 >> path_names_perfect_model_obs
+  endif
+
+  setenv wrapper_arg ""
+
+endif
+
+# remove temp file and now really call mkmf to generate makefile
+rm -f path_names_perfect_model_obs.back
+
 ../../../build_templates/mkmf -p perfect_model_obs -t ../../../build_templates/mkmf.template  \
- -a "../../.." path_names_perfect_model_obs
+        -a "../../.." ${wrapper_arg} path_names_perfect_model_obs
 
 exit $status
 

Modified: DART/branches/coamps/models/coamps_nest/work/path_names_perfect_model_obs
===================================================================
--- DART/branches/coamps/models/coamps_nest/work/path_names_perfect_model_obs	2017-06-13 22:49:25 UTC (rev 11723)
+++ DART/branches/coamps/models/coamps_nest/work/path_names_perfect_model_obs	2017-06-13 23:00:36 UTC (rev 11724)
@@ -1,32 +1,51 @@
+assimilation_code/location/threed_sphere/location_mod.f90
+assimilation_code/location/utilities/default_location_mod.f90
+assimilation_code/location/utilities/location_io_mod.f90
 assimilation_code/modules/assimilation/adaptive_inflate_mod.f90
 assimilation_code/modules/assimilation/assim_model_mod.f90
 assimilation_code/modules/assimilation/assim_tools_mod.f90
-assimilation_code/modules/utilities/types_mod.f90
 assimilation_code/modules/assimilation/cov_cutoff_mod.f90
+assimilation_code/modules/assimilation/filter_mod.f90
+assimilation_code/modules/assimilation/obs_model_mod.f90
+assimilation_code/modules/assimilation/quality_control_mod.f90
+assimilation_code/modules/assimilation/reg_factor_mod.f90
+assimilation_code/modules/assimilation/sampling_error_correction_mod.f90
+assimilation_code/modules/assimilation/smoother_mod.f90
+assimilation_code/modules/io/dart_time_io_mod.f90
+assimilation_code/modules/io/direct_netcdf_mod.f90
+assimilation_code/modules/io/io_filenames_mod.f90


More information about the Dart-dev mailing list