[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