Skip to content

Commit

Permalink
Merge pull request #191 from GEOS-ESM/feature/rtodling/jedi_varname_c…
Browse files Browse the repository at this point in the history
…hange_oct24

Accommodate JEDI GeoVals name changes (Oct24)
  • Loading branch information
rtodling authored Dec 12, 2024
2 parents f2b0268 + e833de5 commit 2efeb9d
Show file tree
Hide file tree
Showing 11 changed files with 44 additions and 32 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

12Dec2024:
- updates GeoVals falling the Oct 2024 JEDI variable name change code sprint.
- bug fix in setupbend to allow running old flavor of pressure/integration option.
- add operationally-named class for OMPS-LP from NPP has been added to gsi.rc.tmpl and gsi_sens.rc.tmpl

------------------------------------------------------
- add ability to convert antenna to brigtness temperature
- bugfix: update calculation of div/vor
- merge of 5.30.3 with 5.40.0 and 5.29.5-p7
Expand Down
2 changes: 2 additions & 0 deletions GEOSaana_GridComp/GSI_GridComp/etc/gsi.rc.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,8 @@ OBS_INPUT::
! mlsoz o3lev aura mls_aura_ozlv 0.0 0 0 test
! mlsozbufr o3lev aura o3lev_aura 0.0 0 0 test
! ompslpgnc ompslpnc npp ompslpnc_npp 1.0 0 0 ompslpnc_nc
! NOTE: careful not to have both npp_ompslp_nc and r21c_npp_ompslp_nc in obsclass
ompslpnppnc ompslpnc npp ompslpnc_npp 1.0 0 0 npp_ompslp_nc
ompslpnppnc ompslpnc npp ompslpnc_npp 1.0 0 0 r21c_npp_ompslp_nc
ompslpn21nc ompslpnc n21 ompslpnc_n21 1.0 0 0 m2scr_n21_ompslp_nc
ompslpuvnc ompslpuv npp ompslpuv_npp 1.0 0 0 ompslpuv_nc
Expand Down
2 changes: 2 additions & 0 deletions GEOSaana_GridComp/GSI_GridComp/etc/gsi_sens.rc.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ OBS_INPUT::
! mlsoz o3lev aura mls_aura_ozlv 0.0 0 0 test
! mlsozbufr o3lev aura o3lev_aura 0.0 0 0 test
! ompslpgnc ompslpnc npp ompslpnc_npp 1.0 0 0 ompslpnc_nc
! NOTE: careful not to have both npp_ompslp_nc and r21c_npp_ompslp_nc in obsclass
ompslpnppnc ompslpnc npp ompslpnc_npp 1.0 0 0 npp_ompslp_nc
ompslpnppnc ompslpnc npp ompslpnc_npp 1.0 0 0 r21c_npp_ompslp_nc
ompslpn21nc ompslpnc n21 ompslpnc_n21 1.0 0 0 m2scr_n21_ompslp_nc
ompslpuvnc ompslpuv npp ompslpuv_npp 1.0 0 0 ompslpuv_nc
Expand Down
4 changes: 2 additions & 2 deletions GEOSaana_GridComp/GSI_GridComp/genstats_gps.f90
Original file line number Diff line number Diff line change
Expand Up @@ -808,11 +808,11 @@ subroutine contents_netcdf_diag_

! geovals
call nc_diag_metadata("surface_altitude", sngl(gps_allptr%rdiag(9)) )
call nc_diag_metadata("surface_geopotential_height",sngl(gps_allptr%rdiag(9)) )
call nc_diag_metadata("geopotential_height_at_surface",sngl(gps_allptr%rdiag(9)) )
if (wrtgeovals) then
call nc_diag_data2d("air_temperature", sngl(gps_allptr%tsenges) )
call nc_diag_data2d("virtual_temperature", sngl(gps_allptr%tvirges) )
call nc_diag_data2d("specific_humidity", sngl(gps_allptr%sphmges) )
call nc_diag_data2d("water_vapor_mixing_ratio_wrt_moist_air", sngl(gps_allptr%sphmges) )
call nc_diag_data2d("geopotential_height", sngl(gps_allptr%hgtlges) )
call nc_diag_data2d("geopotential_height_levels", sngl(gps_allptr%hgtiges) )
call nc_diag_data2d("atmosphere_pressure_coordinate_interface", sngl(gps_allptr%prsiges) )
Expand Down
2 changes: 1 addition & 1 deletion GEOSaana_GridComp/GSI_GridComp/setupaod.f90
Original file line number Diff line number Diff line change
Expand Up @@ -851,7 +851,7 @@ subroutine contents_netcdf_diag_
do k=1,nsig
tmp(k)=qvp(nsig-k+1)/(1_r_kind-qvp(nsig-k+1))
end do
call nc_diag_data2d("humidity_mixing_ratio", tmp(1:nsig)) ! kg/kg
call nc_diag_data2d("water_vapor_mixing_ratio_wrt_dry_air", tmp(1:nsig)) ! kg/kg

do k=1,nsig
tmp(k)=rh(nsig-k+1)
Expand Down
21 changes: 12 additions & 9 deletions GEOSaana_GridComp/GSI_GridComp/setupbend.f90
Original file line number Diff line number Diff line change
Expand Up @@ -471,25 +471,28 @@ subroutine setupbend(obsLL,odiagLL, &
nsig,mype,nfldsig)
call tintrp2a11(ges_z,zsges,dlat,dlon,dtime,hrdifsig,&
mype,nfldsig)
! Interpolate mid-level log(pres),mid-level geopotential height,
! and air temperature for JEDI
! Interpolate mid-level log(pres),mid-level geopotential height,
! and air temperature for JEDI
call tintrp2a1(ges_tsen, Tsen(1:nsig,i), dlat,dlon,dtime,hrdifsig, &
nsig, mype,nfldsig)
call tintrp2a1(ges_lnprsl,prstmpl(1:nsig),dlat,dlon,dtime,hrdifsig,&
nsig, mype,nfldsig)

! GeoVals stuff:
Tvir(1:nsig,i) = tges(1:nsig) ! virtual temperature
sphm(1:nsig,i) = qges(1:nsig) ! specific humidity
hgtl(1:nsig,i) = hges(1:nsig) + zsges ! mid level geopotential height
hgti(1:nsig+1,i) = hgesi(1:nsig+1) + zsges ! interface level geopotential height
prslni(1:nsig+1,i) = prsltmp(1:nsig+1) ! interface level log(pressure)
prslnl(1:nsig,i) = prstmpl(1:nsig) ! mid level log(pressure)

if (lgpsbnd_revint) then
prsltmp_o(1:nsig,i)=prstmpl(1:nsig) ! needed in minimization
else
hges(1:nsig) = hgesi(1:nsig)
prsltmp_o(1:nsig,i)=prsltmp(1:nsig) ! needed in minimization
endif

Tvir(1:nsig,i) = tges(1:nsig) ! virtual temperature
sphm(1:nsig,i) = qges(1:nsig) ! specific humidity
hgtl(1:nsig,i) = hges(1:nsig) + zsges ! mid level geopotential height
hgti(1:nsig+1,i) = hgesi(1:nsig+1) + zsges ! interface level geopotential height
prslni(1:nsig+1,i) = prsltmp(1:nsig+1) ! interface level log(pressure)
prslnl(1:nsig,i) = prstmpl(1:nsig) ! mid level log(pressure)

! Compute refractivity index-radius product at interface
!
! Convert geopotential height at layer midpoints to geometric height using
Expand Down
10 changes: 5 additions & 5 deletions GEOSaana_GridComp/GSI_GridComp/setupps.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1075,20 +1075,20 @@ subroutine contents_netcdf_diag_(odiag)
endif
! geovals for JEDI UFO
if (wrtgeovals) then
call nc_diag_metadata("surface_geopotential_height", sngl(zsges))
call nc_diag_metadata("surface_pressure", sngl(pgesorig*r100))
call nc_diag_metadata("geopotential_height_at_surface", sngl(zsges))
call nc_diag_metadata("air_pressure_at_surface", sngl(pgesorig*r100))
!call nc_diag_metadata("surface_height", sngl())
!call nc_diag_metadata("2m_temperature", sngl(tgges))
!call nc_diag_metadata("2m_specific_humidity", sngl())
!call nc_diag_metadata("water_vapor_mixing_ratio_wrt_moist_air_at_2m", sngl())
call nc_diag_data2d("geopotential_height", sngl(zges))
call nc_diag_data2d("atmosphere_pressure_coordinate", sngl(prsltmp2*r1000))
call nc_diag_data2d("atmosphere_pressure_coordinate_interface", sngl(prsitmp*r1000))
call nc_diag_data2d("virtual_temperature", sngl(tvgestmp))
call nc_diag_data2d("air_temperature", sngl(tsentmp))
call nc_diag_data2d("specific_humidity", sngl(qtmp))
call nc_diag_data2d("water_vapor_mixing_ratio_wrt_moist_air", sngl(qtmp))
call nc_diag_data2d("northward_wind", sngl(utmp))
call nc_diag_data2d("eastward_wind", sngl(vtmp))
call nc_diag_metadata("surface_temperature", sngl(tges))
call nc_diag_metadata("air_temperature_at_2m", sngl(tges))
endif
call nc_diag_metadata("surface_roughness", sngl(sfcr/r100))
call nc_diag_metadata("landmask", sngl(landfrac))
Expand Down
8 changes: 4 additions & 4 deletions GEOSaana_GridComp/GSI_GridComp/setupq.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1384,16 +1384,16 @@ subroutine contents_netcdf_diag_(odiag)
endif
! geovals for JEDI UFO
if (wrtgeovals) then
call nc_diag_metadata("surface_geopotential_height", sngl(zsges))
call nc_diag_metadata("surface_pressure", sngl(psges*r1000))
call nc_diag_metadata("surface_temperature", sngl(sfctges))
call nc_diag_metadata("geopotential_height_at_surface", sngl(zsges))
call nc_diag_metadata("air_pressure_at_surface", sngl(psges*r1000))
call nc_diag_metadata("air_temperature_at_2m", sngl(sfctges))
call nc_diag_data2d("geopotential_height", sngl(zges))
call nc_diag_data2d("atmosphere_pressure_coordinate", sngl(prsltmp2*r1000))
call nc_diag_data2d("atmosphere_pressure_coordinate_interface", sngl(prsitmp*r1000))
call nc_diag_data2d("virtual_temperature", sngl(tvgestmp))
call nc_diag_data2d("air_temperature", sngl(tsentmp))
call nc_diag_data2d("saturated_specific_humidity_profile", sngl(qsat_ges))
call nc_diag_data2d("specific_humidity", sngl(qtmp))
call nc_diag_data2d("water_vapor_mixing_ratio_wrt_moist_air", sngl(qtmp))
call nc_diag_data2d("northward_wind", sngl(utmp))
call nc_diag_data2d("eastward_wind", sngl(vtmp))
call nc_diag_data2d("dup_kx_vector", sngl(dup_kx_vector(:,i)))
Expand Down
9 changes: 4 additions & 5 deletions GEOSaana_GridComp/GSI_GridComp/setupt.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1780,16 +1780,15 @@ subroutine contents_netcdf_diag_(odiag)
endif
! geovals for JEDI UFO
if (wrtgeovals) then
call nc_diag_metadata("surface_temperature", sngl(sfctges))
call nc_diag_metadata("surface_geopotential_height",sngl(zsges))
call nc_diag_metadata("surface_pressure",sngl(psges*r1000))
call nc_diag_metadata("surface_temperature", sngl(sfctges))
call nc_diag_metadata("air_temperature_at_2m", sngl(sfctges))
call nc_diag_metadata("geopotential_height_at_surface",sngl(zsges))
call nc_diag_metadata("air_pressure_at_surface",sngl(psges*r1000))
call nc_diag_data2d("geopotential_height", sngl(zges))
call nc_diag_data2d("atmosphere_pressure_coordinate", sngl(prsltmp3*r1000))
call nc_diag_data2d("atmosphere_pressure_coordinate_interface", sngl(prsitmp*r1000))
call nc_diag_data2d("virtual_temperature", sngl(tvgestmp))
call nc_diag_data2d("air_temperature", sngl(tsentmp))
call nc_diag_data2d("specific_humidity", sngl(qgestmp))
call nc_diag_data2d("water_vapor_mixing_ratio_wrt_moist_air", sngl(qgestmp))
call nc_diag_data2d("eastward_wind", sngl(ugestmp))
call nc_diag_data2d("northward_wind", sngl(vgestmp))
call nc_diag_data2d("dup_kx_vector", sngl(dup_kx_vector(:,i)))
Expand Down
2 changes: 1 addition & 1 deletion GEOSaana_GridComp/GSI_GridComp/setuptcp.f90
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ subroutine contents_netcdf_diag_(odiag)
if (wrtgeovals) then
call nc_diag_data2d("virtual_temperature", tvges)
call nc_diag_metadata("surface_air_pressure", psges )
call nc_diag_metadata("surface_geopotential_height", zsges )
call nc_diag_metadata("geopotential_height_at_surface", zsges )
endif

end subroutine contents_netcdf_diag_
Expand Down
10 changes: 5 additions & 5 deletions GEOSaana_GridComp/GSI_GridComp/setupw.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1908,18 +1908,18 @@ subroutine contents_netcdf_diag_(udiag,vdiag)
call nc_diag_data2d("v_Observation_Operator_Jacobian_val", real(dhx_dx_v%val,r_single))
endif
if (wrtgeovals) then
call nc_diag_metadata("surface_pressure",sngl(psges*r1000))
call nc_diag_metadata("surface_geopotential_height",sngl(zsges))
call nc_diag_metadata("surface_temperature", sngl(sfctges))
call nc_diag_metadata("air_pressure_at_surface",sngl(psges*r1000))
call nc_diag_metadata("geopotential_height_at_surface",sngl(zsges))
call nc_diag_metadata("air_temperature_at_2m", sngl(sfctges))
call nc_diag_data2d("atmosphere_pressure_coordinate", sngl(prsltmp2*r1000))
call nc_diag_data2d("atmosphere_pressure_coordinate_interface", sngl(prsitmp*r1000))
call nc_diag_data2d("virtual_temperature", sngl(tges))
call nc_diag_data2d("geopotential_height", sngl(zges_read))
call nc_diag_data2d("geometric_height", sngl(zges_geometric))
call nc_diag_data2d("height_above_mean_sea_level", sngl(zges_geometric))
call nc_diag_data2d("eastward_wind", sngl(uges))
call nc_diag_data2d("northward_wind", sngl(vges))
call nc_diag_data2d("air_temperature", sngl(tsentmp))
call nc_diag_data2d("specific_humidity", sngl(qges))
call nc_diag_data2d("water_vapor_mixing_ratio_wrt_moist_air", sngl(qges))
call nc_diag_data2d("dup_kx_vector", sngl(dup_kx_vector(:,i)))
endif
call nc_diag_metadata("Dominant_Sfc_Type", sngl(data(idomsfc,i)) )
Expand Down

0 comments on commit 2efeb9d

Please sign in to comment.