diff --git a/CHANGELOG.md b/CHANGELOG.md index b8f9513..df19e0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +11Feb2026: +- scaling nc-diag absorber (water) output + 06Feb2026: - revive knob for aerosol-affected radiances (zero-diff when not used) diff --git a/GEOSaana_GridComp/GSI_GridComp/setuprad.f90 b/GEOSaana_GridComp/GSI_GridComp/setuprad.f90 index f9f77da..3b5e1c1 100755 --- a/GEOSaana_GridComp/GSI_GridComp/setuprad.f90 +++ b/GEOSaana_GridComp/GSI_GridComp/setuprad.f90 @@ -300,6 +300,7 @@ subroutine setuprad(obsLL,odiagLL,lunin,mype,aivals,stats,nchanl,nreal,nobs,& n_clouds_fwd_wk,n_absorbers use crtm_interface, only: iedge_log use crtm_interface, only: ilzen_ang2,iscan_ang2,iszen_ang2,isazi_ang2, ilazi_ang2 + use crtm_module, only: H2O_ID use clw_mod, only: calc_clw, ret_amsua, gmi_37pol_diff,mhs_si use qcmod, only: qc_ssmi,qc_seviri,qc_abi,qc_ssu,qc_avhrr,qc_goesimg,qc_msu,qc_irsnd,qc_amsua,qc_mhs,qc_atms use qcmod, only: igood_qc,ifail_gross_qc,ifail_interchan_qc,ifail_crtm_qc,ifail_satinfo_qc,qc_noirjaco3,ifail_cloud_qc @@ -2664,6 +2665,9 @@ subroutine contents_netcdf_diag_(odiags,idv,iob) call nc_diag_metadata("SST_Cool_layer_tdrop", sngl(data_s(idtc,n)) ) ! dt_cool at zob call nc_diag_metadata("SST_dTz_dTfound", sngl(data_s(itz_tr,n)) ) ! d(Tz)/d(Tr) + if (abi) then + call nc_diag_metadata("standard_deviation_clear_bt", sngl(tb_obs_sdv(ich_diag(i))) ) ! tb_obs_sdv (K) + endif call nc_diag_metadata("Observation", sngl(tb_obs(ich_diag(i))) ) ! observed brightness temperature (K) call nc_diag_metadata("Obs_Minus_Forecast_adjusted", sngl(tbc0(ich_diag(i) )) ) ! observed - simulated Tb with bias corrrection (K) call nc_diag_metadata("Obs_Minus_Forecast_unadjusted", sngl(tbcnob(ich_diag(i))) ) ! observed - simulated Tb with no bias correction (K) @@ -2775,7 +2779,11 @@ subroutine contents_netcdf_diag_(odiags,idv,iob) do iabsorb = 1, n_absorbers write (fieldname, "(A,I0.2)") "atmosphere_absorber_", atmosphere(1)%absorber_id(iabsorb) - call nc_diag_data2d(trim(fieldname), sngl(atmosphere(1)%absorber(:,iabsorb))) ! check %absorber_units + if (atmosphere(1)%absorber_id(iabsorb) == H2O_ID) then + call nc_diag_data2d(trim(fieldname), sngl(atmosphere(1)%absorber(:,iabsorb)/1000.0)) ! check %absorber_units + else + call nc_diag_data2d(trim(fieldname), sngl(atmosphere(1)%absorber(:,iabsorb))) ! check %absorber_units + endif enddo do icloud = 1, n_clouds_fwd_wk write (fieldname, "(A,I0.2)") "atmosphere_mass_content_of_cloud_", atmosphere(1)%Cloud(icloud)%Type