NCAR / amwg_dev

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

f.cesm3_cam058_mom.FWscHIST.ne30_L58.001 #132

Open cecilehannay opened 2 years ago

cecilehannay commented 2 years ago

Description: New control with sandbox: cesm3_cam6_3_058_MOM This sandbox includes the cam6_3_058.dtsens code base. Basically the run uses the same setting as #112 but with a new sandbox.

The CAM_CONFIG_OPTS is set to:

CAM_CONFIG_OPTS= "-phys cam_dev -microphys mg2 -chem waccm_sc_mam4 -nlev 58"

The user_nl_cam:

mfilt           = 0,5,20,40,120,240,365,73,365
nhtfrq         =                  0, -24,  -6,  -3,  -1,   1, -24,-24
fexcl1 = ' '  

empty_htapes = .true.

fincl1 = 'ACTNI', 'ACTNL', 'ACTREI', 'ACTREL', 'AODDUST', 'AODVIS', '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'

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

fincl4 =  'PRECC','PRECL'

interpolate_output = .true.,.true.
interpolate_nlat = 192,192
interpolate_nlon = 288,288

se_rsplit            = 3
se_nsplit           = 2
se_hypervis_subcycle =  4

tracer_cnst_specifier          = 'O3','OH','NO3','HO2','HALONS'

co2_flag=.false.

bnd_topo               = '/glade/p/cgd/amp/pel/topo/cesm3/ne30pg3_gmted2010_bedmachine_nc3000_Co060_20220427.nc'

history_aerosol = .true.

Case directory: Locally (if still available): /glade/p/cesmdata/cseg/runs/cesm2_0/f.cesm3_cam058_mom.FWscHIST.ne30_L58.001

On github: https://github.com/NCAR/amwg_dev/tree/f.cesm3_cam058_mom.FWscHIST.ne30_L58.001

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

On github: https://github.com/NCAR/amwg_dev/tree/cesm3_cam6_3_058_MOM 73d5bb3

Diagnostics: AMWG diags (if available) https://webext.cgd.ucar.edu/FWscHIST/f.cesm3_cam058_mom.FWscHIST.ne30_L58.001/atm/

Contacts: @JulioTBacmeister, @adamrher, @cecilehannay

cecilehannay commented 2 years ago

@JulioTBacmeister, @adamrher: I noticed that by default we still get CICE5 for the Fcase. I assume that it is fine to run it this way as it will be similar to https://github.com/NCAR/amwg_dev/issues/112

justin-richling commented 2 years ago

ADF diagnostics for f.cesm3_cam058_mom.FWscHIST.ne30_L58.001 vs Obs here.

And for f.cesm3_cam058_mom.FWscHIST.ne30_L58.001 vs f.cesm3_cam041_mom.FWscHIST.ne30_L58.001 here

cecilehannay commented 2 years ago

There are quite large difference between this control and the previous one. My understanding was that the two tags should have produced similar results. Did I miss something in the configuration?

adamrher commented 2 years ago

big ice changes, see LWCF and ice water path. We should do diff's on the atm_in files to see if there are any ZM or MG namelist differences.

JulioTBacmeister commented 2 years ago

What differences are you talking about? In the maps, I see big differences in polar TS and tropical LWCF but not too much in other fields. Is this what you mean? Maybe the contour interval for SWCF differences needs to be made smaller. I also see that RESTOM has changed from 0.68 Wm-2 with cam06_3_041 to -0.25 Wm-2 in cam6_3_058.

adamrher commented 2 years ago

namelist changes in atm_in are not different (see for yourself):

diff /glade/p/cesmdata/cseg/runs/cesm2_0/f.cesm3_cam058_mom.FWscHIST.ne30_L58.001/CaseDocs/atm_in /glade/p/cesmdata/cseg/runs/cesm2_0/f.cesm3_cam041_mom.FWscHIST.ne30_L58.001/CaseDocs/atm_in

The ZM2 code used is identical (see for yourself)

diff /glade/work/hannay/cesm_tags/cesm3_cam6_3_058_MOM/components/cam/src/physics/cam/zm_conv.F90 /glade/p/cesmdata/cseg/runs/cesm2_0/f.cesm3_cam041_mom.FWscHIST.ne30_L58.001/SourceMods/src.cam/zm_conv.F90

What I'm looking at now is that MG was refactored in tag cam6_3_046 and cam6_3_057. The former passes all the aux_cam tests, but the latter failed, citing:

     - non-climate changing answer changes due removing the pack/unpack from PUMAS interface code

Maybe we should double check this claim that cam6_3_057 isn't climate changing?

cecilehannay commented 2 years ago

It is possible that the

non-climate changing answer changes due removing the pack/unpack from PUMAS interface code

are for the PUMAS code and don't apply to the current configuration that includes:

-microphys mg2

It depends which configuration was used for the testing.

adamrher commented 2 years ago

its all very confusing, but as of now, the -microphys option only determines whether graupel is on or off. It does not determine the version of microphysics. That is now determined by -phys cam6/cam_dev. So -microphys just toggles graupel/hail on/off, not the microphysics verison. [edit - this is where my cam6_3_058.dtsens differs --I made -phys cam_dev point to the -phys cam6 microphysics]

The baseline failures I'm referring to are for -phys cam6, so the version of microphysics we are using for our current coupled runs.

adamrher commented 2 years ago

I'm doing a 14 month run now to see if cam6_3_057 changes climate compared to cam6_3_056 (using -phys cam6 in both).

JulioTBacmeister commented 2 years ago

What do you all make of the change in TS (map)(zonal mean) which is also large

adamrher commented 2 years ago

What do you all make of the change in TS (map)(zonal mean) which is also large

That's concerning. I didn't notice. It doesn't corresponds with a change in surface albedo. @cecilehannay is this run CICE6? Could it be 5 vs 6 effect?

swrneale commented 2 years ago

There are large changes in polar tropopause relative humidity also (30%), without obvious changes in T or Q. Could it be a RELHUM definition difference because of ice differences??

adamrher commented 2 years ago

its not the cam6_3_057 commit. cam6_3_057 vs. cam6_3_056 here.

I'm on to another lead that seems morer promising. It seems andrew hard-coded stuff in nucleate_ice_cam.F90 to modify ice nucleation for cam_physpkg_is("cam_dev"). This means that my code base cam6_3_058.dtsens is not reproducing the cam6 ice nucleation when invoking -phys cam_dev. So now I'm doing a pair of cam6_3_058.dtsens runs to test whether these if statements are responsible for the differences we're seeing. Will update here.

adamrher commented 2 years ago

So it look like the source of the differences is this cam_dev logic in nucleate_ice_cam.F90. See amwg diagnostics here,

cntl = default = cam6_3_058.dtsens with -phys cam_dev test = revice = cam6_3_058.dtsens with -phys cam_dev, but forcing nucleate_ice_cam.F90 to revert to cam6 nucleation

Note this cam6_3_058.dtsens is modified so that -phys cam_dev points to the cam6 MG code. So the "revice" experiment, is -phys cam_dev, but using both cam6 MG and cam6 ice nucleation.

So what is the logic that Andrew added for cam_dev in ``nucleate_ice.F90```? What it does is it does NOT add "preexisting ice" to the overall ice number. This is consistent with the larger ice water path in the "revice" experiment, where we are including the impact of preexisting ice.

The question is then, should I update my cam6_3_058.dtsens branch so it doesn't have these new ice mods Andrew intended to be used with his new PUMAS code?

JulioTBacmeister commented 2 years ago

@adamrher Great result. I am a bit confused about what is going. The idea is that "revice" has pre-existing ice so more ice-particles, higher IWP and overall stronger radiative cloud forcing, correct? What confuses a little is that I would have thought pre-existing ice would also lead to higher fractions of detrained condensate freezing, which could have led to stronger sedimentation and lower overall RCF. Maybe the pre-existing ice just changes the number concentration of the frozen condensate without affecting the fraction that freezes.

adamrher commented 2 years ago

responding to @JulioTBacmeister

The idea is that "revice" has pre-existing ice so more ice-particles, higher IWP and overall stronger radiative cloud forcing, correct?

yes

I would have thought pre-existing ice would also lead to higher fractions of detrained condensate freezing, which could have led to stronger sedimentation and lower overall RCF. Maybe the pre-existing ice just changes the number concentration of the frozen condensate without affecting the fraction that freezes.

The line responsible for adding the prexisting ice is:

            ! If using prexsiting ice, and allowed to add, then add it to the total.
            if (use_preexisting_ice) then
               if (add_preexisting_ice .and. (.not. call_frm_zm)) then
                  ni = ni + Ni_preice * 1e-6_r8
               end if
            end if

This is literally the only thing different between the two simulations. It's only inflating the ice numbers, and so to the extent ice (cloud?) fraction is influenced by it, it would be a downstream response to this change. I know embarrassingly little about how ice cloud fraction is computed, and how this impacts sedimentation. Pls educate me. I am only familiar with autoconversion to snow being a function of ice particle mass (radius).

JulioTBacmeister commented 2 years ago

My knowledge about this is minimal, but I'm going to guess that this change has little or no impact on how much new ice cloud mass or fraction is made out of condensate. So the main impact is to increase the number of ice particles leading to smaller cloud particles per mass and slower sedimentation. @andrewgettelman is this roughly correct?

JulioTBacmeister commented 2 years ago

Do we have any clue about the changes in polar TS in Cecile's runs? Since they are present in both SH and NH doesn't that argue against CICE being the cause, since in the SH the polar region is over land?

adamrher commented 2 years ago

It actually looks like the TS changes were due to the preexisting ice changes. See zonal T changes for both runs:

revice-default newcontrol-oldcontrol (<---this is referring to the run in this thread compared to our old control https://github.com/NCAR/amwg_dev/issues/112)

Note that the first link (revice-default) is for 1 year, whereas the other link is from 10 years. Nonetheless, the SH TS changes are mirror images of each other in the two links. The NH signal is harder to see in the 1 year run.

It strikes me that the latest coupled run with this tag freezes the Labrador Sea (see https://github.com/NCAR/amwg_dev/issues/129). I doubt reverting back to adding in preexisting ice will solve that issue, but it's moving the climate in the right direction. I think I should update my branch to have cam_dev still add preexisting ice, since this new change was not intended to use with cam6 MG, and cam6 ice+MG is what we've been using so far in all our runs.

JulioTBacmeister commented 2 years ago

So I get these numbers from previous coupled runs

b.cesm3_cam041_mom.B1850WcMOM.ne30_L58_t061.cice5.cam6.005 (issue #123) Years 1-9 RESTOM=0.05

b.cesm3_cam058_mom.B1850WscMOM.ne30_L58_t061.007 (issue #129) Years 1-9 RESTOM=-0.58

So the change from cam041 to cam058 was associated with a significant drop in RESTOM. I agree it would be worth the cycles to rerun the latest cam058 coupled runs with Adam's "revice" mod. Thoughts @cecilehannay @gustavo-marques