[Dart-dev] DART/branches Revision: 12381
dart at ucar.edu
dart at ucar.edu
Mon Jan 29 11:19:51 MST 2018
hendric at ucar.edu
2018-01-29 11:19:50 -0700 (Mon, 29 Jan 2018)
145
when there is no chemical converting factor there is no
need to use the molar mass dry air constant as it is
already in a volume mixing ratio.
Modified: DART/branches/recam/models/cam-fv/chem_tables_mod.f90
===================================================================
--- DART/branches/recam/models/cam-fv/chem_tables_mod.f90 2018-01-26 00:02:05 UTC (rev 12380)
+++ DART/branches/recam/models/cam-fv/chem_tables_mod.f90 2018-01-29 18:19:50 UTC (rev 12381)
@@ -301,9 +301,12 @@
call error_handler(E_ERR, 'get_volume_mixing_ratio', string1, &
source, revision, revdate)
endif
+if (chem_conv_table(qty)%convert_factor /= 1.0_r8) then
+ get_volume_mixing_ratio = molar_mass_dry_air / chem_conv_table(qty)%convert_factor
+else
+ get_volume_mixing_ratio = 1.0_r8
+endif
-get_volume_mixing_ratio = molar_mass_dry_air / chem_conv_table(qty)%convert_factor
-
end function get_volume_mixing_ratio
!--------------------------------------------------------------------
Modified: DART/branches/recam/observations/forward_operators/obs_def_upper_atm_mod.f90
===================================================================
--- DART/branches/recam/observations/forward_operators/obs_def_upper_atm_mod.f90 2018-01-26 00:02:05 UTC (rev 12380)
+++ DART/branches/recam/observations/forward_operators/obs_def_upper_atm_mod.f90 2018-01-29 18:19:50 UTC (rev 12381)
@@ -585,6 +585,7 @@
real(r8), dimension(ens_size) :: mmr_o1, mmr_o2, mmr_n2, mmr_h1, mmr_op ! mass mixing ratio
real(r8), dimension(ens_size) :: mbar, pressure, temperature
integer, dimension(ens_size) :: this_istatus
+real(r8), dimension(3) :: loc_vals
logical :: return_now
istatus = 0 ! Need to have istatus = 0 for track_status()
@@ -624,6 +625,8 @@
!------------------------------------------------------------------------------------------------------
! WACCM-X .i file pressure unit is Pa
+loc_vals = get_location(location)
+
where (istatus == 0)
mmr_n2 = 1.0_r8 - (mmr_o1 + mmr_o2 + mmr_h1)
mbar = 1.0_r8/( mmr_o1/O_molar_mass &
@@ -630,7 +633,6 @@
+ mmr_o2/O2_molar_mass &
+ mmr_h1/H_molar_mass &
+ mmr_n2/N2_molar_mass)
-
obs_val = mmr_op * mbar/O_molar_mass * pressure/(kboltz * temperature) * 1.E-06_r8
end where
More information about the Dart-dev
mailing list