[Dart-dev] DART/branches Revision: 12019
dart at ucar.edu
dart at ucar.edu
Thu Oct 26 11:20:22 MDT 2017
mizzi at ucar.edu
2017-10-26 11:20:18 -0600 (Thu, 26 Oct 2017)
63
Update/clean up the WRF-Chem/DART chemistry forward operators
Modified: DART/branches/mizzi/mkmf/mkmf.template
===================================================================
--- DART/branches/mizzi/mkmf/mkmf.template 2017-10-26 14:10:06 UTC (rev 12018)
+++ DART/branches/mizzi/mkmf/mkmf.template 2017-10-26 17:20:18 UTC (rev 12019)
@@ -128,7 +128,7 @@
#FFLAGS = -g -C -CB -ftz -vec-report0 -mcmodel=medium -shared-intel -fp-model precise $(INCS)
#
# for development or debugging, use this instead:
- FFLAGS = -g -C -check noarg_temp_created -fpe0 -mcmodel=large -shared-intel \
+ FFLAGS = -g -C -CB -check noarg_temp_created -fpe0 -mcmodel=large -shared-intel \
-fp-model precise -ftrapuv -traceback \
-warn argument_checking,declarations,uncalled,unused $(INCS)
LDFLAGS = $(FFLAGS) $(LIBS)
Modified: DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/dart_to_wrf.f90
===================================================================
--- DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/dart_to_wrf.f90 2017-10-26 14:10:06 UTC (rev 12018)
+++ DART/branches/mizzi/models/wrf_chem/WRF_DART_utilities/dart_to_wrf.f90 2017-10-26 17:20:18 UTC (rev 12019)
@@ -42,10 +42,10 @@
character(len=72) :: adv_mod_command = './wrf.exe'
!
! LXL/APM +++
-logical :: add_emiss = .false., use_log_co = .false.
+logical :: add_emiss = .false., use_log_co = .false., use_log_o3 = .false.
namelist /dart_to_wrf_nml/ model_advance_file, dart_restart_name, &
- adv_mod_command, print_data_ranges, debug, add_emiss, use_log_co
+ adv_mod_command, print_data_ranges, debug, add_emiss, use_log_co, use_log_o3
! LXL/APM ---
!
@@ -319,15 +319,34 @@
! print *, 'APM: dart_to_wrf 2D CO conversion '
do jj=1,wrf%var_size(2,ind)
do ii=1,wrf%var_size(1,ind)
- if(wrf_var_2d(ii,jj).gt.-9.0) then
- wrf_var_2d(ii,jj)=(10.**wrf_var_2d(ii,jj))*1.e6
- else
- wrf_var_2d(ii,jj)=1.e-3
- print *, 'APM 2d: dart_to_wrf reset ',ii,jj
- endif
+ wrf_var_2d(ii,jj)=10.**wrf_var_2d(ii,jj)
+!
+! if(wrf_var_2d(ii,jj).gt.-3.0) then
+! wrf_var_2d(ii,jj)=10.**wrf_var_2d(ii,jj)
+! else
+! wrf_var_2d(ii,jj)=1.e-3
+! print *, 'APM 2d: dart_to_wrf reset ',ii,jj
+! endif
enddo
enddo
endif
+!
+! APM: code to reverse log10(x) transform of O3 chemistry field
+ if (use_log_o3 .and. trim(my_field).eq.'o3') then
+! print *, 'APM: dart_to_wrf 2D O3 conversion '
+ do jj=1,wrf%var_size(2,ind)
+ do ii=1,wrf%var_size(1,ind)
+ wrf_var_2d(ii,jj)=10.**wrf_var_2d(ii,jj)
+!
+! if(wrf_var_2d(ii,jj).gt.-3.0) then
+! wrf_var_2d(ii,jj)=10.**wrf_var_2d(ii,jj)
+! else
+! wrf_var_2d(ii,jj)=4.e-3
+! print *, 'APM 2d: dart_to_wrf reset ',ii,jj
+! endif
+ enddo
+ enddo
+ endif
! APM: ---
!
if ( print_data_ranges ) write(*,"(A,2F16.6)") trim(my_field)//': data min/max after bounds: ', &
@@ -407,16 +426,37 @@
do kk=1,wrf%var_size(3,ind)
do jj=1,wrf%var_size(2,ind)
do ii=1,wrf%var_size(1,ind)
- if(wrf_var_3d(ii,jj,kk).gt.-9.0) then
- wrf_var_3d(ii,jj,kk)=(10.**wrf_var_3d(ii,jj,kk))*1.e6
- else
- wrf_var_3d(ii,jj,kk)=1.e-3
- print *, 'APM 3d: dart_to_wrf reset ',ii,jj,kk
- endif
+ wrf_var_3d(ii,jj,kk)=10.**wrf_var_3d(ii,jj,kk)
+!
+! if(wrf_var_3d(ii,jj,kk).gt.-3.0) then
+! wrf_var_3d(ii,jj,kk)=10.**wrf_var_3d(ii,jj,kk)
+! else
+! wrf_var_3d(ii,jj,kk)=1.e-3
+! print *, 'APM 3d: dart_to_wrf reset ',ii,jj,kk
+! endif
enddo
enddo
enddo
endif
+!
+! APM: code to reverse log10(x) transform of O3 chemistry field
+ if (use_log_o3 .and. trim(my_field).eq.'o3') then
+! print *, 'APM: dart_to_wrf 3D O3 conversion '
+ do kk=1,wrf%var_size(3,ind)
+ do jj=1,wrf%var_size(2,ind)
+ do ii=1,wrf%var_size(1,ind)
More information about the Dart-dev
mailing list