NCAR / amwg_dev

Repo to store model sandboxes and cases used for CAM development
9 stars 2 forks source link

f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001 #241

Open cecilehannay opened 1 year ago

cecilehannay commented 1 year ago

Description: Same as #240 but with latest ebudget code base (merged up to cam6_3_106)

2 year run

Case directory: Locally (if still available): /glade/p/cesmdata/cseg/runs/cesm2_0/f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001

On github: https://github.com/NCAR/amwg_dev/tree/f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001

Sandbox: Locally (if still available): /glade/work/hannay/cesm_tags/cam6_3_106_ebudget_dev_update

git clone https://github.com/jtruesdal/CAM-1 ebudget_dev_update cd ebudget_dev_update git checkout ebudget_dev_update

Diagnostics: ADF diags (if available) https://webext.cgd.ucar.edu/FLTHIST/f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001/atm/

Contacts: @adamrher, @JulioTBacmeister, @PeterHjortLauritzen, @cecilehannay, @jtruesdal

cecilehannay commented 1 year ago

I need to add, otherwise the model crashes:

thermo_budget_history = .true.
thermo_budget_histfile_num = 8

The user_nl_cam is:

mfilt    =       0,       5,     20,      40,      12,       1,      1
nhtfrq              =       0,     -24,    -24,      -3,       0,       0,      0
ndens               =       2,       2,      2,       2,       2,       1,      2
interpolate_output  =  .true.,  .true., .true., .false., .false., .false.,  .true.
interpolate_nlat    =     192,     192,    192,     192,     192,     192,   192
interpolate_nlon    =     288,     288,    288,     288,     288,     288,   288 

fexcl1 = ' '  

fincl1 = 'ACTNI', 'ACTNL', 'ACTREI', 'ACTREL', 'AODDUST', 'AODVIS', 'AODVISdn','BURDENBC', 'BURDENDUST', 'BURDENPOM', 'BURDENSEASALT', 
'BURDENSO4', 'BURDENSOA', 'CAPE', 'CCN3', 'CDNUMC', 'CH4', 'CLDHGH', 'CLDICE', 'CLDLIQ', 'CLDLOW', 'CLDMED', 'CLDTOT', 'CLOUD', 'CMFMC_DP', 
'CT_H2O', 'DCQ', 'DQCORE', 'DTCOND', 'DTCORE', 'DTV', 'EVAPPREC', 'EVAPSNOW', 'FCTI', 'FCTL', 'FICE', 'FLDS', 'FLNS', 'FLNSC', 'FLNT', 'FLNTC', 'FLUT', 
'FREQZM', 'FSDS', 'FSDSC', 'FSNS', 'FSNSC', 'FSNT', 'FSNTC', 'FSNTOA', 'ICEFRAC', 'LANDFRAC', 'LHFLX', 'LWCF', 'MPDICE', 'MPDLIQ', 'MPDQ', 'MPDT', 
'OCNFRAC', 'OMEGA', 'OMEGA500', 'PBLH', 'PHIS', 'PINT', 'PMID', 'PRECC', 'PRECL', 'PRECSC', 'PRECSL', 'PRECT', 'PS', 'PSL', 'PTEQ', 'PTTEND', 'Q', 
'QFLX', 'QRL', 'QRS', 'QTGW', 'RCMTEND_CLUBB', 'RELHUM', 'RVMTEND_CLUBB', 'SHFLX', 'SOLIN', 'SST', 'STEND_CLUBB', 'SWCF', 
'T', 'TAUX', 'TAUY', 'TFIX', 'TGCLDIWP', 'TGCLDLWP', 'TMQ', 'TREFHT', 'TS', 'TTGW', 'U', 'U10', 'UBOT', 'UTGWORO', 'UTGW_TOTAL', 
'V', 'VBOT', 'VTGWORO', 'VTGW_TOTAL', 'WPRTP_CLUBB', 'WPTHLP_CLUBB', 'Z3', 'ZMDQ', 'ZMDT', 'N2O', 'CO2','CFC11','CFC12', 
'CLD_MISR','FISCCP1_COSP','CLD_CAL','CLD_MISR','CLDTOT_CAL','CLDHGH_CAL', 'CLDMED_CAL','CLDLOW_CAL','CLMODIS', 'AODVISdn'

fincl2 = 'OMEGA', 'PMID', 'PS', 'Q', 'QRL', 'QRS', 'T', 'TROP_P', 'TROP_T', 'U', 'V', 'Z3'

fincl3 = 'PRECT', 'PRECC', 'FLUT', 'U850', 'U200', 'V850', 'V200', 'OMEGA', 'PSL'

fincl4 =  'PRECC','PRECL'

fincl5 = 'Uzm','Vzm','Wzm','THzm', 'VTHzm','WTHzm','UVzm','UWzm'

fincl6 =  'WV_phBF','WL_phBF','WI_phBF','SE_phBF','KE_phBF',
'WV_phBP','WL_phBP','WI_phBP','SE_phBP','KE_phBP',
'WV_phAP','WL_phAP','WI_phAP','SE_phAP','KE_phAP',
'WV_phAM','WL_phAM','WI_phAM','SE_phAM','KE_phAM',
'WV_dyBF','WL_dyBF','WI_dyBF','SE_dyBF','KE_dyBF',
'WV_dyBP','WL_dyBP','WI_dyBP','SE_dyBP','KE_dyBP',
'WV_dyAP','WL_dyAP','WI_dyAP','SE_dyAP','KE_dyAP',
'WV_dyAM','WL_dyAM','WI_dyAM','SE_dyAM','KE_dyAM',
'WV_dBF','WL_dBF','WI_dBF','SE_dBF','KE_dBF',
'WV_dED','WL_dED','WI_dED','SE_dED','KE_dED',
'WV_dAD','WL_dAD','WI_dAD','SE_dAD','KE_dAD',
'WV_dAF','WL_dAF','WI_dAF','SE_dAF','KE_dAF',
'WV_dBD','WL_dBD','WI_dBD','SE_dBD','KE_dBD',
'WV_dAR','WL_dAR','WI_dAR','SE_dAR','KE_dAR',
'WV_dAH','WL_dAH','WI_dAH','SE_dAH','KE_dAH',
'WV_dBH','WL_dBH','WI_dBH','SE_dBH','KE_dBH',
'WV_dCH','WL_dCH','WI_dCH','SE_dCH','KE_dCH',
'WV_dAS','WL_dAS','WI_dAS','SE_dAS','KE_dAS',
'WV_dBS','WL_dBS','WI_dBS','SE_dBS','KE_dBS',
'EFIX'

fincl7= 'AQSO4_H2O2','AQSO4_O3', 'bc_a1', 'bc_a4', 'dst_a1', 'dst_a2', 'dst_a3', 'ncl_a1',
'ncl_a1', 'ncl_a2', 'ncl_a3', 'pom_a1', 'pom_a4', 'so4_a1', 'so4_a2', 'so4_a3','soa_a2', 
'soa_a1', 'num_a1', 'num_a2', 'num_a3', 'num_a4',
'bc_a1SFWET', 'bc_a4SFWET', 'dst_a1SFWET', 'dst_a2SFWET', 'dst_a3SFWET', 'ncl_a1SFWET',
'ncl_a2SFWET', 'ncl_a3SFWET', 'pom_a1SFWET', 'pom_a4SFWET', 'so4_a1SFWET', 'so4_a2SFWET', 'so4_a3SFWET', 'soa_a1SFWET',
'soa_a2SFWET', 'bc_c1SFWET', 'bc_c4SFWET', 'dst_c1SFWET', 'dst_c2SFWET', 'dst_c3SFWET', 'ncl_c1SFWET', 'ncl_c2SFWET',
'ncl_c3SFWET', 'pom_c1SFWET', 'pom_c4SFWET', 'so4_c1SFWET', 'so4_c2SFWET', 'so4_c3SFWET', 'soa_c1SFWET', 'soa_c2SFWET',
'bc_a1DDF', 'bc_a4DDF', 'dst_a1DDF', 'dst_a2DDF', 'dst_a3DDF', 'ncl_a1DDF', 'ncl_a2DDF', 'ncl_a3DDF',
'pom_a1DDF', 'pom_a4DDF', 'so4_a1DDF', 'so4_a2DDF', 'so4_a3DDF', 'soa_a1DDF', 'soa_a2DDF',
'so4_a1_CLXF', 'so4_a2_CLXF', 'SFbc_a4', 'SFpom_a4', 'SFso4_a1', 'SFso4_a2',
'so4_a1_sfgaex1', 'so4_a2_sfgaex1', 'so4_a3_sfgaex1', 'soa_a1_sfgaex1', 'soa_a2_sfgaex1',
'SFdst_a1','SFdst_a2', 'SFdst_a3', 'SFncl_a1', 'SFncl_a2', 'SFncl_a3',
'num_a2_sfnnuc1'

thermo_budget_history = .true.
thermo_budget_histfile_num = 8

phys_grid_ctem_nfreq=-6
phys_grid_ctem_zm_nbas=120
phys_grid_ctem_za_nlat=90

ncdata = '/glade/p/cesm/amwg_dev/juliob/FWsc_ne30pg3_58L_GRID_48_taperstart10km_lowtop_BL10_v3_beta1p75_Top_43km.nc'

clubb_l_predict_upwp_vpwp=.true. 
clubb_l_mono_flux_lim_um   = .true.  
clubb_l_mono_flux_lim_vm   = .true.  
clubb_c_uu_shr = 0.1
clubb_c7=0.1

dust_emis_fact         = 0.80D0

micro_mg_dcs            =           250.D-6

use_gw_convect_dp        = .true.  
use_gw_front        = .true.
effgw_rdg_beta        = 1.0D0  
effgw_rdg_beta_max        = 1.0D0
adamrher commented 1 year ago

@PeterHjortLauritzen both of these runs completed two years. Here are the TFIX values in both runs:

These are the mean's for every grid column, they are not globally integrated. Is the direction of this change consistent with your expectations?

cecilehannay commented 1 year ago

Hi @justin-richling, Could you run: f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001 vs f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw.001 It is only a 2-year run. Please use the same year for the baseline.
Thanks.

justin-richling commented 1 year ago

No problem, it's running now. I'll update when finished

PeterHjortLauritzen commented 1 year ago

Reply to @adamrher

Yes. To make the physics energy increment consistent with the dynamical core energy the temperature tendencies are scaled by cpd/(cpd+m^wv x cp^wv+...) which is roughly 1000/(1000+0.06x2000)=0.89

baseline = -0.00409711 K/day scaled is -0.0037 K/day

FYI: One year average total energy tendencies for new run is

dE/dt energy fixer = -0.44 W/m^2 dE/dt dry-mass adjustment = 0.65 W/m^2 dE/dt dynamical core = -0.12 W/m^2 (note that this used to be -0.6W/m^2 https://agupubs.onlinelibrary.wiley.com/doi/epdf/10.1029/2018MS001549 - the reference profiles in hyperviscosity really helped!)

Physics-dynamics dE/dt = -0.44 W/m^2+0.65 W/m^2-0.12 W/m^2 = 0.07 W/m^2 - used to be 0.5W/m^2 https://agupubs.onlinelibrary.wiley.com/doi/epdf/10.1029/2018MS001549 - helped to mass-weight tendencies when dribbling)

PeterHjortLauritzen commented 1 year ago

@adamrher and @PeterHjortLauritzen talked offline: the run with cam_development (baseline) is hard to understand since the energy fixer and physics use one energy and the dynamical core another. Therefore we have requested a cleaner comparison where lcp_moist=.false. in the baseline (then all components use the same energy).

justin-richling commented 1 year ago

ADF diags vs f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw.001 are here

adamrher commented 1 year ago

@justin-richling it's difficult to trust the table sine they don't match the means in the lat-lon plot (see FLNS for example).

@bstephens82 could you run the old diags since you have a nice workflow for that?

justin-richling commented 1 year ago

@adamrher The table values are fixed now, sorry for the inconvenience

bstephens82 commented 1 year ago

@bstephens82 could you run the old diags since you have a nice workflow for that?

It looks like this may have been a run with COSP? For some reason, I have had trouble running the AMWG diagnostics on runs with COSP, and I'm not sure why. I've been meaning to ask around about it but hadn't gotten around to it yet. Basically the diagnostics starts running but eventually hangs and does not complete. So I have the plots, but they are not organized into folders in the normal way. Has anyone else tried to run the AMWG diagnostic on a COSP test recently?

The raw plot files for the AMWG diagnostics for this run (versus obs) are located at /glade/scratch/stepheba/diagnostics-output/atm/diag/f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001/f.cam6_3_106.FLTHIST_v0a.ne30.dcs_non-ogw_ebudget.001-obs.

If anyone can help me figure out the issue with AMWG diagnostics with COSP, then maybe I can try again to get the full webpage output.

justin-richling commented 1 year ago

Just to clarify, the table values in the ADF are currently being calculated via time series files, where as the plot means are coming from the climo files so there are subtle differences in how the annual mean is calculated. There are discrepancies, between the two, but the assumption is they aren't too far. Again, my apologies as the two mean values are not exactly the same.

I just wanted to highlight the ADF is working as it should, but we just need to tweak it to have the table values match the plot values.

adamrher commented 1 year ago

is it a discrepancy in how you compute the global integral, or is it that the time-series is using more years than the ANN lat-lon plots?

justin-richling commented 1 year ago

Speaking with Jesse (@nusbaume), it looks like the plots are being seasonally weighted, but not in the tables.