[Dart-dev] DART/branches Revision: 11607
dart at ucar.edu
dart at ucar.edu
Fri May 5 12:05:08 MDT 2017
thoar at ucar.edu
2017-05-05 12:05:07 -0600 (Fri, 05 May 2017)
166
This advances the ensemble and perfroms a filter ... without crashing on eddy.
two possible avenues to explore ... write_all_stages_at_end, and evaluate/assimilate.
Modified: DART/branches/rma_trunk/models/ROMS/model_mod.f90
===================================================================
--- DART/branches/rma_trunk/models/ROMS/model_mod.f90 2017-05-05 15:34:58 UTC (rev 11606)
+++ DART/branches/rma_trunk/models/ROMS/model_mod.f90 2017-05-05 18:05:07 UTC (rev 11607)
@@ -33,7 +33,8 @@
! Modules that are absolutely required for use are listed
use types_mod, only : r4, r8, digits12, SECPERDAY, DEG2RAD, rad2deg, PI, &
- MISSING_I, MISSING_R4, MISSING_R8, i4, i8
+ MISSING_I, MISSING_R4, MISSING_R8, i4, i8, &
+ vtablenamelength
use time_manager_mod, only : time_type, set_time, set_date, get_date, get_time, &
print_time, print_date, &
@@ -146,10 +147,10 @@
! DART contents are specified in the input.nml:&model_nml namelist.
!>@todo NF90_MAX_NAME is 256 ... this makes the namelist output unreadable
-integer, parameter :: MAX_STATE_VARIABLES = 80
+integer, parameter :: MAX_STATE_VARIABLES = 8
integer, parameter :: num_state_table_columns = 5
-character(len=NF90_MAX_NAME) :: variables(MAX_STATE_VARIABLES * num_state_table_columns ) = ' '
-character(len=NF90_MAX_NAME) :: var_names(MAX_STATE_VARIABLES) = ' '
+character(len=vtablenamelength) :: variables(MAX_STATE_VARIABLES * num_state_table_columns ) = ' '
+character(len=vtablenamelength) :: var_names(MAX_STATE_VARIABLES) = ' '
logical :: update_list(MAX_STATE_VARIABLES) = .FALSE.
integer :: kind_list(MAX_STATE_VARIABLES) = MISSING_I
real(r8) :: clamp_vals(MAX_STATE_VARIABLES,2) = MISSING_R8
Modified: DART/branches/rma_trunk/models/ROMS/shell_scripts/advance_ensemble.csh.template
===================================================================
--- DART/branches/rma_trunk/models/ROMS/shell_scripts/advance_ensemble.csh.template 2017-05-05 15:34:58 UTC (rev 11606)
+++ DART/branches/rma_trunk/models/ROMS/shell_scripts/advance_ensemble.csh.template 2017-05-05 18:05:07 UTC (rev 11607)
@@ -65,22 +65,35 @@
echo "${JOBNAME} ($JOBID) started at "`date`
echo
+rm -f log_$instance.txt
+
#----------------------------------------------------------------------
-# get to work
+echo "advancing instance $instance at ..."`date`
#----------------------------------------------------------------------
-rm -f log_$instance.txt
+# Set ROMS standard input parameters needed in template scripts.
-echo "advancing instance $instance at ..."`date`
+\cp ../s4dvar.in.template MyAPARNAM
+\cp ../ocean.in.template MyROMS_STDIN
-set DSTART = MyDSTART
+# determine the current model time to use as DSTART -and-
+# to know which observation file to use.
+# NOTE ... bc can handle the 'long' integers that happen when the
+# reference time is 1900-01-01, the shell divide cannot.
-\cp ../s4dvar.in.template s4dvar.in
+set ROMS_INI = `printf %s_%04d.nc MyINIBASE $instance`
+set OCEAN_TIME = `ncdump -v ocean_time ${ROMS_INI} | grep "ocean_time =" | tail -1`
+set TIME_SEC = `echo $OCEAN_TIME | grep -oE '[[:digit:]]+'`
+set DSTART = `echo "scale=6; $TIME_SEC / 86400.0" | bc `
+set IDSTART = `echo "scale=0; $DSTART / 1" | bc `
+
set OBS_PREF = ../Obs/obs
-set NEW_OBS = `printf %s_%d.nc ${OBS_PREF} $DSTART`
+set NEW_OBS = `printf %s_%d.nc ${OBS_PREF} $IDSTART`
-MySUBSTITUTE s4dvar.in MyOBSname $NEW_OBS
+MySUBSTITUTE MyAPARNAM MyOBSname $NEW_OBS
+MySUBSTITUTE MyROMS_STDIN MyDSTART $DSTART
+MySUBSTITUTE MyROMS_STDIN MyININAME $ROMS_INI
${LAUNCHCMD} ../MyROMS_EXE MyROMS_STDIN >& log_$instance.txt
Modified: DART/branches/rma_trunk/models/ROMS/shell_scripts/run_filter.csh.template
===================================================================
--- DART/branches/rma_trunk/models/ROMS/shell_scripts/run_filter.csh.template 2017-05-05 15:34:58 UTC (rev 11606)
+++ DART/branches/rma_trunk/models/ROMS/shell_scripts/run_filter.csh.template 2017-05-05 18:05:07 UTC (rev 11607)
@@ -53,6 +53,8 @@
#PBS -l nodes=1:ppn=16
#PBS -r n
#SBATCH --time=01:00:00
+#SBATCH --error=filter-%A.err
+#SBATCH --output=filter-%A.log
#SXXXXX --dependency=afterok:ADVANCEJOBID
#
#===============================================================================
@@ -291,7 +293,7 @@
# grab the base MODname from someplace. The advance_ensemble.csh script tags
# each of these with the instance number to keep them unique.
-set MODname = myMODname
+set MODname = MyMODname
set OBS_ROOT = $MODname:r
# Because convert_roms_obs and filter need bits from the ROMS model_mod,
@@ -386,8 +388,6 @@
end
More information about the Dart-dev
mailing list