[Dart-dev] DART/branches Revision: 10925

dart at ucar.edu dart at ucar.edu
Fri Jan 20 11:08:01 MST 2017


thoar at ucar.edu
2017-01-20 11:08:01 -0700 (Fri, 20 Jan 2017)
658
This configuration was bitwise identical.
Implemented trunk revisions to the wrf model_mod.f90 to the wrf_chem/model_mod.f90
The trunk revisions were r9415 and r10379 - both pertaining to the incorrect indexing
if domains had different variables. This problem was documented in Jira issue DARTSUP-295

This uses the smaller observation sequence file so the filter can run in ~ 8 minutes.
Because it can be run faster, the wall-clock time in the run script section was reduced
in hopes of getting to run sooner. The script also sends mail to the user when the job
is completed.

The run script is designed to exit after filter and before advancing wrf_chem.




Modified: DART/branches/mizzi/models/wrf_chem/model_mod.f90
===================================================================
--- DART/branches/mizzi/models/wrf_chem/model_mod.f90	2017-01-20 17:03:10 UTC (rev 10924)
+++ DART/branches/mizzi/models/wrf_chem/model_mod.f90	2017-01-20 18:08:01 UTC (rev 10925)
@@ -5133,14 +5133,13 @@
 
       if ( debug ) write(*,*) 'Defining variable ',varname
 
-      if ( wrf%dom(id)%var_size(3,my_index) > 1 ) then ! 3D variable
+      if ( wrf%dom(id)%var_size(3,ind) > 1 ) then ! 3D variable
 
          dimids_3D(4:5) = (/MemberDimID,unlimitedDimID/)
 !
 ! LXL/APM +++
       if ( debug ) write(*,*) 'variable size',wrf%dom(id)%var_size(:,my_index)
-
-      if ( debug ) write(*,*) 'Stagger ',wrf%dom(id)%stagger(ind)
+      if ( debug ) write(*,*) 'Stagger ',     wrf%dom(id)%stagger(ind)
 ! LXL/APM ---
 !
          ! get first two dimensions based on stagger (could do this
@@ -5163,17 +5162,17 @@
          ! vertical dimension can be stag, unstag, or staggered soil
          ! need to use if/then/else instead of select because testing
          ! is against variables
-         if ( wrf%dom(id)%var_size(3,my_index) == wrf%dom(id)%bts ) then
+         if ( wrf%dom(id)%var_size(3,ind) == wrf%dom(id)%bts ) then
            dimids_3D(3)=btStagDimID(id)
-         elseif ( wrf%dom(id)%var_size(3,my_index) == wrf%dom(id)%bt ) then
+         elseif ( wrf%dom(id)%var_size(3,ind) == wrf%dom(id)%bt ) then
            dimids_3D(3)=btDimID(id)
-         elseif ( wrf%dom(id)%var_size(3,my_index) == wrf%dom(id)%sls ) then
+         elseif ( wrf%dom(id)%var_size(3,ind) == wrf%dom(id)%sls ) then
            dimids_3D(3)=slSDimID(id)
 !
 ! LXL/APM +++
-         elseif ( wrf%dom(id)%var_size(3,my_index) == wrf%dom(id)%e_bt_chemi ) then
+         elseif ( wrf%dom(id)%var_size(3,ind) == wrf%dom(id)%e_bt_chemi ) then
            dimids_3D(3)=e_bt_chemi_DimID(id)
-         elseif ( wrf%dom(id)%var_size(3,my_index) == wrf%dom(id)%e_bt_firechemi ) then
+         elseif ( wrf%dom(id)%var_size(3,ind) == wrf%dom(id)%e_bt_firechemi ) then
            dimids_3D(3)=e_bt_firechemi_DimID(id)
 ! LXL/APM ---
 !
@@ -5211,22 +5210,22 @@
 
       endif ! 3D or 2D
 
-      unitsval = trim(wrf%dom(id)%units(my_index))
+      unitsval = trim(wrf%dom(id)%units(ind))
 
       call nc_check(nf90_put_att(ncFileID, var_id, "units", trim(unitsval)), &
                  'nc_write_model_atts','put_att '//varname//' units')
 
-      descriptionval = trim(wrf%dom(id)%description(my_index))
+      descriptionval = trim(wrf%dom(id)%description(ind))
 
       call nc_check(nf90_put_att(ncFileID, var_id, "description", trim(descriptionval)), &
                  'nc_write_model_atts','put_att '//varname//' description')
 
-      long_nameval = trim(wrf%dom(id)%description(my_index))
+      long_nameval = trim(wrf%dom(id)%description(ind))
 
       call nc_check(nf90_put_att(ncFileID, var_id, "long_name", trim(long_nameval)), &
                  'nc_write_model_atts','put_att '//varname//' long_name')
 
-      coordinatesval = trim(wrf%dom(id)%coordinates(my_index))
+      coordinatesval = trim(wrf%dom(id)%coordinates(ind))
       if (coordinatesval(1:7) .eq. 'XLONG_U') then
         coordinate_char = "XLONG_U_d0"//idom//" XLAT_U_d0"//idom
       else if (coordinatesval(1:7) .eq. 'XLONG_V') then

Modified: DART/branches/mizzi/models/wrf_chem/run_scripts/RUN_WRF_CHEM/EXPERIMENT_SCRIPTS_CO_O3_AOD/run_Exp2_MOPnIASnMOD_Mig_DA_100km_CPSR_ALL_Yellowstone.ksh
===================================================================
--- DART/branches/mizzi/models/wrf_chem/run_scripts/RUN_WRF_CHEM/EXPERIMENT_SCRIPTS_CO_O3_AOD/run_Exp2_MOPnIASnMOD_Mig_DA_100km_CPSR_ALL_Yellowstone.ksh	2017-01-20 17:03:10 UTC (rev 10924)
+++ DART/branches/mizzi/models/wrf_chem/run_scripts/RUN_WRF_CHEM/EXPERIMENT_SCRIPTS_CO_O3_AOD/run_Exp2_MOPnIASnMOD_Mig_DA_100km_CPSR_ALL_Yellowstone.ksh	2017-01-20 18:08:01 UTC (rev 10925)
@@ -115,7 +115,7 @@
 export PROJ_NUMBER_ACD=${W_PROJ_NUMBER_ACD}
 export PROJ_NUMBER_NSC=${W_PROJ_NUMBER_NSC}
 export TIME_LIMIT_CONV=0:20
-export TIME_LIMIT_FILTER=2:50
+export TIME_LIMIT_FILTER=0:20
 export TIME_LIMIT_WRF=0:59
 export NUM_TASKS=32
 export NUM_TASKS_FILTER=64
@@ -126,11 +126,12 @@
 export JOB_CLASS_WRF=regular
 #
 # Define independent directory paths
-export PROJECT_DIR=/glade/p/work/mizzi
-export SCRATCH_DIR=/glade/scratch/mizzi
-export ACD_DIR=/glade/p/acd/mizzi
+export PROJECT_ME=${W_PROJECT_ME}
+export PROJECT_WRF=${W_PROJECT_WRF}
+export SCRATCH_DIR=${W_SCRATCH_DIR}
+export ACD_DIR=${W_ACD_DIR}
 #
-export TRUNK_DIR=${PROJECT_DIR}/TRUNK
+export TRUNK_DIR_WRF=${PROJECT_WRF}/TRUNK
 export DATA_DIR=${ACD_DIR}/AVE_TEST_DATA
 export RUN_DIR=${SCRATCH_DIR}/DART_TEST_AVE/MOPnIASnMOD_Exp_2_MgDA_20M_100km_COnXXnAOD_CPSR_Varloc


More information about the Dart-dev mailing list