[Dart-dev] [6511] DART/trunk/models/CESM/shell_scripts: cam version is working, and i believe the others

nancy at ucar.edu nancy at ucar.edu
Fri Oct 11 16:31:22 MDT 2013


Revision: 6511
Author:   nancy
Date:     2013-10-11 16:31:22 -0600 (Fri, 11 Oct 2013)
Log Message:
-----------
cam version is working, and i believe the others
are very close.  testing now, but want to get
versions into the repository before the weekend.

Modified Paths:
--------------
    DART/trunk/models/CESM/shell_scripts/cam_perfect_model.csh
    DART/trunk/models/CESM/shell_scripts/clm_perfect_model.csh
    DART/trunk/models/CESM/shell_scripts/pop_perfect_model.csh

-------------- next part --------------
Modified: DART/trunk/models/CESM/shell_scripts/cam_perfect_model.csh
===================================================================
--- DART/trunk/models/CESM/shell_scripts/cam_perfect_model.csh	2013-10-11 21:37:04 UTC (rev 6510)
+++ DART/trunk/models/CESM/shell_scripts/cam_perfect_model.csh	2013-10-11 22:31:22 UTC (rev 6511)
@@ -52,13 +52,13 @@
 endsw
 
 #-------------------------------------------------------------------------
-# Determine time of model state ... from file name of first member
-# of the form "./${CASE}.cam_${ensemble_member}.i.2000-01-06-00000.nc"
+# Determine time of model state ... from file name
+# of the form "./${CASE}.cam.i.2000-01-06-00000.nc"
 #
 # Piping stuff through 'bc' strips off any preceeding zeros.
 #-------------------------------------------------------------------------
 
-set FILE = `head -n 1 rpointer.atm_0001`
+set FILE = `head -n 1 rpointer.atm`
 set FILE = $FILE:t
 set FILE = $FILE:r
 set ATM_DATE_EXT = `echo $FILE:e`
@@ -82,7 +82,7 @@
    echo "Hour is $ATM_HOUR so we are generating perfect obs for the atmosphere"
 else
    echo "Hour is not 0,6,12 or 18Z so we are skipping generating perfect obs for the atmosphere"
-   echo "`date` -- END CAM_ASSIMILATE"
+   echo "`date` -- END   GENERATE CAM TRUE STATE"
    exit 0
 endif
 
@@ -118,25 +118,10 @@
 endif
 
 #=========================================================================
-# Block 1: Populate a run-time directory with the input needed to run DART.
-#=========================================================================
-
-echo "`date` -- BEGIN COPY BLOCK"
-
-if (  -e   ${CASEROOT}/cam_input.nml ) then
-   ${COPY} ${CASEROOT}/cam_input.nml input.nml
-else
-   echo "ERROR ... DART required file ${CASEROOT}/cam_input.nml not found ... ERROR"
-   echo "ERROR ... DART required file ${CASEROOT}/cam_input.nml not found ... ERROR"
-   exit -2
-endif
-
-echo "`date` -- END COPY BLOCK"
-
-#=========================================================================
-# Block 2: Convert 1 CAM restart file to DART initial conditions file.
+# Block 1: Populate a run-time directory with the input needed to run DART,
+# and Block 2: Convert 1 CAM restart file to DART initial conditions file.
 # At the end of the block, we have DART initial condition file  perfect_ics
-# that came from pointer file ../rpointer.atm_0001
+# that came from pointer file ../rpointer.atm
 #
 # REQUIRED DART namelist settings:
 # &perfect_model_obs_nml:  restart_in_file_name    = 'perfect_ics'
@@ -145,51 +130,49 @@
 
 echo "`date` -- BEGIN CAM-TO-DART"
 
-set member = 1
+   if ( ! -e   ${CASEROOT}/cam_input.nml ) then
+      echo "ERROR ... DART required file ${CASEROOT}/cam_input.nml not found ... ERROR"
+      echo "ERROR ... DART required file ${CASEROOT}/cam_input.nml not found ... ERROR"
+      exit -2
+   endif
 
-   set MYTEMPDIR = member_${member}
-   mkdir -p $MYTEMPDIR
-   cd $MYTEMPDIR
-
    # Turns out the .h0. files are timestamped with the START of the
    # run, which is *not* ATM_DATE_EXT ...  I just link to a whatever
    # is convenient (since the info is static).
    # make sure there are no old output logs hanging around
-   $REMOVE output.${member}.cam_to_dart
+   $REMOVE output.cam_to_dart
 
-   set ATM_INITIAL_FILENAME = "../../${CASE}.cam.i.${ATM_DATE_EXT}.nc"
-   set ATM_HISTORY_FILENAME = `ls -1t ../../${CASE}.cam*.h0.* | head -n 1`
-   set     DART_IC_FILENAME = `printf filter_ics.%04d     ${member}`
-   set    DART_RESTART_FILE = `printf filter_restart.%04d ${member}`
+   set ATM_INITIAL_FILENAME = "../${CASE}.cam.i.${ATM_DATE_EXT}.nc"
+   set ATM_HISTORY_FILENAME = `ls -1t ../${CASE}.cam*.h0.* | head -n 1`
+   set     DART_IC_FILENAME = perfect_ics
 
-   sed -e "s#dart_ics#../${DART_IC_FILENAME}#" \
-       -e "s#dart_restart#../${DART_RESTART_FILE}#" < ../input.nml >! input.nml
+   sed -e "s#dart_ics#${DART_IC_FILENAME}#" < ${CASEROOT}/cam_input.nml >! input.nml
 
    ${LINK} $ATM_INITIAL_FILENAME caminput.nc
    ${LINK} $ATM_HISTORY_FILENAME cam_phis.nc
 
-   ${EXEROOT}/cam_to_dart >! output.${member}.cam_to_dart 
+   ${EXEROOT}/cam_to_dart >! output.cam_to_dart 
 
    if ($status != 0) then
-   echo "ERROR ... DART died in 'cam_to_dart' ... ERROR"
-   echo "ERROR ... DART died in 'cam_to_dart' ... ERROR"
-   exit -6
-endif
+      echo "ERROR ... DART died in 'cam_to_dart' ... ERROR"
+      echo "ERROR ... DART died in 'cam_to_dart' ... ERROR"
+      exit -6
+   endif
 
 echo "`date` -- END CAM-TO-DART"
 
 #=========================================================================
-# Block 3: Advance the model and harvest the synthetic observations.
-# Will result in a single file : 'perfect_restart' which we don't need
-# for a perfect model experiment with CESM.
+# Block 3: Run perfect_model_obs and harvest the synthetic observations
+# and diagnostic files.
 #
 # DART namelist settings required:
 # &perfect_model_obs_nml:           async                  = 0,
-# &perfect_model_obs_nml:           adv_ens_command        = "./no_model_advance.csh",
+# &perfect_model_obs_nml:           adv_ens_command        = "no_advance_script",
+# &perfect_model_obs_nml:           output_restart         = .false.,
 # &perfect_model_obs_nml:           restart_in_file_name   = 'perfect_ics'
-# &perfect_model_obs_nml:           restart_out_file_name  = 'perfect_restart'
+# &perfect_model_obs_nml:           restart_out_file_name  = 'not_created'
 # &perfect_model_obs_nml:           obs_sequence_in_name   = 'obs_seq.in'
-# &perfect_model_obs_nml:           obs_sequence_out_name  = 'obs_seq.out'
+# &perfect_model_obs_nml:           obs_sequence_out_name  = 'obs_seq.perfect'
 # &perfect_model_obs_nml:           init_time_days         = -1,
 # &perfect_model_obs_nml:           init_time_seconds      = -1,
 # &perfect_model_obs_nml:           first_obs_days         = -1,
@@ -199,22 +182,16 @@
 #
 #=========================================================================
 
-# CAM:static_init_model() always needs a caminput.nc and a cam_phis.nc
-# for geometry information, etc.
 
-set ATM_INITIAL_FILENAME = ../${CASE}.cam.i.${ATM_DATE_EXT}.nc
-set ATM_HISTORY_FILENAME = `ls -1t ../${CASE}.cam*.h0.* | head -n 1`
-
-${LINK} $ATM_INITIAL_FILENAME caminput.nc
-${LINK} $ATM_HISTORY_FILENAME cam_phis.nc
-
 echo "`date` -- BEGIN CAM PERFECT_MODEL_OBS"
-${LAUNCHCMD} ${EXEROOT}/perfect_model_obs_cam || exit -7
+${EXEROOT}/perfect_model_obs_cam || exit -7
 echo "`date` -- END   CAM PERFECT_MODEL_OBS"
 
+
+${MOVE} True_State.nc      ../cam_True_State.${ATM_DATE_EXT}.nc
 ${MOVE} Prior_Diag.nc      ../cam_Prior_Diag.${ATM_DATE_EXT}.nc
 ${MOVE} Posterior_Diag.nc  ../cam_Posterior_Diag.${ATM_DATE_EXT}.nc
-${MOVE} obs_seq.final      ../cam_obs_seq.${ATM_DATE_EXT}.final
+${MOVE} obs_seq.perfect    ../cam_obs_seq.${ATM_DATE_EXT}.perfect
 ${MOVE} dart_log.out       ../cam_dart_log.${ATM_DATE_EXT}.out
 
 #=========================================================================
@@ -233,7 +210,6 @@
 
    ${LINK} ${ATM_INITIAL_FILENAME} cam_initial.nc || exit -9
 
-end
 
 #-------------------------------------------------------------------------
 # Cleanup

Modified: DART/trunk/models/CESM/shell_scripts/clm_perfect_model.csh
===================================================================
--- DART/trunk/models/CESM/shell_scripts/clm_perfect_model.csh	2013-10-11 21:37:04 UTC (rev 6510)
+++ DART/trunk/models/CESM/shell_scripts/clm_perfect_model.csh	2013-10-11 22:31:22 UTC (rev 6511)
@@ -9,6 +9,8 @@
 # This block is an attempt to localize all the machine-specific
 # changes to this script such that the same script can be used
 # on multiple platforms. This will help us maintain the script.
+# Search below for TIMECHECK to see what times this script will
+# run.
 
 echo "`date` -- BEGIN GENERATE CLM TRUE STATE"
 
@@ -90,7 +92,7 @@
 echo "valid time of model is $LND_YEAR $LND_MONTH $LND_DAY $LND_HOUR (hours)"
 
 #-------------------------------------------------------------------------
-# Determine if current time is an perfect model time.
+# Determine if current time is a perfect model time.
 # If not, return before doing anything.
 #-------------------------------------------------------------------------
 
@@ -99,7 +101,7 @@
    echo "Hour is $LND_HOUR so we are generating perfect obs for the land"
 else
    echo "Hour is not 0,6,12 or 18Z so we are skipping generating perfect obs for the land"
-   echo "`date` -- END   GENERATE TRUE STATE"
+   echo "`date` -- END   GENERATE CLM TRUE STATE"
    exit 0
 endif
 
@@ -148,7 +150,7 @@
 set OBS_FILE = ${BASEOBSDIR}/${OBSDIR}/obs_seq.${LND_DATE_EXT}
 
 if (  -e   ${OBS_FILE} ) then
-   ${COPY} ${OBS_FILE} obs_seq.in
+   ${LINK} ${OBS_FILE} obs_seq.in
 else
    echo "ERROR ... no observation file $OBS_FILE"
    echo "ERROR ... no observation file $OBS_FILE"
@@ -156,57 +158,36 @@
 endif
 
 #=========================================================================
-# Block 1: Populate a run-time directory with the input needed to run DART.
-#=========================================================================
-
-echo "`date` -- BEGIN COPY BLOCK"
-
-if (  -e   ${CASEROOT}/clm_input.nml ) then
-   ${COPY} ${CASEROOT}/clm_input.nml input.nml
-else
-   echo "ERROR ... DART required file ${CASEROOT}/clm_input.nml not found ... ERROR"
-   echo "ERROR ... DART required file ${CASEROOT}/clm_input.nml not found ... ERROR"
-   exit -2
-endif
-
-echo "`date` -- END COPY BLOCK"
-
-#=========================================================================
-# Block 2: convert 1 clm restart file to a DART initial conditions file.
-# At the end of the block, we have a DART restart file  perfect_ics
-# that came from the pointer file ../rpointer.lnd_0001
+# Block 1: Populate a run-time directory with the input needed to run DART,
+# and Block 2: Convert 1 CLM restart file to DART initial conditions file.
+# At the end of the block, we have DART initial condition file  perfect_ics
+# that came from pointer file ../rpointer.lnd
 #
-# DART namelist settings appropriate/required:
+# REQUIRED DART namelist settings:
 # &perfect_model_obs_nml:  restart_in_file_name    = 'perfect_ics'
 # &clm_to_dart_nml:        clm_to_dart_output_file = 'dart_ics'
 #=========================================================================
 
 echo "`date` -- BEGIN CLM-TO-DART"
 
-set member = 1
+   if ( ! -e   ${CASEROOT}/clm_input.nml ) then
+      echo "ERROR ... DART required file ${CASEROOT}/clm_input.nml not found ... ERROR"
+      echo "ERROR ... DART required file ${CASEROOT}/clm_input.nml not found ... ERROR"
+      exit -2
+   endif
 
-   set MYTEMPDIR = member_${member}
-   mkdir -p $MYTEMPDIR
-   cd $MYTEMPDIR
-
    # make sure there are no old output logs hanging around
-   $REMOVE output.${member}.clm_to_dart
+   $REMOVE output.clm_to_dart
 
-   set  LND_RESTART_FILENAME = ${CASE}.clm2.r.${LND_DATE_EXT}.nc
-   set  LND_HISTORY_FILENAME = ${CASE}.clm2.h0.${LND_DATE_EXT}.nc
-   set OBS1_HISTORY_FILENAME = ${CASE}.clm2.h1.${LND_DATE_EXT}.nc
-   set OBS2_HISTORY_FILENAME = ${CASE}.clm2_0001.h1.${LND_DATE_EXT}.nc
+   set  LND_RESTART_FILENAME = ../${CASE}.clm2.r.${LND_DATE_EXT}.nc
+   set  LND_HISTORY_FILENAME = ../${CASE}.clm2.h0.${LND_DATE_EXT}.nc
    set DART_IC_FILENAME = perfect_ics
 
-   sed -e "s/dart_ics/..\/${DART_IC_FILENAME}/" < ../input.nml >! input.nml
+   sed -e "s#dart_ics#${DART_IC_FILENAME}#" < ${CASEROOT}/clm_input.nml >! input.nml
 
-   ${LINK} ../../$LND_RESTART_FILENAME clm_restart.nc
-   ${LINK} ../../$LND_HISTORY_FILENAME clm_history.nc
+   ${LINK} $LND_RESTART_FILENAME clm_restart.nc
+   ${LINK} $LND_HISTORY_FILENAME clm_history.nc
 
-   if (-e $OBS1_HISTORY_FILENAME) then
-      ${LINK} ../../$OBS1_HISTORY_FILENAME $OBS2_HISTORY_FILENAME
-   endif
-
    # patch the CLM restart files to ensure they have the proper
    # _FillValue and missing_value attributes.
 #  ncatted -O -a    _FillValue,frac_sno,o,d,1.0e+36   clm_restart.nc
@@ -220,30 +201,28 @@
 #  ncatted -O -a    _FillValue,T_SOISNO,o,d,1.0e+36   clm_restart.nc
 #  ncatted -O -a missing_value,T_SOISNO,o,d,1.0e+36   clm_restart.nc
 
-   ${EXEROOT}/clm_to_dart >! output.${member}.clm_to_dart
+   ${EXEROOT}/clm_to_dart >! output.clm_to_dart 
 
    if ($status != 0) then
       echo "ERROR ... DART died in 'clm_to_dart' ... ERROR"
       echo "ERROR ... DART died in 'clm_to_dart' ... ERROR"
-      exit -3
+      exit -6
    endif
 
-   cd ..
-
 echo "`date` -- END CLM-TO-DART"
 
 #=========================================================================
-# Block 3: Advance the model and harvest the synthetic observations.
-# Will result in a single file : 'perfect_restart' which we don't need
-# for a perfect model experiment with CESM.
+# Block 3: Run perfect_model_obs and harvest the synthetic observations
+# and diagnostic files.
 #
 # DART namelist settings required:
 # &perfect_model_obs_nml:           async                  = 0,
-# &perfect_model_obs_nml:           adv_ens_command        = "./no_model_advance.csh",
+# &perfect_model_obs_nml:           adv_ens_command        = "no_advance_script",
+# &perfect_model_obs_nml:           output_restart         = .false.,
 # &perfect_model_obs_nml:           restart_in_file_name   = 'perfect_ics'
-# &perfect_model_obs_nml:           restart_out_file_name  = 'perfect_restart'
+# &perfect_model_obs_nml:           restart_out_file_name  = 'not_created'
 # &perfect_model_obs_nml:           obs_sequence_in_name   = 'obs_seq.in'
-# &perfect_model_obs_nml:           obs_sequence_out_name  = 'obs_seq.out'
+# &perfect_model_obs_nml:           obs_sequence_out_name  = 'obs_seq.perfect'
 # &perfect_model_obs_nml:           init_time_days         = -1,
 # &perfect_model_obs_nml:           init_time_seconds      = -1,
 # &perfect_model_obs_nml:           first_obs_days         = -1,
@@ -253,28 +232,25 @@
 #
 #=========================================================================
 
-# clm always needs a clm_restart.nc, clm_history.nc for geometry information, etc.
 
-set LND_RESTART_FILENAME = ${CASE}.clm2.r.${LND_DATE_EXT}.nc
-set LND_HISTORY_FILENAME = ${CASE}.clm2.h0.${LND_DATE_EXT}.nc
-
-${LINK} ../$LND_RESTART_FILENAME clm_restart.nc
-${LINK} ../$LND_HISTORY_FILENAME clm_history.nc
-
 echo "`date` -- BEGIN CLM PERFECT_MODEL_OBS"
-${EXEROOT}/perfect_model_obs_clm || exit -4
+${EXEROOT}/perfect_model_obs_clm || exit -7
 echo "`date` -- END   CLM PERFECT_MODEL_OBS"
 
-${MOVE} True_State.nc    ../clm_True_State.${LND_DATE_EXT}.nc
-${MOVE} obs_seq.out      ../clm_obs_seq.${LND_DATE_EXT}.out
-${MOVE} dart_log.out     ../clm_dart_log.${LND_DATE_EXT}.out
 
+${MOVE} True_State.nc      ../clm_True_State.${LND_DATE_EXT}.nc
+${MOVE} Prior_Diag.nc      ../clm_Prior_Diag.${LND_DATE_EXT}.nc
+${MOVE} Posterior_Diag.nc  ../clm_Posterior_Diag.${LND_DATE_EXT}.nc
+${MOVE} obs_seq.perfect    ../clm_obs_seq.${LND_DATE_EXT}.perfect
+${MOVE} dart_log.out       ../clm_dart_log.${LND_DATE_EXT}.out
+
 #=========================================================================
-# Block 4: Update the clm restart files.
+# Block 4: Update the clm restart file
 #=========================================================================
 
 # not needed ... perfect_model_obs does not update the model state.
 
+
 #-------------------------------------------------------------------------
 # Cleanup
 #-------------------------------------------------------------------------

Modified: DART/trunk/models/CESM/shell_scripts/pop_perfect_model.csh
===================================================================
--- DART/trunk/models/CESM/shell_scripts/pop_perfect_model.csh	2013-10-11 21:37:04 UTC (rev 6510)
+++ DART/trunk/models/CESM/shell_scripts/pop_perfect_model.csh	2013-10-11 22:31:22 UTC (rev 6511)
@@ -10,7 +10,7 @@
 # changes to this script such that the same script can be used
 # on multiple platforms. This will help us maintain the script.
 # Search below for TIMECHECK to see what times this script will
-# evaluate obs.
+# run.
 
 echo "`date` -- BEGIN GENERATE POP TRUE STATE"
 
@@ -82,7 +82,7 @@
    echo "Hour is $OCN_HOUR so we are generating perfect obs for the ocean"
 else
    echo "Hour is not 0Z so we are skipping generating perfect obs for the ocean"
-   echo "`date` -- END   GENERATE TRUE STATE"
+   echo "`date` -- END   GENERATE POP TRUE STATE"
    exit 0
 endif
 
@@ -110,7 +110,7 @@
 set OBS_FILE = ${BASEOBSDIR}/${YYYYMM}/${OBSFNAME}
 
 if (  -e   ${OBS_FILE} ) then
-   ${COPY} ${OBS_FILE} obs_seq.in
+   ${LINK} ${OBS_FILE} obs_seq.in
 else
    echo "ERROR ... no observation file $OBS_FILE"
    echo "ERROR ... no observation file $OBS_FILE"
@@ -118,57 +118,37 @@
 endif
 
 #=========================================================================
-# Block 1: Populate a run-time directory with the input needed to run DART.
-#=========================================================================
-
-echo "`date` -- BEGIN COPY BLOCK"
-
-if (  -e   ${CASEROOT}/input.nml ) then
-   ${COPY} ${CASEROOT}/input.nml .
-else
-   echo "ERROR ... DART required file ${CASEROOT}/input.nml not found ... ERROR"
-   echo "ERROR ... DART required file ${CASEROOT}/input.nml not found ... ERROR"
-   exit -2
-endif
-
-echo "`date` -- END COPY BLOCK"
-
-# Eat the cookie regardless
-${REMOVE} ../pop_inflation_cookie
-
-#=========================================================================
-# Block 2: convert 1 pop restart file to a DART initial conditions file.
-# At the end of the block, we have a DART restart file  perfect_ics
-# that came from the pointer file ../rpointer.ocn.restart
+# Block 1: Populate a run-time directory with the input needed to run DART,
+# and Block 2: Convert 1 POP restart file to DART initial conditions file.
+# At the end of the block, we have DART initial condition file  perfect_ics
+# that came from pointer file ../rpointer.ocn.restart
 #
-# DART namelist settings appropriate/required:
+# REQUIRED DART namelist settings:
 # &perfect_model_obs_nml:  restart_in_file_name    = 'perfect_ics'
 # &pop_to_dart_nml:        pop_to_dart_output_file = 'dart_ics'
 #=========================================================================
 
 echo "`date` -- BEGIN POP-TO-DART"
 
-set member = 1
+   if ( ! -e   ${CASEROOT}/pop_input.nml ) then
+      echo "ERROR ... DART required file ${CASEROOT}/pop_input.nml not found ... ERROR"
+      echo "ERROR ... DART required file ${CASEROOT}/pop_input.nml not found ... ERROR"
+      exit -2
+   endif
 
-   set MYTEMPDIR = member_${member}
-   mkdir -p $MYTEMPDIR
-   cd $MYTEMPDIR
-
    # make sure there are no old output logs hanging around
-   $REMOVE output.${member}.pop_to_dart
+   $REMOVE output.pop_to_dart
 
-   set OCN_RESTART_FILENAME = ${CASE}.pop.r.${OCN_DATE_EXT}.nc
-   set     OCN_NML_FILENAME = pop2_in
+   set OCN_RESTART_FILENAME = ../${CASE}.pop.r.${OCN_DATE_EXT}.nc
+   set     OCN_NML_FILENAME = ../pop2_in
    set     DART_IC_FILENAME = perfect_ics
-   set    DART_RESTART_FILE = perfect_restart
 
-   sed -e "s#dart_ics#../${DART_IC_FILENAME}#" \
-       -e "s#dart_restart#../${DART_RESTART_FILE}#" < ../input.nml >! input.nml
+   sed -e "s#dart_ics#${DART_IC_FILENAME}#" < ${CASEROOT}/pop_input.nml >! input.nml
 
-   ${LINK} ../../$OCN_RESTART_FILENAME pop.r.nc
-   ${LINK} ../../$OCN_NML_FILENAME     pop_in
+   ${LINK} $OCN_RESTART_FILENAME pop.r.nc
+   ${LINK} $OCN_NML_FILENAME     pop_in
 
-   ${EXEROOT}/pop_to_dart >! output.${member}.pop_to_dart
+   ${EXEROOT}/pop_to_dart >! output.pop_to_dart
 
    if ($status != 0) then
       echo "ERROR ... DART died in 'pop_to_dart' ... ERROR"
@@ -181,17 +161,17 @@
 echo "`date` -- END POP-TO-DART"
 
 #=========================================================================
-# Block 3: Advance the model and harvest the synthetic observations.
-# Will result in a single file : 'perfect_restart' which we don't need
-# for a perfect model experiment with CESM.
+# Block 3: Run perfect_model_obs and harvest the synthetic observations
+# and diagnostic files.
 #
 # DART namelist settings required:
 # &perfect_model_obs_nml:           async                  = 0,
-# &perfect_model_obs_nml:           adv_ens_command        = "./no_model_advance.csh",
+# &perfect_model_obs_nml:           adv_ens_command        = "no_advance_script",
+# &perfect_model_obs_nml:           output_restart         = .false.,
 # &perfect_model_obs_nml:           restart_in_file_name   = 'perfect_ics'
-# &perfect_model_obs_nml:           restart_out_file_name  = 'perfect_restart'
+# &perfect_model_obs_nml:           restart_out_file_name  = 'not_created'
 # &perfect_model_obs_nml:           obs_sequence_in_name   = 'obs_seq.in'
-# &perfect_model_obs_nml:           obs_sequence_out_name  = 'obs_seq.out'
+# &perfect_model_obs_nml:           obs_sequence_out_name  = 'obs_seq.perfect'
 # &perfect_model_obs_nml:           init_time_days         = -1,
 # &perfect_model_obs_nml:           init_time_seconds      = -1,
 # &perfect_model_obs_nml:           first_obs_days         = -1,
@@ -201,27 +181,25 @@
 #
 #=========================================================================
 
-# POP always needs a pop_in and a pop.r.nc to start.
 
-set OCN_RESTART_FILENAME = ${CASE}.pop.r.${OCN_DATE_EXT}.nc
+echo "`date` -- BEGIN POP PERFECT_MODEL_OBS"
+${EXEROOT}/perfect_model_obs_pop || exit -7
+echo "`date` -- END   POP PERFECT_MODEL_OBS"
 
-${LINK} ../$OCN_RESTART_FILENAME pop.r.nc
-${LINK} ../pop2_in               pop_in
 
-echo "`date` -- BEGIN PERFECT_MODEL_OBS"
-${EXEROOT}/perfect_model_obs || exit -4
-echo "`date` -- END   PERFECT_MODEL_OBS"
+${MOVE} True_State.nc      ../pop_True_State.${OCN_DATE_EXT}.nc
+${MOVE} Prior_Diag.nc      ../pop_Prior_Diag.${OCN_DATE_EXT}.nc
+${MOVE} Posterior_Diag.nc  ../pop_Posterior_Diag.${OCN_DATE_EXT}.nc
+${MOVE} obs_seq.perfect    ../pop_obs_seq.${OCN_DATE_EXT}.perfect
+${MOVE} dart_log.out       ../pop_dart_log.${OCN_DATE_EXT}.out
 
-${MOVE} True_State.nc    ../pop_True_State.${OCN_DATE_EXT}.nc
-${MOVE} obs_seq.out      ../pop_obs_seq.${OCN_DATE_EXT}.out
-${MOVE} dart_log.out     ../pop_dart_log.${OCN_DATE_EXT}.out
-
 #=========================================================================
 # Block 4: Update the pop restart files.
 #=========================================================================
 
 # not needed ... perfect_model_obs does not update the model state.
 
+
 #-------------------------------------------------------------------------
 # Cleanup
 #-------------------------------------------------------------------------


More information about the Dart-dev mailing list